Memory system and host device
US-2024394189-A1 · Nov 28, 2024 · US
US11121928B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11121928-B2 |
| Application number | US-202016814604-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 10, 2020 |
| Priority date | Mar 23, 2005 |
| Publication date | Sep 14, 2021 |
| Grant date | Sep 14, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
The invention claimed is: 1. 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. 2. The method of claim 1 , wherein storing the one or more predictively streamed blocks in the cache comprises replacing one or more blocks in the cache that are not needed for executing the stream-enabled application. 3. The method of claim 1 , further comprising aggregating the one or more predictively streamed blocks prior to transmitting the one or more predictively streamed blocks to the virtual execution environment. 4. The method of claim 1 , wherein the one or more predictively streamed blocks are transmitted in an amount of time that is less than or equal to an interactivity threshold. 5. The method of claim 4 , wherein the interactivity threshold is an amount of time that a user is willing to wait for the virtual execution environment to access the resource. 6. The method of claim 4 , wherein the interactivity threshold is adapted to limit an amount of time for transmitting blocks to preserve a quality of execution of the stream-enabled application. 7. The method of claim 1 , further comprising: receiving, from the virtual execution environment, a request for a second resource of the stream-enabled application; determining whether the one or more predictively streamed blocks in the cache at least partially satisfy the request for the second resource; in response to determining that the one or more predictively streamed blocks in the cache at least partially satisfy the request for the second resource, partially satisfying the request for the second resource using the one or more predictively streamed blocks in the cache; requesting, from the streaming server, one or more additional blocks to completely satisfy the request for the second resource; transmitting the one or more additional blocks to the virtual execution environment. 8. The method of claim 1 , wherein the determining the one or more predictively streamed blocks that are likely to be requested is based on an occurrence of an error condition in executing the stream-enabled application. 9. The method of claim 1 , wherein the one or more predictively streamed blocks are transmitted as part of an output buffer, the one or more predictively streamed blocks being organized in the output buffer according to a probability of each of the one or more predictively streamed blocks being requested. 10. The method of claim 9 , wherein the probability of each of the one or more predictively streamed blocks being requested is based on probability data in a logical block probability table. 11. 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. 12. The system of claim 11 , wherein storing the one or more predictively streamed blocks in the cache comprises replacing one or more blocks in the cache that are not needed for executing the stream-enabled application. 13. The system of claim 11 , wherein, in operation, the block granularity caching engine aggregates the one or more predictively streamed blocks prior to transmitting the one or more predictively streamed blocks to the virtual execution environment. 14. The system of claim 11 , wherein the one or more predictively streamed blocks are transmitted in an amount of time that is less than or equal to an interactivity threshold. 15. The system of claim 14 , wherein the interactivity threshold is an amount of time that a user is willing to wait for the virtual execution environment to access the resource. 16. The system of claim 14 , wherein the interactivity threshold is adapted to limit an amount of time for transmitting blocks to preserve a quality of execution of the stream-enabled application. 17. The system of claim 11 , wherein, in operation, the block granularity caching engine: receives, from the virtual execution environment, a request for a second resource of the stream-enabled application; determines whether the one or more predictively streamed blocks in the cache at least partially satisfy the request for the second resource; in response to determining that the one or more predictively streamed blocks in the cache at least partially satisfy the request for the second resource, partially satisfies the request for the second resource using the one or more predictively streamed blocks in the cache; requests, from the streaming server, one or more additional blocks to completely satisfy the request for the second resource; transmits the one or more additional blocks to the virtual execution environment. 18. The system of claim 11 , wherein the determining the one or more predictively streamed blocks that are likely to be requested is based on an occurrence of an error condition in executing the stream-enabled application. 19. The system of claim 11 , wherein the one or more predictively streamed blocks are transmitted as part of an output buffer, the one or more predictively streamed blocks being organized in the out
with prefetch · CPC title
Pre-fetching or pre-delivering data based on network characteristics · CPC title
Media network packetisation · CPC title
for unicast · CPC title
using buffers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.