999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

普適計算中基于移動代理的應用follow-me遷移技術

2008-01-01 00:00:00馬曉星陶先平
計算機應用研究 2008年4期

摘要:為了更好地利用普適計算環境中的計算資源、減少人為干預、提高工作效率,提出了應用的follow-me遷移需求,即計算可以隨著用戶的移動在異構設備和計算環境中移動,讓移動中的用戶能夠體驗到不間斷的計算。提出了基于移動代理的普適計算中間件FollowMeAgent。結合情境感知技術,利用軟件代理所具備的移動性實現應用的自主遷移,并根據應用特點對遷移策略進行了細分。在此平臺上開發了若干應用,通過性能測試證明其可行性和有效性。

關鍵詞:普適計算; 跟蹤遷移; 移動代理

中圖分類號:TP311文獻標志碼:A

文章編號:1001-3695(2008)04-1160-04

0引言

近年來,隨著移動設備、智能設備、無線通信網絡技術的發展,物理空間與信息空間的結合日趨緊密,計算資源和計算機網絡無處不在,用戶將能很方便地獲取各種信息服務和計算資源,普適計算的前景日趨明朗[1,2]。作為一種新型計算模式,普適計算將更加關注如何讓這些無處不在的計算資源和網絡能夠更好地為用戶提供個性化的服務,使用戶從繁瑣的人機交互中解放出來,盡可能地減少用戶的人為干預,進一步提高工作效率,實現真正的以人為本的計算。于是用戶計算任務的follow-me遷移成為了普適計算模式中的一項新的需求[3~5]。應用的follow-me遷移是指用戶的計算任務能夠隨著用戶在物理空間的移動在信息空間中發生相應的遷移,與該任務執行相關的應用程序狀態、屬性、情境信息可以同時移動;并且能夠適應新場景下可用的計算資源,用戶可以在新的位置繼續以他所喜愛的方式執行移動前的計算任務[6,7]。相比于分布式系統中的進程遷移、代碼遷移和移動計算中的mobile IP和SIP技術,普適計算模式下應用的follow-me遷移方式提出了一些新的需求:a)計算連續性,即遷移前后用戶感覺不到計算任務的中斷,而且用戶的使用偏好仍然能在新的運行環境下得到體現,能夠為用戶維持一個熟悉的工作空間。b)情境感知的遷移驅動方式,即充分利用智能環境中部署的傳感器感知人的位置、行為等,推導出包括用戶的移動等情境的變化,無須用戶的干預便可完成遷移的動作,實現用戶干預的最小化。c)資源的無縫整合,即當計算遷移到新的環境中后,應用能夠通過自適應的方式進行重配置,以使用新的可用資源。

普適計算環境具備計算密集性、網絡密集性、資源密集性以及情境可感知性等一系列特點,這種特點為應用的follow-me遷移提供了良好的基礎設施和環境。而如何讓應用感知用戶行為和環境的變化,主動遷移并適應新的環境,卻并非顯而易見。作為普適計算研究的先行者,CMU和UIUC分別提出了Aura計劃[3]和Gaia系統[4]。其中,Aura通過抽象出用戶的任務,將組成應用的構件劃分為supplier和connector兩類,由運行系統中的任務管理器Prism來指導面向任務的應用遷移,利用分布式文件系統實現應用狀態的分發和共享,通過supplier和connector的動態綁定實現應用的重配置。但Aura并沒有闡述任務如何適應異構的supplier,關于多任務之間的同步問題亦沒有詳加探討。Gaia要求提供應用的定制描述文件(application customized description),用戶切換計算環境后需要通過遠程獲取該文件,實現應用執行狀態的裝載和應用程序的連續執行。但這一過程需要用戶的干預,而且Gaia將移動、協同以及生命周期管理等諸多要素集中于靜態協同模塊,容易形成計算瓶頸。

