-
Die
vorliegende Erfindung bezieht sich auf die Überwachung, die Konfiguration
oder die Installation von Hardware in einem Computersystem.
-
Im
Allgemeinen enthalten Computersysteme Hardware und Software. Die
Hardware ist die tatsächliche
physikalische Computer-Maschinerie, während die Software die Liste
von Befehlen ist, um die Hardware zu betreiben. Typischerweise enthalten
Computersysteme verschiedene Hardware-Geräte, die miteinander eine Schnittstelle
bilden. Wenn die Hardware-Geräte
miteinander eine Schnittstelle bilden, ist es notwendig, dass die
Software, die die Hardware betreibt, so konfiguriert ist, dass sie
die Kommunikation zwischen den Hardware-Geräten erlaubt, so dass die Hardware-Geräte kooperativ
arbeiten können.
Es ist außerdem
erwünscht,
dass die Hardware-Geräte überwacht
werden. Für
die Zwecke der Erörterung
wird ein Hardware-Gerät,
das konfiguriert oder überwacht,
als ein Steuergerät
bezeichnet. Desgleichen wird für
die Zwecke der Erörterung
ein Hardware-Gerät,
das so konfiguriert ist, dass es kooperativ arbeitet oder durch
das Steuergerät überwacht
wird, als ein eine Schnittstelle bildendes Gerät bezeichnet.
-
Wenn
die Hardware-Geräte
anfangs miteinander eine Schnittstelle bilden, ist es üblich, dass
die Software, die die Geräte
betreibt, unkonfiguriert bleibt, um den kooperativen Betrieb zu
erlauben. Demgemäß konfiguriert
ein signifikanter Teil des Installierens der Computer-Hardware-Geräte die Software
insgesamt. In einigen Anordnungen muss der Anwender die Computer-Hardware
manuell konfigurieren, indem er die Computer-Hardware öffnet und
Jumper oder Dip-Schalter physisch setzt. In einigen noch weiteren
Anordnungen enthält
der Installationsprozess, dass ein Anwender Software von einer Diskette
lädt, um
die Hardware-Geräte zu konfigurieren
(siehe z. B.
DE-A1-100
22 491 ). Es hat außerdem
Versuche gegeben, dass Computer-Hardware-Geräte Software enthalten, die
die Hardware-Geräte
automatisch konfigurieren kann. Es gibt jedoch in Bezug auf die
oben identifizierten Zugänge
einige offensichtliche Nachteile und Mängel.
-
Ein
Nachteil besteht darin, dass die Software für die automatische Hardware-Installation
in ihrer Fähigkeit
begrenzt ist, um sich an neue Geräte oder an neue Hersteller
anzupassen, die in der Software nicht spezifisch programmiert worden
sind. Im Stand der Technik ist die automatische Konfiguration nicht
möglich, falls
das Steuergerät
das spezifische Modell des eine Schnittstelle bildenden Geräts nicht
erkennt. Mit anderen Worten, wenn das Steuergerät nicht programmiert ist, um
das Modell eines eine Schnittstelle bildenden Geräts zu erwarten,
dann ist die automatische Hardware-Konfiguration nicht erfolgreich.
Unter derartigen Umständen muss
der Anwender die Konfiguration-Kommunikationsmittel für die Hardware-Geräte manuell
installieren.
-
Ein
weiterer Nachteil des Standes der Technik besteht darin, dass das
Steuergerät
Hardware-Geräte nicht
teilweise konfigurieren kann, falls das spezielle Modell des eine
Schnittstelle bildenden Geräts
nicht identifiziert werden kann. Mit anderen Worten, wenn ein Steuergerät ein spezifisches
Modell des eine Schnittstelle bildenden Geräts nicht identifizieren kann,
dann wird das eine Schnittstelle bildende Gerät nicht so konfiguriert, dass
es kooperativ arbeitet. Dies führt
zu einem nicht konfigurierten eine Schnittstelle bildenden Gerät, das nicht
funktionsfähig
und im Wesentlichen unbrauchbar ist.
-
Es
ist erwünscht,
das Hardware-Geräte,
die sich in einem Netz befinden, für die Wartung, die Verwendung
und für
andere Zwecke überwacht
werden. Es ist jedoch in Anbetracht der verschiedenen Kommunikationsmittel
zwischen den Herstellern und den Modellen der eine Schnittstelle
bildenden Geräte
schwierig gewesen, dass ein Steuergerät mit verschiedenen eine Schnittstelle
bildenden Geräten
in einem Netz kommuniziert. Diese Nachteile verhindern, dass die
Netz-Manager entscheidende Informationen über die Leistung und den Wirkungsgrad
der eine Schnittstelle bildenden Geräte in einem Netz erhalten.
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung
zum Modifizieren von Geräten,
die durch ein Überwachungssystem
unterstützt
werden, auf ein Computerprogramm, das Codemittel umfasst, und auf
ein System, das die Vorrichtung enthält. Spezifischer umfasst ein
Verfahren zum Modifizieren überwachter
Geräte,
die durch das Überwachungssystem
unterstützt
werden, das Aktualisieren von Informationen, die in einer Systemunterstützungs-Datenbank
(SSD) gespeichert sind, falls die in der SSD gespeicherten Informationen
nicht ausreichen, um das überwachte
Gerät zu
unterstützen.
Der Aktualisierungsschritt wird ohne Umprogrammierung des Überwachungssystems
ausgeführt,
wobei dadurch Flexibilität
beim Modifizieren der überwachten
Geräte
erlaubt wird, die durch das Überwachungssystem
unterstützt
werden.
-
In
beispielhaften Ausführungsformen
der vorliegenden Erfindung werden zwei Datenbanken verwendet, um
die Geräte
mit den Systemen zu konfigurieren. Diese Ausführungsformen sind vorteilhaft,
da wertvolle Computerbetriebsmittel während der Initialisierung der
Geräte
mit einem System verwendet werden, während die Computerbetriebsmittel
während
des Systembetriebs bewahrt werden. Ein System kann z. B. zwei separate
Datenbanken verwenden, wenn ein Gerät konfiguriert wird. Die erste
Datenbank (d. h. eine Systemkonfigurations-Datenbank) speichert
Geräteinformationen
für die
Geräte,
die bereits für
das System konfiguriert worden sind, wobei in ihr Betriebsstatusinformationen
der Geräte
gespeichert sind, da die Geräte
durch das System überwacht
werden. Derartige Geräteinformationen
können
den Namen des Herstellers und den Modellnamen enthalten, während die
Betriebsstatusinformationen die Seitenzahl und den Toner-Füllstand
enthalten können.
-
Die
in der ersten Datenbank gespeicherten Geräteinformationen werden während der
Initialisierung des Systems verwendet, während die in der ersten Datenbank
gespeicherten Statusinformationen während des Systembetriebs akkumuliert
werden. Die erste Datenbank ist deshalb groß, weil sie die Statusinformationen
enthält.
Der Verbrauch der Computerbetriebsmittel ist jedoch unbedeutend,
weil die Geräteinformationen während der
Initialisierung verwendet werden, während die Statusinformationen
nur hinzugefügt
werden, wenn sich das System in Betrieb befindet.
-
In
einer beispielhaften Ausführungsform
der vorliegenden Erfindung verwendet das System der vorliegenden
Erfindung außerdem
eine zweite Datenbank (d. h. eine Systemunterstützungs-Datenbank). Diese zweite
Datenbank kann relativ groß sein,
da sie die Daten enthalten würde,
die sich auf mehrere Geräte
beziehen. Wenn ein Gerät
mit einem System initialisiert wird und das System noch nicht so
konfiguriert ist, dass es mit dem Gerät eine Schnittstelle bildet,
dann kann die erste Datenbank (d. h. die Systemkonfigurations-Datenbank)
unter Verwendung der Informationen von der zweiten Datenbank (d.
h. der Systemunterstützungs-Datenbank) aktualisiert
werden, so dass das Gerät
mit dem System eine Schnittstelle bilden kann. Auf Grund der großen Menge
der gespeicherten Informationen ist das Abfragen der zweiten Datenbank
nicht nur zeitraubend, sondern verwendet außerdem eine große Menge
der wertvollen Computerbetriebsmittel. Sobald die kritischen Informationen
(d. h. das Protokoll) bezüglich
des Geräts
in der ersten Datenbank mit den Informationen von der zweiten Datenbank
aktualisiert worden sind, wird nur die erste Datenbank verwendet.
-
In
einem Aspekt schafft die vorliegende Erfindung ein Verfahren zum
Konfigurieren eines Überwachungssystems
in einem netzbasierten System, das das Überwachungssystem und mehrere überwachte
Geräte,
die über
ein Netz kommunikativ gekoppelt sind, enthält, wobei das Überwachungssystem
mit einer ersten Datenbank und einer zweiten Datenbank kommunikativ
gekoppelt ist, wobei die erste Datenbank Geräteinformationen für Geräte speichert,
die für
das System konfiguriert sind, und die zweite Datenbank Informationen über Hersteller
und Modelle, die durch das Überwachungssystem
unterstützt
werden, enthält;
und die Menge an Einzelheiten der Statusinformationen, die von dem überwachten
Gerät durch
das Überwachungssystem
erhalten werden kann, von den Herstellern und den Modellen, die
durch die zweite Datenbank unterstützt werden, abhängt; wobei
das Verfahren umfasst:
Bestimmen, ob das Überwachungssystem so konfiguriert
ist, dass es eine Schnittstelle mit einem überwachten Gerät unter
den mehreren überwachten
Geräten
bildet;
Erhalten von Konfigurationsinformationen von dem überwachten
Gerät,
falls das Überwachungssystem
nicht so konfiguriert ist, dass es eine Schnittstelle mit dem überwachten
Gerät bildet;
Bestimmen
aus den von dem überwachten
Gerät erhaltenen
Konfigurationsinformationen, ob das überwachte Gerät durch
das Überwachungssystem
unterstützt
wird, indem in der zweiten Datenbank gespeicherte Informationen
verwendet werden; und
Aktualisieren von Geräteinformationen für das überwachte
Gerät,
die in der ersten Datenbank gespeichert sind, mit Informationen
von der zweiten Datenbank, falls das Überwachungssystem nicht so
konfiguriert ist, dass es eine Schnittstelle mit dem überwachten
Gerät bildet;
Aktualisieren
der in der zweiten Datenbank gespeicherten Informationen, falls
festgestellt wird, dass die Informationen nicht ausreichen, um das überwachte
Gerät zu
unterstützen,
wobei der Schritt des Aktualisierens der in der zweiten Datenbank
gespeicherten Informationen ohne Umprogrammierung des Überwachungssystems ausgeführt wird,
wodurch eine Flexibilität
bei der Modifizierung der durch das Überwachungssystem unterstützten überwachten
Geräte
ermöglicht
wird;
wobei:
dann, wenn der Hersteller und das Modell
des überwachten
Geräts
durch das Überwachungssystem
unterstützt
werden, Statusinformationen von dem überwachten Gerät, die für alle Geräte des Modells
verfügbar sind,
erhalten werden können;
dann,
wenn der Hersteller des überwachten
Geräts
durch das Überwachungssystem
unterstützt
wird, jedoch das Modell des überwachten
Geräts
nicht unterstützt
wird, Statusinformationen von dem überwachten Gerät, die für alle Geräte des Herstellers
verfügbar
sind, erhalten werden können;
und
dann, wenn weder der Hersteller noch das Modell des überwachten
Geräts
durch das Überwachungssystem unterstützt werden,
Statusinformationen erhalten werden können, die für alle mit dem Netz verbundenen
Geräte
verfügbar
sind.
-
Der
Schritt des Aktualisieren von Informationen, die in der zweiten
Datenbank gespeichert sind, umfasst das Aktualisieren von Herstellerinformationen
für überwachte
Geräte,
wobei die Herstellerinformationen in einer ersten Tabelle der zweiten
Datenbank gespeichert sind; und das Aktualisieren von Modellinformationen
für die überwachten
Geräte,
wobei die Modellinformationen in einer zweiten Tabelle der zweiten
Datenbank gespeichert sind. Der Schritt des Bestimmens, ob das überwachte
Gerät durch
das Überwachungssystem
unterstützt
wird, wird durch Lesen von in der ersten und in der zweiten Tabelle
gespeicherten Informationen ausgeführt.
-
Das
Verfahren umfasst ferner das Speichern von Informationen in der
ersten Tabelle, die auf einen Unternehmens-Objektidentifizierer
für einen
Hersteller eines überwachten
Geräts;
einen Objektidentifizierer, der zum Bestimmen eines Modellnamens
des überwachten
Geräts
verwendet wird; und einen Ojektidentifizierer zum Bestimmen eines
eindeutigen Identifizierers des überwachten
Geräts
bezogen sind. Die zweite Tabelle ist vorzugsweise mit Modellinformationen
in Zuordnung zu entsprechenden Herstellerinformationen für ein überwachtes
Gerät gespeichert.
Die zweite Datenbank ist eine Systemunterstützungs-Datenbank.
-
Der
Schritt des Erhaltens von Konfigurationsinformationen von dem überwachten
Gerät enthält das Identifizieren
(i) des Herstellers und/oder (ii) des Modells und/oder (iii) eines
eindeutigen Identifizierers des überwachten
Geräts.
Die Konfigurationsinformationen werden vorzugsweise nur während der
Initialisierung des Überwachungssystems
verwendet, um ein überwachtes
Gerät,
das eine Überwachung
erfordert, zu identifizieren. Der Schritt des Bestim mens, ob das Überwachungssystem
so konfiguriert ist, dass es mit dem überwachten Gerät eine Schnittstelle
bildet, umfasst das Abfragen der ersten Datenbank mit einem Hersteller und/oder
einem Modell und/oder einem eindeutigen Identifizierer des überwachten
Geräts.
-
Der
Schritt des Bestimmens, ob das Überwachungssystem
so konfiguriert ist, dass es eine Schnittstelle mit dem überwachten
Gerät bildet,
umfasst das Abfragen des überwachten
Geräts
mit in der ersten Datenbank gespeicherten Daten. Die erste Datenbank
ist eine Systemkonfigurations-Datenbank und enthält Informationen, die eine
Kommunikation zwischen dem Überwachungssystem
und dem überwachten
Gerät ermöglichen;
und Statusinformationen, die auf das überwachte Gerät bezogen
sind, wobei die Statusinformationen nach der Initialisierung des Überwachungssystems
hinzugefügt
werden.
-
Der
Schritt des Bestimmens, ob das überwachte
Gerät durch
das Überwachungssystem
unterstützt wird,
umfasst ferner das Erhalten von Statusinformationen des überwachten
Geräts,
falls der Hersteller und das Modell des überwachten Geräts durch
das Überwachungssystem
unterstützt
werden. Das überwachte
Gerät enthält Hardware-
oder Software-Komponenten.
-
In
einem weiteren Aspekt schafft die vorliegende Erfindung eine Vorrichtung
zum Konfigurieren eines Überwachungssystems
in einem netzbasierten System, das das Überwachungssystem und mehrere überwachte
Geräte,
die über
ein Netz kommunikativ gekoppelt sind, enthält, wobei das Überwachungssystem
mit einer ersten Datenbank und einer zweiten Datenbank kommunikativ
gekoppelt ist, wobei die erste Datenbank Geräteinformationen für Geräte, die
für das
System konfiguriert sind, speichert und die zweite Datenbank Informationen über Hersteller
und Modelle, die durch das Überwachungssystem
unterstützt
werden, enthält;
wobei die Menge der Einzelheiten von Statusinformationen, die von
der Überwachungsvorrichtung
durch das Überwachungssystem
erhalten werden kann, von den Herstellern und den Modellen, die
durch die zweite Datenbank unterstützt werden, abhängt; wobei
die Vorrichtung umfasst:
Mittel, die so beschaffen sind, dass
sie bestimmen, ob das Überwachungssystem
so konfiguriert ist, dass es eine Schnittstelle mit einem überwachten
Gerät unter
den mehreren überwachten
Geräten
bildet;
Mittel, die so beschaffen sind, dass sie Konfigurationsinformationen
von dem überwachten
Gerät erhalten,
falls das Überwachungssystem
nicht so konfiguriert ist, dass es eine Schnittstelle mit dem überwachten
Gerät bildet;
Mittel,
die so beschaffen sind, dass sie aus den von dem überwachten
Gerät erhaltenen
Konfigurationsinformationen bestimmen, ob das überwachte Gerät durch
das Überwachungssystem
unterstützt
wird, indem Informationen verwendet werden, die in der zweiten Datenbank
gespeichert sind; und
Mittel, die so beschaffen sind, dass
sie Geräteinformationen
für das überwachte
Gerät,
die in der ersten Datenbank gespeichert sind, mit Informationen
von der zweiten Datenbank aktualisieren, falls das Überwachungssystem
nicht so konfiguriert ist, dass es eine Schnittstelle mit dem überwachten
Gerät bildet;
Mittel,
die so beschaffen sind, dass sie die in der zweiten Datenbank gespeicherten
Informationen aktualisieren, falls bestimmt wird, dass die Informationen
nicht ausreichen, um das überwachte
Gerät zu
unterstützen, wobei
der Schritt des Aktualisierens der in der zweiten Datenbank gespeicherten
Informationen ohne Umprogrammierung des Überwachungssystems ausgeführt wird,
wodurch eine Flexibilität
bei der Modifizierung der überwachten
Geräte,
die durch das Überwachungssystem
unterstützt
werden, ermöglicht
wird;
wobei:
dann, wenn der Hersteller und das Modell
des überwachten
Geräts
durch das Überwachungssystem
unterstützt
werden, Statusinformationen von dem überwachten Gerät, die für alle Geräte des Modells
verfügbar sind,
erhalten werden können;
dann,
wenn der Hersteller des überwachten
Geräts
durch das Überwachungssystem
unterstützt
wird, jedoch das Modell des überwachten
Geräts
nicht unterstützt
wird, Statusinformationen von dem überwachten Gerät, die für alle Geräte des Herstellers
verfügbar
sind, erhalten werden können;
und
dann, wenn weder der Hersteller noch das Modell des überwachten
Geräts
durch das Überwachungssystem unterstützt werden,
Statusinformationen, die für
alle mit dem Netz verbundenen Geräte verfügbar sind, erhalten werden
können.
-
In
einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogramm
gemäß Anspruch 25
geschaffen.
-
In
einem noch weiteren Aspekt der vorliegenden Erfindung wird ein System
gemäß Anspruch
26 geschaffen.
-
Ein
Vorteil der vorliegenden Erfindung umfasst die Leichtigkeit, mit
der die Geräte,
die das System unterstützt,
gewechselt werden, indem statt des Systems die Datenbank modifiziert
wird.
-
Ein
vollständigeres
Verständnis
der vorliegenden Erfindung und vieler ihrer begleitenden Vorteile
wird leicht erhalten, wie dieselbe unter Bezugnahme auf die folgende
ausführliche
Beschreibung besser verstanden wird, wenn sie im Zusammenhang mit
der beigefügten
Zeichnung betrachtet wird.
-
1 ist
eine graphische Darstellung, die die Netzbeziehung des Geräts 2 und
des Systems 8 in einer beispielhaften Ausführungsform
der vorliegenden Erfindung veranschaulicht;
-
2 ist
ein beispielhafter Ablaufplan, der die Schritte veranschaulicht,
die eingeschlossen sind, um zu bestimmen, ob das System 8 so
konfiguriert ist, dass es mit dem Gerät 2 eine Schnittstelle
bildet;
-
3 ist
ein beispielhafter Ablaufplan, der die Schritte veranschaulicht,
die eingeschlossen sind, um unter Verwendung der Systemkonfigurations-Datenbank 6 zu
bestimmen, ob das System 8 so konfiguriert ist, dass es
mit dem Gerät 2 eine
Schnittstelle bildet;
-
4 ist
eine beispielhafte Veranschaulichung eines hierarchischen Zugangs,
um zu bestimmen, ob das Gerät 2 durch
das System 8 unterstützt
wird;
-
5 veranschaulicht
die Software-Objekte in einer beispielhaften Ausführungsform
der vorliegenden Erfindung;
-
6 veranschaulicht
eine beispielhafte graphische Darstellung des Ablaufs, wenn das
System initialisiert wird, um die Informationen über die Objektidentifizierer
zu erhalten, die verwendet werden, um den Hersteller, das Modell
und den eindeutigen Identifizierer zu identifi zieren, und um die
Informationen über
die Hersteller und Modelle, die durch das System unterstützt werden,
zu erhalten;
-
7 veranschaulicht
eine beispielhafte graphische Darstellung des Ablaufs zum Erzeugen
der Geräteobjekte,
um die überwachten
Geräte
während
der Initialisierung darzustellen;
-
8 zeigt
die graphische Darstellung des Ablaufs zum Ausführen der setAgent()-122-Funktion des VendorModel 118;
-
9 ist
ein beispielhafter Ablaufplan für
die setAgent()-Funktion des VendorModel;
-
10 veranschaulicht
eine graphische Darstellung des Ablaufs, wenn das System die Informationen erhält, die
verwendet werden, um die Statusinformationen für den spezifischen Hersteller
und das spezifische Modell der überwachten
Geräte
zu erhalten;
-
11 zeigt
den Ablaufplan für
die createDevice()-Funktion des DeviceFactory;
-
12 zeigt
die graphische Darstellung des Ablaufs zum Ausführen der monitorStatus()-Funktion;
-
13 zeigt
die graphische Darstellung des Ablaufs zum Ausführen der getStatus()-214-Funktion des Device 210;
-
14 zeigt
die Tabellen einer Datenbank, die Informationen über die Hersteller und die
Modelle besitzen, die durch das System unterstützt werden;
-
15 zeigt
ein Beispiel der Inhalte in den Tabellen der Datenbank, wie sie
in 14 beschrieben sind; und
-
16 zeigt
die graphische Darstellung der Klassen für das ODBC2-Paket.
-
1 ist
eine graphische Darstellung, die die Netzbeziehung des Geräts 2 und
des Systems 8 veranschaulicht. Das Gerät 2 bildet über das
Netz 4 mit dem System 8 eine Schnittstelle. Das System 8 ist
an die Systemkonfigurations-Datenbank (SCD) 6 und die Systemunterstützungs-Datenbank (SSD) 10 gekoppelt. Das
Netz 4 kann irgendein Typ einer Kommunikationsstruktur
sein, die es dem Gerät 2 und
dem System 8 erlaubt, Daten auszutauschen. Das Netz 4 könnte z.
B. entweder ein weiträumiges
Netz (WAN), ein lokales Netz (LAN) oder ein einfaches Kabel, das
das Gerät 2 und
das System 8 physisch verbindet, sein. Es ist klar, dass die
vorliegende Erfindung den Typ der Netze nicht einschränkt und
dass andere Netze verwendet werden können, um die Kommunikation
zwischen dem Gerät 2 und
dem System 8 zu ermöglichen.
-
Die
Systemkonfigurations-Datenbank 6 enthält Informationen eines ersten
und eines zweiten Typs. Der erste Typ der Informationen sind Konfigurations-
oder Geräteinformationen,
wie z. B. der Name des Herstellers, der Modellname, die IP-Adresse,
der Name der Gesellschaft, der Name einer Kontaktperson und die E-Mail-Adresse
der Kontaktperson, um einige zu nennen. Die Konfigurationsinformationen
werden nur während
der Initialisierung des Systems 8 verwendet, um zu bestimmen,
welche Geräte überwacht
werden müssen.
Die Systemkonfigurations-Datenbank 6 enthält jedoch
keine Informationen darüber,
welches Protokoll zu verwenden ist, um mit dem Gerät 2 zu
kommunizieren. Die SCD 6 enthält jedoch Informationen, die
für die Kommunikation
notwendig sind, wie z. B. die IP-Adresse. Deshalb enthält die SCD 6 die
Informationen, die verwendet werden, um zu bestimmen, ob das System 8 so
konfiguriert ist, dass es mit dem Gerät 2 eine Schnittstelle
bildet. Der zweite Typ der in der SCD 6 gespeicherten Informationen
sind die Statusinformationen. Die Beispiele der Statusinformationen
enthalten die Seitenzahl, den Fehlerstatus und den Toner-Füllstand.
Die Statusinformationen werden nach der Initialisierung des Systems 8 zur
Datenbank (SCD 6) hinzugefügt, wenn das System 8 die
mit dem Netz 4 verbundenen Geräte überwacht. Die Systemkonfigurations-Datenbank
(SCD 6) ist von der Systemunterstützungs-Datenbank (SSD 10)
nicht direkt abhängig.
-
Die
SSD 10 enthält
die Informationen über
die Hersteller und die Modelle, die durch das System 8 unterstützt werden.
Obwohl dieses System alle Geräte
ungeachtet des Herstellers oder des Modells unterstützen kann,
hängt die
Menge der Statusinformationen, die von dem Gerät 2 erhalten wird,
von den Herstellern und den Modellen ab, die durch die SSD 10 unterstützt werden.
Wenn der Hersteller und das Modell durch die SSD 10 unterstützt werden,
dann können
ausführliche
Statusinformationen vom Gerät 2 erhalten
werden. Folglich bestimmt die SSD 10, welcher Typ der Statusinformationen
in der Systemkonfiguration-Datenbank (SCD 6) gespeichert
ist.
-
Die
Informationen sowohl von der SCD 6 als auch von der SSD 10 werden
verwendet, um Geräteobjekte
zu erzeugen, um die Geräte
zu repräsentieren,
die überwacht
werden. Obwohl ein einziges Gerät 2 gezeigt
ist, das mit dem Netz 4 verbunden ist, ist klar, dass mehrere
Geräte,
die überwacht
werden müssen,
mit dem Netz 4 verbunden sein können. Die Geräteobjekte
erlauben dem System 8, mit dem Gerät 2 zu kommunizieren
und zu bestimmen, welche Informationen von den Geräten zu erhalten
sind.
-
2 ist
ein beispielhafter Ablaufplan, der veranschaulicht, wie bestimmt
wird, ob das System 8 so konfiguriert ist, dass es mit
dem Gerät 2 eine
Schnittstelle bildet. Im Block 12 bestimmt das System 8 oder
irgendein anderes Gerät,
das ein Teil des Netzes 4 ist, ob das System 8 so
konfiguriert ist, dass es mit dem Gerät 2 eine Schnittstelle
bildet. Es wird z. B. bestimmt, ob das System 8 mit Software
programmiert ist, die es dem System 8 erlaubt, mit dem
Gerät 2 zu
kommunizieren. Mit anderen Worten, das System 8 verwendet
ein Protokoll, das mit dem Gerät 2 kompatibel
ist, so dass das System 8 und das Gerät 2 Daten austauschen
und kooperativ arbeiten können.
Beim Bestimmen, ob das System 8 so konfiguriert ist, dass
es mit dem Gerät 2 eine
Schnittstelle bildet, erhält
das System 8 außerdem
Konfigurationsinformationen vom Gerät 2 und bestimmt,
ob das Gerät 2 durch
das System 8 unterstützt
wird.
-
Wenn
im Block 14 bestimmt wird, dass das System 8 so
konfiguriert ist, dass es mit dem Gerät 2 eine Schnittstelle
bildet, dann wird im Block 20 basierend auf den in der
Systemunterstützungs-Datenbank 10 gespeicherten
Informationen ein Kommunikationsprotokoll zwischen dem System 8 und
dem Gerät 2 festgelegt. Im
Block 22 wird die Systemkonfigurations-Datenbank (SCD 6) mit den Konfigurationsdaten
aktualisiert, die erhalten worden sind, als bestimmt worden ist,
ob das System 8 so konfiguriert gewesen ist, dass es mit
dem Gerät 2 eine
Schnittstelle bildet. Wenn jedoch im Block 14 bestimmt
wird, dass das System 8 nicht so konfiguriert ist, dass
es mit dem Gerät 2 eine
Schnittstelle bildet, dann endet der Prozess und das Gerät 2 bildet
keine Schnittstelle mit dem System 8.
-
3 ist
ein beispielhafter Ablaufplan, der veranschaulicht, wie unter Verwendung
der Systemkonfigurations-Datenbank (SCD 6) bestimmt wird,
ob das System 8 so konfiguriert ist, dass es mit dem Gerät 2 eine Schnittstelle
bildet. Im Block 24 wird das Gerät 2 unter Verwendung
eines Standardkommunikationsprotokolls abgefragt, um seinen Hersteller,
sein Modell und/oder seine eindeutige Identifizierung zu bestimmen.
-
Wenn
im Block 26 der Hersteller, das Modell oder die eindeutige
Identifizierung des Geräts
bestimmt wird, dann geht der Prozess zum Block 36 weiter,
andernfalls geht der Prozess zum Block 28 weiter. Im Block 36 wird
bestimmt, dass das System so konfiguriert ist, dass es mit dem Gerät 2 eine
Schnittstelle bildet.
-
Im
Block 28 wird das Gerät 2 unter
Verwendung der in der Systemkonfigurations-Datenbank 6 gespeicherten
Daten abgefragt, um den Hersteller, das Modell und/oder die eindeutige
Identifizierung des Geräts 2 zu
bestimmen. Im Block 34 wird bestimmt, ob der Hersteller,
das Modell und/oder die eindeutige Identifizierung des Geräts 2 im
Block 28 identifiziert worden sind. Wenn die Bestimmung
des Blocks 34 positiv ist, dann wird im Block 36 bestimmt,
dass das System so konfiguriert ist, dass es mit dem Gerät 2 eine
Schnittstelle bildet. Wenn die Bestimmung des Blocks 34 negativ
ist, dann wird im Block 38 bestimmt, dass das System nicht
so konfiguriert ist, dass es mit dem Gerät 2 eine Schnittstelle
bildet.
-
Beim
Abfragen des Geräts 2 nach
den Hersteller- und Modellinformationen in den Blöcken 24 und 28 werden
der Hersteller und das Modell des Geräts mit der Systemunterstützungs-Datenbank 10 überprüft, um zu
bestimmen, ob der Hersteller und das Modell durch das System 8 unterstützt werden.
Dies beeinflusst jedoch nicht, ob das System 8 so konfiguriert
ist, dass es mit dem Gerät 2 eine
Schnittstelle bildet.
-
Die
Systemunterstützungs-Datenbank 10 wird
verwendet, um zu bestimmen, welche Statusinformationen von dem Gerät 2 zu
erhalten sind, wenn es durch das System 8 überwacht
wird. Ein Geräteobjekt
für das Gerät 2 enthält die Informationen
von der SSD 10 darüber,
welche Statusinformationen zu erhalten sind. Wenn der Hersteller
und das Modell des Geräts
in der SSD 10 nicht unterstützt werden, dann erhält das Geräteobjekt die
Statusinformationen, die für
alle mit dem Netz 4 verbundenen Geräte verfügbar sind. Wenn der Hersteller in
der SSD 10 unterstützt
wird, aber das Modell des Geräts
nicht unterstützt
wird, dann erhält
das Geräteobjekt die
Statusinformationen, die für
alle Geräte
eines Herstellers verfügbar
sind. Wenn der Hersteller und das Modell unterstützt werden, dann erhält das Geräteobjekt
die Statusinformationen, die für
alle Geräte
des Modells verfügbar
sind.
-
4 ist
eine beispielhafte Veranschaulichung eines hierarchischen Zugangs
zum Bestimmen, ob das Gerät 2 durch
das System 8 unterstützt
wird. In den Blöcken 56 und 58 wird
bestimmt, ob der Hersteller des Geräts 2 durch das System 8 unterstützt wird.
Wenn der Hersteller nicht unterstützt wird, dann wird im Block 60 bestimmt,
dass das Gerät
so zu konfigurieren ist. dass es ein generisches Protokoll verwendet.
Wenn der Hersteller unterstützt
wird, dann geht der Prozess zum Block 62 weiter.
-
In
den Blöcken 62 und 64 wird
bestimmt, ob das Modell des Geräts 2 durch
das System 8 unterstützt wird.
Wenn das Modell nicht unterstützt
wird, dann wird im Block 66 bestimmt, dass das Gerät 2 unter
Verwendung eines herstellerspezifischen Protokolls zu konfigurieren
ist. Wenn das Modell unterstützt
wird, dann wird im Block 68 bestimmt, dass das Gerät 2 unter
Verwendung eines modellspezifischen Protokolls zu konfigurieren
ist.
-
5 veranschaulicht
ein Software-Objekt in einer beispielhaften Ausführungsform der vorliegenden Erfindung.
Das Software-Objekt SendInterfaceManager 70 bildet mit
den Software-Objekten
DataTransfer 74, ODBC-1 72, DeviceFactory 76,
VenderModel 78, ODBC-2 84, SNMP 80 und
Device 82 direkt oder indirekt eine Schnittstelle.
-
Die
Tabelle 1 veranschaulicht die Funktionen des ODBC-1
72. TABELLE
updateConfig | Bevor
diese Funktion aufgerufen wird, sollte die aufrufende Funktion die
Hersteller- und Modelleinträge
nicht ersetzen, falls die get-Funktionen eine Null-Zeichenkette
vom VendorModel-Paket zurückschicken.
Diese Funktion aktualisiert die Geräteinformations-Datenbank des
aktuellen Datensatzes im ODBC. Diese Funktion ist am effizientesten,
wenn getConfig im Folgenden anfangs aufgerufen wird. Zuerst überprüft diese
Funktion, ob die IP-Adresse im ODBC gleich ist. Wenn die IP-Adressen
nicht die gleichen sind, wird der Datensatz mit der richtigen IP-Adresse
von der Datenbank erhalten. Dann werden die anderen Felder kopiert
und wird der Datensatz aktualisiert. |
getConfig | Diese
Funktion erhält
eine Karte vom ODBC für
die Geräteinformationen
in einem gegebenen Format. Die Funktion schickt wahr zurück, wenn
Daten zurückgeschickt
werden, während
sie falsch zurückschickt,
wenn es keine weiteren Daten gibt. |
saveStatus | Diese
Funktion sichert die Statusinformationen im ODBC. Die Funktion schickt
wahr zurück,
wenn das Sichern erfolgreich ist, während sie andernfalls falsch
zurückschickt. |
-
Die
Tabelle 2 veranschaulicht die Funktionen des DeviceFactory
76. TABELLE 2
createDevice | Diese
Funktion erzeugt das Gerät
der Spezifikation im DeviceFactory. Die Funktion schickt einen Zeiger
auf das erzeugte Gerät
zurück,
falls die Erzeugung erfolgreich ist, während sie andernfalls 0 zurückschickt. |
-
Die
Tabelle 3 veranschaulicht die Funktionen des DataTransfer
74. TABELLE 3
startSend | Diese
Funktion löst
das DataTransfer aus, um das Senden der im infoTyp spezifizierten Daten
vorzubereiten. Diese Funktion schickt den EerrorCode zurück. |
dataSend | Diese
Funktion im DataTransfer sendet die empfangenen Daten nach einer
geeigneten Formatierung, Verschlüsselung
und Codierung an das geeignete Ziel. Die Funktion schickt den EerrorCode
zurück. |
endSend | Diese
Funktion im DataTransfer beendet das Senden der Daten. Die Funktion
schickt den EerrorCode zurück. |
-
Die
Tabelle 4 veranschaulicht die Funktionen des Device
82. TABELLE 4
getStatus | Diese
Funktion erhält
die Statusinformationen von einem Gerät. Die Funktion schickt wahr
zurück,
wenn der Status zurückgeschickt
wird, während
sie falsch zurückschickt, wenn
der Status nicht erhalten werden konnte. Die Funktion setzt vor
dem Zurückspringen
die Variable zurück,
die den Fehlerstatus hält. |
checkErrorStatus | Diese
Funktion löst
das Gerät
aus, um den intern zu sichernden Fehlerstatus zu überprüfen. |
-
Die
Tabelle 5 veranschaulicht die Funktionen des ODBC-2
84. TABELLE 5
getManufInfo | Diese
Funktion erhält
den Namen des Herstellers, seine Verkäufer-OID, die OID, wo die Modellinformationen
gespeichert sind, und die OID, wo die eindeutige ID erhalten werden
kann. Diese Funktion schickt wahr zurück, wenn die Daten zurückgeschickt werden,
während
sie falsch zurückschickt,
wenn keine weiteren Daten verfügbar
sind und alle Zeichenketten auf Null-Zeichenketten gesetzt sind. |
getSupportedModel | Diese
Funktion erhält
das Manufacturer und das unterstützte
Modell. Es kann mehr als eine Instanz desselben Herstellers geben,
aber das Modell ist für
den gegebenen Hersteller eindeutig. Diese Funktion schickt wahr
zurück,
wenn Daten zurückgeschickt
werden, während
sie falsch zurückschickt,
wenn keine weiteren Daten verfügbar
sind und alle Zeichenketten auf Null-Zeichenketten gesetzt sind. |
getManufStatusInfo | Diese
Funktion erhält
die infoType und die OID, die für
das gegebene Manufacturer der infoType zugeordnet ist. Das erhaltene
infoType- und OID-Paar wird durch alle Geräte von der gegebenen Fertigung
unterstützt.
Diese Funktion schickt wahr zurück, wenn
Daten zurückgeschickt
werden, während
sie falsch zurückschickt,
wenn keine weiteren Daten verfügbar
sind und alle Zeichenketten auf Null-Zeichenketten gesetzt sind. |
getModelStatusInfo | Diese
Funktion erhält
die infoType und die OID, die für
das gegebene Manufacturer und das gegebene Modell der infoType zugeordnet
ist. Diese Funktion schickt wahr zurück, wenn Daten zurückgeschickt
werden, während
sie falsch zurückschickt,
wenn keine weiteren Daten verfügbar
sind und alle Zeichenketten auf Null-Zeichenketten gesetzt sind. |
-
Die
Tabelle 6 veranschaulicht die Funktionen des SNMP
80. TABELLE
setAgent | Diese
Funktion setzt die IP-Adresse des Geräts, mit dem Kontakt aufzunehmen
ist. |
getManufacturer | Diese
Funktion erhält
den Hersteller bei der IP-Adresse. Falls der Hersteller erhalten
wird, schickt die Funktion wahr zurück. Falls der Fehler im Prozess
erfasst wird, schickt die Funktion falsch zurück. |
getModel | Diese
Funktion erhält
das Modell des Geräts.
Falls das Modell einschließlich
der Null-Zeichenkette erhalten wird, schickt die Funktion wahr zurück. Falls
der Fehler im Prozess erfasst wird, schickt die Funktion falsch
zurück. |
getUniqueId | Diese
Funktion schickt die eindeutige ID vom Gerät zurück. Falls die eindeutige ID
einschließlich
der Null-Zeichenkette erhalten wird, schickt die Funktion wahr zurück. Falls der
Fehler im Prozess erfasst wird, schickt die Funktion falsch zurück. |
-
Das
VendorModel
78 ist für
das Erhalten der Informationen über
den Hersteller und das Modell des überwachten Geräts verantwortlich.
Dieses Software-Objekt erhält
den Hersteller, das Modell und den eindeutigen Identifizierer des überwachten
Geräts.
Die Klasse CVendorModel des VendorModel
78 verwendet die
Informationen von der Datenbank, um die Hersteller und die Modelle,
die durch das System unterstützt
werden, zu bestimmen. Die Klasse verwendet außerdem die Informationen von
der Datenbank, die notwendig sind, um das Modell und den eindeutigen
Identifizierer vom überwachten
Gerät zu
erhalten. Die öffentlichen
und privaten Funktionen des CVendorModel sind in der Tabelle 7 im
Folgenden gezeigt. TABELLE 7
| Funktionsname | Beschreibung |
öffentlich | CVendorModel() | Konstruktor |
| ~CVendorModel() | Destruktor |
| bool
setAgent(std::string& in_sIP | erzeugt
eine SNMP-Sitzung für
das überwachte
Gerät und
erhält
den Hersteller, das Modell und den eindeutigen Identifizierer des
Geräts |
| bool
getManufacturer(std::string& out_sManufacturer) | schickt
den Hersteller des Geräts
zurück |
| bool
getModel(std::string& out_sModel) | schickt
das Modell des Geräts
zurück |
| bool
getUniqueID(std::string& out_sID) | schickt
den eindeutigen Identifizierer des Geräts zurück |
privat | void
setVendorAndMapAttributes() | konstruiert
einen Vektor, der die Informationen, die notwendig sind, um den
Hersteller, das Modell und den eindeutigen Identifizierer des Geräts zu bestimmen,
enthält,
und eine Karte, die Informationen über die Hersteller und die
Modelle, die durch das System unterstützt werden, enthält |
| void
obtainManufacturer() | erhält Informationen über den
Hersteller von dem Gerät |
| void
obtainModel() | erhält Informationen über das
Modell von dem Gerät |
| void
obtainUniqueID() | erhält Informationen über den
eindeutigen Identifizierer von dem Gerät |
| void
convertToAllUpper(std::string&inOut_sString) | setzt
die Eingangs-Zeichenkette vollständig
in Großbuchstaben
um |
| std::string
convertToHex(std::string& in_sString) | setzt
die Eingangs-Zeichenkette in eine hexadezimale Zeichenkette um |
-
Die
Tabelle 8 im Folgenden zeigt die Attribute der CVendorModel-Klasse,
die in den obigen Funktionen verwendet werden. TABELLE 8
Typ | Attributname | Beschreibung |
CSNMP | m_SNMP | Dieses
Attributelement wird verwendet, um eine SNMP-Sitzung für die überwachten
Geräte
zu implementieren. |
std::vector<ManufacturerAndModelInfo> | m_ManufacturerAndModelInfoVector | Dieses
Attributelement ist ein Vektor, der die Informationen über die
Objektidentifizierer enthält,
die verwendet werden, um den Hersteller, das Modell und den eindeutigen
Identifizierer der überwachten Geräte zu identifizieren. |
std::map<std::string, std::vector<std::string >> | m_ManufacturerModelMap | Dieses
Attributelement ist eine Karte, die alle Modelle eines gegebenen
Herstellers in dem Vektor auflistet, die das System unterstützt. |
std::string | m_sManufacturer | Dieses
Attributelement repräsentiert
den Hersteller des überwachten
Geräts. |
std::string | m_sModel | Dieses
Attributelement repräsentiert
das Modell des überwachten
Geräts. |
std::string | m_sUniqueID | Dieses
Attributelement repräsentiert
den eindeutigen Identifizierer des überwachten Geräts. |
bool | m_bReturn | Dieses
Attribut wird auf wahr gesetzt, falls die SNMP-Sitzung in der setAgent()-Funktion
erfolgreich ist; andernfalls wird es auf falsch gesetzt. |
std::string | m_sCurrentModelOID | Dieses
Attributelement repräsentiert
den Objektidentifizierer, der verwendet wird, um Informationen über das
Modell des überwachten
Geräts
zu bestimmen. |
std::string | m_sCurrentUniqueOID | Dieses
Attributelement repräsentiert
den Objektidentifizierer, der verwendet wird, um Informationen über die
eindeutige ID, wie z. B. die Seriennummer des überwachten Geräts, zu bestimmen. |
-
ManufacturerAndModelInfo
in der m_ManufacturerAndModelInfoVector besitzt die folgende Struktur:
-
Die
m_sManufacturer ist der Name des Herstellers. Die m_sEnterpriseOID
ist der Unternehmens-Objektidentifizierer, der dem Hersteller zugeordnet
ist. Der Unternehmens-Objektidentifizierer
ist für
einen Hersteller eindeutig. Die m_sModelOID ist der Objektidentifizierer,
der verwendet werden kann, um den Modellnamen des Geräts zu bestimmen.
Die m_sUniqueOID ist der Objektidentifizierer, der verwendet werden
kann, um den eindeutigen Identifizierer des Geräts zu bestimmen. Der eindeutige
Identifizierer kann die Seriennummer oder die MAC-Adresse des Geräts sein.
-
Das
DeviceFactory
76 ist für
das Erzeugen eines Geräteobjekts
verantwortlich, das das überwachte Gerät repräsentiert.
Das DeviceFactory
76 stellt sicher, dass das Geräteobjekt
weiß, welche
Statusinformationen es erhalten muss. Die CDeviceFactory ist die
einzige Klasse im DeviceFactory-
76-Paket. Die öffentlichen und
privaten Funktionen der CDeviceFactory sind in der Tabelle 9 im
Folgenden gezeigt. TABELLE 9
| Funktionsname | Beschreibung |
öffentlich | CDeviceFactory() | Konstruktor |
| CDeviceFactory() | Destruktor |
| virtual
CDevice·createDevice(std::string&in_sIP, CSNMP & in_SNMP, std::string & in_sManufacturer, std::string & in_sModel, std::string & in_sUniqueID) | Diese
Funktion erzeugt ein Geräteobjekt, das
das überwachte
Gerät repräsentiert, und
leitet einen Vektor in es, der die Informationen darüber enthält, welche
Statusinformationen zu erhalten sind. |
privat | void
setGenericDeviceVector() | Diese
Funktion setzt einen Vektor, damit er die Informationen enthält, die
verwendet werden, um die Statusinformationen zu erhalten, die von
allen überwachten Geräten erhalten
werden können. |
| void
setManufacturerVectorMap() | Diese
Funktion setzt eine Karte, damit sie die Informationen enthält, die
verwendet werden, um die Statusinformationen zu erhalten, die von
allen überwachten
Geräten
des spezifischen Herstellers erhalten werden können. |
-
Die
Tabelle 10 im Folgenden zeigt die Attribute der CDeviceFactory-Klasse,
die in den obigen Funktionen verwendet werden. TABELLE 10
Typ | Attributname | Beschreibung |
CSupportODBC | m_SupportODBC | Dieses
Attributelement repräsentiert
ein Objekt, das verwendet wird, um auf Informationen in der Datenbank
zuzugreifen, die notwendig sind, um die Statusinformationen der überwachten
Geräte
zu erhalten. |
std::vector<std::pair<infoType, std::string>> | m_GenericDeviceVector | Dieses
Attributelement enthält
die Informationen, die verwendet werden, um die Statusinformationen
für die überwachten
Geräte
aller Hersteller und aller Modelle zu erhalten. |
std:map<std::string, std::vector<std::pair<infoType, std::string>> > | m_ManufacturerVecorMap | Dieses
Attributelement enthält
die Informationen, die verwendet werden, um die Statusinformationen
für die überwachten
Geräte
eines gegebenen Herstellers zu erhalten. |
-
Die
infoType ist eine in der m_GenericDeviceVector und in der m_ManufacturerVectorMap
verwendete Zahl, die verwendet wird, um einen spezifischen Typ der
Statusinformationen zu repräsentieren. 503 repräsentiert
z. B. einen NoPaper-Zustand für
das überwachte
Gerät,
während 601 den
Seiten-Lebensdauer-Zählstand des überwachten
Geräts
repräsentiert.
-
Das
Device
82 repräsentiert
ein überwachtes
Gerät.
Es greift auf die Statusinformationen des überwachten Geräts zu. Die
Statusinformationen enthalten Informationen, wie z. B. den Fehlerstatus,
die Seitenzahl, den Füllstand
der Tonerkassette und Alarme. Die CDevice ist die einzige Klasse
im Device-
82-Paket. Die öffentlichen Funktionen von
CDevice sind in der Tabelle 11 im Folgenden gezeigt. TABELLE 11
| Funktionsname | Beschreibung |
öffentlich | CDevice(std:string& in_sIPaddress,
CSNMP& in_SNMP,
std::string& in_sManufacturer, std::string&in_sModel, std::
string& in_sUniqueID) | Konstruktor |
| ~CDevice() | Destruktor |
| bool
getStatus(std::map<infoType,
std::string> & out_Statusinformation) | Diese
Funktion erhält
die Statusinformationen des überwachten
Geräts. |
| bool
checkErrorStatus() | Diese
Funktion erhält den
Fehlerstatus des überwachten
Geräts. |
| bool
setNumOIDVector (std::vector<std::pair<infoType, std::string>> & in_Vector) | Diese
Funktion setzt den Vektor, der verwendet wird, um über das
SNMP die Statusinformationen von dem überwachten Gerät zu erhalten. |
-
Die
Tabelle 12 im Folgenden zeigt die Attribute der CDevice-Klasse,
die in den obigen Funktionen verwendet werden. TABELLE 12
Typ | Attributname | Beschreibung |
std::string | m_sIPAddress | Dieses
Attributelement ist die IP-Adresse des überwachten Geräts. |
CSNMP & | m_SNMP | Dieses
Attributelement wird verwendet, um eine SNMP-Sitzung zu die überwachten
Geräte
zu implementieren. |
std::string | m_sManufacturer | Dieses
Attributelement ist der Hersteller des überwachten Geräts. |
std::string | m_sModel | Dieses
Attributelement ist das Modell des überwachten Geräts. |
std::string | m_sUniqueID | Dieses
Attributelement ist die eindeutige ID für das überwachte Gerät. |
char | m_cError | Dieses
Attributelement dient dazu, die Fehlerbits zu halten, die den Fehlerstatus
des überwachten
Geräts
repräsentieren. |
std::vector<std::pair<i nfoType, std::string>> | nNumOIDVector | Dieser
Vektor speichert die Informationen, die verwendet werden, um über das
SNMP die Statusinformationen von dem überwachten Gerät zu erhalten. |
-
6 veranschaulicht
eine beispielhafte graphische Darstellung des Ablaufs, wenn das
System initialisiert wird, um die Informationen über die Objektidentifizierer
zu erhalten, die verwendet werden, um den Hersteller, das Modell
und den eindeutigen Identifizierer zu identifizieren, und um die
Informationen über
die Hersteller und Modelle, die durch das System unterstützt werden,
zu erhalten. Das VendorModel 86 tritt mit dem ODBC2 88 in
Wechselwirkung, um diese Informationen zu erhalten. Das ODBC2 88 schafft
eine Schnittstelle zur Datenbank, um die durch das VendorModel 86 von
ihm angeforderten Informationen zu erhalten. Das VendorModel 86 ruft
die Funktion getManufInfo() 90 des ODBC2 auf, um die Objektidentifizierer
zu erhalten, die verwendet werden, um den Hersteller, das Modell
und den eindeutigen Identifizierer der überwachten Geräte von der
Datenbank zu erhalten. Diese Informationen werden im Vektor m_ManufacturerAndModellInfoVector gespeichert,
der in der obigen Tabelle 8 beschrieben ist. Die getManufInfo() 90 wird
mehrmals aufgerufen, bis alle Objektidentifizierer für alle durch
das System unterstützten
Hersteller aus der Datenbank eingelesen sind. Dann ruft das VendorModel 86 die
Funktion getSupportedModel() 92 der ODBC2 88 auf,
um den Hersteller und das Modell, die durch das System unterstützt werden,
von der Datenbank zu erhalten. Diese Informationen werden in der
Karte m_ManufacturerModelMap gespeichert, die in der obigen Tabelle
8 beschrieben ist. Die getSupportedModel() wird mehrmals aufgerufen,
bis alle durch das System unterstützten Modelle aus der Datenbank
eingelesen sind. Um durch das System unterstützte Hersteller und Modelle
zu entfernen, zu modifizieren oder hinzuzufügen, erfolgt die einzige notwendige Änderung
in der Datenbank, die die Informationen über die unterstützten Hersteller
und Modelle speichert. Es müssen
keine Änderungen
an dem System ausgeführt
werden, wenn sich die Hersteller und die Modelle, die durch das
System unterstützt
werden, ändern.
Die Informationen werden während
der Initialisierung aus der Datenbank eingelesen.
-
7 veranschaulicht
eine beispielhafte graphische Darstellung des Ablaufs zum Erzeugen
von Geräteobjekten,
um die überwachten
Geräte
während
der Initialisierung zu repräsentieren.
Anfangs versucht das System 8 (1), eine
Kommunikation mit dem Gerät 2 aufzubauen.
Wenn das System 8 nicht so konfiguriert werden kann, dass
es mit dem Gerät 2 eine
Schnittstelle bildet, werden die Konfigurationsinformationen, wie z.
B. der Hersteller, das Modell und ein eindeutiger Identifizierer,
vom Gerät 2 erhalten.
In dem Prozess des Bestimmens der Konfigurationsinformationen wird
unter Verwendung von Informationen von der Systemunterstützungs-Datenbank
(SSD 10) eine Bestimmung ausgeführt, um festzustellen, ob das
Gerät 2 durch
das System 8 unterstützt
wird. Unter Verwendung der Informationen von der SSD 10 wird
ein Geräteobjekt
erzeugt, wobei folglich ein Kommunikationsprotokoll zwischen dem
System 8 und dem Gerät 2 festgelegt
wird – ungeachtet
dessen, ob das Gerät
durch das System 8 unterstützt wird. Anschließend werden
die Konfigurationsinformationen für das Gerät 2 in der Systemkonfigurations-Datenbank
(SCD 6) aktualisiert. Das SendInterfaceManager 94 ruft
die getConfig() 102 des ODBC 96 auf. Das ODBC 96 schafft
eine Schnittstelle zur Datenbank, um die Konfigurationsinformationen
der überwachten
Geräte
zu erhalten. Die Konfigurationsinformationen enthalten den Namen
des Herstellers, den Modellnamen und die IP-Adresse des überwachten
Geräts
sowie den Namen, die Telephonnummer und die E-Mail-Adresse der Kontaktperson,
die für
das überwachte
Gerät verantwortlich
ist. Die Datenbank enthält
die Konfigurationsinformationen von allen Geräten, die zu überwachen sind.
Es kön nen
jedoch nicht alle Geräte
in dieser Datenbank durch das System unterstützt werden, wie in der Datenbank
spezifiziert ist, die dem ODBC2 84 nach 5 zugeordnet
ist.
-
Das
SendInterfaceManager 94 ruft die setAgent() 104 auf,
die eine SNMP-Sitzung mit dem überwachten
Gerät erzeugt,
um den Hersteller, das Modell und den eindeutigen Identifizierer
des Geräts
zu erhalten. Weitere Einzelheiten dieser Funktion sind in 8 bereitgestellt.
Das SendInterfaceManager 94 ruft die getManufacturer() 106,
die getModel() 108 und die getUniqueID() 110 des
VendorModel 98 auf, um den Namen des Herstellers, den Modellnamen
und den eindeutigen Identifizierer des überwachten Geräts zu erhalten.
Das SendInterfaceManager 94 ruft die createDevice() 112 des
DeviceFactory 100 auf, um ein Geräteobjekt für das überwachte Gerät zu erzeugen.
Das Geräteobjekt
wird durch das SendInterfaceManager 94 verwendet, um die
Statusinformationen des überwachten
Geräts
zu erhalten. Das SendInterfaceManager 94 ruft die updateConfig()
des ODBC 96 auf, um die Konfigurationsinformationen in
der Datenbank zu aktualisieren.
-
Alle
Schritte des Ablaufs werden wiederholt, bis alle überwachten
Geräte
in der Datenbank erhalten worden sind. Für jedes der überwachten
Geräte
wird ein Geräteobjekt
erzeugt. Das SendInterfaceManager 94 erhält jedes
der Geräteobjekte
aufrecht.
-
8 zeigt
die graphische Darstellung des Ablaufs zum Ausführen der setAgent()-122-Funktion des VendorModel 118.
Das SendInterfaceManager 116 ruft die setAgent() 122 des
VendorModel 118 auf. Das VendorModel 118 ruft
die setAgent() 124 des SNMP 120 auf. Diese Funktion
baut eine SNMP-Sitzung zwischen dem System und dem überwachten
Gerät auf.
Das VendorModel 118 ruft seine eigene Funktion obtainManufacturer() 126 auf,
um den Namen des Herstellers des überwachten Geräts zu erhalten.
In der Funktion obtainManufacturer() 126 ruft das VendorModel 118 die
getNextStringValueForOID() 128 des SNMP 120 auf,
um über
das SNMP den Unternehmens-Objektidentifizierer von dem überwachten
Gerät zu
erhalten. Der Unternehmens-Objektidentifizierer wird verwendet,
um den Hersteller des überwachten
Geräts
zu identifizieren. Das VendorModel 118 ruft seine eigene
Funktion obtainModel() 130 auf, um den Modellnamen des überwachten Geräts zu erhalten.
In der Funktion obtainModel() 130 ruft das VendorModel 118 die
getNextStringValueForOID() 132 des SNMP 120 auf,
um über
das SNMP den Modellnamen des überwachten
Geräts
zu erhalten. Das VendorModel 118 ruft seine eigene Funktion
obtainUniqueID() 134 auf, um den eindeu tigen Identifizierer
des überwachten
Geräts
zu erhalten. In der Funktion obtainUniqueID() 134 ruft
das VendorModel 118 die getNextStringValueForOID() 136 des
SNMP 120 auf, um über
das SNMP den eindeutigen Identifizierer des überwachten Geräts zu erhalten.
-
9 ist
ein beispielhafter Ablaufplan für
die setAgent()-Funktion des VendorModel. Im Schritt 140 werden
die Variable, die den Namen des Herstellers, den Modellnamen und
den eindeutigen Identifizierer repräsentieren, auf eine leere Zeichenkette
gesetzt. Diese Variable sind die m_sManufacturer, die m_sModel und die
m_sUniqueID, wie in der Tabelle 8 veranschaulicht ist. Im Schritt 142 wird
der Unternehmens-Objektidentifizierer des überwachten Geräts über das
SNMP erhalten. Im Schritt 144 wird der vom überwachten
Gerät erhaltene
Unternehmens-Objektidentifizierer mit jenen verglichen, die durch
das System unterstützt
werden. Der Unternehmens-Objektidentifizierer und sein entsprechender
Hersteller, die durch das System unterstützt werden, sind im Vektor
m_ManufacturerAndModelInfoVector gespeichert, wie in der Tabelle
8 beschrieben ist. Der Vektor wird durchsucht, um zu bestimmen,
ob der Unternehmens-Objektidentifizierer des überwachten Geräts gefunden
wird. Wenn der Unternehmens-Objektidentifizierer im Vektor nicht
gefunden werden kann, dann wird als Nächstes der Schritt 156 verarbeitet.
Wenn der Unternehmens-Objektidentifizierer im Vektor gefunden wird,
dann wird der Hersteller des überwachten
Geräts
durch das System unterstützt,
wobei als Nächstes
der Schritt 146 verarbeitet wird. Im Schritt 146 wird
die Variable für
den Namen des Herstellers m_sManufacturer auf den Namen des Herstellers
gesetzt, der dem Unternehmens-Objektidentifizierer im Vektor entspricht.
Im Schritt 148 werden die Variable m_sCurrentModelOID und
m_sCurrentUniqueOID für
den Objektidentifizierer, die verwendet werden, um den Modellnamen
und den eindeutigen Identifizierer des überwachten Geräts zu bestimmen,
auf die Objektidentifizierer gesetzt, die dem Unternehmens-Objektidentifizierer in
dem Vektor entsprechen. Im Schritt 150 wird der Modellname über das
SNMP unter Verwendung des Objektidentifizierers m_sCurrentModelOID
von dem überwachten
Gerät erhalten.
-
Im
Schritt 152 wird der vom überwachten Gerät erhaltene
Modellname mit jenen verglichen, die durch das System unterstützt werden.
Der Hersteller und das Modell, die durch das System unterstützt werden,
sind in der Karte m_ManufacturerModelMap gespeichert, wie in der
Tabelle 8 beschrieben ist. Die Karte wird durchsucht, um zu bestimmen,
ob das Modell in der Karte gefunden wird. Wenn das Modell in der
Karte nicht gefunden werden kann, dann wird als Nächstes der
Schritt 156 verarbeitet. Wenn das Modell in der Karte gefunden werden
kann, dann wird das Modell des überwachten
Geräts
durch das System unterstützt,
wobei als Nächstes
der Schritt 154 verarbeitet wird. Im Schritt 154 wird
die Variable für
den Modellnamen m_sModel auf den vom überwachten Gerät erhaltenen
Modellnamen gesetzt. Im Schritt 156 wird der eindeutige
Identifizierer unter Verwendung des Objektidentifizierers m_sCurrentUniqueOID über das
SNMP von dem überwachten
Gerät erhalten.
Dann wird die Variable für
den eindeutigen Identifizierer m_sUniqueID auf den von dem überwachten Gerät erhaltenen
eindeutigen Identifizierer gesetzt.
-
Die
Funktion setAgent() des VendorModel erlaubt dem System, den Namen
des Herstellers und den Modellnamen des überwachten Geräts über das
SNMP zu erhalten, um zu bestimmen, ob es durch das System unterstützt wird.
Sie erlaubt dem System außerdem,
den Namen des Herstellers und den Modellnamen zu verifizieren.
-
10 veranschaulicht
eine graphische Darstellung des Ablaufs, wenn das System die Informationen erhält, die
verwendet werden, um die Statusinformationen für den spezifischen Hersteller
und das spezifische Modell der überwachten
Geräte
zu erhalten. Das DeviceFactory 160 tritt mit dem ODBC2 162 in
Wechselwirkung, um diese Informationen zu erhalten. Das ODBC2 162 schafft
eine Schnittstelle zur Datenbank, um die durch das DeviceFactory 160 von
ihm angeforderten Informationen zu erhalten. Das DeviceFactory 160 ruft die
Funktion getManufStatusInfo() 164 des ODBC2 auf, um die
Informationen zu erhalten, die benötigt werden, um über das
SNMP die Statusinformationen von den überwachten Geräten für einen
spezifischen Hersteller zu erhalten. Die Informationen enthalten
eine Zahl (infoType), die irgendeinen Typ der Statusinformationen
repräsentiert,
und einen Objektidentifizierer, der verwendet wird, um über das
SNMP die Statusinformationen zu erhalten. Die getManufStatusInfo() 166 wird
mehrmals aufgerufen, bis die Informationen, die notwendig sind, um
alle Statusinformationen für
einen spezifischen Hersteller zu erhalten, aus der Datenbank eingelesen
sind. Dann ruft das DeviceFactory 160 die Funktion getModelStatusInfo() 168 des
ODBC2 162 auf, um die Informationen zu erhalten, die notwendig
sind, um über
das SNMP die Statusinformationen von den überwachten Geräten für ein spezifisches
Modell zu erhalten. Die Informationen enthalten eine Zahl (infoType),
die irgendeinen Typ der Statusinformationen repräsentiert, und einen Objektidentifizierer,
der verwendet wird, um über
das SNMP die Statusinformationen zu erhalten. Die getModelStatusInfo() 170 wird
mehrmals aufgerufen, bis die Informationen, die notwendig sind,
um alle Statusinformationen für
ein spezifisches Modell zu erhalten, aus der Datenbank eingelesen
sind. Dieser Ablauf wird innerhalb der createDevice()-Funktion des
DeviceFactory aufgerufen, wenn ein Geräteobjekt für das überwachte Gerät erzeugt
wird. Diese Informationen werden zu dem Geräteobjekt hinzugefügt, wie
in 11 beschrieben ist.
-
Unter
Verwendung der Datenbank, um die Informationen zu speichern, die
verwendet werden, um die Statusinformationen, die den Hersteller
betreffen, und die Statusinformationen, die das Modell betreffen,
zu erhalten, können
die von den überwachten
Geräten
zu erhaltenen Statusinformationen leicht ohne irgendwelche Änderungen
am System in der Datenbank modifiziert, aus der Datenbank entfernt
oder zur Datenbank hinzugefügt
werden.
-
11 zeigt
den Ablaufplan für
die createDevice()-Funktion des DeviceFactory. Im Schritt 174 wird
ein Geräteobjekt
erzeugt, um die überwachten
Geräte
zu repräsentieren.
Im Schritt 176 wird ein Vektor, der die Informationen enthält, die
notwendig sind, um die Statusinformationen von den Geräten aller
Hersteller zu erhalten, einem lokalen Vektor zugeordnet. Dieser
Vektor entspricht der in der Tabelle 10 beschriebenen m_GenericDeviceVector.
Im Schritt 178 wird der Name des Herstellers des überwachten
Geräts überprüft, um festzustellen,
ob er durch das System unterstützt
wird (der Name des Herstellers ist eine leere Zeichenkette, falls
er nicht durch das System unterstützt wird). Wenn der Name des
Herstellers nicht unterstützt
wird, dann wird als Nächstes
der Schritt 186 verarbeitet. Wenn der Name des Herstellers
unterstützt
wird, dann wird als Nächstes
der Schritt 180 verarbeitet.
-
Im
Schritt 180 werden die Informationen, die notwendig sind,
um die Statusinformationen von dem überwachten Gerät eines
spezifischen Herstellers zu erhalten, aus einer Karte erhalten und
zum lokalen Vektor hinzugefügt.
Der Karte entspricht der in der Tabelle 10 beschriebenen m_ManufactureVectorMap.
Im Schritt 182 wird der Modellname des überwachten Geräts überprüft, um festzustellen,
ob er durch das System unterstützt
wird (der Modellname ist eine leere Zeichenkette, falls er durch
das System nicht unterstützt
wird). Wenn der Modellname nicht unterstützt wird, dann wird als Nächstes der
Schritt 186 verarbeitet. Wenn der Modellname unterstützt wird,
dann wird als Nächstes
der Schritt 184 verarbeitet.
-
Im
Schritt 184 werden die Informationen, die notwendig sind,
um die Statusinformationen von dem überwachten Gerät eines
spezifischen Modells zu erhalten, von der Datenbank erhalten und
zum lokalen Vektor hinzugefügt.
Im Schritt 186 wird der lokale Vektor, der die Informationen
enthält,
die notwendig sind, um alle Statusinformationen des überwachten
Geräts
zu erhalten, im Geräteobjekt
gesetzt. Das Geräteobjekt
besitzt die Informationen darüber,
welche Statusinformationen es vom überwachten Gerät erhalten
muss.
-
Das
DeviceFactory erzeugt und initialisiert alle Geräteobjekte, so dass es weiß, welche
Statusinformationen es erhalten muss.
-
12 zeigt
die graphische Darstellung des Ablaufs zum Ausführen der monitorStatus()-Funktion. Der Prozess
sendet die Statusinformationen der überwachten Geräte an einen
gewünschten
Ort. Das SendInterfaceManager 190 ruft die startSend() 198 des
DataTransfer 196 auf, um das System vorzubereiten, um die Statusinformationen
der überwachten
Geräte über E-Mail
(SMTP) zu senden. Der SendInterfaceManager 190 ruft die
getStatus() 200 des Device 194 auf, um die Statusinformationen
des überwachten
Geräts
zu erhalten. Das Device 194 entspricht dem überwachten
Gerät und
weiß,
welche Statusinformationen es erhalten muss. Das SendInterfaceManager 190 ruft
die saveStatus() 202 des ODBC 192 auf, um die
Statusinformationen des überwachten
Geräts
in der Datenbank zu speichern. Das SendInterfaceManager 190 ruft
die dataSend() 204 des DataTransfer 196 auf, um
die Statusinformationen des überwachten
Geräts über E-Mail
(SMTP) zu senden. Die Schritte des Aufrufens der getStatus() 200,
der saveStatus() 202 und der dataSend() 204 werden
für jedes überwachte
Gerät wiederholt.
Es gibt ein Geräteobjekt
für jedes überwachte
Gerät.
Das SendInterfaceManager 190 ruft die endSend() 206 des
DataTransfer 196 auf, um das Senden der Statusinformationen über E-Mail
abzuschließen.
-
13 zeigt
die graphische Darstellung des Ablaufs zum Ausführen der getStatus()-214-Funktion des Device 210.
Der SendInterfaceManager 208 ruft die getStatus() 214 des
Device 210 auf, um die Statusinformationen des überwachten
Geräts
zu erhalten. Das Device 210 repräsentiert ein überwachtes
Gerät eines spezifischen
Herstellers und eines spezifischen Modells. Die Statusinformationen
werden über
das SNMP von den überwachten
Geräten
erhalten. Wenn das überwachte
Gerät durch
das System nicht unterstützt
wird, dann sind die vom überwachten
Gerät erhaltenen
Statusinformationen die Statusinformationen, die für alle über wachten
Geräte
erhalten werden können,
(Gesamtsystem-Statusinformationen), wie z. B. der Fehlerstatus.
Wenn der Hersteller, aber nicht das Modell des überwachten Geräts durch
das System unterstützt
wird, dann sind die vom überwachten
Gerät erhaltenen
Statusinformationen die Gesamtsystem-Statusinformationen und die
Statusinformationen, die für
alle überwachten
Geräte
des spezifischen Herstellers erhalten werden können, (herstellerspezifische
Statusinformationen). Wenn der Hersteller und das Modell des überwachten Geräts durch
das System unterstützt
werden, dann sind die vom überwachten
Gerät erhaltenen
Statusinformationen die Gesamtsystem-Statusinformationen, die herstellerspezifischen
Statusinformationen und die Statusinformationen, die für alle überwachten
Geräte
des spezifischen Modells erhalten werden können, (modellspezifische Statusinformationen).
Das Device 210 enthält
einen Vektor, so dass es weiß,
welche Informationen es erhalten muss. Das Device 210 ruft
die getNextStringValueForOID() des Snmp 212 auf, so dass
das System die Statusinformationen von dem überwachten Gerät über das
SNMP erhalten kann. Die getNextStringValueForOID() 218 wird
mehrmals aufgerufen, um alle Statusinformationen von dem überwachten
Gerät zu
erhalten.
-
14 zeigt
die Tabellen einer Datenbank, die die Informationen über die
Hersteller und Modelle enthält,
die durch das System unterstützt
werden. Die Tabelle enthält
außerdem
die Informationen darüber,
welche Informationen für
jeden Hersteller und jedes Modell zu erhalten sind. Die Manufacturer 230 ist
die Tabelle, die die Informationen über die durch das System unterstützten Hersteller
enthält.
Die Manufacturer 230 enthält außerdem die folgenden Informationen – den Unternehmens-Objektidentifizierer
für den
Hersteller, den Objektidentifizierer, der verwendet wird, um den
Modellnamen des überwachten
Geräts
zu bestimmen, und den Objektidentifizierer, der verwendet wird,
um den eindeutigen Identifizierer des überwachten Geräts zu bestimmen. Die
SupportedModelByManufacturer 220 ist die Tabelle, die die
Modelle mit ihrem entsprechenden Hersteller enthält, die durch das System unterstützt werden.
Um Hersteller und Modelle, die durch das System unterstützt werden,
hinzuzufügen
oder zu entfernen, müssen
nur die Tabellen Manufacturer 230 und SupportedModelByManufacturer 220 modifiziert
werden. Am Code des Systems muss keine Modifikation ausgeführt werden.
Das System liest die Informationen aus diesen Tabellen der Datenbank.
-
Die
ComManufStatus 226 ist die Tabelle, die die Informationen
darüber
enthält,
welche Informationen von dem überwachten
Gerät anhand
seines Namens des Herstellers erhalten wer den. Die Tabelle enthält den Namen
des Herstellers und eine Zahl, die den Typ der Informationen repräsentiert.
Die ModelStatus 222 ist die Tabelle, die die Informationen
darüber
enthält,
welche Informationen von dem überwachten
Gerät anhand
seines Modellnamens erhalten werden. Die Tabelle enthält den Namen
des Herstellers, den Modellnamen und eine Zahl, die den Typ der
Informationen repräsentiert.
Um Informationen, die von dem überwachten
Gerät zu erhalten
sind, hinzuzufügen
oder zu entfernen, müssen
nur die Tabellen ComManufStatus 226 und ModelStatus 222 modifiziert
werden. Am Code des Systems muss keine Modifikation ausgeführt werden.
Das System liest die Informationen aus diesen Tabellen der Datenbank.
-
Die
EnumOID 224 ist die Tabelle, die die Informationen über den
Objektidentifizierer enthält,
der verwendet wird, um die der Zahl entsprechenden Informationen
zu bestimmen. Der Objektidentifizierer wird durch das System verwendet,
um einen spezifischen Typ der Informationen von dem überwachten
Gerät über das SNMP
zu bestimmen. Die EnumCorrespondence 228 ist die Tabelle,
die eine Beschreibung der Zahlen enthält, die verwendet werden, um
einen Typ der Informationen zu repräsentieren. Diese Tabelle wird
nicht durch das System verwendet, sondern sie versieht den Anwender
des Systems mit Informationen darüber, was die Zahlen repräsentieren.
-
15 zeigt
ein Beispiel der Inhalte in den Tabellen der Datenbank, wie in 14 beschrieben
ist. Microsoft Access ist die Datenbank, die verwendet wird, um
die Informationen über
die Hersteller und Modelle zu speichern, die durch das System unterstützt werden.
-
16 zeigt
die graphische Darstellung der Klassen für das ODBC2-Paket. Die CSupportODBC-232-Klasse
ist die Schnittstelle für
dieses Paket, um auf die Informationen in der Datenbank zuzugreifen. Die
CManufacturerData-240-Klasse greift auf die Informationen
von der Datenbank zu, die notwendig sind, um den Hersteller, das
Modell und die eindeutige ID des überwachten Geräts zu erhalten.
Die CSupportedModelData-234-Klasse greift auf die Informationen
von der Datenbank über
den Hersteller und das Modell des überwachten Geräts zu, die
durch das System unterstützt
werden. Die CComManufStatusData-236-Klasse greift auf die
Informationen von der Datenbank zu, die notwendig sind, um die Hersteller-Statusinformationen
zu erhalten, die dem überwachten
Gerät zugeordnet
sind. Die CModelStatusData-238-Klasse greift auf die Informationen
von der Datenbank zu, die notwendig sind, um die Modell-Statusinformationen
zu erhalten, die dem überwachten
Gerät zugeordnet
sind. Die CManufacturerDatabase-242-Klasse schafft eine
Schnittstelle zur Tabelle in der Datenbank, die die Herstellerinformationen
enthält.
Die CSupportedModelDatabase-244-Klasse schafft eine Schnittstelle zu
der Tabelle in der Datenbank, die die Informationen über die
unterstützten
Modelle enthält.
Die CComManufStatusDatabase-246-Klasse schafft eine Schnittstelle
zu der Tabelle in der Datenbank, die die Hersteller-Statusinformationen
enthält.
Die CModelStatusDatabase-250-Klasse schafft eine Schnittstelle
zu der Tabelle in der Datenbank, die die Modell-Statusinformationen
enthält.
Die CInfoTypeOIDDatabase-248-Klasse schafft eine Schnittstelle
zu der Tabelle in der Datenbank, die die Übereinstimmung zwischen der
infoType-Aufzählung
und dem Objektidentifizierer enthält.
-
Die
CManufacturerDatabase 242, die CSupportedModelDatabase 244,
die CComManufStatusDatabase 246, die CModelStatusDatabase 250 und
die CInfoTypeOIDDatabase 248 sind alles Klassen, die aus
der CRecordset 252 der Microsoft-Foundation-Class-Bibliothek
(MFC-Bibliothek)
abgeleitet sind.
-
Die
vorhergehende Beschreibung der bevorzugten Ausführungsform der vorliegenden
Erfindung ist für die
Zwecke der Veranschaulichung und Beschreibung dargestellt worden.
Es ist nicht vorgesehen, dass sie erschöpfend ist oder die Erfindung
auf die offenbarte genaue Form einschränkt, wobei viele Modifikationen oder
Variationen angesichts der obigen Lehren möglich sind. Es können z.
B. eines oder mehrere der hierin beschrieben oder gezeigten Konzepte
auf das System und/oder das Verfahren angewendet werden, die in
der in Beziehung stehenden Anmeldung mit der laufenden Nummer Nr.
09/756.120, eingereicht am 9. Januar 2001, mit dem Titel "Method and System
of Remote Support of Device Using Email" offenbart sind. Außerdem kann jedes in der in
Beziehung stehenden Anmeldung Nr. 09/756.120 beschriebene Konzept
oder Merkmal auf die hierin offenbarten Systeme oder Verfahren angewendet
werden. Die Ausführungsformen
wurden gewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktischen
Anwendungen am besten zu erklären,
um dadurch anderen Fachleuten auf dem Gebiet zu ermöglichen,
die Erfindung und die verschiedenen Ausführungsformen mit verschiedenen
Modifikationen zu verwenden, wie sie für die beabsichtigte spezielle Verwendung
geeignet sind. Es vorgesehen, dass der Umfang der Erfindung nur
durch die beigefügten
Ansprüche
definiert ist.