making the coda file system a 1 st class citizen on handheld linux devices sang kil cha jae yoon...
TRANSCRIPT
Making the Coda File System a 1st Class Citizen on Handheld Linux Devices
Sang Kil ChaJae Yoon ChongAnoop Jaishankar
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Unlocking the Hildon-FM & Introducing Fine File Manager for Coda
Mentor: Jan Harkes
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
AgendaAbstractHigh-level RequirementAchievementRisk AnalysisScheduleFuture WorkQuestion
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
AbstractFailure-resilient, scalable, and secure access
to shared information by mobile user over wireless network is a challenge
Coda file system meets this challenge through disconnected operation, weak connectivity, translucent caching, and other mechanisms
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
High-level RequirementVisibility
Coda file system should be visible in any appli-cation that uses Hildon-FM library
Hildon-FM should provide graphical user inter-face for authentication
UsabilityUser should be able to access cached informa-
tion in any built-in application
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
AchievementInstalled Coda client on Nokia N810 device
Analyzed and modified Hildon-FM library to show Coda file system
Designed new user friendly file manager ap-plication
Incorporated Coda authentication module in Hildon-FM library
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Coda ClientFailed to run Coda client in Scratchbox envi-
ronmentScratchbox tool-kit does not emulate MaemoOpportunity to learn more about Maemo,
Scratchbox, libraries, and other environmentInstalled Coda client on the device with re-
quired dependenciesWorks for current Maemo version, DiabloCache saved in internal memoryManual load of Venus and kernel module required
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Coda ClientManually loading Coda kernel module
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Coda ClientManually loading Venus client cache manager
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Coda ClientManually loading Venus client cache manager
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Coda ClientWhat to do next
Automate loading Venus and kernel module
Risk AnalysisVenus crash, kernel module failed to load,
cache directory being deleted Out of scope of this project
Is internal memory enough for Coda? 2 GB space shared with other application Yes, it is
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Hildon-FM LibraryApplication transparent vs. application awarePart of Hildon application framework, default li-
brary for Maemo platformDefault application (music player, web browser)
use the library for file system related operation Provides encapsulated view for protection of sys-
temRight click equivalent mechanism support
Analyzed Hildon-FM source code to figure out its structure and modified it to show Coda file system
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Hildon-FM LibraryCoda file system is shown in file manager
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Hildon-FM LibraryWhat to do next
Refresh Coda directory after Venus is executed and the directory is mounted
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
File Manager ApplicationFrom application-transparent to application-aware
Some features cannot be made application trans-parent
Source code for Maemo file manager application is not available to developer
There’s no open source file manager that uses Hildon-FM library
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
File Manager Application
New Fine File Manager (left) and original Maemo File Manager(right)
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
File Manager ApplicationWhat to do next
Copy and paste, and moveMore options in main menuFull file system display
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Authentication ModuleUser has to authenticate with Coda serverParameters required: username, password,
realmTwo ways
Modify and include clog as a functionFork/exec a clog program to authenticate
Problems:Context menu is application-dependent
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Authentication Module (cont’d)
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Risk AnalysisInternal memory for caching
Software/hardware update
Theft of the device after authentication
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
ScheduleOriginal schedule after checkpoint 1
Sang Kil: file manager applicationJae Yoon: analyze and modified Hildon-FMAnoop: authentication and file manager appli-
cation
ID Task Days Start Complete
1 Checkpoint 1 17 d 9/1/08 9/23/08
2 Modifying the Hildon-FM 10 d 9/24/08 10/7/08
3 Analyze Coda to combine with the file manager 5 d 10/8/08 10/14/08
4 Combine the file manager with Coda 5 d 10/15/08 10/21/08
5 Checkpoint 2 5 d 10/22/08 10/28/08
6 Debug additional stuff 10 d 10/29/08 11/11/08
7 Installation package & embellishment 5 d 11/12/08 11/18/08
8 Final Demo 10 d 11/19/08 12/2/08
9/1 9/23
9/24 10/7
10/8 10/14
10/15 10/21
10/22 10/28
10/29 11/11
11/12 11/18
11/19 12/2
9/1 9/21 10/11 11/1 11/21 12/11 1/19 10 11 12
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
ScheduleRevised Schedule, actual work done after checkpoint 1
ID Task Days Start Complete
1 Found source code andanalyzed Hildon-FM
16 d 9/1/08 9/22/08
2 Checkpoint 1 1 d 9/23/08 9/23/08
3 Base file manager application 3 d 9/24/08 9/26/08
4 Implemented event handler 4 d 9/29/08 10/2/08
5 Implemented applicationfunctions
33 d 10/3/08 11/18/08
6 Installed Coda in Scratchbox 5 d 9/24/08 9/30/08
7 Installed Coda on the device 2 d 10/1/08 10/2/08
8 Modifying the Hildon-FM 10 d 10/3/08 10/16/08
9 Authentication module 7 d 10/17/08 10/27/08
10 Checkpoint 2 1 d 10/28/08 10/28/08
11 Debugging 17 d 10/29/08 11/20/08
12 Installation package &embellishment
5 d 11/25/08 12/1/08
13 Final Demo 1 d 12/2/08 12/2/08
9/1 9/22
9/23 9/23
9/24 9/26
9/29 10/2
10/3 11/18
9/24 9/30
10/1 10/2
10/3 10/16
10/17 10/27
10/28 10/28
10/29 11/20
11/25 12/1
12/2 12/2
9/1 9/21 10/11 11/1 11/21 12/119 10 11 12
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Future WorkScript for Coda client startupFix Hildon-FM related problem
USB disconnection, mount refreshDistinguish realms in authentication More features in file manager applicationTesting with multiple Coda serverEmbellishment / packaging
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Future Work (cont’d)Register with the official Maemo website, as an open source ap-plication
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Questions
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Hildon-FM LibraryLibraries used in our application
15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2
Work Division
New Coda File Man-ager Ap-plication
Hildon-FM Analysis
and Modi-fication
Coda Client Installation and Auto-
mation
Authenti-cation Module
Sang Kil Cha 80% 10% 33% 10%
Jae Yoon Chong 10% 80% 33% 10%
Anoop Jaishankar 10% 10% 33% 80%