本文基于已有對分布式系統中移動代理的研究積累,設計并實現了一個基于移動代理的普適計算中間件平臺FollowMeAgent。在前期工作中,筆者考察了基于移動代理的應用遷移的可行性并實現了一個最小化的系統原型MDAgent[7]。但是在MDAgent中并沒有深入地闡述應用遷移的策略選擇,資源的管理機制以及遷移后的應用重配置等問題。本文將逐一探討上述問題。

1基于移動代理的普適計算中間件

1.1FollowMeAgent中間件體系結構

FollowMeAgent中間件采用了OSGi框架,其體系結構如圖1所示。中間件包含物理層、設備訪問層、服務層、代理層和應用層。物理層轉換物理信號為計算機可讀的形式并發向設備訪問層。物理層包括了各種各樣的硬件設備,如用于通信的藍牙、GPRS和WLAN設備;用于感應和控制的傳感器和激勵器等設備;用于定位和感光的傳感器;還有投影儀、打印機等設備。設備訪問層集成了物理層的多種設備,以OSGi bundle的形式提供對外可訪問的操作接口,成為服務層中的服務。設備訪問層的目的是支持新設備的熱插拔,在需要時下載和安裝設備驅動,以及自動發現和附加已有設備到FollowMeAgent中間件上。

代理層是FollowMeAgent中間件的核心層;Agent容器以bundle形式運行在OSGi框架中,agent容器中運行著多個agent。系統將為每一個用戶分配一個可以定制的user agent,它將負責響應用戶的需求和感知用戶的情境,捕獲用戶的任務;Follow-me agent是其中一種特殊的user agent,它對用戶的位置保持敏感,并具有移動能力;Admin agent提供用戶應用的管理服務,包括生命周期的管理、目錄服務、情境管理服務等。情境管理服務是實現follow-me遷移的關鍵,它需要通過對來自于物理環境的情境信息和來自于用戶的情境信息進行融合、分類和推理等。System service agent提供一些可插拔的服務或類庫。應用層則可以通過代理層提供的服務和類庫,實現應用的遷移和重配置。

1.2遷移策略

根據遷移的內容,分布式計算中的代碼遷移可以分為強遷移和弱遷移兩類。強遷移指與計算執行相關的代碼、執行狀態(棧和指令指針)、數據等完全遷移;弱遷移往往只涉及代碼的遷移,但代碼可以攜帶一些用于初始化的狀態數據[8]。在異構平臺(包括操作系統和虛擬機等)下收集和恢復執行狀態困難較大,強遷移難以得到應用和推廣,因此代碼遷移往往采用弱遷移的方式。

同樣,應用的遷移也適合采用弱遷移的方式。但應用的多樣性和計算環境的異構性使得單一的遷移粒度或遷移策略并不合適,還需要進一步細分。首先,并非所有的應用程序都適合遷移,如Word、Excel這樣的大型辦公軟件;再者很多應用不具備可移植性,切換到異構的計算環境中將不能運行,如某些在Windows平臺上運行的程序在手機上就不能使用;另外很多應用并不依賴于某一特定的軟件,如多媒體應用,像mp3文件既可以使用Windows Media Player播放,也可以使用Winamp、FooBar或其他播放器播放。因此采用單一的遷移策略既不合適,也不經濟,需要針對計算任務的特點采用不同的應用遷移策略。

1.2.1應用整體遷移(standalone migration)

以standalone方式遷移的應用是自包含的,到達新的環境后可以直接生成一個新的執行單元,不依賴新的執行環境。如大多數移動agent平臺(如Aglet、Jade)一樣,移動agent可以在多臺主機之間遷移,到達目標站點后可從移動前的斷點處恢復繼續執行。適合以這種方式遷移的往往是一些較小的應用程序,使用的是平臺無關語言,如Java允許序列化。在FollowMeAgent平臺中,對此類應用具有遷移能力的follow-me agent可以直接攜帶應用實例一起遷移,并管理應用的暫停和恢復(圖2)。這種遷移方式的優點是可以恢復完整的程序運行狀態,缺點是消耗的網絡帶寬比較大。

