Remote console access in a scalable cloud computing environment
First Claim
1. A method of managing display of virtual machine display windows on a console client machine, comprising:
- instantiating a console proxy server having first connections to a plurality of user virtual machines and having a second connection to the console client machine, the first connections using a remote frame buffer protocol by which the virtual machines specify updates to respective virtual machine display windows, the console client machine executing a browser having a browser window in which the virtual machine display windows of the user virtual machines are displayed;
by the console proxy server, maintaining a mapping between browser window tile areas of the browser window and respective tile areas of one of the virtual machine display windows, the mapping reflecting a dynamically variable size and location of the virtual machine display window in the browser window; and
by the console proxy server in response to an update to the virtual machine display window received from the respective virtual machine via the respective first connection;
determining respective areas of the virtual machine display window that are changed by the update, and using the mapping to identify respective changed tile areas of the virtual machine display window and corresponding browser window tile areas;
creating an image stripe including image data for only the changed tile areas of the virtual machine display window; and
transmitting the image stripe to the console client machine via the second connection to update the browser window, the image stripe being accompanied by location information identifying respective browser tile areas to be updated with corresponding image data of the image stripe.
9 Assignments
0 Petitions
Accused Products
Abstract
A scalable cloud infrastructure serves two or more customers, where each customer is associated with at least one unit of virtual resources. The virtual resources are established by apportioning physical resources in the cloud infrastructure that are partitioned into pods within one or more zones in a scalable manner. Additionally, the cloud infrastructure establishes one or more management server clusters each comprising one or more management servers. The two or more customers create a number of virtual machines within pods in a zone. Due to the scalability of the cloud infrastructure, a console proxy virtual machine and server is introduced to support console access to virtual machines. The console proxy server serves as an intermediary between a browser and a viewed virtual machine configured to maintain viewing session quality while minimizing network impact.
-
Citations
20 Claims
-
1. A method of managing display of virtual machine display windows on a console client machine, comprising:
-
instantiating a console proxy server having first connections to a plurality of user virtual machines and having a second connection to the console client machine, the first connections using a remote frame buffer protocol by which the virtual machines specify updates to respective virtual machine display windows, the console client machine executing a browser having a browser window in which the virtual machine display windows of the user virtual machines are displayed; by the console proxy server, maintaining a mapping between browser window tile areas of the browser window and respective tile areas of one of the virtual machine display windows, the mapping reflecting a dynamically variable size and location of the virtual machine display window in the browser window; and by the console proxy server in response to an update to the virtual machine display window received from the respective virtual machine via the respective first connection; determining respective areas of the virtual machine display window that are changed by the update, and using the mapping to identify respective changed tile areas of the virtual machine display window and corresponding browser window tile areas; creating an image stripe including image data for only the changed tile areas of the virtual machine display window; and transmitting the image stripe to the console client machine via the second connection to update the browser window, the image stripe being accompanied by location information identifying respective browser tile areas to be updated with corresponding image data of the image stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium having computer program instructions recorded thereon, the instructions being executable by a computerized device to cause the computerized device to perform a method of managing display of virtual machine display windows on a console client machine, the method including:
-
instantiating a console proxy server having first connections to a plurality of user virtual machines and having a second connection to the console client machine, the first connections using a remote frame buffer protocol by which the virtual machines specify updates to respective virtual machine display windows, the console client machine executing a browser having a browser window in which the virtual machine display windows of the user virtual machines are displayed; by the console proxy server, maintaining a mapping between browser window tile areas of the browser window and respective tile areas of one of the virtual machine display windows, the mapping reflecting a dynamically variable size and location of the virtual machine display window in the browser window; and by the console proxy server in response to an update to the virtual machine display window received from the respective virtual machine via the respective first connection; determining respective areas of the virtual machine display window that are changed by the update, and using the mapping to identify respective changed tile areas of the virtual machine display window and corresponding browser window tile areas; creating an image stripe including image data for only the changed tile areas of the virtual machine display window; and transmitting the image stripe to the console client machine via the second connection to update the browser window, the image stripe being accompanied by location information identifying respective browser tile areas to be updated with corresponding image data of the image stripe. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification