Method and apparatus for execution of applications in a cloud system
AssigneeNVIDIA Corporation
InventorsJen-Hsun Huang, Xun Wang, Lorenzo Ibarria
Life of this patent
Estimating the term…
Abstract
A computer implemented method of executing applications in a cloud server system is presented. The method comprises receiving a file identifier from a client device. The method also comprises receiving a file associated with the file identifier from a first server. Further, the method comprises accessing an application associated with the file from memory of the cloud server. Also, the method comprises executing by the cloud server the application using the file received from the first server. Finally, the method comprises streaming results from the executing the application as a video stream destined for the client device.
Claims22
A computer implemented method comprising:
- receiving, by a software module of a cloud server and from a client device, a file identifier of a file and an authorization token, the receiving in response to a file selection of the file from a list of files from a file server in a user interface provided by the file server, wherein the client device pulls the list of files transmitted to the client device by the file server to display the list of files in the user interface by logging into the file server through the client device transmitting communications to an application programming interface (API) of the file server;
- receiving, by the software module and in response to the file selection, a file associated with the file identifier from the file server, wherein the file is accessed by the software module through the API of the file server using the authorization token and the software module retrieves the file from the file server using the file identifier;
- accessing an application associated with the file from memory of the cloud server;
- executing, by the cloud server, the application using the file received from the file server and provided to the application by the software module;
- and
- streaming, by the cloud server, results from the executing the application as a video stream destined for the client device.
A cloud server comprising:
- a plurality of virtual machines, wherein each virtual machine executes on at least one processor within the cloud server, and wherein each virtual machine comprises:
- an agent module operable to receive an identifier of a file from a client device in accordance with a file selection made at the client device and to receive login information from the client device, the agent module in response to receiving the identifier further operable to request the file from an external file server based on the login information, for retrieving the file directly therefrom, and for automatically determining an application program associated with the file, wherein the file selection is made from a list of files accessed directly from the file server using the login information through an application programming interface supplied by the file server;
- an application storage module comprising the application program, wherein the application program is dynamically installed to the application storage module from an application database that is external to the plurality of virtual machines responsive to a determination that the application program is not available within the virtual machine of the plurality of virtual machines;
- an execution module for instantiating the application program and executing the application program associated with the file;
- and
- a streaming module operable to:
- stream display output resulting from execution of the application program, the display output stream for receipt by the client device;
- and
- receive user input from the client device, the user input associated with the execution of the application program.
A cloud based computer system, the cloud based computer system comprising:
- a processor for implementing an application execution environment, the application execution environment comprising:
- a first module for receiving an identifier of a file and an authorization token from a client device in association with a file selection of the file from a list of files from a file server in a user interface provided by the file server, wherein the client device pulls the list of files transmitted to the client device by the file server to display the list of files in the user interface by logging into the file server using login information transmitted by the client device to the file server,
- the first module further for requesting and retrieving the file from the file server using the authorization token in response to the file selection and the receiving of the identifier and the authorization token;
- an agent module for automatically determining an application program associated with the file;
- an execution module for instantiating the application program and executing the application program on the file;
- and
- a streaming module for:
- streaming display output resulting from execution of the application program, display output streamed for receipt by the client device;
- and
- receiving user input from the client device, user input associated with the execution of the application program.
Dependencies are inferred from the claim text.