Скачать презентацию Scaling Task Management in Space and Time saving Скачать презентацию Scaling Task Management in Space and Time saving

6400f98a78299a01a1c360529b37e47d.ppt

  • Количество слайдов: 63

Scaling Task Management in Space and Time saving user attention in ubiquitous computing committee 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 independently of specific apps model services & materials what users need, not which applications user-perceived state window layout, cursors… persistent semantic identity goals, time & place, collaborators… user preferences 28

model services" src="https://present5.com/presentation/6400f98a78299a01a1c360529b37e47d/image-24.jpg" alt="modeling user tasks independently of specific apps model services" /> modeling user tasks independently of specific apps model services & materials what users need, not which applications user-perceived state window layout, cursors… persistent semantic identity goals, time & place, collaborators… user preferences 29

modeling user tasks enable users to find past tasks model services & materials <task modeling user tasks enable users to find past tasks model services & materials conference paper main result: scalability of task management in space and time David; Vahe; what users need, not which applications user-perceived state window layout, cursors… persistent semantic identity goals, time & place, collaborators… user preferences 30

modeling user tasks heterogeneity & change model services & materials what users need, not 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 infrastructure for task management exploits these models configure environment find the best match to user needs resource allocation across applications utility-theoretic comparison of alternatives activate/deactivate suppliers reconstruct user-perceived state monitor & adapt to changes framework for adaptation coordinate adaptation policies 32

infrastructure for task management separate concerns what to configure for monitor & model user 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 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 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 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 <id> change infrastructure for task management architectural framework Prism EM new. Task created. Task change Supplier register . . . budget task. Layout . . . setup task. Layout disband task. Gone (re)configure. . . formal specification of the protocols FSP change deadlock free recovery from errors Zed (re)configure. . . state shared between Prism and EM for each task model of available services in the EM (re)configure. . . 37

implementation Prism Speakeasy User Task Manager Java + Swing Dashboard Focus UI Lamp 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 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 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 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 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 & 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 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 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 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 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 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 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 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 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 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. 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 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 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 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 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 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 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 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 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 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. 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 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. 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. 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. 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 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