Virtualization system and method for hosting applications
First Claim
1. A computer-implemented system for providing a virtualized application or video game hosting environment comprising:
- a network interface for receiving control signals over a network from a client as a user of the client is using an application or playing a video game, the control signals being generated responsive to the user manipulating an input device coupled to the client;
a plurality of application/game servers each having a memory for storing application or video game program code and data, wherein the application or video game program code and data are stored within an application container data structure which is portable between the plurality of application/game servers, the container data structure comprising;
application program files,a registry hive data structure that stores configuration settings for an operating system on which the application or video game program code is natively executed, andfile metadata data structure that stores the path for file operations on the application program files to a virtual file location associated with the container;
a processor for executing the application or video game program code and processing the data in response to the control signals received from the client, to generate a sequence of video images resulting from the execution of the application or video game program code and processing of the data;
a low latency video compression unit to compress the sequence of video images to generate a sequence of compressed video images;
wherein the sequence of compressed video images are transmitted to the client over the network, the client decompressing the compressed video images to render the sequence of video images on a display of the client;
a virtualization service executed on each of the application/game servers, the virtualization service comprising;
a file redirection module for redirecting a file system operations generated by the application or video game program code to a base file system if the file system operation is directed to a non-virtual file system location or one or more virtualized file locations if the file system operation is directed to a virtual file system location, wherein the file redirection module determines the file system location by referencing the file metadata data structure of the container; and
a registry redirection module for intercepting registry operations generated by the application program code and executing the registry operations on behalf of the application program code at one or more virtualized registry locations;
wherein the registry operations are directed to the registry hive data structure of the container, wherein the registry redirection module virtualizes a registry by intercepting the registry operations and redirecting the registry operations to the virtualized registry location which stores the configuration settings.
6 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented system for providing a virtualized application hosting environment comprising: a plurality of application/game servers each having a memory for storing application program code and data and a processor for executing the application program code and processing the data on behalf of a client; a virtualization service executed on each of the application/game servers, the virtualization service comprising a file redirection module for redirecting file system operations generated by the application program code to one or more virtualized file locations; and a registry redirection module for intercepting registry operations generated by the application program code and executing the registry operations on behalf of the application program code at one or more virtualized registry locations.
-
Citations
22 Claims
-
1. A computer-implemented system for providing a virtualized application or video game hosting environment comprising:
-
a network interface for receiving control signals over a network from a client as a user of the client is using an application or playing a video game, the control signals being generated responsive to the user manipulating an input device coupled to the client; a plurality of application/game servers each having a memory for storing application or video game program code and data, wherein the application or video game program code and data are stored within an application container data structure which is portable between the plurality of application/game servers, the container data structure comprising; application program files, a registry hive data structure that stores configuration settings for an operating system on which the application or video game program code is natively executed, and file metadata data structure that stores the path for file operations on the application program files to a virtual file location associated with the container; a processor for executing the application or video game program code and processing the data in response to the control signals received from the client, to generate a sequence of video images resulting from the execution of the application or video game program code and processing of the data; a low latency video compression unit to compress the sequence of video images to generate a sequence of compressed video images; wherein the sequence of compressed video images are transmitted to the client over the network, the client decompressing the compressed video images to render the sequence of video images on a display of the client; a virtualization service executed on each of the application/game servers, the virtualization service comprising; a file redirection module for redirecting a file system operations generated by the application or video game program code to a base file system if the file system operation is directed to a non-virtual file system location or one or more virtualized file locations if the file system operation is directed to a virtual file system location, wherein the file redirection module determines the file system location by referencing the file metadata data structure of the container; and a registry redirection module for intercepting registry operations generated by the application program code and executing the registry operations on behalf of the application program code at one or more virtualized registry locations; wherein the registry operations are directed to the registry hive data structure of the container, wherein the registry redirection module virtualizes a registry by intercepting the registry operations and redirecting the registry operations to the virtualized registry location which stores the configuration settings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for providing a virtualized application hosting environment comprising:
-
receiving control signals over a network from a client as a user of the client is using an application or playing a video game, the control signals being generated responsive to the user manipulating an input device coupled to the client; executing application or video game program code on an application/game server in response to the control signals received from the client to generate a sequence of video images resulting from the execution of the application or video game program code and processing of the data; wherein the application or video game program code and data are stored within an application container data structure which is portable between the plurality of application/game servers, the container data structure comprising; application program files, a registry hive data structure that stores configuration settings for an operating system on which the application or video game program code is natively executed, and file metadata data structure that stores the path for file operations on the application program files to a virtual file location associated with the container; compressing the sequence of video images to generate a sequence of compressed video images; transmitting the sequence of compressed video images to the client over the network, the client decompressing the compressed video images to render the sequence of video images on a display of the client; redirecting file system operations generated by the application or video game program code to one or more virtualized file locations, wherein the file location is determined by referencing the file metadata data structure of the container; and intercepting registry operations generated by the application or video game program code and executing the registry operations on behalf of the application or video game program code at one or more virtualized registry locations; wherein the registry operations are directed to the registry hive data structure of the container, wherein the registry redirection module virtualizes a registry by intercepting the registry operations and redirecting the registry operations to the virtualized registry location which stores the configuration settings. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification