Enabling Technologies for Wireless E-Business phần 4 pdf

41 361 0
Enabling Technologies for Wireless E-Business phần 4 pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

110 • E nvironmenta l h eterogeneity . Heterogene i ty i s a d ef i n i te tra i t of future comput i n g env i ronments. T h e ran g e of comput i n g d ev i ces w id ens con - t i nuous ly , an d t h e y d ramat i ca lly di ff e r i n comput i n g capa bili t i es, i nc l u d- i n g stora g e, process i n g power, screen si ze, networ ki n g , to name a few. Such devices would seamlessly interact and coordinate among them- s elves to fulfill a user’s re q uirement. Hete r ogeneity in this context is a d ouble-edged sword: on the one hand, s p ecialties of various devices al - l ow for di fferent user preferences; on t h e ot h er h an d , t h ere i s t h e c h a l- l enge to b r id ge t h e di fferences of t h ose d ev i ces. Meanw hil e , as users move across spat i a l l ocat i ons, t h e y come upon di fferent conf ig urat i ons o f t h ese p hy s i ca l spaces, i nc l u di n g t h e d ev i ces equ i ppe d an d t h e software i n s ta lled. • D ynamis m . Dynamism comes from both the environment and the user. From the environment, v a r iation in resource conditio n s , including mem- ory consumption, battery life, network bandwidth, etc., induces changes k t h at must b e carefu ll y atten d e d to. Use r m o bili ty i ntro d uces exp li c i t c h anges of t h e execut i on l ocat i on. On t h e ot h er h an d , h uman t h oug h ts an d b e h av i ors ten d eas il y to b e i n a state of f l ux. Some users m i g h t s eren di p i tous ly c h an g e t h e i r g oa l o r c ourse of act i ons i n react i n g to a c h an g e d s i tuat i on. To d ea l w i t h c h an g es i s i n fact a frequent an d constant tas k for t h e computat i ona l s y stems. • S upport for mobile peopl e . In traditional mob i l e computing genres, device mobility and code mobility have been extensively explored. The forme r considers mobile users moving with their devices across physical loca- t i ons an d geograp hi ca l reg i ons, w i t h out d ropp i ng t h e connect i on. T h e l at - ter a dd resses d ynam i ca ll y re l ocat i ng t h e e xecut i on an d c h ang i ng t h e bi n di n g s of co d e fra g ments to d ev i ces i n which t he e x ecu t io n would co n- t i nue [8]. In context-aware mo bil e comput i n g , h owever, t h e focus i s on t h e peop l e w h o are mo bil e. A user ma y or ma y not carr y a d ev i ce; rat h er, the environments alon g the wa y are responsible for receivin g and execut - i n g the user’s tasks. This differs from the code relocation in that ( 1 ) a task ma y span a set of local devices in each environment and (2) the task may not b e resume d us i ng t h e same co d e segments, d ue to c h anges i n t h e env i ronment. T h ese i ssues were se ld o m a dd resse d i n prev i ous mo bil e comput i ng researc h . • C ontext awareness . C ontext awareness refers to t h e a bili t y of a computa- t i ona l s y stem to un d erstan d t h e s i tuat i on at h an d an d a dj ust i ts b e h av i o r accor di n gly . As emp h as i ze d by De y [7], context i s an y i nformat i on t h a t c an be used t o c hara c t e riz e t h e s it u ati o n o f an en tit y . An entit y is a per - s on, place, or ob j ect that is considered relevant to the interaction between a user and an application, includin g the user and the application them - s e l ves. It typ i ca ll y i nc l u d es l ocat i on; id ent i ty; act i v i ty an d state of peop l e, g roups, an d o bj ects. Context awareness h as b ecome i ncreas i ng l y a rea li ty b ecause of t h e ava il a bili t y of i nexpens i ve an d powerfu l sensors for mon i - tor i n g t h e env i ronment. W h en comput a t i on moves b e y on d t h e d es k top an d i nt o ou r e n vi r o nm e nts , mec h an i sms must ex is t t o r eve a l t he r elev ant C.L. Wang et al. 111 con di t i ons, w h et h er p h ys i ca l or computat i ona l . By un d erstan di ng a mo bil e user’s s i tuat i on, computer s y stems cou ld d er i ve k now l e dg e, suc h as t h e user’s i ntent, an d t h en act p roact i ve ly on b e h a l f of t h e user. Con - text awareness therefore guides the ada ptation of the computation, in a a a wa y similar to how we ad j ust our behavior under different situations, to maximiz e th e use r’ s be n e fit s. These new features pose great challenges t h a t have not been completely met b y e x i st i ng so l ut i ons. Better or new software i nfrastructure suppo r ts nee d to b e i nves - t i gate d for rea li z i ng conte x t-aware mo bil e comput i ng. 6.2 Context-Aware Mobile Computing Infrastructure 6 .2.1 New Requ i rements A d m i tte dl y, some i ssues re l ate d to con t e xt-aware mo bil e comput i ng h ave a l rea d y emerged in conventional distributed com puting and mobile computing areas. The m m solu t io n s howeve r ar e in a d equate. Software i nfrastruct u r es f o r co nt e xt-a w ar e m o - bil e comput i n g s h ou ld b e d es ig ne d a new, ta ki n g exp li c i t ly in t o co n side rat io n t he f o ll ow i n g requ i rements. M obility support. Mobility support has its root in m o bile computing and distrib - uted computing, which deal with device mobility and computation mobility, respectively. In the future, support for mobility at a h igher level will also be nee d e d , target i ng at user- l eve l tas k s an d t h e i r cont i nu i ty. In a h eterogeneous env i ron - ment, t h e execut i on of a tas k suspen d e d at one l ocat i on cou ld h ar dl y b e restore d as i s at anot h er l ocat i on. T h erefore, ex i st i ng so l ut io ns for tas k mo bili ty, suc h as proc- e ss or t h rea d m ig rat i on, m igh t not b e ent i re ly app li ca bl e. Rat h er, t h e s y stem sh ou ld str i ve for a reasona bl e conf ig ur a tio n o f e n vi r o nm e nta l r esou r ces t o f ul f ill a user’s tas k , an d at t h e same t i me ma i nta i n t h e execut i on cont i nu i t y to ac hi eve use r’ s s ati s fa c ti o n . Dy namic a d aptation. D y namic adaptation is the m odification of an a pp lication durin g its execution. The hetero g en e i t y and d y namism of future environments ma k e i t an apparent an d i mportant requ i remen t . As i n di cate d i n [24], t h e nee d fo r a d aptat i on ar i ses w h en a s i gn i f i cant mi smatc h ex i sts b etween a resource’s supp ly an d d eman d . Mo bili ty i s a typ i ca l cause, s i nce t h e source an d d est i nat i on env i ron - ments ma y ver y lik e ly di ffer i n h ar d ware / s oftware conf ig urat i ons. D y nam i c a d apta - ti on i s t h us requ i re d to map t h e prev i ous tas k onto t h e new env i ronment. A l so, context-aware mobile a pp lications need to a d a pt, accordin g to situations that ma y re q uire different behaviors. I t is usuall y burdensome, if not impossible, for applica- t ions to handle the whole chore of ada p ta t ion; therefore, s y stem support for d y namic a d aptat i on i s necessary. Var i ous a d ap t at i on tec h n i ques h ave b een prev i ous l y a dd resse d – from l ower- l eve l tec h n i ques of d yna m i ca ll y c h ang i ng rout i ng i nforma- ti on to c h ang i ng t h e qua li ty of d ata, a lt e r i ng t h e compos i t i on of an app li cat i on, etc. 6 Software Infrastructure for Context-Aware Mobile Computing 112 [ 19]; h owever, t h ey are not rea dil y amena bl e to meet i ng t h e requ i rements i n con- text-aware mo bil e comput i n g . C ontext-awareness support. M an y wou ld a g ree t h at it is di ff icul t t o build r e a l co n- text-aware mo bil e app li cat i ons. T h e c h a ll en g es res id e i n b ot h t h e prov i s i on an d the usa g e of context. The efficient g ath e r in g of context data from various sensors, the proper s y nthesis o f information, and the in-tim e deliver y to context consumers are com p lex tasks involved in providin g c ontext. On the other hand, the a pp ro p ri - ate app li cat i on mo d e l an d use pattern of contex t are st ill un d er i nvest i gat i on. Most e x i st i ng approac h es to context-aware app l i cat i on d eve l opment are a d h oc i n nature, ma ki ng t h e d eve l opment h ar d to evo l ve an d to reuse t h e tec h no l og i es an d context information. System support is t hus required for the supply of context, and t t th e d ep l o y ment an d execut i on of context-aware mo bil e app li cat i ons. U ser orientation. User orientation is the ultimate g oal of computation. Tradition - all y , computers interact with users at a low level of abstraction – that of applica - t ions and individual devices. A user explicitl y invokes an application that is p re i nsta ll e d on a d ev i ce to use t h e funct i ona li ty i t prov id es. In future , h owever , t h e not i on of app li cat i on w ill b ecome o b s o l ete ; users s h ou ld b e a bl e to i nteract w i t h comput i ng systems at a muc h hi g h er l eve l . T hi s l ets t h e user focus on t h e tas k s to accomp li s h an d d e l e g ate t h e l ow- l eve l act i v i t i es to s y stems support. 6 .2.2 Representative Pro j ects Th ere are man y on g o i n g researc h pro j ects , a dd ress i n g di fferent aspects of context - aware mo bil e comput i n g . T hi s sect i on rev i ews t h ree representat i ve ones: t h e Aur a p ro j ect of CMU [1], the Gaia pro j ect of UIUC [9], and the one.world pro j ect of UW [17]. The em p hasis will be on thei r r es p ective a pp roaches to tacklin g the new re q uirements as listed earlier. A ura at C M U T he Aura project at CMU identifies use r attention as the most p recious resource. It features the concept of “task-driven computing,” wherein systems are used to s upport high - l eve l act i v i t i es of users, i .e., tas k s. A tas k embodies a user’s comput- k i n g i ntent i on, w hi c h t y p i ca lly i nvo l ves severa l app li cat i ons an d i nformat i on r esou r ces. T he task model captures this knowledge and other task-related informa- l tion, includin g user preferences about the alternative wa y s to carr y out a task an d the QoS tradeoffs. The infrastruc t ure exploits the task model t t to automaticall y con - f igure and reconfigure the environmen t o n behalf of a user, thus releasing him/her f rom the low-level management activities. A task is re p resented as a set of abst r act se r vices . The type of each abstract ser - v i ce stan d s fo r a unit o f a b stract f unctiona l it y , e.g., t h e a bili ty to di sp l ay a d ocu- ment. Comput i ng d ev i ces an d ava il a bl e s oftware serv i ces t h at i mp l ement suc h f unct i ona li ty are wrappe d as service supp l iers . Upon tas k i nstant i at i on, t h e i nfra- structure binds each abstract service to a concrete service su pp lier. This indirec- t ion p rocess ensures the same task to be re a lized in different wa y s, accordin g to t h e e n v ir o nm en t’ s r esou r ce co n d iti o n s. C.L. Wang et al. 113 a d aptat i on i s to max i m i ze an env i ron m ent’s ut ili t y fo r a user’s tas k . T h erefore, user i ntent an d preferences s h ou ld b e use d to g u id e t h e s y stem’s d ec i s i on on h ow to b est conf ig ure t h e env i ronment. T hi s k now l e dg e i s t y p i ca lly m i ss i n g i n curren t adaptive s y stems. Aura achieves the d y namic adaptation throu g h two approaches, chan g in g the bindin g of abstract service to another supplier and chan g in g the fi- delity level of a supplier. (Related pro j e cts in Aura, such as Coda and Odyssey, a l so a dd ress system- l eve l a d aptat i on lik e cy b er forag i ng an d off- l oa di n g [1]. ) Suc h a d aptat i ons ta k e p l ace w h en resource ava il a bili ty c h anges, t h e tas k QoS requ i re- ments c h ange a tas k m i grat i on request i s i ssue d , etc. Aura re li es on an economet- r i c- b ase d not i on to quant i f y t h es y stem ut ili t y an d d ef i nes t h e cost o f con f i g uratio n to j u dg e w h et h er a n a d aptat i on i s wort h w hil e. A ura advocates task mobilit y , i.e., a user-level task can be sus p ended at one p lace and resumed later at another. Upon mi g ration, a task mana g ement module coo r d inat es w ith th e service suppliers for capturin g the user-perceivable state o f t h e current tas k, w hi c h typ i ca ll y i nc l u d es t h e se t o f serv i ces support i ng t h e tas k , t h e user- l eve l sett i ngs assoc i ate d w i t h eac h of t h ose serv i ces, t h e mater i a l s b e i ng wor k e d on, i nteract i on parameters ( w i n d ow s i ze, c ursor pos i t i on, etc. ) , an d t h e user’s preferences for QoS tra d eoffs. T h e current s upp li ers are t h e n de a c t iv at ed. At t h e new env i ronment, reconf ig urat i on i s co n duc t ed t o r ein s tant i ate t h e tas k, an d t h e new ly se l ecte d supp li ers are resume d w i t h t h e user- l eve l state. A contextual information service ( CIS ) [14] p rovides a pp lications with a virtual database view of ph y sical e ntiti es an d a v aila b l e r esou r ces in th e l oc al e n v ir o n - ment. It explicitl y provides support for on-demand com pu t ati o n o f co nt e xt inf o r- mat i on an d meta-attr ib utes, suc h as accuracy, conf id ence, samp l e t i me, samp l e i nterva l d urat i on , etc. T h e CIS d ef i ne s four c l asses of i ntereste d ent i t i es: peop l e, d ev i ces, p h ys i ca l spaces, an d networ k s. It a l so cons id ers severa l s i mp l e re l at i ons amon g t h ese c l asses. However, t h e support f o r se mant ic i nf e r en c e an d t h e exp l o i - t at io n o f co nt e xt u a l fa c t s ar e li m i t ed. GAIA at UIUC T he GAIA pro j ect at UIUC aims at support for developin g that and deplo y in g a pp lications over active s p ace s . Gaia p ro p oses a middleware ado p ts the conce p ts of a conventional operating system and abstracts the space as a single reactive an d p rogrammable entity. It manages an d coordinates the resources, p rovides su pp or t f or application deployment, and o f fers a set of basic services that are used by all app li cat i ons. It a l so compr i ses an app li cat i on framewor k , offer i n g a set of b u ildi n g bl oc k s for mo bili t y , a d aptat i on, a n d dy nam i c bi n di n g serv i ces. G a i a mo d e l s i ts app li cat i on b ase d on an exten d e d mo d e l -v i ew-contro ll e r f ramework. Each a pp lication is com p os e d of several in p ut (view), out p ut ( p resen - t ation), and lo g ic (model) components. Each c omponent can individuall y exploit a different device for execution. At runtime, an a pp lication is p artitioned across a set of devices for in p ut/out p ut, p roces s i ng, and interacting with the user. A pp lications in Gaia are built with no assum p tions of the s p aces. Instead, e ach a pp lication is described in a s p ace-inde p endent descri p tion file (AGD) that li sts t h e app li cat i on components an d t h e i r requ i rements. Ga i a custom i zes t h e app li- c at i on b y f i n di ng an d conf i gur i ng t h e target space accor di ng to t h e spec i f i e d 6 Software Infrastructure for Context-Aware Mobile Computing A ura promotes task-base d a d aptation [20], i n di cat i ng t h at t h e u l t i mate goa l o f 114 requ i rements i n t h e AGD an d generate s an app li cat i on custom i ze d d escr i pt i on ( ACD ) , w hi c h recor d s t h e c o ncrete conf ig urat i on i nformat i on, suc h as w h at spe - c i f i c components to use, h ow man y i nstances to create, w h ere to i nstant i ate t h e components, etc. G aia investi g ates st r uctu r al ad a p tatio n of an application. Durin g the executio n of an application, each of its components can be individuall y replaced, multiplie d i n number, and relocated. Such an application can thus displa y different forms d ur i ng i ts li fet i me, terme d as app l ication po l ymorp h ism . To guarantee t h e cons i s- tency, Ga i a i ntro d uces t h e s emantic simi l arity b etween app li cat i on components, b ase d on pre d ef i ne d onto l og i ca l hi erarc hi es. T h e rep l acement of a component i s on ly a ll owe d i f t h e su bs t i t u t e a llows t he use r t o p erform t h e same tas k , t h ere by p reserv i n g t h e semant i cs of an app li cat i on. Gaia supports intra-space and inter-space application mobilit y . Intra-space mobilit y moves the interactive components of an application (input/output) to dif - f erent devices inside the same active space. For interspace mobilit y , Gaia captures t h e structure an d current state ( app li cat i on- l eve l state ) of t h e m i grat i ng app li cat i on i n t h e ACD f il e, an d conf i gures t h e targete d space accor di ng to t h e ACD requ i re - ments an d t h e space’s capa bili t i es. Typ i ca ll y, t h e s tructural a d aptation i s a l so nee d e d , as t h e source an d d est i nat i on spaces m igh t di ffer i n h ar d ware / software e qu i pment. F i na lly , t h e user’s p e rce i va bl e app li cat i on- l eve l state i s resume d an d th e app li cat i on i s re i nstant i ate d . G aia’s context su pp ort includes a common, reusable context model, an infra - structure that g athers context inform a t i o n fr o m d iff e r e nt se n so r s an d de li ve r s co n - t ext information to a pp lications, and a mechanism that allows applications to specif y di fferent b e h av i ors i n di ffe r e nt contexts. Contexts i n G a i a are mo d e l e d as f i rst - or d er pre di cates, w i t h operat i ons lik e c o n j unct i on, di s j unct i on, negat i on, an d quant i f i cat i on. H i g h er- l eve l contexts can b e d e d ucte d from b as i c sense d contexts u s i n g ru l e- b ase d approac h es. T h e structures of di fferent context pre di cates are spec i f i e d i n onto l o gy , w hi c h i s use d to c h ec k t h e va lidi t y of context pre di cates an d t o fac ili tate wr i t i n g di fferent context-aware ru l es. one.worl d one.world identifies the challen g es in buil d i n g applications tha t c onstantl y adapt to dynamic environments. It proposes dedicated systems’ support to ease the pro- t g rammers’ task, which features the separation of data and functionality, the expo - sure of changes to applications, and the ad hoc composition of applications an d devices. one.wor ld a b an d ons t h e common ly a d opte d o bj ect a b stract i on for d ata an d f unct i ona li t y . It represents d ata us i n g tup l es, w hi c h essent i a lly are recor d s w i t h named and t y ped fields, and implements functionalit y in forms of components. T his separation of data and functionalit y allows them to evolve independentl y and facilitates data sharin g . A special abstraction, called envi r onment , gro u ps t he data tu p les and functional com p onents to form a pp lications. It hosts and iso- l ates applications, serving as the com b i ned role of file system directories and nested p rocesses. A sync h ronous events un d er li e t h e system’s commun i cat i on mec h an i sm, i .e., a ll components’ i nteract i ons. T h ey a l so expose c h anges to t h e app li cat i ons. Upon C.L. Wang et al. 11 5 e xecut i on, app li cat i on components funct i on as event h an dl ers to di rect l y d ea l w i t h c h an g es, suc h as t h e user’s sw i tc hi n g of d ev i ces an d var i at i on i n t h e execut i on con di t i ons, etc. o ne.wor ld re li es on v i rtua l mac hi nes to prov id e a common execut i on p l atform, thus allowin g applications to be run o n a wide ran g e of devices. To address the e nvironmental d y namism, d iscover y service is explicitl y provided for the p ro- g rammers. Applications therefore will actively l oc at e an d co nn ec t t o se r v i ces o n ot h er d ev i ces, i nstea d of a l ways assum i ng t h e ava il a bili ty of resources. one.wor ld a l so promotes m i grat i on as t h e app li cat i on’s d efau l t b e h av i or an d offers t h e pr i m i - t i ves to ease t h e programm i ng. Checkpointing captures the execution state of an g e nv i ronment tree (i .e., a ll neste d env i r onments ) an d saves i t as a tup l e. M i g ration p rov id es t h e a bili t y to move or cop y an e n vi r o nm e nt an d i t s c ontents, i nc l u di n g a ll s tored tu p les, a pp lication com p onents, and nested environments. The adaptation in one.world is mainl y achieved b y mi g ratin g the application amon g devices. It is issued when a user’s location chan g es, when the resource s carc i ty h appens, or w h en a server rep li cat i o n i s nee d e d, etc. on e .wor ld d ea l s w i t h m i grat i on i n a rat h er stra i g h tforwar d wa y : F i rst, t h e v i rtua l mac hi ne prov id es a un i form execut i on env i ronment across di fferent d ev i ces an d h ar d ware arc hi tec - tures; secon d , an app li cat i on’s execut i on state i s c h ec k po i nte d an d store d i n i ts as - s oc i ate d env i ronment; t hi r d , t h e env i ronment conta i n i n g t h e app li cat i on’s co d e, state, and persistent data is copied or moved to another device; d f i na lly , t h e di scov- e r y service ensures an application to restore access to the appropriate resources in t h e n ew e x ecu ti o n e n v ir o nm e nt . 6.3 A Case Study – The Sparkle Project T he Sparkle project at HKU [13] pro p oses a com p onent-based software infrastruc - ture for support i ng context-aware mo bil e comput i ng, w hi c h features a f l ex ibl e an d i ntu i t i ve functionality adaptatio n tec h n i que. In t h e li terature, var i ous a d aptat i on tec h n i ques h ave b een prev i ous l y a dd resse d – f rom l ower- l eve l tec h n i ques of d y - nam i ca lly c h an gi n g rout i n g i nformat i on to c h an gi n g t h e f id e li t y o f d ata. However, f unct i ona li t y a d a p tat i on, i .e., dy nam i ca lly c h an gi ng h ow an app li cat i on carr i es ou t i ts funct i ona li t y , i s not ver y we ll exp l ore d . Tec h n i ques d o ex i st, h owever, w i t h l imited flexibilit y and ad a ptive capabilit y . For example, man y reconfi g urable component systems support updating soft ware components at runtime. This often t t involves bringing the system to a state in which changes can occur, by capturing m t h e system state, c h ang i ng t h e component, restor i ng t h e state, an d i nform i ng t h e s ystem t h at t h e new component can b e use d . Suc h mec h an i sms are often use d for up g ra di n g l on g -runn i n g app li cat i ons or operat i n g s y stems, w hi c h cannot b e s w i tc h e d off , an d not so m uc h for a d apt i n g to c h an g es i n resource ava il a bili t y or e n vi r o nm e nta l co nt e xt . S parkle re g ards functionalit y adaptation a ke y to meet t h e re q uirements of con - text-aware mobile computin g . In its visio n , computation essentiall y is used to real - i ze certain functionalit y ; the same fun c tionalit y can potentiall y be realized b y 6 Software Infrastructure for Context-Aware Mo bil e Comput i ng 116 many di fferent i mp l ementat i ons; t h roug h d ynam i ca ll y se l ect i ng t h e most appro - p r i ate one, b ase d on t h e runt i me s i tuat i on, i nc l u di n g user factors an d resource con - di t i ons, computat i on can f l ex ibly a d apt to the sce nar io at h an d . T h e Spar kl e p ro j ect i mp l ements t hi s id ea v i a a new app li cat i on mo d e l an d un d er lyi n g s y ste m s u pp or t . 6 .3.1 Facet-Based Application Model T raditional applications t y picall y have i n tertan g led code and are d eplo y ed as a bundled whole. Such a pp lications are n o t su ita b l e f o r co nt e xt-a w ar e m ob il e co m - p ut i ng env i ronments fo r th e fo ll ow i ng reasons: • F ixed functionality and hard to adapt . t t Th e funct i ona li ty an app li cat i on p rov id es i s often b oun d e d . Extens i on or up g ra d e i s on ly poss ibl e w i t h a dd -on patc h es. W i t h li m i te d user custom i zat i on support, an app li cat i on f orces a ll users to put up w i t h t h e same “ l oo k -an d -use.” A l ter i n g part of s uch an application often has effects that ripple throu g h the entire soft- ware, which are difficult to contain and mi g ht even render the applicatio n i no p erable. Run-time modification is v irtuall y intractable. Therefore, the tightly coupled structure of traditional application is not appropriate for f f uture env i ronments , whi c h d eman d hi g h l y a d apt i ve software. • Uneconomical usage of devic e . A user typ i ca ll y uses on l y a su b set of an app li cat i on’s funct i ona li t y . Poss ibly d ue to econom i c cons id erat i ons , tra - di t i ona l app li cat i ons ten d to b un dl e a s muc h funct i ona li t y as poss ibl e i n a si n gl e pac k a g e. Tuc ki n g t h e w h o l e i nto a sma ll d ev i ce i s ne i t h er neces- s ar y nor economical, considerin g the limited stora g e. Ideall y , software s hould be supplied accordin g to the situation and what is reall y needed b y t h e use r . To tac kl e t h ese pro bl ems, Spar kl e proposes to mo d e l an app li cat i on as a set o f c omponents, i nstea d of a mono li t hi c c h un k . Dur i ng execut i on, t h e components are dynamically downloaded from the network and linked to m t h e runt i me env i ronment t o form an app li cat i on on t h e f ly . After use, t h ese components can b e un l oa d e d a n d t h rown awa y . Note t h at “networ k ” h ere can b e ta k en j ust a p l ace h o ld er; it c ould be an y mechanism suppl y in g components upon demand. Com p onents in S p arkle are calle d f acet s . Each facet implements a sin g le well - de fin ed f unctionalit y . Essentiall y , a functionalit y c an be v i ewed a s a co ntra c t de- f ining what should be done. T he contract includes in p u t a nd out p ut s p ecifications, p re- and p ost-conditions, an d some side effects. Each functionality typically has different facets as implementations that vary in capability and requirements. A f acet cons i sts of two parts ( 1 ) S hadow, w hi c h prov id es meta- i nformat i on a b out t h e f acet, i nc l u di n g t h e facet ID, t h e funcID of t h e funct i ona li t y i t ac hi eves, i nput an d output spec i f i cat i on, i ts resource requ i rements, t h e funct i ona li t y i t requ i res to f i n- i sh its task, etc. The shadow is re p resented in human- and machine-readable XML f ormat. ( 2 ) Co d e se g ment , which is the bod y of the executable code that imple- ments the functionalit y . The code se g m e n t can consist of several Java classes. C.L. Wang et al. 11 7 However, t h ere i s on l y one c l ass t h at conta i ns t h e pu bli c l y ca ll a bl e met h o d corre - s pon di n g to t h e funct i ona li t y contract. F a ce t i s d es ig ne d to b e d isposable . It h as no pers i stent state; t h erefore eac h i n - vocat i on i s i n d epen d ent of t h e prev i ous ones. T hi s a ll ows i t to b e di scar d e d from the runtime immediatel y after use. The feature is especiall y desirable for freein g up resources and memor y on small devices. A facet ma y depend on other func- tionalities to realize its own o p erations. Such functionalities are called its facet d ependencie s . Note t h at facet d epen d enc i es are d ec id e d b y a part i cu l ar facet’s i mp l ementat i on. T h erefore, even facets for t h e same funct i ona li ty cou ld h ave di f- f erent facet d epen d enc i es. E ac h app li cat i on i n Spar kl e i s assoc i ate d w i t h a spec i a l a b stract i on, ca ll e d con- t aine r , w hi c h stores an up d ata bl e user i nterface an d a li st o f f acet speci f ications . T he user interface is a machine-dependent representation that brid g es the user and the facets. Users invoke the container to brin g up the user interface and request f acets with the correspondin g specifications. The container is also the place where t h e state i nformat i on an d app li cat i on d ata are store d . 6.3.2 The S parkle Sy stem Arch i tecture Fi g. 6. 1 Overv i ew of t h e Spar kl e system arc hi tecture A n overv i ew of t h e Spar kl e s y stem i s s h o wn i n F ig . 6.1. In Spar kl e, facets are hos t ed o n f acet servers . A c l ient s y stem on eac h d ev i ce ta k es c h ar g e of retr i ev i n g an d execut i n g t h e facets. It requests for facets from proxy servers o r peer c li ents. Proxy servers analyze the requirements specified in the query and the current 6 Software Infrastructure for Context-Aware Mo bil e Comput i ng . 118 context , t h en se l ect an d return a su i ta bl e facet to t h e c li ent. T h ere are execution servers a roun d to prov id e a “computat i ona l g r id ” for d ev i ces to d e l e g ate execut i on of facets to. A c li ent ma y a l so retr i eve d ata from a peer, or i t ma y as k a peer to e x ecu t e a fa ce t f o r i t . C ontext server s g at h er, store, an d process contextua l d ata ex - tra c t ed fr o m th e l ow -l eve l da t a sources and suppl y hi g h-level contexts to the s y s - tems and a pp lications. C lient S y stem and Streamlined Execution T he client s y stem provides an execution environment for facets. It is written i n p ure Java an d i s sma ll enoug h to b e i nsta ll e d on var i ous c li ent d ev i ces, t h us ena bli ng t h e porta bili ty of facets. T h e ma i n respons ibili ty of a c li ent system i s to h an dl e t h e rout i ne of d ynam i c facet compos i t i on, hidi ng t h e d eta il s from t h e programmers. I t accepts facet spec i f i cat i ons from t h e c li ent an d ne g ot i ates w i t h prox i es an d peers fo r sui ta ble fa ce t s. It t he n lo a d s an d li n k s t h em up w i t h t h e runt i me , an d t h en di s- cards them after usa g e. A local facet cache is included both to improve the per - f ormance of facet retrieval and to enable peer-to-peer sharin g of facets. The clien t sy stem also sees to the d y namic discover y of proxies and peers, keeps track of resource ava il a bili ty, an d d ea l s w i t h mo b ili ty. T h e d ynam i c lo adi ng, execut i ng, an d un l oa di ng of facets h ave successfu ll y b ro k en t h roug h t h e li m i te d conf i gura- t i on of sma ll d ev i ces. App li cat i ons t h at w ere once form id a bl e i n s i ze cou ld t h us b e s tream li ne d as a f l ow of components to f i t i nto a resource-constra i ne d d ev i ce, t h us e xten di n g i ts capa b ili t i es “un b oun d e dly .” I ntell ig ent Prox y and D y nam i c Adaptat i on Wh en a part i cu l ar funct i ona li t y i s requ i re d by t h e c li ent, a f acet quer y is se nt t o t he p rox y . The facet quer y consists of the function specifications – the resource usa g e vector (RUV) and user p references. The RUV contains runtime resource condi- t ions, such as the batter y life, memor y , network bandwidth, etc. User p references are user-dependent selection criteria, specified in contextual rules. Upon receiving t he query, the proxy first analyzes the shadows of all reachable facets for func- t ionality matching and resource-based filtering; it then interacts with the context servers an d id ent i f i es t h e most qua li f i e d facet b ase d on t h e s i tuat i on. T h e facet i s th en di rect l y d own l oa d e d to t h e c li ent d ev i ce from t h e facet server or v i a t h e p roxy. A s facets have de p endencies on other functionalities, the evaluation of a face t i nvolves assi g nin g facets to the required functionalities and calculatin g the overall resource usage. This process is recursive, since the assigned facets may in tur n have their own de p endencies, thus forming a multitude of differen t f acet execution t r ee . Analyzing all of them is typically t i me-prohibiting. A conser v a tive solution i s propose d , w hi c h a d opts a reasona bl e pre di ct i on on t h e resource usage for exe - cut i ng a funct i ona li ty w i t h out a i m i ng at an accurate facet execut i on tree. S par kl e i ntro d uces t h e p o s s ibili ty of d ynam i c funct i ona li ty a d aptat i on v i a t h e p ostponed bindin g of the abstract functionalit y to the concrete im p lementation. T his concept is shared b y peer pro j ects su c h as Aura and G aia. The difference is that the execution in S p arkle does not re q u i re the com p lete instantiation of all C.L. Wang et al. 119 a b stract funct i ona li t i es; rat h er, t h e se l ect i on i s ma d e step b y step, i .e., t h e facet i s b rou gh t i n one at a t i me. As di fferent facets h ave di fferent d epen d enc i es, t h e su b - sequent steps are not statically fixed, but left to run-time decision. This introduces t more f l ex ibili t y an d dy nam i c a d a pta bili t y to computat i on. S parkle also proposes to enhance the facet-matchin g al g orithm with ontolo g ical s u pp ort [15]. In realit y , the same functionalit y ma y m ean different thin g s for dif - fe r e nt use r s o r in d iff e r e nt s i t uations. An ontology-based description of functional- t t i ty as we ll as user k now l e d ge cou ld f ill i n t h e gap b etween user cogn i t i on an d t h e concepts o f compu t a t i ona l systems. M ob i l i ty S ubsystem and Flex i ble M i grat i on Spar kl e conce i ves a more f l ex ibl e mec h an i sm to support m o bili ty i n future env i - ronments. It re g ar d s “ lig h twe igh t” an d “a d apt i ve” a s two new requ i rements t h at c h a ll en g e ex i st i n g solu t io n s. T he li g htwei g ht mobile code s y stem ( LMCS ) a n d t he context-aware state mana g emen t sy stem are thus p ro p osed. L MCS handles stron g mobilit y of mobile code an d c at e r s t o v ari ous m odes of mobilit y (e. g ., code on demand, remote evaluation ) . Different from conventional m i grat i on tec h n i ques, i ts d es i gn targets a li g h twe i g h t so l ut i on for sma ll d ev i ces. L M CS di scret i zes t h e transm i ss i on of c od e an d execut i on state , an d re li es on a s tate-on- d eman d ( SOD ) sc h eme for execut i ng t h e mo bil e co d e. Upon a m i grat i on request, LMCS i nspects a ll act i ve facets un d er t h e current execut i on tree an d cap- tures t h e execut i on state v i a a Java by te- c o d e i nstrument tec h n i que. It t h en moves t h e conta i ner , t h e state , an d t h e id ent i f i ers of t h e act i ve facets to t h e ot h er d ev i ce. At the receivin g end, the container is extracted; the facets are refetched from the p roxies; and the executio n is resumed with the correspondin g states. L MCS differs from most conventional sol u tions in two as p ect s . First, the mi g ra - t i on d oes not transfer t h e co d e ; rat h er , at t h e d est i nat i on d ev i ce , t h e facets are aga i n retr i eve d fro m t h e proxy. Secon d , t h e SOD sc h eme c h ops t h e execut i on state i nto segments and ships only a portion of the required stack frames for each m ig rat i on h op. Bot h contr ib ute to t h e sav i n g of b an d w id t h consumpt i on from un- n ecessar y transfers. Furt h er, SOD su i ts espec i a lly we ll w h en a user’s movemen t i n d uces a t igh t sequence of m ig rat i on h ops . T h e computat i on t h us i s natura lly di s- tributed alon g the trail in a resource-economic wa y . Fi g ure 6.2 shows the difference between traditional mi g rat i on solution and that of LMCS. T h e con t ex t -aware s t a t e managemen t sys t e m ( CASM ) ena bl es man i pu l at i on o f d ata state d ur i ng t h e m i grat i on. It i s mot i vate d b y t h e o b servat i on t h at m i grat i ng an app li cat i on ( or a tas k) b etween h eterogeneous d ev i ces or spaces s h ou ld typ i - ca lly i nvo l ve app li cat i on ad aptat i on as we ll , suc h as su b st i tut i n g a component or a l ter i n g t h e structure of t h e app li cat i on. In t hi s sense, t h e app li cat i on state capture d b efore m ig rat i on cou ld h ar dly b e use d after t h e a d aptat i on. Aura an d Ga i a s h are this vision; however the y choose to avoid t h i s issue b y raisin g the level of state. Both pro j ects assume that exchan g eable parts would stick to the same state speci - f ication; therefore, the captured hi g h-level state c an s till be used as is to r esu m e an app li cat i on. 6 Software Infrastructure for Context-Aware Mobile Computing [...]... Topics in Operating Systems (HotOS-VIII), Elmau, Germany, May 2001, pp 147 –151 R Grimm, J Davis et al., “System support for pervasive applications”, ACM Transactions on Computer Systems, 22 (4) :42 1 48 6, November 20 04 HKU Sparkle Project http://www.csis.hku.hk/~clwang/projects/sparkle.html G Judd and P Steenkiste, “Providing contextual information to pervasive computing applications”, IEEE International Conference... responsible for handling transcoding and wireless connections to the clients There have been substantial research and industry efforts [8, 13, 47 , 88] in developing client–proxy–server architectures Additionally, intelligent proxies [68] may act as a computational platform for processing queries on behalf of resource-limited mobile clients Transcoding, i.e., conversion of data and image formats to suit... context For example, the screen resolution as a mutable type is degraded from 1 ,40 0 × 1,050 to 320 × 48 0 Fig 6.7 The screen photo of the UB application with three functions: a Web browser, an image editor and a Bomberman game 126 C.L Wang et al Fig 6.8 Timing for each migration stage manipulation Experiments have been done to evaluate the performance with state manipulation The time needed for each... adaptation”, IEEE Pervasive Computing, 3(3) :4 5, July–September 20 04 W.N Schilit, “A system architecture for context-aware mobile computing”, PhD thesis, Columbia University, 1995 P.P.L Siu, C.L Wang, and F.C.M Lau, “Context-aware state management for ubiquitous applications”, International Conference on Embedded and Ubiquitous Computing (EUC- 04) , Aizu, Japan, 26–28 August 20 04 pp 776–785 J Sousa and D Garlan,... management model for mobile ad hoc networks The key focus of MoGATU is to narrow the gap to its minimum by enabling mobile devices to proactively learn their current context and adjust their computing functionality according to their users’ needs and preferences MoGATU abstracts all devices using communication interfaces, information managers, information consumers, and information providers The information... Hanover, NH, 2000 Y Chow, W.Z Zhu, C.L Wang, and F.C.M Lau, “The state-on-demand execution for adaptive component-based mobile agent systems”, The Tenth International Conference on Parallel and Distributed Systems (ICPADS 20 04) , Newport Beach, California, 7–9 July 20 04, pp 46 –53 A.K Dey, “Providing architectural support for building context-aware Applications”, PhD thesis, Georgia Institute of Technology,... machines that can handle data formats of any type and image formats of high resolution Therefore, data on the wired network must be transcoded to suit different mobile devices It is important for a server or a proxy to recognize the characteristics of a client device Standard techniques for transcoding, such as those included in the WAP stack, include XSLT [56] and Fourier transformation The W3C CC/PP standard... management framework for mobile ad hoc networks r 136 F Perich et al 7.3.1 Communications Layer The communications layer represents wireless ad hoc networking technologies that enable mobile devices to communicate with other devices in their vicinity It is responsible for establishing and maintaining logical end-to-end connections between two devices, for data transmission and for data reception This... of the short message sizes, 7 Data Management for Mobile Ad-Hoc Networks 137 packet delays due to device mobility, and noncongestion packet losses TCP is illsuited for wireless networks Numerous variations of TCP and transport protocols designed exclusively for wireless networks ensure that both ends of a connection agree that packet loss has occurred before the source retransmits the packet Additionally,... Conference on Embedded and Ubiquitous Computing (EUC- 04) , Aizu, Japan, 26–28 August 20 04, pp 10 14 1023 V.W.M Kwan, F.C.M Lau, and C.L Wang, Functionality adaptation: a context-aware service code adaptation for pervasive computing environments”, The 2003 IEEE/WIC International Conference on Web Intelligence, Halifax, Canada, 13–17 October 2003, pp 358–3 64 The one.world project http://www.cs.nyu.edu/rgrimm/one.world/ . 12 40 40 Total bandw i dth used i n MB ( normal ) 0.32 7 1. 7 33.6 33. 9 Total bandw i dth used i n MB ( with SOD ) 0.315 0.5 7 4 32.18 16.36 Total % bandwidth saved by S OD 3 . 64 . 66 .5 4 . 22 5 1 . 8 Av g . normal code size in KB 2 7 143 7 68 848 Avg. i n i t i al memory usage with SO D in KB 5 . 9 7 1 5.77 686 2 5 9 6 Software Infrastructure for Context-Aware. co nt i n ue t o forma li ze t hi s pro bl em a n d to yi e ld more use f u l r esu lt s. • More effort is needed for designing and developing real context-aware applications for real-life

Ngày đăng: 07/08/2014, 21:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan