|
|
|
${JAVA} -classpath <path to magician.jar> magician.Four11.Four11 <network name> &
${JAVA} -classpath <path to atropos classes>:<path to magician.jar> magician.Node.NetworkNode <nodename> <network name> <file name for output>
${JAVA} -classpath <path to atropos classes> host.activehost.ActiveHostTPut <nodename> <network name> -trace <file name for output>
The figure above provides a high level view of an ATROPOS residing on two network nodes. The AvnmpSmartDriver polls the Active Application (AA) and generates virtual messages (streptichrons) which are algorithmic representations of expected future state. This information is passed through the system which is comprised of Atropos Logical Processes (AvnmpLP). The AvnmpLP handles rollback. The Atropos packets are capable of checking current state with predicted state and causing a rollback if necessary.
The packet forwarding process on a router is an example of a Physical Process. A Logical Process consists of the Physical Process, data structures, and instructions to maintain message order and correct operation as the system executes ahead of wallclock time. The packet forwarding Logical Process maintains load values in its State Queue and handles rollback due to out-of-order input messages or out-of-tolerance real messages as explained later.To be more specific, a Logical Process maintains, and sends, numerous objects and structures during its execution. For Atropos, the packets sent are an implementation of Magician's SmartPacket which follows the Active Network Encapsulation Protocol format. The information contained, and transmitted, within the SmartPacket are:
Specific ties to the Magician environment are noted in green.
Specific ties to the Atropos-Enhanced application are in red.
Interfaces to SNMP are in pink.
Class | Description | Magician EE Interfaces | Application (AA) Interfaces | Management (SNMP) Interfaces |
Amain | |
This is an active packet and thus is highly Magician dependent. | ||
AvnmpSmartDriver | Starts up an individual Driving Process on a node. | This is an active packet and thus is highly Magician dependent. | ||
Flood | Starts Amain on all Active Nodes. | Magician dependent. | ||
InjectSnmp | Injects the SNMP protocol interface in order to hold the predicted values and to manage the AVNMP system. | Primarily handles management functionality of instrumenting all active applications on the node with SNMP. | ||
Driver | Generates virtual messages. | Magician
dependent calls are made to NetLoggerEventManager and SPThread.currentSPThread.sleep() |
||
Gvt | Global Virtual Time implementation. | |||
HtmlDebug | Write HTML log files. | |||
AvnmpBW | Add itself to the receive queue with some measurement hooks that are Magician dependent. |
smallstate access to add itself to the receive queue |
||
SnmpInterface | Holds all the Object IDs of which AVNMP needs to be aware. | This is a management function. | ||
ConfigInterface | Holds configurable information for the system. | |||
AvnmpDebug | Set debug level. | |||
AvnmpDriverRb | |
|||
AvnmpLP | The Logical Process | Many calls to the management interface. | ||
AvnmpPacket | The virtual message (streptichron) - AvnmpPacket.compPred() checks the predicted accuracy by calling PayLoad.streptiChron(). |
Calls the management interface to accuracy of prediction with actual application. avnmp.java.lp.SnmpInterface holds the object id information for AVNMP and the application. | ||
AvnmpQueue | General queue base class | |||
AvnmpRecQueue | This is the logical process receive queue. | This is where AvnmpPacket.compPred() is called which ties to the application. | Calls the application via the management framework interface. | |
AvnmpSndQueue | Saves sent messages | |||
AvnmpStat | (utility) Implements variable statistics. | |||
AvnmpState | Logical Process state | |||
AvnmpStateQueue | Logical Process State Queue | Includes updateSnmpObjects(). This is where the prediction is stored in the MIB. | ||
AvnmpTime | Base class for time management. | |||
PredMeasure | (utility) This is a utility to check the prediction accuracy weighted by time. | |||
PredVector | (utility) Vector of PredMeasure objects. | Contains SnmpAgentContext.updateSubAgent(). | ||
GnuPlot | Write data to be plotted into GnuPlot files. | |||
PP | This is the model of the process to be Atropos-Enhanced. | This is the model of the process to be Atropos-Enhanced. | ||
PayLoad | No ties to Magician other than Node names for the route. | Highly application dependent. Contains source route for load prediction application. | ||
splitElement, splitTable | Implements probabilistic routing. | Used in PayLoad to include probabilities of splits and joins in a route. Implements load application. | ||
LoadGen | (Sample Application) Generates packets. | This is a Magician active packet. | This is the application. | |
LoadPacket | (Sample Application) Packets generated by LoadGen. | This is a Magician active packet. | This is the application. | Load and Uptime are available via the management interface. |
- atropos/load
- This is a sample application that simply generates traffic. Its packet transmission rate and uptime are available through the active management framework.
|
|
|
The project web site is http://www.crd.ge.com/~bushsf/an |