Search engines like Google™ can fetch documents scattered across the web in no defined order within seconds with an accuracy that never ceases to surprise. On the other hand let us pick something like Beagle™, the desktop search engine that comes with Ubuntu Linux. Why can Google turn out millions of accurate results (unless you are searching for “elegant software design with perl”) while Beagle struggles. The answer is that Google’s pagerank looks at links within pages and whatnot in order to determine the rank of a webpage on the web. We then get to the point of improving file metadata through links within files. Sounds odd doesn’t it ? Well relationships between files isn’t exactly the best way to go about things. Reason? Volatile memory ( RAM ) has to be backed up by slower hard-disks. However non-volatile memory like MRAM might just be the ideal solution.
I found a research paper that introduces a filesystem called LiFS - Linking File System. LiFS enables linking within files.
LiFS introduces two system calls - rellink and relsymlink. The only difference between the two is that the former creates a hard-link and the latter creates the more popular ( among unix users ) symbolic links. rellink <source> <destination> should hard-link the destination to the inode of the source file. LiFS allows users to create multiple such links between the same two files so that users can define several relationships between the files but do ensure that each link is uniquely identifiable.
For searching the filesystem, LiFS provides “openlinkset” which allows the user to see all outgoing links from a file and “openmatchlinkset” which provides links from a source having matching attributes.
LiFS is a cool idea that I feel semantic filesystems of tomorrow ( I mean tomorrow/later, non volatile memory is not something at our/my disposal at least ) . Anyway, happy reading !



0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment