Organizing versioning according to permissions
First Claim
Patent Images
1. A method performed by a data processing apparatus, the method comprising:
- identifying a first version of a data item to be stored, the first version of a data item having been generated based on modifications to a second version of the data item;
determining a first set of permissions associated with the first version of the data item;
identifying, in a permissions tree that includes one or more nodes each associated with specific permissions, a first node based on a similarity between the first set of permissions and permissions associated with the first node, the first node being associated with permissions matching the first set of permissions associated with the first version of the data item;
wherein identifying the first node comprises;
determining whether an existing node of the permissions tree is associated with permissions matching the first set of permissions;
if so, identifying that existing node as the first node;
if not, generating a new node of the permissions tree associated with the first set of permissions, and identifying the new node as the first node; and
storing the first version of the data item at the identified first node of the permissions tree,wherein the permissions tree stores a second version of the data item at a second node, the second node being associated with a second set of permissions not matching the first set of permissions, andwherein permissions of the data item changed between a time at which the second version of the data item was stored in the permissions tree and a time at which the first version of the data item is stored in the permissions tree.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data according to permissions. In general, one aspect of the subject matter described in this specification can be embodied in methods that include the actions of identifying a version of a data item to be stored; determining permissions associated with the version of the data item; and storing the version of the data item at a storage location that is based on the determined permissions.
-
Citations
15 Claims
-
1. A method performed by a data processing apparatus, the method comprising:
-
identifying a first version of a data item to be stored, the first version of a data item having been generated based on modifications to a second version of the data item; determining a first set of permissions associated with the first version of the data item; identifying, in a permissions tree that includes one or more nodes each associated with specific permissions, a first node based on a similarity between the first set of permissions and permissions associated with the first node, the first node being associated with permissions matching the first set of permissions associated with the first version of the data item; wherein identifying the first node comprises; determining whether an existing node of the permissions tree is associated with permissions matching the first set of permissions; if so, identifying that existing node as the first node; if not, generating a new node of the permissions tree associated with the first set of permissions, and identifying the new node as the first node; and storing the first version of the data item at the identified first node of the permissions tree, wherein the permissions tree stores a second version of the data item at a second node, the second node being associated with a second set of permissions not matching the first set of permissions, and wherein permissions of the data item changed between a time at which the second version of the data item was stored in the permissions tree and a time at which the first version of the data item is stored in the permissions tree. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
one or more computing devices operable to perform operations comprising; identifying a first version of a data item to be stored, the first version of a data item having been generated based on modifications to a second version of the data item; determining a first set of permissions associated with the first version of the data item; identifying, in a permissions tree that includes one or more nodes each associated with specific permissions, a first node based on a similarity between the first set of permissions and permissions associated with the first node, the first node being associated with permissions matching the first set of permissions associated with the first version of the data item, wherein identifying the first node comprises; determining whether an existing node of the permissions tree is associated with permissions matching the first set of permissions; if so, identifying that existing node as the first node; if not, generating a new node of the permissions tree associated with the first set of permissions, and identifying the new node as the first node; and storing the first version of the data item at the identified first node of the permissions tree, wherein the permissions tree stores a second version of the data item at a second node, the second node being associated with a second set of permissions not matching the first set of permissions, and wherein permissions of the data item changed between a time at which the second version of the data item was stored in the permissions tree and a time at which the first version of the data item is stored in the permissions tree. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
identifying a first version of a data item to be stored, the first version of a data item having been generated based on modifications to a second version of the data item; determining a first set of permissions associated with the first version of the data item; identifying, in a permissions tree that includes one or more nodes each associated with specific permissions, a first node based on a similarity between the first set of permissions and permissions associated with the first node, the first node being associated with permissions matching the first set of permissions associated with the first version of the data item; wherein identifying the first node comprises; determining whether an existing node of the permissions tree is associated with permissions matching the first set of permissions; if so, identifying that existing node as the first node; if not, generating a new node of the permissions tree associated with the first set of permissions, and identifying the new node as the first node; and storing the first version of the data item at the identified first node of the permissions tree, wherein the permissions tree stores a second version of the data item at a second node, the second node being associated with a second set of permissions not matching the first set of permissions, and wherein permissions of the data item changed between a time at which the second version of the data item was stored in the permissions tree and a time at which the first version of the data item is stored in the permissions tree. - View Dependent Claims (12, 13, 14, 15)
-
Specification