making the coda file system a 1 st class citizen on handheld linux devices sang kil cha jae yoon...

26
Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2 Unlocking the Hildon-FM & Introducing Fine File Manager for Coda Mentor: Jan Harkes

Upload: doreen-horton

Post on 24-Dec-2015

218 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 2: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

AgendaAbstractHigh-level RequirementAchievementRisk AnalysisScheduleFuture WorkQuestion

Page 3: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 4: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 5: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 6: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 7: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Coda ClientManually loading Coda kernel module

Page 8: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Coda ClientManually loading Venus client cache manager

Page 9: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Coda ClientManually loading Venus client cache manager

Page 10: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 11: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 12: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Hildon-FM LibraryCoda file system is shown in file manager

Page 13: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 14: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 15: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

File Manager Application

New Fine File Manager (left) and original Maemo File Manager(right)

Page 16: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 17: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 18: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Authentication Module (cont’d)

Page 19: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Risk AnalysisInternal memory for caching

Software/hardware update

Theft of the device after authentication

Page 20: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 21: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 22: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 23: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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

Page 24: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Questions

Page 25: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

15-821/18-843: Mobile and Pervasive Computing – Checkpoint 2

Hildon-FM LibraryLibraries used in our application

Page 26: Making the Coda File System a 1 st Class Citizen on Handheld Linux Devices Sang Kil Cha Jae Yoon Chong Anoop Jaishankar 15-821/18-843: Mobile and Pervasive

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%