Agent Controller 概觀

「TPTP 資料收集架構」提供一種結構,讓工具應用程式(用戶端)和一或多個資料提供者應用程式(代理程式)可以採取一致的互動方式,不必考慮位置。 這種架構由用戶端介面、代理程式管理程序、代理程式介面及一些有用的代理程式組成。 代理程式管理程序稱為 Agent Controller。這個元件可讓用戶端應用程式和下列細節有所區隔: 在不一定是相同平台類型(OS 和 CPU 架構)或語言(C/C++、Java)的本端或遠端機器上尋找和啟動各種資料提供者。

用戶端應用程式利用此架構的用戶端介面 API,向特定系統上的代理程式要求提供服務。 接著交由 Agent Controller 根據該代理程式的配置設定和用戶端提供的要求參數,取得代理程式的執行實例(或共用已執行的實例)。 建立通訊和啟動代理程式程序的細節都由架構來處理。然後,用戶端會利用 API,以代理程式定義的一組指令(XML 格式)來建立和傳送要求給代理程式。

代理程式(資料提供者應用程式)完全不需了解要求資料的用戶端。 代理程式的開發人員定義一組指令(XML 格式),可讓代理程式回應其提供的任何服務。 這些服務不一定是資料收集。可能只是代替用戶端來執行動作。 

如果應用程式要成為此架構中的代理程式,則必須向代理程式控制器登錄,並接聽經由 Agent Controller 送來的要求。 架構提供實作方式來滿足代理程式的一般需求,代理程式不必負責設定通訊的細節。 只要接受已定義的指令並採取動作即可。用戶端和代理程式也可利用架構來定義路徑,讓彼此之間的資料在此路徑上流通。 這項資料的格式沒有限制。

Agent Controller 的設計很有彈性,有配置檔可供管理者控制如何執行某些動作。 如需相關資訊,請參閱配置檔概觀。

下列對資料收集架構中的元件提供更完整的說明:

代理程式
代理程式是透過 Agent Controller 來公開服務的一種應用程式。 任何向 Agent Controller 登錄且可利用控制訊息來通訊的任何應用程式,就稱為代理程式。 用戶端透過代理程式定義的一組明確的控制訊息來存取代理程式的特定服務。 Agent Controller 在用戶端和代理程式之間傳遞控制訊息,但並不知道訊息的內容。 代理程式會決定是否可同時服務多個用戶端,以及本身是否可執行多個實例。 一個代理程式只能向單一 Agent Controller 登錄。 代理程式通常會對所在的系統或所監視的應用程式來收集相關資料,或執行啟動應用程式或複製檔案等服務。
用戶端
用戶端是可讓服務使用者和提供者(代理程式)互動的一種應用程式(例如 Eclipse* 工作台)。 單一用戶端可能同時連接多個 Agent Controller。 同樣地,用戶端也可同時使用許多代理程式的服務。 用戶端會透過 Agent Controller 來要求存取代理程式。 如果所要求的代理程式未執行,Agent Controller 將啟動代理程式。 用戶端可以要求代理程式的獨佔性存取,但後續另一個用戶端對此代理程式的服務所提出的任何要求, 將導致 Agent Controller 建立新的代理程式實例。用戶端會使用基本指令集和代理程式所定義的任何加強功能,對代理程式提出要求。
Agent Controller 
在用戶端需要代理程式服務的每一個目標系統上,Agent Controller 是這些目標系統上的一個程序。 代理程式和 Agent Controller 一律並存在相同系統上。 用戶端和 Agent Controller 不一定要存在相同系統上。 Agent Controller 會管理每一個代理程式的所有啟動和通訊細節。 Agent Controller 可同時和一或多個代理程式互動。用戶端必須從 Agent Controller 取得代理程式的控點之後,才會和代理程式產生關聯。

相關作業
資料收集概念模型
管理 Agent Controller
 

Copyright (C) 2005, 2006 Intel Corporation.