The management system is realised by a number of distributed components made up of agents using CORBA functionality and services. All objects are CORBA objects and therefore can be referenced through the methods provided by CORBA. The objects can provide functionality with an IDL interface, which can be used from other components.
The architectural overview is shown in figure . The core system consists of the following components:
In contrast to strategic and goal-oriented policies, an operational policy is described by a Policy Description Language (PDL), which can be checked to ensure its syntactical correctness. An operational policy, which is inactive at first, can be activated causing the interpretation of its policy description by the Policy Interpreter. If necessary, the interpreter invokes the creation of Enforcement Objects by using the Enforcement Service and binds the operational policy object to a special event channel, the AgentInitChannel by calling a method of the policy object for this purpose. Through the AgentInitChannel the operational policy gets notified if new agents are added or removed.
For decoding the policy description and in order to reference the correct objects, the policy interpreter can make use of the CORBA Topology Service and the CORBA Naming Service. The persistent storage of policy objects is implemented by the Persistence Service.
The creation of Enforcement Objects is usually invoked by the Policy Service by activating an operational policy through the Policy Interpreter. Already created and activated policy objects which are stored in the Persistence Object Database also cause the creation of corresponding Enforcement Objects if the type of the Enforcement Object Mobile Agent matches the type specified in the policy as target.
Figure shows the details of the Enforcement Service. After creation of an Enforcement Object, the monitoring of the target management agent can be started through binding the Enforcement Object to the event channel of the agent. If an Enforcement Object receives a notification then it starts to verify whether the enclosed subject of the event matches the subject of the policy the Enforcement Object represents. Because subjects are always nomadic computer systems, this is done with the help of the directory service. After that, the Constraint Interpreter evaluates the stated constraint in the PDL description of the policy and activates the Action Interpreter in case of a positive result. The Action Interpreter finally invokes the management actions specified in the policy at the target agent which was the creator of the notification.
With the help of the CORBA Naming and Topology Services the structure of the network and its domains can be queried.
The directory service is used to query the home domain of a nomadic system. It is necessary to verify whether the home domain of the subject specified in the policy matches the home domain of the nomadic system identified by its MAC6.4 address. At the moment, a relational database is used to match the MAC address with the home domain of a nomadic system [Schi 98].