This page describes all problems, tasks and solution approaches regarding the sending of the collected data from agent to CMR.
Partial goal
All participants in a particular transaction have to be recognized and the information about the transaction has to be accessed and processed.
Major topics
- How to recognize which agent participates in a particular transaction?
- How to collect the data in a heterogeneous CMR-agent-network-topology?
- How to ensure that the data is send continuously and efficient so that so that the network bandwidth is never blocked by the agent?
- Where should all this data be processed? CRM or client?
Current solution (state)
(Previous solution approaches regarding this topic were already discussed in the continues sending in IS advanced notes and brain dumb.)
New approaches / ideas
Possible solutions for topic 1:
- Thats depends on the methods used for inner- and inter-thread tracing and for inter JVM tracing (e.g. could be Id based).
Possible solutions for topic 2:
- Decentral approach 1 Every one gets all information. (Will not be used because of the large overhead on the network during data exchange.)
- Decentral approach 2: Broadcast an request and each agent / CMR could inform that an particular transaction occurred.
- Central Approach: One CMR could function as a "Master-CRM". It would receive all collected data from the environment and do a local research or filter operation to extract the data about an particular transaction.
Possible solutions for topic 3:
- An optimal CMR-agent-network-topology should be chosen to avoid communication bottlenecks. (analysis)
Questions / Possible Problems
- Should the agent send the collected data to multiple CMR?
On remote method calls should the remote agent send to the caller agent's CMR?
Or each agent communicates with his own CMR and data about the remote invocation will be transmitted CMR to CMR? (Better Performance due less work for agent)
The remote agent can be configured differently and not instrument the classes called due this method invocation. (The CMR Agent registry could be used to check if all data are provided or what data us needed)
Time-out's - are they a problem?