圖2整體遷移策略

1.2.2應用片斷遷移(fragment migration)

純Java應用可能存在不可序列化的類,對于此類應用,宜采取fragment遷移方式。與standalone方式不同的是,fragment遷移的只是部分可序列化的構件或代碼,到達新環境后不能直接運行,必須與新環境中的代碼進行鏈接后才能執行。為了在遷移后仍然能保持應用的狀態,將應用在運行時刻的關鍵屬性狀態抽象成快照(即snapshot)。Follow-me agent攜帶快照和部分代碼遷移到達目的地后,與當地資源進行動態鏈接,根據快照生成新的應用實例。該實例的屬性狀態可以與遷移前保持一致(圖3)。與standalone遷移方式相比,fragment遷移由于只涉及部分構件和代碼,消耗的網絡帶寬比較小,但同時也會損失一部分的運行狀態。因為需要在本地查找新的資源并進行動態鏈接,應用的恢復會比standalone方式慢。

圖3片斷遷移策略

1.2.3應用快照遷移

當用戶切換到一個完全異構的計算環境時,如從PC機切換到PDA,原有的應用很難繼續在新的環境中運行。這時,用戶應用的遷移將弱化為用戶任務的遷移。任務包括文本編輯、音樂和視頻播放、網頁瀏覽等。準備遷移時,應用的高層運行狀態將被抽象成自解釋的快照隨著follow-me agent一起遷移到新的環境。Follow-me agent將在新的環境中尋找能夠執行用戶原先任務的應用程序,并用快照初始化匹配的應用程序,恢復用戶的任務(圖4)。為了使當前的應用程序能夠理解遷移過來的快照,需要為不同類型的任務建立一套本體,如對于音樂播放任務,其高層運行狀態包括播放器中的音樂文件列表、正在播放的音樂文件、播放到哪個幀、音量大小等。由于只是遷移應用的快照,消耗的帶寬很少,但恢復應用時需要對快照進行理解,所耗費的時間相對也會比較多。此外,因為異構的環境中執行原任務的只是相似的程序,存在不能完全解析快照的可能,狀態的丟失會相對多一些。

1.3Follow-me遷移的實現

1.3.1Follow-me agent

為減少用戶的干預,筆者認為在普適計算模式中應該為用戶引入邏輯世界的代理,該代理就像秘書一樣,可以幫助用戶完成一系列瑣碎的工作。在follow-me agent系統中,筆者定義了user agent,每個用戶可以定制一個或多個user agent,follow-me agent是其中一種特殊的user agent,它將對用戶的位置保持敏感,并具有遷移能力。

User agent根據用戶的個人信息進行個性化配置。用戶個人信息包括用戶ID、所持設備的類型、軟件使用的偏好以及對follow-me agent中間件的配置。用戶個人信息配置采用了復合能力/偏好設置(CC/PP)協議,圖5給出了一個示例。從該示例可以看出,用戶持有一部Nokia N70手機,喜歡使用黑色字體,全屏居中顯示對話框。允許follow-me遷移,并且只遷移當前單一任務,采用反應式遷移方式,不需要用戶干預。這樣中間件系統將激活該用戶的follow-me agent。所謂反應式遷移,即當用戶情境發生變化后觸發遷移的動作。與反應式相對的是前攝式遷移。前攝式遷移可以減少遷移等待時間,但是需要能夠準確地預測到情境(如用戶位置和行為)的變化。

Follow-me agent被激活后首先向context manager注冊USER_ID和感興趣的情境類型LOCATION。CM將監控該用戶的位置變化,并根據預定義的規則對用戶的移動行為進行推理,同時將推理的結果實時反饋給follow-me agent。Follow-me agent檢查是否滿足應用遷移條件,若滿足則通知application manager(AM)收集用戶當前一個或多個應用的狀態;AM根據應用所選擇的遷移策略執行遷移準備工作,將需要遷移的內容通知follow-me agent,由其執行遷移動作;Follow-me agent到達目的地后,將與當地的AM通信,由AM負責恢復遷移來的應用實例或快照。關于follow-me agent的生命周期在文獻[7]中已經詳細介紹過,本文不再贅述。

