Title: Semantic File Systems
1Semantic File Systems
2Contents
- Hierarchical file system
- Semantic file systems
- Augmented versus Integrated approaches
- SFS/Discover (MIT)
- Possible directions
- Related work
3Hierarchical 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
/
4Semantic 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
5Augmented 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
6SFS/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_at_ virtdir_query.o_at_ cd
ext/c ls F virtdir_query.c_at_ ls F
/sfs/owner jones/ smith/ root/ ls F
/sfs/owner/smith bio.txt_at_ paper.tex_at_ prop.tex_at_
ls F /sfs/owner/smith/text/resume bio.txt_at_
ls F /sfs/field author/ exports/ owner
/ text/ category/ ext/ priority/ title/ d
ate/ imports/ subject/ types/ dir/ name/
ls F /sfs/field/text/semantic/owner/jones
mail.txt_at_ paper.tex_at_ prop.tex_at_
8Location 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
9work 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
10Issues
- 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
11Could hardlink to all existing files Can set up
arbitrary keyword association with all files What
about broader/narrower operations -gt could have
symlinks in keyword directories, or perhaps we
would need broader narrowerdirectories in
each directory that would contain symlinks
(hard?) to other keywords This doesnt 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
12attr 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
13Related Work
- Gnome Storage http//www.gnome.org/seth/storage/
- Witme http//witme.sourceforge.net/
- Concept Analysis http//www.inria.fr/rrrt/rr-3942
.html