OPPORTUNISTIC BLOCK TRANSMISSION WITH TIME CONSTRAINTS
First Claim
Patent Images
1. A system comprising:
- a virtual execution environment;
a block granularity caching engine;
a cache;
wherein, in operation;
a process associated with a stream-enabled application is executed in the virtual execution environment;
the virtual execution environment intercepts a request from the process executing in the virtual execution environment;
the virtual execution environment identifies one or more blocks that are associated with the resource;
the virtual execution environment makes a block request associated with the resource;
the block granularity engine checks the cache for blocks to satisfy the block request;
the client block granularity engine provides at least one predictively streamed block to the virtual execution environment if the predictively streamed block is found in the cache;
the virtual execution environment satisfies the resource request of the process using the at least one predictively streamed block.
3 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
25 Claims
-
1. A system comprising:
-
a virtual execution environment; a block granularity caching engine; a cache; wherein, in operation; a process associated with a stream-enabled application is executed in the virtual execution environment; the virtual execution environment intercepts a request from the process executing in the virtual execution environment; the virtual execution environment identifies one or more blocks that are associated with the resource; the virtual execution environment makes a block request associated with the resource; the block granularity engine checks the cache for blocks to satisfy the block request; the client block granularity engine provides at least one predictively streamed block to the virtual execution environment if the predictively streamed block is found in the cache; the virtual execution environment satisfies the resource request of the process using the at least one predictively streamed block. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
executing a process associated with a stream-enabled application that provides a first request for resources; receiving, within a data window, one or more blocks including resources used to satisfy the first request for resources as well as one or more predictively streamed blocks; storing one or more predictively streamed blocks in a cache; providing a second request for resources; checking the cache to find the one or more predictively streamed blocks to satisfy the second request for resources; at least partially satisfying the second request for resources using the one or more predictively streamed blocks in the cache. - View Dependent Claims (8, 9)
-
-
10. A system comprising:
-
blocks of a stream-enabled application embodied in a computer readable medium; an output buffer, wherein, in operation, the output buffer stores one or more of the blocks of the stream enabled application; a data window engine, wherein, in operation, the data window engine determines a data window size using an interactivity threshold to limit predicted block aggregation; a predicted block aggregation engine, wherein, in operation, the predicted block aggregation engine stores predicted blocks in the output buffer until or before the size of the output buffer reaches the data window size; an interface, wherein, in operation, the interface sends the blocks in the output buffer. - View Dependent Claims (11, 12, 13)
-
-
14. A method comprising:
-
predicting one or more blocks that are associated with resources that will be requested by a stream-enabled application; adding predicted blocks to an output buffer in order of priority until the output buffer has reached a data window size; transmitting the blocks in the output buffer. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
a streaming playback device; a streaming server; wherein, in operation, the streaming server predicts one or more blocks that will be needed by the streaming playback device up to a limit of a data window size set in accordance with an interactivity threshold limiting the amount of time for transmission of blocks to preserve a quality of execution of the stream-enabled application. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification