Title: Stanford Interactive Workspaces Project Overview
1Stanford Interactive Workspaces Project Overview
http//iwork.stanford.edu/
SuperComputing Lab
niceguy_at_yonsei.ac.kr
2Agenda
- Intro
- iRoom
- iRos
- EventHeap
- DataHeap
- iCrafter
- TRON
- Outro
3Intro
- Purpose Interactive Workspace
- Exploring new possibilities for people to work
together in technology-rich spaces with computing
and interaction devices on many different scales - Main Issue
- Augmenting a dedicated meeting space with
technology such as large displays,
wireless/multimodal I/O devices, and seamless
integration of mobile and wireless appliances
including handheld PCs
4What is an Interactive Workspace?(cont.)
- It is a dynamic environment for integration and
coordination - It contains
- Embedded devices
- Permanent computational and I/O resources
embedded into the environment - Mobile devices
- Allows portable devices brought into the space to
be used in conjunction with embedded facilities
(i.e ongoing) - Interoperability
- Autonomy (of participating organizations)
- Trust, privacy and security.
5Interactive Workspace Factors (learning from
iRoom prototype)
- Technology factors (i.e coordination,
integration, dynamism) - Changing environment (i.e short and long term
change) - Heterogeneity (i.e rapid integration of
heterogeneous hardware, software and software
platforms) - Human factors (i.e problem solving,
collaboration) - Bounded Environment (i.e only within IWs
physical space ) - Human Centred Interaction (i.e can reconfigure
tools depending on problems arising) - Human Level Performance needs (i.e can set
constraints).
6Interactive Workspace Requirements
- Must facilitate common IW Usages
- Moving data between devices
- Controlling devices and applications from other
devices - Coordinating applications.
- Must meet these requirements
- Heterogeneity of devices in the workspace, and
new devices being added over time - Easy integration of legacy devices, using
whatever communication mechanisms they provide. - Robustness and availability despite
software/hardware failure - Portability across installations.
7iRoom Photos
8iRoom Software
- Windows 95/98/NT/2000
- Server install (iROS server)
- Client install (iWork Services)
- Get the source code from SourceForge
- MacOS X
- iROS-X is the MacOS version of iROS (for OSX).
- The iROS-X project has received support from
Apple Computer to port most of iROS to OSX.
9iRos
- Goals Standard system interface to coordinate
everything - Moving data between devices
- Controlling devices and applications from other
devices - Coordinating applications, including ones not
explicitly written to work together
10iRos
11Event heap Tuplespace Based Coordination
- Tuplespace model
- Decouples Applications in Space and Time
- Added Semantics
- Self-Describing Tuples
- Flexible Typing
- Typed Tuples
- Tuple Sequencing
- Tuple Expiration
- Benefits
- Anonymous Coordination
- Interposability
- Snooping
12Linda Tuplespace Modelfor parallel computing
- Goal add concurrent programming capability to
sequential programming - Need strong decoupling of processes in space,
time and reference - Solution place data as tuples in the space for
process coordination - Tuple
- object named by tag and key (similar to content
addressable memory) - symbolic name an ordered list of typed values
- equally accessible to all processes but bound to
none - Tuplespace
- shared memory" for accessing, modifying and
deleting tuples - data fields in space matched with elements in
requesting template - must have same number of fields, same types of
fields in same order, (possibly identical values
as in the template) - retrieval made blocking when there is no match
- actuals assigned to formals when match found.
Carriero and Gelernter, 1986
Carriero and Gelernter, 1986
Carriero and Gelernter, 1986
Carriero and Gelernter, 1986
13Linda Tuplespace Modelfor parallel computing
(cont.)
- 6 funtions
- out(lttuplegt) - inserts a tuple in the space. It
never blocks a tuple. - rd(lttemplate(tag, list)gt) - retrieves all tuples
which match a given template from the TS. It can
be both blocking and non blocking. - inlttemplate(tag, list)gt - retrieves and removes
all tuples which match a given template from the
space. This function blocks. - eval(ltfunction-tuplegt) - creates an active tuple
and evaluate its entries. The results are stored
as a passive tuple (i.e data) in the space.
Tuplespace
Figure 1 Tuplespace Model for parallel programs
Carriero and Gelernter, 1986
14Tuplespace Model for Interactive Workspaces
- Routing and Content Addressing provides
reference decoupling - Persistence provides temporal decoupling
- Limited Transparency provides extensibility and
debugging - Centralization provides time and reference
decoupling - Simple and general infrastructure API 6
functions in any programming language.
15Data Heap Type and Location Independent Storage
- Attribute based workspace-wide data storage
system - Machine independent
- Dont need explicit location of data
- Type independent
- If a set of type converters are available, system
automatically transforms the data
16iCrafter Universal Control System
- Control anything from anywhere
- Services advertise how they can be controlled
- System returns appropriate interface per device
- Interfaces can range from fully custom to
dynamically generated
17iCrafter A Service Framework
18(No Transcript)
19(No Transcript)
20(No Transcript)
21(No Transcript)
22(No Transcript)
23The Meeting Machine i-workspace support for
nomadic users
24Patch Panel
25iClub.(??)Â
- The interactive dance club of the future using
iRoom technology, and maybe the coolest
application built on iROS, iClub combines a
computer-controlled DJ with visuals synchronized
to the music, the ability for guests to influence
music playback (speed, low pass audio filter,
interactively-triggered sound effects, and voting
on which song to play next), and the ability to
integrate physical UI devices such as sliders and
wands (no wands in the video) into the
environment. It is easy to extend iClub with new
A/V modules, integrate new physical input devices
such as those being developed by iStuff, and
tolerate transient failures of hardware or
software during an iClub session. iClub was a
highly successful CS294 project by Josh Samberg,
Xiaowei Li, Yeon Jin Lee, and Kabir Vadera.
26PointRight.(??)
- Â PointRight is a software system that allows a
single mouse and keyboard to control multiple
screens. When the cursor reaches the edge of a
screen it seamlessly moves to the adjacent
screen, and keyboard control is simultaneously
redirected to that machine. Laptops may also
redirect their keyboard and pointing device, and
multiple pointers are supported simultaneously.
The system automatically reconfigures itself as
displays go on or off, including as laptops enter
and leave the PointRight display set (by starting
or stopping the PointRight application).Â
PointRight is one of the software components
available for download.
27FlowMenu(??)
- FlowMenu is a new kind of marking menu developed
for use with a pen device on display surfaces
such as large, high resolution, wall-mounted
displays. It integrates capabilities of
previously separate mechanisms such as marking
menus and Quikwriting, and facilitates the entry
of multiple commands. While using this menu, the
pen never has to leave the active surface so that
consecutive menu selections, data entry (text and
parameters) and direct manipulation tasks can be
integrated fluidly.
28PostBrainstorm(??)
- Fluid Interactions with Wall Sized Displays.Â
This video demonstrates a digital brainstorming
tool that embodies new interaction techniques for
direct pen-based interaction on the Interactive
Mural, a large (6x3.5) high-resolution (64 dpi)
display. PostBrainstorm has been used by groups
of professional product designers. We have
adapted and extended techniques that were
developed for electronic whiteboards and
generalized the use of the FlowMenu to execute a
wide variety of actions in a single pen stroke.Â
Our interactive wall metaphor supports both
free-hand sketching and creation/import of
high-resolution materials, such as images, 3D
models and GUI application windows, without
cluttering the visual work area with control
devices.
29TRON
30From Tron to ITron
- What is Tron?
- 1980s Sakamura launched the TRON Project
- An Open Computing and Communications Architecture
- Designed to make computing a utility, like
electricity and water - ITRON A real-time operating system for embedded
devices - CTRON,BTRON,eTRON,
31From Tron to Itron(Cont)
- ITRON
- OSs for embedded chips
- Three to four billion microprocessors are running
ITRON - Weak Standardization
- T-Kernel Can be Modified but Distribution must be
allowed - Subtle difference Can be Made
- T-License dont need to reveal their own code
32??(??)
- ITRON ?? ???? ????OS??(ITRON,ITRON2,µITRON2,µITRO
N3.0,µITRON4.0)JTRON Java?ITRON?
?????(hybrid)OS??(JTRON1.0,JTRON2.0,JTRON2.1)BTR
ON GUI(Graphical User Interface)?OS??? ? ??
??(BTRON/286,BTRON1,BTRON2,BTRON3)CTRON ?? ???
????? ???? ?OS????? ???? ?? ???????? ????? ??
?????? ?? ??? ??
33TRON ????(?? ??? ???)
- 1. ????? ????
- ??????? ??? ???? ???? ??? ??? ?????? ?????? ????.
- 2. ????? ??
- ??????? ??? ?????? , ??? ?? ???? ???? ????
??(???) , ??? - ???? ?? ?? ???? ????? ?? , ?? ??? ??? ????? ??.
??? , ????? - ?? ??? ?????? ???(???)? , ????? ???? ?????.
- 3. ?? ?? ?? ??
- ??????? ??? ???? ???? ??? ????? ????? , ?? ???
????? ?? , - ???? ??? ?? ???? , ?? ??? ????? ?? ?? ?????
????? ????. - 4. ?????? ???? ????? ???? ??
- ??????? ??? ?????? , ?? ?? ???? ????. ??? , ??
??? ??? ??? - ???? ?? ??? ??? ??? ?? ?????? ?? ???? ??. ??? ,
??????? ?? - ? ???? ????? ???(???)? , ??? ??? ???? ????? ??
??? ????? ? - ? ?????. ??? , ?????? ???? ?? ???? ??(T-Engine)??
????? ??(T- - Kernel), ?? , ??? ?????? ???? ???? ?? ?? ?? ??
???? ??(TRON??? - ? ??) ? ?? , ? ??? ???.
- 5. ?? ?? ?????(HMI Human Machine Interface)
- ??? ???? ????? ??? ? , ??? ??? ??? ??? ??? ??? ??
?? ??? - ?? ?????? ??? ??(?) ???? ??? , ??? ? ???? ???
?????? ????.
34Tron ???
35T-Engine
- Most advanced Ubiquitous Computing Platform
- Using Off-the-shelf components for Ubiquitous
computing - A growing Library of middleware is available
- Network protocol stacks, filing systems, Japanese
language processing, e-Tron Specific security
software, a GUI, and audio processing - Sun porting Java to T-Engine, Monta Vista
Real-time Version of Linux, MS WinCE to
T-Engine - E.g. WinCE .NET to T-Engine hardware platform
- Real-time Event handled by T-Kernel
- Others WinCE takes
36Four Standard T-Engine
- Standard T-Engine(75mmX120mm)
- For portable information devices, smart phones
- Micro T-Engine(60mmX80mm)
- Devices for relatively basic user interface
features, Home electronic appliances, musical
instru.. - Nano T-Engine(coin-sized)
- Small home electronic appliances
- Pico T-Engine
- For the smallest units in a U-comp env. Switches,
lighting equipment, sensors and valves
37Four Standard T-Engine Boards
T-Engine Boards for different application areas
38????(?? ??? ???)
- 1. T-Engine?? ????? ??
- ??? ???? ???? ???T-Engine? ?? ?? ??? ??? ????
???? ??????? - ???? ?? ??? ????. ITRON??? ?? ??? ???? ?? ????
??? ????? ? - ?? ???? , ????? ?????? ???? ??? ?? ??? ?? ???
???. ? ???? - ?? ???T-Engine?? ??????? , ???? , ?? , ???? ???
??? ??? ?? ?? - ??? ???? ??.
- 2. ?? ?? ??? ????
- ???? ???? ??(eTRON)?? , ??? ???????? ?????? ???
?? ??? - (HFDS Highly Functionally Distributed
System)??? ? , ???IT???? ???? ??? ?? , ?? - ??? ???? , ? ??? ???? ?? ???? ????.
- 3. ITRON?? ??
- T-Engine???? ??? ???? ? ,T-Engine?? ??? ???? ????
?? ?? ?? ,T-Engine - ??? ??? ? ?? ??? ??? ????
- 4. ???OS? ??
- ?? ??? ?? ?? ??? , ?? ? ?????? ? ,BTRON??OS? ???
??? ???? ?? - ? ????.
- 5. ????
- ?? ??? ???? ???? ?? ???? ?? ?? , ?? ??? ????
- 6. ???? ??
39Outro