# US 2019/0244286 A1 · Reducing workload using transaction aggregation

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

- Number: US 2019/0244286 A1
- Document ID: US20190244286A1
- Status: Published application
- Kind: A1
- Application number: 15/887,751
- Filed: 2018-02-02
- Published: 2019-08-08
- Earliest claimed: 2018-02-02
- Assignees: LendingClub Corporation
- Applicants: LendingClub Corporation
- Inventors: Shanmughavadivelu Gopalakrishna
- Web page: https://patentgrep.com/patent/US20190244286A1

## CPC

- G06Q 40/03: Credit; Loans; Processing thereof
- G06Q 20/36: using electronic wallets or electronic money safes
- 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

Techniques are described for reducing the number of transactions required to perform operations for services that support many-to-many relationships between entities. A one-to-many operation that involves an entity of a first type and multiple entities of a second type may be performed in two asynchronous phases: a one-to-intermediary phase and an intermediary-to-many phase. During the one-to-intermediary phase, a single transaction is performed between the entity of the first type and an intermediary. During the intermediary-to-many phase, a distinct transaction is performed between the intermediary and each of the entities of the second type that are involved in the one-to-many operation. The transaction performed for a particular entity of the second type during the intermediary-to-many phase may aggregate all changes that affect the particular entity, thereby significantly reducing the number of transactions performed by the system. The reduction in the number of transactions produces a variety of benefits, including both a reduction in computational overhead and a reduction in storage space consumption.

## Claims

### Claim 1

A method for aggregating transactions in a computing system, comprising:
during a first period of time in which a triggering condition has not been satisfied:
receiving a first request for a first one-to-many operation between a first entity and a plurality of first target entities;
wherein the plurality of first target entities are a subset of a set of target entities;
wherein the first request requires:
a first set of one or more updates to one or more values associated with the first entity; and
a plurality of first target updates, wherein each first target update of the plurality of first target updates is to one or more values associated with a respective first target entity of the plurality of first target entities; and
in a first transaction, performing the first set of one or more updates and a first corresponding set of one or more updates to one or more values associated with an intermediary;
receiving a second request for a second one-to-many operation between a second entity and a plurality of second target entities;
wherein the plurality of second target entities are a subset of the set of target entities;
wherein the second request requires:
a second set of one or more updates to one or more values associated with the second entity; and
a plurality of second target updates, wherein each second target update of the plurality of second target updates is to one or more values associated with a respective second target entity of the plurality of second target entities; and
in a second transaction, performing the second set of one or more updates and a second corresponding set of one or more updates to one or more values associated with the intermediary;
wherein one or more common target entities are common to both the plurality of first target entities and the plurality of second target entities;
detecting that the triggering condition is satisfied;
during a second period after detecting that the triggering condition is satisfied:
performing a single transaction for each target entity in the set of target entities to:
cause the one or more values associated with each respective first target entity to reflect the plurality of first target updates;
cause the one or more values associated with each respective second target entity to reflect the plurality of second target updates; and
update one or more values associated with the intermediary to reflect performance of the plurality of first target updates and performance of the plurality of second target updates;
wherein the single transaction performed for each common target entity performs an update that aggregates the first target update that corresponds to the common target entity with the second target update that corresponds the common target entity.

### Claim 2 (depends on 1)

The method of claim 1 wherein the triggering condition is a particular time of day.

### Claim 3 (depends on 1)

The method of claim 1 wherein the triggering condition is expiration of a particular amount of time.

### Claim 4 (depends on 1)

The method of claim 1 wherein the triggering condition is based on how many one-to-many operation requests are received.

### Claim 5 (depends on 1)

The method of claim 1 wherein:
the first entity is a first borrower and the plurality of first target entities is a first plurality of lenders associated with a first loan to the first borrower;
the second entity is a second borrower and the plurality of second target entities is a second plurality of lenders associated with a second loan to the second borrower; and
the one or more common target entities includes a lender that is associated with both the first loan and the second loan.

### Claim 6 (depends on 1)

The method of claim 1 wherein:
the first transaction stores, in a particular table, a first record that indicates a first particular update that corresponds to a particular common target entity;
the second transaction stores, in the particular table, a second record that indicates a second particular update that corresponds to the particular common target entity; and
the single transaction performed for the particular common target entity reads the first record and the second record from the particular table and performs an update that aggregates the first particular update and the second particular update.

