移動主體
在電腦科學中,移動主體(英語:mobile agent)是電腦軟件和數據的結合體,能夠自主地從一台電腦遷移至另一台電腦,並在目標電腦上繼續執行。
定義和概覽
移動主體,顧名思義,是一種類型的軟件主體,具有自治性,社會能力(可通訊性),學習的能力,最重要的是流動性。
具體來說,移動主體是一個程式的實例,能夠將其狀態從一個環境傳輸到另一個環境,保持數據完整,並且能夠在新的環境中正確執行。移動主體決定什麼時候移動,往哪裏移動。移動通常是以遠端程序呼叫的方式進行的。 正像用戶指示互聯網瀏覽器造訪一個網站(瀏覽器只是下載了網站的一個拷貝,或動態網站的一個版本),同樣地,移動主體通過數據複製完成移動。當移動主體決定移動時,移動主體首先儲存它的狀態,將儲存的狀態傳輸到新的主機,並在新的主機通過儲存的狀態恢復執行。
移動主體是流動碼的一種特殊形式,然而,與遠端求值和按需代碼程式設計範式相比,移動主體是主動的,因為在執行時,移動主體可以選擇在不同的電腦間移動。這使得移動主體成為實現 電腦網絡中的分散式應用的強大的工具。
開放的多代理系統(MAS)是指在系統中由不同利益所有者擁有的主體可以不斷地進入和離開系統。
優點
相對於傳統主體,移動主體具有以下優點:
- 減少了網絡流量- 傳統的客戶端/伺服器計算方式,需要在客戶端和伺服器之間進行頻繁的請求和應答。而使用移動主體,則可變為抽取式的封包,移動到伺服器上進行計算,降低了網絡負載。
- 有利於並列處理 - 移動主體可以在不同的異構網絡主機上的並列執行。
- 較強的應變能力 - 移動主體可以根據主機環境的狀態作出反應,例如可以根據主機的負載狀況,決定是否移動到另一個主機上。
- 網絡容錯性 - 在客戶端和伺服器之間的連接斷開時可以進行計算。另外,在一台主機關閉時,其上的移動主體可以接受到通知,並且在一定的時間內移動到其他主機上。
- 維護更靈活 - 要改變一個移動主體的動作,只有源電腦必須更新。
對於遠端部署的軟件,一個特別的優點是可移植性增強了,使得系統較少地受到軟硬件環境的影響。
移動主體的應用
通常的應用包括:
- 資源可用性, 資源發現和監控
- 資訊取得,系統資訊收集,支援客戶端/伺服器範式的操作。
- 網絡管理,網絡吞吐量的遠端手機,可用貸款監控,其他遠端電腦的網絡參數。
- 數據複製和過濾,伺服器組態備份,檔案搜集和分類,其他遠端電腦的數據備份。
- 動態軟件部署,遠端安裝監控和測量軟件