# US 10,769,714 B1 · Metadata driven orchestration engine

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

- Number: US 10,769,714 B1
- Document ID: US10769714B1
- Status: Granted
- Kind: B1
- Application number: 16/690,596
- Filed: 2019-11-21
- Granted: 2020-09-08
- Earliest claimed: 2018-08-30
- Assignees: Morgan Stanley Services Group Inc.
- Applicants: Morgan Stanley Services Group Inc.
- Inventors: Kumar Vadaparty; Vishal Agrawal; Arun Maroli; Martin Leduc
- Web page: https://patentgrep.com/patent/US10769714B1

## CPC

- G06Q 30/0635: {replenishment orders; recurring orders}
- G06F 8/41: Compilation
- G06N 5/025: Extracting rules from data
- G06Q 20/12: specially adapted for electronic shopping systems
- G06Q 20/123: {Shopping for digital content}
- G06Q 20/202: {Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR}
- G06Q 20/356: {Aspects of software for card payments}
- G07F 19/211: {Software architecture within ATMs or in relation to the ATM network}
- G07G 1/0009: {Details of the software in the checkout register, electronic cash register [ECR] or point of sale terminal [POS]}
- 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)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G07F: COIN-FREED OR LIKE APPARATUS (coin sorting G07D3/00; coin testing G07D5/00; {handling coins or paper currencies apart from payment activated apparatus G07D; payment architectures, schemes or protocols G06Q20/00})
- G07G: REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS

## Abstract

An efficient reusable, extensible light weight framework statelessly orchestrates system activities in any application which involves a series of sequential or parallel set of activities involving computational logic, data retrieval and persistence services. Actual orchestration steps and activities and computational logic are specified into configuration files, separate from the orchestration engine itself, thereby eliminating the need to code for such logic and activities. The framework can eliminate the need to code business logic and orchestration of data retrieval services by externalizing them into configuration files, resulting in lower costs to implement, test and maintain such system during its lifespan.

## Claims

### Claim 1

An order management system comprising:
a middle tier that comprises one or more servers, wherein the one or more servers of the middle tier execute an orchestration engine that orchestrates calls to one or more back-end systems for implementing trade orders for financial products; and
a computer-based artifact translation hardware system that is configured, through programming, to:
receive a configuration file that specifies a sequence of activities to be performed by the orchestration engine, wherein the configuration file comprises an activity table that specifies the sequence of activities to be performed by the orchestration engine; and
generate, at compile time, metadata code artifacts from the configuration file, wherein the metadata code artifacts capture the sequence of activities to be performed by the orchestration engine, and wherein the orchestration engine manages the calls to the back-end systems to obtain data and execute a business logic to implement the trade orders, utilizing the metadata code artifacts at runtime, wherein the activity table lists a plurality of activities to be performed by the orchestration engine; and each of the plurality of activities is assigned a step sequence identifier that identifies when the activity is to be performed in the sequence, such that multiple activities listed in the activity table are permitted to have a common step sequence identifier; and the metadata code artifacts generated by the artifact translation system specifies the sequence of activities to be performed by the orchestration engine, such that the activities with the common step sequence identifier are to be performed synchronously by the orchestration engine.

### Claim 2 (depends on 1)

The order management system of claim 1, wherein the metadata code artifacts are written in JSON.

### Claim 3 (depends on 1)

The order management system of claim 1, wherein the metadata code artifacts are written in XML.

### Claim 4 (depends on 1)

The order management system of claim 1, wherein the configuration file comprises a spreadsheet.

### Claim 5 (depends on 1)

The order management system of claim 1, wherein: at least a second activity listed in the activity table specifies a dependency to a first activity listed in the activity table, wherein a first rule has a lower step sequence identifier; and the metadata code artifacts generated by the artifact translation system specifies that the orchestration engine is to perform the second activity only if the first activity was completed successfully.

### Claim 6 (depends on 5)

The order management system of claim 5, wherein:
at least a third activity listed in the activity table specifies a precondition; and
the metadata code artifacts generated by the artifact translation system specifies that the orchestration engine is to perform the third activity only if the precondition for the first activity evaluates to true.

### Claim 7 (depends on 1)

The order management system of claim 1, wherein: at least a first activity listed in the activity table specifies a precondition; and the metadata code artifacts generated by the artifact translation system specifies that the orchestration engine is to perform the first activity only if the precondition for the first activity evaluates to true.

### Claim 8 (depends on 1)

The order management system of claim 1, wherein the calls to the back-end systems comprises calls to a rules engine and calls to a data system.

### Claim 9

A method of configuring a computer-implemented order management system, wherein the order management system comprises a middle tier that comprises one or more servers, wherein the one or more servers of the middle tier execute an orchestration engine, the method comprising:
receiving, by a computer-based artifact translation system, a configuration file that specifies a sequence of activities to be performed by the orchestration engine, wherein the configuration file comprises an activity table that specifies the sequence of activities to be performed by the orchestration engine;
generating, at compile time, by the computer-based artifact translation system, metadata code artifacts from the configuration file, wherein the metadata code artifacts capture the sequence of activities to be performed by the orchestration engine, and wherein the orchestration engine uses the metadata code artifacts at runtime to manage the calls to the back-end systems; and
orchestrating calls to one or more back-end systems of the order management system, utilizing, at run time, by the orchestration engine of the middle tier, the metadata code artifacts for implementing trade orders for financial products to obtain data and execute a business logic to implement the trade orders, wherein the activity table lists a plurality of activities to be performed by the orchestration engine; and each of the plurality of activities is assigned a step sequence identifier that identifies when the activity is to be performed in the sequence, such that multiple activities listed in the activity table are permitted to have a common step sequence identifier; and the metadata code artifacts generated by the artifact translation system specifies the sequence of activities to be performed by the orchestration engine, such that the activities with the common step sequence identifier are to be performed synchronously by the orchestration engine.

### Claim 10 (depends on 9)

The method of claim 9, wherein the metadata code artifacts are written in JSON.

### Claim 11 (depends on 9)

The method of claim 9, wherein the metadata code artifacts are written in XML.

### Claim 12 (depends on 9)

The order management system of claim 9, wherein the configuration file comprises a spreadsheet.

### Claim 13 (depends on 9)

The method of claim 9, wherein: at least a second activity listed in the activity table specifies a dependency to a first activity listed in the activity table, wherein a first rule has a lower step sequence identifier; and the metadata code artifacts generated by the artifact translation system specifies that the orchestration engine is to perform the second activity only if the first activity was completed successfully.

### Claim 14 (depends on 13)

The method of claim 13, wherein:
at least a third activity listed in the activity table specifies a precondition; and
the metadata code artifacts generated by the artifact translation system specifies that the orchestration engine is to perform the third activity only if the precondition for the first activity evaluates to true.

### Claim 15 (depends on 9)

The method of claim 9, wherein: at least a first activity listed in the activity table specifies a precondition; and the metadata code artifacts generated by the artifact translation system specifies that the orchestration engine is to perform the first activity only if the precondition for the first activity evaluates to true.

### Claim 16 (depends on 9)

The method of claim 9, wherein the calls to the back-end systems comprises calls to a rules engine and calls to a data system.
