1 / 13

Semantic File Systems

Semantic File Systems. A Simpler Alternative?. Contents. Hierarchical file system Semantic file systems Augmented versus Integrated approaches SFS/Discover (MIT) Possible directions Related work. Hierarchical File Systems. Special files called directories that hold lists of other files

aminia
Télécharger la présentation

Semantic File Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Semantic File Systems A Simpler Alternative?

  2. Contents • Hierarchical file system • Semantic file systems • Augmented versus Integrated approaches • SFS/Discover (MIT) • Possible directions • Related work

  3. Hierarchical File Systems • Special files called directories that hold lists of other files • Directory contains directory entries • MS-DOS • All file attributes in directory entry • Includes first block number of file • UNIX • File name and inode# in directory entry • Inode contains other file attributes • Links may cross hierarchy /

  4. Semantic File Systems (SFSs) • SFSs try to provide an alternative to the hierarchical file system • Files may still be accessed through “path”, but can now also be accessed via “semantic” attributes • E.g. I want all the files by author Jon, that are related to project X • Different from pure search in that semantic meta-data is presented as part of the file-system

  5. Augmented vs. Integrated SFS • Integrated approach, e.g. SHORE (U.Wisconsin) • complete solution • must change underlying OS • Augmented approach, e.g. SFS/Discover (MIT) • works over existing OS • user's current file access capabilities unaffected • can take advantage of ongoing OS improvements • implementation compromised by existing OS • Augmented file systems may not receive file change notifications from OS, thus requiring a custom file polling scheme http://www.objs.com/survey/OFSExt.htm - Semantic File Systems Comparison

  6. SFS/Discover (Gifford et al. 1991) • A file system layer on top of NFS supporting • virtual directories • file content extraction • All access to files through SFS file system commands (NFS compatible) to maintain sync • E.g., directory navigation commands dynamically generate directories based upon file attributes associated with, or extracted from, the files • Directory navigation is a query on specific file attributes, which in turn, generates an appropriate directory view of the information • Uses transducers (file-specific content extractors) to create file meta-data.

  7. % cd /sfs/exports:/lookup_fault % ls –F virtdir_query.c@ virtdir_query.o@ % cd ext:/c % ls –F virtdir_query.c@ % % ls –F /sfs/owner: jones/ smith/ root/ % % ls –F /sfs/owner:/smith bio.txt@ paper.tex@ prop.tex@ % % ls –F /sfs/owner:/smith/text:/resume bio.txt@ % % ls –F /sfs/field: author:/ exports:/ owner:/ text:/ category:/ ext:/ priority:/ title:/ date:/ imports:/ subject:/ types:/ dir:/ name:/ % % ls –F /sfs/field:/text:/semantic/owner:/jones mail.txt@ paper.tex@ prop.tex@

  8. Location Metaphor • While the original file/folder system may have been inspired by a filing cabinet, and a GUI may make it look like one, directories can still provide a strong sense of location • Changing directories and working from a command line interface has a natural sense of working in a particular location • Creating a sub-directory within a directory can be seen as creating a new location that can then be entered. • Entering this new location, it follows intuitively that files created here should be stored in this location • One possible approach is to try and maintain this sense of navigation through a space, but to remove the restriction of navigating only up and down a tree structure, • i.e. why not allow us to navigate arbitrarily between different sets of concepts and see the intersections of files in each location? • Effectively what Gifford et al. (1991) provide, although their syntax is a little obscure

  9. {work} {sequencer-project} {john} {java} % ls RandomSequencer.java SequencerTMVC.java SimpleAccordianSequencer.java SimpleAtkinsonSequencer.java State.java {work} {sequencer-project} {john} {java} % rc sequencer-project {work} {john} {java} % ac database-project DBAccessLite.java DBOperation.java {work} {database-project} {john} {java} % edit DBAccessLite.java {work} {database-project} {john} {java} % ac DBAccessLite.java j2me {work} {database-project} {john} {java} {j2me} % ls ExampleTestMidlet.java DBAccessLite.java

  10. Issues • Pure association • Thesaurus relations (broader/narrower) • Implicit AND or implicit OR to join concepts • Similar keywords like “image”, “images”, “pictures” & “graphics” • losing things in the file space because users remember the concept but not the precise word • allow concepts to be linked with other concepts for fuzzy searching? • concept keyword completion, so when creating new concepts a list of all existing similar keywords is displayed • Obtaining concepts from file

  11. / existing file system keywords documents code photos hawaii N B Could hardlink to all existing files Can set up arbitrary keyword association with all files What about broader/narrower operations -> could have symlinks in keyword directories, or perhaps we would need “broader” “narrower”directories in each directory that would contain symlinks (hard?) to other keywords This doesn’t provide mechanism to get intersection of two keywordsthat would have to come from some coded command Do we need a new ls? Or just some sort of merge function that wouldhandle the output from ls????? e.g. ls /usr/bin/ bin/ | merge  make this into a bash script …

  12. inode dir inode dir attr blocks attr blocks blocks blocks name inode# name inode# name inode# name inode# inode file attr blocks attr includes count of refs, in this case 2. Could extend this to store referring inode# so that we can infer the directories that contain this file

  13. Related Work • Gnome Storage: http://www.gnome.org/~seth/storage/ • Witme: http://witme.sourceforge.net/ • Concept Analysis: http://www.inria.fr/rrrt/rr-3942.html

More Related