(一)、 行動代理人程式系統元件
圖二 行動代理人程式系統架構圖
行動代理人程式系統架構(圖二)由 Agent Server、Mobile Supporting Server、Directory Server、Management Server、Mobile Agent 與 Service Agent 等元件所組成,各元件之功能簡 述如下:
Agent Server
提供行動代理人程式執行環境。連結當地資料庫、檔案系統或其他資源,提供服 務。提供行動代理人程式的網路傳輸機制。
Mobile Supporting Server
位於有線網路(Fixed Network)上,做為無線網路與有線網路連接點。可接受行 動使用者(Mobile User)的要求發出行動代理人程式,並且儲存行動代理人程式
14
執行完成之結果。
Directory Server
扮演 Broker 角色,允許 Agent Server 註冊所提供之服務。行動代理人程式被派遣 時,可先向 Directory Server 查詢提供相關服務之 Agent Server 位址,決定其 itinerary 路徑。
Management Server
記錄行動代理人程式的執行狀態,並提供行動代理人程式管理之功能。包含 suspend、terminated、resume、retract 及 report 等。
Mobile Agent
由一段帶有使用者意志的可執行程式碼及相關資料所構成。可被在網路上傳送並 且在 Agent Server 上執行。幫助使用者達成其目的。
Service Agent
屬於靜態的代理人程式,常駐於 Agent Server 上,與行動代理人程式溝通以提供服 務。
(二)、 多代理人程式之合作
在單一代理人程式(Single Agent)的架構中,透過減少無線網路之通訊次數、提 高頻寬使用效能及減少行動設備計算負擔等方式,以網際網路所連結的龐大計算環境 及資源作為行動設備之支援,達到減少行動式計算因行動設備及無線網路所受到的限 制。
但是面對快速成長、日益複雜的網際網路,要能讓使用者容易的使用網際網路上的龐 大資源,單一代理人程式的架構則須面對以下的問題及挑戰。
網際網路上的資源常是缺乏組織、沒有固定形式並且分散於各地的。這使得單一 代理人程式無法以單一界面獲得資源。
網際網路上的資訊來源及服務,其數量及變動性每天都呈快速的成長。其形式、
可獲得性及可信賴度亦隨時間不斷的改變。這使得單一代理人程式必須不斷的被 修正,以因應環境的變動。
相同的資源可能可以透過許多不同的方式獲得,而不同的方式可能有不同的服務
(Domain-Independent)及與應用領域知識相關(Domain-Specific Knowledge)的兩部份。
圖三:Agent Collaboration Architecture
在與應用領域無關的部份中,以 Task Tree 為中心可細分為 Action Scheduling、
Resource Allocation、Exception Handling、Communication、Plan Retrieval 及 Executing Monitoring 等單元。Task Tree 是 tasks 與 subtasks 關係的階層式表示,tree 的中間 node 由 task 的 goals 及 subgoals 組成,tree 的末端 node 則為真正完成 goals 的可執行動作
(action)所構成。這些可執行的動作之間存在一些執行的順序性或可被平行處理,其排 程由 Action Scheduling 單元控制。另外還需要負責要求資源的 Resource Allocation 單 元及負責網路通訊的 Communication 單元;Execution Monitoring 負責監控工作之執行,
若發生錯誤則交由 Exception Handling 單元處理。
Task Tree
Domain-Independent Control Constructs
Action
Beliefs, Facts Base
Domain-Specific Knowledge
16
當代理人程式被指派一項工作時,代理人程式首先由 Plan Retrieval 單元至 Plan Library 中搜尋完成該項工作相關的 Plan,並根據 Plan 將 Goal 切割細分成許多的 subgoals 直到該 subgoal 直接對應到可執行的動作(executable action)為止,藉這樣的方式來產 生 Task Tree。在執行的過程中,代理人程式會累積許多的結果及資訊,這些資訊被存於 Beliefs and Facts 知識庫中。在這一部份 Plan Library 及 Beliefs and Facts 兩個單元 其知識(knowledge)的表達方式可以根據應用領域的不同,選擇不同的表示方式。
(三)、 行動代理人程式在協同計算之應用
行動代理人程式架構為一建構於網際網路上提供應用程式行動能力之分散式架構,
可以適用於無線網路環境,並且支援能力較弱資源較少的行動式設備,具有跨平台、容 易擴充、可使用者化等優點,因此被視為最具有在網際網路上提供計算能力平台的潛力 之架構。
協同計算已經成為下一代分散式系統主要的努力目標,唯有在電腦網路的世界提供多 人協同合作的工作模式,方能滿足網際網路使用者日漸殷切的需要。並且因為允許分工與 合作的行為模式,而使得專精於各領域的一群人,能夠協同合作,成就以往各自工作時無 法完成之工作。
因此,以行動代理人程式架構作為協同計算中介軟體所需的通訊基礎,再加上 XML 語言作為中介軟體之共同描述語言,結合兩者之優點,可以提供協同計算必須克服的分散 式網路環境之異質性問題。