### Claim 7 (depends on 1)

The method of claim 1 wherein the first transaction stores, in a particular table, a distinct record for each first target update of the plurality of first target updates.

### Claim 8 (depends on 7)

The method of claim 7 wherein the second transaction stores, in the particular table, a distinct record for each second target update of the plurality of second target updates.

### Claim 9 (depends on 8)

The method of claim 8 wherein performing a single transaction for each target entity in the set of target entities comprises:
determining the set of target entities based on records in the particular table that have not been processed; and
during the single transaction for each target entity in the set of target entities, aggregating values from records in the particular table that correspond to the target entity.

### Claim 10

One or more non-transitory storage media storing instructions for aggregating transactions in a computing system, the instructions comprising instructions which, when executed by one or more computing devices, cause:
during a first period of time in which a triggering condition has not been satisfied:
receiving a first request for a first one-to-many operation between a first entity and a plurality of first target entities;
wherein the plurality of first target entities are a subset of a set of target entities;
wherein the first request requires:
a first set of one or more updates to one or more values associated with the first entity; and
a plurality of first target updates, wherein each first target update of the plurality of first target updates is to one or more values associated with a respective first target entity of the plurality of first target entities; and
in a first transaction, performing the first set of one or more updates and a first corresponding set of one or more updates to one or more values associated with an intermediary;
receiving a second request for a second one-to-many operation between a second entity and a plurality of second target entities;
wherein the plurality of second target entities are a subset of the set of target entities;
wherein the second request requires:
a second set of one or more updates to one or more values associated with the second entity; and
a plurality of second target updates, wherein each second target update of the plurality of second target updates is to one or more values associated with a respective second target entity of the plurality of second target entities; and
in a second transaction, performing the second set of one or more updates and a second corresponding set of one or more updates to one or more values associated with the intermediary;
wherein one or more common target entities are common to both the plurality of first target entities and the plurality of second target entities;
detecting that the triggering condition is satisfied;
during a second period after detecting that the triggering condition is satisfied:
performing a single transaction for each target entity in the set of target entities to:
cause the one or more values associated with each respective first target entity to reflect the plurality of first target updates;
cause the one or more values associated with each respective second target entity to reflect the plurality of second target updates; and
update one or more values associated with the intermediary to reflect performance of the plurality of first target updates and performance of the plurality of second target updates;
wherein the single transaction performed for each common target entity performs an update that aggregates the first target update that corresponds to the common target entity with the second target update that corresponds the common target entity.

### Claim 11 (depends on 10)

The one or more non-transitory storage media of claim 10 wherein the triggering condition is a particular time of day.

### Claim 12 (depends on 10)

The one or more non-transitory storage media of claim 10 wherein the triggering condition is expiration of a particular amount of time.

### Claim 13 (depends on 10)

The one or more non-transitory storage media of claim 10 wherein the triggering condition is based on how many one-to-many operation requests are received.

### Claim 14 (depends on 10)

The one or more non-transitory storage media of claim 10 wherein:
the first entity is a first borrower and the plurality of first target entities is a first plurality of lenders associated with a first loan to the first borrower;
the second entity is a second borrower and the plurality of second target entities is a second plurality of lenders associated with a second loan to the second borrower; and
the one or more common target entities includes a lender that is associated with both the first loan and the second loan.

### Claim 15 (depends on 10)

The one or more non-transitory storage media of claim 10 wherein:
the first transaction stores, in a particular table, a first record that indicates a first particular update that corresponds to a particular common target entity;
the second transaction stores, in the particular table, a second record that indicates a second particular update that corresponds to the particular common target entity; and
the single transaction performed for the particular common target entity reads the first record and the second record from the particular table and performs an update that aggregates the first particular update and the second particular update.

### Claim 16 (depends on 10)

The one or more non-transitory storage media of claim 10 wherein the first transaction stores, in a particular table, a distinct record for each first target update of the plurality of first target updates.

### Claim 17 (depends on 16)

The one or more non-transitory storage media of claim 16 wherein the second transaction stores, in the particular table, a distinct record for each second target update of the plurality of second target updates.

### Claim 18 (depends on 17)

The one or more non-transitory storage media of claim 17 wherein performing a single transaction for each target entity in the set of target entities comprises:
determining the set of target entities based on records in the particular table that have not been processed; and
during the single transaction for each target entity in the set of target entities, aggregating values from records in the particular table that correspond to the target entity.