1.3.2應用的重配置

FollowMeAgent中間件采用了OSGi框架。OSGi是一種面向服務的體系結構的實現,它的服務平臺規范為服務的提供者、開發者、網關操作者以及設備提供商進行服務的開發、部署和管理提供了一個共有的標準。在OSGi中,部署的構件叫做bundle,被存放在jar文件中。當bundle被平臺激活后可以注冊和使用服務,所有bundle之間的交互通過服務完成。基于這種面向服務的體系結構,當應用發生fragment遷移需要依賴當地資源恢復運行時,可以通過查詢本地OSGi平臺上注冊的服務進行應用的重配置。解碼服務的查找片斷如下:

public Decoder lookupDecoderService(BundleContext bc) {

//Filter that matches all Decoder services

String filter = ″(objectclass=″ + Decoder.class.getName() + ″)″; 

//Fetch all registered Decoder services and return one available

ServiceReference[] srl = bc.getServiceReferences(1, filter);

if(srl != 1 srl.length>0) {

Decoder decoder = (Decoder)bc.getService(srl[0]);

return decoder;

}else{ return 1;}}

1.4基于OWL/RDF的情境/資源描述和推理

在之前的MDAgent系統中,筆者使用了一階謂詞邏輯來描述并推理情境。但由于一階謂詞不能直觀地描述現實世界和軟件世界中情境/資源的屬性和關系,筆者在FollowMeAgent中采用了OWL和RDF相結合的方式來描述普適計算模式中的情境/資源。對某用戶的laptop的OWL定義如下:

〈owl:ObjectProperty rdf:ID=″locatedIn″〉

〈rdf:type rdf:resource=″owl;TransitiveProperty″/〉

〈rdfs:domain rdf:resource=″owl;Thing″ /〉

〈rdfs:range rdf:resource=″#ambient″ /〉

〈/owl:ObjectProperty〉

〈followme:ambient rdf:ID=″R507″〉

〈locatedIn rdf:resource=″#MMW_Tower″/〉

〈/followme:ambient〉

〈followme:device rdf:ID=″IBM_X31″〉

〈locatedIn rdf:resource=″#R507″/〉

〈usedBy rdf:resource=″#YUPING″/〉

〈owner rdf:resource=″#ICS″/〉

〈portal rdf:resource=″#IP_120″/〉

〈/followme:device>

用戶到達和離開辦公室的規則如下:

2Follow-me應用展示和性能分析

FollowMeAgent原型系統用Java 1.4.2版本實現,采用Knopflerfish 2.0.1作為OSGi的實現框架,JADE 3.4作為軟件代理容器。為采集用戶的位置、身份標志等情境信息,筆者部署了Cricket 傳感器和RFID標簽/讀卡器,并采用了Jena作為推理引擎,在FollowMeAgent平臺上開發了多個不同的follow-me應用。其中:Smart Notepad是一個完全可序列化的應用,且代碼量較小,共14.9 KB,采用整體遷移方式;Smart Media Player由于涉及流媒體的輸入/輸出和編/解碼等不可序列化的類,且代碼量較大,采用了片斷遷移方式,遷移的代碼和快照共10.6 KB;Smart Memo為了支持PC和手機/PDA之間的應用遷移,采用了高層狀態遷移策略,遷移的快照共2.7 KB。為了檢測三種策略的性能,筆者對這三種應用分別進行了性能測試。測試環境包括一臺P4 1.7 GHz CPU、256 MB內存的臺式計算機,一臺PM 1.4 GHz CPU、512 MB內存的筆記本,一部Nokia N70手機,分別由100 Mbps 有線以太網、11 Mbps無線局域網和中國移動GPRS無線網絡連接。

