Back to results
US 11,121,928 B2Granted
Opportunistic block transmission with time constraints
AssigneeNumecent Holdings, Inc.
InventorsJeffrey DeVries, Arthur S. Hitomi
Life of this patent
Estimating the term…
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.
Claims20
A method comprising:
- receiving, from a virtual execution environment, a first request for a resource of a stream-enabled application executing in the virtual execution environment;
- translating the first request for the resource of the stream-enabled application into one or more block IDs of one or more blocks that includes the resource;
- determining, using the one or more block IDs, which blocks of the one or more blocks that includes the resource are present in a cache;
- in response to determining which blocks of the one or more blocks that includes the resource are present in the cache:
- locking the blocks that are present in the cache;
- transmitting a second request for the blocks that are not present in the cache to a streaming server;
- receiving the blocks that are not present in the cache from the streaming server;
- determining one or more predictively streamed blocks that are likely to be requested following the first request for the resource;
- transmitting the one or more blocks that includes the resource to the virtual execution environment;
- transmitting the one or more predictively streamed blocks to the virtual execution environment;
- storing the one or more predictively streamed blocks in the cache;
- unlocking the blocks that include the resource that were present in the cache.
9 more elements
A system comprising:
- a virtual execution environment;
- a cache;
- a block granularity caching engine;
- wherein, in operation, the block granularity caching engine:
- receives, from the virtual execution environment, a first request for a resource of a stream-enabled application executing in the virtual execution environment;
- translates the first request for the resource of the stream-enabled application into one or more block IDs of one or more blocks that includes the resource;
- determines, using the one or more block IDs, which blocks of the one or more blocks that includes the resource are present in the cache;
- in response to determining which blocks of the one or more blocks that includes the resource are present in the cache:
- locks the blocks that are present in the cache;
- transmits a second request for the blocks that are not present in the cache to a streaming server;
- receives the blocks that are not present in the cache from the streaming server;
- determines one or more predictively streamed blocks that are likely to be requested following the first request for the resource;
- transmits the one or more blocks that includes the resource to the virtual execution environment;
- transmits the one or more predictively streamed blocks to the virtual execution environment;
- stores the one or more predictively streamed blocks in the cache;
- unlocks the blocks that include the resource that were present in the cache.
13 more elements
A system comprising:
- means for receiving, from a virtual execution environment, a first request for a resource of a stream-enabled application executing in the virtual execution environment;
- means for translating the first request for the resource of the stream-enabled application into one or more block IDs of one or more blocks that includes the resource;
- means for determining, using the one or more block IDs, which blocks of the one or more blocks that includes the resource are present in a cache;
- in response to determining which blocks of the one or more blocks that includes the resource are present in the cache:
- means for locking the blocks that are present in the cache;
- means for transmitting a second request for the blocks that are not present in the cache to a streaming server;
- means for receiving the blocks that are not present in the cache from the streaming server;
- means for determining one or more predictively streamed blocks that are likely to be requested following the first request for the resource;
- means for transmitting the one or more blocks that includes the resource to the virtual execution environment;
- means for transmitting the one or more predictively streamed blocks to the virtual execution environment;
- means for storing the one or more predictively streamed blocks in the cache;
- means for unlocking the blocks that include the resource that were present in the cache.
9 more elements
Dependencies are inferred from the claim text.