IP Library Granted Patent US 7,801,894
Granted Patent B1
US 7,801,894 · App. 11/262,283 · Granted Sep 21, 2010

Method and apparatus for harvesting file system metadata

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,801,894
App. No.
11/262,283
Granted
Sep 21, 2010
Kind
B1
Abstract

A harvester is disclosed for harvesting metadata of managed objects (files and directories) across file systems which are generally not interoperable in an enterprise environment. Harvested metadata may include 1) file system attributes such as size, owner, recency; 2) content-specific attributes such as the presence or absence of various keywords (or combinations of keywords) within documents as well as concepts comprised of natural language entities; 3) synthetic attributes such as mathematical checksums or hashes of file contents; and 4) high-level semantic attributes that serve to classify and categorize files and documents. The classification itself can trigger an action in compliance with a policy rule. Harvested metadata are stored in a metadata repository to facilitate the automated or semi-automated application of policies.

Claims (63)

1. A method for harvesting file system metadata, comprising:

interacting with a file system abstraction layer/protocol adaptor to access managed files and directories across file systems that operate under various file system protocols at one or more physical locations;

collecting raw metadata of the managed files and directories;

filtering the raw metadata in real time;

placing the filtered raw metadata in one or more volume metadata caches;

synthesizing synthetic metadata from the filtered raw metadata;

generating content-based metadata, wherein generating content-based metadata for a managed file comprises processing content of the file according to a type of the file to determine one or more content-specific entities within the file;

transforming the filtered raw metadata, the synthetic metadata, and the content-based metadata into metadata records having a common representation, wherein each of the metadata record comprises a set of attributes associated with a file or directory residing on the file systems;

processing the metadata records; and

placing processed metadata records in volume clusters, wherein each of the volume clusters comprises one or more node data tables and one or more attribute tables, wherein each of the one or more node data tables represents denormalized dense attribute space common to the file systems and is timestamped by an epoch corresponding to a definition of freshness of data contained therein, and wherein each of the one or more attribute tables corresponds to a sparse attribute-volume-epoch combination.

2. The method according to claim 1 , wherein the step of collecting the raw metadata of the managed files and directories further comprises locating files and directories that need to be classified.

3. The method according to claim 1 , wherein the interacting step and the steps thereafter are performed in scheduled batches.

4. The method according to claim 1 , wherein the interacting step and the steps thereafter are performed automatically upon an occurrence of a file system event.

5. The method according to claim 1 , wherein the interacting step and the steps thereafter are performed in response to a user request.

6. The method according to claim 1 , further comprising:

determining whether to keep, deprecate, expire, or garbage collect a metadata record stored in the volume clusters.

7. The method according to claim 1 , further comprising:

retrieve one or more candidate metadata records from the volume clusters;

perform one or more enrichment operations on the one or more candidate metadata records; and

updating the volume clusters accordingly.

8. The method according to claim 1 , further comprising:

generating one or more reports utilizing one or more metadata records stored in the volume clusters; and

storing the one or more reports in a report repository.

9. A computer program product comprising one or more computer readable storage media storing instructions translatable by one or more processors to perform:

interacting with a file system abstraction layer/protocol adaptor to access managed files and directories across file systems that operate under various file system protocols at one or more physical locations;

collecting raw metadata of the managed files and directories;

filtering the raw metadata in real time;

placing the filtered raw metadata in one or more volume metadata caches;

synthesizing synthetic metadata from the filtered raw metadata;

generating content-based metadata, wherein generating content-based metadata for a managed file comprises processing content of the file according to a type of the file to determine one or more content-specific entities within the file;

transforming the filtered raw metadata, the synthetic metadata, and the content-based metadata into metadata records having a common representation, wherein each of the metadata record comprises a set of attributes associated with a file or directory residing on the file systems;

processing the metadata records; and

placing processed metadata records in volume clusters, wherein each of the volume clusters comprises one or more node data tables and one or more attribute tables, wherein each of the one or more node data tables represents denormalized dense attribute space common to the file systems and is timestamped by an epoch corresponding to a definition of freshness of data contained therein, and wherein each of the one or more attribute tables corresponds to a sparse attribute-volume-epoch combination.

10. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform:

locating files and directories that need to be classified.

11. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform the interacting step and the steps thereafter in scheduled batches.

12. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform the interacting step and the steps thereafter automatically upon an occurrence of a file system event.

13. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform the interacting step and the steps thereafter in response to a user request.

14. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform:

determining whether to keep, deprecate, expire, or garbage collect a metadata record stored in the volume clusters.

15. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform:

retrieve one or more candidate metadata records from the volume clusters;

perform one or more enrichment operations on the one or more candidate metadata records; and

updating the volume clusters accordingly.

16. The computer program product of claim 9 , wherein the instructions are further translatable by the one or more processors to perform:

generating one or more reports utilizing one or more metadata records stored in the volume clusters; and

storing the one or more reports in a report repository.

17. A system for harvesting file system metadata, comprising:

an appliance coupled to file systems over a network, wherein the file systems operate under various file system protocols at one or more physical locations and wherein the appliance comprises volume metadata caches and volume clusters, wherein each of the volume clusters comprises one or more node data tables and one or more attribute tables, wherein each of the one or more node data tables represents denormalized dense attribute space common to the file systems and is timestamped by an epoch corresponding to a definition of freshness of data contained therein, and wherein each of the one or more attribute tables corresponds to a sparse attribute-volume-epoch combination;

one or more processors; and

one or more computer readable storage media storing instructions translatable by the one or more processors to perform:

interacting with a file system abstraction layer/protocol adaptor to access managed files and directories across the file systems;

collecting raw metadata of the managed files and directories;

filtering the raw metadata in real time;

placing the filtered raw metadata in one or more of the volume metadata caches;

synthesizing synthetic metadata from the filtered raw metadata;

generating content-based metadata, wherein generating content-based metadata for a managed file comprises processing content of the file according to a type of the file to determine one or more content-specific entities within the file;

transforming the filtered raw metadata, the synthetic metadata, and the content-based metadata into metadata records having a common representation, wherein each of the metadata record comprises a set of attributes associated with a file or directory residing on the file systems;

processing the metadata records; and

placing processed metadata records in one or more of the volume clusters.

18. The system of claim 17 , wherein the instructions are further translatable by the one or more processors to perform the interacting step and the steps thereafter in scheduled batches.

19. The system of claim 17 , wherein the instructions are further translatable by the one or more processors to perform the interacting step and the steps thereafter automatically upon an occurrence of a file system event.

20. The system of claim 17 , wherein the instructions are further translatable by the one or more processors to perform the interacting step and the steps thereafter in response to a user request.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 2, 2014
From: STORED IQ
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032590/0416 →