IP Library Granted Patent US 10,375,444
Granted Patent B2
US 10,375,444 · App. 15/042,952 · Granted Aug 6, 2019

Partial video pre-fetch

Inventors: Nitin Bhandari (Fremont, CA); Erik R. Swenson (San Jose, CA)
Assignee: Performance and Privacy Ireland Limited
H04N21/4621H04L65/60H04L65/602H04L65/80H04N21/437H04N21/4331H04N21/44209H04N21/6373
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,375,444
App. No.
15/042,952
Granted
Aug 6, 2019
Kind
B2
Abstract

The disclosed configuration includes a partial pre-fetching of source files from an origin server for playback. After pre-fetch, the remaining portions of a source file may be optimized for retrieval. By providing partial pre-fetch of source files, in conjunction with optimization, automatic video preview may be supported and source file presentation may begin in a timely fashion in response to user requested playback without inordinate bandwidth consumption.

Claims (56)

1. A computer implemented method for playback of online content on a user device, the method comprising:

pre-fetching a first portion of an embedded media file;

storing the first portion of the embedded media file in a file cache of the user device;

in response user-playback of the embedded media file:

providing, from the file cache, data from the first portion of the embedded media file for playback, and

requesting a next portion of the embedded media file;

determining a quality of a network connection of the user device by evaluating, from the user device, network parameters indicative of available bandwidth to the user device associated with providing of the next portion of the embedded media file to the user device;

in response to providing last data from the first portion of the embedded media file from the file cache for playback, switching to providing data from the next portion of the embedded media file, the next portion and one or more remaining portions of the embedded media file being streamed to the user device by an origin server, wherein only the first portion of the embedded media file is stored in the file cache of the user device; and

requesting, in response to availability of an adaptive bitrate (ABR), the one or more remaining portions of the embedded media file with a varying bitrate based on the quality of the network connection.

2. The method of claim 1 , wherein the first portion of the embedded media file is played automatically upon a display area for presentation of the embedded media file appearing within a viewable display on a screen of the user device.

3. The method of claim 2 , further comprising distinguishing between the automatic playback of the embedded media file and the user-playback of the embedded media file.

4. The method of claim 3 , wherein, in response to the automatic playback of the embedded media file, the first portion of the embedded media file is looped from the file cache while the display area for presentation of the embedded media file appears within the viewable display on the screen.

5. The method of claim 1 , wherein user-playback of the embedded media file comprises detection of user input requesting playback of the embedded media file, the method further comprising:

playing the first portion of the embedded media file from the data provided by the file cache to begin playback of the embedded media file;

receiving the next portion of the embedded media file; and

continuing playback of the embedded media file by playing the data provided from the next portion from an end of the first portion of the embedded media file.

6. The method of claim 1 , wherein determining the quality of the network connection of the user device comprises evaluating one or more network parameters including round trip time, latency, and packet size.

7. The method of claim 1 , wherein requesting, in response to availability of an adaptive bitrate (ABR), one or more remaining portions of the embedded media file with a varying bitrate based on the quality of the network connection comprises specifying at least one of a new bitrate, a new frame width, and a new frame height in a request for a remaining portion of the embedded media file.

8. A non-transitory computer-readable storage medium comprising computer program instructions for playback of online content on a user device, the instructions when executed by a processor of the user device causing the processor to:

pre-fetch a first portion of an embedded media file;

store the first portion of the embedded media file in a file cache of the user device;

in response user-playback of the embedded media file:

provide, from the file cache, data from the first portion of the embedded media file for playback, and

request a next portion of the embedded media file;

determine a quality of a network connection of the user device by evaluating, from the user device, network parameters indicative of available bandwidth to the user device associated with providing of the next portion of the embedded media file to the user device;

in response to providing last data from the first portion of the embedded media file from the file cache for playback, switch to providing data from the next portion of the embedded media file, the next portion and one or more remaining portions of the embedded media file being streamed to the user device by an origin server, wherein only the first portion of the embedded media file is stored in the file cache of the user device; and

request, in response to availability of an adaptive bitrate (ABR), the one or more remaining portions of the embedded media file with a varying bitrate based on the quality of the network connection.

9. The computer-readable storage medium of claim 8 , wherein the first portion of the embedded media file is played automatically upon a display area for presentation of the embedded media file appearing within a viewable display on a screen of the user device.

