Client-side predictive caching for content
US-2017142219-A1 · May 18, 2017 · US
US10070163B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10070163-B2 |
| Application number | US-201715785992-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 17, 2017 |
| Priority date | Mar 19, 2015 |
| Publication date | Sep 4, 2018 |
| Grant date | Sep 4, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed are various embodiments for facilitating uninterrupted playback of video streams using lower quality cached files. A video file corresponding to an entirety of a video content feature encoded at a first quality may be obtained from another client on a local network. A video stream corresponding to the video content feature encoded at a second quality higher than the first quality is then obtained. The video stream is rendered for playback on a display. In response to detecting an unavailability of the video stream at a particular time in the video content feature, the video file is rendered for playback on the display in place of the video stream and commences at the particular time in the video content feature. The video file may then be sent to yet another client on the local network.
Opening claim text (preview).
The invention claimed is: 1. A method, comprising: receiving, by at least one computing device, a user directive to play a video content feature; obtaining, by the at least one computing device, a video stream corresponding to the video content feature in response to the user directive, the video stream being encoded at a first bitrate; obtaining, by the at least one computing device, at least a portion of a video file from another computing device on a local network, the video file corresponding to the video content feature encoded at a second bitrate that is lower than the first bitrate; detecting, by the at least one computing device, that an offline mode has been enabled; rendering for display, by the at least one computing device, the video file in place of the video stream in response to the offline mode being enabled; detecting, by the at least one computing device, that the offline mode has been disabled; and rendering for display, by the at least one computing device, the video stream in place of the video file in response to the offline mode being disabled. 2. The method of claim 1 , further comprising receiving, by the at least one computing device, a broadcast message from the other computing device via the local network, the broadcast message indicating that the video file is cached by the other computing device. 3. The method of claim 1 , wherein the at least a portion of the video file is obtained from the other computing device before the user directive to play the video content feature is received. 4. The method of claim 1 , further comprising: detecting, by the at least one computing device, an interruption in the video stream at a time of interruption in the video content feature; rendering for display, by the at least one computing device, the video file in place of the video stream commencing at the time of interruption in response to detecting the interruption; and resuming rendering, by the at least one computing device, of the video stream in place of the video file when the video stream becomes available. 5. The method of claim 1 , further comprising: detecting, by the at least one computing device, that availability of the video stream is associated with an unacceptable cost; rendering for display, by the at least one computing device, the video file in place of the video stream in response to detecting that the availability of the video stream is associated with the unacceptable cost; and resuming rendering, by the at least one computing device, of the video stream in place of the video file when availability of the video stream is associated with an acceptable cost. 6. The method of claim 1 , further comprising sending, by the at least one computing device, the video file to a client computing device on the local network. 7. The method of claim 1 , wherein the video file corresponds to an entirety of the video content feature. 8. A method, comprising: obtaining, by a first client computing device, a video file corresponding to a video content feature, the video file being encoded using a first bitrate; receiving, by the first client computing device, a user directive to play the video feature after the video file is received; obtaining, by the first client computing device, a video stream corresponding to the video feature in response to the user directive, the video stream being encoded at a second bitrate that is greater than the first bitrate; determining, by the first client computing device, that an offline mode is enabled; rendering for display, by the first client computing device, the video file in place of the video stream in response to the offline mode being enabled; determining, by the first client computing device, that the offline mode has been disabled; rendering for display, by the first client computing device, the video stream in place of the video file in response to the offline mode being disabled; and sending, by the first client computing device, the video file to a second client computing device via a local network. 9. The method of claim 8 , further comprising initializing one or more components of the first client computing device to facilitate playback of the video file before receiving the user directive. 10. The method of claim 9 , wherein initializing the one or more components further comprises initializing a decoding component to decode the video file. 11. The method of claim 9 , wherein initializing the one or more components further comprises initializing a decryption component to decrypt the video file. 12. The method of claim 8 , further comprising sending a broadcast message via the local network, the broadcast message indicating that the video file is cached by the first client computing device. 13. The method of claim 8 , wherein the video file is obtained by the first client computing device from a third client computing device via the local network. 14. The method of claim 8 , further comprising purging, by the first client computing device, the video file from a local cache. 15. A system, comprising: a first client computing device; and at least one application executable in the first client computing device, wherein when executed the at least one application causes the first client computing device to at least: obtain a video file via a local network from a second client computing device that has predictively cached the video file, the video file corresponding to a video content feature, the video file being encoded using a first bitrate; receive a user directive to play the video feature after the video file is received; obtain a video stream corresponding to the video feature in response to the user directive, the video stream being encoded at a second bitrate that is greater than the first bitrate; determine that an offline mode has been enabled; render for display the video file in place of the video stream in response to the offline mode being enabled determine that the offline mode has been disabled; and render for display video stream in place of the video file in response to the offline mode being disabled. 16. The system of claim 15 , wherein when executed the at least one application further causes the first client computing device to at least send the video file to a third client computing device via the local network. 17. The system of claim 15 , wherein when executed the at least one application further causes the first client computing device to at least send a broadcast message via the local network after obtaining the video file, the broadcast message indicating that the video file is cached by the first client computing device. 18. The system of claim 15 , wherein when executed the at least one application further causes the first client computing device to at least receive a broadcast message via the local network, the broadcast message indicating that the video file is cached by the second client computing device. 19. The system of claim 15 , wherein the video file corresponds to an entirety of the video content feature. 20. The system of claim 15 , wherein when executed the at least one application further causes the first client computing device to at least, before the user directive is received, initialize a decryption component to decrypt the video file and initialize a decoding component to decode the video file.
Caching operations, e.g. of an advertisement for later insertion during playback · CPC title
Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896) · CPC title
Stream processing in response to a playback request from an end-user, e.g. for trick-play · CPC title
for generating different versions · CPC title
Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists {(scheduling strategies for dispatcher in multiprogramming arrangements G06F9/4881; arrangements for scheduling broadcast services or broadcast-related services H04H60/06; flow control in packet networks H04L47/10; establishing a time schedule or organising the servicing of application requests H04L67/62)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.