Title: System Support for Distributed Collaboration and Mobile Computing
1System Support for Distributed Collaboration and
Mobile Computing
Prasun Dewan
2Scope
3Virtual Environment
VE
4System Support
- Application-Independence
- Efficiency
- Ease of Programming
- Collaborative Applications
- Mobile Applications
Current Projects Potential Projects
5Collaborative Application
Application
6Infrastructure-Supported Sharing
Client
Collaboration Infrastructure
7Architecture?
Infrastructure/client components
Component distribution
8Single-User Layered Interaction
Layer 0
Increasing Abstraction
Communication Layers
PC
Physical Devices
9Single-User Interaction
Layer 0
Increasing Abstraction
PC
10Example Layers
Data
Increasing Abstraction
PC
11Single-User Interaction
Layer 0
Increasing Abstraction
PC
12Identifying the Shared Layer
Higher layers will also be shared
Layer 0
Increasing Abstraction
Lower layers may diverge
13Replicating UI Component
PC
14Centralized Architecture
PC
15Centralized Architecture
PC
16Replicated Architecture
PC
17Replicated Architecture
PC
18Classifying Previous Work
- Shared layer
- X Windows (XTV)
- Microsoft Windows (NetMeeting
- App Sharing)
- VNC Framebuffer (Shared VNC)
- AWT Widget (Habanero, JCE)
- Model (Suite, Groove, PlaceWare,)
- Replicated vs. centralized
- Centralized (XTV, Shared VNC, NetMeeting App.
Sharing, Suite, PlaceWare) - Replicated (VConf, Habanero, JCE, Groove,
NetMeeting Whiteboard)
19Current Project (Chung)
- Dynamic support for arbitrary mappings
- Replicated, Centralized good under different
conditions - Conditions can change dynamically
20Dynamic Architecture Adaptations
Program
Program
UI
UI
21Dynamic Architecture Adaptations
Program
Program
UI
UI
22Dynamic Architecture Adaptations
Program
UI
UI
23Dynamic Architecture Adaptations
Program
UI
UI
UI
24Dynamic Architecture Adaptations
Program
UI
UI
UI
25Dynamic Architecture Adaptations
Program
UI
UI
26Dynamic Architecture Adaptations
Program
Program
UI
UI
27Current Project (Chung)
- Dynamic support for arbitrary mappings
- Replicated, Centralized good under different
conditions - Conditions can change dynamically
28Possible Project Dynamic Layer Switch
- By switching shared layer, degree of sharing can
be switched - Screen sharing
- WYSIWIS
- Window sharing
- WYSIWIS in window
- Data sharing, .
- Independent views
Shared Layer
Mapping (Rep vs Centralized)
29Possible Project Policy
- Currently dynamic switches occur manually
- Automatically?
- Network delay
- Relative computing power
- Application
- ?
30Possible Project Performance Studies
- Formal performance model
- Define benchmarks
- Experiments
31Possible Project Security
- I may not want you to share my program component
- Performance degrades for me though it may improve
for you - You may not want to share my program component
- Do not trust my program
- You may not want to download my program component
for replication - A la downloading applets
- I may not want to migrate my program component to
you - Degrades my response time
- You may not want to migrate my program component
to you - Degrades performance of other apps
32Possible Project Collaborative Security
- Security motivated by collaboration
- Currently information owner sets policy
unilaterally - Do it collaboratively?
33Universal Interaction
Arbitrary
Networked Appliance
Arbitrary
Interactive Computer used as Remote Control
Late Binding Interactive Computer Learns about
Appliance at Use Time
34Just-in-time UI Generation (Omojokun)
HP680 Handheld
Proxima 6250 Projector
HP680 User-Interface Generator
Proxima 6250 Function Agent
Speech GUI
35Possible Project Other domains
- UI Generation for
- Research applications
- Nanomanipulator user interface
- Teaching
- no UI code in apps
- a la functional programming
36Possible Project Device Security
- Anyone in the same room can turn on the projector
- Children can view
- Selected TV channels
- at selected times
- not more than selected time
- Parents jointly own the TV and control access
- Babysitter is temporarily delegated right to
control access
37Courses
- 243 (Distributed Systems, F03)
- 242 (Operating Systems, S04)
- 290 (Mobile Networking, F03)
- 290 (Collaborative Computing, S/F 04)
38Research Summary
- Possible Projects
- Dynamically Switching Shared Layer
- Policies for Automating Dynamic Transitions
- Securing Dynamic Architecture
- Integrated UI Generation
- Device Security
- Dynamic Device Composition
- Two RA positions
39Comp 114 Advanced programming
- Programming intro
- Advanced programming
- Correctly creating large programs
- Inheritance, Delegation, Design patterns,
Event-based programming, Programmer-defined
exceptions - Collaborative spreadsheet
- UI Generation
- Data Structures
40Comp 114 Advanced programming
- 2 TA positions
- Late binding of RA positions
- Concepts unfamiliar to you
- Teaching experience
41Possible Project Device Composition
Ad-hoc
network
42Direct Bi Directional Connect
43Proxy-based Connect
PictureDestination
(ColorPictureConsumer)
camera
PictureDestination
PictureSource
(BWPictureConsumer)
Adapter
(ColorPictureProducer)
PictureSource
(BWPictureProducer)
printer