筆者分別測試了三個應用的掛起(suspending)、遷移(migrating)和恢復(recovering)時間。從圖6可以看出Smart Notepad所消耗的時間最少;Smart Memo其次;Smart Media Player由于需要附帶遷移正在播放的音樂文件,遷移消耗的時間較長,而且恢復時由于需要尋找本地構件/服務,消耗的時間也最長。圖7比較了應用代碼的大小和傳輸所占用的帶寬(不考慮額外的文件傳輸所占用的帶寬)。其中:Smart Notepad所消耗的帶寬最多;Smart Memo最少。這與表 1的比較結果是基本一致的。

3相關工作

CMU的Satyanarayanan教授等人與Intel合作的ISR(Internet suspend/resume)項目為實現用戶完整的計算環境的遷移提供了另外一種方法[5]。ISR借鑒了筆記本電腦的休眠/喚醒模式,采用虛擬機技術(virtual machine)來捕獲用戶計算環境暫停時的狀態,包括操作系統、應用程序、文件數據、用戶喜好、運行狀態等;這些狀態被存入分布式文件系統Coda或者可移動存儲設備中,可以在另外一個環境中被載入,讓用戶的計算從暫停點恢復運行。然而完整計算環境的存儲需要占用幾個或數十個GB的空間,盡管Coda能夠支持移動的、非連接的以及帶寬自適應的文件訪問,但是通過目前的網絡傳輸如此大量的數據仍然非常艱難和低效。

這種最大粒度的遷移不可避免地會遇到網絡傳輸的瓶頸,而且從用戶的角度來看,計算環境的整體遷移也并非十分必要,大多用戶更關心當前工作或任務的遷移。Aura、Gaia以及FollowMeAgent均傾向于第二種方案。清華大學普適計算實驗室的張德干等人也提出了面向任務的無縫主動遷移算法[6]。然而,在Aura和Gaia中并沒有發生代碼的遷移,遷移的只是抽象定義的用戶任務(Aura)或一些應用定制信息(Gaia),這與FollowMeAgent的第三種遷移策略(快照遷移)是類似的。張德干博士則針對agent遷移過程中的遷移失效、遷移時延的降低、殘余依賴的預防、斷點準確恢復等問題作了細致的分析,為本文的FollowMeAgent平臺提供了很好的算法支持。

與已有的這些方法相比,FollowMeAgent具有更大的靈活性,可以支持不同粒度的計算遷移,遷移占用的帶寬較小,遷移后可以與之前的計算設備斷連,并且可以通過賦予agent一定的智能性和自主性進一步減少用戶的干預。

4結束語

本文詳細地分析了普適計算模式下應用follow-me遷移的特點和需求,設計并實現了一個基于移動代理的普適計算中間件平臺FollowMeAgent,且在此中間件平臺上開發了若干應用,通過相關的性能測試證明了其可行性和有效性。與之前的工作以及其他一些支持計算遷移的工作相比較,本文具有以下特點:

a)給出基于移動代理的普適計算中間件平臺的體系結構。FollowMeAgent是一種用于普適計算的輕量級中間件平臺,其顯著特點是采用OSGi框架,使得系統內核占用資源非常少,可以方便地部署在移動設備和嵌入式設備中。而其面向服務的體系架構也為應用遷移到新環境后可能進行的自適應重配置提供了基礎支持,包括服務查找和重綁定。

b)本文針對應用及其所運行的環境特點,詳細地描述了不同場景下的應用遷移策略和實現。目前FollowMeAgent平臺能夠支持三種不同粒度的遷移策略,并允許用戶通過CC/PP文件進行個性化的定制,盡可能地提高用戶滿意度。

c)采用OWL/RDF對情境和資源進行統一描述和推理,基于語義的資源描述機制能夠支持更豐富的信息處理,同時為規則推理提供了良好的支持。筆者將會進一步研究依賴于歷史信息的情境推理、用戶行為的準確識別和預測等問題。

參考文獻:

[1]WEISER M. The computer for the 21st century[J]. Scientific American, 1991, 265:94-101.

