System and methods for inheriting information into a dataset
First Claim
1. A method of inheriting data from a second dataset into a first dataset, the method comprising the steps of:
- receiving a first user input, the first user input selecting a first data item from the second dataset for inheritance into the first dataset;
placing a first pointer in the first dataset, pointing to a first record in the second dataset that contains the inherited first data item; and
when processing data in the first dataset, using the first pointer to locate the inherited first record in the second dataset, and including the inherited first data item from the second dataset in the processing of data in the first dataset;
wherein the user cannot modify the second dataset and the first dataset is a personal dataset in which the user can annotate the inherited first data item;
synchronizing the first dataset with the alter-ego dataset and propagating the first data item from the second dataset, so that after the synchronization the alter-ego dataset has a copy of the first data item from the second dataset,wherein a local copy of the first data item is stored in the first dataset prior to the synchronization with the alter-ego dataset;
receiving an update to the first data item from the alter-ego dataset during a further synchronization; and
entering the update from the alter-ego dataset into the local copy of the first data item.
2 Assignments
0 Petitions
Accused Products
Abstract
A user is allowed to inherit data from parent datasets into the user'"'"'s own child dataset. The parent datasets can further inherit data from each other, so that the user can inherit data from a parent dataset, which inherits the data from a grandparent dataset. Such inheritance may be on a record level or on a dataset level, or a combination of the two. For example, a child dataset may inherit a data record from a parent dataset, which inherited that data record from a grandparent dataset on a dataset level, along with all the other records of the grandparent dataset. Pointers are used to keep track of data inheritances and local copies of data may be made as necessary. For example, if a user enters a change to an inherited data record, the child dataset may make a local copy of the data record and enter the change into the local copy. Data may also be synchronized between the child dataset and an alter-ego dataset. In this case, copies of data that have been inherited into the child dataset will be sent to the alter-ego dataset on synchronization. Changes may be made to the child dataset, the parent datasets, or the alter-ego dataset. During subsequent synchronizations, any such changes will undergo conflict and duplicate resolution before entering the changes into the child dataset or propagating the changes to the alter-ego dataset.
101 Citations
26 Claims
-
1. A method of inheriting data from a second dataset into a first dataset, the method comprising the steps of:
-
receiving a first user input, the first user input selecting a first data item from the second dataset for inheritance into the first dataset; placing a first pointer in the first dataset, pointing to a first record in the second dataset that contains the inherited first data item; and when processing data in the first dataset, using the first pointer to locate the inherited first record in the second dataset, and including the inherited first data item from the second dataset in the processing of data in the first dataset; wherein the user cannot modify the second dataset and the first dataset is a personal dataset in which the user can annotate the inherited first data item; synchronizing the first dataset with the alter-ego dataset and propagating the first data item from the second dataset, so that after the synchronization the alter-ego dataset has a copy of the first data item from the second dataset, wherein a local copy of the first data item is stored in the first dataset prior to the synchronization with the alter-ego dataset; receiving an update to the first data item from the alter-ego dataset during a further synchronization; and entering the update from the alter-ego dataset into the local copy of the first data item. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of processing data in a first dataset and synchronizing the first dataset with an alter-ego dataset, the data in the first dataset including data that is native to the first dataset, data that is inherited on a record level from a second dataset, data that is inherited on a record level from the second dataset that is further inherited on a record level from a third dataset, data that is inherited on a dataset level from the third dataset, and data that is inherited from the second dataset and that is modified locally, the method comprising the steps of:
-
processing the data in the first dataset that are native to the first dataset; processing the data in the first dataset that are inherited from the second dataset and for which a local copy has not already been processed; processing the data in the first dataset that are inherited from the third dataset and that have not already been processed during the processing of data that are inherited from the second dataset; synchronizing the first dataset with the alter-ego dataset and propagating the first data item from the second dataset, so that after the synchronization the alter-ego dataset has a copy of the first data item from the second dataset, wherein a local copy of the first data item is stored in the first dataset prior to the synchronization with the alter-ego dataset; receiving an update to the first data item from the alter-ego dataset during a further synchronization; and entering the update from the alter-ego dataset into the local copy of the first data item. - View Dependent Claims (11, 12)
-
-
13. A system for inheriting data into a first dataset from a plurality of other datasets, the system comprising:
-
a plurality of native data in the first dataset; a first pointer in the first dataset, the first pointer pointing to a first data item in a second dataset to inherit the first data item from the second dataset into the first dataset on a record level; a second pointer in the first dataset, the second pointer pointing to a third pointer in a third dataset, the third pointer pointing to a second data item in a fourth dataset to inherit the second data item from the third dataset into the first dataset on a record level, the second data item further being inherited from the fourth dataset into the third dataset on a record level; and a fourth pointer in the first dataset, the fourth pointer pointing to a fifth dataset to inherit the fifth dataset into the first dataset on a dataset level, wherein, when the system processes data in the first dataset, the system processes data that is native to the first dataset, along with the first data item, the second data item and data from the fifth dataset. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method of inheriting data into a first dataset from one or more ancestor datasets and of synchronizing data between the first dataset and one or more alter-ego datasets, the method comprising the steps of:
-
receiving a first user input, the first user input selecting a first data item from a first ancestor dataset for inheritance into the first dataset; and performing a first synchronization of at least a portion of the first dataset with at least a portion of a first alter-ego dataset, including sending a copy of the first data item to the first alter-ego dataset for inclusion in the first alter-ego dataset as a first alter-ego copy of the first data item; wherein the user cannot modify the first ancestor dataset and the first dataset is a personal dataset in which the user can annotate the inherited first data item; receiving at the first alter-ego dataset a first user change to the alter-ego copy of the first data item; performing a second synchronization between the first dataset and the first alter-ego dataset, including receiving at the first dataset the first user change to the first data item; and entering the first user change into a local copy of the first data item at the first dataset. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method of maintaining the synchronized state of at least one non-public or personal dataset including one or more data items that are inherited from a public dataset, the method including:
-
receiving a user input specifying at least one public data item in a public dataset to be selectively inherited into the non-pubic dataset, wherein the public dataset is not modifiable by the user; inheriting the public data item into the personal dataset and establishing an inheritance-aware record-level entry for the inherited public data item; and when synchronizing the personal dataset, resolving a change in the public dataset to the inherited public data item and an annotation in the personal dataset to the inherited public data item, whereby the annotation remains associated with the changed inherited public data.
-
-
26. A method of maintaining the synchronized state of two non-public datasets, where one is a personal dataset and another is a portable alter-ego of the personal dataset, the non-public datasets including one or more data items that are inherited from a public dataset, the method including:
-
receiving a user input specifying at least one public data item in a public dataset to be selectively inherited into the non-pubic datasets, wherein the public dataset is not modifiable by the user; inheriting the public data item into the personal dataset and establishing an inheritance-aware record-level entry for the inherited public data item; propagating the inherited public data item into the portable alter-ego dataset, without any need for the portable alter-ego dataset to distinguish between native data entries and the inherited public data item; and when synchronizing the personal dataset, resolving a change in the public dataset to the inherited public data item and at least one annotation in the personal dataset and the alter-ego dataset to the inherited public data item, whereby the annotation remains associated with the changed inherited public data.
-
Specification