About the Group
Description
Proposal
Parts List
Update 1
Update 2
Timeline
Status
|
Abstract
Please see the Description Page for a project abstract.
Design Strategy
In general, all of the components of this project can be initially developed independently.
-
The server infrastructure will be running on a PC platform. It will serve and coordinate profile information within the infrastructure. Our devices will communicate over TCP/IP on ethernet. To simplify server coding, we will likely develop the server in Java in order to utilize all the available networking packages.
-
Data used in our infrastructure will be in a limited, restricted XML form. We intend on developing just a few applications for demonstration -- a calendar, notepad, and instant messanger. For prototyping, we will build simple examples of these applications in Java, just to preliminarily test their integration with each other, our XML data specification, and server.
-
Programming for the embedded devices, such as the video wall and PDAs will initially focus on testing the IO and UI. Since the abstract logic will likely be easily portable from the Java prototypes, we expect most of the difficulties to mainly lie with the various device IO necessary.
-
The PDA device will likely be a Compaq iPaq, because we have decided to utilize wireless ethernet as our communication medium. Of course, the programming team will have to begin familiarizing themselves with the WinCE development environment as soon as possible. The first priority with the iPaq will be to attempt to interface the serial port with the radio authentication system. We expect the PDA to be a critical piece of the project, and cannot afford to be under-developed by the time of the demo.
-
The Video Wall with consist of a touchscreen monitor attached to a laptop. We
will be using a Magic Touch touchscreen, which is provided in the hardware lab.
We are looking at writing the applications in Java with the interface for the user
consisting of a virtual keyboard. It will simply be alphabetic buttons the user
can press to input text. The video wall does not seem like a difficult aspect of
the project. The touchscreen package already interfaces with a simple test application.
The remaining part will of video wall will be the authentication of the user and
developing applications.
-
The radio beacons are the cornerstone of our authentication system. We are aggressively pursuing this technology in order to achieve the invisible computing experience for our infrastructure. Other options included an "IR ring", for exmple, however this would still require active There is also the issue of whether or not we can interface received beacon data and somehow pump it into our devices (PDA and VideoWall). However, we have high confidence in this piece because we will hopefully have extensive cooperation from Jeff.
The radio devices pass around a record of all known devices in the cluster. This record can be sent up the serial line to a controller (pc, vid-wall, iPaq) for analysis etc. This is usually passed in the op-code oriented packet protocol, but can also be done as ascii dump. Since portable code has already been writen for the protocol stack, we will attempt to incorporate this stack into our applications, either through direct C calls, java JNI or library calls in Visual Basic, depending on what final development environment is chosen. In any situation, the devices express more information than is necessary for our application and some thread of execution will need to filter out the pertinent information: tag id and distance.
The existing PC emulator/interface application is a three threaded model. The lowest level thread grabs bytes off of the port, buffers them and parses the stream into valid packets. These packets are then sent off to a synchronized queue. The second thread merely looks at the head of the queue for packets that are "interesting" and pops the un-interesting packets. The third thread is the application layer and makes use of the info in the interesting packets.
As much of the spot-on code will be re-used in this project as possible, so our model will look very similar to that described above. One simplification that may be made is to create a packet specific for our application, since we need only 2 pieces of information from the spot-on devices. This would simplify the role of the second thread to a point, that it may not be necessary. Furthermore, the spot-on devices might also be programmed to report only this new packet type.
Design Unknowns
Design Extras
Stuff that we will work on if, by some miracle, we happen to finish early.
- There has been talk of maybe integrating memory technology into the authentication pin to act as a local cache, especially when roaming outside the infrastructure for offline work.
- DigitalInk as an additional scrap device.
- Use more than one type of communication medium to get at the profile data necessary. Devices can could communicate over BodyComm, wireless ethernet, ground lines, cell, satelite link, etc. Furthermore, develop the infrastructure to allow multiple environments, each at different levels of security and encapsulation.
- Develop quantum level networking so that data can be transported faster than the speed of light.
Resource Requirements
- Authentication
- 4 spot-on tags. Two tags will be worn by users to merely let the
system know of their presence via the radio communication. Each device, the
ipaq and the video wall will also need a tag to detect the user(s).
- spot-on source code Jeff will supply us with this and any compilers
needed for the spot on devices.
- Video Wall
- Touch screen - already available and installed.
- Laptop - Running Windows 95/98. This is just needed for demo time. For
development, we can simply use Jing's laptop.
Division of Labor
- Josh - Authentication. Interfacing the Java applications with Jeff's radio toys.
- Jing - Server work. Generating XML pages, transmitting data to the scrap devices,
relaying updates to various scrap devices, etc.
- Danny - With the hardware completed for the video wall, developing user applications
along with assisting with the server.
- Maksim - Server work
- Steve - iPaq work.
|