[2]徐光祐, 陶霖密, 張大鵬, 等.物理空間與信息空間的對偶關系[J].科學通報,2006,51(5):610-616.

[3]GARLAN D, SIEWIOREK D, SMAILAGIC A, et al. Project Aura: toward distraction-free pervasive computing[J].IEEE Pervasive Computing, 2002, 1(2):22-31.

[4]ROMAN M, HESS C K, CERQUEIRA R, et al. Gaia: a middleware infrastructure to enable active spaces [J].IEEE Pervasive Computing, 2002, 1(4):74-83.

[5]SATYANARAYANAN M, KOZUCH M A, HELFRICH C J, et al. Towards seamless mobility on pervasive hardware[J]. Pervasive and Mobile Computing,2005, 1(2): 157-189.

[6]張德干,尹國成,史元春,等.普適計算中的無縫遷移策略[J].控制與決策,2005, 20(1):6-10.

[7]YU P, CAO J N, WEN W D, et al. Mobile agent enabled application mobility for pervasive computing[C]//Proc of Ubiquitous and Intelligent Computing. Wuhan: Springer,2006: 648-657.

[8]FUGGETTA A, PICCO G P, VIGNA G. Understanding code mobility[J]. IEEE Trans on Software Engineering, 1998, 24(5):342-361.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 久久国产精品夜色| 人妻无码中文字幕第一区| 亚洲永久色| 国产粉嫩粉嫩的18在线播放91| 欧美成人午夜在线全部免费| 又大又硬又爽免费视频| 青草视频在线观看国产| 777午夜精品电影免费看| 精品人妻一区二区三区蜜桃AⅤ| 精品第一国产综合精品Aⅴ| 日韩在线观看网站| 久久综合成人| 国产新AV天堂| 一本久道热中字伊人| 色综合激情网| 国产欧美又粗又猛又爽老| 亚洲中文字幕av无码区| 四虎永久免费地址| 国产网站免费观看| 婷婷色婷婷| 国内精品久久久久鸭| 一区二区偷拍美女撒尿视频| 亚洲欧美另类中文字幕| 国产一区二区三区免费| 国产午夜小视频| 成人福利在线视频免费观看| 亚洲综合天堂网| 国产一级无码不卡视频| 91综合色区亚洲熟妇p| 国内精品小视频福利网址| 91网址在线播放| 欧美成人aⅴ| 国产无码网站在线观看| 欧美午夜性视频| 国产免费网址| 91无码人妻精品一区二区蜜桃| JIZZ亚洲国产| 亚洲成在线观看 | 亚洲永久色| 欧美精品另类| av在线人妻熟妇| 欧美五月婷婷| 亚洲毛片一级带毛片基地| 97色伦色在线综合视频| 色噜噜狠狠色综合网图区| 天天色综合4| 国产福利小视频高清在线观看| 免费国产一级 片内射老| 欧美天堂久久| av无码久久精品| 国产精品网址在线观看你懂的| 国产一级毛片在线| 特级毛片免费视频| 67194在线午夜亚洲| 成人在线视频一区| 国产v精品成人免费视频71pao| 91系列在线观看| 香蕉伊思人视频| 国产一区二区色淫影院| 国产精品观看视频免费完整版| 国产一级视频在线观看网站| 国产SUV精品一区二区| 一级做a爰片久久毛片毛片| 亚洲国产天堂久久综合| 曰AV在线无码| 欧美性爱精品一区二区三区| 草逼视频国产| 国产黑丝视频在线观看| 91色老久久精品偷偷蜜臀| 免费高清a毛片| a级毛片免费网站| 91无码人妻精品一区| 亚洲成人在线免费观看| 欧美视频二区| 久无码久无码av无码| 无码日韩人妻精品久久蜜桃| 99视频精品全国免费品| 亚洲黄色成人| 草草线在成年免费视频2| 国产精品无码一区二区桃花视频| 91破解版在线亚洲| 91精品免费久久久|