IP Library Granted Patent US 8,001,539
Granted Patent B2
US 8,001,539 · App. 11/712,065 · Granted Aug 16, 2011

Historical data management

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 8,001,539
App. No.
11/712,065
Granted
Aug 16, 2011
Kind
B2
Abstract

An apparatus and method for managing historical data includes receiving a compiled application program and a declarative specification. An enhancer generates one or more representations of at least one data class defined in the application program based on at least one historical metatag and historical metadata associated therewith from the declarative specification. The enhancer also generates configuring instructions for configuring a database in accordance with the storage representation(s), an enhanced compiled application program including instructions for accessing data in the configured database, and a historical updater program for updating the data in the database based on the historical metadata. Once the database is configured in accordance with the configuring instructions and data is stored in accordance with the storage representation(s), the enhanced compiled application program is executed to access the database so as to retrieve historical data therefrom and the historical updater program is executed to update the data in the database based on the historical metadata.

Claims (41)

1. A method, executed by a central processing unit (CPU), of managing historical data comprising:

receiving a compiled application program including a definition of at least one data class having at least one field;

receiving a declarative specification including a definition of at least one historical metatag associated with the at least one field and historical metadata indicating a value for the historical metatag;

generating one or more storage representations of the at least one data class based on the at least one historical metatag and the historical metadata associated therewith;

generating configuring instructions for configuring a database in accordance with the one or more storage representations;

generating an enhanced compiled application program including instructions for accessing data in the configured database;

generating a historical updater program based on the one or more storage representations for updating the data in the database based on the historical metadata;

configuring the database in accordance with the configuring instructions and storing therein data in accordance with the one or more storage representations;

executing the enhanced compiled application program to access the database so as to retrieve historical data therefrom; and

executing the historical updater program to update the data in the database based on the historical metadata, wherein the updating of the database takes place asynchronously with accessing the database;

wherein a historical metatag comprises a relative lifetime of each field, and the historical metadata provides one or more values for the relative lifetime required for each field to be maintained in a particular form in the database.

2. A method according to claim 1 , wherein the historical metadata provides a plurality of values for the relative lifetime for each field, and wherein each field is to be maintained in a different particular form in the database for each value of the relative lifetime.

3. A method according to claim 2 , wherein a plurality of storage representations are determined according to the relative lifetime and particular form required for each field at different times.

4. A method according to claim 2 , wherein a historical metatag comprises a precision of the associated field, and the historical metadata provides a different value of the precision for each one of the plurality of relative lifetimes of each field.

5. A method according to claim 4 , wherein each storage representation is determined according to the precision value required for each field over the relative lifetime of each field.

6. A method according to claim 5 , further comprising altering a representation of at least one of the fields in the database when the relative lifetime historical metadata associated with the field indicates that the relative lifetime of that field in a particular form has expired and the precision historical metadata indicates that a new precision value is required for that field.

7. A method according to claim 6 , further comprising deleting at least one of the fields in the database when the relative lifetime historical metadata associated with the field indicates that the relative lifetime of that field in a particular form has expired and the precision historical metadata indicates that no new precision value is required for that field according to the appropriate representation.

8. A method according to claim 7 , further comprising deleting data instances of a class in the database if all fields of an instance of that class are deleted.

9. A method according to claim 1 , wherein the data comprises information regarding the state of a telecommunications system.

10. A method according to claim 9 , further comprising generating a historical state of the telecommunication system by accessing the data classes stored in the database and by reconstructing the historical state of the telecommunications system from the data classes that have not been deleted based on each of the storage representations of the fields of each data class and the relative lifetimes of each of the fields of each data class.

11. A historical data management system, stored in a non-transitory computer readable medium comprising:

a first input for receiving a compiled application program including a definition of at least one data class having at least one field;

a second input for receiving a declarative specification including a definition of at least one historical metatag associated with each the at field and historical metadata indicating a value for the historical metatag;

an enhancer coupled to the first and second inputs for receiving the compiled application program and the declarative specification, wherein the enhancer:

generates one or more storage representations of the at least one data class based on the at least one historical metatag and the historical metadata associated therewith;

generates configuring instructions for configuring a database in accordance with the one or more storage representations;

generates an enhanced compiled application program including instructions for accessing data in the configured database; and

generates a historical updater program based on the one or more storage representations for updating the data in the database based on the historical metadata;

a database configured in accordance with the configuring instructions and having stored therein data in accordance with each storage representation;

an execution unit for receiving the enhanced compiled application program and for executing the enhanced compiled application program to access the database so as to retrieve historical data therefrom; and

a historical updater for executing historical updater program to update the data in the database based on the historical metadata, wherein the updating of the database takes place asynchronously with accessing the database;

wherein a historical metatag comprises a relative lifetime of each field, and the historical metadata provides one or more values for the relative lifetime required for each field to be maintained in a particular form in the database.

12. A system according to claim 11 , wherein the historical metadata provides a plurality of values for the relative lifetime for each field; and wherein each field is maintained in a different particular form in the database for each value of the relative lifetime.

13. A system according to claim 12 , wherein a plurality of storage representations are determined according to the relative lifetime and particular form required for each field at different times.

14. A system according to claim 12 , wherein a historical metatag comprises a precision for each field, and the historical metadata provides a different value of the precision for each one of the plurality of relative lifetimes of each field.

15. A system according to claim 14 , wherein each storage representation is determined according to the precision value required for each field over the relative lifetime of each field.

16. A system according to claim 15 , wherein the historical updater alters a representation of at least one of the fields in the database when the relative lifetime historical metadata associated with the field indicates that the relative lifetime of that field in a particular form has expired and the precision historical metadata indicates that a new precision value is required for that field.

17. A system according to claim 16 , wherein the historical updater deletes at least one of the fields in the database when the relative lifetime historical metadata associated with the field indicates that the relative lifetime of that field in a particular form has expired and the precision historical metadata indicates that no new precision value is required for that field according to the storage representation.

18. A system according to claim 17 , wherein the historical updater deletes data instances of a class in the database if all fields of an instance of that class are deleted.

19. A system according to claim 11 , wherein the data comprises information regarding the state of a telecommunications system.

20. A system according to claim 19 , wherein a historical state of the telecommunication system is generated by accessing the data classes stored in the database and by reconstructing the historical state of the telecommunications system from the data classes that have not been deleted based on each of the storage representations of the fields of each data class and the relative lifetimes of the fields of each data class.

Assignments (8)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Recorded Jan 5, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: VIAVI SOLUTIONS INC.; RPC PHOTONICS, INC.
Reel/Frame 058666/0639 →
SECURITY INTEREST Recorded May 21, 2020
From: VIAVI SOLUTIONS INC.; 3Z TELECOM, INC.; ACTERNA LLC; ACTERNA WG INTERNATIONAL HOLDINGS LLC; VIAVI SOLUTIONS LLC; JDSU ACTERNA HOLDINGS LLC; OPTICAL COATING LABORATORY, LLC; RPC PHOTONICS, INC.; TTC INTERNATIONAL HOLDINGS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 052729/0321 →
CHANGE OF NAME Recorded Nov 6, 2015
From: JDS UNIPHASE CORPORATION
To: VIAVI SOLUTIONS INC.
Reel/Frame 037057/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2010
From: AGILENT TECHNOLOGIES, INC.
To: JDS UNIPHASE CORPORATION
Reel/Frame 024433/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2007
From: MITCHELL, KEVIN
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 019565/0354 →