IP Library Granted Patent US 10,545,952
Granted Patent B2
US 10,545,952 · App. 15/421,008 · Granted Jan 28, 2020

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 10,545,952
App. No.
15/421,008
Granted
Jan 28, 2020
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 (47)

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;

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 closed time period earlier than an open current time period will be modified, wherein the closed time period was previously processed;

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 an accurate PPA according to a policy of the first tenant;

performing the PPA, using the working subset in the calculation database, by performing a plurality of same calculations in a same order as when the closed time period was previously processed to result in creating and storing a plurality of result data;

while performing the PPA:

receiving a second request that uses 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;

in response to a failure:

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;

after completing the PPA, transferring the plurality of result data to the production database using the replay log;

sending a notification to one or more entities impacted by a plurality of changes that were made to the first tenant data during transferring.

2. The method of claim 1 , wherein the replay log comprises stored digital data representing a plurality of events, each event comprising a definition.

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

4. The method of claim 3 , further comprising:

performing the second request by modifying the first tenant data.

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

6. The method of claim 1 , wherein the notification identifies differences represented in the plurality of changes.

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

8. 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 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;

receiving a first request to perform a prior period adjustment (PPA) for a first tenant in which data values applicable to a closed time period earlier than an open current time period will be modified, wherein the closed time period was previously processed;

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 of the first tenant;

performing the PPA, using the working subset in the calculation database, by performing a plurality of same calculations in a same order as when the closed time period was previously processed to result in creating and storing a plurality of result data;

while performing the PPA:

receiving a second request that uses 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;

in response to a failure:

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;

after completing the PPA, transferring the plurality of results to the production database using the replay log;

sending a notification to one or more entities impacted by a plurality of changes that were made to the first tenant data during transferring.

9. The system of claim 8 , wherein the replay log comprises stored digital data representing a plurality of events, each event comprising a definition.

10. The system of claim 9 , wherein an event of the plurality of events comprises a data deletion event.

11. The system of claim 10 , 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.

12. The system of claim 8 , wherein the working subset of data comprises 4 periods of data that is read-only and cannot be written back to the production database.

13. The system of claim 8 , wherein the notification identifies differences represented in the plurality of changes.

14. The system of claim 8 , wherein the production database comprises two or more databases in different formats.

Assignments (2)
SECURITY INTEREST Recorded Aug 30, 2017
From: XACTLY CORPORATION
To: GOLDMAN SACHS MIDDLE MARKET LENDING CORP.
Reel/Frame 043441/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: RASMUSSEN, RON; KRISHNAMOORTHY, VASU; GEFTER, DENIS
To: XACTLY CORPORATION
Reel/Frame 041161/0769 →
Continuity (1)
Related Publication 20180218025A1 · Aug 2, 2018