Next: C++-Klassen für die OSI-Klassen
Up: Die Global Polling -Komponente
Previous: Die C++-Klasse iimcPollingTabList
Eine Instanz dieser Klasse stellt schließlich die Global Polling-Komponente
dar und integriert alle bisher in diesem Abschnitt vorgestellten C++-Klassen:
Im Hauptprogramm des Gateways, genauer in der CoreAgent-Komponente, wird eine
Instanz dieser Klasse kreiert. Damit (da die myGlobalPollingClass von
iimcPollingTabList abgeleitet ist) wird eine leere Liste vom Typ
iimcPollingTabList erzeugt.
class myGlobalPollingClass : public iimcPollingTabList {
public:
myGlobalPollingClass();
~myGlobalPollingClass();
void doPolling();
};
Die in der Gateway-MIB zu replizierenden SNMP-Tabellen können nun mit der
geerbten Methode append an der Global Polling-Komponente
registriert werden. Damit steht für jede registrierte (zu replizierende)
SNMP-Tabelle ein Listenelement vom Typ iimcPollingTab und damit ein
Zeiger auf eine Instanz der Klasse dynMOICreation_ofSNMP_Table zur
Verfügung. Es ist nun die Aufgabe einer Instanz dieser Klasse
myGlobalPollingClass, für jede angemeldete SNMP-Tabelle regelmäßig die
Methode TestToCreateMOI der Instanz der Klasse
dynMOICreation_ofSNMP_Table aufzurufen, um damit die Replikation zu
veranlassen.
Im Idealfall sollten die Methodenaufrufe TestToCreateMOI für jede
SNMP-Tabelle in konstanten Zeitabständen (zum Beispiel eine Sekunde) erfolgen, da
damit die Grundeinheit für die Polling-Strategie und damit für die
Polling-Intervallgröße festgelegt wird (siehe oben). Da es sich aber bei dem
zugrundeliegenden Betriebssystem (IBM AIX 4.2) um kein Echtzeitbetriebssystem handelt,
kann dieser Idealfall nicht realisiert werden. Dies stellt aber keine Einschränkung
dar, denn in der Praxis ist es nicht notwendig, daß das Polling in konstanten
Intervallen ausgeführt wird. Solange das Pollingintervall klein genug ist, um jede
Änderung festzustellen, ist es belanglos, ob die Zeiten zwischen dem Pollen in einem
gewissen Maß voneinander abweichen.
Auf der Grundlage dieser Überlegungen wurde die Methode doPolling der
Global Polling-Komponente in die zentrale Ereignisauswahlschleife eingebunden.
Bei jedem Schleifendurchlauf wird die Methode einmal aufgerufen. Dies ist die einzige Stelle in der IBM TMN WorkBench for AIX
Agentenarchitektur, an der ein regelmäßiger Funktions-/Methodenaufruf stattfinden
kann.
Damit stellt diese Positionierung der doPolling-Methode nur einen
Kompromiß dar, denn die Zeit für einen vollständigen Schleifendurchlauf kann sehr
schwanken: Falls eine sehr komplexe CMIS-Anforderung vom Gateways bearbeitet werden
soll, verlängert sich die Zeit für diesen Schleifendurchlauf entsprechend. Benötigt
beispielsweise ein CMIP-Request für seine Bearbeitung 40 Sekunden, beträgt der
zeitliche Abstand zwischen zwei Methodenaufrufen von doPolling mindestens auch
40 Sekunden. Im anderen Extremfall kann nach einer sehr kurzen Bearbeitung eines
CMIP-Requests der Abstand zwischen zwei Methodenaufrufen von doPolling im
Sekundenbereich, eventuell sogar im Millisekundenbereich liegen.
Der Aufruf der Methode doPolling bewirkt, daß für jedes Listenelement
und damit für jede registrierte SNMP-Tabelle, die Methode
TestToCreateMOI aufgerufen wird, um somit die Replikation der jeweiligen
SNMP-Tabelle in der Gateway-MIB anzustoßen. Die damit vollständigen
Vererbungshierarchien und Enthaltenseinsbeziehungen der C++-Klassen der Global
Polling-Komponente zeigt Abbildung 6.4:
Abbildung:
Die vollständige Vererbungs- und
Enthaltenseinshierarchien der C++-Klassen der Global Polling-Komponente
44#44 |
Next: C++-Klassen für die OSI-Klassen
Up: Die Global Polling -Komponente
Previous: Die C++-Klasse iimcPollingTabList
Copyright Munich Network Management Team