IP Library Granted Patent US 7,457,878
Granted Patent B1
US 7,457,878 · App. 10/983,254 · Granted Nov 25, 2008

Low-latency ultra-thin-client infrastructure

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 7,457,878
App. No.
10/983,254
Granted
Nov 25, 2008
Kind
B1
Abstract

One embodiment of the present invention provides a system that supports low-latency session-mobility for an ultra-thin-client. During system operation, an ultra-thin-client sends a location-identifier to a Connection Assignment Server (CAS), which facilitates communication with a user-interface (UI) server, wherein the location-identifier specifies the current location of the ultra-thin-client. Next, the ultra-thin-client receives the address of a local UI-server from the CAS, wherein the CAS selects the local UI-server based on the location-identifier. The ultra-thin-client then sends a user-session identifier to the local UI-server. This allows the local UI-server to retrieve a user-session-image for a user-session from a user-session-image repository. Note that, before moving to the current location, the ultra-thin-client was previously communicating with a remote UI-server, which stored the user-session-image in the user-session-image repository. Next, the ultra-thin-client establishes a user-session connection with the local UI-server. In this way, the system enables the ultra-thin-client to resume the user-session through the local UI-server. Note that the system reduces the delay experienced by the user because it enables the ultra-thin-client to carry on the user-session with the local UI-server instead of the remote UI-server.

Claims (90)

1. A method for supporting low-latency session-mobility over large distances for an ultra-thin-client, the method comprising:

sending a location-identifier that specifies the current geographic location of the ultra-thin-client to a Connection Assignment Server (CAS), which facilitates communication with user-interface (UI) servers, wherein a user uses the ultra-thin-client to interact with a remote application which does not execute on the ultra-thin-client, wherein the ultra-thin-client sends the user's input to a UI server, and wherein the ultra-thin-client receives screen content from the UI server which is generated by the remote application in response to the user's input;

receiving the address of a local UI-server from the CAS, wherein the CAS selects the local UI-server based on the location-identifier;

sending a user-session identifier to the local UI-server, thereby allowing the local UI-server to retrieve a user-session-image for an interrupted user-session from a user-session-image repository, wherein before moving to the current location, the ultra-thin-client was communicating with a remote UI-server, which stored the user-session-image in the user-session-image repository; and

resuming the interrupted user-session with the local UI-server;

wherein by communicating with the local UI-server instead of the remote UI-server reduces the delay experienced by the user while using the ultra-thin-client.

2. The method of claim 1 , further comprising:

receiving the location-identifier of the ultra-thin-client at the CAS;

selecting a local UI-server based on the location-identifier; and

sending the address of the selected local UI-server to the ultra-thin-client, thereby enabling the ultra-thin-client to establish a user-session with the local UI-server.

3. The method of claim 2 , wherein selecting the local UI-server based on the location-identifier involves:

identifying the continent within which the ultra-thin-client is located based on the location-identifier; and

selecting the local UI-server on the identified continent.

4. The method of claim 1 , further comprising:

receiving the user-session identifier from the ultra-thin-client;

retrieving a user-session image from a user-session-image repository based on the user-session identifier; and

using the user-session-image to resume the interrupted user-session with the ultra-thin-client.

5. The method of claim 1 , further comprising:

receiving a request at the remote UI-server to store the user-session-image for a user-session;

creating a user-session-image for the user-session; and

storing the user-session-image in a user-session-image repository, thereby allowing a user to resume the user-session by retrieving the user-session-image at a later time.

6. The method of claim 5 , wherein creating the user-session-image for the user-session involves creating a desktop checkpoint.

7. The method of claim 1 , wherein the location-identifier of the ultra-thin-client can include an Internet Protocol (IP) address of the ultra-thin-client.

8. The method of claim 1 , wherein the ultra-thin-client is comprised of:

a display;

a keyboard;

a mouse;

a microphone;

a speaker; and

a smart-card reader.

9. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for supporting low-latency session-mobility over large distances for an ultra-thin-client, wherein the computer-readable storage medium does not include instruction signals embodied in a transmission medium, the method comprising:

sending a location-identifier that specifies the current geographic location of the ultra-thin-client to a Connection Assignment Server (CAS), which facilitates communication with user-interface (UI) servers, wherein a user uses the ultra-thin-client to interact with a remote application which does not execute on the ultra-thin-client, wherein the ultra-thin-client sends the user's input to a UI server, and wherein the ultra-thin-client receives screen content from the UI server which is generated by the remote application in response to the user's input;

receiving the address of a local UI-server from the CAS, wherein the CAS selects the local UI-server based on the location-identifier;

sending a user-session identifier to the local UI-server, thereby allowing the local UI-server to retrieve a user-session-image for an interrupted user-session from a user-session-image repository, wherein before moving to the current location, the ultra-thin-client was communicating with a remote UI-server, which stored the user-session-image in the user-session-image repository; and

