IP Library Granted Patent US 7,693,891
Granted Patent B2
US 7,693,891 · App. 11/733,103 · Granted Apr 6, 2010

Apparatus for policy based storage of file data and meta-data changes over time

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,693,891
App. No.
11/733,103
Granted
Apr 6, 2010
Kind
B2
Abstract

A time domain server includes a version storage. The time domain server declares epochs for a source server, then requests events from the source server. As the time domain server receives events, it uses the events to update the version storage to store versions of files from the source server.

Claims (81)

1. A computer-implemented method for storing changes on a time domain server, comprising:

declaring a start to an epoch, wherein declaring a start to an epoch includes declaring a start to an epoch for a source server;

maintaining the epoch as active until an end to the epoch is declared;

requesting a file event from the source server, the file event identified as having occurred during the epoch and identifying a file whose timestamp lies in the epoch;

associating the file with the epoch;

copying the file from the source server;

saving the file on the time domain server, the file versioned by the timestamp, wherein saving the file includes associating the file with the source server;

retaining an earlier version of the file on the time domain server;

declaring a start to a second epoch for a second source server;

maintaining the second epoch as active until an end to the second epoch is declared;

requesting a second file event from the second source server, the second event identified as having occurred during the second epoch on the second source server and identifying a second file whose timestamp lies in the first epoch;

copying the second file from the second source server; and

saving the second file on the time domain server, the second file versioned by the timestamp and associated with the second source server.

2. A computer-implemented method according to claim 1 , further comprising declaring an end to the epoch.

3. A computer-implemented method according to claim 1 , further comprising informing the source server that the file event can be removed from an event list.

4. A computer-implemented method according to claim 1 , wherein:

the method further comprises determining if the file is to be stored according to a policy; and

copying the file includes copying the file from a first storage the source server if the policy indicates the file is to be stored.

5. A computer-implemented method according to claim 1 , further comprising:

determining that a number of earlier versions of the file exist;

determining a maximum number of earlier versions of the file to retain according to a policy; and

removing an oldest version of the file from the time domain server if the policy indicates that too many earlier versions of the file exist.

6. A computer-implemented method according to claim 1 , further comprising indexing the file and the earlier version of the file in a search database.

7. A computer-implemented method according to claim 1 , further comprising:

copying an access control information for the file from the source server; and

storing the access control information with the file on the time domain server.

8. A computer-implemented method for storing changes on a time domain server, comprising:

declaring a start to an epoch, wherein declaring a start to an epoch includes declaring a start to an epoch for a source server;

maintaining the epoch as active until an end to the epoch is declared;

requesting a file event from the source server, the file event identified as having occurred during the epoch and identifying a file whose timestamp lies in the epoch;

copying the file from the source server;

saving the file on the time domain server, the file versioned by the timestamp, wherein saving the file includes associating the file with the source server;

determining if an earlier version of the file exists on the time domain server;

determining if the earlier version of the file has been stored for a specified time interval according to a policy;

removing the earlier version of the file from the time domain server if the policy indicates that the earlier version of the file is to be removed;

declaring a start to a second epoch for a second source server;

maintaining the second epoch as active until an end to the second epoch is declared;

requesting a second file event from the second source server, the second event identified as having occurred during the second epoch on the second source server and identifying a second file whose timestamp lies in the first epoch;

copying the second file from the second source server; and

saving the second file on the time domain server, the second file versioned by the timestamp and associated with the second source server.

9. A computer-implemented method according to claim 8 , further comprising declaring an end to the epoch.

10. A computer-implemented method according to claim 9 , further comprising:

monitoring the file event by the source server;

verifying by the source server that the file event occurred after the start of the epoch and before the end of the epoch; and

identifying the file event as having occurred during the epoch by the source server if the event occurred after the start of the epoch and before the end of the epoch.

11. A computer-implemented method according to claim 8 , further comprising informing the source server that the file event can be removed from an event list.

12. A computer-implemented method according to claim 8 , wherein:

the method further comprises determining if the file is to be stored according to a policy; and

copying the file includes copying the file from a first storage the source server if the policy indicates the file is to be stored.

13. A computer-implemented method according to claim 8 , further comprising:

determining that a number of earlier versions of the file exist;

determining a maximum number of earlier versions of the file to retain according to a policy; and

removing an oldest version of the file from the time domain server if the policy indicates that too many earlier versions of the file exist.

14. A computer-implemented method according to claim 8 , further comprising indexing the file and the earlier version of the file in a search database.

15. A computer-implemented method according to claim 8 , further comprising:

copying an access control information for the file from the source server; and

storing the access control information with the file on the time domain server.

16. A tangible computer-readable medium storing computer-executable instructions that, when executed, result in a computer:

declaring a start to an epoch, wherein declaring a start to an epoch includes declaring a start to an epoch for a source server;

maintaining the epoch as active until an end to the epoch is declared;

requesting a file event from the source server, the file event identified as having occurred during the epoch and identifying a file whose timestamp lies in the epoch;

associating the file with the epoch;

copying the file from the source server;

saving the file on the time domain server, the file versioned by the timestamp, wherein saving the file includes associating the file with the source server;

retaining an earlier version of the file on the time domain server;

declaring a start to a second epoch for a second source server;

maintaining the second epoch as active until an end to the second epoch is declared;

requesting a second file event from the second source server, the second event identified as having occurred during the second epoch on the second source server and identifying a second file whose timestamp lies in the first epoch;

copying the second file from the second source server; and

saving the second file on the time domain server, the second file versioned by the timestamp and associated with the second source server.

17. A tangible computer-readable medium according to claim 16 , wherein the computer-executable instructions, when executed, further result in the computer declaring an end to the epoch.

18. A tangible computer-readable medium according to claim 16 , wherein the computer-executable instructions, when executed, further result in the computer informing the source server that the file event can be removed from an event list.

19. A tangible computer-readable medium according to claim 16 , wherein the computer-executable instructions, when executed, further result in the computer determining if the file is to be stored according to a policy, and wherein copying the file includes copying the file from a first storage the source server if the policy indicates the file is to be stored.

20. A tangible computer-readable medium according to claim 16 , wherein the computer-executable instructions, when executed, further result in the computer:

determining that a number of earlier versions of the file exist;

determining a maximum number of earlier versions of the file to retain according to a policy; and

removing an oldest version of the file from the time domain server if the policy indicates that too many earlier versions of the file exist.

21. A tangible computer-readable medium according to claim 16 , wherein the computer-executable instructions, when executed, further result in the computer indexing the file and the earlier version of the file in a search database.

22. A tangible computer-readable medium according to claim 16 , wherein the computer-executable instructions, when executed, further result in the computer:

copying an access control information for the file from the source server; and

storing the access control information with the file on the time domain server.

Assignments (13)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →