IP Library › Granted Patent US 8,341,270
Granted Patent B2
US 8,341,270 · App. 11/563,932 · Granted Dec 25, 2012

Methods and systems for providing access to a computing environment

Assignee: Citrix Systems, Inc.
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 8,341,270
App. No.
11/563,932
Filed
Nov 28, 2006
Granted
Dec 25, 2012
Kind
B2
Art Unit
2444
USPC
709/227
Abstract

A method for providing access to a computing environment includes the step of receiving, by a broker machine, a request from a client machine for access to a computing environment, the request including an identification of a user of the client machine. One of a plurality of virtual machines is identified, the identified virtual machine providing the requested computing environment. One of a plurality of execution machines is identified, the identified execution machine executing a hypervisor providing access to hardware resources required by the identified virtual machine. A connection is established between the client machine and the identified virtual machine.

Claims (48)

1. A method of providing access to a desktop computing environment, the method comprising the steps of:

(a) providing a broker machine including a virtual machine management component executing on the processor and a session management component executing on the processor, the session management component having an identification component comprising a transceiver, an execution component, and a management component;

(b) receiving, by a broker machine, a request from a client machine for access to a desktop computing environment, the request including a type of the desktop computing environment;

(c) selecting, by the virtual machine management component, a virtual machine that can provide a desktop computing environment requested by a user at a client and an operating system in which to execute the desktop computing environment;

(d) transmitting, by the virtual machine management component, an identification of a type of the desktop computing environment to the identification component;

(e) receiving, by the identification component, the identification of a type of the desktop computing environment;

(f) transmitting, by the identification component, to the virtual machine management component the identification, and receives from the virtual machine management component an identification of the virtual machine that provides the desktop computing environment requested by a user at the client machine;

(g) selecting, by the identification component, an execution machine executing a hypervisor that provides access to hardware resources required by the virtual machine;

(h) provisioning, by the execution component, the virtual machine;

i) launching, by the execution component, the virtual machine into the execution machine, the virtual machine executing the operating system;

ii) launching, by the execution component, the desktop computing environment into the virtual machine on the execution machine;

(k) establishing, by the management component,

i) an internet protocol address associated with the virtual machine to a client machine into which the requested desktop computing environment has been launched and

ii) a connection between the client machine and the desktop computing environment.

2. The method of claim 1 , wherein the virtual machine management component selects the virtual machine according to an identification in the request of a user of the client machine.

3. The method of claim 1 , wherein the request includes a type of the virtual machine.

4. The method of claim 1 , wherein the session management component of the broker machine selects the virtual machine.

5. The method of claim 1 , wherein the hypervisor provides access to the hardware resources by provisioning the hardware resources on the execution machine.

6. The method of claim 1 , wherein the hypervisor provides access to the hardware resources by partitioning the hardware resources on the execution machine.

7. The method of claim 1 , wherein the identification computer selects the execution machine according to the hardware resources required by the virtual machine.

8. The method of claim 1 , wherein the broker machine establishes the connection by providing to the client machine an internet protocol address associated with the execution machine.

9. The method of claim 1 , wherein the broker machine establishes the connection by providing a proxy for communication between the client machine and the virtual machine.

10. The method of claim 1 , wherein the broker machine uses a presentation layer protocol to establish the connection between the client machine and the virtual machine into which the requested desktop computing environment has been launched.

11. An apparatus providing access to a desktop computing environment, the apparatus comprising:

a broker machine including a virtual machine management component executing on a processor and a session management component executing on a processor, the session management component having an identification component comprising a transceiver, an execution component, and a management component, wherein

the virtual machine management component

i) selects a virtual machine that can provide

a) a desktop computing environment requested by a user at a client machine, and

b) an operating system in which to execute the desktop computing environment; and

ii) transmits an identification of a type of the desktop computing environment to the identification component;

the identification component

i) receives the identification of a type of the desktop computing environment, transmits to the virtual machine management component the identification, and receives from the virtual machine management component an identification of the virtual machine that provides the desktop computing environment requested by a user at a client machine, and

ii) selects an execution machine executing a hypervisor that provides access to hardware resources required by the virtual machine;

the execution component

i) provisions the virtual machine,

ii) launches the virtual machine into the execution machine, the virtual machine executing the operating system, and

iii) launches the desktop computing environment into the virtual machine on the execution machine; and

the management component provides an internet protocol address associated with the virtual machine to the client machine into which the requested desktop computing environment has been launched and establishes a connection between the client machine and the desktop computing environment.

12. The apparatus of claim 11 further comprising a virtual machine service component, wherein the virtual machine service component executes in the hypervisor and receives from the session management component configuration information associated with the client machine.

13. The apparatus of claim 11 further comprising a virtual machine service component, wherein the virtual machine service component executes in the virtual machine and receives from the session management component configuration information associated with the client machine.

14. The apparatus of claim 11 , wherein the identification component selects the execution machine according to an identification of an execution machine received from the virtual machine management component.

15. The apparatus of claim 11 , wherein the transceiver of the identification component receives an identification of a user of the client machine and transmits the identification of the user to the virtual machine management component.

16. The apparatus of claim 11 , wherein the transceiver of the identification component receives an identification of a type of the virtual machine and transmits the identification of the type of the virtual machine to the virtual machine management component.

17. The apparatus of claim 11 , wherein the virtual machine management component selects the virtual machine responsive to an identification of a user of the client machine.

18. The apparatus of claim 11 , wherein the execution component launches the virtual machine into the hypervisor on the execution machine.

19. The apparatus of claim 11 , wherein the virtual machine management component allocates the virtual machine to the user.

20. The apparatus of claim 11 , wherein the management component provides a proxy for communication between the client machine and the virtual machine into which the requested desktop computing environment has been launched.

21. The apparatus of claim 11 , wherein the management component establishes the connection between the client machine and the virtual machine into which the requested desktop computing environment has been launched using a presentation layer protocol.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2007
From: MAZZAFERRI, RICHARD JAMES; ROBINSON, DAVID NEIL
To: CITRIX SYSTEMS, INC.
Reel/Frame 018776/0861 →
Continuity (2)
Provisional Application 60761674 · Jan 24, 2006
Related Publication 20070186212A1 · Aug 9, 2007