Best effort seamless network switch in a media streaming session
First Claim
1. A method of switching networks in a media streaming session, the method comprising:
- detecting by a computing device a plurality of networks available for communication of streaming data, wherein the plurality of networks includes at least a first network providing a first streaming session between a first communication device and a second communication device and a second network;
determining by the computing device whether to switch the first streaming session from the first network to the second network; and
in response to determining to switch the first streaming session from the first network to the second network, switching by the computing device the first streaming session from the first network to the second network, wherein switching the first streaming session from the first network to the second network comprises initiating a second session between the first communication device and the second communication device on the second network, copying a data stream from the first session to the second session, wherein initiating the session on the second network and copying a data stream from the first session to the second session are performed prior to termination of the first session, determining whether the second session is established, and in response to determining the second session is established, terminating the first session.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and machine-readable media are disclosed for switching a media streaming session between a plurality of networks. In one embodiment, a method of switching networks in a media streaming session can comprise detecting a plurality of networks available for communication of streaming data. The plurality of networks can include a first network providing a first streaming session and a second network. A determination can be made as to whether to switch the first streaming session from the first network. Determining to switch the first streaming session from the first network to the second network can be based on detecting a loss of the first network, detecting a lower cost alternative to the first network, etc. In response to determining to switch the first streaming session from the first network, the first streaming session can be switched from the first network to the second network.
222 Citations
21 Claims
-
1. A method of switching networks in a media streaming session, the method comprising:
-
detecting by a computing device a plurality of networks available for communication of streaming data, wherein the plurality of networks includes at least a first network providing a first streaming session between a first communication device and a second communication device and a second network; determining by the computing device whether to switch the first streaming session from the first network to the second network; and in response to determining to switch the first streaming session from the first network to the second network, switching by the computing device the first streaming session from the first network to the second network, wherein switching the first streaming session from the first network to the second network comprises initiating a second session between the first communication device and the second communication device on the second network, copying a data stream from the first session to the second session, wherein initiating the session on the second network and copying a data stream from the first session to the second session are performed prior to termination of the first session, determining whether the second session is established, and in response to determining the second session is established, terminating the first session. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for providing a media streaming session, the system comprising:
-
a first network; a second network; a server communicatively coupled with the first network and the second network and adapted to participate in a first streaming session via the first network; and a client device communicatively coupled with the first network and the second network and adapted to participate in the first streaming session with the server via the first network, detect the second network, determine whether to switch the first streaming session from the first network, and in response to determining to switch the first streaming session from the first network, initiate a session on the second network, copy a data stream from the first session to the second session, determine whether the second session is established and, in response to determining the second session is established, terminate the first session. - View Dependent Claims (14, 15)
-
-
16. A system comprising:
-
a first network; a first client device communicatively coupled with the first network and adapted to participate in a first streaming session on the first network; a second client device communicatively coupled with the first network; a third client device communicatively coupled with the first network and adapted to participate in the first streaming session with the first client device via the first network, detect the second client device, determine whether to switch the first streaming session from the first client device, and in response to determining to switch the first streaming session from the first client device, switch the first streaming session from the first client device to the second client device; and a server communicatively coupled with the first network and adapted to receive a request to establish the first media session from one of the first client device or the third client device and, in response to the request, establish the first streaming session, wherein the server comprises a third-party call controller, wherein the third client device is adapted to switch the first streaming session from the first client device to the second client device by initiating a second session, wherein the server, in response to detecting the third client device initiating a second session, is further adapted to maintain the first session and establish the second session, and wherein the server is further adapted to inform users of the first client device and third client device of possible delays in the first session. - View Dependent Claims (17, 18)
-
-
19. A system comprising:
-
a first communication network; a second communication network; a first client device communicatively coupled with the first communication network; a second client device communicatively coupled with the first communication network and adapted to send a request to communicate with the first client device via the first communication network; and a server communicatively coupled with the first communication network and the second communication network and wherein the server is adapted to receive the request to communicate with the first client device from the second client device, establish a first communication session between the first client device and the second client device via the first communication network, receive a request from the second client device to switch networks, and switch the first communication session from the first communication network to the second communication network, wherein switching the first communication session from the first network to the second network comprises initiating a second communication session between the first client device and the second client device on the second network, copying a data stream from the first communication session to the second communication session, wherein initiating the second communication session on the second network and copying a data stream from the first communication session to the second communication session are performed prior to termination of the first communication session, determining whether the second communication session is established, and in response to determining the second communication session is established, terminating the first communication session. - View Dependent Claims (20, 21)
-
Specification