移動主體

計算機科學中,移動主體英語:mobile agent)是計算機軟件和數據的結合體,能夠自主地從一台計算機遷移至另一台計算機,並在目標計算機上繼續執行。

定義和概覽

移動主體,顧名思義,是一種類型的軟件主體,具有自治性,社會能力(可通信性),學習的能力,最重要的是移動性

具體來說,移動主體是一個程序的實例,能夠將其狀態從一個環境傳輸到另一個環境,保持數據完整,並且能夠在新的環境中正確執行。移動主體決定什麼時候移動,往哪裡移動。移動通常是以遠程過程調用的方式進行的。 正像用戶指示互聯網瀏覽器訪問一個網站(瀏覽器只是下載了網站的一個拷貝,或動態網站的一個版本),同樣地,移動主體通過數據複製完成移動。當移動主體決定移動時,移動主體首先保存它的狀態,將保存的狀態傳輸到新的主機,並在新的主機通過保存的狀態恢復執行。


移動主體是移動代碼的一種特殊形式,然而,與遠程求值按需代碼程序設計範式相比,移動主體是主動的,因為在執行時,移動主體可以選擇在不同的計算機間移動。這使得移動主體成為實現 計算機網絡中的分布式應用的強大的工具。

開放的多主體系統(MAS)是指在系統中由不同利益所有者擁有的主體可以不斷地進入和離開系統。

優點

相對於傳統主體,移動主體具有以下優點

  • 減少了網絡流量- 傳統的客戶端/服務器計算方式,需要在客戶端和服務器之間進行頻繁的請求和應答。而使用移動主體,則可變為可移動的數據包,移動到服務器上進行計算,降低了網絡負載。
  • 有利於並行處理 - 移動主體可以在不同的異構網絡主機上的並行執行。
  • 較強的應變能力 - 移動主體可以根據主機環境的狀態作出反應,例如可以根據主機的負載狀況,決定是否移動到另一個主機上。
  • 網絡容錯性 - 在客戶端和服務器之間的連接斷開時可以進行計算。另外,在一台主機關閉時,其上的移動主體可以接受到通知,並且在一定的時間內移動到其他主機上。
  • 維護更靈活 - 要改變一個移動主體的動作,只有源計算機必須更新。

對於遠程部署的軟件,一個特別的優點是可移植性增強了,使得系統較少地受到軟硬件環境的影響。

移動主體的應用

通常的應用包括:

  • 資源可用性, 資源發現和監控
  • 信息獲取,系統信息收集,支持客戶端/服務器範式的操作。
  • 網絡管理,網絡吞吐量的遠程手機,可用貸款監控,其他遠程計算機的網絡參數。
  • 數據複製和過濾,服務器配置備份,文件搜集和分類,其他遠程計算機的數據備份。
  • 動態軟件部署,遠程安裝監控和測量軟件

參見

外部連結