Download

368 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
368
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Download

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

×