IP Library Granted Patent US 8,875,203
Granted Patent B2
US 8,875,203 · App. 12/708,144 · Granted Oct 28, 2014

Method of data management for efficiently storing and retrieving data to respond to user access requests

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 8,875,203
App. No.
12/708,144
Granted
Oct 28, 2014
Kind
B2
Abstract

A method of data management for efficiently storing and retrieving data in response to user access requests. The method includes receiving a request from at least one client for a title not resident in a storage server, where the title includes a play track having a plurality of chapters. The retrieval from a secondary storage device of play track portions proximate chapter delineation points is initiated, and bandwidth capacity and quality-of-service (QoS) parameters associated with the secondary storage device is determined. In the case of a client request to begin presentation of the title at one of the chapters, streaming of retrieved portions of the play track chapter to the client is initiated, masking latency associated with the secondary storage device is provided, and retrieval of at least unretrieved portions of the play track chapter and subsequent play track portions from the secondary storage device is initiated.

Claims (46)

1. A method comprising:

streaming, in response to receiving a request for a video program from a client, an initial portion of the video program to the client from primary storage;

retrieving each remaining portion of the video program from secondary storage while bypassing the primary storage, including retrieving a first of the remaining portions contemporaneously with the streaming of the initial portion; and

streaming the first of the remaining portions of the video program to the client upon completion of the streaming of the initial portion.

2. The method of claim 1 , wherein a duration of the streaming of the initial portion is configured to be longer than a latency of the retrieving of the first of the remaining portions of the video program from the secondary storage.

3. The method of claim 1 , wherein the remaining portions of the video program comprises a plurality of sequential segments, the method further comprising:

receiving, from the client, a second request for one segment of the plurality of sequential segments;

streaming, in response to receiving the second request for the one segment of the plurality of sequential segments, an initial portion of the one segment to the client;

retrieving, contemporaneously with the streaming of the initial portion of the one segment, a subsequent portion of the one segment from the secondary storage; and

streaming the subsequent portion of the one segment to the client upon completion of the streaming of the initial portion of the one segment.

4. The method of claim 3 , wherein the plurality of sequential segments comprises video program chapters.

5. The method of claim 1 , further comprising:

storing meta data related to the video program into the primary storage; and

sending, in response to the receiving of the request for the video program, the meta data to the client from the primary storage, wherein the meta data comprises one or more of a product description, product rights, a product price, product discount rules, still images, moving images, preview tracks, HTML links, title descriptions, MPAA ratings, and product information, and wherein the meta data is configured for interactive presentation within the client.

6. The method of claim 1 , further comprising:

receiving requests for a plurality of video programs from a plurality of clients;

determining a pattern of the requests for the plurality of video programs;

retrieving, based on the pattern, initial portions of a subset of the plurality of video programs from the secondary storage; and

storing the initial portions of the subset into the primary storage.

7. The method of claim 1 , further comprising:

transmitting the initial portion from the secondary storage to the primary storage.

8. An apparatus comprising:

a server comprising an array of storage devices; and

a controller configured to:

stream, in response to receiving a request for a video program from a client, an initial portion of the video program to the client from the server;

retrieve, contemporaneously with the streaming of the initial portion, a subsequent portion of the video program from secondary storage while bypassing the server; and

stream the subsequent portion of the video program to the client upon completion of the streaming of the initial portion.

9. The apparatus of claim 8 , wherein a duration of the streaming of the initial portion is configured to be longer than a latency of the retrieving of the subsequent portion of the video program from the secondary storage.

10. The apparatus of claim 8 , wherein the video program comprises a plurality of sequential segments, and wherein the controller is further configured to:

receive, from the client, a second request for one segment of the plurality of sequential segments;

stream, in response to receiving the second request for the one segment of the plurality of sequential segments, an initial portion of the one segment to the client from the server;

retrieve, contemporaneously with the streaming of the initial portion of the one segment, a subsequent portion of the one segment from the secondary storage; and

stream the subsequent portion of the one segment to the client upon completion of the streaming of the initial portion of the one segment.

11. The apparatus of claim 10 , wherein the plurality of sequential segments comprises video program chapters.

12. The apparatus of claim 8 , wherein the controller is further configured to:

store meta data related to the video program into the server; and

send, in response to the receiving of the request for the video program, the meta data to the client from the server.

13. The apparatus of claim 8 , wherein the controller is further configured to:

receive requests for a plurality of video programs from a plurality of clients;

determine a pattern of the requests for the plurality of video programs;

retrieve, based on the pattern, initial portions of a subset of the plurality of video programs from the secondary storage; and

store the initial portions of the subset into the server.

14. The apparatus of claim 8 , further comprising:

the secondary storage, wherein the secondary storage is configured to transmit the initial portion from the secondary storage to the server.

15. The apparatus of claim 8 , wherein the subsequent portion comprises a remaining portion of the video program.

16. The method of claim 1 , wherein the primary storage comprises a storage array storing the initial portion.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: SEDNA PATENT SERVICES, LLC (F/K/A TVGATEWAY, LLC)
To: COMCAST IP HOLDINGS I, LLC
Reel/Frame 033622/0863 →
CHANGE OF NAME Recorded Aug 26, 2014
From: TV GATEWAY, LLC
To: SEDNA PATENT SERVICES, LLC
Reel/Frame 033613/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2014
From: DIVA SYSTEMS CORPORATION
To: TV GATEWAY, LLC
Reel/Frame 033608/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: TAYLOR, CLEMENT G; CHIN, DANNY; LERMAN, JESSE S; GOODE, CHRISTOPHER W.B.
To: DIVA SYSTEMS CORPORATION
Reel/Frame 033575/0783 →