CS 553: Pervasive Computing
Objectives
- Computers have become an embedded intrinsic part of a sophisticated, networked, pervasive and ubiquitous computing environments around humans. Pervasive Computing is a new trend in computing creating a ubiquitous environment that combines processors and sensors with network technologies (wireless and otherwise) and intelligent software to create an immersive environment to improve life. Some examples of popular and successful pervasive devices are cellular phones, pagers, televisions, wristwatches and toasters. Known efforts in developing distributed, ubiquitous environments include Oxygen, Aura, access grid, grid computing, and web service. Pervasive computing is in a unique position to facilitate human-computer interaction, to integrate software with hardware, and to spin off new human-centric applications. Mobility of computing and communication, distributed information retrieval and understanding are examples of software infrastructures that are key aspects of pervasive computing. The extensive use of image processing and computational biology in medical engineering is an important example of pervasive computing applications.
- This course covers general issues of Pervasive Computing and Communication. We first study general issues of middleware and middleware development, which include Grid, P2P, Agents, Mobility, Fault Tolerance, Adaptive, QoS, Web Service, as well as Pervasive and Ubiquitous techniques. This class is a research seminar-oriented class. It will not follow any particular textbook. Instead, we will discuss current developments and research issues of Middleware and Pervasive Computing. The newly purchased 64-node SUN Compute Farm, 14-node IBM cluster, a large access grid node, workstations and PDAs will be used in this class. Class presentation and term project are required. Guest lectures will be given by scientists from Argonne, Lucent Technologies and other institutions to cover the state-of-the-art of current developments
Prerequisites
- CS 450 or (CS 455 and CS 470).
Course Materials
References
- Ian Foster and Carl Kesselman. The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers, ISBN 1-55860-933-4, 2004
- Jochen Burkhardt (Editor), Horst Henn, Stefan Hepper, Klaus Rindtorff, Thomas Schaeck. Pervasive Computing: Technology and Architecture of Mobile Internet Applications. Addison-Wesley, ISBN 0-201-72215-1
- Steve Graham, Simeon Simeonov, Toufic Boubez, Glen Daniels, Doug Davis, Yuichi Nakamura, Ryo Neyama. Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI. ISBN: 0-672-32181-5, 2001
Online Resources
Syllabus
- Introduction
- OS history
- MINIX and MINIX installation
- Processes
- MINIX Processes, booting, messages, interrupts and system calls, IPC
- Scheduling
- MINIX clock, clock task, and clock handler
- MINIX system task
- I/O hardware, I/O software
- MINIX I/O, MINIX terminals, and MINIX terminal driver
- MINIX memory management, fork, exit, wait, exec
- MINIX file system, block cache, i-node, super-block, and file descriptor management
- MINIX Block Devices, MINIX RAM Disk, and MINIX Hard Disk
- Case Studies: MS Windows XP, Linux
- Projects/Presentations
Evaluation
- 50% — Homework and Programming Assignment, class participation
- 50% — Term Project
Edited March 2006 (html, css checks)