WEB BROWSER ARCHITECTURE FOR VIRTUAL MACHINE ACCESS
First Claim
1. A method for executing a software application from within a browser program running on a client computing device, comprising the steps of:
- (a) providing machine executable instructions for the browser program on the client computing device, to enable the browser program to render a virtual machine (VM) as a Web object that is accessible by a user on the client computing device with the browser program;
(b) embedding a VM Web object within a Web page that is accessed on a server computing device over a network, by the browser program running on the client computing device;
(c) associating the software application with the VM Web object;
(d) in response to a user selecting the VM Web object, executing a VM on a hosted server computing device, so that the software application runs on the VM; and
(e) enabling the user of the client computing device to interact with the VM displayed by the browser program.
6 Assignments
0 Petitions
Accused Products
Abstract
Applications and services are accessed over the Web without requiring any modification to the currently available code for such applications. Virtual machines (VMs) can each be associated with one or more pre-configured and pre-installed software applications and hosted by Web sites. A VM is accessed and run when a user of a client computing device selects a Web object for the VM in a browser program. A plug-in in the browser reads a configuration file for the selected VM from a server and requests a server-side controller daemon to launch the VM on the server. The plug-in then opens a remote desktop connection to the VM, which is displayed as an embedded window in the Web page on the browser program. The user can then interact with and use the VM and its provided application software and services from within the browser program.
-
Citations
42 Claims
-
1. A method for executing a software application from within a browser program running on a client computing device, comprising the steps of:
-
(a) providing machine executable instructions for the browser program on the client computing device, to enable the browser program to render a virtual machine (VM) as a Web object that is accessible by a user on the client computing device with the browser program; (b) embedding a VM Web object within a Web page that is accessed on a server computing device over a network, by the browser program running on the client computing device; (c) associating the software application with the VM Web object; (d) in response to a user selecting the VM Web object, executing a VM on a hosted server computing device, so that the software application runs on the VM; and (e) enabling the user of the client computing device to interact with the VM displayed by the browser program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
- 19. A memory medium storing machine readable instructions for a module that is adapted to be used with a browser program to enable the browser program to provide user access to a Web object, so that when the Web object is selected by a user running the browser program on a client computing device, the module enables instructions to be transmitted to a server computing device that cause a virtual machine (VM) to be executed on a hosted server computing device and enable the user on the client computing device to access the VM.
-
23. A system for transparently causing a software application to execute on a virtual machine (VM) running on a server computing device, from within a browser program, so that the user is able to interact with the software application within the browser program, comprising:
-
(a) a memory storing machine instructions, wherein a portion of the machine instructions define the browser program, and another portion of the machine instructions define a module that is adapted to work with the browser program; (b) a network interface for enabling communications over a network with the server computing device; (c) a display; and (d) a processor coupled to the memory, the network interface, and the display, the processor executing the machine instructions to carry out a plurality of functions, including; (i) rendering a Web page on the display when executing the browser program; (ii) employing the module for responding to a user selecting a Web object that is included in the Web page, the Web object being associated with and defining a VM and the software application, the module responding by transmitting a command over the network to the server computing device to execute a VM on the server computing device; and (iii) enabling the user to access the VM over the network from within the browser program, and thereby interact with the software application in the browser program. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A hosted server computing system for responding to a selection by a user of a Web object included in a Web page, to enable a software application to be executed in a virtual machine (VM) and accessed remotely by a client computing device that is displaying the Web page in a browser program, comprising:
-
(a) a memory storing machine instructions, wherein a portion of the machine instructions reference a VM that is associated with the Web object, and another portion of the machine instructions define at least one software application also associated with and referenced by the Web object, which is to be run within the VM; (b) a network interface for enabling communications over a network with the client computing device; and (c) a processor coupled to the memory, the network interface, and the display, the processor executing the machine instructions to carry out a plurality of functions, including; (i) responding to a command received from machine executable instructions from within a browser program on a client computing device initiated by a user selecting the Web object, by executing the VM that is running the software application with the processor of the hosted server computing system; (ii) transmitting a graphic image produced by the VM, over the network, to the client computing device, for display within the browser program on the client computing device; and (iii) responding to commands from the user provided within the browser program and received from the client computing device over the network, to enable the user to interact with the software application. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification