IP Library Granted Patent US 7,930,315
Granted Patent B2
US 7,930,315 · App. 10/752,958 · Granted Apr 19, 2011

History preservation in a computer 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 7,930,315
App. No.
10/752,958
Granted
Apr 19, 2011
Kind
B2
Abstract

A method by which a disk-based distributed data storage system is organized for protecting historical records of stored data entities. The method comprises recording distinct states of an entity, corresponding to different moments of time, as separate entity versions coexisting within the distributed data storage system, and assigning expiration times to the entity versions independently within each of a plurality of storage sites according to a shared set of rules, before which times deletion is prohibited.

Claims (29)

1. A method by which clients connected to a network store a plurality of data entities, which comprise constituent data items, in a data repository that enforces retention requirements, the method comprising:

storing data items in the data repository in response to storage requests sent over the network by clients of the data repository;

determining a digital fingerprint from the contents of a data item;

testing for whether the data item is stored in the repository by comparing the digital fingerprint of the data item to digital fingerprints of data items stored in the data repository; and

assigning an expiration time to the data item, before which time the data repository prohibits both modification and deletion of the data item;

wherein the expiration time assigned to the data item is finite;

wherein a request sent over the network by a client of the data repository causes the expiration time to be assigned;

wherein a location at which the data item is stored is determined, at least in part, by the digital fingerprint;

wherein determining the location comprises choosing one of a plurality of disk drives or data servers or buildings or cities;

wherein, once the expiration time has been assigned and as long as the expiration time has not yet passed, the client of the data repository can change the expiration time to be later but no action taken by the client can change the expiration time to be sooner than it is at the time of the action or cause the data item to be deleted from the data repository; and

wherein after the expiration time has passed deletion of the data item is allowed.

2. The method of claim 1 in which the data repository comprises a plurality of storage sites and a set of rules governing expiration and deletion are distributed to each of the plurality of storage sites as part of the process of storing the plurality of data entities.

3. The method of claim 1 in which the expiration time assigned to the data item depends upon expiration times assigned to the plurality of data entities.

4. The method of claim 1 in which the expiration times assigned to a plurality of data items that constitute a one of the plurality of data entities depend upon an expiration time assigned to the one data entity.

5. The method of claim 1 in which the testing determines whether or not the data item is already stored in the repository without comparing the entire contents of the data item to the entire contents of a data item already stored.

6. The method of claim 1 in which computing the digital fingerprint from the contents of the data item comprises computing a cryptographic hash function on the data that constitute the data item.

7. The method of claim 1 in which the client deposits the data item into the data repository.

8. The method of claim 7 in which, if the testing determines that the data item is already stored in the repository, the repository relies on the data item already stored rather than storing a separate copy for the client.

9. The method of claim 1 in which no action taken before the expiration time by any client program that only communicates with the data repository over a wide area network can cause the expiration time to be made sooner than it was at the time of the action or cause the data item to be deleted.

10. The method of claim 1 in which one of the plurality of data entities is a file in a file system or a record in a database or an object in an object storage system.

11. The method of claim 1 in which the data item is a constituent of a data entity and, during times when the data entity is not being accessed, no connection is visible to servers that make up the data repository between the data entity and the data item.

12. The method of claim 1 in which the client extends the expiration time more than once.

13. The method of claim 1 in which the client assigns the expiration time.

14. The method of claim 1 in which the data repository is a disk-based data storage system connected to the network.

15. The method of claim 14 in which, after the expiration time has passed, the data item is not deleted from the data repository until the client requests that it be deleted.

16. The method of claim 1 in which, after the expiration time has passed, the data item is deleted from the data repository and the storage space that was used to store the data item is reused.

17. The method of claim 7 in which a request by the client, transmitted over the network, determines the expiration time and causes the expiration time to be assigned to the data item.

18. The method of claim 17 in which no practical constraint is placed on the length of a time interval between the deposit of the data item and when the expiration time is assigned, and the data item cannot be modified or deleted during the time interval.

19. The method of claim 1 in which, after the expiration time has been assigned and before the expiration time has passed, the client sends a first request to the data repository that would cause the data item to be deleted and the request is denied, and the client sends a second request after the expiration time has passed and the data item is deleted.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: PERMABIT TECHNOLOGY CORPORATION
To: RED HAT, INC.
Reel/Frame 043833/0304 →
MERGER Recorded Jan 28, 2010
From: BURNSIDE ACQUISITION, LLC
To: PERMABIT TECHNOLOGY CORPORATION
Reel/Frame 023861/0432 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NUMBER 10752985 PREVIOUSLY RECORDED ON REEL 019605 FRAME 0618. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 26, 2007
From: PERMABIT, INC.
To: BURNSIDE ACQUISITION, LLC
Reel/Frame 020150/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2007
From: PERMABIT, INC.
To: BURNSIDE ACQUISITION, LLC
Reel/Frame 019605/0618 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2006
From: MARGOLUS, NORMAN H.
To: PERMABIT, INC.
Reel/Frame 018344/0548 →