10. The computer-readable storage medium of claim 9 , wherein the instructions further cause the processor to distinguish between the automatic playback of the embedded media file and the user-playback of the embedded media file.

11. The computer-readable storage medium of claim 10 , wherein, in response to the automatic playback of the embedded media file, the first portion of the embedded media file is looped from the file cache while the display area for presentation of the embedded media file appears within the viewable display on the screen.

12. The computer-readable storage medium of claim 8 , wherein user-playback of the embedded media file comprises detection of user input requesting playback of the embedded media file, the instructions further causing the processor to:

play the first portion of the embedded media file from the data provided by the file cache to begin playback of the embedded media file;

receive the next portion of the embedded media file; and

continue playback of the embedded media file by playing the data provided from the next portion from an end of the first portion of the embedded media file.

13. The computer-readable storage medium of claim 8 , wherein determining the quality of the network connection of the user device comprises evaluating one or more network parameters including round trip time, latency, and packet size.

14. The computer-readable storage medium of claim 8 , wherein requesting, in response to availability of an adaptive bitrate (ABR), one or more remaining portions of the embedded media file with a varying bitrate based on the quality of the network connection comprises specifying at least one of a new bitrate, a new frame width, and a new frame height in a request for a remaining portion of the embedded media file.

15. A user device comprising:

a processor; and

a non-transitory computer-readable storage medium comprising computer program instructions that cause the processor to:

pre-fetch a first portion of an embedded media file;

store the first portion of the embedded media file in a file cache of the user device;

in response user-playback of the embedded media file:

provide, from the file cache, data from the first portion of the embedded media file for playback, and

request a next portion of the embedded media file;

determine a quality of a network connection of the user device by evaluating, from the user device, network parameters indicative of available bandwidth to the user device associated with providing of the next portion of the embedded media file to the user device;

in response to providing last data from the first portion of the embedded media file from the file cache for playback, switch to providing data from the next portion of the embedded media file, the next portion and one or more remaining portions of the embedded media file being streamed to the user device by an origin server, wherein only the first portion of the embedded media file is stored in the file cache of the user device; and

request, in response to availability of an adaptive bitrate (ABR), the one or more remaining portions of the embedded media file with a varying bitrate based on the quality of the network connection.

16. The user device of claim 15 , wherein the user device comprises a screen, and wherein the first portion of the embedded media file is played automatically upon a display area for presentation of the embedded media file appearing within a viewable display on the screen of the user device.

17. The user device of claim 16 , wherein the instructions further cause the processor to distinguish between the automatic playback of the embedded media file and the user-playback of the embedded media file.

18. The user device of claim 17 , wherein, in response to the automatic playback of the embedded media file, the first portion of the embedded media file is looped from the file cache while the display area for presentation of the embedded media file appears within the viewable display on the screen.

19. The user device of claim 15 , wherein user-playback of the embedded media file comprises detection of user input requesting playback of the embedded media file, the instructions further causing the processor to:

play the first portion of the embedded media file from the data provided by the file cache to begin playback of the embedded media file;

receive the next portion of the embedded media file; and

continue playback of the embedded media file by playing the data provided from the next portion from an end of the first portion of the embedded media file.

20. The user device of claim 15 , wherein determining the quality of the network connection of the user device comprises evaluating one or more network parameters including round trip time, latency, and packet size.

21. The user device of claim 15 , wherein requesting, in response to availability of an adaptive bitrate (ABR), one or more remaining portions of the embedded media file with a varying bitrate based on the quality of the network connection comprises specifying at least one of a new bitrate, a new frame width, and a new frame height in a request for a remaining portion of the embedded media file.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2025
From: OTELLO CORPORATION ASA
To: TIR TECHNOLOGIES LIMITED
Reel/Frame 071165/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: PERFORMANCE AND PRIVACY IRELAND LIMITED
To: OTELLO CORPORATION ASA
Reel/Frame 063188/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2017
From: OPERA SOFTWARE IRELAND LTD.
To: PERFORMANCE AND PRIVACY IRELAND LTD.
Reel/Frame 042076/0473 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2016
From: BHANDARI, NITIN; SWENSON, ERIK R.
To: OPERA SOFTWARE IRELAND LIMITED
Reel/Frame 039513/0833 →
Continuity (2)
Provisional Application 62116341 · Feb 13, 2015
Related Publication 20160241913A1 · Aug 18, 2016