資源描述:
《一種改進(jìn)的移動(dòng)agent主動(dòng)通信算法》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、一種改進(jìn)的移動(dòng)Agent主動(dòng)通信算法摘要:通信機(jī)制是Agent技術(shù)研究的重要課題,該文在移動(dòng)Agent主動(dòng)通信算法的基礎(chǔ)上,提出了一種改進(jìn)的移動(dòng)Agent主動(dòng)通信算法,解決了可靠通信問(wèn)題,通過(guò)設(shè)置時(shí)間變量和超速等待,在Agent高速移動(dòng)的情況下,強(qiáng)迫Agent停止移動(dòng),避免消息長(zhǎng)時(shí)間不能傳遞的問(wèn)題,完成可靠的消息傳遞。關(guān)鍵詞:移動(dòng)Agent 主動(dòng)通信 通信失效 消息等待移動(dòng)智能體(mobileAgent,簡(jiǎn)稱(chēng)MA)是當(dāng)前分布計(jì)算領(lǐng)域的研究熱點(diǎn)。它可以在異構(gòu)網(wǎng)絡(luò)上的主機(jī)之間自主遷移,尋找合適的資源,利用與這些資源同處
2、一臺(tái)主機(jī)或子網(wǎng)的優(yōu)勢(shì),處理或使用這些資源,代表用戶(hù)完成特定的任務(wù)。通信機(jī)制是移動(dòng)Agent的關(guān)鍵技術(shù)之一,通信的可靠性和效率直接影響到整個(gè)移動(dòng)Agent系統(tǒng)的性能。.L.編輯。1 當(dāng)前研究現(xiàn)狀及存在問(wèn)題1.1 移動(dòng)Agent的通信機(jī)制許多移動(dòng)Agent支撐系統(tǒng)均提供了移動(dòng)Agent的通信機(jī)制,一是廣播方式,將網(wǎng)絡(luò)看作是以消息發(fā)起者為根結(jié)點(diǎn)的樹(shù)型結(jié)構(gòu),廣播方式使得消息可以按某種規(guī)則(如深度優(yōu)先,廣度優(yōu)先)在網(wǎng)絡(luò)中傳遞,直到遍歷所有的葉結(jié)點(diǎn)。二是消息轉(zhuǎn)發(fā)方式,又可細(xì)分為HomeAgent轉(zhuǎn)發(fā)模式和按路徑轉(zhuǎn)發(fā)模式。在Ho
3、meAgent轉(zhuǎn)發(fā)模式中,每個(gè)移動(dòng)Agent對(duì)應(yīng)一個(gè)駐留在初始化結(jié)點(diǎn)上的HomeAgent,用于定位移動(dòng)Agent的當(dāng)前位置[1]。在按路徑轉(zhuǎn)發(fā)模式中移動(dòng)Agent途經(jīng)的每個(gè)結(jié)點(diǎn)都保留有其下一目標(biāo)結(jié)點(diǎn)的位置信息,所有需要傳遞給MA的消息從初始結(jié)點(diǎn)開(kāi)始按這條路徑傳遞下去,直到移動(dòng)Agent能真正接收到這些信息[2]。另外,還有一些移動(dòng)智能體支撐系統(tǒng)只提供了通用的消息傳遞機(jī)制,而將由于移動(dòng)Agent移動(dòng)所引發(fā)的問(wèn)題留給應(yīng)用開(kāi)發(fā)者處理。1.2 通信失效問(wèn)題在移動(dòng)Agent的通信過(guò)程中,經(jīng)常會(huì)發(fā)生如圖1所示的情況:Agen
4、tA向Host1上的AgentB發(fā)送消息,但在傳輸過(guò)程中,AgentB從Host1遷移到了Host2,因而,當(dāng)消息到達(dá)Host1時(shí),已經(jīng)無(wú)法找到消息的接受者了,我們把這種在消息傳輸過(guò)程中目標(biāo)Agent發(fā)生物理位置的變化,從而導(dǎo)致消息不能到達(dá)目標(biāo)Agent的問(wèn)題稱(chēng)為通信失效問(wèn)題[4]?,F(xiàn)在解決通信失效問(wèn)題主要都是采用集中式的尋址方式,即基于Home的尋址機(jī)制,用Home緩存所有消息,再轉(zhuǎn)發(fā)給Agent,為了不產(chǎn)生沖突,要求Agent在遷移前必須向Home提出請(qǐng)求[2]。但是這種算法中Home負(fù)擔(dān)過(guò)重,存在瓶頸問(wèn)題。當(dāng)
5、然,也可以采用指針式尋址,采用同步通信的方法從結(jié)構(gòu)上避免了通信失效的發(fā)生[3]。2 主動(dòng)通信算法2.1 主動(dòng)通信算法的通信過(guò)程主動(dòng)通信算法的主要過(guò)程:AgentB從“出生地"Place2移動(dòng)到Place3(圖2中的1);B到達(dá)Place3以后,向其Home報(bào)告新位置(圖2中的2);發(fā)送方A將要發(fā)送的消息發(fā)送給當(dāng)前Place的municator(圖2中的3);municator通知接收方B的Home(圖2中的4);Home通知B到Place1取信息(圖2中的5);B主動(dòng)聯(lián)系Place1的municator并取回信息(
6、圖2中的6)。接收方的地址對(duì)于發(fā)送方是透明的,發(fā)送方在發(fā)送信息的時(shí)候只需指定接收者的名字,而不必關(guān)心接收方在哪里或是否正在移動(dòng)。發(fā)送方將消息發(fā)送給本地的municator以后,即認(rèn)為消息已經(jīng)正確地發(fā)送到接收方,可以繼續(xù)執(zhí)行其他操作[5]。2.2 消息等待問(wèn)題主動(dòng)通信屬于“自由移動(dòng)通信”方式,發(fā)送方和接受方在通信過(guò)程中都可以自由移動(dòng),且不會(huì)影響通信的可靠性,當(dāng)接受方從發(fā)送方的municator的消息隊(duì)列中讀取消息時(shí),接受方如果要發(fā)生移動(dòng),會(huì)觸發(fā)一個(gè)OnLeave操作,Agent離開(kāi)當(dāng)前位置,發(fā)送方接受一個(gè)接受方的中斷
7、請(qǐng)求,此時(shí)有兩種情況,發(fā)送方的消息隊(duì)列中消息均被取走或者仍有消息未被讀取,當(dāng)發(fā)生后一種情況時(shí),接受方到達(dá)新位置后,再?gòu)钠銱ome讀取通知,繼續(xù)讀取剩余消息。但是,如果Agent移動(dòng)過(guò)快,可能會(huì)出現(xiàn)下面的情況:Agent讀取消息時(shí),發(fā)生移動(dòng)產(chǎn)生中斷,接受方到達(dá)新位置后繼續(xù)從Home讀取通知,取走剩余消息,消息隊(duì)列還未為空,發(fā)送方Agent又有移動(dòng)中斷,那么消息隊(duì)列中可能會(huì)有一部分消息長(zhǎng)時(shí)間的不被讀取。2.3 變量的加入為了避免2.2中出現(xiàn)的情況,我們?cè)O(shè)置了一個(gè)時(shí)間變量和Agent超速等待,來(lái)避免有消息長(zhǎng)時(shí)間不被發(fā)送。
8、我們對(duì)municator中的每個(gè)消息設(shè)一個(gè)時(shí)間變量e,當(dāng)e達(dá)到我們?cè)O(shè)定的一個(gè)固定值T0后,我們認(rèn)為它等待時(shí)間過(guò)長(zhǎng),對(duì)它進(jìn)行標(biāo)記。Agent每移動(dòng)到一個(gè)節(jié)點(diǎn),都要計(jì)算自己的移動(dòng)速率V(V為曾經(jīng)到達(dá)的節(jié)點(diǎn)個(gè)數(shù)/(當(dāng)前時(shí)間.出生時(shí)間)或者現(xiàn)在時(shí)刻以前的一段時(shí)間內(nèi)到達(dá)的節(jié)點(diǎn)個(gè)數(shù)/時(shí)間跨度),當(dāng)V超過(guò)給定的最高速率V0時(shí),Agent必須與Home建立連接,獲得保存在H