IP Library Granted Patent US 9,223,819
Granted Patent B2
US 9,223,819 · App. 14/153,259 · Granted Dec 29, 2015

Linking of parent-child data records in a legacy software modernization system

Inventors: Christian Cotichini (Vancouver, CA); Michael E. F. White (Surrey, CA); David John Green (Surrey, CA)
Assignee: Make Technologies, Inc.
G06F17/30336G06F17/30595G06F17/30893
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 9,223,819
App. No.
14/153,259
Filed
Jan 13, 2014
Granted
Dec 29, 2015
Kind
B2
Art Unit
3649
USPC
707/696
Abstract

A system and method for linking parent and child data records during data migration is disclosed. One embodiment comprises sequentially receiving a plurality of data records from an arbitrary source of records without running a query on the source of records, generating a destination store of records that contains the plurality of data records, and locating any records in the destination store of records that has a dangling key. In this way, the embodiment may correct dangling keys to generate a destination store of records with referential integrity.

Claims (30)

1. A method comprising:

at a conversion engine executed on a computing device:

sequentially receiving a plurality of legacy data records from a legacy source data file stored in an arbitrary source without running a query on the arbitrary source, the plurality of legacy data records including parent records and child records;

concurrently migrating the parent records and corresponding child records while loading additional legacy data records, wherein the parent records and corresponding child records are migrated, independently and in parallel, through a data migration workbench transformer of the conversion engine, such that during the loading of the plurality of data records:

assigning a surrogate key to at least one parent record of the parent records;

assigning a corresponding foreign key to the corresponding child record linked to the at least one parent record;

generating a destination store of records that contains the plurality of data records;

locating at least one record in the destination store of records that has a dangling key; and

correcting dangling keys to generate a destination store of records with referential integrity, wherein correcting dangling keys includes at least one of deleting the record with the dangling key or changing the dangling key in the record to create a valid foreign key.

2. The method of claim 1 , further comprising logging the records with dangling keys prior to correcting the dangling keys.

3. The method of claim 2 , further comprising generating a report containing logged records.

4. The method of claim 1 , wherein the arbitrary source is a database.

5. The method of claim 1 , wherein the arbitrary source is a flat file.

6. The method of claim 1 , wherein the arbitrary source is a network stream.

7. The method of claim 1 , wherein generating a destination store of records that contains the plurality of legacy data records further comprises generating a surrogate key for each natural key in the plurality of legacy data records.

8. A non-transitory computer-readable medium comprising computer-executable instructions being executable by a modernization system to:

at a conversion engine executed on a computing device:

sequentially receive a plurality of legacy data records from a legacy source data file stored in an arbitrary source without running a query on the arbitrary source, the plurality of legacy data records including parent records and child records;

concurrently migrate the parent records and corresponding child records while loading additional legacy data records, wherein the parent records and corresponding child records are migrated, independently and in parallel, through a data migration workbench transformer of the conversion engine, such that during the loading of the plurality of data records:

assign a surrogate key to at least one parent record of the parent records;

assign a corresponding foreign key to the corresponding child record linked to the at least one parent record;

generate a destination store of records that contains the plurality of data records;

locate at least one record in the destination store of records that has a dangling key; and

correct dangling keys to generate a destination store of records with referential integrity, wherein correcting dangling keys includes at least one of deleting the record with the dangling key or changing the dangling key in the record to create a valid foreign key.

9. The non-transitory computer-readable medium of claim 8 , further comprising instructions executable to log the records with dangling keys prior to correcting the dangling keys.

10. The non-transitory computer-readable medium of claim 9 , further comprising instructions executable to generate a report containing logged records.

11. The non-transitory computer-readable medium of claim 8 , wherein the arbitrary source is a database.

12. The non-transitory computer-readable medium of claim 8 , wherein the arbitrary source is a flat file.

13. The non-transitory computer-readable medium of claim 8 , wherein the arbitrary source is a network stream.

14. The non-transitory computer-readable medium of claim 8 , wherein generating a destination store of records that contains the plurality of data records further comprises generating a surrogate key for each natural key in the plurality of data records.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: DELL CANADA INC.
To: NTT DATA CANADA, INC.
Reel/Frame 042178/0496 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
DISSOLUTION AGREEMENT Recorded Feb 4, 2016
From: MAKE TECHNOLOGIES, INC.
To: DELL CANADA INC.
Reel/Frame 037693/0475 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2014
From: COTICHINI, CHRISTIAN; WHITE, MICHAEL E.F.; GREEN, DAVID JOHN
To: MAKE TECHNOLOGIES, INC.
Reel/Frame 032128/0895 →
Continuity (2)
Continuation 12200617 · Aug 28, 2008
Related Publication 20140129517A1 · May 8, 2014