Efficient tunneled streams for real-time communications
First Claim
1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to perform tunneling for real-time communications (RTC), the performing comprising:
- creating a connection between a tunneling client on a user equipment configured to execute an application and a signaling server configured to receive signaling traffic within a service provider network , the creating includingopening a stream-based tunnel between the tunneling client and a tunneling server interposed between the user equipment and the signaling server; and
subsequently to the opening the stream-based tunnel, opening a stream connection between the tunneling server and the signaling server;
encapsulating a plurality of inner streams from the user equipment as datagram traffic;
receiving at the tunneling server, from the tunneling client, the datagram traffic including the encapsulated plurality of inner streams within the stream-based tunnel, wherein the datagram traffic behaves as a connectionless transmission;
translating the datagram traffic at the tunneling server into stream traffic using a socket application programming interface (API), wherein an inner transmission control protocol (TCP) layer of the application is modified to behave as the datagram traffic while preserving a same software interface with TCP sockets; and
transmitting the stream traffic from the tunneling server to the signaling server over the stream connection.
1 Assignment
0 Petitions
Accused Products
Abstract
A system tunnels real-time communications (“RTC”). The system creates a connection between a tunneling client and a signaling server. The connection includes a stream-based tunnel between the tunneling client and a tunneling server and a stream connection between the tunneling server and the signaling server. The system then receives, from the tunneling client, stream traffic encapsulated as datagram traffic within the stream-based tunnel. The system translates the datagram traffic into the stream traffic, and forwards the stream traffic to the signaling server over the stream connection.
-
Citations
20 Claims
-
1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to perform tunneling for real-time communications (RTC), the performing comprising:
-
creating a connection between a tunneling client on a user equipment configured to execute an application and a signaling server configured to receive signaling traffic within a service provider network , the creating including opening a stream-based tunnel between the tunneling client and a tunneling server interposed between the user equipment and the signaling server; and subsequently to the opening the stream-based tunnel, opening a stream connection between the tunneling server and the signaling server; encapsulating a plurality of inner streams from the user equipment as datagram traffic; receiving at the tunneling server, from the tunneling client, the datagram traffic including the encapsulated plurality of inner streams within the stream-based tunnel, wherein the datagram traffic behaves as a connectionless transmission; translating the datagram traffic at the tunneling server into stream traffic using a socket application programming interface (API), wherein an inner transmission control protocol (TCP) layer of the application is modified to behave as the datagram traffic while preserving a same software interface with TCP sockets; and transmitting the stream traffic from the tunneling server to the signaling server over the stream connection. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of tunneling for real-time communications (RTC), comprising:
-
creating a connection between a tunneling client on a user equipment configured to execute an application and a signaling server configured to receive signaling traffic within a service provider network, the creating including opening a stream-based tunnel between the tunneling client and a tunneling server interposed between the user equipment and the signaling server; and subsequently to the opening the stream-based tunnel, opening a stream connection between the tunneling server and the signaling server; encapsulating a plurality of inner streams from the user equipment as datagram traffic; receiving at the tunneling server, from the tunneling client, the datagram traffic including the encapsulated plurality of inner streams within the stream-based tunnel, wherein the datagram traffic behaves as a connectionless transmission; translating the datagram traffic at the tunneling server into stream traffic using a socket application programming interface (API), wherein an inner transmission control protocol (TCP) layer of the application is modified to behave as the datagram traffic while preserving a same software interface with TCP sockets; and transmitting the stream traffic from the tunneling server to the signaling server over the stream connection. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for tunneling of real-time communications (RTC), comprising:
-
a hardware processor configured to; create a connection between a tunneling client on a user equipment configured to execute an application and a signaling server configured to receive signaling traffic within a service provider network, the creation of the connection including opening a stream-based tunnel between the tunneling client and a tunneling server interposed between the user equipment and the signaling server; and subsequently to the opening the stream-based tunnel, opening a stream connection between the tunneling server and the signaling server encapsulate a plurality of inner streams from the user equipment as datagram traffic; receive at the tunneling server, from the tunneling client, the datagram traffic including the encapsulated plurality of inner streams within the stream-based tunnel, wherein the datagram traffic behaves as a connectionless transmission; translate the datagram traffic at the tunneling server into stream traffic using a socket application programming interface (API), wherein an inner transmission control protocol (TCP) layer of the application is modified to behave as the datagram traffic while preserving a same software interface with TCP sockets; and transmit the stream traffic from the tunneling server to the signaling server over the stream connection. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification