IP Library Granted Patent US 9,020,887
Granted Patent B2
US 9,020,887 · App. 11/054,325 · Granted Apr 28, 2015

Managing the status of documents in a distributed storage system

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 9,020,887
App. No.
11/054,325
Granted
Apr 28, 2015
Kind
B2
Abstract

Managing the status of documents in a distributed storage system is disclosed. Upon determining that a first version exists and a second version having a predecessor version identifier exists, the predecessor version identifier is used to determine that the second version is related to the first version. Based upon the existence of the related second version, the status of the first version is updated.

Claims (63)

1. A method for managing documents comprising:

determining that a first version exists at a first host;

determining that a second version having a predecessor version identifier exists at a second host;

determining from the predecessor version identifier that the second version is related to the first version; and

updating a version history to reflect the determined relationship between the first version and the second version;

wherein each version, including the first version and the second version, comprises an independent file that includes data comprising that version as well as an individual version history that is persisted with the file comprising a version identifier for that version as well as any applicable predecessor version identifiers associated with related predecessor versions; and

wherein each host, including the first host and the second host, comprises a node in a network in which one or more document versions, including the first version and the second version, are distributively stored.

2. A method as recited in claim 1 wherein determining that the second version is related to the first version comprises matching the predecessor version identifier with a version identifier assigned to the first version.

3. A method as recited in claim 1 wherein the updated version history comprises a local version history at the first host.

4. A method as recited in claim 1 wherein the updated version history comprises a global version history at a device that maintains the version history of versions created in the network.

5. A method as recited in claim 1 further comprising merging the first version with the second version.

6. A method as recited in claim 1 further comprising providing the first version and the second version to a user for merging.

7. A method as recited in claim 1 further comprising notifying a user of the first version of the existence of the second version.

8. A method as recited in claim 1 further comprising providing access to the second version.

9. A method as recited in claim 1 further comprising providing a link to the second version.

10. A method as recited in claim 1 further comprising notifying a user of the first version of the existence of the second version upon an expression of interest by the user and without otherwise interrupting the user.

11. A method as recited in claim 1 further comprising providing an instruction to the second host to send the second version to the first host.

12. A method as recited in claim 1 wherein the second version has a plurality of predecessor version identifiers.

13. A method as recited in claim 1 wherein the first version has a plurality of predecessor version identifiers.

14. A method as recited in claim 1 wherein the second version has a plurality of predecessor version identifiers and wherein determining that the second version is related to the first version comprises matching one of the plurality of predecessor version identifiers with a version identifier assigned to the first version.

15. A method as recited in claim 1 wherein the predecessor version identifier is persistently associated with the second version.

16. A method as recited in claim 1 wherein the first version has a first version document identifier and the second version has a second version document identifier.

17. A method as recited in claim 16 wherein determining that the second version is related to the first version comprises:

determining that the first version document identifier is related to the second version document identifier; and

matching the predecessor version identifier with a version identifier assigned to the first version.

18. A method as recited in claim 16 wherein determining that the second version is related to the first version comprises:

determining that the first version document identifier is the same as the second version document identifier; and

matching the predecessor version identifier with a version identifier assigned to the first version.

19. A method as recited in claim 1 further comprising determining that a user of the first version is authorized to access the second version.

20. A method as recited in claim 19 wherein the user is authorized by a server.

21. A method as recited in claim 19 wherein the user is a first user and wherein the first user is authorized by a second user.

22. A method as recited in claim 19 wherein the user is authorized by an access-control list embedded in the second version.

23. A method as recited in claim 1 wherein the first version has a plurality of first version predecessor version identifiers, the second version has a plurality of second version predecessor version identifiers, and determining that the second version is related to the first version comprises verifying that at least one first version predecessor version identifier is the same as at least one second version predecessor version identifier.

24. A method as recited in claim 1 wherein determining that the second version exists comprises receiving a copy of the second version at the first host.

25. A method as recited in claim 1 wherein each host maintains a local version history of the relationships of one or more document versions stored at that host.

26. A system for managing documents comprising:

a memory for storing a version history of documents; and

a processor configured to:

determine that a first version exists at a first host;

determine that a second version having a predecessor version identifier exists at a second host;

determine from the predecessor version identifier that the second version is related to the first version; and

update the version history to reflect the determined relationship between the first version and the second version;

wherein each version, including the first version and the second version, comprises an independent file that includes data comprising that version as well as an individual version history that is persisted with the file comprising a version identifier for that version as well as any applicable predecessor version identifiers associated with related predecessor versions; and

wherein each host, including the first host and the second host, comprises a node in a network in which one or more document versions, including the first version and the second version, are distributively stored.

27. A system as recited in claim 26 wherein the updated version history comprises a local version history at the first host.

28. A system as recited in claim 26 wherein the updated version history comprises a global version history at a device that maintains the version history of versions created in the network.

29. A system as recited in claim 26 wherein the second version has a plurality of predecessor version identifiers and wherein determining that the second version is related to the first version comprises matching one of the plurality of predecessor version identifiers with a version identifier assigned to the first version.

30. A system as recited in claim 26 wherein the first version has a plurality of first version predecessor version identifiers, the second version has a plurality of second version predecessor version identifiers, and determining that the second version is related to the first version comprises verifying that at least one first version predecessor version identifier is the same as at least one second version predecessor version identifier.

31. A system as recited in claim 26 wherein determining that the second version exists comprises receiving a copy of the second version at the first host.

32. A system as recited in claim 26 wherein each host maintains a local version history of the relationships of one or more document versions stored at that host.

33. A computer program product for managing documents, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

determining that a first version exists at a first host;

determining that a second version having a predecessor version identifier exists at a second host;

determining from the predecessor version identifier that the second version is related to the first version; and

updating a version history to reflect the determined relationship between the first version and the second version;

wherein each version, including the first version and the second version, comprises an independent file that includes data comprising that version as well as an individual version history that is persisted with the file comprising a version identifier for that version as well as any applicable predecessor version identifiers associated with related predecessor versions; and

wherein each host, including the first host and the second host, comprises a node in a network in which one or more document versions, including the first version and the second version, are distributively stored.

34. A computer program product as recited in claim 33 wherein the updated version history comprises a local version history at the first host.

35. A computer program product as recited in claim 33 wherein the updated version history comprises a global version history at a device that maintains the version history of versions created in the network.

36. A computer program product as recited in claim 33 wherein the second version has a plurality of predecessor version identifiers and wherein determining that the second version is related to the first version comprises matching one of the plurality of predecessor version identifiers with a version identifier assigned to the first version.

37. A computer program product as recited in claim 33 wherein the first version has a plurality of first version predecessor version identifiers, the second version has a plurality of second version predecessor version identifiers, and determining that the second version is related to the first version comprises verifying that at least one first version predecessor version identifier is the same as at least one second version predecessor version identifier.

38. A computer program product as recited in claim 33 wherein determining that the second version exists comprises receiving a copy of the second version at the first host.

39. A computer program product as recited in claim 33 wherein each host maintains a local version history of the relationships of one or more document versions stored at that host.

Assignments (6)
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 8, 2025
From: PROOFPOINT, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 073889/0677 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Mar 21, 2024
From: GOLDMAN SACHS BANK USA, AS AGENT
To: PROOFPOINT, INC.
Reel/Frame 066865/0648 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 31, 2021
From: PROOFPOINT, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 057389/0615 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 31, 2021
From: PROOFPOINT, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 057389/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2013
From: NEXTPAGE, INC.
To: PROOFPOINT, INC.
Reel/Frame 031692/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2005
From: NGO, JOHN-THOMAS CALDERON; WEBB, JAMES TODD
To: NEXTPAGE, INC.
Reel/Frame 016277/0553 →