6400f98a78299a01a1c360529b37e47d.ppt
- Количество слайдов: 63
Scaling Task Management in Space and Time saving user attention in ubiquitous computing committee David Garlan, chair Mahadev Satyanarayanan Reid Simmons Gregory Abowd, Georgia Tech João Pedro Sousa March 28, 2005
the problem users work hard when moving tasks from one location to another save files stop applications remember task transfer data find & restart apps reconstruct state worse with different platforms resource variation 2
ideally all migration and configuration handled automatically when moving tasks from one location to another leave select task to resume 3
reality daily activities devices becoming more powerful cheaper interconnected tasks last long time recur solutions handle many tasks require many services desktop managers (Rooms, 1987) expect computing to be available everywhere just like furniture ? need to find & recover past tasks ? 4
Scaling Task Management in Space and Time saving user attention in ubiquitous computing committee David Garlan, chair Mahadev Satyanarayanan Reid Simmons Gregory Abowd, Georgia Tech João Pedro Sousa March 28, 2005
outline the problem how existing solutions fall short new approach summary of research validation related & future work contributions discussion 6
Goal support mobile users in their daily tasks Enable users to: carry out their tasks in diverse environments take full advantage of the available capabilities and resources Reduce user overhead in managing heterogeneity resource variability computers and info everywhere: heterogeneous devices and applications 7
aren’t existing solutions good enough? support mobile users in their daily tasks desktop managers remote computing mobile computing code migration internet suspend/resume 8
desktop managers ü task support ü user overhead coordinated use of services handle several tasks limited number of tasks no support for finding past tasks virtual desktops user mobility take full advantage assumes primary use of one machine 9
remote computing thin clients ü user mobility ü user overhead easy / no reconfiguration task support take full advantage to deal with distinct devices, assume common set of shared capabilities wasteful of local capabilities not satisfactory for the user bad connectivity may be a showstopper 10
mobile & wearable computing ü user mobility ü user overhead low overhead – as long as personal devices are enough people try to be self-sufficient by carrying personal devices task support take full advantage no support for using other services in the vicinity 11
code migration ü user mobility ü user overhead strong assumption about the compatibility of the VMs personalized applications and their data follow the user around Ex: Gaia, ICrafter, Kimura, Labscape (new apps) task support take full advantage deal with diverse target devices enrich applications, or reduce the set of assumptions (not satisfactory and wasteful) 12
internet suspend/resume ü user mobility ü user overhead strong assumption about the compatibility of the hardware migrate contents of the virtual memory (no changes to apps) task support take full advantage no support for using other devices in the vicinity no discrimination of which tasks to migrate 13
aren’t existing solutions good enough? good job at some of the requirements but a poor job at others… task support desktop managers take full advantage reduced overhead ü ü ü ü remote computing mobile computing code migration internet S/R new approach user mobility ü ü ü 14
new Approach support mobile users in office-like tasks by migrating high-level models of user tasks infrastructure 15
new Approach highlights model user needs for each task abstract models reactivate a task in different locations coordinated use of services move to heterogeneous environments match needs, e. g. , user needs to edit text with local capabilities model user preferences take full advantage automatic configuration reduce user overhead new approach model migration task support ü find the best match early advice on task feasibility dynamic adaptation to changes routine configuration and reconfiguration user mobility ü take full advantage ü user overhead ü 16
outline the problem new approach summary of research thesis challenges validation related & future work contributions discussion 17
terminology service what users need print, edit text, browse the web… supplier software/device offering services resource consumed by suppliers while delivering services MS Word, Emacs… CPU, battery, bandwidth… material information asset files, data streams environment set of suppliers, resources & materials accessible to a user 18
thesis statement High-level models of user tasks can be used to address the scalability of task management in space, across heterogeneous environments in time, enabling users to recover past tasks while simultaneously enabling users to take full advantage of the services and resources of computing environments reducing user overhead associated with configuring and managing those environments 19
challenges describe and operate on tasks model tasks infrastructure usable on a daily basis infrastructure 20
challenges modeling user tasks task support coordinated use of services suspend/resume find past tasks model services & materials what users need, not which applications user-perceived state window layout, cursors… persistent semantic identity goals, time & place, collaborators… environment heterogeneity dynamic change user preferences alternative service suppliers alternative configurations of services alternative Qo. S tradeoffs 21
modeling user tasks model services & materials what users need, not which applications user-perceived state window layout, cursors… persistent semantic identity goals, time & place, collaborators… user preferences 27
modeling user tasks enable users to find past tasks model services & materials
modeling user tasks heterogeneity & change model services & materials what users need, not which applications utility functions choice suppliers achievable Qo. S U task feasibility p: choice suppliers q: Qo. S level user-perceived state real number in [0, 1] window layout, cursors… persistent semantic identity goals, time & place, collaborators… user preferences alternative service suppliers alternative configurations alternative Qo. S tradeoffs algorithm by Vahe Poladian joint paper in ICSE 31
infrastructure for task management exploits these models configure environment find the best match to user needs
infrastructure for task management separate concerns what to configure for monitor & model user needs coordinated use of services (utility-theoretic) user preferences configure environment find the best match to user needs resource allocation across applications utility-theoretic comparison of alternatives coordinate task suspend/resume reconstruct user-perceived state coordinate adaptation policies how to configure monitor services and resources find the best match to user needs activate/deactivate suppliers reconstruct user-perceived state monitor & adapt to changes framework for adaptation coordinate adaptation policies (utility-theoretic) comparison of alternatives resource allocation across applications coordinate supplier activation monitor failures and improvement opportunities 33
infrastructure for task management separate concerns what to configure for monitor & model user needs coordinated use of services (utility-theoretic) user preferences coordinate task suspend/resume recover user-perceived state coordinate adaptation policies how to configure monitor services and resources find the best match to user needs (utility-theoretic) comparison of alternatives resource allocation across applications Task Management Managed Environment coordinate supplier activation monitor failures and improvement opportunities 34
infrastructure for task management uses models to configure environment Task Management Managed Environment Distributed File Access 35
infrastructure for task management architectural framework UI Prism UI Context Observer Task Management Managed Environment service Supplier App Operating System Environment Manager Environment 36
infrastructure for task management architectural framework Prism EM new. Task created. Task
implementation Prism Speakeasy User Task Manager Java + Swing Dashboard Focus UI Lamp Task Identity Task Models Prism Context Observer UI XML/TCP service Supplier Environment Manager App Operating System 38 Distributed File System infrastructure for task management
infrastructure for task management implementation Suppliers (several students) UI Prism UI Context Observer service Supplier App Operating System Environment Manager ü MS Word ü Power. Point ü Excel ü Internet Explorer ü Media Player ü Babel Fish, Festival, Emacs, Pangloss, Sphinx, Xanim EM (Vahe Poladian) 39
challenges describe and operate on tasks model tasks infrastructure usable on a daily basis infrastructure 40
are delays introduced by the infrastructure a source of overhead? measure latency of operational Dashboard after user authentication read task directory search pending tasks evaluate task feasibility search tasks using Lamp suspend/resume tasks experiments on a IBM Think. Pad 30 Windows XP, 1. 6 GHz, 512 MB 41
latency introduced by infrastructure blends in with starting/stopping apps ~ 3 s for 10 tasks operational Dashboard after user authentication read task directory search pending tasks evaluate task feasibility < 1 s search tasks using Lamp suspend/resume tasks 42
outline the problem new approach summary of research thesis validation cost-benefit analysis related & future work contributions discussion 44
thesis validation scalability of task management in space, across heterogeneous environments ü migrate models of user tasks exploited by task management infrastructure in time, enabling users to recover past tasks ü persistent task identity + browser while simultaneously enabling users to take full advantage ü find the best match between needs and capabilities utility-theoretic framework reducing user overhead ? 45
thesis validation reducing user overhead compare overhead with vs. without the infrastructure focus on c-tasks suspend/resume tasks describe tasks find tasks general model of overhead (independent of specific apps/OS) count of user operations (coarse interactions: start apps, open files. . . ) 46
reducing user overhead model overhead of each c-task starting a task of preparing a presentation without ops – open app (slide editor) 1 – look for relevant papers – open app (text viewer) on the papers n m – look for web pages k with ops overhead – new task – new service (slides) – resume task – look for relevant papers – add the papers to the task – save task – look for web pages – add pages to the task – save task 1 1† 1 n m‡ 1 k n. pages 1 1 n. pages 1 (†) For opening an application, users issue a command, click on some icon, etc. ; for adding the slide editing service to the new task, users click one button and make a list selection. (‡) For adding the papers to the new task, users drag the papers from some file view in the operating system and drop them into the more area in the Dashboard. operations put side by side are comparable overhead of defining a task is at most 2 n+1 n is the number of services/materials 47
reducing user overhead model overhead of each c-task resuming a task without – find files and links – open files/links with apps – recover state of apps ops 1† n. files/pages‡ with – find task in Dashboard – resume ops 1 1 benefit n. files/pages – 1 n. files/pages (†) Assuming that users have fresh on their minds where all the files are stored. (‡) Assuming recovering the user-perceived state of each service/file takes a single operation. For instance, recovering the editing position on a text file. conservative estimates benefit of resuming a task is at least 2 n-1 … benefit of suspending a task is at least n-1 48
benefit of using the infrastructure adds up over time accumulated benefit of using the infrastructure time (c-task) (disregarding scalability in space and time) 49
benefit of using the infrastructure increases with user mobility environment heterogeneity dynamic change unassisted configuration much harder depending on user expertise finding past tasks no significant difference when compared, e. g. , with Google Desktop Search 50
outline the problem new approach summary of research validation related & future work contributions discussion 51
related work task management desktop managers one machine Rooms (1987), … teleport desktops thin clients X windows (1994) MS Easy Living TM in smart spaces migrate (new) apps Kimura, ICrafter, Gaia, Labscape user mobility migrate virtual memory ISR assistance with tasks guide users in complex tasks Adtranz (1998) Smart Homes elderly/health care carry out tasks on users’ behalf autonomous agents RADAR (future work) task modeling plans to be carried out by automated systems robotics, agents, distributed systems plans to be carried out by humans business processes usage models user needs in a computing environment UI adaptation task management 52
related work adaptive systems service awareness fault tolerance resource awareness model availability context sensing load balancing location, activity… CIS… model Qo. S model-based adaptation known components autonomic computing Rainbow service ontology web services DAML/OWL, UDDI… context awareness fidelity-aware apps one application local policies Odyssey/Chroma, Puppeteer… context-aware apps one application local rules context-aware task management is an open problem scoping discovery is an open problem (future work) 53
future work complementary areas incorporate results from architectural & economic model-based adaptation e. g. , Shang-Wen Cheng, Vahe Poladian fidelity/resource-aware applications e. g. , Rajesh Balan context awareness distributed file systems natural human-computer interfaces 54
future work task management delegation of services/parts of tasks to humans framework to combine automatic configuration with human participation proactive supply forecast service demands, customize service offering to demand scoping the environment combine demand preferences (familiar/desired suppliers) with supply offering, across administrative boundaries describing task models framework that accommodates a range of domains guidance on tasks reconcile guidance with freedom/serenity in carrying out tasks 55
contributions approach framework task management placeholder for task knowledge infrastructure demonstrates feasibility of approach environment management usability by non-experts utility-theoretic adequate performance for daily use framework for finding best match coordinates adaptation at 3 levels user tasks environment capabilities resources foundation for further research well documented design affordable to integrate legacy/new components 56
contributions approach uses task models to scale task management in space, across heterogeneous environments in time, enabling users to find past tasks control over which tasks to carry out accounts for user preferences reconciles reducing user overhead taking full advantage 57
requirement: taking full advantage artifact of today’s limitations? ü user mobility ü user overhead low overhead – as long as personal devices are enough mobile computing + task support 58
the next big thing computation gets physical support mobile users in their daily tasks today process information tomorrow, actuate workplace home medicine… models of user needs & preferences 59
reality daily activities devices becoming more powerful cheaper interconnected tasks last long time recur solutions handle many tasks require many services desktop managers (Rooms, 1987) expect computing to be available everywhere just like furniture high-level task models support mobility need to find & recover past tasks persistent task identity 60
outline the problem new approach related work summary of research validation future work contributions discussion 61
limitations & assumptions migrating/accessing task models & materials dependent on apps’ APIs good behavior wrt resource management shared vocabularies for describing services data format compatibility 62
modeling user tasks heterogeneity & change model services & materials what users need, not which applications utility functions choice suppliers achievable Qo. S U task feasibility p: choice suppliers q: Qo. S level user-perceived state real number in [0, 1] window layout, cursors… persistent semantic identity goals, time & place, collaborators… user preferences alternative service suppliers alternative configurations alternative Qo. S tradeoffs algorithm by Vahe Poladian joint paper in ICSE 63
combining utilities by multiplication reflects and semantics overall utility = supplier utility x Qo. S utility available suppliers achievable Qo. S U real number in [0, 1] supplier utility = supplier 1 ut. x supplier 2 ut. x … Qo. S utility = Qo. S dim. 1 x Qo. S dim. x 2 … 64
model supplier preferences by enumeration supplier utility = supplier 1 ut. x supplier 2 ut. x … available suppliers achievable Qo. S U real number in [0, 1] prefer text editing supplier: supports pointing device accelerator keys WYSIYG spell checking … Word 1 Emacs 0. 6 Vim 0. 3 other … none … 65
model Qo. S tradeoffs by good and bad thresholds Qo. S utility = Qo. S dim. 1 x Qo. S dim. x 2 … medium high accuracy latency (s) 10 1 low 66
model Qo. S tradeoffs by good and bad thresholds Qo. S utility = Qo. S dim. 1 x Qo. S dim. x 2 … low medium high accuracy latency (s) 10 1 good bad 67
model Qo. S tradeoffs by good and bad thresholds Qo. S utility = Qo. S dim. 1 x Qo. S dim. x 2 … low medium high accuracy 1 good latency (s) 20 bad 68
users understand & control threshold-based Qo. S tradeoffs user study: 10 students tradeoff 1 tradeoff 2 tradeoff 3 resources plenty scarce all 10 completed experiments recognized expected adaptation behavior (95% statistical significance) joint work with Rajesh Balan & Vahe Poladian paper submission 69


