[發明專利]一種移動Agent強遷移的方法無效
| 申請號: | 201110437383.5 | 申請日: | 2011-12-23 |
| 公開(公告)號: | CN102541637A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 戚榮志;李水艷;毛鶯池 | 申請(專利權)人: | 河海大學 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210098*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 移動 agent 遷移 方法 | ||
技術領域
本發明涉及移動Agent(人工智能)的遷移機制,尤其涉及一種應用在基于Java的移動Agent系統中,藉由continuation(續延)機制、字節碼轉換技術,在不需要修改Java虛擬機的前提下實現強遷移的方法。
背景技術
移動Agent是一種新穎的構建分布式應用程序的設計范例,由于Java的平臺無關性和對代碼遷移的良好支持,目前大多數移動Agent系統都是基于Java來構建的。然而,Java的執行模型沒有提供對程序運行狀態的訪問,因此,目前直接基于Java提供的代碼遷移機制構建的主流移動Agent系統都只支持弱遷移,也就是說Agent在不同的主機間遷移代碼,遷移時可能攜帶一些初始化數據,但是不涉及執行狀態的遷移,因此,在Agent遷移到新的主機后通常是從其初始狀態重新開始執行。基于這些系統進行應用程序的開發存在著一定的難度,系統的易用性很差。
發明內容
發明目的:針對直接基于Java的移動Agent系統不支持強遷移的現狀,本發明提出一種實現移動Agent強遷移的方法,該方法引入了continuation機制,結合字節碼轉換技術實現線程狀態的捕獲;使用對象序列化機制和Java?socket機制實現Agent在網絡中的主動遷移;實現Agent在遷移到目的主機后的狀態恢復。
技術方案:為實現上述目的,本發明采用的技術方案為:
一種移動Agent強遷移的方法,包括如下步驟:
(1)狀態捕獲:使用continuation機制實現線程執行狀態捕獲,并把該線程執行狀態具體化為Java對象;
(2)Agent遷移:Agent攜帶著捕獲到的線程執行狀態在網絡環境中主動遷移;
(3)狀態恢復:Agent在遷移到目的主機后,先恢復線程執行狀態,進而使得Agent從原來中斷的地方開始繼續執行。
所述步驟(1)中,continuation機制通過字節碼轉換技術實現。
所述步驟(2)中,捕獲到的線程執行狀態需首先具體化為continuation,再使用對象序列化機制和Java?socket機制通過Agent攜帶著在網絡環境中主動遷移。
所述步驟(3)中,在目的主機上建立有continuation環境,Agent遷移過來的線程執行狀態恢復在該環境中,進而恢復Agent的執行。
有益效果:本發明提供的移動Agent強遷移的方法,引入了continuation機制,結合字節碼轉換技術實現線程狀態的捕獲;使用對象序列化機制和Java?socket機制實現Agent在網絡中的主動遷移;實現Agent在遷移到目的主機后的狀態恢復;該方法通用性強,可方便的集成到已有的基于Java的移動agent系統中,使得該系統具有強遷移的能力;由于沒有修改Java虛擬機,因此,該方法具有一定的可移植性。
附圖說明
圖1為本發明的物理結構示意圖;
圖2為本發明的邏輯結構示意圖;
圖3為本發明中狀態捕獲的流程示意圖;
圖4為本發明中狀態恢復的流程示意圖。
具體實施方式
下面結合實施例對本發明作更進一步的說明。
一種移動Agent強遷移的方法,如圖1、圖2所示包括如下三個階段:
(1)狀態捕獲:使用continuation機制實現線程執行狀態捕獲,并把該線程執行狀態具體化為Java對象;
(2)Agent遷移:Agent攜帶著捕獲到的線程執行狀態在網絡環境中主動遷移;
(3)狀態恢復:Agent在遷移到目的主機后,先恢復線程執行狀態,進而使得Agent從原來中斷的地方開始繼續執行。
下面就各個階段做具體說明。
階段1:狀態捕獲
狀態捕獲的流程示意圖如圖3所示,本發明首先將continuation定義為Agent的執行環境,該環境為Agent的強遷移提供了支持。在Agent運行前,需要首先建立這個環境,再在該環境中開始Agent的運行,而且,以后所有的操作都是在這個環境中進行的,這樣就保證了continuation對Agent執行狀態的捕獲。
隨后,由于Agent的執行狀態存在于虛擬機的棧結構中,而該棧結構是一個本地的數據結構,不具有可移植性,Agent遷移時為了保存執行狀態需要將該棧轉換為可以移植的數據結構,continuation提供了這種轉換功能,具體步驟如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河海大學,未經河海大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110437383.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:成對鋸片
- 下一篇:一種運用三網融合技術的網絡服務平臺的管理方法





