# US 11,113,269 B1 · Systems and methods for application data servers

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

- Number: US 11,113,269 B1
- Document ID: US11113269B1
- Status: Granted
- Kind: B1
- Application number: 17/111,429
- Filed: 2020-12-03
- Granted: 2021-09-07
- Earliest claimed: 2020-12-03
- Assignees: Appian Corporation
- Applicants: Appian Corporation
- Inventors: Antonio Andrade Garcia; Rahul Swaminathan; Vy Ton; Erol Guven; Ramsey Langley; Brett Shomaker; Johnny Uwe Debrodt Sarabia
- Web page: https://patentgrep.com/patent/US11113269B1

## CPC

- G06F 16/213: {with details for schema evolution support}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 9/543: {User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]}
- G06F 16/211: {Schema design and management}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Described herein are methods, systems, and computer-readable storage media for automatic and efficient updating of databases and database schemas. Techniques include generating an identification of a task of an application associated with a database through a machine learning process for monitoring database activity. Further, patterns of the application's access to data stored in the database may be observed and provided along with the identified task to a feedback loop to identify changes in the application's access to data in a database. Techniques further include automatically updating a schema of the database based on the identified changes in the application's access to data stored in the database.

## Claims

### Claim 1

A non-transitory computer readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for automatic and efficient updating of a database, the operations comprising:
generating, through a machine learning process, an identification of a task of an application associated with the database, wherein the machine learning process includes monitoring activity of the application involving the database;
determining patterns of the application's access to data stored in the database;
providing the identified task and the determined patterns of the application to a feedback loop;
identifying changes in the application's access to data stored in the database from the feedback loop; and
automatically updating a schema of the database based on the identified changes in the application's access to data stored in the database from the feedback loop.

### Claim 2 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the changes in the application's access to data stored in the database include a change in one of the determined patterns.

### Claim 3 (depends on 2)

The non-transitory computer readable medium of claim 2, wherein the change in one of the determined patterns includes an increased number of users or applications accessing the application.

### Claim 4 (depends on 2)

The non-transitory computer readable medium of claim 2, wherein the change in one of the determined patterns includes an increased number of accesses to one or more data fields of the database.

### Claim 5 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein automatically updating the schema of the database includes horizontally scaling the database based on the identified changes in the application's access to data stored in the database from the feedback loop.

### Claim 6 (depends on 5)

The non-transitory computer readable medium of claim 5, wherein the horizontally scaling is performed dynamically and uniquely for the application.

### Claim 7 (depends on 1)

A non-transitory computer readable medium of claim 1, wherein automatically updating the schema of the database includes creation of a logical table to access the data stored in the database.

### Claim 8 (depends on 1)

A non-transitory computer readable medium of claim 1, wherein automatically updating the schema of the database includes creation of a physical table to access the data stored in the database.

### Claim 9 (depends on 8)

A non-transitory computer readable medium of claim 8, wherein the creation of the physical table occurs when a logical table access rate is above a threshold.

### Claim 10 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the identifying changes in the application's access to data stored in the database from the feedback loop includes identifying changes in the application's access at the level of individual data entry fields in the database.

### Claim 11 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the automatically updating of the schema of the database is performed without deleting attributes of the schema of the database.

### Claim 12 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the automatically updating of the schema of the database is performed without using a database control lock.

### Claim 13 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the identifying changes in the application's access to data stored in the database from the feedback loop includes identifying a change in a bi-directional relationship between a first row in a first table of the database and a second row in a second table of the database.

### Claim 14

A computer implemented method for automatic and efficient updating of a database, the method comprising:
generating, through a machine learning process, an identification of a task of an application associated with the database, wherein the machine learning process includes monitoring activity of the application involving the database;
determining patterns of the application's access to data stored in the database;
providing the identified task and the determined patterns of the application to a feedback loop;
identifying changes in the application's access to data stored in the database from the feedback loop; and
automatically updating a schema of the database based on the identified changes in the application's access to data stored in the database from the feedback loop.

### Claim 15 (depends on 14)

The computer implemented method of claim 14, wherein the changes in the application's access to data stored in the database include a change in one of the determined patterns.

### Claim 16 (depends on 14)

The computer implemented method of claim 14, wherein the automatically updating the schema of the database includes preserving the schema of the database and creating a new schema of the database.

### Claim 17 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein the automatically updating the schema of the database includes updating a logical structure pointing to a physical database.

### Claim 18 (depends on 14)

The computer implemented method of claim 14, wherein the identifying changes in the application's access to data stored in the database from the feedback loop includes identifying changes in the application's access at the level of individual data entry fields in the database.

### Claim 19 (depends on 14)

The computer implemented method of claim 14, wherein the identifying changes in the application's access to data stored in the database from the feedback loop includes identifying a change in a bi-directional relationship between a first row in a first table of the database and a second row in a second table of the database.

### Claim 20

A database management system configured for automatic and efficient updating of a database, the database management system comprising:
a database; and
one or more processors configured to execute software instructions to perform operations comprising:
generating, through a machine learning process, an identification of a task of an application associated with the database, wherein the machine learning process includes monitoring activity of the application involving the database;
determining patterns of the application's access to data stored in the database;
providing the identified task and the determined patterns of the application's access to a feedback loop;
identifying changes in the application's access to data stored in the database from the feedback loop; and
automatically updating a schema of the database based on the identified changes in the application's access to data stored in the database from the feedback loop.
