IP Library Granted Patent US 10,383,019
Granted Patent B2
US 10,383,019 · App. 15/805,681 · Granted Aug 13, 2019

Reducing stream interruptions during network handover

Inventor: Robert J. Greenwalt, III (Woodside, CA)
Assignee: Google LLC
H04W36/18H04L65/4069H04W36/14H04W36/0011H04W80/06H04W84/042H04W84/12
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,383,019
App. No.
15/805,681
Granted
Aug 13, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving streaming media while switching between different networks is described. In one aspect, a method includes receiving a portion of a streaming media through a data connection on a first communication channel between a mobile device and a first network, and while the portion of the streaming media is being received through the data connection on the first communication channel, detecting that a second communication channel between the mobile device and a second network is available, establishing a data connection on the second communication channel, and receiving data through the second data connection on the second communication channel.

Claims (65)

1. A computer-implemented method comprising:

while a mobile device is receiving a media stream through a first data connection on a first communication channel, determining, by the mobile device, that a second communication channel is available;

after determining that the second communication channel is available, establishing a second data connection on the second communication channel;

while receiving the media stream through the first data connection on the first communication channel, receiving, through the second data connection on the second communication channel, data that is not part of the media stream being received through the first data connection on the first communication channel;

determining a time period to continue receiving the media stream through the first data connection on the first communication channel;

after the time period has elapsed, closing the first communication channel; and

in response to closing the first communication channel, continuing to receive remaining data of the media stream through the second communication channel.

2. The method of claim 1 , comprising:

determining that the mobile device has received the entire media stream; and

reducing power provided to a communication interface of the mobile device that maintained the first communication channel.

3. The method of claim 1 , comprising:

determining a connection speed of the first data connection; and

based on the connection speed of the first data connection, determining the time period to continue receiving the media stream through the first data connection on the first communication channel.

4. The method of claim 1 , comprising:

determining an amount of data that has been transmitted over the first data connection; and

based on the amount of data that has been transmitted over the first data connection, determining the time period to continue receiving the media stream through the first data connection on the first communication channel.

5. The method of claim 1 , comprising:

determining a type of data being transmitted over the first data connection; and

based on the type of data being transmitted over the first data connection, determining the time period to continue receiving the media stream through the first data connection on the first communication channel.

6. The method of claim 1 , wherein the first communication channel comprises a cellular communication channel, and the second communication channel comprises a Wi-Fi communication channel.

7. The method of claim 1 , wherein the first communication channel comprises one of a cellular communication channel and a Wi-Fi communication channel, and the second communication channel comprises an Ethernet channel.

8. The method of claim 1 , wherein the first data connection on the first communication channel comprises a TCP connection.

9. The method of claim 1 , wherein:

receiving the media stream through the first data connection on the first communication channel comprises:

receiving, by the mobile device, the media stream through the first data connection on the first communication channel between the mobile device and a first network; and

receiving data that is not part of the media stream through the second data connection on the second communication channel comprises:

receiving, by the mobile device, data that is not part of the media stream through the second data connection on the second communication channel between the mobile device and a second network that is different from the first network.

10. The method of claim 1 , comprising:

while the mobile device is receiving the media stream through the first data connection on the first communication channel and before establishing the second data connection on the second communication channel, providing, by the mobile device, a representation of the media stream for output at the mobile device.

11. The method of claim 1 , wherein the first communication channel has a first bandwidth, and the second communication channel has a second bandwidth that is higher than the first bandwidth.

12. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

while a mobile device is receiving a media stream through a first data connection on a first communication channel, determining, by the mobile device, that a second communication channel is available;

after determining that the second communication channel is available, establishing a second data connection on the second communication channel;

while receiving the media stream through the first data connection on the first communication channel, receiving, through the second data connection on the second communication channel, data that is not part of the media stream being received through the first data connection on the first communication channel;

determining a time period to continue receiving the media stream through the first data connection on the first communication channel;

after the time period has elapsed, closing the first communication channel; and

in response to closing the first communication channel, continuing to receive remaining data of the media stream through the second communication channel.

13. The system of claim 12 , wherein the operations further comprise:

determining that the mobile device has received the entire media stream; and

reducing power provided to a communication interface of the mobile device that maintained the first communication channel.

14. The system of claim 12 , wherein the operations further comprise:

determining an amount of data that has been transmitted over the first data connection; and

based on the amount of data that has been transmitted over the first data connection, determining the time period to continue receiving the media stream through the first data connection on the first communication channel.

15. The system of claim 12 , wherein the operations further comprise:

determining amount of data that has been transmitted over the first data connection; and

based on the amount of data that has been transmitted over the first data connection, determining the time period to continue receiving the media stream through the first data connection on the first communication channel.

16. The system of claim 12 , wherein the operations further comprise:

determining a type of data being transmitted over the first data connection; and

based on the type of data being transmitted over the first data connection, determining the time period to continue receiving the media stream through the first data connection on the first communication channel.

17. The system of claim 12 , wherein:

receiving the media stream through the first data connection on the first communication channel comprises:

receiving, by the mobile device, the media stream through the first data connection on the first communication channel between the mobile device and a first network; and

receiving data that is not part of the media stream through the second data connection on the second communication channel comprises:

receiving, by the mobile device, data that is not part of the media stream through the second data connection on the second communication channel between the mobile device and a second network that is different from the first network.

18. The system of claim 12 , wherein the operations further comprise:

while the mobile device is receiving the media stream through the first data connection on the first communication channel and before establishing the second data connection on the second communication channel, providing, by the mobile device, a representation of the media stream for output at the mobile device.

19. The system of claim 12 , wherein the first communication channel has a first bandwidth, and the second communication channel has a second bandwidth that is higher than the first bandwidth.

20. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

while a mobile device is receiving a media stream through a first data connection on a first communication channel, determining, by the mobile device, that a second communication channel is available;

after determining that the second communication channel is available, establishing a second data connection on the second communication channel;

while receiving the media stream through the first data connection on the first communication channel, receiving, through the second data connection on the second communication channel, data that is not part of the media stream being received through the first data connection on the first communication channel;

determining a time period to continue receiving the media stream through the first data connection on the first communication channel;

after the time period has elapsed, closing the first communication channel; and

in response to closing the first communication channel, continuing to receive remaining data of the media stream through the second communication channel.

Assignments (2)
CHANGE OF NAME Recorded Nov 8, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044711/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2017
From: GREENWALT, ROBERT J., III
To: GOOGLE INC.
Reel/Frame 044072/0035 →
Continuity (4)
Continuation 15210081 · Jul 14, 2016
Continuation 14037187 · Sep 25, 2013
Provisional Application 61784195 · Mar 14, 2013
Related Publication 20180132152A1 · May 10, 2018