IP Library Granted Patent US 9,344,517
Granted Patent B2
US 9,344,517 · App. 13/852,501 · Granted May 17, 2016

Downloading and adaptive streaming of multimedia content to a device with cache assist

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 9,344,517
App. No.
13/852,501
Granted
May 17, 2016
Kind
B2
Abstract

An apparatus operates in an offline mode and a playback mode, and includes a relatively large cache buffer. In the offline mode, the apparatus is configured download multimedia content identified in a user content queue, over a communication network, into the cache buffer. In the playback mode, after the multimedia content has been downloaded in the offline mode, the apparatus fetches content from the cache buffer and plays back the fetched content on the client device until all of the content in the cache buffer has been fetched and played back. Then the apparatus streams content over the communication network and plays back the streamed content.

Claims (81)

1. A method performed by a first apparatus comprising a processor, a non-volatile memory, and a cache buffer, the method comprising:

uploading multimedia content associated with the first apparatus to a particular cloud storage using the processor of the first apparatus;

transitioning the first apparatus into an offline mode in which the first apparatus is configured to communicate with a communication network and not playback multimedia content downloaded from the network using the processor;

determining network usage rates by the first apparatus on a set of networks during the offline mode communication with the communication network using the processor;

determining a geo-location of the first apparatus during the offline mode communication with the communication network using the processor;

identifying entries in a personal calendar stored in the non-volatile memory of the first apparatus relating to business travel during the offline mode using the processor;

selecting and downloading, during the offline mode and using the processor, a plurality of initial portions of content based on factors comprising:

a comparison of the determined network usage rates to a set of conditions and costs for amounts of data that can be downloaded by the first apparatus on the set of networks for given time periods;

a comparison of the determined geo-location of the first apparatus with a set of location links in a location links database, wherein upon identification of a coincidence of the first apparatus with a particular linked location, the first apparatus retrieves multimedia content from a second cloud storage associated with a second apparatus;

a comparison of a current date and time from a clock of the first apparatus with a set of content links in a content links database indicating associations between calendar instances of business travel and particular portions of content;

storing, during the offline mode and using the processor, the downloaded plurality of initial portions of content in the cache buffer;

transitioning the first apparatus from the offline mode to a playback mode using the processor; and

fetching, during the playback mode and using the processor, content stored in the cache buffer during the offline mode and playing back the fetched content on the first apparatus.

2. The method of claim 1 , wherein the multimedia content includes video and audio.

3. The method of claim 1 , further comprising, while in the playback mode:

fetching all of the content downloaded to the cache buffer and playing back the fetched content on the first apparatus until all of the content in the cache buffer has been fetched and played back; and

streaming content from the network and playing back the streamed content, after all of the content in the cache buffer has been fetched and played back.

4. The method of claim 3 , wherein:

the multimedia content downloaded to the cache buffer during the offline mode includes multiple complete programs and an incomplete program having an initial segment downloaded to the cache buffer and remaining segments that are not downloaded to the cache buffer;

the fetching and playing back includes fetching and playing back the multiple complete programs and the initial segment of the incomplete program from the cache buffer; and

the streaming includes streaming the remaining segments from the network and the playing back includes playing back the remaining streamed segments.

5. The method of claim 3 , further comprising: limiting an amount of the multimedia downloaded in the downloading based on the comparison of the determined network usage rates to the set of conditions.

6. The method of claim 3 , wherein the factors further comprise a comparison of multimedia content to a preference list indicating preferred multimedia content.

7. A first apparatus, comprising:

a processor;

a non-volatile memory storing an intelligent caching application;

a communication system;

a cache buffer;

wherein, upon execution by the processor, the intelligent cache application directs the processor to:

upload multimedia content associated with the first apparatus to a particular cloud storage using the processor of the first apparatus;

transition the first apparatus into an offline mode in which the first apparatus is configured to communicate with a communication network and not playback multimedia content downloaded from the network;

determine network usage rates by the first apparatus on a set of networks during the offline mode communication with the communication network using the processor;

determine a geo-location of the first apparatus during the offline mode communication with the communication network using the processor;

identify entries in a personal calendar stored in the non-volatile memory of the first apparatus relating to business travel during the offline mode using the processor;

select and download, during the offline mode and using the processor, a plurality of initial portions of content based on factors comprising:

a comparison of the determined network usage rates to a set of conditions and costs for amounts of data that can be downloaded by the first apparatus on the set of networks for given time periods;

a comparison of the determined geo-location of the first apparatus with a set of location links in a location links database, wherein upon identification of a coincidence of the first apparatus with a particular linked location, the first apparatus retrieves multimedia content from a second cloud storage associated with a second apparatus;

a comparison of a current date and time from a clock of the first apparatus with a set of content links in a content links database indicating associations between calendar instances of business travel and particular portions of content;

store, during the offline mode and using the processor, the downloaded plurality of initial portions of content in the cache buffer;

