專利名稱:一種基于移動(dòng)代理的應(yīng)用無縫遷移方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,具體是一種基于移動(dòng)代理的應(yīng)用無縫遷移方法。
背景技術(shù):
普適計(jì)算模式具備計(jì)算密集性、網(wǎng)絡(luò)密集性、資源密集性以及情境可感知性等一 系列特點(diǎn),這種特點(diǎn)為應(yīng)用的無縫遷移提供了良好的基礎(chǔ)設(shè)施和環(huán)境。所謂“應(yīng)用的無縫 遷移”是指用戶所執(zhí)行的應(yīng)用能夠隨著用戶在物理空間的移動(dòng)在信息空間里發(fā)生相應(yīng)的遷 移,與該應(yīng)用執(zhí)行相關(guān)的狀態(tài)、屬性、情境信息可以同時(shí)移動(dòng),并且能夠適應(yīng)新場(chǎng)景下可用 的計(jì)算資源,用戶可以在新的位置繼續(xù)以他所喜愛的方式執(zhí)行自己之前運(yùn)行的應(yīng)用程序。 相比于其它遷移方式,普適計(jì)算模式下的無縫遷移提出了一些新的需求(1) “計(jì)算連續(xù) 性”,即遷移前后用戶感覺不到應(yīng)用的中斷,而且用戶的使用偏好仍然能在新的運(yùn)行環(huán)境下 得到體現(xiàn),即能夠?yàn)橛脩艟S持一個(gè)熟悉的操作/工作空間。(2) “情境感知”的遷移驅(qū)動(dòng)方 式,即充分利用環(huán)境中部署的傳感器感知人的位置、行為等,推導(dǎo)出包括用戶的移動(dòng)等情境 的變化,無需用戶的干預(yù)便可完成遷移的動(dòng)作,實(shí)現(xiàn)用戶干預(yù)的最小化。(3)資源的“無縫 整合”,即當(dāng)應(yīng)用遷移到新的環(huán)境中后,能夠通過自適應(yīng)的方式進(jìn)行應(yīng)用的重配置,以使用 新的可用資源。然而現(xiàn)有應(yīng)用遷移的工作中多采用整體遷移的方式或僅考慮單向和多向遷 移兩類,缺乏對(duì)應(yīng)用自身特點(diǎn)、用戶使用偏好、計(jì)算網(wǎng)絡(luò)和計(jì)算設(shè)備等異構(gòu)環(huán)境的考察,以 至于遷移的可行性和效率均較為低下。應(yīng)用的多樣性和計(jì)算環(huán)境的異構(gòu)性使得單一的遷移粒度或遷移策略并不合適。首 先并非所有的應(yīng)用都適合遷移,再者很多應(yīng)用不具備可移植性,切換到異構(gòu)的計(jì)算環(huán)境中 將不能運(yùn)行,另外很多應(yīng)用并不依賴于某一特定的軟件,比如多媒體應(yīng)用。因此采用單一的 遷移策略既不合適,也不經(jīng)濟(jì),需要針對(duì)應(yīng)用的特點(diǎn)采用不同的遷移策略。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)難以很好支持普適計(jì)算環(huán)境下應(yīng)用 無縫遷移的缺點(diǎn),提出了一種基于移動(dòng)代理的應(yīng)用無縫遷移方法,利用移動(dòng)代理的情境感 知、自適應(yīng)、和可遷移特性,協(xié)助應(yīng)用完成當(dāng)前計(jì)算任務(wù)的狀態(tài)、屬性、情境信息等的遷移。為實(shí)現(xiàn)上述目的,本發(fā)明采用了以下步驟1)構(gòu)建一個(gè)支持應(yīng)用無縫遷移的中間件系統(tǒng),該中間件系統(tǒng)基于OSGi框架構(gòu)建, 包含物理層、設(shè)備訪問層、服務(wù)層、代理層和應(yīng)用層,其中代理層包含情境管理器、應(yīng)用管理 器和管理代理,該中間件系統(tǒng)為每個(gè)用戶定制一個(gè)用戶代理,用戶代理根據(jù)用戶的個(gè)人信 息進(jìn)行個(gè)性化配置;2)激活用戶代理,根據(jù)用戶對(duì)遷移方式的選擇,生成相應(yīng)的遷移代理,并激活該遷 移代理;3)遷移代理被激活后,通知情境管理器,并向情境管理器注冊(cè)所關(guān)注的情境類型, 情境管理器將監(jiān)控所注冊(cè)的情境,特別是該用戶的位置變化,并根據(jù)用戶代理中預(yù)定義的
3規(guī)則對(duì)用戶的移動(dòng)行為進(jìn)行推理,同時(shí)將推理的結(jié)果實(shí)時(shí)發(fā)送給遷移代理;4)收到用戶移動(dòng)行為的推理結(jié)果后,遷移代理檢查是否滿足應(yīng)用遷移條件,若滿 足則通知應(yīng)用管理器暫停應(yīng)用計(jì)算任務(wù),收集用戶當(dāng)前正在運(yùn)行的一個(gè)或多個(gè)應(yīng)用的狀 態(tài),將應(yīng)用狀態(tài)緩存;5)應(yīng)用管理器根據(jù)應(yīng)用類型選擇遷移策略,根據(jù)應(yīng)用的類型不同,分別轉(zhuǎn)入以下 三個(gè)分支5a)第一分支,整體遷移應(yīng)用狀態(tài)保存在應(yīng)用實(shí)例中,應(yīng)用實(shí)例被完全序列化后 發(fā)送給遷移代理;5b)第二分支,片段遷移將應(yīng)用的關(guān)鍵屬性狀態(tài)抽象成“快照”,將應(yīng)用實(shí)例可以 序列化的對(duì)象序列化,將不可序列化的對(duì)象用占位符標(biāo)出,并一起封裝到遷移代理中;5c)第三分支,快照遷移將應(yīng)用的高層運(yùn)行狀態(tài)抽象成“快照”發(fā)送給遷移代理;6)當(dāng)用戶到達(dá)新的位置或切換到新的設(shè)備后,情境管理器通知遷移代理遷移的目 標(biāo)地址,遷移代理通知源地址的管理代理注銷,離開源地址,執(zhí)行遷移動(dòng)作;7)遷移代理到達(dá)目標(biāo)地址后,首先通知當(dāng)?shù)刂虚g件的管理代理,管理代理對(duì)其進(jìn) 行驗(yàn)證和授權(quán),通過驗(yàn)證后遷移代理將向目標(biāo)地址的情境管理器注冊(cè)所關(guān)注的情境類型, 并和當(dāng)?shù)氐膽?yīng)用管理器通信;8)應(yīng)用管理器根據(jù)遷移策略恢復(fù)隨著遷移代理一起遷移過來的應(yīng)用狀態(tài),根據(jù)遷 移策略的不同轉(zhuǎn)入以下三個(gè)分支8a)第一分支,整體遷移將遷移代理攜帶的序列化后的應(yīng)用實(shí)例反序列化,恢復(fù) 應(yīng)用狀態(tài);8b)第二分支,片段遷移和目標(biāo)地址的計(jì)算資源進(jìn)行動(dòng)態(tài)鏈接后重配置,根據(jù) “快照”生成新的應(yīng)用實(shí)例,使得該實(shí)例的屬性狀態(tài)和遷移前保持一致;8c)第三分支,快照遷移在目標(biāo)地址的計(jì)算環(huán)境中尋找能夠執(zhí)行用戶原先任務(wù) 的應(yīng)用程序,并用“快照”初始化相匹配的應(yīng)用程序,使得該應(yīng)用程序的初始狀態(tài)和遷移前 的應(yīng)用狀態(tài)一致;9)用戶在源地址暫停的應(yīng)用計(jì)算任務(wù)在目標(biāo)地址從暫停點(diǎn)恢復(fù)繼續(xù)運(yùn)行。上述步驟1)中的中間件系統(tǒng)的具體組成包含物理層、設(shè)備訪問層、服務(wù)層、代理 層和應(yīng)用層,其中物理層轉(zhuǎn)化物理信號(hào)到計(jì)算機(jī)可讀的形式并發(fā)向設(shè)備訪問層,物理層包 括了各種各樣的硬件設(shè)備,包括用于通訊的藍(lán)牙、GPRS和WLAN設(shè)備,用于感應(yīng)和控制的傳 感器和激勵(lì)器等設(shè)備,比如用于定位和感光的傳感器,還有投影儀、打印機(jī)等設(shè)備。設(shè)備訪 問層集成了物理層的多種設(shè)備,以O(shè)SGi模塊的形式提供對(duì)外可訪問的操作接口,成為服務(wù) 層中的服務(wù)。設(shè)備訪問層的目的是支持新設(shè)備的熱插拔,在需要時(shí)下載和安裝設(shè)備驅(qū)動(dòng),以 及自動(dòng)發(fā)現(xiàn)和附加已有設(shè)備到中間件系統(tǒng)中。代理層是中間件的核心層,代理容器運(yùn)行在 OSGi框架中,代理容器中運(yùn)行著多個(gè)代理。系統(tǒng)將為每一個(gè)用戶分配一個(gè)可以定制的用戶 代理,它將負(fù)責(zé)響應(yīng)用戶的需求和感知用戶的情境,捕獲用戶的任務(wù),遷移代理則負(fù)責(zé)遷移 應(yīng)用的狀態(tài)。情境管理器通過對(duì)來自于物理環(huán)境的情境信息和來自于用戶的情境信息進(jìn)行 融合、分類和推理,應(yīng)用管理器負(fù)責(zé)應(yīng)用狀態(tài)的緩存和恢復(fù),管理代理負(fù)責(zé)維護(hù)本地的用戶 代理和遷移代理。系統(tǒng)服務(wù)提供一些可插拔的服務(wù)或類庫。應(yīng)用層則可以通過代理層提供 的服務(wù)和類庫,在應(yīng)用管理器的協(xié)助下實(shí)現(xiàn)應(yīng)用的重配置。
4
上述步驟3)中“LOCATION”為情境管理器中默認(rèn)關(guān)注的情境類型。本發(fā)明使用移動(dòng)代理技術(shù)完成應(yīng)用程序中當(dāng)前計(jì)算任務(wù)隨著用戶位置的改變和 所使用計(jì)算設(shè)備的切換的遷移,針對(duì)不同的計(jì)算任務(wù)采用不同的遷移策略,使用用戶復(fù)合 能力/偏好設(shè)置協(xié)議對(duì)用戶信息進(jìn)行個(gè)性化配置,建立一套描述當(dāng)前計(jì)算任務(wù)快照的本 體,并基于OSGi技術(shù)實(shí)現(xiàn)一種支持應(yīng)用遷移的開放式中間件系統(tǒng)。本發(fā)明并不限制普適計(jì)算環(huán)境中用于感知用戶位置、所持設(shè)備等情境信息的傳感 器類型,可以使用Crickit,RFID,GPS等方式獲取用戶位置的原始數(shù)據(jù),只需將它們提供的 原始數(shù)據(jù)封裝成中間件系統(tǒng)中的OSGi模塊,從而為中間件代理層的用戶代理、遷移代理等 提供情境感知服務(wù)。新出現(xiàn)的傳感器類型也可以很方便地通過模塊的形式集成到中間件系 統(tǒng)中。本發(fā)明提出的三種遷移策略,可以很好地覆蓋各類應(yīng)用,解決現(xiàn)有工作中應(yīng)用遷 移受限的缺點(diǎn)。選擇合適的遷移策略,不僅可以節(jié)約遷移所需時(shí)間,而且可以節(jié)省帶寬,降 低遷移失敗幾率。此外,本發(fā)明中所采用的遷移代理注冊(cè)和注銷方式,可以很好地保護(hù)平臺(tái) 的安全性,而對(duì)用戶代理可以進(jìn)一步采用加密方式,保障用戶的隱私權(quán)。
圖1為遷移的流程圖。圖2為遷移代理的生命周期。圖3為中間件體系結(jié)構(gòu)。圖4為應(yīng)用快照本體。圖5為代理的元數(shù)據(jù)格式。圖6為“解碼”服務(wù)的查找片斷示例。
具體實(shí)施例方式以下結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述。1.運(yùn)行環(huán)境中間件系統(tǒng)使用JDK1. 4. 2及以上版本基于OSGi框架實(shí)現(xiàn),JAVA虛擬機(jī)為 jrel. 4. 2及以上版本;代理容器采用Aglets-2. 0. 2,并允許集成其它符合FIPA/MASIF的 代理容器,如JADE ;規(guī)則引擎使用Drools 2. 1及以上版本;普適計(jì)算環(huán)境中的傳感器基于 Cricket 和 RFID 構(gòu)建。2.用戶個(gè)人信息配置在本發(fā)明中,定義了用戶代理,用戶代理根據(jù)用戶的個(gè)人信息進(jìn)行個(gè)性化配置。用 戶個(gè)人信息包括用戶ID、所持設(shè)備的類型、軟件使用的偏好、以及對(duì)中間件的配置。用戶個(gè) 人信息配置采用了復(fù)合能力/偏好設(shè)置(CC/PP)協(xié)議,其具體內(nèi)容見下表。
硬件(Hardware)設(shè)備名,型號(hào),CPU、內(nèi)存、顯卡、聲卡屬性, 操作系統(tǒng)類型和版本,JAVA虛擬機(jī)類型和版本軟件(Software)應(yīng)用軟件名稱和版本,用戶界面設(shè)置(字體大小、 顏色、對(duì)話框大小、位置)中間件配置(Middleware Configuration)是否允許遷移,是否需要人為干預(yù),采用單任務(wù) 遷移還是多任務(wù)遷移,安全級(jí)別設(shè)置3.應(yīng)用快照“快照”是對(duì)應(yīng)用當(dāng)前運(yùn)行狀態(tài)的抽象,記錄的是較為高層的狀態(tài)。而對(duì)于不同 的程序,高層狀態(tài)的表示會(huì)有所不同,需要通過對(duì)“快照”進(jìn)行理解后才能恢復(fù)應(yīng)用。因 此,本發(fā)明為快照建立了一套本體知識(shí),以實(shí)現(xiàn)異構(gòu)程序之間的無縫連接。圖4給出了描 述應(yīng)用“快照”的其中一部分本體之間的關(guān)系和屬性的定義。其中“Application”有子類 型 “Multimedia Player", "Office Tool ” 和 “WebBrowser” 等,分別表示多媒體播放器, 辦公軟件和Web瀏覽器。每一類應(yīng)用都具有一些公認(rèn)的屬性,比如多媒體播放器中有音量 大小、播放列表、正在播放的文件和播放暫停點(diǎn)等狀態(tài)。其子類音樂播放器和視頻播放器 將繼承這些屬性并進(jìn)行相應(yīng)的擴(kuò)展,如視頻播放器中還有關(guān)于屏幕顯示大小的屬性。根類 “Application”具有屬性“Default Program”表示應(yīng)用默認(rèn)使用的運(yùn)行程序。4.遷移代理的元數(shù)據(jù)每一個(gè)遷移代理都附加一個(gè)自描述文件作為其元數(shù)據(jù),該文件定義了(1)代理的 一些基本信息,包括代理名,類名,功能描述,代理代碼或代碼URI ; (2)代理訂閱的情境,包 括用戶位置,用戶所持設(shè)備等;(3)代理關(guān)注的遷移規(guī)則集,每一條規(guī)則均包括規(guī)則名,規(guī) 則類,規(guī)則參數(shù),規(guī)則的條件,規(guī)則的結(jié)果,亦可以引用外部的規(guī)則文件。圖5是代理元數(shù)據(jù) 的基本格式。元數(shù)據(jù)基于XML定義,具有平臺(tái)無關(guān)性,可以在代理運(yùn)行階段修改元數(shù)據(jù)中的 遷移規(guī)則,而不用修改和重新編譯代理的字節(jié)碼。當(dāng)規(guī)則發(fā)生變化時(shí),中間件系統(tǒng)的情境管 理器將捕捉到這一事件,并將新的規(guī)則加載到規(guī)則推理引擎中。5.遷移的流程圖如圖1所示,本發(fā)明的步驟是1)啟動(dòng)中間件系統(tǒng),系統(tǒng)進(jìn)行初始化,啟動(dòng)圖3中間件體系結(jié)構(gòu)服務(wù)層中的服務(wù), 激活代理層中的管理代理和系統(tǒng)服務(wù)代理;2)系統(tǒng)彈出對(duì)話框,詢問用戶是否需要更新個(gè)人信息,若需要,則由用戶在更新 界面中填寫新信息,保存后系統(tǒng)為用戶生成用戶代理,每一個(gè)用戶代理有一個(gè)全局唯一的 ID ;3)用戶代理查看用戶是否選擇了允許遷移應(yīng)用,若不允許則不需額外處理;若允 許則根據(jù)用戶信息生成相應(yīng)的遷移代理,并激活;4)遷移代理向中間件系統(tǒng)中的情境管理器注冊(cè),告知情境管理器用戶的ID并根 據(jù)用戶代理中的定義向情境管理器訂閱感興趣的情境。由于遷移涉及位置,所以LOCATION 為默認(rèn)定制的情境。
6
5)用戶運(yùn)行應(yīng)用程序;6)用戶離開當(dāng)前位置;7)情景管理器檢測(cè)到用戶的位置發(fā)生變化,將該事件通知規(guī)則推理引擎,推理引 擎推導(dǎo)出用戶的離開行為,通知遷移代理和應(yīng)用管理器;8)應(yīng)用管理器暫停當(dāng)前應(yīng)用;9)應(yīng)用管理器根據(jù)應(yīng)用本體推導(dǎo)應(yīng)用類型,選擇不同的遷移策略;10)應(yīng)用管理器緩存當(dāng)前應(yīng)用的狀態(tài),并將狀態(tài)封裝到遷移代理中。若選擇整體遷 移策略,則將當(dāng)前應(yīng)用的實(shí)例對(duì)象序列化;若選擇快照遷移策略,則將應(yīng)用的狀態(tài)轉(zhuǎn)換成抽 象的快照,以文件的形式保存;若選擇片段遷移策略,則保存可以序列化的對(duì)象,并將部分 狀態(tài)轉(zhuǎn)換為快照,而不可序列化的對(duì)象則以占位符的方式標(biāo)出,以便于遷移代理遷移到新 的環(huán)境后可以在當(dāng)?shù)貙ふ液线m的對(duì)象進(jìn)行重配置;11)用戶到達(dá)新的位置,發(fā)現(xiàn)新的位置有可用計(jì)算資源(臺(tái)式電腦,筆記本電腦, 手持計(jì)算設(shè)備PDA、智能手機(jī)等);12)新位置的情境管理器監(jiān)測(cè)到用戶到達(dá),發(fā)送消息給原位置的情境管理器,原位 置的情景管理器得知目的地址,通知遷移代理;13)遷移代理發(fā)送消息給管理代理,通知管理代理即將離開,管理代理將遷移代理 從本地列表中注銷,記錄遷移的目的地,允許遷移代理離開;14)遷移代理執(zhí)行遷移動(dòng)作;15)遷移代理到達(dá)目標(biāo)地址后,通知當(dāng)?shù)刂虚g件的管理代理,管理代理對(duì)其進(jìn)行驗(yàn) 證,通過身份驗(yàn)證后授權(quán)該遷移代理訪問本地計(jì)算資源,遷移代理注冊(cè)到目標(biāo)地址的情境
管理器;16)遷移代理和當(dāng)?shù)氐膽?yīng)用管理器通信,應(yīng)用管理器獲取遷移代理中攜帶的應(yīng)用 狀態(tài),并根據(jù)遷移策略恢復(fù)應(yīng)用。對(duì)于整體遷移的應(yīng)用直接激活其應(yīng)用實(shí)例,對(duì)于快照遷移 的應(yīng)用則將快照作為應(yīng)用的初始狀態(tài)啟動(dòng)合適的應(yīng)用;對(duì)于片段遷移的應(yīng)用,則根據(jù)遷移 代理中記錄的占位符,尋找合適的構(gòu)件重新配置應(yīng)用,配置成功后將快照作為初始狀態(tài)啟 動(dòng)新應(yīng)用;17)用戶在原位置暫停的應(yīng)用在新位置從暫停的點(diǎn)繼續(xù)運(yùn)行;18)用戶關(guān)閉中間件,中間件系統(tǒng)回收用戶代理和遷移代理。在本發(fā)明中,遷移代理是應(yīng)用遷移成功與否的關(guān)鍵,遷移代理的生命周期如圖2 所示。從圖2可以看出,遷移代理是可以隨著用戶的位置變化多次遷移的,直至用戶關(guān)閉中 間件系統(tǒng)。對(duì)片段遷移和快照遷移,應(yīng)用的恢復(fù)依賴重配置。由于本發(fā)明基于OSGi構(gòu)建,其 上運(yùn)行的應(yīng)用被抽象成一組互相協(xié)同構(gòu)件及構(gòu)件提供的服務(wù),構(gòu)件被平臺(tái)激活后可以注冊(cè) 和使用服務(wù),所有構(gòu)件之間的交互通過服務(wù)完成?;谶@種面向服務(wù)的體系結(jié)構(gòu),當(dāng)應(yīng)用發(fā) 生片段遷移和快照遷移需要依賴當(dāng)?shù)刭Y源恢復(fù)運(yùn)行時(shí),可以通過查詢本地OSGi平臺(tái)上注 冊(cè)的服務(wù)進(jìn)行應(yīng)用的重配置。圖6為“解碼”服務(wù)的查找片斷示例,根據(jù)解碼服務(wù)的名字在 模塊執(zhí)行上下文中查找相匹配的服務(wù)的引用,找到可用的引用后再根據(jù)引用名生成與之對(duì) 應(yīng)的解碼服務(wù)類的實(shí)例,繼而可以使用該解碼服務(wù)。本發(fā)明中的中間件系統(tǒng)提供實(shí)現(xiàn)應(yīng)用無縫遷移的支撐平臺(tái),圖3是其體系結(jié)構(gòu)。
7基于OSGi框架的結(jié)構(gòu)使得中間件可以很容易地通過增加新的模塊擴(kuò)展其功能,尤其是當(dāng) 新的傳感器出現(xiàn)時(shí),可以通過熱部署的方式加入與該傳感器對(duì)應(yīng)的服務(wù)模塊。分層架構(gòu)使 關(guān)注點(diǎn)得以分離,遷移代理僅需關(guān)注與遷移相關(guān)的任務(wù),情境感知、應(yīng)用狀態(tài)管理分別由相 應(yīng)的情境管理器和應(yīng)用管理器負(fù)責(zé),減輕了遷移代理的負(fù)載。
權(quán)利要求
一種基于移動(dòng)代理的應(yīng)用無縫遷移方法,其特征在于以下步驟1)構(gòu)建一個(gè)支持應(yīng)用無縫遷移的中間件系統(tǒng),該中間件系統(tǒng)基于OSGi框架構(gòu)建,包含物理層、設(shè)備訪問層、服務(wù)層、代理層和應(yīng)用層,其中代理層包含情境管理器、應(yīng)用管理器和管理代理,該中間件系統(tǒng)為每個(gè)用戶定制一個(gè)用戶代理,用戶代理根據(jù)用戶的個(gè)人信息進(jìn)行個(gè)性化配置;2)激活用戶代理,根據(jù)用戶對(duì)遷移方式的選擇,生成相應(yīng)的遷移代理,并激活該遷移代理;3)遷移代理被激活后,通知情境管理器,并向情境管理器注冊(cè)所關(guān)注的情境類型,情境管理器將監(jiān)控所注冊(cè)的情境,特別是該用戶的位置變化,并根據(jù)用戶代理中預(yù)定義的規(guī)則對(duì)用戶的移動(dòng)行為進(jìn)行推理,同時(shí)將推理的結(jié)果實(shí)時(shí)發(fā)送給遷移代理;4)收到用戶移動(dòng)行為的推理結(jié)果后,遷移代理檢查是否滿足應(yīng)用遷移條件,若滿足則通知應(yīng)用管理器暫停應(yīng)用計(jì)算任務(wù),收集用戶當(dāng)前正在運(yùn)行的一個(gè)或多個(gè)應(yīng)用的狀態(tài),將應(yīng)用狀態(tài)緩存;5)應(yīng)用管理器根據(jù)應(yīng)用類型選擇遷移策略,根據(jù)應(yīng)用的類型不同,分別轉(zhuǎn)入以下三個(gè)分支5a)第一分支,整體遷移應(yīng)用狀態(tài)保存在應(yīng)用實(shí)例中,應(yīng)用實(shí)例被完全序列化后發(fā)送給遷移代理;5b)第二分支,片段遷移將應(yīng)用的關(guān)鍵屬性狀態(tài)抽象成“快照”,將應(yīng)用實(shí)例可以序列化的對(duì)象序列化,將不可序列化的對(duì)象用占位符標(biāo)出,并一起封裝到遷移代理中;5c)第三分支,快照遷移將應(yīng)用的高層運(yùn)行狀態(tài)抽象成“快照”發(fā)送給遷移代理;6)當(dāng)用戶到達(dá)新的位置或切換到新的設(shè)備后,情境管理器通知遷移代理遷移的目標(biāo)地址,遷移代理通知源地址的管理代理注銷,離開源地址,執(zhí)行遷移動(dòng)作;7)遷移代理到達(dá)目標(biāo)地址后,首先通知當(dāng)?shù)刂虚g件的管理代理,管理代理對(duì)其進(jìn)行驗(yàn)證和授權(quán),通過驗(yàn)證后遷移代理將向目標(biāo)地址的情境管理器注冊(cè)所關(guān)注的情境類型,并和當(dāng)?shù)氐膽?yīng)用管理器通信;8)應(yīng)用管理器根據(jù)遷移策略恢復(fù)隨著遷移代理一起遷移過來的應(yīng)用狀態(tài),根據(jù)遷移策略的不同轉(zhuǎn)入以下三個(gè)分支8a)第一分支,整體遷移將遷移代理攜帶的序列化后的應(yīng)用實(shí)例反序列化,恢復(fù)應(yīng)用狀態(tài);8b)第二分支,片段遷移和目標(biāo)地址的計(jì)算資源進(jìn)行動(dòng)態(tài)鏈接后重配置,根據(jù)“快照”生成新的應(yīng)用實(shí)例,使得該實(shí)例的屬性狀態(tài)和遷移前保持一致;8c)第三分支,快照遷移在目標(biāo)地址的計(jì)算環(huán)境中尋找能夠執(zhí)行用戶原先任務(wù)的應(yīng)用程序,并用“快照”初始化相匹配的應(yīng)用程序,使得該應(yīng)用程序的初始狀態(tài)和遷移前的應(yīng)用狀態(tài)一致;9)用戶在源地址暫停的應(yīng)用計(jì)算任務(wù)在目標(biāo)地址從暫停點(diǎn)恢復(fù)繼續(xù)運(yùn)行。
2.根據(jù)權(quán)利要求1所述的基于移動(dòng)代理的應(yīng)用無縫遷移方法,其特征在于以下步驟3) 中“LOCATION”為情境管理器中默認(rèn)關(guān)注的情境類型。
全文摘要
本發(fā)明公開了一種基于移動(dòng)代理的應(yīng)用無縫遷移方法,其步驟是首先構(gòu)建一個(gè)支持應(yīng)用無縫遷移的中間件系統(tǒng),配置用戶個(gè)人信息,定義支持應(yīng)用遷移的軟件代理的結(jié)構(gòu)和語義,根據(jù)應(yīng)用的不同特點(diǎn)制定三類不同的遷移策略,給出遷移后的應(yīng)用重配置方法。本發(fā)明能夠克服現(xiàn)有技術(shù)應(yīng)用難以遷移以及遷移效率較低等缺點(diǎn),降低網(wǎng)絡(luò)負(fù)載和遷移延遲,提高用戶對(duì)普適計(jì)算環(huán)境下應(yīng)用遷移服務(wù)的滿意度。
文檔編號(hào)G06F9/44GK101907989SQ20101018750
公開日2010年12月8日 申請(qǐng)日期2010年6月1日 優(yōu)先權(quán)日2010年6月1日
發(fā)明者余萍, 呂建, 曹建農(nóng) 申請(qǐng)人:南京大學(xué)