LukasKorsikaDesignStudy
From CSSEMediaWiki
Revision as of 07:26, 27 July 2010 by Lukas Korsika (Talk | contribs)
The Problem
The project I design in this study is an application to help me manage my file system. I tend to have a number of copies of the same file scattered throughout my various file system for reasons such as:
- Some partitions are only accessible under Linux
- I often copy videos to my laptop to watch away from my desk.
Requirements
- Must take alist of files as input, and output identical files in groups (ie, cluster all identical files together, don't output unique files)
- Must support a variety of approaches for determining equality -- based on raw data, or file-type specific comparisons.
- Must use reasonable amounts of memory and I/O bandwidth.
- Should be file-system agnostic (and support NFS, etc)
- Should be extensible
Initial Design
(converted to Java from C, so some liberties have been taken with classes, but this is essentially its form)