# US 9,436,439 B2 · Method and apparatus for code virtualization and remote process call generation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,439 B2
- Document ID: US9436439B2
- Status: Granted
- Kind: B2
- Application number: 14/307,198
- Filed: 2014-06-17
- Published: 2014-12-18
- Granted: 2016-09-06
- Earliest claimed: 2013-06-18
- Assignees: Ciambella Ltd.
- Applicants: Ciambella Ltd.
- Inventors: Trisala Chandaria; Jean-Baptiste Leonelli
- Web page: https://patentgrep.com/patent/US9436439B2

## CPC

- G06F 9/45516: {Runtime code conversion or optimisation}
- G06F 8/30: Creation or generation of source code
- G06F 8/31: {Programming languages or programming paradigms}
- G06F 8/34: Graphical or visual programming
- G06F 8/61: Installation
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for code virtualization and remote process call code generation. The method including installing a software development kit (SDK) on a user device and selecting a remote process on a remote server, the remote process correlated to at least one remote service. The method also parsing parameters from pre-defined fields for the remote process and generating by at least one virtual code provider (VCP) on the remote server, a code snippet to call the remote process. The method inserting the code snippet into a local code base on the local user device such that the inserted code snippet calls the remote process with the installed SDK.

## Claims

### Claim 1

A computer-implemented method for remotely generating a process call, comprising:
storing, in a process pool on a virtual code provider (VCP), a process code for execution on at least one classical service component (CSC) remote to the VCP, the process pool comprising at least one process corresponding to the process code;
analyzing the process code for parameters of the at least one process;
correlating the parameters in the process code based on relationships to other parameters and at least one associated function of the process code;
assigning parameters to at least one additional process requiring the parameters, the process pool comprising the at least one additional process;
linking the at least one process and the at least one additional process from the process pool to a virtualized software development kit (SDK);
generating, at the VCP, a code snippet for execution at a user device remote to the VCP and the at least one CSC, the code snippet comprising
a call from the user device to the VCP for executing the at least one process or the at least one additional process at the CSC, or both, and
a field for inserting parameter values for the at least one process or the at least one additional process; and
sending the code snippet to the user device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the process code is in a programming language native to the at least one CSC.

### Claim 3 (depends on 1)

The method of claim 1, wherein the correlating based on relationships further comprises designating a source for the parameters in the process code.

### Claim 4 (depends on 1)

The method of claim 1, further comprising recalling the process code from the process pool and inserting the parameter values into the recalled process code in response to receiving the parameter values from the user device.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving the parameter values from the user device;
inserting the parameter values into the process code; and
sending the process code with the inserted parameter values to the CSC for execution, in response to receiving the call from the user device.

### Claim 6 (depends on 4)

The method of claim 4, wherein the VCP links the process code to a SDK and API native to the at least one CSC.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving a request for the code snippet in a programming language that is of a same programming language as a program on the user device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the code snippet is generated in a programming language that is of a same programming language as a program on the user device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the at least one CSC comprises at least one of POP3 e-mail, SMS, FTP, HTTP, a social network, an online store, an image rendering service, a code compiling service, a data analytics service, or a data storage service.

### Claim 10

A virtual code provider (VCP) system for remotely generating a process call, comprising:
a) at least one processor; and
b) at least one storage device storing processor executable instructions which, when executed by the at least one processor, performs a method including:
storing, in a process pool on the virtual code provider (VCP), a process code for execution on at least one classical service component (CSC) remote to the VCP, the process pool comprising at least one process corresponding to the process code; analyzing the process code for parameters of the at least one process;
correlating the parameters in the process code based on relationships to other parameters and at least one associated function of the process code;
assigning parameters to at least one additional process requiring the parameters, the process pool comprising the at least one additional process;
linking the at least one process and the at least one additional process from the process pool to a virtualized software development kit (SDK); generating a code snippet for execution at a user device remote to the VCP and the at least one CSC, the code snippet comprising:
a call from the user device to the VCP for executing the at least one process or the at least one additional process at the CSC, or both, and
a field for inserting parameter values for the at least one process or the at least one additional process; and
sending the code snippet to the user device.

### Claim 11 (depends on 10)

The system of claim 10, wherein the process code is in a programming language native to the at least one CSC.

### Claim 12 (depends on 10)

The system of claim 10, wherein the correlating based on relationships further comprises designating a source for the parameters in the process code.

### Claim 13 (depends on 10)

The system of claim 10, further comprising recalling the process code from the process pool and inserting the parameter values into the recalled process code in response to receiving the parameter values from the user device.

### Claim 14 (depends on 10)

The system of claim 10, further comprising:
receiving the parameter values from the user device;
inserting the parameter values into the process code; and
sending the process code with the inserted parameter values to the CSC for execution, in response to receiving the call from the user device.

### Claim 15 (depends on 13)

The system of claim 13, wherein the VCP links the process code to a SDK and API native to the at least one CSC.

### Claim 16 (depends on 10)

The system of claim 10, wherein the code snippet is generated in a programming language that is of a same programming language as a program on the user device.

### Claim 17 (depends on 10)

The system of claim 10, wherein the at least one CSC comprises at least one of POP3 e-mail, SMS, FTP, HTTP, a social network, an online store, an image rendering service, a code compiling service, a data analytics service, or a data storage service.

### Claim 18

A non-transitory computer readable media for storing computer readable instructions for remotely generating a process call, that when executed by at least one processor cause the at least one processor to perform a method comprising:
storing, in a process pool on a virtual code provider (VCP), a process code for execution on at least one classical service component (CSC) remote to the VCP, the process pool comprising at least one process corresponding to the process code;
analyzing the process code for parameters of the at least one process;
correlating the parameters in the process code based on relationships to other parameters and at least one associated function of the process code;
assigning parameters to at least one additional process requiring the parameters, the process pool comprising the at least one additional process;
linking the at least one process and the at least one additional process from the process pool to a virtualized software development kit (SDK);
generating, at the VCP, a code snippet for execution at a user device remote to the VCP and the at least one CSC, the code snippet comprising
a call from the user device to the VCP for executing the at least one process or the at least one additional process at the CSC, or both, and
a field for inserting parameter values for the at least one process or the at least one additional process; and
sending the code snippet to the user device.

### Claim 19 (depends on 18)

The method of claim 18, wherein the process code is in a programming language native to the CSC.

### Claim 20 (depends on 18)

The method of claim 18, wherein the code snippet is generated in a programming language that is of a same programming language as a program on the user device.
