next up previous contents
Next: Bewertung Up: 4.3 Zustandsloses Gateway Previous: 4.3.1 Zugriff mittels generischer

4.3.2 Erzeugung der SNMP-PDUs innerhalb der Schattenobjekte

 

Ein nächster Ansatz ist, die Schattenobjekte derart zu erweitern, daß jedes für sich mit einem Agenten in der SNMP-Umgebung kommunizieren kann. Jedes Schattenobjekt ist also in der Lage, SNMP-PDUs zu verschicken und zu empfangen, und übernimmt damit selbst die Rolle eines (Protokoll-)Gateways. Ein eigener snmpserver ist in jedem Schattenobjekt enthalten.

Der Zugriff auf einen Agenten ist in Abbildung 4.6 dargestellt. Im Beispiel wird angenommen, daß der Manager die Variable SysLocation eines Agenten lesen möchte. Für das zum Agenten gehörende Schattenobjekt SystemGroup mit dem entsprechenden Attribut besitzt der Manager eine Objektreferenz.

  
Abbildung: Schattenobjekte mit Gatewayfunktionalität
\begin{figure}
\begin{center}
\leavevmode \epsffile{Vererbt.eps}\end{center}\end{figure}

Der Manager erzeugt einen Request, in dem er das Schattenobjekt als Zielobjekt und die Attributzugriffsfunktion get_SysLocation() als gewünschte Operation auf diesem Zielobjekt angibt (1). Dieser Request bewirkt einen Aufruf der Methode get_SysLocation des Schattenobjektes. Das Schattenobjekt berechnet daraufhin alle notwendigen Parameter für eine GetRequest-PDU (Objekt- und Zugriffsidentifikator des Managementobjektes, Host) und verschickt schließlich eine SNMP-Message, welche die erzeugte PDU enthält (2).

Nachdem die SNMP-Message verschickt wurde, wartet der Schattenobjekt-Prozeß auf die Antwort des Zielagenten. Sofern diese eintrifft (3), untersucht das Schattenobjekt die GetResponse-PDU auf Fehler und gibt die benötigte Information dem Aufrufer auf der Managerseite zurück (4). Der schreibende Zugriff läuft analog ab, es wird allerdings kein Wert zurückgegeben.

Für die Erzeugung der Schattenobjekte ist der Discovery-Dämon zuständig (s. Abbildung 4.7).

  
Abbildung 4.7: Erzeugung von Schattenobjekten
\begin{figure}
\begin{center}
\leavevmode \epsffile{VererbtEr.eps}\end{center}\end{figure}

Sobald dieser ein Managementobjekt ,,findet`` (1), sucht er im Interface Repository anhand des Objektidentifikators der gefundenen Variable eine passende Klasse. Wenn das Managed Object noch von keinem Attribut aller schon existierenden Instanzen dieser Klasse repräsentiert wird, wird die Methode Create() der entsprechenden Factory[*] aufgerufen (2), wodurch ein Schattenobjekt erzeugt wird (3). Bei der Initialisierung (4) des neuen Schattenobjektes werden die Adresse des Agenten und Zugriffsidentifikator (bei Gruppenobjekten also ,,.0``, bei Tabellenzeile-Objekten der Identifikator der Zeile, vgl. 4.1). Mit einem Event wird die Erzeugung (und sinnvollerweise gleich die Objektreferenz) des Schattenobjektes dem Manager mitgeteilt (5).



 
next up previous contents
Next: Bewertung Up: 4.3 Zustandsloses Gateway Previous: 4.3.1 Zugriff mittels generischer
Copyright Munich Network Management Team