A Framework for Environment Awae Mobile Applications一個的環(huán)境感知移動應(yīng)用程序框架_第1頁
A Framework for Environment Awae Mobile Applications一個的環(huán)境感知移動應(yīng)用程序框架_第2頁
A Framework for Environment Awae Mobile Applications一個的環(huán)境感知移動應(yīng)用程序框架_第3頁
A Framework for Environment Awae Mobile Applications一個的環(huán)境感知移動應(yīng)用程序框架_第4頁
A Framework for Environment Awae Mobile Applications一個的環(huán)境感知移動應(yīng)用程序框架_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、a framework for environment aware mobile applicationsauthors: girish welling and b. r. badrinathdepartment of computer sciencerutgers universitycis 640 mobile computingpresented by: suming chenmarch 4, 1998presentation outline introduction design objectives architectural overview event delivery fram

2、eworklentities network aware subsystemlillustration performance related and future workintroduction on current system, operating system allocate resources among applicationslfixed resourceslboot-time configuration with a mobile computer, resources can be utilized more efficient if application is awa

3、re of changes.lreact to changes voluntarily during executionintroduction continue. the need for environment aware mobile applications:lresource changeldynamic utilizationladaptationlexample: network application need to deal with heterogeneity of different network intermittent connectivity and changi

4、ng bandwidth usually ignored above transport layer need to export link information to application alternate network services and take advantage of changing link characteristicsintroduction continue so the model need to belflexible and extensible for mobile environmentlaware of resource availabilityl

5、structured to react to changes efficiently approachluser-level event detectionlseparation of detection and event deliverylpreserve state of environmentevent detectiondelivery policycdpd connectivityconnectiondisplaypine:mail/newsevent handlerswavelanconnectivityservice discoveryconnection eventsserv

6、ice eventsdesign objectives user-level detection of events flexible, event specific delivery policieslseparation of event detection and delivery integrate event notification and transfer of information associated with event maintain current state of environment reduce event delivery latency by threa

7、d schedulingenvironment aware subsystemmobile applicationsuser-levelsystem softwareoperating systemprimitive events from osevents from user-levelsystem moduleshigh-level eventsarchitectural overviewarchitectural overview continue . impact of the architecturelallows arbitrary types of events such as

8、processes communication event, monitored event, and remote event.lflexible event delivery policylevent loglreduce delivery latency by giving hints to task scheduler combine with thread-based environmentevent delivery framework consider the trend in operating systems lmonolithic kernellmicro-kernel/s

9、ingle server proposed: extension of micro-kernelevent delivery framework continue .event detectiondelivery policykernelusermonolithic kernelmicro-kernel/single serverproposedevent delivery framework continue . four classes of entities that constitute the architecturelchannelslfactorieslhandlersleven

10、t object in addition, an independent registrar provides a name-service for the channel name spaceevent delivery framework continue .event detectiondelivery policyeventsevent channelevent factoryevent handlersevent channelbinding event producers(factories) and consumers(handlers)lhandlers need to be

11、registeredlnetwork channel, hardware channel, power channelimplements delivery policy and preserves environment stateldetermines the delivery order of event objects to registered handlers and specifies termination conditiondelivers event objects base on delivery policyhard to implement delivery poli

12、cy with large number of event object types delivered on the same channelbut large number of channels could increase task overhead on the systempreserves current state of mobile environment - event loglwhen a handler first registers with channel, event objects maintained in the log are delivered. fle

13、xibleclass channel policy* policy; event* statemax;public: channel(char* name); channel(char* name, policy* p); void body(); /? . . .;class policy handler* list; . . .public: void deliver (event*); virtual void reset(); virtual handler* nexthandler(); virtual void addhandler(handler*); . . .;event f

14、actory detect events produce event objectslpackages information associated with the event post event objects through channel reference of the channel is obtained by the registrarclass factory channel* chan; . . .public: factory(char* channelname); void postevent(event*)/call channel:delivery(event*)

15、 . . .; event handler an environment aware application creates a handler bound to appropriate channel reference of the channel is obtained by the registrar event objects posted onto the channel are delivered to the handler execution of the handler can be handled using separate threadclass handler ch

16、annel* channel; . . .public: handler (char* channelname); void body(); . . .;event object types event object types are organized as an extensible type hierarchy every event object type is a subtype of a root event each type is associated with a response specified in :handle() method by default, chai

17、ns the response to the immediate super-typeevent object types continue .eventpcmciacardinsertcard removememorylow memorymemorycard insertclass event . . .public: virtual size_t marshal(void*, size_t); virtual event* unmarshal(void*, size_t); . . . virtual void handle();network aware subsystem build

18、a prototype implementation on i486 based laptops running mach3.0 microkernel c+event detectiondelivery policycdpd(pumicp) connectivityconnectiondisplaypine:mail/newsevent handlerswavelan(mhmicp)connectivityservice discoveryconnection eventsservice eventsdefinition of eventstypedef enumup, down links

19、tate;class connection: public event address localip; address gateway; linkstate state;public: connection(address local, address gateway, linkstate s);class services: public event address printer; address smtp; address nntp;public: services(address printer, address smtp, address nntp);network channel

20、channel* c;main() c = new channel(“network”); c-body();connection event generation (mhmicp)address localaddr;factory* fact;void initialize() /* create “network” factory */ fact = new factory(“network”); /* initialize local data */ localaddr = getmyipaddress();void incell(address remote) event* e = n

21、ew connection(localaddr, remote, up); fact-postevent(e); delete e;void lost() event* e = new connection(localaddr, null, down); fact-postevent(e); delete e;service discoveryhandler* eh;factory* sf;services* noservice;services* getservices(address);void connection:handle() /the connection event respo

22、nse if (state = up) sf-postevent(getservices(gateway); else if (state = down) sf-postevent(noservice);main() noservice = new services(null, null, null); eh = new handler(“network”); sf = new factory(“network”); eh-body();handler code in pinehandler* eh;thread* et;connection:handle() /connection even

23、t response /if cdpd link / disable full remote mailbox access, buffer outgoing mail /if wavelan link / enable full remote mailbox access, flush outgoing mail bufferservices:handle() /service event response / change servers to those indicated in this event;void initialize() et = new thread(eh = new h

24、andler(“network”);performancecpuoperationsystemschemelatencyi486mach 3.0proposed1.118 msi486mach 3.0/ux42signal0.873 msi486linux 1.3signal0.140 mssparcsolarissunos 5.4signal0.174 msperformance continue . i486 based pc running at 33 mhz vs. 110mhz sparc5 sparc5 linux llarge context switching time on risc processors ux42 linuxloverhead of user-level ux server ours mach/uxlextra context switchperformance continue . delivery latency is not significantly worse feasible, if enhancedlreduce context switch overhead by provide channel abstraction

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論