Reducing stream interruptions during network handover
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
exact text as granted — not AI-modifiedWhat is claimed is:
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.Join the waitlist — get patent alerts
Track US10383019B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.