IP Library Granted Patent US 11,082,490
Granted Patent B2
US 11,082,490 · App. 15/060,233 · Granted Aug 3, 2021

Method and apparatus for execution of applications in a cloud system

Inventors: Jen-Hsun Huang (Los Altos, CA); Xun Wang (San Jose, CA); Lorenzo Ibarria (Dublin, CA)
Assignee: NVIDIA Corporation
H04L67/1097A63F13/355G06F9/45558H04L67/10H04L67/125H04L67/2823H04L67/42G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,082,490
App. No.
15/060,233
Granted
Aug 3, 2021
Kind
B2
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.

Claims (47)

1. 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.

2. The method of claim 1 , further comprising:

receiving information concerning modifications to be performed on the file from the client device;

performing the modifications on the file by the cloud server to produce a modified file; and

transmitting the modified file to the file server.

3. The method of claim 1 , wherein the accessing further comprises:

accessing the application from an application database associated with the cloud server; and

instantiating the application on a virtual machine executing on the cloud server, wherein the executing is performed on the virtual machine.

4. The method of claim 1 , wherein the receiving of the authorization token is from the client device in response to a user login to the file server from the client device, the user login comprising the logging into the file server.

5. The method of claim 1 , wherein a user of the file server is redirected from the user interface operated by the file server to a user interface operated by the cloud server in response to the file selection.

6. The method of claim 1 , wherein the accessing, the executing, and the streaming are each in response to the file selection.

7. The method of claim 1 , wherein the user interface is a first user interface on a first website executing a cloud storage application of the file server, the streaming is to a second user interface on a second website of the cloud server, and the API is a web API configured to hand-off a user of the cloud storage application to the cloud server and redirect the user to the second website in response to the file selection.

8. The method of claim 1 , wherein the API of the file server is configured to hand-off a user of the file server to the cloud server in response to the file selection.

9. The method of claim 1 , wherein the user interface is a first user interface of a cloud storage application operated by the file server, a user of the cloud storage application is redirected to a second user interface operated by the cloud server in response to the file selection, and the streaming is to the second user interface.

10. 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.

11. The cloud server of claim 10 , wherein the execution of the application program modifies the file to create a modified file and wherein the agent module is operable to transmit the modified file to the external file server.

12. The cloud server of claim 10 , wherein the identifier comprises a file identifier and the agent module is to receive the authorization token from the client device in response to a user login to the file server from the client device.

13. 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.

14. The cloud based computer system of claim 13 , wherein the executing of the application program modifies the file to create a modified file and wherein the first module is operable to transmit the modified file to the file server.

15. The cloud based computer system of claim 14 , further comprising a synchronization module, wherein the first module is operable to synchronize files with the file server using the synchronization module.

16. The cloud based computer system of claim 14 , wherein a login process to the file server accesses the list of files through the user interface of an online cloud storage account at the file server.

17. The cloud based computer system of claim 13 wherein the processor comprises a virtual machine.

18. The cloud based computer system of claim 13 wherein the identifier comprises a file identifier and the first module is to receive the authorization token from the client device in response to a user login to the file server from the client device, the user login being by the logging into the file server.

19. The cloud based computer system of claim 13 further comprising an application database and wherein the application program is obtained from the application database.

20. The cloud based computer system of claim 13 wherein the application execution environment further comprises a second module for automatically determining a display capability of the client device and for adjusting the streaming display output based thereon.

21. The cloud based computer system of claim 13 wherein the client device is a mobile computer system.

22. The cloud based computer system of claim 13 wherein the user interface is a graphical user interface of a cloud storage application of the file server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2016
From: HUANG, JEN-HSUN; WANG, XUN; IBARRIA, LORENZO
To: NVIDIA CORPORATION
Reel/Frame 037887/0592 →
Continuity (10)
Continuation In Part 14137789 · Dec 20, 2013
Continuation In Part 14137722 · Dec 20, 2013
Continuation In Part 14092872 · Nov 27, 2013
Provisional Application 61874056 · Sep 5, 2013
Provisional Application 61874078 · Sep 5, 2013
Provisional Application 61749231 · Jan 4, 2013
Provisional Application 61749224 · Jan 4, 2013
Provisional Application 61730939 · Nov 28, 2012
Provisional Application 61730940 · Nov 28, 2012
Related Publication 20160191627A1 · Jun 30, 2016
Cited By (1)
US 12,506,909