resuming the interrupted user-session with the local UI-server;

wherein by communicating with the local UI-server instead of the remote UI-server reduces the delay experienced by the user while using the ultra-thin-client.

10. The computer-readable storage medium of claim 9 , further comprising:

receiving the location-identifier of the ultra-thin-client at the CAS;

selecting a local UI-server based on the location-identifier; and

sending the address of the selected local UI-server to the ultra-thin-client, thereby enabling the ultra-thin-client to establish a user-session with the local UI-server.

11. The computer-readable storage medium of claim 10 , wherein selecting the local UI-server based on the location-identifier involves:

identifying the continent within which the ultra-thin-client is located based on the location-identifier; and

selecting the local UI-server on the identified continent.

12. The computer-readable storage medium of claim 9 , further comprising:

receiving the user-session identifier from the ultra-thin-client;

retrieving a user-session image from a user-session-image repository based on the user-session identifier; and

using the user-session-image to resume the interrupted user-session with the ultra-thin-client.

13. The computer-readable storage medium of claim 9 , further comprising:

receiving a request at the remote UI-server to store the user-session-image for a user-session;

creating a user-session-image for the user-session; and

storing the user-session-image in a user-session-image repository, thereby allowing a user to resume the user-session by retrieving the user-session-image at a later time.

14. The computer-readable storage medium of claim 13 , wherein creating the user-session-image for the user-session involves creating a desktop checkpoint.

15. The computer-readable storage medium of claim 9 , wherein the location-identifier of the ultra-thin-client can include an Internet Protocol (IP) address of the ultra-thin-client.

16. The computer-readable storage medium of claim 9 , wherein the ultra-thin-client is comprised of:

a display;

a keyboard;

a mouse;

a microphone;

a speaker; and

a smart-card reader.

17. An apparatus for supporting low-latency session-mobility over large distances for an ultra-thin-client, the apparatus comprising:

a location-sending mechanism configured to send a location-identifier that specifies the current geographic location of the ultra-thin-client to a Connection Assignment Server (CAS), which facilitates communication with user-interface (UI) servers, wherein a user uses the ultra-thin-client to interact with a remote application which does not execute on the ultra-thin-client, wherein the ultra-thin-client sends the user's input to a UI server, and wherein the ultra-thin-client receives screen content from the UI server which is generated by the remote application in response to the user's input;

an address-receiving mechanism configured to receive the address of a local UI-server from the CAS, wherein the CAS selects the local UI-server based on the location-identifier;

an identifier-sending mechanism configured to send a user-session identifier to the local UI-server, thereby allowing the local UI-server to retrieve a user-session-image for an interrupted user-session from a user-session-image repository, wherein before moving to the current location, the ultra-thin-client was communicating with a remote UI-server, which stored the user-session-image in the user-session-image repository; and

a resuming mechanism configured to resume the interrupted user-session with the local UI-server;

wherein by communicating with the local UI-server instead of the remote UI-server reduces the delay experienced by the user while using the ultra-thin-client.

18. The apparatus of claim 17 , further comprising:

a location-receiving mechanism configured to receive the location-identifier of the ultra-thin-client at the CAS;

a selecting mechanism configured to select a local UI-server based on the location-identifier; and

a address-sending mechanism configured to send the address of the selected local UI-server to the ultra-thin-client, thereby enabling the ultra-thin-client to establish a user-session with the local UI-server.

19. The apparatus of claim 18 , wherein the selecting mechanism includes:

an identifying mechanism configured to identify the continent within which the ultra-thin-client is located based on the location-identifier; and

a second selecting mechanism configured to select the local UI-server on the identified continent.

20. The apparatus of claim 17 , further comprising:

an identifier-receiving mechanism configured to receive the user-session identifier from the ultra-thin-client;

a retrieving mechanism configured to retrieve a user-session image from a user-session-image repository based on the user-session identifier; and

a resuming mechanism configured to use the user-session-image to resume the interrupted user-session with the ultra-thin-client.

21. The apparatus of claim 17 , further comprising:

a request-receiving mechanism configured to receive a request at the remote UI-server to store the user-session-image for a user-session;

a creating mechanism configured to create a user-session-image for the user-session; and

a storing mechanism configured to store the user-session-image in a user-session-image repository, thereby allowing a user to resume the user-session by retrieving the user-session-image at a later time.

22. The apparatus of claim 21 , wherein the creating mechanism is further configured to create a desktop checkpoint.

23. The apparatus of claim 17 , wherein the location-identifier of the ultra-thin-client can include an Internet Protocol (IP) address of the ultra-thin-client.

24. The apparatus of claim 17 , wherein the ultra-thin-client is comprised of:

a display;

a keyboard;

a mouse;

a microphone;

a speaker; and

a smart-card reader.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2004
From: MATHISKE, BERND J.; BUSH, WILLIAM R.; PERIAKARUPPAN. NACHIAPPAN
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015974/0811 →