IP Library Granted Patent US 7,240,162
Granted Patent B2
US 7,240,162 · App. 10/988,014 · Granted Jul 3, 2007

System and method for predictive streaming

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 7,240,162
App. No.
10/988,014
Granted
Jul 3, 2007
Kind
B2
Abstract

A technique for predictive streaming involves receiving a request for a block associated with a streaming application and serving data associated with the block. A block request database is checked to predict what block is likely to be requested next based upon prior block request data. The predicted block may be identified when serving the data associated with the requested block. A system developed according to the technique includes a streaming server, a block request database, and a prediction engine that uses the block request database to predict block requests. The streaming server provides data associated with the predicted block request.

Claims (38)

1. A method, comprising:

receiving a request for a first block of a streaming application;

checking a block request database;

predicting a second block request based on the block request database;

sending, in response to the request, data associated with the first block and data associated with the second block;

logging the request for the first block;

updating the block request database to incorporate data associated with the logged request;

wherein the logged request is a first logged request, setting a temporal aggressiveness parameter, wherein the block request database is updated to incorporate data associated with the first logged request to the extent that associations with a second logged request is made if a difference between a receive time associated with the first logged request and the second logged request is less than the temporal aggressiveness parameter.

2. The method of claim 1 , further comprising predicting a plurality of block requests based on the block request database, wherein said sending further includes sending data associated with the plurality of block requests.

3. The method of claim 1 , wherein the data associated with the second block is sufficient to identify the second block so as to facilitate making a request for the second block.

4. The method of claim 1 , wherein the data associated with the second block includes data sufficient to render a request for the second block unnecessary.

5. The method of claim 1 , further comprising piggybacking the data associated with the second block on a reply to the request for the first block.

6. The method of claim 1 , further comprising setting an aggressiveness parameter, wherein the data associated with the second block is sent when a probability of the second block request is higher than the aggressiveness parameter.

7. A system comprising:

a means for receiving a request for a first block of a streaming application;

a means for checking a block request database;

a means for predicting a second block request based on the block request database;

a means for sending, in response to the request, data associated with the first block and data associated with the second block;

a means for logging the request for the first block;

a means for updating the block request database to incorporate data associated with the logged request;

wherein the logged request is a first logged request, a means for setting a temporal aggressiveness parameter, wherein the block request database is updated to incorporate data associated with the first logged request to the extent that associations with a second logged request is made if a difference between a receive time associated with the first logged request and the second logged request is less than the temporal aggressiveness parameter.

8. The system of claim 7 , wherein the data associated with the second block is sufficient to identify the second block so as to facilitate making a request for the second block.

9. The system of claim 7 , wherein the data associated with the second block includes data sufficient to render a request for the second block unnecessary.

10. The system of claim 7 , further comprising a means for piggybacking the data associated with the second block on a reply to the request for the first block.

11. A system comprising:

a processor;

a block request database that includes predictive parameters;

a prediction engine, coupled to the processor and the block request database, that is configured to check the block request database and predict a second block request for a second block based upon a first block request for a first block and predictive parameters associated with the first block;

a streaming server, coupled to the prediction engine, that is configured to:

obtain the prediction about the second block request from the prediction engine,

include data associated with the second block in a response to the first block request, in addition to data associated with the first block, and

send the response in reply to the first block request;

a request log, wherein the streaming server is further configured to log the first block request in the request log, wherein the prediction engine is further configured to update the block request database according to the request log;

a temporal aggressiveness parameter embodied in a computer readable storage medium;

wherein the logged request is a first logged request, wherein the block request database is updated to incorporate data associated with the first logged request to the extent that associations with a second logged request is made if a difference between a receive time associated with the first logged request and the second logged request is less than the temporal aggressiveness parameter.

12. The system of claim 11 , wherein the data associated with the second block is sufficient to identify the second block so as to facilitate making the second block request.

13. The system of claim 11 , wherein the data associated with the second block includes data sufficient to render the second block request unnecessary.

14. The system of claim 11 , wherein the streaming server is further configured to piggyback the data associated with the second block on a reply to the first block request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2012
From: STREAMTHEORY, INC.
To: NUMECENT HOLDINGS, INC.
Reel/Frame 029526/0310 →