IP Library Granted Patent US 8,990,165
Granted Patent B2
US 8,990,165 · App. 13/704,344 · Granted Mar 24, 2015

Methods, apparatus and articles of manufacture to archive data

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,990,165
App. No.
13/704,344
Granted
Mar 24, 2015
Kind
B2
Abstract

Methods, apparatus and articles of manufacture to archive data are disclosed. An example method to archive data disclosed herein comprises determining an initial data model representing functional dependencies among attributes of the data, the initial data model having fully interdependent functional dependencies among all attributes of the data, pruning one or more functional dependencies from the initial data model to determine a verified data model, and archiving a transaction included in the data to memory according to the verified data model.

Claims (52)

1. A method to archive data, the method comprising:

electronically determining an initial data model representing functional dependencies among attributes of the data, the initial data model having fully interdependent functional dependencies among the attributes of the data;

processing the initial data model in a processor-based machine to electronically prune one or more functional dependencies from the initial data model to determine a verified data model, wherein a given functional dependency indicates that a dependent attribute set depends from a key comprising a parent attribute set and processing the initial data model comprises:

determining a set of candidate keys comprising respective parent attribute sets;

generating a sample of the data;

pruning a particular candidate key from the set of candidate keys when the sample indicates that the particular parent attribute set corresponding to the particular candidate key does not have unique entries; and

archiving a transaction included in the data to memory according to the verified data model.

2. A method as defined in claim 1 wherein the data comprises a plurality of data sets each having one or more respective attributes, a functional dependency indicates that a first attribute of a first data set depends upon a second attribute of the first data set or a second data set, and the transaction comprises a plurality of data entries each having a same value for the first attribute, the same value corresponding to a unique value of the second attribute.

3. A method as defined in claim 1 further comprising increasing a confidence value associated with the particular candidate key when the sample indicates that the particular parent attribute set corresponding to the particular candidate key does have unique entries.

4. A method as defined in claim 1 further comprising:

initially assigning a first confidence value to each candidate key specified by a user; and

initially assigning a second confidence value to each candidate key specified automatically.

5. A method as defined in claim 1 wherein a functional dependency indicates that a dependent attribute set depends from a key comprising a parent attribute set, and further comprising:

determining a set of functional dependencies for a set of candidate keys, the set of functional dependencies comprising respective dependent attribute sets;

generating a sample of the data; and

increasing a confidence value associated with a particular functional dependency from the set of functional dependencies when the sample indicates that the particular dependent attribute set corresponding to the particular functional dependency does depend upon an associated candidate key.

6. A method as defined in claim 5 further comprising decreasing the confidence value associated with the particular functional dependency when the sample indicates that the particular dependent attribute set corresponding to the particular functional dependency does not depend upon an associated candidate key.

7. A method as defined in claim 5 further comprising:

initially assigning a first confidence value to each functional dependency specified by a user; and

initially assigning a second confidence value to each functional dependency specified automatically.

8. A method as defined in claim 1 wherein a functional dependency indicates that a dependent attribute set depends from a key comprising a parent attribute set, and further comprising:

determining a set of candidate keys comprising respective parent attribute sets;

determining a set of functional dependencies for the set of candidate keys, the set of functional dependencies comprising respective dependent attribute sets;

when a first confidence value associated with a first candidate key is less than a first threshold, pruning the first candidate key from the set of candidate keys and pruning a first subset of functional dependencies associated with the first candidate key from the set of functional dependencies to determine the verified data model; and

when a first confidence value associated with a first functional dependency is less than a second threshold, pruning the first functional dependency from the set of functional dependencies to determine the verified data model.

9. A tangible article of manufacture comprising a non-transitory computer readable storage medium to store machine readable instructions which, when executed, cause a processor-based machine to:

determine an initial data model representing functional dependencies among attributes of data to be archived, the initial data model having fully interdependent functional dependencies among the attributes of the data, wherein a given functional dependency indicates that a determined attribute set depends from a key comprising a parent attribute set;

prune one or more functional dependencies from the initial data model to determine a verified data model;

archive a transaction included in the data to memory according to the verified data model;

determine a set of candidate keys comprising respective parent attribute sets;

initially assign a first confidence value to each candidate key specified by a user;

initially assign a second confidence value to each candidate key specified automatically;

generate a sample of the data;

prune a particular candidate key from the set of candidate keys when the sample indicates that the particular parent attribute set corresponding to the particular candidate key does not have unique entries.

10. A tangible article of manufacture as defined in claim 9 , wherein the machine readable instructions, when executed, further cause the machine to:

increase the confidence value associated with the particular candidate key when the sample indicates that the particular parent attribute set corresponding to the particular candidate key does have unique entries.

11. A tangible article of manufacture as defined in claim 9 , wherein the machine readable instructions, when executed, further cause the machine to:

determine a set of functional dependencies for the set of candidate keys, the set of functional dependencies comprising respective dependent attribute sets;

initially assign a first confidence value to each functional dependency specified by a user;

initially assign a second confidence value to each functional dependency specified automatically;

increase a confidence value associated with a particular functional dependency from the set of functional dependencies when the sample indicates that the particular dependent attribute set corresponding to the particular functional dependency does depend upon an associated candidate key; and

decrease the confidence value associated with the particular functional dependency when the sample indicates that the particular dependent attribute set corresponding to the particular functional dependency does not depend upon an associated candidate key.

12. An apparatus to archive data, the apparatus comprising:

a data modeler comprising a processor to determine a data model for data stored in a database comprising a plurality of tables each having one or more columns corresponding to a respective one or more attributes and one or more rows corresponding to a respective one or more data entries, the data model initialized to have all columns in all tables being all-to-all functionally dependent on each other, the data modeler to remove from the model a functional dependency representing that a dependent column set depends from a candidate key comprising a parent column set when at least one of (1) a first confidence value representing a confidence that the candidate key is an actual key capable of uniquely identifying data transactions is less than a first threshold, or (2) a second confidence value representing a confidence that the dependent columns set actually depends from the candidate key is less than a second threshold, wherein the data model comprises a plurality of candidate keys and a plurality of functional dependencies representing a plurality of dependent column sets depending from the plurality of candidate keys and each candidate key comprising a respective parent column set, wherein the data modeler comprises:

a candidate key verifier to iteratively compare each respective candidate key to a first plurality of samples of the data to update a respective confidence value associated with the respective candidate key; and

a functional dependency verifier to iteratively compare each respective functional dependency for each respective candidate key to a second plurality of samples of the data to update a respective confidence value associated with the respective functional dependency; and

a storage element to store the data model, the data to be archived based on the data model.

13. An apparatus as defined in claim 12 wherein the data modeler further comprises a user interface to accept one or more of a set of commands from a user, the set of commands comprising:

a first command to force removal of a specified candidate key from the data model;

a second command to force inclusion of the specified candidate key in the data model and to cause a confidence value associated with the specified candidate key to be set to a maximum value;

a third command to force removal of a specified functional dependency from the data model; and

a fourth command to force inclusion of the specified functional dependency in the data model and to cause a confidence value associated with the specified functional dependency to be set to the maximum value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2022
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 061244/0298 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2012
From: GONG, YU
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 029475/0235 →