Opportunistic block transmission with time constraints
First Claim
Patent Images
1. A method comprising:
- receiving a request for a requested block in executing a stream-enabled application on a streaming playback device;
predicting one or more blocks that are associated with resources of the stream-enabled application that will be requested by the streaming playback device in executing the stream-enabled application based on the requested block;
adding the requested block and predicted blocks to an output buffer in order of probability of the predicted blocks being requested by the streaming playback device after requesting the requested block of the stream-enabled application until the output buffer has reached a data window size that is continuously updated based on network latency and network throughput of an interface through which the blocks are sent 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.
318 Citations
19 Claims
-
1. A method comprising:
-
receiving a request for a requested block in executing a stream-enabled application on a streaming playback device; predicting one or more blocks that are associated with resources of the stream-enabled application that will be requested by the streaming playback device in executing the stream-enabled application based on the requested block; adding the requested block and predicted blocks to an output buffer in order of probability of the predicted blocks being requested by the streaming playback device after requesting the requested block of the stream-enabled application until the output buffer has reached a data window size that is continuously updated based on network latency and network throughput of an interface through which the blocks are sent to the streaming playback device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a data window engine configured to continuously determine a data window size of an output buffer based on network latency and network throughput of an interface through which blocks associated with resources of a stream-enabled application in executing the stream-enabled application on a streaming playback device are sent; a predictor configured to determine a probability of predicted blocks being requested by the streaming playback device in executing the stream-enabled application based on a requested block received in executing the stream-enabled application; a predicted block aggregation engine configured to add the predicted blocks to the output buffer that includes the requested block in order of the probability of being requested by the streaming playback device after requesting the requested block of the stream-enabled application until the output buffer has reached the data window size. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
means for receiving a request for a requested block in executing a stream-enabled application on a streaming playback device; means for predicting one or more blocks that are associated with resources of the stream enabled application that will be requested by the streaming playback device in executing the stream-enabled application based on the requested block; means for adding the requested block and predicted blocks to an output buffer in order of probability of the predicted blocks being requested by the streaming playback device after requesting the requested block of the stream-enabled application until the output buffer has reached a data window size that is continuously updated based on network latency and network throughput of an interface through which the blocks are sent to the streaming playback device.
-
Specification