Delivering a Single End User Experience to a Client from Multiple Servers
Abstract
Methods, systems, and computer readable media are disclosed for creating a multi-port client server connection in a remote desktop environment. In an embodiment, the multi-client server connection can decouple client-server connection and client-server input from graphics delivery from the server to the client. Such embodiment provides higher server performance and enables dynamic server resource management. The multi-client server connection can be implemented in a virtual environment or between physical machines where one set of physical machines receives the graphics requests from the client and another set of physical machines generates and transmits display data to the client.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1 . A system for processing data, comprising:
at least one computing device configured to at least: establish a connection with at least one client device and at least one graphics computing device; receive data from the at least one client device; process the received data from the client device, and send the processed data to the at least one graphics computing device, the processed data used to generate graphics data that is sent by the at least one graphics computing device to the client device.
2 . The system of claim 1 , wherein the at least one computing device comprises at least one compute server and the at least one graphics computing device comprises at least one graphics server.
3 . The system of claim 1 , wherein the at least one computing device is instantiated within at least one virtual machine.
4 . The system of claim 1 , wherein the at least one graphics computing device is instantiated within at least one partition on at least one virtualized machine.
5 . The system of claim 3 , wherein the at least one graphics computing device is instantiated within at least one partition on same physical computing devices as the at least one computing device and wherein the connection between the at least one computing device and the at least one graphics computing device is at least one intra-partition communication channel.
6 . The system of claim 1 , wherein establishing a connection with the at least one client device and the at least one graphics computing device comprises acquiring at least one address of the at least one client device and at least one address of the graphics computing device, providing the acquired at least one client device address to the at least one graphics computing device and the acquired at least one graphics computing device address to the at least one client device, and instructing the at least one client device and the at least one graphics computing device to establish a connection using the provided addresses.
7 . The system of claim 1 , wherein establishing a connection with the at least one client device and the at least one graphics computing device comprises load balancing the at least one computing device and the at least one graphics computing device.
8 . The system of claim 1 , wherein the graphics data comprises a graphics representation of at least a portion of a remote desktop.
9 . The system of claim 1 , wherein the at least one computing device is executing at least one remote desktop session with the at least one client device and wherein the graphics data comprises a graphic representation of at least a portion of a user session.
10 . The system of claim 1 , wherein the processed data comprises display commands and calls, and wherein generating graphics data comprises rendering, capturing, and compressing the processed data.
11 . The system of claim 1 , wherein one or more graphics computing device of the at least one graphics computing device are configured to send graphics data corresponding to multiple client devices to a single client device.
12 . A method for processing graphics data, comprising:
establishing a connection between a plurality of computing devices and a plurality of client devices and a connection between the plurality of computing devices and a plurality of graphics devices; receiving data by the plurality of computing devices from the plurality of client devices; processing the received data; sending the processed data to the plurality of graphics devices; and instructing the plurality of graphics devices to generate graphics data using the processed data and to send the generated graphics data to the plurality of client devices.
13 . The method of claim 12 , wherein the plurality of computing devices are instantiated within a plurality of virtual machines, and the plurality of graphics devices are instantiated within a plurality of partitions on the same plurality of physical computing devices as the plurality of computing devices.
14 . The method of claim 13 , wherein the plurality of computing devices are executing a plurality of remote desktop sessions with the plurality of client devices and the graphics data comprises a graphics representation of at least a portion of a user remote desktop session.
15 . The method of claim 12 , wherein establishing the connection between the plurality of computing devices and the plurality of client devices and the connection between the plurality of computing devices and the plurality of graphics devices comprises acquiring a plurality of client device addresses and providing the acquired plurality of client device addresses to the plurality of graphics devices, acquiring a plurality of graphics device addresses and providing the acquired plurality of graphics device addresses to the plurality of client devices, and instructing the plurality of client devices and the plurality of graphics devices to establish a connection using the provided addresses.
16 . The method of claim 12 , wherein one or more graphics devices of the plurality of graphics devices are configured to send graphics data corresponding to multiple client devices to a single client device.
17 . A computer readable storage medium having stored thereon instructions that when executed by one or more processors, cause the one or more processors to perform the steps of:
establishing a connection between a plurality of computing devices and a plurality of remote client computers and a connection between the plurality of computing devices and a plurality of graphics computing devices; receiving data by the plurality of computing devices from the plurality of client computers; processing the received data; sending the processed data to the plurality of graphics computing devices; and instructing the plurality of graphics computing devices to generate graphics data using the processed data and to send the generated graphics data to the plurality of remote client computers.
18 . The computer readable storage medium of claim 17 , wherein the plurality of computing devices are instantiated within a plurality of virtual machines, and the plurality of graphics computing devices are instantiated within a plurality of partitions on the same plurality of physical computing devices as the plurality of computing devices.
19 . The method of claim 18 , wherein the plurality of computing devices are executing a plurality of remote desktop sessions with the plurality of remote client computers and the graphics data comprises a graphics representation of at least a portion of a user remote desktop session.
20 . The method of claim 17 , wherein establishing the connection between a plurality of computing devices and the plurality of remote client computers and the connection between the plurality of computing devices and the plurality of graphics computing devices comprises acquiring a plurality of remote client computer addresses and providing the acquired plurality of remote client computer addresses to the plurality of graphics computing devices, acquiring a plurality of graphics computing device addresses and providing the acquired plurality of graphics computing device addresses to the plurality of remote client computers, and instructing the plurality of remote client computers and the plurality of graphics computing devices to establish a connection using the provided addresses.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.