Systems, methods, and media for sharing information with vendor applications in secure environments
US-2024403071-A1 · Dec 5, 2024 · US
US9542209B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9542209-B2 |
| Application number | US-201213539148-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 29, 2012 |
| Priority date | Jun 29, 2012 |
| Publication date | Jan 10, 2017 |
| Grant date | Jan 10, 2017 |
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.
User profiles of remote desktops are managed in a crash-consistent manner. When a user logs into a remote desktop, metadata of the user profile is loaded from persistent storage while registry settings and files of the user profile are loaded asynchronously with respect to the login. During the remote desktop session, snapshots of the remote desktop image in persistent storage are generated periodically, and a change log that indicates changes to the user profile is created therefrom. The user profile stored in persistent storage is updated lazily using the change log at opportunistic times after snapshot generation. When the user logs out of the remote desktop, the user profile stored in the persistent storage is updated with any additional changes to the user profile by extracting the changes from the copy-on-write cache associated with the most recent snapshot.
Opening claim text (preview).
We claim: 1. A method of preserving user profiles for desktops across desktop sessions, comprising: loading metadata of a user profile from persistent storage when a user logs into a desktop, wherein loading the metadata of the user profile comprises: transmitting an acknowledgement that the entire user profile has been successfully loaded prior to the user profile being fully loaded, spawning a first thread configured to load portions of the user profile as the portions are accessed by the user, and spawning a second thread parallel to the first thread and configured to load portions of the user profile asynchronously according to a schedule; generating a snapshot of an image of the desktop stored in persistent storage; recording changes to the user profile in a change log using the snapshot; and committing the changes to the user profile recorded in the change log to the user profile stored in the persistent storage asynchronously with respect to when the changes to the user profile are recorded in the change log, wherein the changes are committed prior to the user logging out of the desktop. 2. The method of claim 1 , further comprising: repeating said generating and said recording at periodic intervals; and when the user logs out of the desktop, determining changes to the user profile by examining a copy-on-write cache associated with the most recent snapshot and committing the changes to the user profile stored in the persistent storage. 3. The method of claim 2 , wherein each snapshot generated is a crash consistent snapshot. 4. The method of claim 2 , wherein an interval between generating the snapshots is configurable by the user. 5. The method of claim 1 , further comprising: examining contents of a copy-on-write cache associated with the snapshot to determine the changes to the user profile since the last snapshot. 6. The method of claim 1 , wherein the user profile includes registry settings and files. 7. The method of claim 6 , wherein the registry settings are stored as a file. 8. The method of claim 1 , further comprising: loading registry settings in the user profile asynchronously with respect to when the metadata is loaded. 9. The method of claim 1 , wherein the user profile is stored in a shared storage system that is accessible from virtual machines instantiated in any one of multiple host computers that employ the shared storage system as persistent storage. 10. The method of claim 1 , wherein the changes to the user profile are determined based on examining a portion of the snapshot representing the user profile. 11. The method of claim 1 , wherein the snapshot of the image of the desktop is generated by a guest operating system of the desktop. 12. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause a computing device to preserve user profiles for desktops across desktop sessions, by performing the steps of: loading metadata of a user profile from persistent storage when a user logs into a desktop, wherein loading the metadata of the user profile comprises: transmitting an acknowledgement that the entire user profile has been successfully loaded prior to the user profile being fully loaded, spawning a first thread configured to load portions of the user profile as the portions are accessed by the user, and spawning a second thread parallel to the first thread and configured to load portions of the user profile asynchronously according to a schedule; generating a snapshot of an image of the desktop stored in persistent storage; recording changes to the user profile in a change log using the snapshot; and committing the changes to the user profile recorded in the change log to the user profile stored in the persistent storage asynchronously with respect to when the changes to the user profile are recorded in the change log, wherein the changes are committed prior to the user logging out of the desktop. 13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further comprise instructions that cause the computing device to performing the steps of: repeating said generating and said recording at periodic intervals; and when the user logs out of the desktop, determining changes to the user profile by examining a copy-on-write cache associated with the most recent snapshot and committing the changes to the user profile stored in the persistent storage. 14. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further comprise instructions that cause the computing device to performing the steps of: examining contents of a copy-on-write cache associated with the snapshot to determine the changes to the user profile since the last snapshot, wherein the user profile includes registry settings stored as a file. 15. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further comprise instructions that cause the computing device to performing the steps of: loading registry settings in the user profile asynchronously with respect to when the metadata is loaded. 16. A computer system comprising: a plurality of servers configured to host desktops that can be remotely accessed by users; a persistent storage device shared by the plurality of servers and storing an image of the first desktop and a user profile associated with a first desktop, wherein the first desktop is hosted on a virtual machine that is running in one of the servers and the virtual machine is programmed to carry out the steps of: loading metadata of the user profile from the persistent storage device when a user logs into the first desktop, wherein loading the metadata of the user profile comprises: transmitting an acknowledgement that the entire user profile has been successfully loaded prior to the user profile being fully loaded; spawning a first thread configured to load portions of the user profile as the portions are accessed by the user; and spawning a second thread parallel to the first thread and configured to load portions of the user profile asynchronously according to a schedule, generating a snapshot of an image of the first desktop stored in the persistent storage device, recording changes to the user profile in a change log using the snapshot, and committing the changes to the user profile recorded in the change log to the user profile stored in the persistent storage device asynchronously with respect to when the changes to the user profile are recorded in the change log, wherein the changes are committed prior to the user logging out of the desktop. 17. The computer system of claim 16 , wherein the virtual machine is further programmed to carry out the steps of: repeating said generating and said recording at periodic intervals; and when the user logs out of the first desktop, determining changes to the user profile by examining a copy-on-write cache associated with the most recent snapshot and committing the changes to the user profile stored in the persistent storage. 18. The computer system of claim 16 , wherein the virtual machine is further programmed to carry out the steps of: examining contents of a copy-on-write cache associated with the snapshot to determine the changes to the user profile since the last snapshot, wherein the user profile includes registry settings stored as a file. 19. The computer system of claim 16 , wherein the virtual machine is further programmed to carry out the steps of: loading registry set
User profiles; Roaming · CPC title
Physics · mapped topic
Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title
Asynchronous replication or reconciliation · CPC title
Change logging, detection, and notification (replication G06F16/27) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.