Opportunistic block transmission with time constraints
First Claim
Patent Images
1. A method comprising:
- receiving a request, from a streaming playback device, for a block of a stream-enabled application;
determining likelihood of each of additional blocks of the stream-enabled application being requested based on an identification of the block of the stream-enabled application using probability data;
adding the requested block of the stream-enabled application and then at least a portion of the additional blocks of the stream-enabled application to an output buffer in order of decreasing likelihoods of the additional blocks of the stream-enabled application being requested within a data window size of the output buffer, the data window size of the output buffer being varied based on at least one of a latency and a throughput that are dynamically changing;
providing the requested block of the stream-enabled application and the at least the portion of the additional blocks in the output buffer to the streaming playback device.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for determining a data window size allows a set of predicted blocks to be transmitted along with requested blocks. A stream enabled application executing in a virtual execution environment may use the blocks when needed.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving a request, from a streaming playback device, for a block of a stream-enabled application; determining likelihood of each of additional blocks of the stream-enabled application being requested based on an identification of the block of the stream-enabled application using probability data; adding the requested block of the stream-enabled application and then at least a portion of the additional blocks of the stream-enabled application to an output buffer in order of decreasing likelihoods of the additional blocks of the stream-enabled application being requested within a data window size of the output buffer, the data window size of the output buffer being varied based on at least one of a latency and a throughput that are dynamically changing; providing the requested block of the stream-enabled application and the at least the portion of the additional blocks in the output buffer to the streaming playback device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
an interface configured to receive a request, from a streaming playback device, for a block of a stream-enabled application; a predictor configured to determine likelihood of each of additional blocks of the stream-enabled application being requested based on an identification of the block of the stream-enabled application using probability data; a predicted block aggregation engine configured to; add the requested block of the stream-enabled application and then at least a portion of the additional blocks of the stream-enabled application to an output buffer in order of decreasing likelihoods of the additional blocks of the stream-enabled application being requested within a data window size of the output buffer, the data window size of the output buffer being varied based on at least one of a latency and a throughput that are dynamically changing; the interface further configured to provide the requested block of the stream-enabled application and the at least the portion of the additional blocks in the output buffer to the streaming playback device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification