Agent Controller overview

The TPTP Data Collections Framework provides a structure in which a tool application (client) can interact with one or more data-provider applications (agents) in a uniform manner and without regard for the location. This framework consists of a client interface, agent-management process, agent interface, and a few generally-useful agents. The agent-management process is known as the Agent Controller.  It is this component that allows a client application to separate itself from the details of finding and starting various data providers on local or remote machines that may or may not be the same platform type (OS and CPU architecture) or language (C/C++, Java).

The client application uses the framework's client interface API to request the services of an agent on a particular system. It is then the job of the Agent Controller to get an instance of that agent running (or share an instance already running) according to the configuration settings for that agent and the request parameters given by the client.  The details of establishing communication and launching the agent process are handled by the framework. The client then uses the API to create and send requests to the agent using a set of commands (in XML format) defined by the agent.

The agent (data-provider application) does not need to know anything about the client requesting its data.  The developer of the agent defines a set of commands (in XML format) that it will respond to with regard to whatever services it provides.  The services do not have to be data collection.  They can simply perform an action on behalf of the client.  

For an application to be an agent in this framework, it must register itself with the agent controller and then listen for requests that will come through the Agent Controller.  The framework provides an implementation for the general needs of the agent so that it does not have to be concerned with the details of setting up communication.  It merely needs to accept the commands it has defined and act on them.  The client and agent can use the framework to define a path on which data can flow between them as well.  The format for this data is not restricted.

The Agent Controller is designed to be flexible and as such, a configuration file exists that allows an administrator to control how it performs certain actions.  Refer to the configuration file overview for more information.

The following is a more comprehensive description of the components included in the data collection framework:

Agent

An agent is an application that exposes its services through the Agent Controller. Any application that registers itself with the Agent Controller and can communicate with it using control messages is an agent. A client accesses particular services of an agent through a documented set of control messages defined by the agent.  The Agent Controller passes control messages between client and agent with no knowledge of their content.  The agent determines whether it can serve multiple clients simultaneously and whether there can be multiple instances of itself running.  An agent should only be registered with a single Agent Controller.  An agent typically collects data about the system on which it runs or an application it is monitoring, or it performs services such as launching an application or copying files.

Client

A client is an application (e.g., the Eclipse* Workbench) that enables the user of a service to interact with the provider (agent). A single client can potentially connect to multiple Agent Controllers at the same time.  Likewise, the client can use the services of many agents simultaneously.  The client requests access to an agent through the Agent Controller.  If a requested agent is not running, the Agent Controller launches it.  The client can request exclusive access to an agent, but then any subsequent request for the services of that agent by another client will result in a new instance of the agent being created by the Agent Controller. A client makes requests of an agent using a base command set plus any enhancements defined by the agent.

Agent Controller 

The Agent Controller is a process that resides on each target system where a client wants the services of an agent.  An agent and the Agent Controller always coexist on the same system.  The client and the Agent Controller are not required to reside on the same system.  The Agent Controller manages all the details of startup and communication with each agent. The Agent Controller can interact with one or more agents simultaneously. A client is not associated with a particular agent until it obtains a handle to it from the Agent Controller.

Related tasks
Data Collection Conceptual Model
Backwards Compatibility in the Agent Controller
Administering The Agent Controller
 

Copyright (C) 2005, 2007 Intel Corporation.


Error 404 - Not Found

Error 404 - Not Found

The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.