IP Library Granted Patent US 8,407,249
Granted Patent B1
US 8,407,249 · App. 13/226,165 · Granted Mar 26, 2013

Handling document revision history information in the presence of a multi-user permissions model

Inventors: Michael Pinkerton (Ashburn, VA); Thomas E. Van Lenten (Ashburn, VA); Amanda E. Walker (Reston, VA); David MacLachlan (Morgan Hill, CA); Greg Miller (San Jose, CA); Alex B. Harper (Santa Clara, CA)
Assignee: Google Inc.
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,407,249
App. No.
13/226,165
Granted
Mar 26, 2013
Kind
B1
Abstract

One embodiment of the present invention provides a system that controls accesses to revisions of documents in the presence of a multi-user permissions and ownership model. During operation, the system receives a request to on behalf of a user to access a revision of a document. If the request is directed to a most-recent revision of an existing document, the system uses the multi-user permissions and ownership model to control access to the revision. Otherwise, if the request is directed to a previous revision of the document, the system grants access to the revision only if the user was the owner of the document at the time of the revision.

Claims (76)

1. A method for controlling access to revisions of documents, comprising:

in one or more computers, performing operations for:

receiving, on behalf of a user, a request to access a previous revision of a document that was made before a most-recent revision, wherein information indicating an owner of the document at a time that the previous revision was made is available, but a set of permissions for the document at the time that the previous revision was made is not available;

granting access to the previous revision when the user was the owner of the document at the time that the previous revision was made; and

granting access to the most-recent revision when the user was not the owner of the document at the time that the previous revision was made and when the user has read permissions for the document.

2. The method of claim 1 , wherein the method further comprises:

in the one or more computers, performing operations for:

receiving a query containing terms from the user;

looking up the terms in previous revisions of documents;

when the terms match terms in a given previous revision of a document, requesting to access the given previous revision on behalf of the user; and

when access is granted to the given previous revision, presenting the given previous revision to the user.

3. The method of claim 1 , wherein the method further comprises:

in the one or more computers, performing operations for:

receiving an additional revision for a document; and

storing information about the additional revision in at least one data structure that represents the document.

4. The method of claim 3 , wherein storing the information about additional revision in the at least one data structure comprises:

storing information indicating an owner of the document at a time that the additional revision was made in the at least one data structure.

5. The method of claim 1 , wherein the method further comprises:

in the one or more computer systems, performing operations for:

for each document in a plurality of documents, maintaining a data structure that represents each of the documents, wherein the data structure that represents each document comprises a sequence of events, wherein each event is associated with a revision.

6. The method of claim 1 , wherein information indicating permissions for the most-recent revision of the document is available in a set of permissions for the document, and wherein the method further comprises:

in the one or more computer systems, performing operations for:

determining that the user was the owner of the document at the time that the previous revision was made using the information indicating the owner of the document at the time that the previous revision was made; and

determining that the user has read permissions for the document using the set of permissions for the document.

7. The method of claim 6 , wherein the method further comprises:

in the one or more computer systems, performing operations for:

maintaining, in accordance with a multi-user permissions and ownership model:

the information indicating the owner of the document at the time that the previous revision was made; and

the set of permissions for the document.

8. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform operations for controlling access to revisions of documents, the operations comprising:

receiving, on behalf of a user, a request to access a previous revision of a document that was made before a most-recent revision, wherein information indicating an owner of the document at a time that the previous revision was made is available, but a set of permissions for the document at the time that the previous revision was made is not available;

granting access to the previous revision when the user was the owner of the document at the time that the previous revision was made; and

granting access to the most-recent revision when the user was not the owner of the document at the time that the previous revision was made and when the user has read permissions for the document.

9. The computer-readable storage medium of claim 8 , wherein the operations further comprise:

receiving a query containing terms from the user;

looking up the terms in previous revisions of documents;

when the terms match terms in a given previous revision of a document, requesting to access the given previous revision on behalf of the user; and

when access is granted to the given previous revision, presenting the given previous revision to the user.

10. The computer-readable storage medium of claim 8 , wherein the operations further comprise:

receiving an additional revision for a document; and

storing information about the additional revision in at least one data structure that represents the document.

11. The computer-readable storage medium of claim 10 , wherein storing the information about additional revision in the at least one data structure comprises:

storing information indicating an owner of the document at a time that the additional revision was made in the at least one data structure.

12. The computer-readable storage medium of claim 8 , wherein the operations further comprise:

for each document in a plurality of documents, maintaining a data structure that represents each of the documents, wherein the data structure that represents each document comprises a sequence of events, wherein each event is associated with a revision.

13. The computer-readable storage medium of claim 8 , wherein information indicating permissions for the most-recent revision of the document is available in a set of permissions for the document, and wherein the operations further comprise:

determining that the user was the owner of the document at the time that the previous revision was made using the information indicating the owner of the document at the time that the previous revision was made; and

determining that the user has read permissions for the document using the set of permissions for the document.

14. The computer-readable storage medium of claim 13 , wherein the operations further comprise:

maintaining, in accordance with a multi-user permissions and ownership model:

the information indicating the owner of the document at the time that the previous revision was made; and

the set of permissions for the document.

15. An apparatus for controlling access to revisions of documents, comprising:

at least one computer, wherein the at least one computer is configured to perform operations for:

receiving, on behalf of a user, a request to access a previous revision of a document that was made before a most-recent revision, wherein information indicating an owner of the document at a time that the previous revision was made is available, but a set of permissions for the document at the time that the previous revision was made is not available;

granting access to the previous revision when the user was the owner of the document at the time that the previous revision was made; and

granting access to the most-recent revision when the user was not the owner of the document at the time that the previous revision was made and when the user has read permissions for the document.

16. The apparatus of claim 15 , wherein the at least one computer is configured to perform operations for:

receiving a query containing terms from the user;

looking up the terms in previous revisions of documents;

when the terms match terms in a given previous revision of a document, requesting to access the given previous revision on behalf of the user; and

when access is granted to the given previous revision, presenting the given previous revision to the user.

17. The apparatus of claim 15 , wherein the at least one computer is configured to perform operations for:

receiving an additional revision for a document; and

storing information about the additional revision in at least one data structure that represents the document.

18. The apparatus of claim 17 , wherein, when storing the information about additional revision in the at least one data structure, the at least one computer is configured to perform operations for:

storing information indicating an owner of the document at a time that the additional revision was made in the at least one data structure.

19. The apparatus of claim 15 , wherein the at least one computer is configured to perform operations for:

for each document in a plurality of documents, maintaining a data structure that represents each of the documents, wherein the data structure that represents each document comprises a sequence of events, wherein each event is associated with a revision.

20. The apparatus of claim 15 , wherein information indicating permissions for the most-recent revision of the document is available in a set of permissions for the document, and wherein the at least one computer is configured to perform operations for:

determining that the user was the owner of the document at the time that the previous revision was made using the information indicating the owner of the document at the time that the previous revision was made; and

determining that the user has read permissions for the document using the set of permissions for the document.

21. The apparatus of claim 20 , wherein the at least one computer is configured to perform operations for:

maintaining, in accordance with a multi-user permissions and ownership model:

the information indicating the owner of the document at the time that the previous revision was made; and

the set of permissions for the document.

Assignments (1)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
Continuity (1)
Continuation 11731662 · Mar 30, 2007