transition the first apparatus from the offline mode to a playback mode; and

fetch, during the playback mode and using the processor, content stored in the cache buffer during the offline mode and play back the fetched content on the first apparatus.

8. The apparatus of claim 7 , wherein the multimedia content includes video and audio.

9. The apparatus of claim 7 , wherein the first apparatus is further configured to, in the playback mode:

fetch content downloaded to the cache buffer, and playback the fetched content on the first apparatus, until all of the content in the cache buffer has been fetched and played back; and stream content from the network and playback the streamed content, after all of the content in the cache buffer has been fetched and played back.

10. The apparatus of claim 9 , wherein:

the multimedia content downloaded to the cache buffer during the offline mode completely includes multiple complete programs and an incomplete program having an initial segment downloaded to the cache buffer and remaining segments that are not downloaded to the cache buffer; and

the first apparatus is further configured to, in the playback mode:

fetch and playback the multiple complete programs and the initial segment of the incomplete program; and

stream the remaining segments over the network and the playback the remaining streamed segments.

11. The apparatus of claim 9 , wherein the first apparatus is further configured to, in the offline mode:

limit an amount of the multimedia downloaded based on the comparison of the determined network usage rates to the set of conditions.

12. The apparatus of claim 9 , wherein the factors further comprise a comparison of multimedia content to a preference list indicating preferred multimedia content.

13. The apparatus of claim 7 , further comprising:

a user interface system;

a housing to house the communication system, the cache buffer, the user interface system, and the processor.

14. The apparatus of claim 13 , wherein:

the communication system includes a wireless communication system; and

the housing includes a mobile hand-held housing to house the communication system, the cache buffer, the user interface system, the processor, and a battery.

15. A non-transitory computer readable medium encoded with a computer program including instructions to cause a processor in a first apparatus to:

upload multimedia content associated with the first apparatus to a particular cloud storage using the processor of the first apparatus, wherein the first apparatus comprises the processor, a non-volatile memory, and a cache buffer;

transition the first apparatus into an offline mode in which the first apparatus configured to communicate with a communication network and not playback multimedia content downloaded from the network;

determine network usage rates by the first apparatus on a set of networks during the offline mode communication with the communication network using the processor;

determine a geo-location of the first apparatus during the offline mode communication with the communication network using the processor;

identify entries in a personal calendar stored in the non-volatile memory of the first apparatus relating to business travel during the offline mode using the processor;

select and download, during the offline mode and using the processor, a plurality of initial portions of content based on factors comprising:

a comparison of the determined network usage rates to a set of conditions and costs for amounts of data that can be downloaded by the first apparatus on the set of networks for given time periods;

a comparison of the determined geo-location of the first apparatus with a set of location links in a location links database, wherein upon identification of a coincidence of the first apparatus with a particular linked location, the first apparatus retrieves multimedia content from a second cloud storage associated with a second apparatus;

a comparison of a current date and time from a clock of the first apparatus with a set of content links in a content links database indicating associations between calendar instances of business travel and particular portions of content;

store, during the offline mode and using the processor, the downloaded plurality of initial portions of content in the cache buffer;

transition the first apparatus from the offline mode to a playback mode; and

fetch, during the playback mode, content stored in the cache buffer during the offline mode and playback the fetched content on the first apparatus.

16. The non-transitory computer readable medium of claim 15 , wherein the multimedia content includes video and audio.

17. The non-transitory computer readable medium of claim 15 , wherein the instructions further include instruction to cause the processor to, while in the playback mode:

fetch all of the content downloaded to the cache buffer and playback the fetched content on the first apparatus until all of the content in the cache buffer has been fetched and played back; and stream content from the network and playback the streamed content, after all of the content in the cache buffer has been fetched and played back.

18. The non-transitory computer readable medium of claim 17 , wherein:

the multimedia content downloaded to the cache buffer during the offline mode includes multiple complete programs and an incomplete program having an initial segment downloaded to the cache buffer and remaining segments that are not downloaded to the cache buffer;

the instructions to fetch and playback further include instructions to cause the processor to fetch and play back the multiple complete programs and the initial segment of the incomplete program; and

the instructions to cause the processor to stream further include instructions to cause the processor to stream the remaining segments over the network and the playing back includes playing back the remaining streamed segments.

19. The non-transitory computer readable medium of claim 17 , wherein the instructions further include instructions to cause the processor to:

limit an amount of the multimedia downloaded in the downloading based on the the comparison of the determined network usage rates to the set of conditions.

20. The non-transitory computer readable medium of claim 17 , wherein the factors further comprise a comparison of multimedia content to a preference list indicating preferred multimedia content.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
RELEASE OF SECURITY INTEREST Recorded Apr 9, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DIVX, LLC
Reel/Frame 032645/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2014
From: SHIVADAS, ABHISHEK; GRAB, ERIC
To: SONIC IP, INC.
Reel/Frame 032512/0534 →