US 12,437,005 B2
File metadata service
Nikhil Bhavadas Kaplingat, Karnataka (IN); Mohankumar Ganesan, Karnataka (IN); Rajasekar P, Tamilnadu (IN); Guru Prashanth Thanakodi, Erode (IN); and Rashid Shabbir Nadaf, Dharwad (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., Sunnyvale, CA (US)
Filed on Dec. 22, 2020, as Appl. No. 17/130,183.
Prior Publication US 2022/0197944 A1, Jun. 23, 2022
Int. Cl. G06F 16/30 (2019.01); G06F 16/901 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/907 (2019.01)
CPC G06F 16/907 (2019.01) [G06F 16/901 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
evaluating metadata to identify constant attributes that remain constant over a lifespan of files and modifiable attributes modifiable over the lifespan of the files;
populating a file index of a file catalog with the constant attributes in a format corresponding to a catalog engine schema, wherein an entry within the file index for a file is populated with the constant attributes and a global identifier created for the file based upon the constant attributes;
populating a file version index of the file catalog with the modifiable attributes as file versions of the files according to the catalog engine schema, wherein the file version index includes:
a first entry created for the file based upon a first snapshot of the file at a first point in time, the first entry comprising the global identifier and a first set of modifiable attributes for the file; and
a second entry created in response to a comparison of the first snapshot and a second snapshot of the file at a second point in time indicating a modification to the file, the second entry comprising the global identifier and a second set of modifiable attributes;
in response to a threshold number of file versions being stored within the file version index, partitioning the file version index to create a new file version index;
in response to receiving a request for the file, querying the file index and the file version index using the global identifier to identify a location, of the file within a data source, using attributes within the file index and the file version index; and
providing access to the file at the location within the data source utilizing the global identifier for the file created based upon the constant attributes.