Virtual desktop infrastructure (VDI) caching using context

US9448816B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9448816-B2
Application numberUS-201313872969-A
CountryUS
Kind codeB2
Filing dateApr 29, 2013
Priority dateApr 29, 2013
Publication dateSep 20, 2016
Grant dateSep 20, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment a method for storing a remote desktop GUI image block in a cache including a plurality of persistence levels is described. The method is comprised of maintaining each persistence level in the plurality of persistence levels; identifying an event associated with an update to the remote desktop GUI; determining a context for the event; selecting one of the persistence levels for the event based on the context; and storing an image block corresponding to the update in the selected one of the persistence levels.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for storing a remote desktop graphical user interface (GUI) image block in a cache, the cache including a plurality of persistence levels, the method comprising: maintaining, by a computing device, each persistence level in the plurality of persistence levels; identifying, by the computing device, an event associated with an update to the remote desktop GUI; determining, by the computing device, a context for the event; determining, by the computing device, when a first type of event based on a hint related to a display of content on the remote desktop GUI or a second type of event based on a discontinuity event related to the display of content for remote desktop GUI has occurred; when the first type of event has occurred, performing: selecting, by the computing device, one of the persistence levels for the event based on the context; and storing, by the computing device, an image block corresponding to the update with the selected one of the persistence levels; when the second type of event has occurred, performing: reviewing, by the computing device, a set of image blocks in one of the persistence levels that are associated with the event based on the context; and moving, by the computing device, an image block in the set of image blocks to another persistence level based on the context. 2. The method of claim 1 , wherein maintaining comprises maintaining each persistence level in the plurality of persistence levels using a different cache replacement process, wherein the cache replacement process for each persistence level is based on a different level of persistence to evict image blocks of the remote desktop GUI from each persistence level. 3. The method of claim 1 , wherein the event comprises the discontinuity event for a workflow of a user using the remote desktop GUI. 4. The method of claim 3 , wherein the discontinuity event is determined based on a change of an image of the remote desktop GUI. 5. The method of claim 3 , wherein moving the image block comprises: determining a current state of an image of the remote desktop GUI as the context, and moving the image block from a lower persistence level to a higher persistence level if the image block corresponds to an image block in the current state of the image. 6. The method of claim 5 , wherein: different image blocks in the cache are classified differently according to the context for the remote desktop GUI, and the different image blocks are moved to different persistence levels based on the different classifications. 7. The method of claim 3 , further comprising storing the image of the remote desktop GUI in a persistence level in the plurality of persistence levels in response to determining the discontinuity event, wherein the image is stored before or after the discontinuity event. 8. The method of claim 1 , wherein: the context comprises the hint detected from the remote desktop GUI, and the selected one of the persistence levels is determined based on the hint. 9. The method of claim 8 , wherein image blocks for the remote desktop GUI are stored in a short term persistence level unless the hint detected from the remote desktop GUI indicates the image block should be stored in a higher level persistence level. 10. The method of claim 8 , wherein: the hint comprises information received from a peripheral device, and the hint from the peripheral device is analyzed and used to select one of the persistence levels in which to store the image block. 11. The method of claim 8 , wherein: the hint comprises information for an image type, and different image types cause the image block to be stored in different persistence levels. 12. A non-transitory computer-readable storage medium containing instructions for storing a remote desktop graphical user interface (GUI) image block in a cache, the cache including a plurality of persistence levels, the instructions, when executed, for controlling a computer system to be configured for: maintaining each persistence level in the plurality of persistence levels; identifying an event associated with an update to the remote desktop GUI; determining a context for the event; determining when a first type of event based on a hint related to a display of content on the remote desktop GUI or a second type of event based on a discontinuity event related to the display of content for remote desktop GUI has occurred; when the first type of event has occurred, performing: selecting one of the persistence levels for the event based on the context; and storing an image block corresponding to the update with the selected one of the persistence levels; when the second type of event has occurred, performing: reviewing a set of image blocks in one of the persistence levels that are associated with the event based on the context; and moving an image block in the set of image blocks to another persistence level based on the context. 13. The non-transitory computer-readable storage medium of claim 12 , wherein maintaining comprises maintaining each persistence level in the plurality of persistence levels using a different cache replacement process, wherein the cache replacement process for each persistence level is based on a different level of persistence to evict image blocks of the remove desktop GUI from each persistence level. 14. The non-transitory computer-readable storage medium of claim 12 , wherein the event comprises the discontinuity event for a workflow of a user using the remote desktop GUI. 15. The non-transitory computer-readable storage medium of claim 14 , wherein moving the image block comprises: determining a current state of an image of the remote desktop GUI as the context, and moving the image block from a lower persistence level to a higher persistence level if the image block corresponds to an image block in the current state of the image. 16. The non-transitory computer-readable storage medium of claim 15 , wherein: different image blocks in the cache are classified differently according to the context for the remote desktop GUI, and the different image blocks are moved to different persistence levels based on the different classifications. 17. The non-transitory computer-readable storage medium of claim 12 , wherein: the context comprises the hint detected from the remote desktop GUI, and the selected one of the persistence levels is determined based on the hint. 18. The non-transitory computer-readable storage medium of claim 17 , wherein image blocks for the remote desktop GUI are stored in a short term persistence level unless the hint detected from the remote desktop GUI indicates the image block should be stored in a higher level persistence level. 19. The non-transitory computer-readable storage medium of claim 17 , wherein: the hint comprises information received from a peripheral device or an image type, and the hint from the peripheral device is analyzed and used to determine the persistence level in which to store the image block. 20. An apparatus configured to store a remote desktop graphical user interface (GUI) image block in a cache, the cache including a plurality of persistence levels, the apparatus comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for: maintaining each persistence level in the plurality of persistence levels; identifying an

Assignees

Inventors

Classifications

  • G06F9/452Primary

    Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • using a cache memory · CPC title

  • involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay · CPC title

  • Networking aspects · CPC title

  • using replacement algorithms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9448816B2 cover?
In one embodiment a method for storing a remote desktop GUI image block in a cache including a plurality of persistence levels is described. The method is comprised of maintaining each persistence level in the plurality of persistence levels; identifying an event associated with an update to the remote desktop GUI; determining a context for the event; selecting one of the persistence levels for…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/452. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).