IP Library Granted Patent US 10,249,266
Granted Patent B2
US 10,249,266 · App. 15/057,037 · Granted Apr 2, 2019

Preserving desktop state across login sessions

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,249,266
App. No.
15/057,037
Granted
Apr 2, 2019
Kind
B2
Abstract

Techniques are described for preserving desktop state between login sessions in desktop computing environments. During an active login session of a desktop by a user, the system intercepts all requests to open a file and records the requested file paths. The information can be recorded locally or at a remote location, such as a server accessed over a network connection. Before the login session is terminated, the system determines all open windows and captures a screenshot of each window that is open on the desktop at the time of terminating the login session. The location of each window is also determined and recorded along with the screenshots before the session is terminated. When the user starts a new active login session at a later time, the state of the desktop is restored using the recorded file paths, screenshots and window locations.

Claims (65)

1. A method for preserving desktop state across login sessions, the method comprising:

during an active login session of a desktop by a user, intercepting a request to open a file and recording a path of the file that was opened in response to the request;

detecting that the login session is being terminated;

in response to detecting that the login session is being terminated, capturing a screenshot of at least one window that is open on the desktop at the time of terminating the login session and determining a location of the window;

recording the screenshot and the location of the window;

detecting that the user has established a new active login session; and

restoring a state of the desktop based on the recorded path of the file, the screenshot and the location of the window, wherein restoring the state of the desktop includes:

to restore a first application, invoking restart management application programming interfaces (APIs) of a desktop operating system; and

to restore a second application that does not support the restart management APIs, displaying the captured screenshot of the window corresponding to the second application.

2. The method of claim 1 , further comprising:

recording a location of a cursor in an open document in response to the detection that the login session is being terminated; and

wherein restoring the state of the desktop further includes opening the document and causing the cursor to be placed in the recorded location within the document.

3. The method of claim 1 , wherein the window corresponds to an application that is used to access the file, and wherein restoring the state of the desktop further comprises:

displaying the recorded screenshot of the application with an option to launch the application with the file that is displayed in the screenshot.

4. The method of claim 1 , wherein restoring the state of the desktop further comprises re-opening each window that was open before terminating the login session and setting the location of said each window to corresponding recorded locations.

5. The method of claim 1 , wherein recording the path of the file, the screenshot and the location of the window are transmitted to a server prior to terminating the login session and stored on the server.

6. The method of claim 1 , further comprising:

in response to detecting that the login session is being terminated, accessing an application programming interface (API) of a browser to determine information indicating which tabs are open in the browser; and

recording the information indicating which tabs are open in the browser.

7. The method of claim 1 , further comprising:

in response to detecting that the user has established a new active login session, determining that a screen resolution in the new active login session is different from the screen resolution prior to terminating the login session; and

modifying the recorded location when re-opening the window to account for the different screen resolution.

8. A computing device, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to:

during an active login session of a desktop by a user, intercept a request to open a file and record a path of the file that was opened in response to the request;

detect that the login session is being terminated;

in response to detecting that the login session is being terminated, capture a screenshot of at least one window that is open on the desktop at the time of terminating the login session and determine a location of the window;

record the screenshot and the location of the window;

detect that the user has established a new active login session; and

restore a state of the desktop based on the recorded path of the file, the screenshot and the location of the window, wherein restoring the state of the desktop includes:

to restore a first application, invoking restart management application programming interfaces (APIs) of a desktop operating system; and

to restore a second application that does not support the restart management APIs, displaying the captured screenshot of the window corresponding to the second application.

9. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to:

record a location of a cursor in an open document in response to the detection that the login session is being terminated; and

wherein restoring the state of the desktop further includes opening the document and causing the cursor to be placed in the recorded location within the document.

10. The computing device of claim 8 , wherein the window corresponds to an application that is used to access the file, and wherein restoring the state of the desktop further comprises:

displaying the recorded screenshot of the application with an option to launch the application with the file that is displayed in the screenshot.

11. The computing device of claim 8 , wherein restoring the state of the desktop further comprises re-opening each window that was open before terminating the login session and setting the location of said each window to corresponding recorded locations.

12. The computing device of claim 8 , wherein recording the path of the file, the screenshot and the location of the window are transmitted to a server prior to terminating the login session and stored on the server.

13. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to:

in response to detecting that the login session is being terminated, access an application programming interface (API) of a browser to determine information indicating which tabs are open in the browser; and

record the information indicating which tabs are open in the browser.

14. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to:

in response to detecting that the user has established a new active login session, determine that a screen resolution in the new active login session is different from the screen resolution prior to terminating the login session; and

modify the recorded location when re-opening the window to account for the different screen resolution.

15. A non-transitory computer readable storage medium comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

during an active login session of a desktop by a user, intercepting a request to open a file and recording a path of the file that was opened in response to the request;

detecting that the login session is being terminated;

in response to detecting that the login session is being terminated, capturing a screenshot of at least one window that is open on the desktop at the time of terminating the login session and determining a location of the window;

recording the screenshot and the location of the window;

detecting that the user has established a new active login session; and

restoring a state of the desktop based on the recorded path of the file, the screenshot and the location of the window, wherein restoring the state of the desktop includes:

to restore a first application, invoking restart management application programming interfaces (APIs) of a desktop operating system; and

to restore a second application that does not support the restart management APIs, displaying the captured screenshot of the window corresponding to the second application.

16. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

recording a location of a cursor in an open document in response to the detection that the login session is being terminated; and

wherein restoring the state of the desktop further includes opening the document and causing the cursor to be placed in the recorded location within the document.

17. The non-transitory computer readable storage medium of claim 15 , wherein the window corresponds to an application that is used to access the file, and wherein restoring the state of the desktop further comprises:

displaying the recorded screenshot of the application with an option to launch the application with the file that is displayed in the screenshot.

18. The non-transitory computer readable storage medium of claim 15 , wherein restoring the state of the desktop further comprises re-opening each window that was open before terminating the login session and setting the location of said each window to corresponding recorded locations.

19. The non-transitory computer readable storage medium of claim 15 , wherein recording the path of the file, the screenshot and the location of the window are transmitted to a server prior to terminating the login session and stored on the server.

20. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

in response to detecting that the login session is being terminated, accessing an application programming interface (API) of a browser to determine information indicating which tabs are open in the browser; and

recording the information indicating which tabs are open in the browser.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2016
From: ZAMIR, TAL
To: VMWARE, INC.
Reel/Frame 037856/0016 →
Cited By (34)
US 12,556,548 US 12,556,559 US 12,563,060 US 12,563,064 US 12,563,071 US 12,563,072 US 12,580,934 US 12,580,935 US 12,580,936 US 12,580,937 US 12,587,553 US 12,592,950 US 12,598,205 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 US 12,627,686 US 12,627,687 US 12,627,690 US 12,634,312 US 12,634,376 US 12,652,302 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,689,638 US 12,689,640 US 12,695,768 US 12,706,932 US 12,706,933 US 12,712,897