當前位置:文書都 >

實用範文 >論文 >

一種改進的移動Agent主動通信算法論文

一種改進的移動Agent主動通信算法論文

摘要:通信機制是Agent技術研究的重要課題,該文在移動Agent主動通信算法的基礎上,提出了一種改進的移動Agent主動通信算法,解決了可靠通信問題,通過設置時間變量和超速等待,在Agent高速移動的情況下,強迫Agent停止移動,避免消息長時間不能傳遞的問題,完成可靠的消息傳遞。

一種改進的移動Agent主動通信算法論文

關鍵詞:移動Agent 主動通信 通信失效 消息等待

移動智能體(mobile Agent,簡稱MA)是當前分佈計算領域的研究熱點。它可以在異構網絡上的主機之間自主遷移,尋找合適的資源,利用與這些資源同處一台主機或子網的優勢,處理或使用這些資源,代表用户完成特定的任務。通信機制是移動Agent的關鍵技術之一,通信的可靠性和效率直接影響到整個移動Agent系統的性能。

1 當前研究現狀及存在問題

1. 1 移動Agent的通信機制

許多移動Agent支撐系統均提供了移動Agent的通信機制,一是廣播方式,將網絡看作是以消息發起者為根結點的樹型結構,廣播方式使得消息可以按某種規則(如深度優先,廣度優先)在網絡中傳遞,直到遍歷所有的葉結點。二是消息轉發方式,又可細分為Home Agent轉發模式和按路徑轉發模式。在Home Agent轉發模式中,每個移動Agent對應一個駐留在初始化結點上的Home Agent,用於定位移動Agent的當前位置[ 1 ]。在按路徑轉發模式中移動Agent途經的每個結點都保留有其下一目標結點的位置信息,所有需要傳遞給MA的消息從初始結點開始按這條路徑傳遞下去,直到移動Agent能真正接收到這些信息[ 2 ]。另外,還有一些移動智能體支撐系統只提供了通用的消息傳遞機制,而將由於移動Agent移動所引發的問題留給應用開發者處理。

1. 2 通信失效問題

在移動Agent的通信過程中,經常會發生如圖1所示的情況:AgentA向Host1上的Agent B發送消息,但在傳輸過程中,Agent B 從Host1 遷移到了Host2,因而,當消息到達Host1時,已經無法找到消息的接受者了,我們把這種在消息傳輸過程中目標Agent發生物理位置的變化,從而導致消息不能到達目標Agent的問題稱為通信失效問題[ 4 ]。

現在解決通信失效問題主要都是採用集中式的尋址方式,即基於Home的尋址機制,用Home緩存所有消息,再轉發給Agent,為了不產生衝突,要求Agent在遷移前必須向Home提出請求[ 2 ]。但是這種算法中Home負擔過重,存在瓶頸問題。當然,也可以採用指針式尋址,採用同步通信的方法從結構上避免了通信失效的發生[ 3 ]。

2 主動通信算法

2. 1 主動通信算法的通信過程

主動通信算法的主要過程: Agent B從“出生地" Place 2移動到Place3 (圖2中的1) ; B到達Place 3以後,向其Home報告新位置(圖2中的2) ;發送方A將要發送的消息發送給當前Place的Communicator (圖2中的3) ; Communicator通知接收方B的Home (圖2中的4) ; Home通知B到Place1取信息(圖2中的5) ; B主動聯繫Place1的Communicator並取回信息(圖2中的6) 。接收方的地址對於發送方是透明的,發送方在發送信息的時候只需指定接收者的名字,而不必關心接收方在哪裏或是否正在移動。發送方將消息發送給本地的Communicator以後,即認為消息已經正確地發送到接收方,可以繼續執行其他操作[ 5 ] 。

2. 2 消息等待問題

主動通信屬於“自由移動通信”方式,發送方和接受方在通信過程中都可以自由移動,且不會影響通信的可靠性,當接受方從發送方的Communicator的消息隊列中讀取消息時,接受方如果要發生移動,會觸發一個On Leave操作,Agent離開當前位置,發送方接受一個接受方的中斷請求,此時有兩種情況,發送方的消息隊列中消息均被取走或者仍有消息未被讀取,當發生後一種情況時,接受方到達新位置後,再從其Home讀取通知,繼續讀取剩餘消息。但是,如果Agent移動過快,可能會出現下面的情況: Agent讀取消息時,發生移動產生中斷,接受方到達新位置後繼續從Home讀取通知,取走剩餘消息,消息隊列還未為空,發送方Agent又有移動中斷,那麼消息隊列中可能會有一部分消息長時間的不被讀取。

2. 3 變量的加入

