移動主體
移動主體
移動主體,顧名思義,是一種類型的軟體主體,具有自治性,社會能力(可通信性),學習的能力,最重要的是移動性。
具體來說,移動主體是一個程序的實例,能夠將其狀態從一個環境傳輸到另一個環境,保持數據完整,並且能夠在新的環境中正確執行。移動主體決定什麼時候移動,往哪裡移動。移動通常是以遠程過程調用的方式進行的。正像用戶指示網際網路瀏覽器訪問一個網站(瀏覽器只是下載了網站的一個拷貝,或動態網站的一個版本),同樣地,移動主體通過數據複製完成移動。當移動主體決定移動時,移動主體首先保存它的狀態,將保存的狀態傳輸到新的主機,並在新的主機通過保存的狀態恢復執行。
移動主體是移動代碼的一種特殊形式,然而,與遠程求值和按需代碼程序設計範式相比,移動主體是主動的,因為在執行時,移動主體可以 選擇在不同的計算機間移動。這使得移動主體成為實現計算機網路中的分散式應用的強大的工具。
開放的多主體系統(MAS)是指在系統中由不同利益所有者擁有的主體可以不斷地進入和離開系統。
相對於傳統主體,移動主體具有以下 優點:
• 減少了網路流量- 傳統的客戶端/伺服器計算方式,需要在客戶端和伺服器之間進行頻繁的請求和應答。而使用移動主體,則可變為可移動的數據包,移動到伺服器上進行計算,降低了網路負載。
• 有利於并行處理 - 移動主體可以在不同的異構網路主機上的并行執行。
• 較強的應變能力 - 移動主體可以根據主機環境的狀態作出反應,例如可以根據主機的負載狀況,決定是否移動到另一個主機上。
• 網路容錯性 - 在客戶端和伺服器之間的連接斷開時可以進行計算。另外,在一台主機關閉時,其上的移動主體可以接受到通知,並且在一定的時間內移動到其他主機上。
• 維護更靈活 - 要改變一個移動主體的動作,只有源計算機必須更新。
對於遠程部署的軟體,一個特別的優點是可移植性增強了,使得系統較少地受到軟硬體環境的影響。
通常的 應用包括:
• 資源可用性,資源發現和監控
• 信息獲取,系統信息收集,支持客戶端/伺服器範式的操作。
• 數據複製和過濾,伺服器配置備份,文件搜集和分類,其他遠程計算機的數據備份。
• 動態軟體部署,遠程安裝監控和測量軟體
現代信息系統的特點是,信息分佈在異構的和不可靠的網路中。移動主體的移動性使得它適合於分佈信息環境,而它的智能性使得它適合於知識發現。利用移動主體可以達到瀏覽、搜尋和組織分佈信息的目的。
移動主體分佈信息檢索是查詢代碼靠近分佈數據,而不是傳統的數據靠近代碼。這種方式的顯著優點是:從知識發現的角度上看,移動主體是對大量的分佈信息的原始過濾,為進一步的知識發現提供了低量、高質的信息源。從運行效率上看,移動主體始終是與分佈信息維護主體進行著高效的本地交互,這必將提高檢索任務的執行速度。從網路的信息流量來看,移動主體只返回查詢的最終結果,而不是中間數據,所以大大降低對網路帶寬的要求。從系統的可靠性來看,移動主體只是在其移動時對網路可靠性有要求,所以整個系統的可靠性提高。從系統的靈活性看,移動主體的分佈信息檢索並不要求信息維護主體提供功能豐富的操作,而只要提供標準的操作原語,移動主體本身具有使用這些原語進行知識發現的智能性。從移動主體的網路運行環境來看,主體代碼是跨平台的,適應於異構的網路環境。所以移動主體為分佈知識發現提供了智能的程序設計范型。
移動計算機的特點是與網路的間歇性連接,那麼支持移動計算的關鍵是移動主體不回因為移動計算與網路的斷接而死亡或丟失,其主要支持技術為移動主體的停靠機制。