IP Library Granted Patent US 10,389,787
Granted Patent B2
US 10,389,787 · App. 14/553,747 · Granted Aug 20, 2019

Method, apparatus and system for transmitting media stream

Inventors: Mingyuan Xu (Nanning, CN); Qiang Yan (Hangzhou, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L65/607H04L65/403H04L67/141
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,389,787
App. No.
14/553,747
Granted
Aug 20, 2019
Kind
B2
Abstract

Embodiments of the present invention relate to a method, an apparatus and a system for transmitting a media stream. The method is executed by an access terminal, includes: establishing a real-time collaboration channel between the access terminal and a network computer; sending through a first VDI channel to the network computer an operation instruction input by a user; receiving a real-time collaboration message that is sent through the real-time collaboration channel by the network computer; performing, through the network computer, media negotiation with a communication device, so as to determine a media attribute parameter that is used to transmit a media stream between the access terminal and the communication device; and transmitting, by the access terminal, a media stream mutually with the communication device according to the media attribute parameter determined through the media negotiation.

Claims (117)

1. A method for transmitting a media stream, wherein the method is executed by an access terminal; a first virtualized desktop infrastructure (VDI) channel is established between the access terminal and a network computer allocated by a cloud server to the access terminal; and the method comprises:

establishing, by the access terminal, a real-time collaboration channel between the access terminal and the network computer, the real-time collaboration channel being separate from the first VDI channel;

sending, by the access terminal through the first VDI channel to the network computer, an operation instruction obtained by a user application interface;

receiving, by the access terminal, a real-time collaboration message from the network computer through the real-time collaboration channel, the real-time collaboration message instructing the access terminal to initiate media negotiation with a communication device when the operation instruction indicates that a call to the communication device be initiated;

performing, by the access terminal through the network computer, the media negotiation with the communication device to determine a media attribute parameter, wherein information used for the media negotiation is transmitted between the access terminal and the network computer through the real-time collaboration channel; and

transmitting, by the access terminal, the media stream to the communication device according to the media attribute parameter.

2. The method for transmitting a media stream according to claim 1 , wherein the performing, by the access terminal through the network computer, the media negotiation with the communication device comprises:

obtaining, by the access terminal, a first media attribute parameter supported by the access terminal, wherein the first media attribute parameter comprises a media format supported by the access terminal, and an IP address and a port number of the access terminal that are used to receive media;

sending, by the access terminal, the first media attribute parameter to the network computer through the real-time collaboration channel, so as to enable the network computer to send a connection request message carrying the first media attribute parameter to the communication device to be called; and

receiving, by the access terminal, a second media attribute parameter that is received by the network computer from the communication device and is sent by the network computer through the real-time collaboration channel, wherein the second media attribute parameter comprises an IP address and a port number of the communication device that are used to receive the media, and a media format that is supported by both the access terminal and the communication device and is determined by the communication device according to the first media attribute parameter; and

the transmitting, by the access terminal, the media stream mutually with the communication device according to the media attribute parameter determined through the media negotiation comprises:

sending, by the access terminal, first media to the communication device by using the IP address and the port number of the communication device that are used to receive the media, and receiving second media that is sent by the communication device by using the IP address and the port number of the access terminal that are used to receive the media, wherein both the first media and the second media are encoded by adopting the media format comprised in the second media attribute parameter.

3. The method for transmitting a media stream according to claim 2 , wherein the obtaining, by the access terminal, the first media attribute parameter supported by the access terminal comprises:

invoking, by the access terminal, a new peer connection interface function in a browser application programming interface (API) of the access terminal; and

generating, by the access terminal, a peer connection interface by using the new peer connection interface function, and obtaining, by using a create offer function comprised in the peer connection interface, the first media attribute parameter supported by the access terminal.

4. The method for transmitting a media stream according to claim 1 , wherein the establishing, by the access terminal, the real-time collaboration channel between the access terminal and the network computer comprises one of:

establishing, by the access terminal, a WebSocket channel between the access terminal and the network computer through a web socket WebSocket server;

establishing, by the access terminal, a second VDI channel between the access terminal and the network computer; and

establishing, by the access terminal, a point-to-point data channel between a browser in the access terminal and a browser in the network computer by using a data channel mechanism in a browser web real-time communication (WebRTC) application of the access terminal.

5. A method for transmitting a media stream, wherein the method is executed by a network computer allocated by a cloud server to an access terminal; a first virtualized desktop infrastructure (VDI) channel is established between the network computer and the access terminal; and the method comprises:

establishing, by the network computer, a real-time collaboration channel between the network computer and the access terminal, the real-time collaboration channel being separate from the first VDI channel;

receiving, by the network computer, an operation instruction from the access terminal through the first VDI channel;

when the network computer determines that the operation instruction indicates that a call to a communication device be initiated, sending, by the network computer, a real-time collaboration message to the access terminal through the real-time collaboration channel, the real-time collaboration message instructing the access terminal to initiate media negotiation with the communication device to be called; and

forwarding, by the network computer to the access terminal through the real-time collaboration channel, information for performing the media negotiation between the access terminal and the communication device, for determining, through the media negotiation, a media attribute parameter for transmitting a media stream between the access terminal and the communication device.

6. The method for transmitting a media stream according to claim 5 , wherein the forwarding, by the network computer, the information used to perform the media negotiation between the access terminal and the communication device comprises:

receiving, by the network computer, a first media attribute parameter that is supported by the access terminal and is sent by the access terminal through the real-time collaboration channel, wherein the first media attribute parameter comprises a media format supported by the access terminal, and an IP address and a port number of the access terminal that are used to receive media;

sending, by the network computer, a connection request message to the communication device according to the operation instruction, wherein the connection request message comprises the first media attribute parameter;

receiving, by the network computer, a connect reply message that is sent by the communication device when the communication device determines that the communication device supports the first media attribute parameter, wherein the connect reply message comprises a second media attribute parameter supported by the communication device, and the second media attribute parameter comprises an IP address and a port number of the communication device that are used to receive media, and a media format that is supported by both the access terminal and the communication device and is determined by the communication device according to the first media attribute parameter; and

sending, by the network computer, the second media attribute parameter to the access terminal through the real-time collaboration channel, so that the access terminal sends first media to the communication device by using the IP address and the port number of the communication device that are used to receive the media, and receives second media that is sent by the communication device by using the IP address and the port number of the access terminal that are used to receive the media, wherein both the first media and the second media are encoded by adopting the media format comprised in the second media attribute parameter.

7. The method for transmitting a media stream according to claim 6 , before the sending, by the network computer, the connection request message to the communication device according to the operation instruction, further comprising:

invoking, by the network computer, a WebRTC signaling message protocol stack; and

performing, by the network computer, encapsulation processing on the first media attribute parameter by using the signaling message protocol stack, to generate the connection request message, wherein the connection request message comprises the first media attribute parameter.

8. The method for transmitting a media stream according to claim 5 , wherein the establishing, by the network computer, the real-time collaboration channel between the network computer and the access terminal comprises one of:

establishing, by the network computer, a WebSocket channel between the network computer and the access terminal through a web socket WebSocket server;

establishing, by the network computer, a second VDI channel between the network computer and the access terminal; and

establishing, by the network computer, a point-to-point data channel between a browser in the network computer and a browser in the access terminal by using a data channel mechanism in a browser web real-time communication (WebRTC) application of the network computer.

9. A method for transmitting a media stream, wherein the transmission method is executed by an access terminal; a first virtualized desktop infrastructure (VDI) channel is established between the access terminal and a network computer allocated by a cloud server to the access terminal; and the method comprises:

establishing, by the access terminal, a real-time collaboration channel between the access terminal and the network computer, the real-time collaboration channel being separate from the first VDI channel;

receiving, by the access terminal, a real-time collaboration message from the network computer through the real-time collaboration channel, wherein the real-time collaboration message comprises a first media attribute parameter that is supported by a communication device and that is obtained by parsing a call request of the communication device, and wherein the real-time collaboration message instructs the access terminal to perform media negotiation with the communication device according to the first media attribute parameter supported by the communication device;

performing, by the access terminal through the network computer, the media negotiation with the communication device to determine a media attribute parameter, wherein information used for the media negotiation is transmitted between the access terminal and the network computer through the real-time collaboration channel; and

transmitting, by the access terminal, the media stream to the communication device according to the media attribute parameter.

10. The method for transmitting a media stream according to claim 9 , wherein the first media attribute parameter comprises a media format supported by the communication device, and an IP address and a port number of the communication device that are used to receive media;

the performing, by the access terminal through the network computer, the media negotiation with the communication device comprises:

determining, by the access terminal according to the first media attribute parameter, a second media attribute parameter supported by the access terminal, wherein the second media attribute parameter comprises an IP address and a port number of the access terminal that are used to receive media, and a media format that is supported by both the access terminal and the communication device and is determined by the access terminal according to the first media attribute parameter; and

sending, by the access terminal, the second media attribute parameter to the network computer through the real-time collaboration channel, so as to enable the network computer to forward the second media attribute parameter to the communication device; and

the transmitting, by the access terminal, the media stream to the communication device according to the media attribute parameter comprises:

sending, by the access terminal, first media to the communication device by using the IP address and the port number of the communication device that are used to receive the media, and receiving second media that is sent by the communication device by using the IP address and the port number of the access terminal that are used to receive the media, wherein both the first media and the second media are encoded by adopting the media format comprised in the second media attribute parameter.

11. The method for transmitting a media stream according to claim 10 , wherein the determining, by the access terminal, the second media attribute parameter according to the first media attribute parameter comprises:

invoking, by the access terminal, a new peer connection interface function in a browser application programming interface (API) of the access terminal; and

generating, by the access terminal, a peer connection interface by using the new peer connection interface function, and obtaining the second media attribute parameter by using a create answer function comprised in the peer connection interface.

12. The method for transmitting a media stream according to claim 9 , wherein the establishing, by the access terminal, the real-time collaboration channel between the access terminal and the network computer comprises one of:

establishing, by the access terminal, a WebSocket channel between the access terminal and the network computer through a web socket WebSocket server;

establishing, by the access terminal, a second VDI channel between the access terminal and the network computer; and

establishing, by the access terminal, a point-to-point data channel between a browser in the access terminal and a browser in the network computer by using a data channel mechanism in a browser web real-time communication WebRTC application of the access terminal.

13. A method for transmitting a media stream, wherein the method is executed by a network computer allocated by a cloud server to an access terminal; a first virtualized desktop infrastructure (VDI) channel is established between the network computer and the access terminal; and the method comprises:

establishing, by the network computer, a real-time collaboration channel between the network computer and the access terminal, the real-time collaboration channel being separate from the first VDI channel;

receiving, by the network computer from a communication device, a call request for calling a user corresponding to the access terminal;

obtaining, by the network computer, by parsing the call request, a first media attribute parameter that is supported by the communication device;

sending, by the network computer according to the call request, a real-time collaboration message to the access terminal through the real-time collaboration channel, wherein the real-time collaboration message comprises the first media attribute parameter and instructs the access terminal to perform media negotiation with the communication device according to the first media attribute parameter; and

forwarding, by the network computer to the access terminal through the real-time collaboration channel, information for performing the media negotiation between the access terminal and the communication device, for determining, through the media negotiation, a media attribute parameter for transmitting a media stream between the access terminal and the communication device.

14. The method for transmitting a media stream according to claim 13 , wherein the first media attribute parameter comprises a media format supported by the communication device, and an IP address and a port number of the communication device that are used to receive media; and

the forwarding, by the network computer, the information for performing the media negotiation between the access terminal and the communication device, comprises:

receiving, by the network computer, a second media attribute parameter that is sent by the access terminal through the real-time collaboration channel, wherein the second media attribute parameter comprises an IP address and a port number of the access terminal that are used to receive the media, and a media format that is supported by both the access terminal and the communication device and is determined by the access terminal according to the first media attribute parameter; and

forwarding, by the network computer, the second media attribute parameter to the communication device.

15. The method for transmitting a media stream according to claim 14 , before the forwarding, by the network computer, the second media attribute parameter to the communication device, further comprising:

invoking, by the network computer, a web real-time communication (WebRTC) signaling message protocol stack;

performing, by the network computer, encapsulation processing on the second media attribute parameter by using the WebRTC signaling message protocol stack, to generate a call response; and

sending, by the network computer, the call response to the communication device, wherein the call response comprises the second media attribute parameter.

16. The method for transmitting a media stream according to claim 13 , wherein the establishing, by the network computer, the real-time collaboration channel between the network computer and the access terminal comprises one of:

establishing, by the network computer, a WebSocket channel between the network computer and the access terminal through a web socket WebSocket server;

establishing, by the network computer, a second VDI channel between the network computer and the access terminal; and

establishing, by the network computer, a point-to-point data channel between a browser in the network computer and a browser in the access terminal by using a data channel mechanism in a browser web real-time communication (WebRTC) application of the network computer.

17. An apparatus for transmitting a media stream, wherein a first virtualized desktop infrastructure (VDI) channel is established between the apparatus and a network computer allocated by a cloud server to the apparatus; and the apparatus comprises:

a processor; and

a non-transitory computer readable medium which contains computer-executable instructions for transmitting the media stream, the processor is configured to execute the computer-executable instructions to perform operations comprising:

establishing a real-time collaboration channel between the apparatus and the network computer, the real-time collaboration channel being separate from the first VDI channel;

sending through the first VDI channel to the network computer, an operation instruction obtained by a user application interface;

receiving a real-time collaboration message from the network computer through the real-time collaboration channel, the real-time collaboration message instructing the apparatus to initiate media negotiation with a communication device when the operation instruction indicates that a call to the communication device be initiated;

performing the media negotiation with the communication device to determine a media attribute parameter, wherein information used for the media negotiation is transmitted between the apparatus and the network computer through the real-time collaboration channel; and

transmitting the media stream to the communication device according to the media attribute parameter.

18. The apparatus according to claim 17 , wherein the operation of establishing the real-time collaboration channel between the apparatus and the network computer comprises one of:

establishing a WebSocket channel between the apparatus and the network computer through a web socket WebSocket server;

establishing a second VDI channel between the apparatus and the network computer; and

establishing a point-to-point data channel between a browser in the apparatus and a browser in the network computer by using a data channel mechanism in a browser web real-time communication (WebRTC) application of the apparatus.

19. An apparatus for transmitting a media stream, wherein the apparatus is allocated by a cloud server to an access terminal; a first virtualized desktop infrastructure (VDI) channel is established between the apparatus and the access terminal; and the apparatus comprises:

a processor; and

a non-transitory computer readable medium which contains computer-executable instructions for transmitting the media stream, the processor is configured to execute the computer-executable instructions to perform operations comprising:

establishing a real-time collaboration channel between the apparatus and the access terminal, the real-time collaboration channel being separate from the first VDI channel;

receiving an operation instruction from the access terminal through the first VDI channel;

when determining that the operation instruction indicates that a call to a communication device be initiated, sending a real-time collaboration message to the access terminal through the real-time collaboration channel, the real-time collaboration message instructing the access terminal to initiate media negotiation with the communication device to be called; and

forwarding, to the access terminal through the real-time collaboration channel, information for performing the media negotiation between the access terminal and the communication device, for determining, through the media negotiation, a media attribute parameter for transmitting a media stream between the access terminal and the communication device.

20. The apparatus according to claim 19 , wherein the operation of establishing the real-time collaboration channel between the apparatus and the access terminal comprises one of:

establishing a WebSocket channel between the apparatus and the access terminal through a web socket WebSocket server;

establishing a second VDI channel between the apparatus and the access terminal; and

establishing a point-to-point data channel between a browser in the apparatus and a browser in the access terminal by using a data channel mechanism in a browser web real-time communication WebRTC application of the apparatus.

21. An apparatus for transmitting a media stream, wherein a first virtualized desktop infrastructure (VDI) channel is established between the apparatus and a network computer allocated by a cloud server to the apparatus; and the apparatus comprises:

a processor; and a non-transitory computer readable medium which contains computer-executable instructions for transmitting the media stream, the processor is configured to execute the computer-executable instructions to perform operations comprising:

establishing a real-time collaboration channel between the apparatus and the network computer, the real-time collaboration channel being separate from the first VDI channel;

receiving a real-time collaboration message from the network computer through the real-time collaboration channel, wherein the real-time collaboration message comprises a first media attribute parameter that is supported by a communication device and that is obtained by parsing a call request of the communication device, and wherein the real-time collaboration message instructs the apparatus to perform media negotiation with the communication device according to the first media attribute parameter supported by the communication device;

performing through the network computer, the media negotiation with the communication device to determine a media attribute parameter, wherein information used for the media negotiation is transmitted between the apparatus and the network computer through the real-time collaboration channel; and

transmitting the media stream to the communication device according to the media attribute parameter.

22. The apparatus according to claim 21 , wherein the operation of establishing the real-time collaboration channel between the apparatus and the network computer comprises one of:

establishing a WebSocket channel between the apparatus and the network computer through a web socket WebSocket server;

establishing a second VDI channel between the apparatus and the network computer; and

establishing a point-to-point data channel between a browser in the apparatus and a browser in the network computer by using a data channel mechanism in a browser web real-time communication (WebRTC) application of the apparatus.

23. An apparatus for transmitting a media stream, wherein the apparatus is allocated by a cloud server to an access terminal; a first virtualized desktop infrastructure (VDI) channel is established between the apparatus and the access terminal; and the apparatus comprises:

a processor; and

a non-transitory computer readable medium which contains computer-executable instructions for transmitting the media stream, the processor is configured to execute the computer-executable instructions to perform operations comprising:

establishing a real-time collaboration channel between the apparatus and the access terminal, the real-time collaboration channel being separate from the first VDI channel;

receiving, from a communication device, a call request for calling a user corresponding to the access terminal;

obtaining, by parsing the call request, a first media attribute parameter that is supported by the communication device;

sending according to the call request, a real-time collaboration message to the access terminal through the real-time collaboration channel, wherein the real-time collaboration message comprises the first media attribute parameter and instructs the access terminal to perform media negotiation with the communication device according to the first media attribute parameter; and

forwarding, to the access terminal through the real-time collaboration channel, information for performing the media negotiation between the access terminal and the communication device, for determining, through the media negotiation, a media attribute parameter for transmitting the media stream between the access terminal and the communication device.

24. The apparatus according to claim 23 , wherein the operation of establishing the real-time collaboration channel between the apparatus and the access terminal comprises one of:

establishing a WebSocket channel between the apparatus and the access terminal through a web socket WebSocket server;

establishing a second VDI channel between the apparatus and the access terminal; and

establishing a point-to-point data channel between a browser in the apparatus and a browser in the access terminal by using a data channel mechanism in a browser web real-time communication (WebRTC) application of the apparatus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: XU, MINGYUAN; YAN, QIANG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 034265/0951 →
Continuity (2)
Continuation PCTCN2013081686 · Aug 16, 2013
Related Publication 20150081796A1 · Mar 19, 2015