next up previous contents index
Next: Kommunikations- bzw. Ablaufmodell Up: SNMPDataprovider Previous: SnmpDataProvider

Datenhaltung

Insofern es die verschiedenen Konfigurationen betrifft, so besteht im Hinblick auf die Datenhaltung kein Unterschied zwischen SnmpDataProvider und CpuDataProvider. Sie nützen die vom DataProvider bereitgestellten, generischen Strukturen dafür.

Es ergibt sich jedoch die Frage, wie die Datenhaltung der aufzuzeichnenden Informationen im SnmpDataProvider geschieht, welcher auf keinerlei sekundäre Strukturen (vgl. CpuMeter in Abschnitt [*]) zurückgreifen kann. Ein im Vergleich zum CpuDataProvider grundlegend unterschiedlicher Ansatz findet sich also hier: die Datenhaltung innerhalb des Agenten selbst.

In Anbetracht der restriktiven Vorgaben von MASA bezüglich Sicherheit (bspw. Rechte für File-Access) als auch weiterer Gründe (möglichst universeller Einsatz auf verschiedenen Endsystemen) entschied man sich für eine dynamische Datenhaltung im Hauptspeicher.

Dynamische Datenhaltung heißt in diesem Falle, daß nicht im Voraus bekannt sein muß, wieviele Daten aufgezeichnet werden (sollen). Es wird also eine flexible Darstellung der Daten im Speicher gewählt (Vector), der ohne vorherige, feste Allokation von Speicher auskommt. Ein weiteres Merkmal der Datenhaltung ist die Realisierung durch Threads. Für jede initialisierte Konfiguration wird ein Thread gestartet, welcher den Vector bereithält und die Abfrage der Information in regelmäßigen Abständen ausführt. Der Lebenszyklus eines solchen Threads ist also mit der einer Konfiguration verbunden, d.h. sobald eine Konfiguration initialisiert wird, konstruiert der Agent einen neuen Thread, wird diese Konfiguration mittels quit-Befehls wieder in den Zustand configured gesetzt, so wird der dazugehörende Thread - und damit alle gesammelten Daten - terminiert.


next up previous contents index
Next: Kommunikations- bzw. Ablaufmodell Up: SNMPDataprovider Previous: SnmpDataProvider
Copyright Munich Network Management Team