# US 10,311,392 B2 · Just in time compilation (JIT) for business process execution

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

- Number: US 10,311,392 B2
- Document ID: US10311392B2
- Status: Granted
- Kind: B2
- Application number: 15/344,138
- Filed: 2016-11-04
- Published: 2017-03-16
- Granted: 2019-06-04
- Earliest claimed: 2012-08-24
- Assignees: TIBCO Software Inc.
- Applicants: TIBCO Software Inc.
- Inventors: Suresh Subramani; Pranab K. Dhar; Alan Amaya
- Web page: https://patentgrep.com/patent/US10311392B2

## CPC

- G06Q 10/06316: {Sequencing of tasks or work}
- G06F 8/41: Compilation
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/45516: {Runtime code conversion or optimisation}
- G06Q 10/067: Enterprise or organisation modelling
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques to provide and deploy a business process are disclosed. A business process source filed stored in a memory is received. The business process source file, as stored in memory, is provided as an input to an in-memory compiler. A business process class file stored in the memory is received as output from the in-memory compiler. The business process class file, as stored in memory, is provided to a business process engine class loader.

## Claims

### Claim 1

A method of providing a business process, comprising:
receiving, by a processor, a business process source file stored in a memory, wherein the business process is associated with the business process source file and the business process includes one or more related, structured activities or tasks;
determining, by the processor, based at least in part on the business process source file a virtual file system that does not rely on a native file system of a computer system, wherein the virtual file system includes a hierarchical namespace;
providing, by the processor, the business process source file as an input to a compiler during runtime;
receiving, by the processor, from the compiler as output a business process class file stored in the memory, wherein the business process class file is stored in the memory based at least in part on the hierarchical namespace of the virtual file system, wherein the business process class file outputted by the compiler includes a new or updated version of the business process; and
providing, by the processor, the business process class file to a business process engine.

### Claim 2 (depends on 1)

The method of claim 1, wherein receiving the business process source file includes retrieving from an archive storage node an archive file that includes the business process source file.

### Claim 3 (depends on 2)

The method of claim 2, wherein receiving the business process source file further includes extracting the business process source file from the retrieved archive file and storing the business process source file in a memory location in the memory.

### Claim 4 (depends on 3)

The method of claim 3, wherein the memory location in the memory location is associated with a package with which the archive file is associated.

### Claim 5 (depends on 4)

The method of claim 4, further comprising identifying the memory location using a package namespace associated with the package.

### Claim 6 (depends on 5)

The method of claim 5, wherein the memory location is identified at least in part by using a hierarchical name within the package namespace from which hierarchical name a place of the source file within the name hierarchy within the package namespace can be derived.

### Claim 7 (depends on 6)

The method of claim 6, wherein the hierarchical name within the package namespace represents a virtual hierarchy of the virtual file system within which the source file comprises a virtual leaf node and in which one or more nodes higher than the source file within the hierarchy represent a virtual folder node in which the source file is virtually located.

### Claim 8 (depends on 7)

The method of claim 7, wherein the source file comprises Java or other source code encapsulated as a file object.

### Claim 9 (depends on 8)

The method of claim 8, wherein the file object comprises an object of a custom type defined to encapsulate source code within the virtual file system.

### Claim 10 (depends on 9)

The method of claim 9, wherein the business process class file is received as output at least in part by instructing the compiler to store the class file in a memory location associated with the package namespace.

### Claim 11 (depends on 10)

The method of claim 10, wherein the class file is stored in a same level within the virtual hierarchy of the package namespace as the source file.

### Claim 12 (depends on 10)

The method of claim 10, wherein the class file comprises Java byte code encapsulated as a file object.

### Claim 13 (depends on 12)

The method of claim 12, wherein the source file object comprises an object of a first custom type and the class file object comprises an object of a second custom type defined to encapsulate compiled code within the virtual file system.

### Claim 14 (depends on 13)

The method of claim 13, wherein providing the business process class file to the business process engine comprises providing to the business process engine an indication of a location of the class file within the package namespace.

### Claim 15

A computer system, comprising:
a memory; and
a processor coupled to the memory and configured to:
receive a business process source file stored in the memory, wherein a business process is associated with the business process source file and the business process includes one or more related, structured activities or tasks;
determine based at least in part on the business process source file a virtual file
system that does not rely on a native file system of a computer system, wherein the virtual file system includes a hierarchical namespace;
provide the business process source file as an input to a compiler during runtime;
receive from the compiler as output a business process class file stored in the memory, wherein the business process class file is stored in the memory based at least in part on the hierarchical namespace of the virtual file system, wherein the business process class file outputted by the compiler includes a new or updated version of the business process; and
provide the business process class file to a business process engine.

### Claim 16 (depends on 15)

The system of claim 15, wherein the processor is further configured to retrieve from an archive storage node an archive file that includes the business process source file.

### Claim 17 (depends on 16)

The system of claim 16, wherein the processor is further configured to extract the business process source file from the archive file and store the business process source file in the memory in a memory location identified at least in part using a package namespace associated with a package with which the business process source file is associated.

### Claim 18 (depends on 17)

The system of claim 17, wherein the memory location is identified at least in part using a hierarchical name within the package namespace and wherein the hierarchical name indicates a virtual hierarchical location of the business process source file within a virtual file system.

### Claim 19 (depends on 18)

The system of claim 18, wherein the business process class file is stored in the memory in a location associated with the package namespace at a same virtual hierarchical level within the virtual file system as the business process source file.

### Claim 20

A computer program product to provide a business process, the computer program product being embodied in a tangible, non-transitory computer readable storage medium and comprising computer instructions for:
receiving a business process source file stored in a memory, wherein the business process is associated with the business process source file and the business process includes one or more related, structured activities or tasks;
determine based at least in part on the business process source file a virtual file system that does not rely on a native file system of a computer system, wherein the virtual file system includes a hierarchical namespace;
providing the business process source file as an input to a compiler during runtime;
receiving from the compiler as output a business process class file stored in the memory, wherein the business process class file is stored in the memory based at least in part on the hierarchical namespace of the virtual file system, wherein the business process class file outputted by the compiler includes a new or updated version of the business process; and
providing the business process class file to a business process engine.
