Information system with versioning descending node snapshot
AssigneeADP, Inc.
InventorThomas A. Cooper
Life of this patent
Estimating the term…
Abstract
A method for accessing information. A request to change a piece of the information is received from a source. A branch for the piece of the information is identified using an identifier in the request. The branch is part of branches in a hierarchical structure and the branches are versions of the piece of the information. The identifier identifies the branch. The branch is changed when the request is from a source that controls a portion of the information in which the branches for the piece of the information are located in a location and the source is part of sources that control portions of the information in the location.
Claims28
A method for accessing information, the method comprising:
- receiving, by a computer system, a request from a client computer system for a version of a piece of information;
- identifying, by the computer system, an aggregate object in a graph database using an identifier in the request, wherein the aggregate object is an independently addressable node in the graph database that contains a hierarchical structure of branches, and wherein the branches are different versions of the piece of information that are effective at different time periods;
- identifying, by the computer system, a branch for the piece of information in the aggregate object using a time period indicated in the request;
- sending, by the computer system, a response to the client computer system, wherein the response includes the version of the piece of information that is effective at the time period indicated in the request;
- responsive to receiving a transaction to change the piece of information, performing, by the computer system, a group of changes to a branch for the piece of information in the aggregate object that is effective at a time period indicated in the transaction;
- sending, by the computer system, a response to the client computer system, wherein the response includes the piece of information with a set of the changes made to the branch at the time period indicated in the transaction;
- wherein performing the group of changes to the branch comprises:
- creating a new branch in the hierarchical structure, wherein the new branch includes a first set of objects under the aggregate object, wherein the first set of objects contain the changes made to the branch at the time period indicated by the transaction, and the identifier is a transaction identifier that identifies the transaction;
- wherein creating the new branch in the hierarchical structure further comprises:
- creating a snapshot for the version of the piece of information;
- linking the snapshot to the branch within the hierarchical structure according to the time period indicated in the transaction, wherein the snapshot is a descendant node in the graph database to an object having properties affected by the set of the changes;
- creating the first set of objects, wherein the first set of objects contain changed properties of the object;
- linking the first set of objects to the snapshot within the hierarchical structure, wherein the first set of objects are descendent nodes in the graph database to the snapshot;
- wherein the piece of information is in a portion of the information controlled by a source in sources that controls portions of the information at a location, the method further comprising:
- receiving, by the computer system, a request from the client computer system to create another branch in the branch for the piece of information;
- and
- sending, by the computer system, the request to the source in the sources that controls the piece of information in the portions of the information at the location;
- and
- wherein creating the new branch in the hierarchical structure further comprises:
- creating a branch name type node for the version of the piece of information;
- linking the branch name type node to the branch within the hierarchical structure, wherein the branch name type node is a child node in the graph database to the object having properties affected by the set of the changes;
- linking the snapshot to the branch name type node, wherein the snapshot is a child node in the graph database to the branch name type node;
- linking the first set of objects to the snapshot within the hierarchical structure, wherein the set of objects are descendent nodes in the graph database to both the branch name type node and the snapshot;
- and
- linking a second set of objects to the snapshot within the hierarchical structure, wherein the second set of objects are existing objects in the graph database whose properties are not affected by the set of the changes.
A computer system comprising:
- a processor;
- an information manager that receives a request from a client computer system for a version of a piece of information;
- identifies an aggregate object in a graph database using an identifier in the request, wherein the aggregate object is an independently addressable node in the graph database that contains a hierarchical structure of branches, and wherein the branches are different versions of the piece of information that are effective at different time periods;
- identifies a branch for the piece of information in the aggregate object using a time period indicated in the request;
- and sends a response to the client computer system, wherein the response includes the version of the piece of information that is effective at the time period indicated in the request;
- wherein the information manager:
- responsive to receiving a transaction to change the piece of information, performs a group of changes to a branch for the piece of information in the aggregate object that is effective at a time period indicated in the transaction;
- and
- sends a response to the client computer system, wherein the response includes the piece of information with a set of the changes made to the branch at the time period indicated in the transaction;
- wherein performing the group of changes to the branch by the information manager comprises:
- creating a new branch in the hierarchical structure, wherein the new branch includes a first set of objects under the aggregate object, wherein the first set of objects contain the changes made to the branch at the time period indicated by the transaction, and the identifier is a transaction identifier that identifies the transaction;
- wherein creating the new branch in the hierarchical structure by the information manager further comprises:
- creating a snapshot for the version of the piece of information;
- linking the snapshot to the branch within the hierarchical structure according to the time period indicated in the transaction, wherein the snapshot is a descendant node in the graph database to an object having properties affected by the set of the changes;
- creating the first set of objects, wherein the first set of objects contain changed properties of the object;
- and
- linking the first set of objects to the snapshot within the hierarchical structure, wherein the first set of objects are descendent nodes in the graph database to the snapshot;
- wherein creating a new branch in the hierarchical structure by the information manager comprises:
- linking a branch name type node to the branch within the hierarchical structure, wherein the branch name type node is a child node in the graph database to the object having properties affected by the set of the changes;
- linking a snapshot to the branch name type node, wherein the snapshot is a child node in the graph database to the branch name type node;
- linking a first set of objects to the snapshot within the hierarchical structure, wherein the first set of objects are descendent nodes in the graph database to both the branch name type node and the snapshot;
- and
- linking a second set of objects to the snapshot within the hierarchical structure, wherein the second set of objects are existing objects in the graph database whose properties are not affected by the set of the changes.
A computer program product for accessing information, the computer program product comprising:
- a non-transitory computer readable storage media;
- program code, stored on the computer readable storage media, for receiving a request from a client computer system for a version of a piece of information;
- program code, stored on the computer readable storage media, for identifying an aggregate object in a graph database using an identifier in the request, wherein the aggregate object is an independently addressable node in the graph database that contains a hierarchical structure of branches, and wherein the branches are different versions of the piece of information that are effective at different time periods;
- program code, stored on the computer readable storage media, for identifying a branch for the piece of information in the aggregate object using a time period indicated in the request;
- program code, stored on the computer readable storage media, for sending a response to the client computer system, wherein the response includes the version of the piece of information that is effective at the time period indicated in the request;
- program code, stored on the computer readable storage media, for performing a group of changes to a branch for the piece of information in the aggregate object that is effective at a time period indicated in a transaction in response to receiving the transaction to change the piece of information;
- wherein the program code for performing the group of changes to the branch comprises:
- creating a new branch in the hierarchical structure, wherein the new branch includes a first set of objects under the aggregate object, wherein the first set of objects contain the changes made to the branch at the time period indicated by the transaction, and the identifier is a transaction identifier that identifies the transaction;
- wherein the piece of information is in a portion of the information controlled by a source in sources that control portions of the information at a location and further comprising:
- program code, stored on the computer readable storage media, for creating a snapshot for the version of the piece of information;
- program code, stored on the computer readable storage media, for linking the snapshot to the branch within the hierarchical structure according to the time period indicated in a transaction, wherein the snapshot is a descendant node in the graph database to an object having properties affected by the set of the changes;
- program code, stored on the computer readable storage media, for creating a first set of objects, wherein the first set of objects contain changed properties of the object;
- and
- program code, stored on the computer readable storage media, for linking the first set of objects to the snapshot within the hierarchical structure, wherein the first set of objects are descendent nodes in the graph database to the snapshot.
A method for accessing information, the method comprising:
- receiving a request to change a piece of information from a source;
- identifying an aggregate object in a graph database using an identifier in the request, wherein the aggregate object is an independently addressable node in the graph database that contains a hierarchical structure of branches, and wherein the branches are different versions of the piece of information that are effective at different time periods and wherein the identifier identifies the branch;
- changing the piece of information when the request is from a source that controls a portion of the information in which the branches for the piece of information are located in a location and the source is part of sources that control portions of the information in the location, wherein changing the piece of information comprises creating a new branch in the hierarchical structure, wherein the new branch includes a set of objects under the aggregate object, wherein the set of objects contain the changes made to the branch at the time period indicated by a transaction, and the identifier is a transaction identifier that identifies the transaction;
- wherein the branches have different formats and the different formats used are controlled by the source, wherein the branches have temporal data for pieces of the information and the temporal data is controlled by the source;
- wherein creating the new branch in the hierarchical structure further comprises:
- creating a branch name type node for the version of the piece of information;
- linking the branch name type node to the branch within the hierarchical structure, wherein the branch name type node is a child node in the graph database to the object having properties affected by the set of the changes;
- linking a snapshot to the branch name type node, wherein the snapshot is a child node in the graph database to the branch name type node;
- linking a first set of objects to the snapshot within the hierarchical structure, wherein the set of objects are descendent nodes in the graph database to both the branch name type node and the snapshot;
- and
- linking a second set of objects to the snapshot within the hierarchical structure, wherein the second set of objects are existing objects in the graph database whose properties are not affected by the set of the changes.
A computer system comprising:
- a processor;
- an information manager that receives a request to change a piece of information from a source;
- identifies an aggregate object in a graph database using an identifier in the request, wherein the aggregate object is an independently addressable node in the graph database that contains a hierarchical structure of branches, and wherein the branches are different versions of the piece of information that are effective at different time periods, and wherein the identifier identifies the branch;
- and changes the piece of information when the request is from a source that controls a portion of the information in which the branches for the piece of information are located in a location and the source is part of sources that control portions of the information in the location, wherein changing the piece of information comprises creating a new branch in the hierarchical structure, wherein the new branch includes a set of objects under the aggregate object, wherein the set of objects contain the changes made to the branch at the time period indicated by a transaction, and the identifier is a transaction identifier that identifies the transaction;
- wherein creating the new branch by the information manager in the hierarchical structure further comprises:
- creating a snapshot for the version of the piece of information;
- linking the snapshot to the branch within the hierarchical structure according to the time period indicated in the transaction, wherein the snapshot is a descendant node in the graph database to an object having properties affected by the set of the changes;
- creating a first set of objects, wherein the first set of objects contain changed properties of the object;
- linking the first set of objects to the snapshot within the hierarchical structure, wherein the first set of objects are descendent nodes in the graph database to the snapshot;
- wherein the branches have different formats and the different formats used are controlled by the source, wherein the branches have temporal data for pieces of the information and the temporal data is controlled by the source;
- and
- wherein creating the new branch by the information manager in the hierarchical structure further comprises:
- creating a branch name type node for the version of the piece of information;
- linking the branch name type node to the branch within the hierarchical structure, wherein the branch name type node is a child node in the graph database to the object having properties affected by the set of the changes;
- linking a snapshot to the branch name type node, wherein the snapshot is a child node in the graph database to the branch name type node;
- linking a first set of objects to the snapshot within the hierarchical structure, wherein the set of objects are descendent nodes in the graph database to both the branch name type node and the snapshot;
- and
- linking a second set of objects to the snapshot within the hierarchical structure, wherein the second set of objects are existing objects in the graph database whose properties are not affected by the set of the changes.
A computer program product for accessing information, the computer program product comprising:
- a non-transitory computer readable storage media;
- program code, stored on the computer readable storage media, for receiving a request to change a piece of information from a source;
- program code, stored on the computer readable storage media, for identifying an aggregate object in a graph database using an identifier in the request, wherein the aggregate object is an independently addressable node in the graph database that contains a hierarchical structure of branches, and wherein the branches are different versions of the piece of information that are effective at different time periods, and wherein the identifier identifies the branch;
- program code, stored on the computer readable storage media, for changing the piece of information when the request is from a source that controls a portion of the information in which the branches for the piece of information are located in a location and the source is part of sources that control portions of the information in the location, wherein changing the piece of information comprises creating a new branch in the hierarchical structure, wherein the new branch includes a set of objects under the aggregate object, wherein the set of objects contain the changes made to the branch at the time period indicated by a transaction, and the identifier is a transaction identifier that identifies the transaction;
- wherein the program code for creating the new branch in the hierarchical structure further comprises:
- program code, stored on the computer readable storage media, for creating a branch name type node for the version of the piece of information;
- program code, stored on the computer readable storage media, for linking the branch name type node to the branch within the hierarchical structure, wherein the branch name type node is a child node in the graph database to the object having properties affected by the set of the changes;
- program code, stored on the computer readable storage media, for linking a snapshot to the branch name type node, wherein the snapshot is a child node in the graph database to the branch name type node;
- program code, stored on the computer readable storage media, for linking a first set of objects to the snapshot within the hierarchical structure, wherein the set of objects are descendent nodes in the graph database to both the branch name type node and the snapshot;
- and
- program code, stored on the computer readable storage media, for linking a second set of objects to the snapshot within the hierarchical structure, wherein the second set of objects are existing objects in the graph database whose properties are not affected by the set of the changes.
Dependencies are inferred from the claim text.