IP Library Granted Patent US 11,327,954
Granted Patent B2
US 11,327,954 · App. 16/732,170 · Granted May 10, 2022

Multitenant architecture for prior period adjustment processing

Inventors: Ron Rasmussen (San Jose, CA); Vasu Krishnamoorthy (San Jose, CA); Denis Gefter (San Francisco, CA)
Assignee: XACTLY CORPORATION
G06F16/2365G06F16/162G06F16/2358G06Q40/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,327,954
App. No.
16/732,170
Granted
May 10, 2022
Kind
B2
Abstract

A data processing method comprises receiving a request to perform a prior period adjustment (PPA) for a tenant in which data values applicable to a time period earlier than a current time period will be modified, in response to the request, identifying a working subset of data from tenant data in the production database and copying the working subset to a calculation database separate from the production database, performing the PPA, using the working subset in the calculation database, to result in creating and storing a plurality of result data, receiving, while performing the PPA, an additional request using the tenant data in the production database, performing the additional request using the tenant data in the production database while performing the PPA and updating the replay log, after completing the PPA and using the replay log, transferring the plurality of results to the production database.

Claims (42)

1. A data processing method comprising:

using an application server computer of an application service provider (ASP), establishing computerized shared multi-tenant data storage in which tenant data that is associated with a plurality of different tenants of the ASP is stored together in a production database, wherein the application server computer maintains a replay log that tracks changes for each tenant, the replay log comprising stored digital data representing a plurality of events, each event defining an adjustment;

receiving, by the application server computer, a first request to perform a prior period adjustment (PPA) for a first tenant in which data values applicable to a time period earlier than a current time period will be modified;

in response to the first request, identifying a working subset of data from first tenant data in the production database and copying the working subset of data to a calculation database that is separate from the production database, wherein the working subset comprises a minimum amount of data needed to perform accurate PPA according to a policy associated with the first tenant;

performing the PPA, using the working subset in the calculation database, to result in creating and storing a plurality of result data;

while performing the PPA:

receiving a second request using the first tenant data in the production database,

performing the second request using the first tenant data in the production database, and

updating the replay log based on the second request by recording the plurality of events during a calculation process and tracking changes for each tenant;

after completing the PPA performing a synchronizing step by transferring the plurality of results to the production database and using the replay log to replay the plurality of events performed from the second request and action adjustment;

sending a notification to one or more entities impacted by the plurality of changes that were made to the first tenant data during transferring, wherein the notification identifies differences represented in the plurality of changes.

2. The method of claim 1 , wherein an event of the plurality of events comprises a data deletion event.

3. The method of claim 1 , further comprising: performing the second request by modifying the first tenant data.

4. The method of claim 1 , wherein the working subset of data is read-only and cannot be written back to the production database.

5. The method of claim 1 , further comprising:

in response to a failure while performing the PPA, identifying a portion of the working subset related to the failure;

deleting the portion of the working subset related to the failure;

copying the portion of the working subset related to the failure from the production database to the calculation database.

6. The method of claim 1 , wherein the production database comprises two or more databases in different formats.

7. A computer system comprising:

a production database storing tenant data that is associated with a plurality of different tenants of an application service provider;

a calculation database that is separate from the production database;

one or more application server computers communicatively connected to the production database and the calculation database, the one or more application server computers comprising one or more processors and electronic digital memory storing one or more sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform:

establishing computerized shared multi-tenant data storage in the production database, wherein the application server computer maintains a replay log that tracks changes for each tenant, the replay log comprises stored digital data representing a plurality of events, each event defining an adjustment;

receiving a first request to perform a prior period adjustment (PPA) for a first tenant in which data values applicable to a time period earlier than a current time period will be modified;

in response to the first request, identifying a working subset of data from first tenant data in the production database and copying the working subset of data to the calculation database, wherein the working subset comprises a minimum amount of data needed to perform accurate PPA according to a policy associated with the first tenant;

performing the PPA, using the working subset in the calculation database, to result in creating and storing a plurality of result data;

while performing the PPA:

receiving a second request using the first tenant data in the production database,

performing the second request using the first tenant data in the production database, and

updating the replay log based on the second request by recording the plurality of events during a calculation process and tracking changes for each tenant;

after completing the PPA, performing a synchronizing step by transferring the plurality of results to the production database and using the replay log to replay the plurality of events performed from the second request and action adjustment;

sending a notification to one or more entities impacted by the plurality of changes that were made to the first tenant data during transferring, wherein the notification identifies differences represented in the plurality of changes.

8. The computer system of claim 7 , wherein an event of the plurality of events comprises a data deletion event.

9. The computer system of claim 7 , the one or more sequences of instructions, when executed by the one or more processors, further causing the one or more processors to perform:

performing the second request by modifying the first tenant data.

10. The computer system of claim 7 , wherein the working subset of data is read-only and cannot be written back to the production database.

11. The computer system of claim 7 , the one or more sequences of instructions, when executed by the one or more processors, further causing the one or more processors to perform:

in response to a failure while performing the PPA, identifying a portion of the working subset related to the failure;

deleting the portion of the working subset related to the failure;

copying the portion of the working subset related to the failure from the production database to the calculation database.

12. The computer system of claim 7 , wherein the production database comprises two or more databases in different formats.

Assignments (2)
SECURITY INTEREST Recorded Aug 21, 2024
From: XACTLY CORPORATION
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 068349/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: RASMUSSEN, RON; KRISHNAMOORTHY, VASU; GEFTER, DENIS
To: XACTLY CORPORATION
Reel/Frame 055774/0729 →
Continuity (2)
Continuation 15421008 · Jan 31, 2017
Related Publication 20200133941A1 · Apr 30, 2020