810 likes | 827 Views
The Design and Implementation of a Context-Aware File System for Ubiquitous Computing Applications. Christopher K. Hess Advisor: Roy H. Campbell Systems Research Group University of Illinois at Urbana-Champaign. Application Logic. Output. Input. A Room as a Computer.
E N D
The Design and Implementation of a Context-Aware File System for Ubiquitous Computing Applications Christopher K. Hess Advisor: Roy H. Campbell Systems Research Group University of Illinois at Urbana-Champaign
Application Logic Output Input A Room as a Computer Activity Oriented Computing
Research Focus Spaces: • Private work spaces • Public work spaces • Group activity spaces • Applications: • Office apps • Collaborative apps • Activity apps
Outline • Overview • File System • mobile users • application types • heterogeneous devices • Evaluation • Conclusions
Scenario 1 application launcher
Scenario 2 attendance recorder
3 Scenario
Scenario 4
Scenario 5
Scenario 6 6
7 Scenario
8 Scenario
What is Different? • Mobile users • Mobile devices • Heterogeneous devices • Many configurations • Scheduled activities • Context
What is Context? • Information used to characterize the situation of an entity • typically from physical world • activity, time, location, etc. • Decisions made by applications or system
Thesis Statement Context must be integrated into data access systems in ubiquitous computing environments to support the ways in which the space and its applications are used.
Context in Data Access • Make data available in current location • Make data valid when conditions are met • Tag data for later retrieval in a context • Adapt data to device context
Context File System (CFS) • Context-aware file system • has knowledge of environment • can present relevant information • Application level distributed file system • Core service of Gaia • middleware operating system • supports application development Gaia: A Middleware Infrastructure to Enable Active Spaces. Manuel Román, Christopher K. Hess, Renato Cerqueira, Anand Ranganathan, Roy H. Campbell, and Klara Nahrstedt, In IEEE Pervasive Computing, pp. 74-83, Oct-Dec 2002.
Architecture • Mount server • database of data references • constructs the namespace • File server • provide access to distributed data • Containers • collection of typed objects Question: How to support issues in ubiquitous computing?
Issue 1: Mobile Users • Interact with local resources • Data cloud follows the user move Space A Space B inject personal data reference into local space
Mobile Mount Points • User carries mount points • Push into local mount server • System allocates user directory File mode / bin users merge usr2 usr1 usr3 ppt doc mp3 Building Applications for Ubiquitous Computing Environments. Christopher K. Hess, Manuel Román, and Roy H. Campbell, In International Conference on Pervasive Computing (Pervasive 2002), Zurich, Switzerland, August 26-28, 2002.
disk disk FS FS FS FS disk disk Merging Data • PDA • Laptop • Profile server Space 1 Space 2 IR Beacon merge/extract mounts MS Space 3
Issue 2: Application Types • Public applications • direct data to applications • Scheduled applications • prune irrelevant data • Configurable applications • personal configurations group related material
Program Data • Applications specify what data they are interested in • File system uses context to determine when to make it available • Applications do not know what context they are running in – just open a directory, but contents will change with context • Applications run unchanged in different contexts – context knowledge is in system A Context-Aware Data Management System for Ubiquitous Computing Applications. Christopher K. Hess and Roy H. Campbell, In International Conference of Distributed Computing Systems (ICDCS 2003), Providence, Rhode Island, May 19-22, 2003.
Group Related Material Properties what kind of data Context when data is valid • Activity • Time • Location • Identity • Space • Type • Sub-type • Category Think of shapes and colors…
Application Application Properties • Property = shape • Direct data to applications Space
Application Application Properties • Property = shape • Direct data to applications Space ?
Application Application Properties • Property = shape • Direct data to applications Space ?
Application Application Properties • Property = shape • Direct data to applications Space
Application Context • Context = color • Prune irrelevant data Space Meeting Seminar Classroom
Application Context • Context = color • Prune irrelevant data Space Meeting Seminar Classroom ?
Application Context • Context = color • Prune irrelevant data Space Meeting Seminar Classroom ?
Application Context • Context = color • Prune irrelevant data Space Meeting Seminar Classroom
Application Application Properties + Context • Direct data to applications • Prune irrelevant data Space
Application Application Properties + Context • Direct data to applications • Prune irrelevant data Space ?
Application Application Properties + Context • Direct data to applications • Prune irrelevant data Space ? Meeting
Application Application Properties + Context • Direct data to applications • Prune irrelevant data Space Meeting
Application Application Properties + Context • Direct data to applications • Prune irrelevant data Space ? Seminar
Application Application Properties + Context • Direct data to applications • Prune irrelevant data Space Seminar
= paper File System Getting Relevant Data Application Give me papers Current context: situation = seminar date = 08/12/02 Question: How to apply shape and color to data?
type activity Data time location Attaching Metadata • Metadata = properties + context • Attach metadata to files and directories • Instruct system when data is valid • Specify kind of data – fast searches
data name = location value = 2401 /location:/2401 data Directory Representation • Metadata name/value tuples • Name = property or context • Paths based on 1 or more tuples
Metadata Directories /type:/ppt + PURPLE /location:/2401 /type:/ppt/location:/2401 OR /type:/ppt + ORANGE /location:/2402 /type:/ppt/location:/2402
/ 2402 current: time: location: mp3 gaia.ppt 2401 gaia.ppt time: mp3 Virtual Directory • Constructed from metadata • Copy files to context mode directory to attach metadata • Not ordered Context mode
Metadata Augmented Mounts Directories aggregate Mounts link Data
/type:/pdf/current: properties context Accessing Data • Applications unaware of current context • Applications explicitly specify properties • Context is determined implicitly
current context How to Find Relevant Data? • Mount server maintains current context • Directory path converted into query • Aggregate relevant data into directory /type:/pdf/current: MS mount table database type = pdf time = 2/3/03 situation = seminar type = pdf time = 3/3/03 FS FS FS FS
Current context: location = 2401 situation = meeting weather = sunny Relevant Data Algorithm Relevant data ≠ properties + context weather is wildcard situation Data type location properties context Search for valid mounts: • Match all properties exactly • Match tagged context only
Public Applications /type:/mp3/current:
Scheduled Applications /current:/attendance.att Tag file with situation metadata. situation = meeting situation = seminar