Agent Controller 概要

TPTP Data Collections Framework は、ツール・アプリケーション (クライアント) が、1 つ以上のデータ・プロバイダー・アプリケーション (エージェント) と、一定の方法でロケーションに関わらず対話できる構造を提供します。このフレームワークは、クライアント・インターフェース、エージェント管理プロセス、エージェント・インターフェース、およびいくつかの一般的に有用なエージェントで構成されています。エージェント管理プロセスは、Agent Controller として知られています。  クライアント・アプリケーションが、ローカル・マシンまたはリモート・マシン上のさまざまなデータ・プロバイダーを検索および開始する際の詳細から、クライアント・アプリケーション自身を分離することを可能にするのが、このコンポーネントです。ここで言及するマシンは、同じプラットフォーム・タイプ (OS および CPU アーキテクチャー) または言語 (C/C++、Java) であることも、同じでなくてもかまいません。

クライアント・アプリケーションは、フレームワークのクライアント・インターフェース API を使用して、特定のシステム上のエージェントのサービスを要求します。次に Agent Controller が行うジョブは、このエージェントのための構成設定と、クライアントによって与えられた要求パラメーターに従って、実行するエージェントのインスタンスを入手する (またはすでに実行されているインスタンスを共用する) ことです。  通信を確立し、エージェント・プロセスを起動する詳細は、フレームワークによって取り扱われます。次に、クライアントは API を使用し、エージェントによって定義されたコマンドのセット (XML 形式) を使用してエージェントへの要求を作成し、エージェントに送信します。

エージェント (データ提供のアプリケーション) は、そのデータを要求するクライアントについて何も知る必要がありません。  エージェントの開発者は、提供するサービスに関わるどんなことにでも返事をするコマンドのセット (XML 形式) を定義します。  サービスはデータ収集である必要はありません。  クライアントに代って、ただアクションを実行できるだけです。  

アプリケーションがこのフレームワークでエージェントになるには、アプリケーションは、Agent Controller で自身を登録し、Agent Controller から受信される要求を listen する必要があります。  このフレームワークは、エージェントの一般的必要性に対する実装を提供するので、通信をセットアップする詳細と関わる必要がなくなります。  単に、定義したコマンドを受諾し、それに従って行動する必要があるだけです。  クライアントとエージェントはこのフレームワークを使用して、その間をデータがフローするパスを定義することもできます。  このデータのフォーマットは制限されていません。

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 は同時に 1 つ以上のエージェントと相互作用することができます。クライアントは、Agent Controller からそれに対するハンドルを入手するまで、特定のエージェントと関連付けられません。

関連タスク
データ収集概念モデル
Agent Controller の管理
 

Copyright (C) 2005, 2006 Intel Corporation.