IP Library Granted Patent US 7,653,647
Granted Patent B2
US 7,653,647 · App. 10/869,723 · Granted Jan 26, 2010

System and method for determining file system data integrity

Assignee: Symantec Operating Corporation
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,653,647
App. No.
10/869,723
Granted
Jan 26, 2010
Kind
B2
Abstract

A system and method for determining file system data integrity. In one embodiment, the system includes a storage device configured to store data and a file system configured to manage access to the storage device, to store plurality of files, to store a respective signature of each of the plurality of files, and to compare a respective signature of a given file against a corresponding validation signature. In one specific implementation, the system further includes a validation signature inventory including a plurality of validation signatures, and the file system is further configured to validate a particular file by retrieving a corresponding particular validation signature from the validation signature inventory and comparing the corresponding particular validation signature against the respective signature of the particular file. In another specific implementation, the file system is further configured to store the corresponding validation signature of the given file in a write-once storage attribute.

Claims (48)

1. A system, comprising:

a storage device configured to store a plurality of files; and

a host computing device configured to implement an operating system including a file system, wherein said file system is configured to store said files to said storage device and to manage accesses to said storage device, wherein said accesses are generated by applications distinct from said operating system;

wherein said file system is further configured to generate and store a respective signature of each of said plurality of files, and to compare a respective signature of a given one of said files against a corresponding validation signature, wherein the file system is further configured to:

store the validation signature in a write-once storage location associated with the given one of said files; and

prevent the validation signature stored in the write-once storage location from being altered after being stored, until the given one of said files is deleted; and

wherein said file system is further configured to compute an updated version of said respective signature of said given file in response to detecting an operation to modify said given file, wherein said operation is generated by one of said applications, and wherein said file system is further configured to compare said updated version of said respective signature against said corresponding validation signature subsequent to computing said updated version of said respective signature.

2. The system as recited in claim 1 , wherein said comparing occurs in response to a request to validate said given file that occurs asynchronously with respect to said operation to modify said given file.

3. The system as recited in claim 1 , further comprising a validation signature inventory including a plurality of validation signatures, wherein said plurality of validation signatures includes said corresponding validation signature, and wherein said file system is further configured to validate a particular file by retrieving a corresponding particular validation signature from said validation signature inventory and comparing said corresponding particular validation signature against the respective signature of said particular file.

4. The system as recited in claim 1 , wherein said corresponding validation signature is stored in said write-once attribute in response to a first close operation following creation of said given file.

5. The system as recited in claim 1 , wherein said respective signature of said given file is stored in a metadata record associated with said given file.

6. The system as recited in claim 5 , wherein said metadata record is stored in a named stream associated with said given file.

7. The system as recited in claim 5 , wherein said metadata record is stored in a data format compatible with a version of Extensible Markup Language (XML) format.

8. A method, comprising:

a file system, implemented by an operating system executing on a host computing device, storing a plurality of files to a storage device;

said file system managing accesses to said storage device, wherein said accesses are generated by applications distinct from said operating system;

said file system generating and storing a respective signature of each of said plurality of files;

said file system comparing a respective signature of a given one of said files against a corresponding validation signature;

said file system storing the validation signature in a write-once storage location associated with the given one of said files;

said file system preventing the validation signature stored in the write-once storage location from being altered after being stored, until the given one of said files is deleted;

said file system computing an updated version of said respective signature of said given file in response to detecting an operation to modify said given file, wherein said operation is generated by one of said applications; and

said file system comparing said updated version of said respective signature against said corresponding validation signature subsequent to said computing.

9. The method as recited in claim 8 , wherein said comparing occurs in response to a request to validate said given file that occurs asynchronously with respect to said operation to modify said given file.

10. The method as recited in claim 8 , further comprising said file system validating a particular file by retrieving a corresponding particular validation signature from a validation signature inventory including a plurality of validation signatures, wherein said plurality of validation signatures includes said corresponding validation signature, and comparing said corresponding particular validation signature against the respective signature of said particular file.

11. The method as recited in claim 8 , wherein said file system storing said corresponding validation signature in said write-once attribute occurs in response to a first close operation following creation of said given file.

12. The method as recited in claim 8 , wherein said respective signature of said given file is stored in a metadata record associated with said given file.

13. The method as recited in claim 12 , wherein said metadata record is stored in a named stream associated with said given file.

14. The method as recited in claim 12 , wherein said metadata record is stored in a data format compatible with a version of Extensible Markup Language (XML) format.

15. A computer-accessible storage medium comprising program instructions, wherein the program instructions are executable to implement:

a file system of an operating system storing a plurality of files to a storage device;

said file system managing accesses to said storage device, wherein said accesses are generated by applications distinct from said operating system;

said file system generating and storing a respective signature of each of said plurality of files;

said file system comparing a respective signature of a given one of said files against a corresponding validation signature;

said file system storing the validation signature in a write-once storage location associated with the given one of said files;

said file system preventing the validation signature stored in the write-once storage location from being altered after being stored, until the given one of said files is deleted;

said file system computing an updated version of said respective signature of said given file in response to detecting an operation to modify said given file generated by one of said applications; and

said file system comparing said updated version of said respective signature against said corresponding validation signature subsequent to said computing.

16. The computer-accessible storage medium as recited in claim 15 , wherein said comparing occurs in response to a request to validate said given file that occurs asynchronously with respect to said operation to modify said given file.

17. The computer-accessible storage medium as recited in claim 15 , wherein the program instructions are further executable to implement said file system validating a particular file by retrieving a corresponding particular validation signature from a validation signature inventory including a plurality of validation signatures, wherein said plurality of validation signatures includes said corresponding validation signature, and comparing said corresponding particular validation signature against the respective signature of said particular file.

18. The computer-accessible storage medium as recited in claim 15 , wherein said file system storing said corresponding validation signature in said write-once attribute occurs in response to a first close operation following creation of said given file.

19. The computer-accessible storage medium as recited in claim 15 , wherein said respective signature of said given file is stored in a metadata record associated with said given file.

20. The computer-accessible storage medium as recited in claim 19 , wherein said metadata record is stored in a named stream associated with said given file.

21. The computer-accessible storage medium as recited in claim 19 , wherein said metadata record is stored in a data format compatible with a version of Extensible Markup Language (XML) format.

22. The system as recited in claim 1 , wherein in response to detecting a mismatch between said updated version of said respective signature and said corresponding validation signature, said file system is further configured to generate an error condition indicative of possible corruption of said given file.

23. The method as recited in claim 8 , further comprising:

in response to detecting a mismatch between said updated version of said respective signature and said corresponding validation signature, said file system generating an error condition indicative of possible corruption of said given file.

24. The computer-accessible storage medium as recited in claim 15 , wherein the program instructions are further executable to implement:

in response to detecting a mismatch between said updated version of said respective signature and said corresponding validation signature, said file system generating an error condition indicative of possible corruption of said given file.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2004
From: BORTHAKUR, DHRUBAJYOTI; PREMO, NUR; PASQUA, JOSEPH
To: VERITAS OPERATING CORPORATION
Reel/Frame 015488/0239 →
Continuity (2)
Continuation In Part 1072370400 · Nov 26, 2003
Related Publication 20050114338A1 · May 26, 2005