| Course Objectives and Description | 
	
	
	  | The promise of ubiquitous computing is the seamless
	    integration of computing technology into our everyday
	    lifes. Advances in hardware  and software technologies
	    is offering us a glimpse into this connected
	    future. Mobile devices (laptops, PDAs, navigation
	    systems, web appliances), wireline (LANs, broadband home
	    access) and wireless networks (2.5G/3G cellular) offer a
	    stepping stone to build ubiquitous and pervasive
	    computing applications. The web is emerging as the
	    primary data dissemination and e-commerce mechanism.The
	    ability for ubiquitous information access is driving the
	    popularity of the Web. The demands and opportunities
	    of mobile information access present exciting challenges
	    for research  in wide-area distributed systems. | 
	
	  | A primary goal of this class is to introduce students to
	    research issues in mobile access to resources. This class
	    will survey  current research in this area, including work
	    in communication protocols,  naming, replicated services,
	    security, adaptation and battery power management. We will
	    read and evaluate research papers selected from the
	    literature. The students will also work on a significant
	    course project. | 
	
	
	  | Course Organization | 
       
	  | Each class will consist of a introductory lecture into a
	    new topic (to provide the necessary background to read
	    research publications). The students will then be asked to
	    evaluate a  research paper as the basis for further
	    discussion in the next lecture. Class participation is
	    fundamental for productive discussions. | 
      
	| The students are also expected to work on a significant course
	    project. This will be an opportunity to explore research ideas  
	    that interests them (a list of project ideas will also be
	    provided). The goal of the project is to produce conference
	    quality publications. However, because of the limited time
	    available, a project with good research potential (aim high)
	    is     preferred over a system that just works . The
	    projects      will be evaluated based on the demonstration of
	    the lessons     learnt, as well as on the coherent
	    presentation of the  results;     in context with other
	    research. The key to a successful class  project is ensuring
	    that some aspect of the work is complete     (it  is hard to
	    grade a project where nothing quite works). It is
	    expected  that successful projects, with further polishing
	    work,     will lead to a thesis and/or conference submissions. | 
	
	
	  | At the end of the semester, we will organize a public mini    
	    symposium. The student groups will present their
	    experiences     with the research project in this
	    symposium. They will also     submit a 10 page research
	    report. Students will provide     feedback  on the
	    different project presentations.       Best
	      paper and best presentation awards will be
	    selected      from these feedbacks. | 
                              
	
	  | For the course project, the students will have access to 
	      a wireless infra-structure with cool
	      mobile devices | 
	
	
	  | Syllabus | 
                 
	
	  | There are no text books for this class. We will read
	    topical research papers to supplement class lectures. 
	      Ubiquitous Computing Vision        Distributed System Architectures                
		
		       Naming and Location management   Replication Services:                                
		    
		       Sychronization and consistency  Caching, Prefetching and Hoarding     Security    Client side issues:                
		
		  Communication protocolsBattery power managementAdaptive content distributionOS Support for small devices Next generation applications:                
		
		  MEMS/Microsensors"Convergence" (computers, telephones, multimedia, home entertainment) | 
	  
	
	  | Prerequisites | 
	
	  | Background in Operating Systems and/or Computer Networking
	    is required. The course includes a significant course
	    project; background in programming is necessary. |