IP Library Granted Patent US 10,503,572
Granted Patent B2
US 10,503,572 · App. 15/490,193 · Granted Dec 10, 2019

Hybrid remote controller

Inventors: Yang Peng (Shanghai, CN); Xia Yu (Shanghai, CN)
Assignee: SAP SE
G06F9/547G06F8/60G06F9/4488G06F9/546
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 10,503,572
App. No.
15/490,193
Granted
Dec 10, 2019
Kind
B2
Abstract

In one aspect there is provided a method. The method may include: executing, at a client, an application that includes a first function and a second function; determining, based at least on an indicator, that the first function is to be executed locally at the client and the second function is to be executed remotely at a server; generating a package that includes a first class definition of a first class, the first class definition being required for executing the second function based at least on the second function including a reference to the first class; and sending, to the server, the package to at least enable the server to execute the second function. Systems and articles of manufacture, including computer program products, are also provided.

Claims (48)

1. A computer-implemented method, comprising:

determining, based at least on an indicator, that a first function comprising an application is to be executed locally at a client and a second function comprising the application is to be executed remotely at a server;

in response to determining that the first function is to be executed locally at the client and the second function is to be executed remotely at the server, modifying a program code associated with the second function to at least enable an interception of the second function when the second function is executed at the client; and

executing, at the client, the application including the first function and the second function, the application being executed by at least

executing, at the client, the first function,

responding to a call from the second function by at least intercepting an execution of the second function, the execution of the second function being intercepted in order to perform a dependency analysis of one or more classes required for executing the second function,

generating, based at least on the dependency analysis, a package that includes a first class definition of a first class, the first class definition being required for executing the second function based at least on the second function having a reference to the first class, and

executing the second function by at least sending, to the server, the package to at least enable the server to execute the second function.

2. The computer-implemented method of claim 1 , wherein the second function is defined by a second class definition as being associated with a second class.

3. The computer-implemented method of claim 1 , further comprising:

determining that the first class definition includes another reference to a third class, the third class being associated with a third class definition; and

generating the package to include the third class definition, the third class definition being required for executing the second function based at least on the first class definition including the other reference to the third class.

4. The computer-implemented method of claim 1 , further comprising executing the first function at the client.

5. The computer-implemented method of claim 1 , further comprising tagging program code associated with the second function with the indicator, the indicator providing an indication that the second function is to be executed remotely at the server.

6. The computer-implemented method of claim 1 , wherein the package is further generated to include an input parameter of the second function and/or program code for the second function.

7. The computer-implemented method of claim 1 , further comprising determining whether the first class definition is available at the server, the first class definition being included in the package based at least on a determination that the first class definition is unavailable at the server.

8. The computer-implemented method of claim 7 , wherein the determining of whether the first class definition is available at the server is based on a whitelist of one or more class definitions that are available at the server.

9. The computer-implemented method of claim 7 , wherein the determining of whether the first class definition is available at the server is based on a blacklist of one or more class definitions not available at the server.

10. The computer-implemented method of claim 1 , wherein the second function is executed in a sandbox at the server, and wherein the second function is executed in the sandbox to at least isolate the execution of the second function from a third function that is being simultaneously executed at the server.

11. The computer-implemented method of claim 1 , wherein the program code associated with the second function is modified to include additional program code to call for an interception of the second function during the execution of the second function, and wherein the call includes a name of the second function, one or more input parameters of the second function, and/or an object to which the second function belongs.

12. A system, comprising:

at least one processor; and

at least one memory storing instructions which, when executed by the at least one processor, result in operations comprising:

determining, based at least on an indicator, that a first function comprising an application is to be executed locally at a client and a second function comprising the application is to be executed remotely at a server;

in response to determining that the first function is to be executed locally at the client and the second function is to be executed remotely at the server, modifying a program code associated with the second function to at least enable an interception of the second function when the second function is executed at the client; and

executing, at the client, the application including the first function and the second function, the application being executed by at least

executing, at the client, the first function,

responding to a call from the second function by at least intercepting an execution of the second function, the execution of the second function being intercepted in order to perform a dependency analysis of one or more classes required for executing the second function,

generating, based at least on the dependency analysis, a package that includes a first class definition of a first class, the first class definition being required for executing the second function based at least on the second function having a reference to the first class, and

executing the second function by at least sending, to the server, the package to at least enable the server to execute the second function.

13. The system of claim 12 , wherein the second function is defined by a second class definition as being associated with a second class.

14. The system of claim 12 , further comprising:

determining that the first class definition includes another reference to a third class, the third class being associated with a third class definition; and

generating the package to include the third class definition, the third class definition being required for executing the second function based at least on the first class definition including the other reference to the third class.

15. The system of claim 12 , further comprising executing the first function at the client.

16. The system of claim 12 , further comprising tagging program code associated with the second function with the indicator, the indicator providing an indication that the second function is to be executed remotely at the server.

17. The system of claim 12 , wherein the package is further generated to include an input parameter of the second function and/or program code for the second function.

18. The system of claim 12 , further comprising determining whether the first class definition is available at the server, the first class definition being included in the package based at least on a determination that the first class definition is unavailable at the server.

19. The system of claim 18 , wherein the determining of whether the first class definition is available at the server is based on a whitelist of one or more class definitions that are available at the server and/or a blacklist of one or more class definitions not available at the server.

20. The system of claim 12 , wherein the second function is executed in a sandbox at the server, and wherein the second function is executed in the sandbox to at least isolate the execution of the second function from a third function that is being simultaneously executed at the server.

21. A non-transitory computer-readable storage medium including program code, which when executed by at least one data processor, cause operations comprising:

determining, based at least on an indicator, that a first function comprising an application is to be executed locally at a client and a second function comprising the application is to be executed remotely at a server;

in response to determining that the first function is to be executed locally at the client and the second function is to be executed remotely at the server, modifying a program code associated with the second function to at least enable an interception of the second function when the second function is executed at the client; and

executing, at the client, the application including the first function and the second function, the application being executed by at least

executing, at the client, the first function,

responding to a call from the second function by at least intercepting an execution of the second function, the execution of the second function being intercepted in order to perform a dependency analysis of one or more classes required for executing the second function,

generating, based at least on the dependency analysis, a package that includes a first class definition of a first class, the first class definition being required for executing the second function based at least on the second function having a reference to the first class, and

executing the second function by at least sending, to the server, the package to at least enable the server to execute the second function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2017
From: PENG, YANG; YU, XIA
To: SAP SE
Reel/Frame 042132/0243 →
Continuity (1)
Related Publication 20180300189A1 · Oct 18, 2018
Cited By (5)
US 12,189,622 US 12,265,847 US 12,346,749 US 12,353,403 US 12,530,238