為了避免2. 2中出現的情況,我們設置了一個時間變量和Agent超速等待,來避免有消息長時間不被髮送。我們對Communicator中的每個消息設一個時間變量Wtime,當Wtime達到我們設定的一個固定值T0 後,我們認為它等待時間過長,對它進行標記。Agent每移動到一個節點,都要計算自己的移動速率V (V 為曾經到達的節點個數/ (當前時間.出生時間)或者現在時刻以前的一段時間內到達的節點個數/時間跨度) ,當V超過給定的最高速率V0 時,Agent必須與Home建立連接,獲得保存在Home上的發送方通知,主動去取空接受方Communicator中的等待時間過長的消息。其通信過程和主動通信算法大致相同,但在發送方A將要發送的消息發送給當前Place的Communicator (圖2中的3)時,會觸發該消息的Wtime變量,Agent B從“出生地" Place 2移動到Place3 (圖2中的1)的時候,Agent會計算它的移動速率V 值,並與V0 比較,當V超過給定的最高速率V0 時,Agent被強制與Home建立連接,獲得保存在Home上的發送方通知,主動去取空接受方Communicator中的Wtime值超過我們設定的T0 值的'消息。

3 通信過程的算法實現

Communicator與通信有關的操作:

ReceiveMessage (msg) { /* Communicator收到A發送的消息時,該操作被觸發* /

將msg存入Queue; 初始化Wtime; }

Interrup t ( ) { IF (Queue不空) {向B的Home發送“新消息"通知; }

ELSE Queue. interrup t = false; }

Home與通信有關的操作:

ReceiveMessage (msg) {將“新消息"通知msg存入消息隊列Queue;

Updata ( ) { IF (Queue不空) haveMessage = true;

ELSE haveMessage = flase; }

移動Agent與通信有關的操作:

OnArrive ( ) { /* 每當移動Agent到達新位置時,該操作被觸發* /

Home2>Updata ( ) ;

IF ( haveMessage = true) 發送“消息到達"通知給自己; }

GetMessagefromHome ( ) { /* Agent接收到“消息到達”通知時,觸發該操作*/

While (Home2>Queue不空) { 從Home2>Queue讀取一個通知msg,存入自身的消息隊列Queue; };

GetLongMessagefromHome ( ) {計算Agent移動速率V;

WH ILE (V >V0 ∧Wtime > T0 )繼續從Home2>Queue讀取一個通知msg; }

SendMessage (msg) { 向本地的Communicator發送msg; }

OnLeave ( ) {通知本地的Communicator; }

4 算法分析及應用

改進的算法同原算法一樣,保證了通信的可靠性,移動A-gent的自由移動性雖然有了一定的限制,但是保證了不會有消息長時間不能到達目標,同時時間變量和Agent超速等待的設置,避免了消息長時間等待問題的發生,同樣增加了系統的可靠性。

該算法在Agent之間展開協作通信,使若干個移動Agent可以在網絡中通過可靠通信協作完成某一項任務,可以應用於面向應用領域的協同模式的研究中,提供一種統一的、靈活的分佈式計算,使用移動Agent模型搭建各種分佈式計算平台和應用,在軟件構件技術和高性能計算環境方面有十分重要的意義,本算法有助於完善移動智能體支撐環境,為開發基於MA的分佈式應用提供基礎。

5 結束語

本文分析了移動Agent的可靠性通信問題, 在主動通信算法的基礎上,針對消息等待問題進行了改進,提出了一個能夠保證移動Agent之間可靠、高效地進行通信的通信機制,該算法有以下特點: (1)如果底層網絡可靠通信,則主動通信機制能保證消息的可靠提交; (2)如果底層網絡可靠通信,主動通信機制承諾消息提交的exactly2once語義。但該算法對移動agent間的自由移動有一定的限制,還有待我們的進一步研究。

參考文獻:

[ 1 ] 馮新宇,陶先平,呂建,等. 一種改進的移動Agent通信 算法[ J ]. 計算機學報, 2005, 25 (4) : 357.

[ 2 ] 周競揚,陳濤略,呂建,等. 一種高效可靠的移動Agent間通信機制[ J ]. 軟件學報, 2003, 14 (8) : 1470.

[ 3 ] 吳兆勝,姜峯,謝俊元. 一種新的移動Agent的可靠通信算法[ J ]. 計算機應用研究, 2004, 21 (1) : 219.

[ 4 ] 吳剛,王懷民,等. 一種移動智能體的位置管理和可靠通信算法[ J ]. 軟件學報, 2002, 13 (2) : 269.

[ 5 ] 楊博,劉大有,楊鯤,等. 移動Agent系統的主動通信機制[ J ]. 軟件學報, 2003, 14 (7) : 1338.

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/shiyongfanwen/lunwen/qz23pn.html
專題