# US 9,213,698 B1 · Unified data architecture for business process management and data modeling

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

- Number: US 9,213,698 B1
- Document ID: US9213698B1
- Status: Granted
- Kind: B1
- Application number: 13/932,597
- Filed: 2013-07-01
- Granted: 2015-12-15
- Earliest claimed: 2011-02-02
- Assignees: Comindware Ltd.
- Applicants: Comindware Ltd.
- Inventors: Maxim V. Tsypliaev; Peter E. Volynskiy
- Web page: https://patentgrep.com/patent/US9213698B1

## CPC

- G06F 40/157: using dictionaries or tables
- G06F 16/25: Integrating or interfacing systems involving database management systems
- G06F 16/252: {between a Database Management System and a front-end application}
- G06F 16/256: {in federated or virtual databases}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/367: {Ontology}
- G06Q 10/0637: Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
- G06Q 10/067: Enterprise or organisation modelling
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

## Abstract

A computer-implemented method of processing business data, the method including storing data in SPO (subject-predicate-object) format in multiple databases; using a storage layer to connect to the multiple databases and maintaining a record of which data is stored in which database, the data comprising rules and axioms, the axioms representing user data; the rules and the axioms stored in the SPO format; at least one ontology representing a union of at least some rules and axioms that represent a particular data interpretation; a storage layer that permits working with data stored in different databases simultaneously and permits a user to use data from several storages simultaneously; transforming the user data based on context provided by a business application that works with specific objects and ontologies, the context being defined by a particular ontology; performing operations on the data based on triggers specified by the rules; generating new data in the same context; processing requests from a business layer to transform the data; and presenting the data to the user based on the context.

## Claims

### Claim 1

A system for processing application data, the system comprising:
a plurality of databases located on one or more hardware storage devices, the plurality of databases storing rules and axioms both represented in SPO (subject-predicate-object) triplet format, the axioms representing facts,
wherein each application stores its axioms in its own database and has no direct access to other applications' databases;
a common storage layer that provides access for the applications to the plurality of databases and keeps track of what is stored in which database;
wherein the common storage layer permits working with the plurality of databases simultaneously and permits access to axioms and rules from the plurality of databases, and acts as a layer of abstraction between the applications and the databases to enable platform-independent access and processing of data in the databases by the applications based on context provided by the applications,
wherein triples stored in the plurality of databases, when requested by the applications, are represented as a global virtual database that is uniquely represented for each application wherein the global virtual database generates contextualized application related data that is accessible through the common storage layer, without duplicating the triples in a particular context of their corresponding application, by using a rule-based translation mechanism between a dictionary of the corresponding application and a global dictionary; and
wherein the global dictionary provides an exchange of information between the plurality of databases;
at least one ontology that represents a particular data interpretation, the ontology stored in an SPO format and based on the rules and axioms;
a logical layer that
(i) processes requests to transform one set of SPO triplets defined in terms of ontologies of a first application into a different set of SPO triplets defined in terms of ontologies of a second application, based on the context provided by the first and second applications for specific ontologies, the context representing an environment surrounding a particular event, object or individual that defines an interpretation of the axioms,
wherein the interpretation is based on which application is accessing the SPO triplets,
(ii) performs operations on the axioms based on triggers specified by the rules and generating new axioms in the same context, and
(iii) stores a history of changes of the objects in a dedicated database; and
a presentation layer that filters the axioms based on connections between the ontologies and the SPO triplets and presents the axioms to a user based on the context.

### Claim 2 (depends on 1)

The system of claim 1, wherein the presentation layer filters the data based on enforcing a context on the inputted data.

### Claim 3 (depends on 1)

The system of claim 1, wherein the presentation layer filters the data based on enforcing a context on the outputted data.

### Claim 4 (depends on 1)

The system of claim 1, wherein the presentation layer interprets the data in its context.

### Claim 5 (depends on 1)

The system of claim 1, wherein the logical core adds new ontologies that include new rules.

### Claim 6 (depends on 1)

The system of claim 1, wherein the axioms are stored in BTrees.

### Claim 7 (depends on 1)

The system of claim 1, wherein the plurality of databases includes an axiom database, an operations history database, and a configuration database with application settings.

### Claim 8 (depends on 1)

The system of claim 1, wherein the ontologies are stored in at least one file in N3 format.

### Claim 9 (depends on 1)

The system of claim 1, wherein the logical layer caches the results of the processing.

### Claim 10 (depends on 1)

The system of claim 1, wherein the plurality of databases comprises:
a user data database where each user's axioms are stored;
an operations history database where a history of changes of objects is stored; and
a configuration database where application settings are stored.

### Claim 11

A computer-implemented method of processing business data, the method comprising:
storing rules and axioms both represented in SPO (subject-predicate-object) triplet format in a plurality of databases located on one or more hardware storage devices,
wherein each application stores its axioms in its own database and has no direct access to other applications' databases;
providing access to the plurality of databases and keeping track of what is stored in which database, including working with the plurality of databases simultaneously and accessing axioms and rules from the plurality of databases by utilizing a layer of abstraction between the applications and the databases that enables platform-independent access and processing of data in the databases by the applications based on context provided by the applications,
wherein triples stored in the plurality of databases, when requested by the applications, are represented as a global virtual database that is uniquely represented for each application wherein the global virtual database generates contextualized application related data that is accessible through the common storage layer, without duplicating the triples in a particular context of their corresponding application, by using a rule-based translation mechanism between a dictionary of the corresponding application and a global dictionary, and
wherein the global dictionary provides an exchange of information between the plurality of databases;
storing at least one ontology that represents a particular data interpretation in an SPO format and based on the rules and axioms;
utilizing a logical layer to
(i) process requests to transform one set of SPO triplets defined in terms of ontologies of a first application into a different set of SPO triplets defined in terms of ontologies of a second application, based on the context provided by the first and second applications for specific ontologies, the context representing an environment surrounding a particular event, object or individual that defines an interpretation of the axioms,
wherein the interpretation is based on which application is accessing the SPO triplets,
(i) perform operations on the axioms based on triggers specified by the rules and generating new axioms in the same context, and
(ii) store a history of changes of the objects in a dedicated database; and
filtering the axioms based on connections between the ontologies and the SPO triplets and presenting the axioms to a user based on the context.

### Claim 12 (depends on 11)

The method of claim 11, further comprising generating new axioms by representing existing axioms in a new context.

### Claim 13 (depends on 11)

The method of claim 11, further comprising adding new ontologies that include existing axioms.

### Claim 14 (depends on 11)

The method of claim 11, further comprising adding new ontologies that include new axioms.

### Claim 15 (depends on 11)

The method of claim 11, further comprising adding new ontologies that include existing rules.

### Claim 16 (depends on 11)

The method of claim 11, further comprising specifying the context for the data that defines which operations can be performed on the data.

### Claim 17 (depends on 11)

The method of claim 11, further comprising generation of a data representation for the same data but in a new context.

### Claim 18 (depends on 11)

The method of claim 11, wherein the presenting comprises filtering the data based on connections between objects established by the ontologies and the SPO triplets.

### Claim 19 (depends on 11)

The method of claim 11, wherein the ontology includes restrictions on the axioms used to validate the data.

### Claim 20 (depends on 18)

The method of claim 18, wherein the operations are specified by the user and include a combination of spreadsheet, logical and mathematical operations.
