DE68929549T2 - Verwaltungssystem für verbundene Einheiten - Google Patents

Verwaltungssystem für verbundene Einheiten Download PDF

Info

Publication number
DE68929549T2
DE68929549T2 DE1989629549 DE68929549T DE68929549T2 DE 68929549 T2 DE68929549 T2 DE 68929549T2 DE 1989629549 DE1989629549 DE 1989629549 DE 68929549 T DE68929549 T DE 68929549T DE 68929549 T2 DE68929549 T2 DE 68929549T2
Authority
DE
Germany
Prior art keywords
management
module
request
information
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1989629549
Other languages
English (en)
Other versions
DE68929549D1 (de
Inventor
Dennis Leominster Rogers
Danny L. Haverhill Smith
Linsey B. Wellesley O'Brien
Robert R.N. Mansfield Ross
Robert C. Ashburnham Schuchard
Christine C. Chelmsford Chan-Lizardo
Jill F. Hudson Callander
Stanley I. Hudson Goldfarb
Leonard G. 403E Westboro Fehskens
Richard L. Pepperell Rosenbaum
Sheryl E. Mont Vernon Namoglu
Mark W. Nashua Sylor
Mark J. Harvard Seger
Jr. James L. Leominster Lemmon
David L. Boxborough Shurtleff
Colin Westford Strutt
Philip J. Brokkline Trasatti
Jr. William C. Topsfield Adams
Timothy M. Woodcote Dixon
G. Paul Brookline Koning
Kenneth W. Nashua Chapman
Kathy Jo Nashua Nelson
Douglas R. Lunenburg Fletcher
Ruth E.J. Acton Kohls
Steven K. Chelmsford Wong
Reena Lexington Dang
Allan B. Acton Moore
Anil V. Maynard Navkal
Benjamin M. Haverhill England
Arundahati G. Andover Sankar
Gerard R. Nashua Plouffe
D. Keith Pepperell Roberts
Matthew W. Westford Guertin
Pamela J. Hudson Koch
Peter H. Salisbury Burgess
Jeff Leominster Rosenberg
Michael Chelmsford Densmore
Theodore F. Marlborough Hupper
David Boston Aronson
Riaz Nashua Zolfonoon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/402,391 external-priority patent/US5345587A/en
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE68929549D1 publication Critical patent/DE68929549D1/de
Application granted granted Critical
Publication of DE68929549T2 publication Critical patent/DE68929549T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Description

  • Hintergrund der Erfindung
  • Die Erfindung bezieht sich allgemein auf das Gebiet des Managements komplexer Systeme und insbesondere auf Anordnungen zum Managen komplexer Systeme wie z. B. verteilter digitaler Datenverarbeitungssysteme.
  • Da digitale Datenverarbeitungssysteme oder Computer kleiner und kostengünstiger geworden sind werden einzelne Computer von Einzelpersonen und kleinen Gruppen genutzt. Um die gemeinsame Nutzung von Daten, die Kommunikation zwischen den Benutzern und die Wirtschaftlichkeit bei der Verbindung mit Betriebsmitteln, die von einer Einzelperson möglicherweise nur selten benutzt werden, zu verbessern, wurden die Computer zu Netzen verbunden, auf denen mittels Nachrichten kommuniziert wird, die über Kommunikationsverbindungen übertragen werden, welche zusätzlich zu den direkt von den einzelnen Benutzern verwendeten Computern Server enthalten, die z. B. große Datenmengen speichern, auf die von mehreren Benutzern im System zugegriffen werden kann und die verwendet und aktualisiert werden können, wodurch die gemeinsame Nutzung von Daten erleichtert wird. Server können ferner Drucker, Telekommunikationsverbindungen und dergleichen steuern. Außerdem können Server spezialisierte Berechnungsdienste anbieten, wie z. B. eine Datenbanksuche und -sortierung und dergleichen. Die verschiedenen Computer, die als Client bezeichnet werden, und die Server sind mittels einer Kommunikationsverbindung verbunden, damit zwischen den verschiedenen Computern und Servern, die im verteil ten System enthalten sind, Nachrichten übertragen werden können.
  • Dokument US-A-4649515 bezieht sich auf ein wissensbasiertes Expertensystem, das eine Hierarchie an Regeln zur Verfügung stellt, die bei der Diagnose von Fehlfunktionen in einem System auf der Basis von Eingaben, die von einer Mehrzahl von Sensoren empfangen werden, verwendet werden.
  • Zusammenfassung der Erfindung
  • Die Erfindung gemäß den beiliegenden Ansprüchen schafft eine neuartige und verbesserte Steueranordnung zum Steuern und Überwachen eines komplexen Systems wie z. B. eines verteilten digitalen Datenverarbeitungssystems, in dem mehrere Computer über z. B. ein lokales Netz kommunizieren.
  • Kurz zusammengefasst enthält die Steueranordnung ein oder mehrere Darstellungsmodule, Funktionsmodule und Zugriffsmodule, die über Kerneinrichtungen kommunizieren, um Anfragen zu verarbeiten, die als Antwort auf Kommandos von einem Operator erzeugt werden, und um dem Operator Antworten anzuzeigen. Die Darstellungsmodule handhaben Operatorschnittstellenfunktionen, die das Empfangen von Kommandos von einem Operator und das Darstellen von Antworten für denselben umfassen. Das Darstellungsmodul erzeugt als Antwort auf ein Kommando von einem Operator eine Anfrage. Die Kerneinrichtung empfängt eine Anfrage und kann diese zur weiteren Verarbeitung an ein Funktionsmodul weiterleiten. Die Funktionsmodule handhaben allgemeine funktionelle Operationen in Verbindung mit der Verarbeitung einer Anfrage. Als Antwort auf eine Anfrage erzeugt ein Funktionsmodul eine oder mehrere Anfragen (im folgenden manchmal der Bequemlichkeit halber als Hilfsanfragen bezeichnet), die es zur Verarbeitung an die Kerneinrichtung oder an andere Funktionsmodule weiterleitet. Die Kerneinrichtung leitet Hilfsanfragen, die sie empfängt, zur Verarbeitung an ein Zugriffsmodul weiter. Die Zugriffsmodule handhaben Primitivoperationen in Verbindung mit den Objekten, die im komplexen System enthalten sind.
  • Es wird ein System zum Steuern und Ausführen von Managementfunktionen über eine Gruppe von Objekten diskutiert, wobei die Objekte innerhalb der Gruppe zum Steuern von Primärinformationshandhabungsfunktionen gekoppelt sind, und die Objekte ferner mit dem System gekoppelt sind, um das Ausführen der Managementfunktionen zu erlauben. Das System enthält gespeicherte Managementmodule, die ausgelegt sind, die Managementfunktionen durch unabhängiges Interpretieren und Ausführen ausgewählter managementbezogener Befehle auszuführen, einen Kern mit einer Tabelle von Versendezeigern zum Leiten der Befehle zu den entsprechenden Modulen, in denen sie interpretiert und ausgeführt werden müssen, und eine Einschreibeeinrichtung zum Einschreiben neuer Managementmodule in das System durch Hinzufügen weiterer Zeiger zur Tabelle.
  • Die Managementmodule sind wenigstens für das Anfordern von Statusinformationen von den Objekten, das Modifizieren von Managementparametern der Objekte oder das Freigeben der Selbsttestmodi der Objekte ausgelegt. Das System enthält auch eine Auflistung über gespeicherte Managementspezifikationsinformationen, die mit einer universellen Spezifikationssprache übereinstimmt, die eine gemeinsame Syntax zum Darstellen der Attribute und Operationen eines jeden beliebigen managebaren Objekts hat, die Attribute, die sich auf die Funktion und Steuerung der Objekte beziehen, und die Managementfunktionen der Objekte. Die Managementspezifikationsinformationen können ferner die Attribute und Operationen der Objekte auflisten, die anderen Objekten untergeordnet sind. Die Managementspezifikationsinformationen enthalten Abrufinformationen in vorgegebenen Feldern der allgemeinen Syntax. Die Abrufinformationen enthalten Felder zum Spezifizieren einer Vorgaberate und einer maximalen Abrufrate, mit der die Werte der Attribute von den Objekten angefordert werden sollen. Die Managementspezifikationsinformationen können ferner in vorgegebenen Feldern der allgemeinen Syntax Partitionsinformationen enthalten, die Gruppen von Attributen mit gemeinsamen Datentypen darstellen. Die Managementspezifikationsinformationen können ferner in vorgegebenen Feldern der allgemeinen Syntax Häufungsinformationen enthalten. Die Häufungsinformationen stellen Gruppen von Attributen dar, die verwandte Funktionen im Management des Objekts aufweisen.
  • Die Managementspezifikationsinformationen können ferner in vorgegebenen Feldern der allgemeinen Syntax Kommandoinformationen enthalten, die die Managementinformationen, für deren Durchführung die Objekte ausgelegt sind, die Struktur der an die Objekte auszugebenden Anweisungen und die Struktur der zu empfangenden Antworten auflisten. Die Struktur der auszugebenden Anfragen enthält Felder zum Auflisten von Argumenten für ein Kommando. Die Struktur der zu empfangenden Antworten enthält Felder, die zum Anzeigen des erfolgreichen Abschlusses der angeforderten Operation verwendet werden. Die Struktur der zu empfangenden Antworten enthält Felder, die zum Anzeigen von Fehlerbedingungen verwendet werden, die einen nicht erfolgreichen Abschluss der angeforderten Operation verursacht haben.
  • Wenigstens ein Managementmodul enthält ein Zugriffsmodul, das Protokolle für die Kommunikation mit einem oder mehreren Objekten implementiert. Die Protokolle sind konsistent mit den Ethernet-Normen oder den DECnet-Phase-IV-Normen oder den DECnet-Phase-V-Normen.
  • Jedes Kommando enthält Felder, die wenigstens ein zugehöriges Objekt und eine Operation auflisten, während der Kern einen Versender zum Empfangen und Weiterleiten von Kommandos enthält, der wenigstens teilweise auf dem Objekt und den darin auf gelisteten Operationen beruht. Die Tabelle der Versendezeiger umfasst einen gerichteten Graphen von Datenstrukturen, wobei aufeinanderfolgende Datenstrukturen im Graphen den Feldern der Kommandos entsprechen. Der Versender enthält einen Parser (Prüfer) zum Prüfen des gerichteten Graphen entsprechend dem Objekt und der Operation, die in einem Kommando aufgelistet sind, um eine Zieldatenstruktur mit einem Versendezeiger zu lokalisieren. Der gerichtete Graph enthält Stellvertreterzeichenmerker und aufeinanderfolgende Datenstrukturen, die einem beliebigen Wert in einem bestimmten Feld eines Kommandos zugeordnet sind. Der gerichtete Graph enthält Ellipsenzeichen-Merker und aufeinanderfolgende Datenstrukturen, die einer beliebigen Anzahl von Werten in den Feldern der Kommandos zugeordnet sein können. Der Prüfer enthält eine Beste-Übereinstimmung-Einheit zum Ermitteln der besten Übereinstimmung für die Felder eines Kommandos, die zuerst nach genauen Übereinstimmungen der Felder und anschließend nach Stellvertreterzeichenübereinstimmungen der Felder sucht oder die zuerst nach genauen Übereinstimmungen der Felder und anschließend nach Ellipsenzeichen-Übereinstimmungen der Felder sucht.
  • Das System enthält eine Darstellungsvorrichtung zum Anzeigen von Informationen für einen Benutzer und zum Empfangen von Kommandos von einem Benutzer, wobei die Kommandos und Informationen spezielle vorgegebene Formate aufweisen. Ein Darstellungsmodul empfängt Kommandos von der Darstellungsvorrichtung und leitet Informationen an die Darstellungsvorrichtung weiter, wobei das Darstellungsmodul einen Umsetzungscode enthält, um die von einem Objekt empfangenen Informationen in ein vorgegebenes Format für die Darstellungsvorrichtung umzusetzen, sowie einen Weiterleitungscode, um Kommandos von der Darstellungsvorrichtung an den Versender weiterzuleiten. Das Darstellungsmodul enthält Benutzerschnittstelleninformationen, die Modi definieren, in welchen die Benutzer mit dem System in Wechselwirkung treten. Die Benutzerschnittstelleninformationen enthalten Hilfsinformationen, um dem Benutzer Informationen darüber zur Verfügung zu stellen, wie das System zu benutzen ist. Die Benutzerschnittstelleninformationen enthalten Graphikmodusinformationen, die Pop-up-Menü-Inhalte und Kommandozeilen-Prüftabellen definieren.
  • Der Kern enthält ferner eine Klassendatenbank, die die unterschiedlichen Managementinformationen definiert, die von den entsprechenden Objekten zur Verfügung gestellt werden. Das Darstellungsmodul enthält Menü-Erzeugungsroutinen zum Extrahieren von Daten aus der Klassendatenbank und zum Erzeugen von Menüs gültiger Kommandos, um sie dem Benutzer anzuzeigen. Die Menü-Erzeugungsroutinen dienen zum Ermitteln von Informationen, die die Konfiguration der Gruppe betreffen, und zum Erzeugen von Menüs verfügbarer Objekte, um diese dem Benutzer anzuzeigen.
  • Das System weist auch ein Managementmodul auf, das ausgelegt ist, gespeichert zu werden, um Managementfunktionen auszuführen, indem ausgewählte managementbezogene Befehle unabhängig interpretiert und ausgeführt werden, um in einem System zum Steuern und Ausführen von Managementfunktionen über eine Gruppe von Objekten verwendet zu werden. In bevorzugten Ausführungsformen enthält das Modul Versendezeiger, welche auf das Modul zeigen und Kommandos zugeordnet sind, die durch das Modul interpretiert und ausgeführt werden.
  • Das System weist auch ein System zum Aufrufen von Managementinformationen über eine Gruppe von Objekten in Reaktion auf Kommandos auf, die einen Zeitplan spezifizieren, wobei die Objekte innerhalb der Gruppe gekoppelt sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Objekte ferner mit dem System gekoppelt sind, um den Zugriff der Managementinformationen zu erlauben. Das System weist einen Speicher auf, der Aufzeichnungen enthält, die sich auf die Managementinformationen beziehen, wobei jede Aufzeichnung eine Angabe einer zugeordneten Zeit enthält, und einen Informationsmanager zum Abfragen von Managementinformationen, die in den Aufzeichnungen enthalten sind, oder zum Zugreifen auf Managementinfor-mationen von den Objekten in Reaktion auf ein Kommando, enthaltenden einen Planer zum eventuellen Ausgeben einer Abfolge von subsidiären Zugriffen oder Abfragen entspre-chend dem Kommando zu möglicherweise mehreren Zeitpunkten gemäß dem Zeitplan.
  • Ein historischer Datenrekorder greift periodisch auf neue Managementinformationen in den Aufzeichnungen in Reaktion auf einen vorbestimmten Plan zu und speichert diese. Das System ist ausgelegt, um auf ein Kommando zu antworten, das wenigstens einen gewünschten Zeitbereich spezifiziert, wobei der Zeitbereich möglicherweise vergangene, gegenwärtige und zukünftige Zeiten enthält, und der Informationsmanager enthält eine Einrichtung zum Befolgen des Kommandos durch Abfragen von Managementinformationen, die in den Aufzeichnungen enthalten sind, falls dies möglich ist, und ansonsten durch Zugriff auf auf den spezifizierten Zeitbereich bezogene Informationen von den Objekten. Der In formationsmanager ist derart ausgebildet, dass er ein Kommando befolgt, das einen Zeitbereich aufweist, der alle Zeiten vor einer spezifizierten Zeit enthält, durch Abfragen irgendeiner Aufzeichnung, die in den Aufzeichnungen während des Zeitbereichs gespeichert ist, oder ansonsten durch Zugreifen auf die Informationen in den Objekten. Der Informationsmanager ist derart ausgebildet, dass er ein Kommando befolgt, indem er sofort auf Managementinformationen von den Objekten zugreift. Ereignisse, die innerhalb des Netzwerks auftreten, werden als Komponente des Zustandes des Netzwerks behandelt und in den Aufzeichnungen gespeichert.
  • Das System weist auch ein System zum Steuern und Ausführen von Managementfunktionen über eine Gruppe von Objekten auf, wobei die Objekte innerhalb der Gruppe gekoppelt sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Objekte ferner mit dem System gekoppelt sind, um das Ausführen der Managementfunktionen zu erlauben. Das System enthält gespeicherte Managementmodule, die ausgelegt sind, die Managementfunktionen durch unabhängiges Interpretieren und Ausführen ausgewählter managementbezogener Kommandos auszuführen, einen Speicher, der Bereichsspezifikationsinformationen enthält, welche Gruppen von Objekten definieren, und eine Kern, der ausgelegt ist, Kommandos zu allen Objekten einer Gruppe auszugeben, indem individuelle Kommandos an geeignete Managementmodule ausgegeben werden.
  • Die Bereichsspezifikationsinformationen entsprechen einer universellen Spezifikationssprache, die eine gemeinsame Syntax aufweist, um irgendeine beliebige Gruppe der Objekte zu repräsentieren. Die gemeinsame Syntax berücksichtigt die Eingliederung der Objekte von einem ersten Bereich in einen zweiten Bereich durch Bezugnahme auf den ersten Bereich. Die gemeinsame Syntax berücksichtigt die Bildung von Unterbereichen der Objekte, die gänzlich innerhalb anderer Bereiche enthalten sind. Wenigstens ein Managementmodul enthält ein Bereichsmanagementmodul zum Einrichten und Aufrechterhalten der Bereichsspezifikationsinformationen. Das Bereichsmanagementmodul reagiert auf Kommandos zum Hinzufügen und/oder Entfernen von Objekten aus Gruppen, zum Bilden von Gruppen, oder zum Entfernen von Gruppen. Das Bereichsmanagementmodul reagiert auf Kommandos, die Filterprozeduren haben, welche Objekte von einem oder mehreren besonderen Bereichen auswählen. Die Filterprozeduren können Objekte von Unterbereichen auswählen, die vollständig innerhalb anderer Bereiche enthalten sind.
  • Das System weist auch ein System zum Steuern und Ausführen von Managementfunktionen über eine Gruppe von Objekten auf, wobei die Objekte innerhalb der Gruppe gekoppelt sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Objekte ferner mit dem System gekoppelt sind, um das Ausführen der Managementfunktionen zu erlauben. Das System enthält gespeicherte Managementmodule, die ausgelegt sind, die Managementfunktionen auszuführen, indem ausgewählte managementbezogene Kommandos unabhängig interpretiert und ausgeführt werden, und andere Kommandos an andere Module ausgegeben werden, wobei jedes Kommando in Übereinstimmung mit einer gemeinsamen Kommandosyntax die Identität des verwandten Objekts und die auszuführende Operation auflistet, sowie einen Kern, der eine Tabelle von Versendezeigern umfasst, um die Kommandos zu den entsprechenden Modulen zu leiten, in denen sie zu interpretieren und auszuführen sind.
  • Die gemeinsame Kommandosyntax schafft Felder zum Spezifizieren von untergeordneten Objekten, Attributen und Operationen. Eine erste Kategorie der Managementmodule enthält Funktionsmodule, die ausgelegt sind, eine funk tionelle Manipulation der von den Objekten gelieferten Daten vorzusehen, und eine zweite Kategorie der Managementmodule enthält Zugriffsmodule, die ausgelegt sind, die Protokolle zur Kommunikation mit den Objekten zu implementieren. Die Tabelle von Versendezeigern enthält einen funktionellen Zugriffsaspekt, der die Kombination zwischen Modulen der ersten Kategorie und anderen Modulen der ersten Kategorie oder Modulen der zweiten Kategorie erleichert. Das System enthält Darstellungsmodule, die ausgelegt sind, Kommandos von dem Benutzer, der die primären Informationshandhabungsfunktionen der Objekte nutzt, zu empfangen und Informationen an diesen Benutzer zu senden. Die Tabelle der Versendezeiger enthält einen funktionellen Präsentationsaspekt, der die Kommunikation zwischen den Darstellungsmodulen und den Modulen der ersten Kategorie erleichtert. Ein Modul der ersten Kategorie enthält ein funktionales Steuermodul, um empfangene Kommandos direkt zu Modulen der zweiten Kategorie zu leiten.
  • Weiterhin wird ein System zum Steuern und Ausführen von Managementfunktionen über eine Gruppe von Objekten erläutert, wobei die Objekte innerhalb der Gruppe gekoppelt sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Objekte ferner mit dem System gekoppelt sind, um das Ausführen der Managementfunktionen zu erlauben. Das System enthält gespeicherte Managementmodule, die ausgelegt sind, die Managementfunktionen auszuführen, indem ausgewählte managementbezogene Kommandos ausgeführt werden, und wobei wenigstens ein Modul Regeln speichert, welche ausgewählte Alarmbedingungen identifizieren, und einen Regelgenerator zum Erzeugen von Regeln zum Speichern und einen Alarmbedingungsdetektor umfasst, um eine Alarmbedingung in Reaktion auf die Inhalte der Regeln zu erfassen.
  • Die Managementmodule sind ausgelegt, die Managementfunktionen auszuführen, indem ausgewählte managementbezogene Kommandos unabhängig interpretiert und ausgeführt werden. Wenigstens einige Managementfunktion erzeugen Managementinformationen, welche den Status der primären Informationshandhabungsfunktionen von einem oder mehreren Objekten angeben. Die Regeln spezifizieren Werte für die Managementinformation zu einem oder mehreren Zeitpunkten. Das System enthält eine Speicher, der Aufzeichnungen der Managementinformationen enthält, wobei jede Aufzeichnung eine Angabe über eine zugeordnete Zeit enthält. Das System enthält einen Rekorder für historische Daten zum periodischen Zugreifen und Speichern neuer Managementinformationen in den Aufzeichnungen in Abhängigkeit eines vorbestimmten Planes.
  • Weiterhin wird ein System zur Steuern und Ausführen von Objektmanagementfunktionen über eine Gruppe von Objekte und auch zum Steuern und Ausführen von Selbstmanagementfunktionen über sich selbst erörtert, wobei die Objekte innerhalb der Gruppe gekoppelt sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Objekte ferner mit dem System gekoppelt sind, um das Ausführen der Managementfunktionen zu erlauben. Das System enthält wenigstens ein gespeichertes Managementmodul, das ausgelegt ist, die Objektmanagementfunktionen auszuführen, indem ausgewählte Kommandos unabhängig interpretiert und ausgeführt werden, und das ferner ausgelegt ist, die Selbstmanagementfunktionen auf sich selbst auszuführen, indem andere Kommandos interpretiert und ausgeführt werden, und einen Kern, der eine Tabelle von Versendezeigern umfasst, um die Objekt- und Selbstmanagementkommandos zu den entsprechenden Modulen zu leiten, in denen sie zu interpretieren und auszuführen sind.
  • Jedes Objektmanagementkommando listet in Übereinstimmung mit einer gemeinsamen Kommandosyntax die Identität des bezogenen Objekts und die auszuführende Operation, und jedes Selbstmanagementkommando listet in Übereinstimmung mit der gemeinsamen Kommandosyntax die Identität des bezogenen Moduls und die auszuführende Operation. Der Kern enthält einen Versender zum Empfangen und Weiterleiten von Kommandos, die wenigstens teilweise auf der Operation und dem Objekt oder dem darin gelisteten Modul basieren.
  • Kurzbeschreibung der Zeichnungen
  • Diese Erfindung ist in den beigefügten Ansprüchen genauer dargestellt. Die obenerwähnten und weitere Vorteile dieser Erfindung können mit Bezug auf die folgende Beschreibung besser verstanden werden, die sich auf die beigefügten Zeichnungen bezieht; in welchen:
  • 1A ein Funktionsblockschaltbild einer Steueranordnung ist, die gemäß der Erfindung konstruiert ist;
  • 1B ein Blockschaltbild der im Speicherobjekt der 1A gespeicherten Informationen ist;
  • 2A, ein funktionelles Blockschaltbild eines Abschnitts der in 1A dargestellten Steueranordnung ist, das ein in der Steueranordnung enthaltenes Objekt genauer definiert;
  • 2B die Struktur eines Managementmoduls zeigt;
  • 3A bis 3D die Managementspezifikationen definieren, die die Managementansicht definieren, die von den Funktionsmodulen und den Zugriffsmodulen geschaffen wird, die in der in 1A gezeigten Steueranordnung enthalten sind, wobei 3E die Versendespezifikationen für die Funktionsmodule und Zugriffsmodule definiert;
  • 4 die Struktur eines Datenverzeichnisses zeigt, das Informationen enthält, die durch die in den 3A bis 3D gezeigten Managementspezifikationen definiert sind;
  • 5 und 6 funktionelle Blockschaltbilder sind, die verschiedene Module und Datenstrukturen in der in 1A gezeigten Steueranordnung darstellen;
  • 7A die Parameter zeigt, die in Anfragen verwendet werden, die von den Darstellungsmodulen und Funktionsmodulen in der in 1A gezeigten Steueranordnung erzeugt werden;
  • 7B die Struktur der Zeitkontexthantierer und der Kontextblöcke zeigt, die von der Anfrage der 7A verwendet werden;
  • 8A und 8B Datenstrukturen in Versendetabellen zeigen, die von einem Versender wie in den 5 und 6 gezeigt in Verbindung mit der Verarbeitung von Anfragen von den Darstellungsmodulen und Funktionsmodulen in der in 1A gezeigten Steueranordnung verwendet werden;
  • 9A und 9B die Operationen eines Versenders in Verbindung mit seiner zugeordneten Versendetabelle bei der Verarbeitung einer Anfrage von einem Darstellungsmodul oder einem Funktionsmodul zeigen;
  • 9C das Format einer Konfigurations- und Bereichsdatenbank zeigt;
  • 10A die Struktur eines Funktionsmoduls zeigt, das beim Einrichten und Ermitteln von Alarmbedingungen ver wendet wird, wobei 10B die Struktur der bei der Einrichtung von Alarmbedingungen verwendeten Regeln zeigt.
  • ALLGEMEINE BESCHREIBUNG
  • 1A zeigt ein funktionelles Blockschaltbild einer Anordnung, die, gemäß der Erfindung konstruiert ist, um den Status und den Zustand eines komplexen Systems zu steuern und zu überwachen. (Das komplexe System selbst ist nicht gezeigt.) Vorweg sei erwähnt, dass ein Beispiel eines komplexen Systems, das von der in 1A gezeigten Anordnung gesteuert wird, ein verteiltes digitales Datenverarbeitungssystem enthält, das mehrere Knoten umfasst, die einzelne Computer, Endgeräte, Endgerät-Server und andere Komponenten enthalten, die mittels über ein Netz übertragener Nachrichten kommunizieren. Ein Beispiel eines derartigen digitalen Datenverarbeitungssystems ist in der US-Patentanmeldung mit der Nummer 06/616,553 beschrieben, die am 1. Juni 1984 eingereicht wurde. Es ist jedoch zu beachten, dass die in 1A dargestellte Steueranordnung nicht auf die Steuerung eines verteilten digitalen Datenverarbeitungssystems beschränkt ist, sondern verwendet werden kann, um eine Vielzahl unterschiedlicher Arten von komplexen Systemen zu steuern.
  • Solche komplexen Systeme erfordern ein Management, insbesondere da sich der Status und die Fähigkeiten des komplexen Systems ständig ändern. Daher müssen sich die Managementanordnung und die Managementfunktionen, die dieses bietet, ebenfalls ändern, um sich an die neuen Managementanforderungen des Systems anzupassen. Wie später genauer beschrieben wird, weist die Anordnung der 1A eine Erweiterbarkeit auf, die es der Anordnung ermöglicht, sich effizient an Änderungen des komplexen Systems anzupassen.
  • Für die Zwecke dieses Dokuments werden die Komponenten des komplexen Systems als Objekte bezeichnet. Objekte werden mit den Begriffen Klassen und Instanzen beschrieben. Eine Objektklasse definiert Objekte eines bestimmten Typs, z. B. enthält eine Klasse alle lokalen Netzbrücken eines gegebenen Lieferanten. Jedes Objekt ist ein Mitglied einer Klasse und bildet eine Instanz dieser Klasse.
  • Wie in 1A gezeigt, enthält die Steueranordnung mehrere Typen von Steuermodulen, die Präsentationsmodule 10A bis 10K (allgemein mit dem Bezugszeichen 10 bezeichnet), Funktionsmodule 11A bis UM (allgemein mit dem Bezugszeichen 11 bezeichnet) und Zugriffsmodule 12A bis 12N (allgemein mit dem Bezugszeichen 12 bezeichnet) enthalten. Die Darstellungsmodule 10 stellen im allgemeinen die Benutzerschnittstelle für die Operatoren dar, die eine Steuerung des komplexen Systems einschließlich der Steuerung von Endgeräten, die von den Systemoperatoren verwendet werden, bietet. Jedes Funktionsmodul 11 bietet allgemein eine Managementsteuerung und Überwachung in Verbindung mit einer Klasse von Funktionen. Jedes Zugriffsmodul 12 bietet im allgemeinen eine Managementsteuerung für einen bestimmten Typ eines steuerbaren Objekts in einem Satz, der zu einer Klasse steuerbarer Objekte gehört, innerhalb des komplexen Systems. Die Darstellungsmodule 10 kommunizieren mit den Funktionsmodulen 11 über ein Darstellungsfunktionsmerkmal eines Kerns 13, 14, im folgenden einfach mit Darstellungsfunktions-Kern 13 bezeichnet, während die Funktionsmodule 11 mit den Zugriffsmodulen über ein Funktionszugriffsmerkmal des Kerns 13, 14 kommunizieren, im folgenden einfach mit Funktionszugriffs-Kern 14 bezeichnet.
  • Die Funktionen, die von den Steuermodulen 10, 11, 12 benötigt werden, können sich in Abhängigkeit von der Topologie des gemanagten komplexen Systems stark ändern.
  • Um der Anordnung eine Anpassungsfähigkeit und Erweiterbarkeit zu verleihen, können daher die Steuermodule 10, 11, 12 dynamisch zur Anordnung hinzugefügt oder aus derselben entfernt werden, um die Anordnung an die Topologie eines bestimmten komplexen Systems und an die Veränderungen dieser Topologie anzupassen.
  • Um die Ziele der Anpassungsfähigkeit und der Erweiterbarkeit zu erreichen, bilden die Steuermodule 10, 11, 12 eine "Arbeitsaufteilung" für die Tasks, die während des Managements des komplexen Systems auszuführen sind. Auf diese Weise können die Tasks, die z. B. den Managementprotokollen eines verteilten Datenverarbeitungssystems zugeordnet sind, von den Tasks getrennt werden, die z. B. dem Anzeigen der Managementinformationen für den Benutzer zugeordnet sind.
  • A. DARSTELLUNGSMODULE
  • Genauer bieten die Darstellungsmodule 10 Darstellungsdienste, die z. B. die Unterstützung für eine Benutzerschnittstelle wie z. B. ein Videoanzeigegerät, einen Personalcomputer oder einen Werkstation-Computer umfassen können, die von einem Systemoperator verwendet werden kann, um die Operation der verschiedenen Funktionsmodule 11 und Zugriffsmodule 12 zu steuern und somit die verschiedenen Objekte im komplexen System zu steuern und zu überwachen. Die Darstellungsdienste werden unabhängig von den Managementfunktionen oder den Objekten, die von dem in 1A dargestellten System gemanagt werden, benötigt und werden daher unabhängig von der Art der Managmentfunktionen oder Objekte zur Verfügung gestellt. Jede Operatorschnittstelle oder jedes Endgerät kann von mehreren Darstellungsmodulen 10 gesteuert werden. Die verschiedenen Darstellungsmodule 10 steuern verschiedene Aspekte der Operatorschnittstelle, einschließlich solcher Einzelheiten wie z. B. Symbole, Menüs, Graphiken sowie die Unterstützung zum Anzeigen und Prüfen einer Kommandozeile. Andere Darstellungsmodule 10 bieten eine spezielle Ausgabeunterstützung für verschiedene Typen graphischer Anzeigen, wie z. B. Histogrammen, Balkengraphen, Kreisdiagrammen oder anderen Typen bildlicher Darstellungen, die für einen Operator auf einem Gerätebildschirm angezeigt werden sollen. Weitere Darstellungsmodule 10 bieten die Übertragung von Managementanfragen, die mittels Symbolen, Menüs, Graphiken oder Kommandos, die der Operator in der Kommandozeile eingegeben hat, dem Darstellungsfunktions-Kern 13 mitgeteilt werden können, sowie der Übertragung von Managementinformationen vom Darstellungsfunktions-Kern 13 zur Anzeige auf dem von einem Operator benutzten Videoanzeigegerät.
  • B. FUNKTIONSMODULE
  • Den Funktionsmodulen 11 sind spezielle Managementanwendungen zugeordnet, die sie allgemein unterstützen und die von der in 1A gezeigten Steueranordnung geschaffen werden. Die Managementanwendungen bestehen unabhängig von den Darstellungsdiensten, die von den Darstellungsmodulen 10 zur Verfügung gestellt werden (anders als bis zu dem Ausmaß, zu dem die Darstellungsmodule 10 einen Operator über die Managementanwendungen informieren, die von der Steueranordnung zur Verfügung gestellt werden), und den bestimmten Objekten, die das komplexe System umfasst, das von der Steueranordnung gemanagt wird.
  • Eine Managementanwendung, die von einem Funktionsmodul 11 geschaffen werden kann, kann z. B. die Kommunikationslast in einem verteilten Datenleitsystem analysieren. Um eine solche Analyse durchzuführen, würde ein Funktionsmodul auf Kommunikationsdaten wie z. B. die Anzahl der gesendeten Pakete und die Anzahl der gesendeten Bytes, von mehreren Objekten des verteilten Leitsystems zugreifen. Das Funktionsmodul würde anschließend die Informationen zu Informationen höherer Ebene zusammenfassen, wie z. B. die mittlere Paketgröße und die prozentuale Nutzung der Kommunikationsbetriebsmittel des Leitsystems. Diese Informationen würden anschließend an den Benutzer weitergeleitet oder anderen Funktionsmodulen bei der Ausführung anderer Managementanwendungen zur Verfügung gestellt.
  • Wie im obigen Beispiel gezeigt, "steigert" ein Funktionsmodul den "Wert" von Managementinformationen, die im komplexen System verfügbar sind, in Form von Datensammlungs- oder Korrelationsdiensten. Außerdem können Funktionsmodule die Daten nutzen, die von anderen Funktionsmodulen erzeugt werden, um für das Management des komplexen Systems Dienste höherer Ebene auszuführen.
  • In einer speziellen Steueranordnung zum Steuern eines verteilten digitalen Datenverarbeitungssystems managt z. B. ein Funktionsmodul 11 die Topologie des Netzes und zeigt die Topologie über ein Darstellungsmodul 10 einem Operator an.
  • Ein weiteres Funktionsmodul 11 kann ein Konfigurations-Funktionsmodul umfassen, das z. B. die Konfiguration, d. h. die verschiedenen Objektinstanzen und deren Beziehungen untereinander, des verteilten digitalen Datenverarbeitungssystems definiert, so dass es einem Operator ermöglicht, die Konfiguration des Netzes zu steuern, indem es ermöglicht Knoten und andere Objektinstanzen hinzuzufügen oder aus dem Netz zu entfernen. Zugriffsrechte verschiedener Benutzer der Knoten zu ändern, und indem es ferner eine Konfigurationdatenbank (oder Instanzendatenbank) hält, mit der der Operator die Änderungen der Konfiguration des Netzes im Zeitverlauf ermitteln kann.
  • Ein weiteres Funktionsmodul 11 in der Steueranordnung kann z. B. verschiedene Alarme steuern, die das Auftreten ausgewählter Ereignisse im verteilten digitalen Datenverarbeitungssystem anzeigen; dieses Alarmfunktionsmodul 11 überwacht den Status und den Zustand verschiedener Objekte im verteilten digitalen Datenverarbeitungssystem und erzeugt eine Alarmanzeige für einen Operator über das entsprechende Darstellungsmodul 10 als Antwort auf den Status oder die Zustände, die ausgewählte Werte aufweisen, um den Operator darüber zu informieren.
  • Ein weiteres Funktionsmodul 11 kann z. B. Bereiche von Objekten im verteilten digitalen Datenverarbeitungssystem einrichten, um den Rahmen der Steuerung oder der Überwachung durch einen Operator zu begrenzen oder um die Steuerung oder Überwachung durch den Operator zu vereinfachen.
  • Ein weiteres Funktionsmodul 11 kann z. B. als ein Historiedaten-Aufzeichnungsfunktionsmodul 11 dienen, um periodisch verschiedene Objekte im komplexen System abzurufen, um zu bestimmten Zeitpunkten deren Werte zu ermitteln und eine Datenbank der Zeiten und Werte einzurichten und zu führen, um die Erzeugung von Nutzungsstatistiken zu erleichtern.
  • Ein weiteres Funktionsmodul 11 kann vielleicht keinen bestimmten Aspekt des komplexen Systems steuern, sondern statt dessen als ein Durchlass arbeiten, um einem Operator zu ermöglichen Primitivfunktionen eines komplexen Systems direkt über die Zugriffsmodule 12 zu steuern oder zu überwachen.
  • Eine Managementanwendung kann die Dienste und Operationen anfordern, genauer koordinieren Sequenzen einer Anzahl von Zugriffsmodulen 12 und das Funktionsmodul 11, das die Managementanwendung unterstützt, die Sequentierung der Operationen durch die verschiedenen Zugriffsmodule 12, die benötigt werden, um die Managementanwendung auszuführen. Außerdem kann die Managementanwendung, die von einem Funktionsmodul 11 zur Verfügung gestellt wird, die Anwendung zusätzlicher Funktionsmodule 11 in der Steueranordnung erfordern, die das eine Funktionsmodul ebenfalls koordinieren kann.
  • Die Funktionsmodule 11 werden anfangs vom Darstellungsfunktions-Kern 13 als Antwort auf Managementanfragen aktiviert, die von einem Operator eingegeben und von einem Darstellungsmodul 10 erhalten werden. Ein Funktionsmodul 11 kann ferner durch eine Anfrage aktiviert werden, die direkt von einem weiteren Funktionsmodul empfangen worden ist. Außerdem kann ein Funktionsmodul 11 eine Anfrage zur Verarbeitung durch ein Zugriffsmodul 12 erzeugen.
  • C. ZUGRIFFSMODULE
  • Den Zugriffsmodulen 12 sind verschiedene Primitiv-Managementoperationen zugeordnet, die sie unterstützen und die von der Steueranordnung in Verbindung mit den verschiedenen Objekten, die das von der in 1A gezeigten Steueranordnung gemanagte komplexe System umfasst, zur Verfügung gestellt werden. Zum Beispiel können in einem verteilten digitalen Datenverarbeitungssystem die Objekte nicht nur die verschiedenen Hardwarekomponenten des Systems einschließlich verschiedener Computer, Platten- und Bandspeichereinheiten, Leitvorrichtungen usw. umfassen, die Knoten im verteilten digitalen Datenverarbeitungssystem bilden können, sondern auch Softwarekomponenten einschließlich virtueller Schaltungen, Datenbanken und dergleichen. Die Zugriffsmodule 12 werden vom Funktionszugriffs-Kern 14 als Antwort auf Anfragen von einem Funktionsmodul 11 aktiviert.
  • Die Zugriffsmodule 12 zum Steuern und Überwachen eines verteilten digitalen Datenverarbeitungssystems können mehrere unterschiedliche Typen von Knoten oder unterschiedliche Ebenen in den Nachrichtenübertragungsprotokollen steuern, die von den Knoten verwendet werden, um Nachrichten zu erzeugen und zu übertragen. Ein Zugriffsmodul 12 kann z. B. den Status verschiedener Abschnitte einer Brücke steuern und überwachen, die zwei lokale Netze miteinander verbindet, wodurch ermöglicht wird, dass zwischen den Knoten der zwei lokalen Netze Nachrichten ausgetauscht werden können. Ein solches Zugriffsmodul 12 kann z. B. die Brücke initialisieren und diese zum Betrieb freigeben, die Brücke sperren, ihre Ende-Ende-Operation überwachen, die Anzahl der Nachrichtenweiterleitungspuffer ermitteln, die sie besitzt, und ermitteln, ob sie genügend Puffer besitzt, um im System effektiv zu arbeiten.
  • Ein weiteres Zugriffsmodul 12 kann die Operation der Nachrichtenerzeugungs- und Decodierungsabschnitte der verschiedenen Knoten des verteilten digitalen Datenverarbeitungssystems, die virtuellen Schaltungen, die Sitzungen und andere Verbindungen, die zwischen Knoten eingerichtet sind, verschiedene Zeitgeber und Zähler, die die Aktivität oder Inaktivität hiervon anzeigen, und dergleichen steuern und überwachen. Gleichermaßen kann ein weiteres Zugriffsmodul 12 die Operation der Netzschichtabschnitte der Knoten steuern und überwachen, die das aktuelle Senden und Empfangen von Nachrichten über das Netz steuern, einschließlich verschiedener Nachrichtensende- und -empfangszähler, Sende- und Empfangszeitgeber und dergleichen. Ferner können Zugriffsmodule 12 verwendet werden, die beides steuern, zusätzlich zum Überwachen der Werte der verschiedenen Zeitgeber und Zähler, um Grenzen für die Anzahl konkurrierender virtu eller Schaltungen und Sitzungen einzurichten, die ein Knoten halten kann, und andere Vorgabe- und Betriebsparameter einrichten.
  • In speziellen Ausführungsformen können Zugriffsmodule einen Zugriff auf Managementfunktionen an ETHERNET-LAN-Brücken, einen Verbindungstest oder IEEE-802-Funktionen an ETHERNET-Stationen, Anschlusssegmentierungssteuer- und Prüffunktionen an ETHERNET-Verstärkern oder Managementfunktionen an FDDI-Objekten zur Verfügung stellen. Außerdem können Zugriffsmodule Zugriff auf die Managementunterstützung an DECnet-Phase-IV- oder DECnet-Phase-V-Knoten oder DEC-Terminal-Server bieten, wie sie von der Digital Equipment Co., Maynard, MA, vertrieben werden.
  • D. ANFRAGEN
  • Die Steuermodule 10, 11, 12 stehen untereinander und mit dem Benutzer über Anfragen in Wechselwirkung. Die Anfragen weisen zwei allgemeine Typen auf. Eine Anfrage kann z. B. ermöglichen, dass etwas im komplexen System geschieht, d. h. sie kann veranlassen, dass der Zustand oder die Bedingung des komplexen Systems verändert wird. Bei der Verarbeitung einer solchen Anfrage führen ein oder mehrere Zugriffsmodule 12 vorgegebene Operationen aus, die den Zustand oder die Bedingung eines oder mehrere Objekte im gemanagten System ändern. Die Zugriffsmodule 12, die eine solche Anfrage verarbeiten, erzeugen Statusinformationen, die den Status der Anfrage anzeigen und die sie an den Funktionszugriffs-Kern 14 zurückgeben.
  • Alternativ kann eine Anfrage Informationen über den Status oder die Bedingung eines oder mehrerer Objekte im System erbitten, wobei die Objekte in der Anfrage definiert sind. Bei der Verarbeitung einer solchen Anfrage können ein oder mehrere Zugriffsmodule 12 den Status oder die Bedingung der Objekte ermitteln und eine Identifizierung derselben an den Funktionszugriffs-Kern 14 zurückgeben. In anderen Fällen können die in der Steueranordnung (z. B. mittels eines Historiedaten-Aufzeichnungsfunktionsmoduls) gespeicherten Informationen verwendet werden, um die Anfrage zu bedienen.
  • Außerdem kann eine Anfrage beiden Typen entsprechen, d. h. sie kann den Zustand oder die Bedingung eines oder mehrere Objekte verändern und kann ferner Informationen über die Zustände oder Bedingungen der Objekte nach der Änderung anfordern. Bei der Verarbeitung einer solchen Anfrage bewirken die Zugriffsmodule 12 das Auftreten der Veränderung, falls möglich, und geben Statusinformationen über den Status der Anfrage sowie Informationen über den Status oder die Bedingungen der Objekte zurück.
  • Anfragen können als Antwort auf eine Operatoraktion an einer Endgerät-Darstellungsvorrichtung erzeugt werden. In diesem Fall erzeugt das Darstellungsmodul 10, das das Endgerät steuert, eine Anfrage, die es an den Darstellungsfunktions-Kern 13 sendet. Außerdem können Anfragen direkt durch entsprechende Funktionsmodule 11 erzeugt werden. Zum Beispiel kann ein Funktionsmodul 11, das als Historiedaten-Aufzeichnungsvorrichtung arbeitet, Anfragen erzeugen, um periodisch den Status oder die Bedingungen entsprechender Objekte im komplexen System zu ermitteln und in einer Historie-Datenbank zur Verwendung bei der späteren Verarbeitung zu speichern, wenn sie von einem Operator benötigt werden.
  • E. KERN
  • Der Kern 13, 14 enthält mehrere Objekte, einschließlich eines Informationsmanagers 15, 20 (im folgenden einfach als Informationsmanager 15 oder Informationsmanager 20 bezeichnet, die ein und denselben Informationsmanager bilden), eines Versenders 16, 21 (im folgenden einfach als Versender 16 oder als Versender 21 bezeichnet, die ein und denselben Versender bilden) und eines Datenspeicherobjekts 17, 22 (im folgenden einfach als Datenspeicherobjekt 17 oder als Datenspeicherobjekt 22 bezeichnet, die ein und dasselbe Datenspeicherobjekt bilden), wie im folgenden beschrieben wird.
  • F. DATENSPEICHER
  • Das Datenspeicherobjekt 17, 22 kann ein oder mehrere Hochgeschwindigkeits-RAMs umfassen, die Versendedatenstrukturen enthalten, oder ein oder mehrere Festplattenlaufwerke oder andere Speichervorrichtungen, in Abhängigkeit von den Typen und der Menge der darin gespeicherten Daten.
  • Außerdem können Daten unterschiedlicher Typen zur späteren Verwendung durch den Kern in unterschiedlichen Speichervorrichtungen gespeichert sein, wobei alle diese Einrichtungen schematisch durch das einzelne Datenspeicherobjekt 17, 22 dargestellt sind.
  • Wie in 1B gezeigt, hält in einer Ausführungsform das Datenspeicherobjekt 17, 22 Informationen über die Existenz und den Zustand der verschiedenen Objekte, die das komplexe System zu verschiedenen Zeitpunkten enthält, insbesondere ausgewählte Informationen über den Status und die Bedingungen der verschiedenen Objekte, die von den Zugriffsmodulen 10 gesteuert werden, wie sie mittels des Historiedatenaufzeichnungs-Funktionsmoduls 11 erhalten werden. Diese werden in einer Historiedatenbank 26 gespeichert.
  • Andere Informationen können ebenfalls im Datenspeicherobjekt 17, 22 gespeichert werden. Wie oben beschrieben ist, kann ein Konfigurationsmodul insbesondere eine Konfigurationsdatenbank 23 bilden, die das Vorhandensein von Objektinstanzen im komplexen System anzeigt. Ein Bereichsmodul kann eine Datenbank 25 speichern, die Bereiche von Objekten beschreibt und bei der Begrenzung des Steuerumfangs des Benutzers verwendet wird. Alternativ können die Bereichsinformationen als ein Objekt der Konfigurationsdatenbasis 23 gespeichert werden. Ferner kann ein Alarmmodul eine Alarmregeldatenbank 24 verwenden, um Alarmbedingungen innerhalb des komplexen Systems zu prüfen.
  • Andere Informationen, die sich auf die einzelnen Module in der Steueranordnung beziehen, können ebenfalls im Speicherobjekt 17, 22 enthalten sein. Wie im folgenden genauer beschrieben wird, kann z. B. eine Versendetabelle 28, die vom Versender 16, 21 verwendet wird, die Orte der Module sowie die Operationen, Objekte und Attribute, die diese unterstützen, speichern. Außerdem kann die Steueranordnung ein Datenverzeichnis 27 enthalten, das die Attribute, Direktiven und Unterobjekte aller verschiedenen Klassen von Objekten im komplexen System speichert. Diese letzteren Informationen können verwendet werden, um z. B. Anfragen vom Benutzer zu verarbeiten und/oder Menüs zu erzeugen, um auf Benutzeranfragen zu antworten.
  • G. INFORMATIONSMANAGER
  • Wie in 1 gezeigt ist und im folgenden genauer beschrieben wird, fängt der Informationsmanager 15 dann, wenn er eine Anfrage von einem Darstellungsmodul 10 empfängt, auf die er unter Verwendung der Informationen im Datenspeicherobjekt 17 antworten kann, die Anfrage ab und erzeugt eine Antwort auf die Anfrage, die er zur Anzeige für den Operator, der die Anfrage erzeugt hat, an ein entsprechendes Darstellungsmodul 10 sendet. Wenn der Informationsmanager 15 auf die Anfrage nicht antworten kann, ermittelt er anschließend, ob sich die Anfrage auf den aktuellen Zeitpunkt oder einen Zeitpunkt in der Zukunft bezieht; d. h., der Informationsmanager 15 ermittelt, ob die Anfrage sofort verarbeitet oder für einen bestimmten Zeitpunkt in der Zukunft eingeteilt werden. soll. Der Informationsmanager sendet die Anfrage zum richtigen Zeitpunkt, entweder sofort oder zum eingeteilten Zeitpunkt, zum Versender 16. Anhand der Art der Anfrage identifiziert der Versender 16 ein Funktionsmodul 11 zum Verarbeiten der Anfrage und sendet die Anfrage zu diesem Funktionsmodul 11.
  • Das Funktionsmodul 11 fährt als Antwort auf den Empfang einer Anfrage vom Versender 16 mit der Verarbeitung der Anfrage fort. Es kann als Antwort auf die Anfrage eine oder mehrere Operationen einleiten, die- jeweils durch eine Anfrage dargestellt werden, woraufhin eine Hilfsanfrage aufgerufen wird, die es an ein weiteres Funktionsmodul 11 oder an den Funktionszugriffs-Kern 14 richtet. Nach dem Empfang von Antworten auf alle Hilfsanfragen erzeugt das Funktionsmodul 11 eine Antwort, die es zum Versender 16 sendet. Der Versender 16 formuliert anschließend eine Antwort, die er über den Informationsmanager 15 zur Anzeige für den Benutzer an das entsprechende Darstellungsmodul 10 sendet.
  • Das Funktionszugriffs-Merkmal des Kerns 14 enthält den Informationsmanager 20, den Versender 21 und das Datenspeicherobjekt 21. Eine Hilfsanfrage von einem Funktionsmodul 11, die an den Funktionszugriffs-Kern 14 gerichtet ist, wird anfangs vom Informationsmanager 20 empfangen. Das Datenspeicherobjekt 22 enthält ferner Informationen über den Zustand des komplexen Systems zu verschiedenen Zeitpunkten, die vom Historiedaten-Aufzeichnungsfunktionsmodul 11 zur Verfügung gestellt werden, insbesondere ausgewählte Informationen über den Status und die Bedingungen der verschiedenen Objekte, die von den Zugriffsmodulen 10 gesteuert werden.
  • Wenn der Informationsmanager 20 eine Hilfsanfrage von einem Funktionsmodul 11 empfängt, auf die er unter Verwendung der Informationen im Datenspeicherobjekt 22 antworten kann, fängt er die Anfrage ab und erzeugt eine Antwort auf die Hilfsanfrage, die er zu dem Funktionsmodul 11 sendet, von dem er die Hilfsanfrage empfangen hat. Wenn der Informationsmanager 20 auf eine Hilfsanfrage von einem Funktionsmodul 11 nicht antworten kann, ermittelt er anschließend, ob sich die Anfrage auf den aktuellen Zeitpunkt oder auf einen Zeitpunkt in der Zukunft bezieht; d. h., der Informationsmanager 20 ermittelt, ob die Anfrage sofort verarbeitet werden soll oder für einen bestimmten Zeitpunkt in der Zukunft eingeteilt werden soll. Der Informationsmanager 20 überträgt die Hilfsanfrage zum geeigneten Zeitpunkt, entweder sofort oder zum eingeteilten Zeitpunkt, zum Versender 21. Der Versender 21 identifiziert als Antwort auf das Empfangen einer Hilfsanfrage vom Informationsmanager 20 ein Zugriffsmodul 12 für die Verarbeitung der Hilfsanfrage und überträgt die Hilfsanfrage zu diesem Zugriffsmodul 12.
  • Das Zugriffsmodul 12 fährt als Antwort auf den Empfang einer Hilfsanfrage vom Versender 21 mit der Verarbeitung der Anfrage fort. Es kann als Antwort auf die Hilfsanfrage eine oder mehrere Operationen in Verbindung mit dem Objekt des dadurch gesteuerten komplexen Systems einleiten. Wenn die Hilfsanfrage erfordert, dass das Zugriffsmodul 12 den Zustand oder die Bedingung des Objekts ändert, versucht es dies durchzuführen und erzeugt eine Antwort, die Statusinformationen enthält, die den Status des Versuchs anzeigen, d. h. ob z. B. die Änderung erfolgreich, erfolglos oder teilweise erfolgreich war. Wenn andererseits die Hilfsanfrage erfordert, dass das Zugriffsmodul 12 den Zustand oder die Bedingung des Objekts feststellt, erzeugt es eine Antwort, die den Zustand oder die Bedingung des Objekts angibt. Wenn schließlich die Hilfsanfrage erfordert, dass das Zugriffsmodul 12 beides durchführt, versucht es den Zustand oder- die Bedingung des Objekts zu ändern und erzeugt eine Antwort, die den Status des Versuchs sowie den neuen Zustand oder die neue Bedingung des Objekts angibt. In jedem Fall sendet das Zugriffsmodul 12 die Antwort zum Versender 21, der sie zu dem Funktionsmodul 11 überträgt, das die Anfrage erzeugt hat. Das Funktionsmodul 11 verwendet nach Bedarf die Antwort vom Zugriffsmodul 12 bei der Formulierung seiner Antwort auf eine Anfrage vom Versender 16 oder auf eine Hilfsanfrage von einem weiteren Funktionsmodul 11.
  • Nach dem Empfang einer Hilfsanfrage von weiteren Funktionsmodulen 11 verarbeitet ein Funktionsmodul 11 dieselbe in der gleichen Weise wie sie eine Anfrage vom Versender 21 verarbeitet.
  • H. VORTEILE
  • Die in 1A gezeigte Steueranordnung bietet mehrere Vorteile. Die Steueranordnung bildet im wesentlichen eine Verarbeitungskette, wobei jedes Objekt längs der Kette versucht, eine Anfrage zu verarbeiten, bevor sie diese zum nächsten Objekt weiterleitet. Wenn somit der Informationsmanager 15, 20 die Anfrage auf der Grundlage der Inhalte des zugehörigen Datenspeicherobjekts 17, 22 verarbeiten kann, ohne dass eine weitere Verarbeitung durch ein weiteres Objekt weiter unten in der Kette erforderlich ist, tut er dies.
  • Ferner ist die Steueranordnung erweiterbar, so dass leicht zusätzliche Darstellungsmodule 10, Funktionsmodule 11 und Zugriffsmodule 12 hinzugefügt werden können, wie im folgenden beschrieben wird, ohne die Architektur der Steueranordnung zu ändern. Das Hinzufügen von Funktionsmodulen 11 und Zugriffsmodulen 12 geschieht mittels einer Anmeldeprozedur, die im folgenden in Verbindung mit 5 beschrieben wird. Hinzufügungen oder Löschungen von Modulen 10, 11 oder 12 können durchgeführt werden, indem lediglich, wie im folgenden beschrieben, die Inhalte bestimmter Datenstrukturen im Datenspeicherobjekt 17, 22 und in anderen Datenstrukturen, die von den Darstellungsmodulen 10 gehalten werden, modifiziert werden, wie in 5 gezeigt ist.
  • Außerdem erleichtert die modulare, erweiterbare Eigenschaft der Steueranordnung das Management der Steueranordnung selbst. Die gleichen Versende- und Anfragebeispiele, die zum Ausgeben von Managementdirektiven an das komplexe System verwendet, worden sind, können auch zum Ausgeben von Kommandos an die Managementmodule selbst verwendet werden. Dies beseitigt den Bedarf an einer zusätzlichen Managementanwendung, um die Steueranordnung selbst zu managen.
  • Da ferner die Funktionen der Module in einem Normformat spezifiziert sind und der Steueranordnung insgesamt zur Verfügung stehen, kann die Steueranordnung eine volle Benutzerschnittstellenunterstützung für die Module bieten, wodurch die Modulentwickler von der Last der Unterstützung einer Benutzerschnittstelle für jedes Modul befreit werden. Dieser Typ einer "automatischen" Benutzerschnittstellenunterstützung garantiert ferner ein einheitliches Erscheinungsbild und eine einheitliche Handhabung der Benutzerschnittstelle unabhängig von der Quelle oder der Art der verwendeten Managementmodule.
  • Es wird angenommen, dass dann, wenn die Steueranordnung verwendet wird, um ein verteiltes digitales Datenverarbeitungssystem zu steuern, diese einschließlich ihrer verschiedenen Objekte mehrere Routinen umfassen kann, die von den verschiedenen Knoten und Computern, die das verteilte digitale Datenverarbeitungssystem enthält, verarbeitet werden können; d. h. es sind keine Computereinrichtungen zusätzlich zu denjenigen, die das gesteuerte verteilte digitale Datenverarbeitungssystem enthält, erforderlich, um die Module zu verarbeiten, die die Steueranordnung enthält, um das verteilte digitale Datenverarbeitungssystem zu steuern. Es können herkömmliche Prozeduraufrufmechanismen, Zwischenprozesskommunikationsmechanismen und Zwischenknotenkommunikationsmechanismen verwendet werden, um Nachrichten einschließlich Anfragen, Hilfsanfragen und Antworten zwischen den verschiedenen Abschnitten der Steueranordnung zu übertragen, die sich in unterschiedlichen Abschnitten des gleichen Prozesses, in unterschiedlichen Prozessen im gleichen Knoten und in unterschiedlichen Knoten befinden können. Wenn sich die Module in unterschiedlichen Prozessen im gleichen Knoten oder in unterschiedlichen Knoten befinden, werden Zwischenprozess- und Zwischenknotenkommunikationsmechanismen verwendet, wie in 6 gezeigt und im folgenden beschrieben, um Anfragen und Hilfsanfragen sowie Antworten zwischen den verschiedenen Prozessen und Knoten zu übertragen.
  • I. OBJEKTMODELL
  • Vor einer Fortsetzung ist es nützlich, die Beziehung zwischen der in 1A gezeigten Steueranordnung und dem gesteuerten komplexen System genauer zu beschreiben. Genauer umfasst die Steueranordnung, wie in 2A gezeigt, einen Direktor 35, der alle Darstellungsmodule 10, die Funktionsmodule 11 und die Zugriffsmodule 12 gemeinsam mit dem Kern 13, 14 enthält. Das komplexe System enthält ein oder mehrere Objekte 36. Jedes Objekt 36 enthält ein Dienstelement 31, eine Managementschnittstelle 30 und eine Dienstschnittstelle 33. Die Managementschnittstelle steuert und überwacht das Dienstelement über einen Agenten 34. Das Dienstelement ist der wirklich gemanagte Abschnitt des Objekts 36 und stellt, die Primärfunktion oder die Funktion des Objekts zur Verfügung. Das heißt, das Dienstelement 31 führt die Funktion des Objekts durch, die innerhalb des Kontextes des verteilten digitalen Datenverarbeitungssystems benötigt wird. Wenn z. B. das Objekt für einen Knoten die Kommunikation über ein Netz bewerkstelligt, führt das Dienstelement 31 die Kommunikation durch.
  • Wie oben erwähnt ist, wird das Dienstelement 31 mittels eines Agenten gemanagt, der mit dem Direktor, genauer mit den Zugriffsmodulen 12, über die Managementschnittstelle 30 und die Dienstschnittstelle 33 kommuniziert. Die Kommunikation über die Managementschnittstelle 30 erleichtert das Ein- oder Ausschalten des Dienstelements 31 sowie dessen Initialisierung und ermöglicht ferner, dass der Direktor 35 den Betriebsstatus des Objekts 36 ermittelt. Die Kommunikation über die Dienstschnittstelle 33 ermöglicht dem Direktor 35, das Dienstelement 31 auf andere Weise zu steuern und zu überwachen, indem er z. B. die Bedingungen ausgewählter Attribute einrichtet, wie z. B. der Kommunikationsparameter im Fall eines Objekts 36, das die Kommunikation bewerkstelligt, im Kontext der Steuerung des Objekts 36, oder indem er die Werte von Zählern im Kontext der Überwachung des Objekts 36 ermittelt.
  • Das Management eines Systems ist gekennzeichnet durch die Direktiven, die es unterstützt, sowie durch seine Attri bute, die weitestgehend jene Parameter sind, die sich auf seine Funktion und Steuerung beziehen und die den Direktiven zugeordnet sind. Wenn z. B. das Objekt eine Leitvorrichtung ist, die Datenpakete über ein verteiltes Datenverarbeitungsnetz weiterleitet, können die Attribute der Leitvorrichtung die Anzahl der gesendeten Pakete und die Anzahl der gesendeten Bytes enthalten. Wenn das Objekt ein Modem ist, können die Attribute die Zähler- und Statusregister enthalten, die sich auf die Modemoperation beziehen. Beispiele von Direktiven umfassen SHOW, die Attributwerte wiedergewinnt, sowie SET, die Attributwerte modifiziert.
  • Die Dienstschnittstelle bezieht sich auf die Funktion des Objekts, während sich die Managementschnittstelle auf die Operation des Agenten bezieht. Die Direktiven und Attribute, auf die über die Dienstschnittstelle zugegriffen wird, charakterisieren die Funktion des Objekts, während die Direktiven und Attribute, auf die über die Managementschnittstelle zugegriffen wird, die Steuerung und Überwachung des Objekts charakterisieren.
  • Um die Rollen der beiden Schnittstellen zu verdeutlichen und um ein Beispiel zu zeigen, wie das obenerwähnte Modell auf ein bestimmtes Objekt angewendet wird, sei ein steuerbares Objekt betrachtet, das ein Modem ist. Das Modem kann mehrere Funktionsattribute aufweisen, wie z. B. die Baud-Rate, die Leitungsauswahl sowie die Leistungsschaltereinstellung. Außerdem kann das Modem mehrere Managementattribute auf weisen, wie z. B. die prozentuale Ausnutzung seiner Leitungen sowie die Zeitspanne, die seit dem letzten Selbsttest verstrichen ist. Die Baud-Rate, die Leitungsauswahl und die Leistungsschaltereinstellung beziehen sich auf die unmittelbare Operation des Modems, weshalb hierauf über die Dienstschnittstelle zugegriffen wird. Die prozentuale Leitungsausnut zung und die verstrichene Zeitspanne seit dem letzten Selbsttest beziehen sich auf die allgemeine Operation des Modems, weshalb hierauf über die Managementschnittstelle zugegriffen wird.
  • Um das obige Beispiel weiter zu vertiefen, ist zu beachten, dass die Darstellungsmodule während der Darstellung der Managementinformationen auf einer Darstellungsvorrichtung die Dienstschnittstelle der Darstellungsvorrichtung verwenden, da die Darstellung der Informationen der Hauptdienst der Darstellungsvorrichtung ist. Ein Zugriffsmodul in der Steueranordnung kann jedoch ebenfalls die Darstellungsvorrichtung managen, indem es z. B. diese abruft, um zu ermitteln, ob sie eingeschaltet ist.
  • Zusätzlich zu den obenbeschriebenen Attributen gibt es andere "Pseudoattribute", die sich auf das Objekt beziehen, jedoch nicht vom Objekt als solches gespeichert werden. Pseudoattribute sind im allgemeinen Attribute, die von der Objektmodellbeschreibung benötigt werden, jedoch nicht vom Objekt geliefert werden. Ein Beispiel ist das Attribut IMPLEMENTATION, das die Synthese aus den Attributen IMPLEMENTATION TYPE und VERSION, die vom Objekt geliefert werden, und der CREATION TIME des Objekts sein kann. Pseudoattribute werden von dem Zugriffsmodul gehalten, das für den Zugriff auf das Objekt verantwortlich ist.
  • An diesem Punkt ist zu beachten, dass das Objektmodell ein verallgemeinertes Verfahren zur Beschreibung von Direktiven und Attributen eines Objekts ist und keine Struktur innerhalb des Objekts selbst angibt. Das Objektmodell ist ein Werkzeug, das der Steueranordnung ermöglicht, in einer konsistenten Weise auf die Operationen und Attribute irgend eines beliebigen Objekts Bezug zu nehmen. Ein beliebiges Objekt kann in die Steueranordnung der 1A "einsetzt" und von derselben gemanagt werden, indem (1) es konsistent zum Objektmodell beschrieben wird, (2) ein geeignetes Zugriffsmodul implementiert wird und (3) das Zugriffsmodul in die Steueranordnung eingesetzt (angemeldet) wird.
  • J. MANAGEMENT DER MANAGEMENTMODULE
  • Wie oben erwähnt worden ist, werden in einer Steueranordnung, die ein verteiltes digitales Datenverarbeitungssystem steuert, die verschiedenen Darstellungsmodule 10, Funktionsmodule 11, Zugriffsmodule 12 und der Kern 13, 14 von verschiedenen Knoten verarbeitet, die im verteilten digitalen Datenverarbeitungssystem enthalten sind. In diesem Fall bilden die verschiedenen Module 10, 11 und 12 und der Kern 13, 14 Objekte im komplexen System und können in der gleichen Weise gesteuert werden wie andere Objekte, wie oben beschrieben worden ist.
  • Die Versende- und Anfragebeispiele, die verwendet werden, um Managementdirektiven an das komplexe System auszugeben, werden ebenfalls verwendet, um Kommandos an die Managementmodule selbst auszugeben. Wie aus den folgenden Versendespezifikationen deutlich wird, enthält jedes Modul zusätzlich zu den Managementroutinen zum Managen des komplexen Systems selbst Managementroutinen, die die internen Attribute des Moduls manipulieren. Sowohl auf die externen als auch auf die internen Routinen kann unter Verwendung der Anfragesyntax mittels Anfragen zugegriffen werden. Da die Fähigkeiten zum Management des komplexen Systems durch das Hinzufügen neuer Steuermodule verbessert werden, werden daher die Fähigkeiten zum Management der Steueranordnung in ähnlicher Weise erhöht.
  • GENAUE BESCHREIBUNG
  • A. MANAGEMENTMODULSTRUKTUR
  • 1. Überblick
  • Wie in 2B gezeigt, umfasst die Struktur eines Managementmoduls in einer bestimmten Ausführungsform einen ausführbaren Code 38, der die vom Modul zur Verfügung gestellten Managementfunktionen implementiert. Genauer enthält der ausführbare Code für ein Zugriffsmodul die Zugriffsprotokolle für die Objektklassen, die vom Zugriffsmodul bedient werden. Für ein Funktionsmodul enthält der ausführbare Code Befehle zum Berechnen der Funktionen höherer Ebene, die vom Modul zur Verfügung gestellt werden. Für ein Darstellungsmodul enthält der ausführbare Code die Schnittstellenprotokolle für die vom Darstellungsmodul unterstützten Darstellungsvorrichtungen.
  • Das Modul kann einen Privatspeicher erfordern, um verschiedene Nur-Lese- oder Lese/Schreib-Variablen zu speichern, die sich auf die Funktion des Moduls beziehen. Dieser Speicher wird dem Modul als zugewiesener Bereich 32 zur Verfügung gestellt. Dieser Speicher kann z. B. von einem Darstellungsmodul verwendet werden, um Prüftabellen oder Darstellungsformdaten zu speichern, oder kann von einem Zugriffsmodul verwendet werden, um Passwort-Informationen in einer Stellvertreterzeichen-Anfrage zu speichern (siehe unten).
  • Die Zugriffspunkte der verschiedenen von den Zugriffsmodulen zur Verfügung gestellten Prozeduren werden durch Zeiger in den Versendeeinträgen 39A und 39B angegeben. Wie später genauer beschrieben wird, werden die Versendeeinträge in die im Kernspeicher 17, 22 gespeicherte Versendetabelle eingefügt und verwendet, um die verschiedenen Prozeduren zu lokalisieren, die das Modul unterstützt. Wie in 2B gezeigt, beziehen sich die Versendezeiger 39A auf die Prozeduren im Modul, die Managementdienste für das komplexe System zur Verfügung stellen, während sich die Versendezeiger 39B auf die Prozeduren im Modul beziehen, die Managementdienste für das Modul selbst zur Verfügung stellen. Wie oben beschrieben worden ist, werden dann, wenn das Modul in der Steueranordnung angemeldet wird, beide Sätze von Zeigern in den Kernspeicher geladen, um sie beim Management des komplexen Systems oder der in der Steueranordnung enthaltenen Module zu verwenden.
  • Zusätzlich zur obenerwähnten Struktur ist dem Modul eine Managementspezifikation 48 zugeordnet, die die Klassen von Objekten und Attributen beschreibt, die vom Modul bedient werden, sowie die Direktive und die Antwortstruktur für anfragende Dienste vom Modul. Die Managementspezifikation spezifiziert ferner das Management des Moduls selbst. Während der Anmeldung eines Moduls wird die zugehörige Managementspezifikation in das Datenverzeichnis geladen.
  • 2. Managementspezifikation
  • Die Eigenschaften, die Zusammensetzung und die Struktur des Dienstelements 31 und der Dienstschnittstelle 33 der Objekte des von der Steueranordnung (1A) gemanagten komplexen Systems sowie die verschiedenen Objekte, die die Steueranordnung enthält, werden definiert durch eine Managementspezifikation und eine Versendespezifikation. Die 3A bis 3D zeigen die Managementspezifikation für ein Objekt genauer, wobei 3E eine Versendespezifikation definiert, die beim Einleiten einer bestimmten Operation in Verbindung mit dem Objekt verwendet wird. Wie in 3A gezeigt, enthält die Managementspezifikation für ein Objekt einen Vorspannabschnitt 40 und einen Hauptabschnitt 45. Der Vorspannabschnitt 40 enthält bestimmte Identifikationsinformationen wie z. B. ein Namensfeld 41, das einen Namen enthält, der das Objekt identifiziert, ein Versionsfeld 42, das eine Versionsidentifikation enthält, ein Vorrichtungsfeld 43, das Lokalisierungsinformationen enthält, die den Ort des Objekts innerhalb des komplexen Systems angeben (z. B. die Identifikation des Knotens, wenn das komplexe System ein verteiltes digitales Datenverarbeitungssystem ist), sowie ein Typdeklarationsfeld 44, das ausgewählte Datentypinformationen angibt.
  • In einer alternativen Ausführungsform kann der Vorspannabschnitt ferner ein Symbol-Präfixfeld enthalten, das in Verbindung mit dem Symbolfeld 52 verwendet wird, wie im folgenden beschrieben wird.
  • Der Hauptabschnitt 45 der Managementspezifikation enthält die wirkliche Managementspezifikation für das Objekt. Der Hauptabschnitt 45 ist in 3A genauer definiert. Vorweggenommen enthält die Steueranordnung zwei allgemeine Typen von Objekten, nämlich ein globales Objekt und ein Hilfsobjekt. Die Steueranordnung erleichtert eine Hierarchie von Objekten, wie oben definiert, wobei das globale Objekt in der Hierarchie ein Objekt der obersten Ebene identifiziert und ein Hilfsobjekt ein Objekt identifiziert, das in der Hierarchie einem weiteren Objekt untergeordnet ist. Der Hauptabschnitt 45 einer Managementspezifikation enthält einen dieser zwei Typen von Objektdefinitionen, d. h. eine Definition 45A für ein globales Objekt oder eine Definition 45C für ein untergeordnetes Objekt.
  • Ein Managementmodul kann Dienste einer globalen Klasse von Objekten oder einer Klasse von Hilfsobjekten innerhalb einer globalen Objektklasse zur Verfügung stellen. Ein bestimmtes Beispiel tritt in der DECnet-Phase-IV auf, die von der Digital Equipment Corporation, Maynard, Massachusetts, vertrieben wird; in der DECnet-Phase-IV ist Adjacent Node eine untergeordnete Objektklasse, deren übergeordnete Objektklasse Node4 Circuit ist. Wenn ein Managementmodul Dienste speziell der untergeordneten Objektklasse Adjacent Node bereitstellt, muss die Managementspezifikation einen Mechanismus bereitstellen, der anzeigt, dass die Managementspezifikation für die globale Klasse in der Managementspezifikation für ein weiteres Modul (das die Klasse Node4 Circuit managt) enthalten ist.
  • Die Definition 45A und 45C für ein globales bzw. Untergeordnetes Objekt sind in den 3A bis 3D genauer definiert. Eine Objektdefinition 46 enthält ein Namensfeld 47, das einen Namen und einen Code enthält, mit denen das Objekt identifiziert werden kann. Außerdem identifiziert das Namensfeld 47 das Objekt als ein globales oder untergeordnetes Objekt und identifiziert einen Klassennamen für das Objekt. Wenn die Objektdefinition für ein untergeordnetes Objekt gilt, besitzt sie ein Überordnungsfeld 50, das die übergeordneten Objekte in der Hierarchie identifiziert. Ein Identifiziererfeld 51 enthält eine Liste von Attributnamen für Attribute, die später in einem Objekthauptabschnitt 53 definiert werden. Schließlich enthält ein Symbolfeld 52 ein Symbol, das verwendet wird, um eine spezifische Compilerkonstantendatei zu erzeugen, die konsistente Namen zur Verwendung durch einen Objektentwickler enthält.
  • In einer alternativen Ausführungsform kann ein DYNAMIC-Feld in der Objektdefinition enthalten sein. Dieses Feld kann die Werte WAHR oder FALSCH enthalten und zeigt an, ob die Managementspezifikation für das Objekt in der Konfigurationsdatenbank gespeichert werden soll (1B).
  • Dies bietet dem Managementmodulentwickler eine Möglichkeit, genau anzugeben, welche untergeordneten Objektinstanzen in der Konfigurationdatenbank gespeichert werden sollen. Auf diese Weise müssen Objekte wie z. B. die Verbindungen zwischen Knoten, die sehr dynamisch sind, nicht in der Konfiguration des Systems gespeichert werden. Dies beseitigt den Verwaltungsaufwand, der durch wiederholtes Hinzufügen und Entfernen dynamischer Instanzen verursacht wird. Der boolesche Wert des DYNAMIC-Feldes zeigt an, ob die Objektklasse dynamischer Art ist; falls WAHR, werden die Instanzen der Objektklasse nicht in der Konfiguration gespeichert, falls FALSCH, werden die Instanzen der Objektklasse in der Konfiguration gespeichert.
  • Wie oben erwähnt ist, enthält eine Objektdefinition 46 für ein Objekt einen Hauptabschnitt 53. Der Hauptabschnitt 53 ist in 3B. genauer definiert. Wie in 3B gezeigt, enthält der Hauptabschnitt 53 einer Managementspezifikation vier Abschnitte, nämlich eine Attributpartitions-Definitionsliste 54, eine Häufungsdefinitionsliste 55, eine Direktivendefinitionsliste 56 und eine Unterordnungsobjektliste 57, falls die Objektklasse irgendwelche untergeordneten Objekte enthält. Wenn der Hauptabschnitt 53 eine Unterordnungsobjektliste 57 enthält, umfasst jeder Eintrag in der Unterordnungsobjektliste 57 eine Objektdefinition 46 (3A), wobei das Namensfeld 47 "SUBORDINATE" enthält.
  • Wie oben erwähnt, enthält der Hauptabschnitt eine Attributpartitionsliste 54 und eine Attributhäufungsliste 55. An diesem Punkt ist es nützlich, den Unterschied zwischen diesen Listen zu erläutern. Jede Liste nimmt den vollen Satz von Attributen des Objekts und ordnet jedes Attribut einer oder mehreren Gruppen zu; die von der Partitionsliste 54 angegebenen Gruppierungen sind unabhängig von denjenigen, die von der Häufungsliste angegeben werden – jede Liste ist eine unabhängige Charakterisierung der Attribute des Objekts.
  • Die Partitionsliste 54 identifiziert und gruppiert alle Attribute mit ähnlicher Form; z. B. kann eine Attributpartition alle Zähler oder alle Statusattribute (Merker) enthalten. Das Wort "Partition" wird verwendet, um anzuzeigen, das die von den Attributpartitionen gebildeten Gruppen echte Partitionen der Attribute sind – kein Attribut kann Objekt zweier Partitionen sein und jedes Attribut muss ein Objekt von genau einer Partition sein.
  • Die Häufungsliste 55 identifiziert und gruppiert alle Attribute mit ähnlicher Funktion. Zum Beispiel kann ein Zugriffsmodul für eine NODE4-Globalobjektklasse eine Attributhäufung mit dem Namen "SQUERGE" definieren. Die Attributhäufung SQUERGE kann alle Attribute enthalten, die sich auf die aktuelle Operationsleistung eines NODE4-Klasse-Objekts beziehen, z. B. ein Zählertypattribut, das die Anzahl der gesendeten Bytes angibt, und ein Charakteristiktyp-Attribut, das die Pipelinequote angibt. In diesem Beispiel kann ein Benutzer anschließend diese Statistiken mit z. B. dem folgenden Kommando betrachten:
    SHOW NODE <instance> ALL SQUERGE
  • Das Wort "Häufung" wird verwendet, um anzuzeigen, dass Häufungen Attribute mit ähnlicher Funktion enthalten, jedoch nicht unbedingt Partitionen der Attribute bilden. Ein Attribut kann ein Objekt mehrerer Häufungen sein, wobei nicht alle Attribute ein Mitglied einer Häufung sein müssen.
  • Die Attributpartitions-Definitionsliste 54 enthält eine oder mehrere Attributdefinitionen 64, wie sie in 3B genauer definiert sind. Jede Attributpartitions-Definition 64 enthält ein Art-Feld 56, das- das Attribut einem bestimmten Typ zuordnet, einschließlich eines Identifizierertyp-Attributs, eines Statustyp-Attributs, eines Zählertyp-Attributs, eines Charakteristiktyp-Attributs, eines Referenztyp-Attributs oder eines Statistiktyp-Attributs. Für jeden Attributtyp wird der Datentyp mittels eines angehängten Feldes 68 angegeben. Die Attributpartitions-Definition 54 kann ferner Felder 60 und 61 enthalten, die jeweils eine Vorgabe-Abrufrate und eine Maximalabrufrate für das Objekt angeben. Wie oben erwähnt ist, kann ein Historiedatenaufzeichnungs-Funktionsmodul 11 periodisch Status- und Bedingungsinformationen zum Speichern im Datenspeicherobjekt 17, 22 in Verbindung mit den verschiedenen Objekten, die das komplexe System umfasst, enthalten. Die Inhalte der Abrufratenfelder identifizieren die Vorgaberate und die Maximalrate, mit der die entsprechenden Objekte Status- und Bedingungsinformationen liefern. Zusätzlich enthält eine Attributdefinition ein oder mehrere Attributfelder 62, die jeweils einen Attributnamen 63, der einen Code enthält, mit dem auf das Attribut zugegriffen werden kann, und einen zugehörigen Attributkörper 64 enthalten.
  • Alle Definitionen für Attribute, die Objekte einer Partition sind, befinden sich innerhalb einer Partitionsdefinition 54, wie sie oben angegeben ist. Die unabhängigen Aspekte der Attribute werden von einer oder mehreren Attributkörperdefinitionen 64 angegeben. Die 3B beschreibt die in einem Attributkörper 64 in einem Attributfeld in einer Attributpartitionsdefinition 55 enthaltenen Informationen genauer. Ein Attributkörper 64 kann eine Anzahl von Feldern enthalten, einschließlich eines Zugriffsinformationsfeldes 65, das angibt, ob das Attribut gelesen oder geschrieben werden kann, sowie eines Anzeigefeldes 66, das angibt, ob das Attribut einem Opera tor mittels eines Darstellungsmoduls 10 angezeigt werden soll. Ein Vorgabewertfeld 67 identifiziert eine Vorgabe oder einen Anfangswert für das Attribut. Ein Symbolfeld 70 enthält ein Symbol, das verwendet wird, um eine spezifische Compilerkonstantendatei zu erzeugen, die konsistente Namen für die Verwendung durch einen Objektentwickler enthält.
  • Ein Attributkörper 64 enthält ferner ein Kategorienfeld 71, das eine oder mehrere Kategorien identifiziert, denen das Attribut zugeordnet werden kann. Wenn das komplexe System ein verteiltes digitales Datenverarbeitungssystem ist, können die Kategorien Kategorien umfassen, die durch die 74-98-4-Open-Systems-Interconnect-(OSI)-Norm definiert sind und die CONFIGURATION, FAULT, PERFORMANCE, SECURITY oder ACCOUNTING enthalten, müssen jedoch nicht hierauf beschränkt sein. Außerdem kann der Attributkörper 64 Abrufrateninformationen in den Feldern 72 und 73 enthalten, wenn sich die Abrufraten für das bestimmte Attribut, die vom Attributkörper 64 definiert werden, von den Abrufraten unterscheiden, die in den Feldern 60 und 61 in der Attributpartitions-Definition 54 definiert sind. Schließlich kann der Attributkörper 64 ein Privatvariablenfeld 74 enthalten, das Privatvariablen identifiziert, die im Managementmodul bei der Verarbeitung in Bezug auf das Attribut verwendet werden.
  • In einer alternativen Ausführungsform können die Abrufrateninformationen in den Attributdefinitionen aufgrund der implementationsspezifischen Eigenart dieser Daten vollständig weggelassen werden. Außerdem kann in alternativen Ausführungsformen ein UNITS-Feld im Attributkörper 64 enthalten sein. Wenn ein UNITS-Feld enthalten ist, können (und sollten) die Einheiten der numerischen Datentypen definiert sein.
  • Attribute können gehäuft werden, um das Management des komplexen Systems zu vereinfachen. Der Häufungsdefinitionsabschnitt 55 des Objektkörpers 53 identifiziert eine oder mehrere Häufungen, die das Objekt enthalten. Die Inhalte eines Häufungsdefinitionsabschnitts 55 sind in 3B genauer definiert. Ein Häufungsdefinitionsabschnitt 55 enthält ein Häufungsnamensfeld 75, das die Häufung identifiziert, sowie eine Attributliste 81, die die in der Häufung enthaltenen Attribute identifiziert. Ein Häufungsdefinitionsabschnitt 55 kann ferner eine Liste von Direktiven enthalten, d. h. Anfragen, die mit Bezug auf die Häufung verarbeitet werden können. Ein Häufungsdefinitionsabschnitt 55 kann ein Symbolfeld 77 ähnlich dem obenbeschriebenen Symbolfeld, ein Kategorienfeld 80, das OS1-Kategorie-Informationen enthalten kann, jedoch nicht darauf beschränkt ist, sowie ein Privatvariablenfeld 82 enthalten, das Privatvariablen definiert, die bei der Verarbeitung bezüglich der Attribute verwendet werden, die in der durch den Häufungsnamen im Feld 75 identifizierten Häufung enthalten sind.
  • Ein Objekt verarbeitet Direktiven, die von der Steueranordnung als Antwort auf die Anfragen und Hilfsanfragen von einem Darstellungsmodul 10 bzw. einem Funktionsmodul 11 erzeugt worden sind. Jede Direktive enthält eine Direktivenanfrage, die eine durchzuführende Operation definiert, und kann eine Antwort und eine Ausnahme enthalten, die Antworten definiert, die das Objekt in Verbindung mit der Operation erzeugen kann. Jede Direktive ist durch eine Direktivendefinition 56 definiert. Die 3C und 3D zeigen die Strukturen einer Direktivendefinition 56 genauer. Wie in 3C gezeigt, enthält eine Direktivendefinition 56 ein Namensfeld 83, das einen Code enthält, mit dem die Direktive identifiziert werden kann und auf dieselbe zugegriffen werden kann. Eine Direktive enthält ein Anfragedefinitionsfeld 90, das die Struktur einer Anfrage oder Hilfsanfrage identifiziert, ein Antwortdefinitionsfeld 91, das die Struktur einer Antwort definiert, sowie ein Ausnahmedefinitionsfeld 92, das die Struktur einer Ausnahme definiert, die während der Verarbeitung der Direktive erzeugt werden kann. Die Einzelheiten der Felder 90, 91 und 92 werden im folgenden beschrieben.
  • Eine Direktivendefinition 56 kann ferner ein Feld 84 enthalten, das angibt, ob die Direktive eine Aktionsdirektive ist, d. h. ob sie eine Veränderung der Bedingung oder des Zustands einer oder mehrerer Objekte im komplexen System ermöglicht, oder ob sie lediglich die Rückgabe von Status- oder Bedingungsinformationen einleitet. In einer alternativen Ausführungsform kann das Aktionsfeld 84 durch ein Feld DIREKTIVE_TYPE ersetzt sein, das angibt, ob die Direktive den Typ EXAMINE, MODIFY oder ACTION auf weist. Eine Direktive EXAMINE bearbeitet nur Attribute und modifiziert nichts; Beispiele sind die Direktiven SHOW oder DIRECTORY. Eine Direktive MODIFY bearbeitet nur Attribute und modifiziert nichts; Beispiele sind die Direktiven SET, ADD oder REMOVE. Eine Direktive ACTION bearbeitet keine Attribute, statt dessen bearbeiten die Direktiven ACTION das Objekt selbst; Beispiele sind die Direktiven CREATE und TEST.
  • Es kann ein Feld 85 vorgesehen sein, um anzuzeigen, ob auf die Direktive durch ein Darstellungsmodul 10 zugegriffen werden kann. Eine Identifizierungstextkette kann in einem Symbolfeld 86 vorgesehen sein. Außerdem kann ein Kategorienfeld 87 ein oder mehrere OSI-Kategorien definieren, muss jedoch nicht hierauf beschränkt sein, wie oben in Verbindung mit Feld 71 definiert ist (3B).
  • Die Struktur des Anfragedefinitionsfeldes 90 in einer Direktivendefinition 56 ist in 3C definiert. Zusätz lich zum Wort "ANFRAGE", kann das Anfragedefinitionsfeld 90 null oder mehr Argumente 91 enthalten, die jeweils durch ein Namensfeld 92 identifiziert werden, das einen Zugriffscode enthält. Außerdem kann ein Argument ein Anzeigefeld 93 enthalten, das angibt, ob das Objekt mittels eines Darstellungsmoduls 10 einem Operator angezeigt werden soll. Das Argument kann ferner das Feld 94, das angibt, ob ein Operator einen Wert für das Argument angeben muss, ein Vorgabefeld 96, das einen Vorgabewert enthält, ein Symbolfeld 97, das eine Identifizierungstextkette enthält, sowie ein Einheitenfeld 95 enthalten, das die Maßeinheiten der Argumentwerte identifiziert. Außerdem kann das Argument 91 ein Privatvariablenfeld 100 enthalten, das die Privatvariablen identifiziert, die bei der Verarbeitung in Verbindung mit dem Argument verwendet werden.
  • Die Struktur eines Antwortdefinitionsfeldes 91 und eines Ausnahmedefinitionsfeldes 92 sind in 3D gezeigt. Wie in 3D gezeigt, enthält ein Antwortdefinitionsfeld 91 ein Antwortnamensfeld 101, das ferner einen Code enthält, mit dem auf die Antwort zugegriffen werden kann. Ein Gewichtungsfeld gibt an, ob die Antwort ERFOLG bei der Durchführung der durch das Anfragefeld 90 definierten Anfrage anzeigt, oder ob die Antwort INFORMELL ist. Ein Textfeld 103 gibt eine Textkette an, die das Darstellungsmodul 10 einem Operator anzeigen kann, um die Antwort anzuzeigen. Außerdem kann ein Antwortdefinitionsfeld ein oder mehrere Argumentfelder 104 enthalten, die jeweils ein Namensfeld 105, ein Einheitenfeld 106 und ein Symbolfeld 107 umfassen.
  • In alternativen Ausführungsformen kann das GEWICHTÜNGS-Feld 102 durch ein SYMBOL-Feld ersetzt sein, das eine Identifizierungstextkette für die Antwort enthält, wobei das ARGUMENTE-Feld 104 ein boolesches ANZEIGE-Feld ent halten kann, um anzuzeigen, ob die Antwort dem Benutzer angezeigt werden soll.
  • Die Struktur des Ausnahmedefinitionsfeldes 92 ist derjenigen des Antwortdefinitionsfeldes 91 ähnlich und enthält die Felder 111 bis 117, die den Feldern 101 bis 107 des Antwortdefinitionsfeldes 21 entsprechen. Das Gewichtungsfeld 112 kann jedoch drei Variablen enthalten, einschließlich WARNUNG, FEHLER und FATAL, die die Schwere des Fehlers anzeigen, der die Ausnahme hervorgerufen hat.
  • Wie in der Antwortdefinition 91 kann in alternativen Ausführungsformen das GEWICHTUNGS-Feld 112 durch ein SYMBOL-Feld ersetzt sein, das eine Identifizierungstextkette für die Antwort enthält, während das ARGUMENTE-Feld 114 ein boolesches ANZEIGE-Feld enthalten kann, um anzuzeigen, ob die Antwort dem Benutzer angezeigt werden soll.
  • 3. Versendespezifikation
  • 3E definiert eine Versendespezifikation 39A (2B), die beim Definieren der Einleitung bestimmter Operationen durch ein Objekt verwendet wird. Die Informationen in den Versendespezifikationen für ein Objekt werden verwendet, um Zeiger und Prozeduren zur Durchführung der Operationen zu erzeugen. Wie in 3E gezeigt, enthält die Versendespezifikation einen Vorspann 200, der den Anfang der Versendespezifikation definiert und einen Tabellennamen enthält, sowie eine Fußzeile 201, die das Ende der Versendespezifikation definiert. Zwischen dem Vorspann 200 und der Fußzeile 201 enthält die Versendespezifikation einen oder mehrere Versendeeinträge 202, von denen jeder eine Operation in Verbindung mit einem oder mehreren Objekten und Attributen definiert.
  • Der Versendeeintrag enthält einen Befehlswortabschnitt 203 und einen Objekteintrag 204, die gemeinsam eine Operation identifizieren. Effektiv entsprechen der Befehlswortabschnitt 203 und der Objektabschnitt 204 des Versendeeintrags einer vom Management definierten Direktive. Direktiven können entweder Objekte oder Attribute, die durch einen Attributabschnitt 205 des durch einen Objekteintrag 204 definierten Objekts definiert sind, bearbeiten. Die Inhalte des Objekteintrags 204 entsprechen einem Objekt oder Unterobjekt, das durch eine Objektklasse und einen Instanzennamen in den Namensfeldern 47 und 50 der Objektdefinition 46 identifiziert ist. In ähnlicher Weise entsprechen die Inhalte des Attributabschnitts 205 den Attributen, die durch das Namensfeld 62 der Attributdefinition 254 des Objektkörpers 53 der Objektdefinition 46 definiert sind.
  • Der Versendeeintrag 202 enthält ferner einen Prozedurzeigerabschnitt 206, der einen Zeiger auf einen Einsprungpunkt in eine Prozedur in einem Zugriffsmodul, das eine Direktive verarbeitet, in Verbindung mit dem Objekt und den Attributen enthält, die in den Abschnitten 203, 204 und 205 des Versendeeintrags 202 identifiziert sind. Wie im folgenden in Verbindung mit den 5, 7A und SB beschrieben wird, wird die Versendespezifikation bei der Formulierung von Datenstrukturen, insbesondere von Versendeeinträgen 134 (8B) der Versendetabellen 28 (5) verwendet, die vom Kern 13, 14 verwendet werden, um Anfragen an die geeigneten Funktionsmodule 11 oder Zugriffsmodule 12 zur Verarbeitung weiterzuleiten. Eine Anfrage oder Hilfsanfrage definiert unbedingt ein Befehlswort, ein Objekt und eine Attributpartition, während der Kern das Befehlswort, das Objekt und die Attributpartition, die von einer Anfrage definiert werden, mit den Inhalten der Abschnitte der Datenstrukturen vergleicht, die von den Abschnitten 203, 204 bzw. 205 der Versen despezifikation definiert werden. Wenn die entsprechenden Abschnitte des Befehlswortes mit den Inhalten der entsprechenden Abschnitte der Datenstrukturen (8B) übereinstimmen, leitet der Kern 13, 14 die Prozedur ein, die im Versendeeintrag 134 definiert ist, der aus dem Abschnitt 206 der Versendespezifikation entnommen wird (3E).
  • B. DATENDATEIEN UND VERWENDUNG
  • 1. Datenverzeichnis
  • Wenn ein Managementmodul angemeldet wird, kann dessen Managementspezifikation neue globale Objektklassen, Unterobjektklassen oder Attribute, Direktiven oder Ereignisse von globalen Objekten oder Unterobjekten definieren. Die Managementspezifikation (3A bis 3D) wird verwendet, um ein Datenverzeichnis zu konstruieren, das seinerseits bei der Konstruktion anderer Datenstrukturen verwendet wird, die im folgenden in Verbindung mit den 5 und 8A beschrieben werden und wie in 9 gezeigt verwendet werden. Das Datenverzeichnis umfasst eine hierarchische Datenbank, die das in 4 gezeigte allgemeine Schema bzw. Struktur auf weist. Wie in 4 gezeigt, besitzt das Schema einen relativen Wurzelknoten 220. der einem globalen Objekt zugeordnet ist, wie in der Managementspezifikation (3A) definiert ist. Der globale Objektknoten zeigt auf mehrere Unterknoten im hierarchischen Schema, einschließlich eines Unterknotens 221. der alle Attribute auflistet, eines Unterknotens 219, der Attributpartitionen auflistet, eines Unterknotens 222, der Attributhäufungen auflistet, eines Unterknotens 223, der Direktiven auflistet, und eines Unterknotens 224, der Unterobjekte des Objektkörpers 53 in der Objektdefinition 46 der Managementspezifikation enthält.
  • Jeder untergeordnete Knoten 219 bis 224 zeigt seinerseits auf die entsprechenden im Objektkörper definierten Objekte. Das heißt, der Attributknoten 221 zeigt auf die Attributdefinitionsknoten 225, von denen jeder die Definition eines in einer Attributdefinition 54 im Objektkörper 53 definierten Attributs enthält, während der Attributpartitionsknoten 219 auf Attributpartitionsknoten zeigen, von denen jeder eine Attributpartition enthält, die in einer Partitionsdefinition 56 in der Attributdefinition 54 des Objektkörpers 53 definiert ist, der Häufungsknoten 222 auf Häufungsdefinitionsknoten 226 zeigt, die jeweils die Definition einer Häufung enthalten, die in einer Häufungsdefinition 55 im Objektkörper 53 definiert sind, die Direktivenknoten 223 auf Direktivendefinitionsknoten 227 zeigen, die jeweils die Definition einer Direktive enthalten, die in der Direktivendefinition 56 im Objektkörper 53 definiert ist, und die Unterobjektknoten 224 auf Unterobjektdefinitionsknoten 228 zeigen, die jeweils die Definition eines Unterobjekts enthalten, die in einer Unterobjektdefinition 57 im Objektkörper 53 definiert sind. Jeder Direktivenknoten 227 zeigt seinerseits auf einen Anfrageknoten 230, einen Antwortknoten 231 und einen Ausnahmeknoten 232, von denen jeder seinerseits die Definition einer Anfrage, einer Antwort und einer Ausnahme enthält, die aus der Anfragedefinition 90, der Antwortdefinition 91 und der Ausnahmedefinition 92 (3C) der Managementspezifikation entnommen werden. Außerdem bildet jeder Unterobjektknoten 228 den Wurzelknoten eines Unterschemas mit einer Struktur, die der in 4 gezeigten Struktur für ein globales Objekt ähnlich ist, einschließlich eines Unterknotens 233 für Attribute, eines Unterknotens 234 für Häufungen, eines Unterknotens 235 für Direktiven, eines Unterknotens 237 für Partitionen und eines Unterknotens 236 für Unterobjekte. Das in 4 gezeigte Schema wird für alle Unterobjekte und deren Unterobjekte wiederholt, wie in der in den 3A bis 3D gezeigten Managementspezifikation definiert ist.
  • Die Informationen der Managementspezifikation werden in die entsprechenden Knoten des Datenverzeichnisses einge-, fügt und verwendet, um die Benutzerschnittstelleninformationsdatei 29 zu erzeugen, die von einem Darstellungsmodul 10 in Verbindung mit der Anzeige der Objektinformationen, die Objektidentifikationsinformationen und Antwortinformationen enthalten, für einen Operator und mit der Erzeugung von Anfragen, zur Verarbeitung durch andere Abschnitte der Steueranordnung und durch die Objekte des komplexen Systems verwendet wird, wie im folgenden beschrieben wird. Die verschiedenen Knoten des Datenverzeichnisses empfangen die Informationen von den Objekten der Managementspezifikation, um die vollständige Datenbasis zu bilden, die das Datenverzeichnis enthält. Die Informationen in der Versendespezifikation (3E) werden verwendet, um die Versendetabellen 28 zu erzeugen, wie unten in Verbindung mit den 8B und 9 beschrieben wird.
  • Mit diesem Hintergrund zeigt 5 jeweils ein einzelnes Darstellungsmodul 10, Funktionsmodul 11 und Zugriffsmodul 12, den Kern 13, 14, der den Informationsmanager 15, 20 und den Versender 16, 21 enthält. Außerdem zeigt die 5 verschiedene Abschnitte des Datenspeicherobjekts 17, 22. Genauer enthält das Datenspeicherobjekt 17, 22 eine Konfigurations- und Bereichsdatenbank 23, 25, eine Alarmdatenbank 24, eine Historiedatendatei 26, ein Datenverzeichnis 27 sowie eine Versendetabelle 28.
  • 2. Historiedatendatei
  • Die Historiedatendatei 26 enthält Informationen, die sich im Fall des Darstellungsfunktions-Merkmals des Kerns 13 auf den Status und die Bedingung von Objekten beziehen, und die sich im Fall des Funktionszugriffs-Merkmals des Kerns 14 auf Objekte beziehen. In der Datei 26 enthalten die Status- und Bedingungsinformationen ferner Zeitinformationen zum Identifizieren des Zeitpunkts, zu dem die Status- oder Bedingungsinformationen erzeugt worden sind. Wenn der Informationsmanager 15, 20 eine Anfrage oder eine Hilfsanfrage empfängt, die den Status oder die Bedingung zu einem bestimmten Zeitpunkt betrifft, ermittelt er, ob die Informationen in der Datei 26 vorhanden sind, wenn der in der Anfrage oder Hilfsanfrage angegebene Zeitpunkt in der Vergangenheit liegt, und antwortet unter Verwendung der Inhalte der Datei.
  • Wenn andererseits der in der Anfrage oder Hilfsanfrage angegebene Zeitpunkt in der Zukunft liegt, teilt der Informationsmanager 15, 20 die Anfrage effektiv zur Verarbeitung zum angegebenen Zeitpunkt ein. Das heißt, der Informationsmanager hält die Anfrage oder Hilfsanfrage zurück, bis der angegebene Zeitpunkt erreicht ist, wobei er zu diesem Zeitpunkt die Anfrage entweder unter Verwendung von Antworten direkt vom Zugriffsmodul 12 oder Funktionsmodul 11, falls geeignet, oder unter Verwendung der Inhalte der Datei 26, falls geeignet, verarbeitet.
  • Diese Funktionen Werden im folgenden unter der Überschrift "Einteilung" ausführlich beschrieben.
  • 3. Versendetabelle
  • Die Versendetabelle 28 wird vom Versender 16, 21 verwendet, um zu ermitteln, wie eine Anfrage oder Hilfsanfrage zum entsprechenden Funktionsmodul 11 oder Zugriffsmodul 12 zu übertragen ist. Die Inhalte der Versendetabelle 28 identifizieren die Orte der Einsprungpunkte der Routinen im verteilten digitalen Datenverarbeitungssystem, die alle Funktionsmodule 11 umfassen, die als Antwort auf Anfragen von einem Darstellungsmodul 10 aufgerufen werden können. Genauer enthält die Versendetabelle 28 Aufrufinformationen, die das Einleiten verschiedener Operationen durch die entsprechenden Funktionsmodule 11 erleichtern. In ähnlicher Weise identifizieren die Inhalte der Versendetabelle 28 im verteilten digitalen Datenverarbeitungssystem die Orte der Einsprungpunkte der Routinen in den Zugriffsmodulen 12, die zum Verarbeiten von Hilfsanfragen von einem Funktionsmodul 11 verwendet werden, d. h. die Aufrufinformationen, die die verschiedenen Operationen der entsprechenden Objekte definieren.
  • 4. Benutzerschnittstelleninformationen
  • Die Steueranordnung enthält ferner eine Benutzerschnittstelleninformationsdatei 29, die Informationen über die verschiedenen Funktionen, die von den Funktionsmodulen 11 angeboten werden, und über die von den Zugriffsmodulen 12 gesteuerten Objekte enthält. Die Benutzerschnittstelleninformationsdatei 29 enthält Informationen, die aus den Managementspezifikationen der entsprechenden Objekte abgeleitet sind. Die Darstellungsmodule 10 verwenden die Inhalte der Benutzerschnittstelleninformationsdatei 29 bei der Anzeige von Menüs und anderen Objekten auf den Endgeräten des Operators, um die Steuerung des komplexen Systems zu erleichtern. Die Informationen in der Benutzerschnittstelleninformationsdatei 29 erleichtern das Anzeigen der verschiedenen Funktionen und Operationen in Verbindung mit den Objekten des komplexen Systems.
  • 5. Konfigurationsdatenbank
  • Wie oben beschrieben worden ist, kann ein Konfigurationsfunktionsmodul eine Konfigurationsdatenbank erzeugen und halten, die alle Objektinstanzen in der aktuellen Konfi guration des komplexen Systems (sowie bei Bedarf auch frühere Konfigurationen) auflistet. Diese Informationen können z. B. von einem Darstellungsmodul verwendet werden, um Prüftabellen oder Benutzermenüs zu erzeugen, die verfügbare Objektinstanzen auflisten. Die Konfigurationsdatenbank kann ferner eine Bereichsdatenbank zum Begrenzen des Kontrollumfangs eines Benutzers enthalten, um die Verwendung des komplexen Systems wie im folgenden beschrieben zu erleichtern.
  • Zusätzlich zu den oben genannten Merkmalen kann die Konfigurationsdatenbank in einer Ausführungsform in Verbindung mit Darstellungsmodulen verwendet, werden, um die Stellvertreterzeichenverwendung in Benutzerkommandos zu unterstützen. Wenn von einem Darstellungsmodul eine Benutzeranweisung empfangen wird, die ein Stellvertreterzeichen enthält, gibt das Darstellungsmodul eine Anfrage an das Konfigurationsfunktionsmodul aus, die eine Aufzählung aller Objekte in der Konfiguration anfordert, die zur Stellvertreterzeichenanfrage passen. Das Konfigurationsfunktionsmodul verwendet anschließend die Informationen in der Konfigurationsdatenbank (gemeinsam mit Bereichsinformationen), um die Liste zu erzeugen. Nach dem Empfangen der Liste erweitert das Darstellungsmodul die Benutzeranfrage auf alle möglichen Hilfsanfragen, die der Stellvertreterzeichenverwendung entsprechen.
  • Zum Beispiel wird die Anfrage
    SHOW NODE * IN DOMAIN SITE1
    (wobei SHOW die Direktive ist, DOMAIN die Bereichsobjektklasse ist, SITE1 eine Bereichsinstanz ist, NODE eine globale Objektklasse ist und * das Stellvertreterzeichen ist) als ein Kommando interpretiert, dass alle Instanzen. der Knoten innerhalb des Bereichs mit dem Namen SITE1 gezeigt werden sollen. Das Darstellungsmodul würde daher die Anfrage zu mehreren Anfragen erweitern, die jeweils die Form
    SHOW NODE <instance>
    aufweisen (wobei <instance> der Instanzennamen ist), von denen eine jeweils einer Instanz der Klasse NODE im Bereich SITE1 entspricht.
  • Eine teilweise Stellvertreterzeichenverwendung kann ebenfalls unterstützt werden. In diesem Fall werden Direktiven an die Gruppe von Zielobjekten ausgegeben, deren Instanzennamen mit dem durch den teilweise mit Stellvertreterzeichen versehenen Namen übereinstimmen. Zum Beispiel würde "NODE *00" mit "NODE FOO" und mit "NODE MAGOO", jedoch nicht mit "NODE BAR" übereinstimmen.
  • Eine teilweise Stellvertreterzeichenverwendung kann nicht in Feldern verwendet werden, die Identifizierer mit bestimmten Datentypen besitzen, z. B. Identifizierer, die keinen Text oder Zeichenketten verwenden.
  • In bevorzugten Ausführungsformen ist die Stellvertreterzeichenerweiterung im Globalobjektklassenfeld einer Benutzerdirektive nicht zulässig. Globalklassenspezifikationen werden nicht mit Stellvertreterzeichen verwendet, da dies zu einer ungenügenden Kontrolle des Umfangs eines Kommandos führen würde. Dies kann Fehler erzeugen, wenn die von einer Objektklasse unterstützten Direktivennamen von einer weiteren nicht unterstützt werden. Selbst wenn ein Direktivenname von mehreren Klassen unterstützt wird, kann sich der Direktivenname auf nicht verwandte Funktionen in unterschiedlichen Klassen beziehen, was unerwünschte Nebeneffekte verursacht (z. B. eine Direktive "DELETE +"). Außerdem kann eine Globalobjekt-Stellvertre terzeichennutzung einfach mehr Informationen hervorrufen, als der Benutzer beabsichtigt (z. B. eine Direktive "SHOW +"). Es ist zu beachten, dass die Stellvertreterzeichennutzung in Unterobjektklassen sicher zugelassen werden kann.
  • Die Ausführungsformen der Stellvertreterzeichennutzung können ferner einige oder alle der Stellvertreterzeichenerweiterungsaufgaben an Zugriffsmodule delegieren. Dies ist insbesondere dann der Fall, wenn kein Konfigurationsfunktionsmodul verwendet wird. Bei Fehlen eines Konfigurationsfunktionsmoduls können die Zugriffsmbdule (gewöhnlich begleitet vom Zugreifen auf alle Module einer Klasse oder Unterklasse) Instanzendaten als Teil ihres Privatspeichers 32 (2B) speichern. In diesem Fall verwenden die Zugriffsmodule die Instanzendaten zum Erweitern der Stellvertreterzeichen in der empfangenen Anfrage. Wenn die Stellvertreterzeichennutzung von einem bestimmten Zugriffsmodul nicht unterstützt wird, wird dem Benutzer eine Ausgabe zurückgegeben, die diese Bedingung anzeigt.
  • C. DATENDATEIMANAGEMENT UND ANMELDUNG
  • Wenn ein Managementmodul zur Steueranordnung hinzugefügt wird oder wenn neue Informationen bezüglich des Managements der Objekte zur Verfügung gestellt werden, muss die Steueranordnung angepasst werden. Die Steueranordnung ist datengesteuert, so dass das Anpassen des Systems an neue Module oder Informationen die Modifizierung der relevanten Datendateien erfordert. Im allgemeinen ist dieser Prozess bekannt als Datendateimanagement. Die genaue Prozedur, mit der die Steueranordnung an ein neues Modul angepasst wird, ist als Anmeldung bekannt.
  • 1. Historiedatendatei-Management
  • In einer bestimmten Ausführungsform werden die Inhalte der Historiedatendatei 26 von einem Funktionsmodul 11, das als Historiedatenaufzeichnungs-Funktionsmodul dient, erzeugt und teilweise gehalten. In dieser Ausführungsform wird das Historiedatenaufzeichnungs-Funktionsmodul von einem Operator über Anfragen gesteuert, die an ein Darstellungsmodul 10 weitergeleitet werden. Zu Beginn richtet eine solche Anfrage, die ein Objekt und eines oder mehrere Attribute zusammen mit einer Abfragerate identifiziert, einen Datensatz in der Historiedatendatei für das identifizierte Objekt und die Attribute ein und gibt das Historiedatenaufzeichnungs-Funktionsmodul frei, so dass dieses mit der in der Anfrage spezifizierten Abrufrate Hilfsanfragen an das Objekt ausgibt, die diesem ermöglichen, mit Werten zu antworten, die die Bedingungen der Objekte des komplexen Systems darstellen, welche durch das Objekt und die Attribute spezifiziert werden, die in der Anfrage angegeben sind. Außerdem erlauben andere Typen von Anfragen einem Operator, andere Operationen in Verbindung mit dem Historiedatenaufzeichnungs-Funktionsmodul einzuleiten, einschließlich der Änderung der Abrufrate, einer vorübergehenden Freigabe und Sperrung des Abrufs sowie dem Anzeigen des letzten Werts in einer Antwort.
  • 2. Versendetabelle
  • Die Inhalte der Versendetabelle 28 und der Benutzerschnittstelleninformationsdatei 29 enthalten Anmeldeinformationen und werden während einer Anmeldeprozedur von den verschiedenen Funktionsmodulen 11 und Zugriffsmodulen 12 zur Verfügung gestellt. Während einer Anmeldeprozedur, in der ein Modul sich in der Steueranordnung anmeldet, lädt es die Anzeigeinformationen einschließlich des Namens und der Codeinformationen aus seinem Namensfeld in das Datenverzeichnis. Außerdem lädt das Modul die Codeinformationen und andere Informationen, die von der Managementspezifikation definiert werden, aus dem Datenverzeichnis (4) sowie die Versendeinformationen aus seiner Versendespezifikation (3E) in die Versendetabelle.
  • 3. Benutzerschnittstelleninformationen
  • Die Darstellungsmodule 10 verwenden die Anzeigeinformationen in der Benutzerschnittstelleninformationsdatei 29, um zu ermitteln, ob erstens ein Objekt, ein Attribut, eine Direktive usw. anzuzeigen ist, und zweitens, was anzuzeigen ist. Die Benutzerschnittstelleninformationsdatei 29 bildet eine Prüftabelle, die als Antwort auf ein Kommando von einem Operator an einem Endgerät dem Darstellungsmodul 10 ermöglicht, das Kommando zu empfangen, um das Kommando unter Verwendung der Prüftabelle zu prüfen und Codes abzuleiten, die dem Code für die Anfrage, das Objekt und die Attribute entsprechen, die in einer Managementspezifikation definiert sind, welche sie dann als Anfrage zum Kern 13 sendet.
  • Es ist zu beachten, dass die Funktions- und Zugriffsmodule keinen Benutzerschnittstellencode besitzen müssen. Die gesamte Benutzerschnittstellenunterstützung wird diesen Modulen zur Verfügung gestellt, wobei der Modulentwickler sich selbst nicht mit der Benutzerschnittstelle befassen muss. Dies vereinfacht den Modulentwurf erheblich und garantiert, dass das System ein einheitliches Erscheinungsbild und eine einheitliche Bedienung für den Benutzer auf weist, unabhängig von den momentan verwendeten Modulen.
  • Nach dem Empfangen einer Anfrage von einem Darstellungsmodul ruft der Versender 16 das Funktionsmodul 11 unter Verwendung der Versendeinformationen in der Versendetabelle 28 auf. Die Versendetabelle 28 bildet ferner eine Prüftabelle, die der Versender 16 verwendet, um an die richtige Prozedur zu versenden, um die Anfrage zu verarbeiten, wie im folgenden in Verbindung mit 9 beschrieben wird.
  • Es wird angenommen, dass die Verwendung von Codes in der Prüftabelle und in der Versendetabelle 28 bei gleichzeitiger Verwendung der darstellungsspezifischen Informationen in der Benutzerschnittstelleninformationsdatei 29 die Identifikationen der Objekte, Attribute und dergleichen, die vom Versender 16 verwendet werden, im wesentlichen von den Identifikationen trennt, die mittels der Darstellungsmodule 10 den Operatoren angezeigt werden. Die von den Darstellungsmodulen 10 erzeugte Anzeige kann daher verschiedene Sprachen aufweisen, während die von den Darstellungsmodulen 10 erzeugten Anfragen die gleichen Identifikationen der Objekte, Attribute und dergleichen enthalten.
  • Außerdem kann die Benutzerschnittstelleninformationsdatei 29 Informationen speichern, die bereits aus der Konfigurationsdatenbank und dem Datenverzeichnis in einem günstigeren Format zur Verfügung stehen.
  • Zum Beispiel zeigen die Klassendaten im Datenverzeichnis (4) alle Direktiven 233 an, die von den Objekten im komplexen System unterstützt werden. Die Direktiven 223 sind jedoch in einem hierarchischem Format gespeichert und sind. den Objektklassen 220 untergeordnet. Obwohl dieses Format für die Darstellung der Objektklasseninformationen logisch ist, ist es für eine Prüftabelle weniger nützlich. Eine Benutzeranfrage listet typischerweise zuerst die Direktiven auf (z. B. "SHOW" in "SHOW NODE FOO"), so dass eine Prüftabelle die Direktiven als erste Ebene einer hierarchischen Struktur aufweisen sollte. Anhand des obigen Beispiels wird ferner deutlich, dass eine Prüftabelle möglicherweise ein Kommando prüfen muss, wenn Klassennamen (z. B. "NODE") mit Instanzennamen (z. B. der Identifizierer FOO in "NODE FOO") gemischt sind. Daher sollte die Prüftabelle nach einer Auflistung der verfügbaren Direktiven die Klassennamen auflisten, die diese Direktiven unterstützen, und anschließend die Datentypen der Instanzen dieser Klassen. Obwohl die Klassen- und Datentypinformationen aus einer Umordnung des Datenverzeichnisses zur Erweiterung der Stellvertreterzeichen zur Verfügung stehen, können die Instanzendaten aus der Konfigurationsdatenbank erhalten werden. Somit können die Prüftabellen in der Benutzerschnittstelleninformationsdatei die Direktiven- und Objektklassen konsolidieren, wodurch das Prüfen der Benutzereingaben bei der Berechnung effizienter wird.
  • Das obige Beispiel wird ferner auf eine graphische oder menügesteuerte Schnittstelle angewendet. Bei diesem Schnittstellentyp kann jedoch der Benutzer wünschen, einen Kontext für seine Kommandos zu setzen, indem er graphisch ein bestimmtes Objekt oder einen Bereich von Objekten für die nachfolgenden Operationen sowie die OSI-Kategorie (die im Kategoriefeld 87 der Direktivendefinitionen aufgelistet ist) der auszuführenden Direktiven auswählt. Als nächstes kann ein Menü erzeugt werden, das alle unterstützten Direktiven auflistet. Der Benutzer kann eine Direktive für eine oder mehrere Instanzen (z. B. durch Anklicken der Direktive und der Instanz) oder einen ganzen Bereich oder eine Objektklasse (indem er z. B. auf die Direktive allein klickt) unter Verwendung vorgefertigter Menüs anfordern. Bei einer Direktive des Typs EXAMINE oder CATEGORY können dem Benutzer weitere Menüs angezeigt werden, um Attributpartitionen oder Häufungen auszuwählen.
  • Um diesen Schnittstellentyp zu implementieren, müssen eine Auflistung aller Bereiche und Objektinstanzen sowie eine Auflistung aller Instanzen in einem Bereich aus der Konfigurationsdatenbank geholt werden. Außerdem kann eine Formulardatenbank die von der Klasse oder dem Bereich unterstützten Direktiven speichern.
  • Die Benutzerschnittstelleninformationsdatei kann ferner Vorgabewertinformationen speichern. Die Vorgabewerte für die Instanzen oder Klassen können vom Benutzer oder von der Managementspezifikation für die relevante Objektklasse zur Verfügung gestellt werden. Dies erlaubt dem Benutzer, Eingabezeit einzusparen, indem er in einem Kommando einen Vorgabewert spezifiziert. Zum Beispiel kann sich der Benutzer hauptsächlich mit NODE FOO befassen und kann "NODE FOO" als den Vorgabeknoten spezifizieren. Später kann der Benutzer ein Kommando wie z. B. "SHOW ROUTING" eintippen, was interpretiert würde als "SHOW NODE FOO ROUTING". Ähnliche Verwendungen von Vorgabewerten können in einer graphischen Umgebung verwendet werden.
  • Ein weiteres Beispiel der Benutzerschnittstelleninformationen ist eine Online-Hilfedatei, die dem Benutzer über Darstellungsmodule zugänglich ist. Die Hilfedatei enthält Hilfeinformationen für die Verwendung des bestehenden Satzes von Managementmodulen. In bevorzugten Ausführungsformen ist die Hilfedatei aus Hilfeinförmationen konstruiert, die von den Modulen geliefert werden, wenn sie angemeldet werden. Die gelieferten Hilfeinformationen können eine Textbeschreibung der Objekt- und Unterobjektklassen, die vom Modul unterstützt werden, und die Direktiven für diese vom Modul unterstützten Klassen enthalten. Außerdem können Leerinformationen geliefert werden, um einen Benutzer bei der erstmaligen Verwendung des Moduls und seiner Direktiven anzuleiten. Die obigen Informationen können ferner aus der Managementspezifika tion für das Modul ermittelt werden, jedoch übersetzt die Hilfeinformationsdatei die Managementspezifikationsinformationen in englische Sätze, was den Aufwand für einen Benutzer zum Erlernen der Syntax der Managementspezifikation reduziert.
  • 4. Historiedatenaufzeichnungsvorrichtung
  • Das Historiedatenaufzeichnungs-Funktionsmodul 11 kann die Abruf Informationen der Objekte aus seinem Abschnitt des Datenverzeichnisses, das die Abschnitte enthält, die sich auf das Maximalabrufratenfeld und das Vorgabeabrufratenfeld beziehen, verwenden, um das Abrufen in Verbindung mit den verschiedenen Attributen des Objekts, die in den Attributdefinitionen 54 definiert sind, einzuleiten und steuern, wobei die Antworten hierauf vom Historiedatenaufzeichnungs-Funktionsmodul 11 in dessen Historiedatendatei 26 gespeichert werden.
  • 5. Modulanmeldung
  • Wie in 5 gezeigt, lädt z. B. ein Zugriffsmodul 12, während es eine Anmeldungsprozedur durchführt. Anzeigeinformationen, die den Namen und die Codeinformationen enthalten, die in der Namen- und Codeinformationen definiert sind, aus seinen Namensfeldern und die Informationen aus dem Abschnitt seines Datenverzeichnisses, die sich auf die Anzeigefelder in seiner Managementspezifikation beziehen, in die Benutzerschnittstelleninformationsdatei 29. In ähnlicher Weise lädt ein Funktionsmodul 11 die Codeinformationen und andere Informationen, die von der Managmentspezifikation definiert werden, aus dem Datenverzeichnis (4) sowie die Versendeinformationen aus der Versendespezifikation (3E) in die Versendetabelle 28.
  • D. ZWISCHENMODUL- UND ZWISCHENKNOTEN-KOMMUNIKATION
  • 1. Steuerfunktionsmodul
  • In einer speziellen Ausführungsform kann der Operator ein Zugriffsmodul 12 direkt über ein Steuerfunktionsmodul 11 steuern, das im wesentlichen Hilfsanfragen erzeugt, die Kopien der Anfragen sind, die es vom Versender 16 empfängt. In dieser Ausführungsform prüft das Darstellungsmodul 10, das das Kommando empfängt, das Kommando unter Verwendung der Prüftabelle in der Benutzerschnittstelleninformationsdatei 29, um Codes abzuleiten, die den Code für die Anfrage, das Objekt und die Attribute des Zugriffsmoduls 12 entsprechen, die in einer Managementspezifikation spezifiziert sind, die es dann als Anfrage zum Darstellungsfunktions-Kern 13 sendet. Das Steuerfunktionsmodul 11 leitet die Anfrage als Hilfsanfrage an den Funktionszugriffs-Kern 14 weiter, wo sie in der gleichen Weise behandelt wird wie jede andere Hilfsanfrage.
  • Nach dem Empfangen einer Hilfsanfrage von einem Funktionsmodul 11 ruft der Versender 21 das Zugriffsmodul 12 unter Verwendung der Versendeinformationen in der Versendetabelle 28 auf. Die Versendetabelle 28 bildet ferner eine Prüftabelle, die der Versender 21 verwendet, um die geeignete Prozedur zur Verarbeitung der Anfrage zu versenden, wie im folgenden in Verbindung mit den 9A und 9B beschrieben wird.
  • 2. Zwischenknotenkommunikation
  • Wenn die Steueranordnung ein komplexes System steuert, das ein verteiltes digitales Datenverarbeitungssystem umfasst, zeigt die 5 allgemein die Objekte, einschließlich eines Darstellungsmoduls 10, eines Funktionsmoduls 11 und eines Zugriffsmoduls 12, einschließlich des Kerns 13, 14, der den Informationsmanager 15, 20 und den Versender 16, 21 sowie die zugehörigen Datendateien 23, 24, 25, 26, 27, die Versendetabelle 28 und die Benutzerschnittstelleninformationsdatei 29 umfasst, die alle in einem einzigen Prozess in einem einzigen Knoten eines verteilten digitalen Datenverarbeitungssystems enthalten sind. Wenn das verteilte digitale Datenverarbeitungssystem ein Darstellungsmodul 10, ein Funktionsmodul 11 und ein Zugriffsmodul 12 in unterschiedlichen Prozessen oder Knoten enthält, enthält die Steueranordnung einen Versender 16, 21 in allen Prozessen und Knoten. Wie in 6 gezeigt, sendet ein Versender 16(1) dann, wenn er in einem Prozess in einem Knoten eine Anfrage. von einem Darstellungsmodul 10(1) enthält, das von einem Funktionsmodul 11(2) in einem zweiten Prozess oder Knoten verarbeitet werden muss, diese Anfrage mittels eines Zwischenprozeßkommunikationsmechanismus, wenn das Funktionsmodul 11(2) sich in einem weiteren Prozess im gleichen Knoten befindet, oder mittels eines Zwischenknotenkommunikationsmechanismus zu einem Prozess im anderen Knoten, zu einem Versender 16(2) im anderen Prozess oder Knoten. Der Versender 16(2) wählt anschließend ein Funktionsmodul 11(2), um die Anfrage zu verarbeiten. Der Versender 16(2) empfängt die vom Funktionsmodul 11(2) erzeugte Antwort und sendet diese mittels des Zwischenprozesskommunikationsmechanismus oder des Zwischenknotenkommunikationsmechanismus zum Versender 16(1), der seinerseits ein Darstellungsmodul 10(1) frei gibt, um die Antwort dem Operator anzuzeigen.
  • Wenn in ähnlicher Weise ein Versender 21(2) eine Hilfsanfrage von einem Funktionsmodul 11(2) empfängt, die von einem Zugriffsmodul 12(3) in einem weiteren Prozess oder Knoten zu verarbeiten ist, sendet er die Hilfsanfrage zu einem Versender 21(3) im anderen Prozess oder Knoten mittels des Zwischenprozesskommunikationsmechanismus bzw.
  • des Zwischenknotenkommunikationsmechanismus. Der Versender 21(3) sendet anschließend die Hilfsanfrage zur Verarbeitung zum Zugriffsmodul 12(3). Der Versender 21(3) empfängt die Antwort vom Zugriffsmodul 12(3) und sendet diese mittels des Zwischenprozesskommunikationsmechanismus oder des Zwischenknotenkommunikationsmechanismus zum Versender 21(2), der diese seinerseits an das Funktionsmodul 11(2) weiterleitet.
  • 3. Anfrage- und Hilfsanfragestruktur
  • Die Struktur einer Hilfsanfrage und insbesondere die Parameter, die in der Hilfsanfrage enthalten sind, sind in 7A gezeigt. Die Struktur und die Inhalte der Versendetabelle 24 (die der Struktur und den Inhalten der Versendetabelle 26 ähnlich sind), werden in Verbindung mit den 8A und 8B beschrieben. Anschließend wird der vom Informationsmanager 15, 20 und vom Versender 16, 21 in Verbindung mit der Prüfung einer Anfrage durchgeführte Prozess in Verbindung mit 9 beschrieben.
  • Wie in 7A gezeigt, enthält eine Anfrage, die von einem Darstellungsmodul 10 als Antwort auf Operationen seitens eines Operators in Verbindung mit den Inhalten der Benutzerschnittstelleninformationsdatei 27 erzeugt worden sein kann oder die vom Informationsmanager 15 während des Abrufs in Verbindung mit den verschiedenen Objekten des gesteuerten komplexen Systems erzeugt worden sein kann, mehrere Parameter. Alle Anfragen weisen die gleiche Struktur auf, die eine Anfangsaufrufidentifikation enthält, die nicht gezeigt ist, gefolgt von Parametern, die in 7A gezeigt sind. Wie oben beschrieben ist, besitzt der Kern 13, 14 einen einzelnen Versender 16, 21 mit einem Darstellungsfunktionsmerkmal 16 und einem Funktionszugriffsmerkmal 21. Welches dieser Merkmale jeweils durch eine Anfrage aktiviert wird, wird bestimmt durch den Anfangsaufrufidentifizierer. Der Anfangsaufrufidentifizierer kann einen Aufruf an ein Funktionsmodul oder an ein Zugriffsmodul anzeigen und wird entsprechend zum zugehörigen Merkmal des Versenders weitergeleitet. Ein Darstellungs- oder Funktionsmodul kann ein Funktionsmodul aufrufen, während ein Funktionsmodul oder ein Zugriffsmodul ein Zugriffsmodul aufrufen kann, jedoch kann ein Darstellungsmodul ein Zugriffsmodul nur über- ein "Steuer"-Funktionsmodul aufrufen, wie oben beschrieben worden ist.
  • Die Parameter enthalten ein Befehlswortfeld 120, dessen Inhalte den Typ der Anfrage identifizieren, d. h. eine bei der Verarbeitung der Anfrage auszuführende Operation. Wie oben erwähnt worden ist, kann eine Anfrage ein Funktionsmodul 11 oder ein Zugriffsmodul 12 veranlassen, eine Änderung des Status oder der Bedingung eines Objekts im gesteuerten komplexen System auszulösen, wobei sie die Rückgabe von Informationen über den Status oder die Bedingung eines solchen Objekts veranlassen kann, oder beides. Die Inhalte des Befehlswortfeldes 120 zeigen die vom Funktionsmodul 11 oder vom Zugriffsmodul 12 auszuführende Operation an.
  • Außerdem enthält eine Anfrage ein Eingangsobjektspezifikationsfeld 121, das das Objekt im gesteuerten komplexen System identifiziert. Wenn das Befehlswort z. B. ein aktionsloses Befehlswort ist, enthält die Anfrage dann, wenn es eine Antwort anfordert, die die Werte eines oder mehrerer Attribute anzeigt, ein Attributzeigerfeld 122, das einen Zeiger auf ein oder mehrere Attribute enthält, mit dem die Operation, die durch das Befehlswort und die Objektklasse definiert wird, auszuführen ist. Wenn das Befehlswort ein Aktionsbefehlswort ist, d. h. wenn es eine Änderung im spezifizierten Objekt verursacht, weist die Anfrage kein Attributzeigerfeld 122 auf.
  • Außerdem enthält eine Anfrage ein Eingabezeitspezifiziererfeld 123, das einen Zeiger enthält, das auf eine Zeitdatenstruktur zeigt, die eine bestimmte Zeitinformation enthält, welche die absolute Systemzeit, eine Zeitintervalldefinition und die Zeitgenauigkeitsspezifikation umfasst, sowie eine Anzeige des interessierenden Zeitbereichs in der Anfrage für Einteilungszwecke. Ein Eingang/Ausgang-Kontexthantiererfeld 124 enthält einen Wert, der die Anfrage im Kontext einer mehrteiligen Operation identifiziert, von der jeder Teil eine separate Anfrage erfordert. Ein Ausgangsobjektspezifiziererfeld 126 enthält einen Zeiger auf einen Datenpuffer, der vom Versender 15 (oder vom Versender 21, falls die Parameter einen Teil einer Hilfsanfrage bilden) in Verbindung mit der Identifikation des Objekts verwendet werden kann.
  • Eine Anfrage enthält ferner ein Ausgangszeitspezifikationsfeld 126, das einen Zeiger auf eine Zeitstempelspezifikation enthält, die vom Funktionsmodul 11 (oder im Fall einer Hilfsanfrage vom Zugriffsmodul 12) in Verbindung mit der Ausbildung der Antwort verwendet werden soll. Schließlich enthält ein optionales Datendeskriptorfeld 127 Deskriptoren für Puffer, die Daten enthalten, die bei der Verarbeitung der Anfrage verwendet werden sollen bzw. in welchen das Objekt die Daten, die eine Antwort enthalten, speichern soll. Jeder Deskriptor enthält einen Zeiger auf die Anfangsstelle des entsprechenden Puffers und einen Längenspezifizierer, der die Länge des Puffers angibt.
  • In alternativen Ausführungsformen der Erfindung kann die Anfrage ferner Qualifiziererfelder als einen separaten Parameter oder als ein zusätzliches Objekt der obenbeschriebenen Parameterfelder enthalten.
  • Ein Qualifizierer WITH kann dem Objekt-Feld zugeordnet sein, um z. B. die mittels eines Stellvertreterzeichens erzeugte Objektliste zu filtern. Zum Beispiel bezieht sich "BRIDGE * WITH STATUS = 'ON' AND FILTERING = 'OFF '" auf alle Brückenklassenobjekte, deren Statusmerker auf ON und deren Filtermerker auf OFF gesetzt sind. (Dieses Beispiel zeigt ferner die Verwendung der booleschen Funktionen wie z. B. AND, OR, NOT und XOR mit den Qualifizierern.) In bevorzugten Ausführungsformen werden zum Implementieren des Qualifizierers WITH alle Module und der Informationsmanager so konfiguriert, dass sie auf das Vorhandensein einer Klausel WITH auf jeder Ebene (nämlich Globalobjekt, Unterobjekt, Unterunterobjekt) der Objektparameter prüfen.
  • Andere Qualifizierer können als Unterscheidungsparameter der Anfrage verwendet werden. Zum Beispiel enthalten Kommunikationsqualifizierer: einen Qualifizierer "TO <Dateiname>", der die Antwort auf eine Anfrage an eine Datei mit der Bezeichnung <Dateiname> sendet; einen Qualifizierer "FROM <Dateiname>", der andere Anfragenparameter aus einer Datei mit der Bezeichnung <Dateiname> wiedergewinnt; einen Qualifizierer "VIA PATH", der eine Serie von "Sprüngen" längs eines Pfades durch eine Hierarchie von Managementmodulen spezifiziert (nützlich bei der Spezifizierung von z. B. einem bestimmten Managementmodul unter mehreren Anordnungen, die die Operation ausführen); sowie einen Qualifizierer "VIA PORT", der einen bestimmten Netzpfad spezifiziert, den ein Managementmodul verwendet, wenn es die Operation ausführt (nützlich um z. B. zu spezifizieren, das ein Zugriffsmodul einen Diagnosetest unter Verwendung eines bestimmten Ethernet-Anschlusses durchführt).
  • In ähnlicher Weise können Unterscheidungsparameterqualifizierer eine Gruppe von interessierenden Objekten spezi fizieren. Der Qualifizierer "IN DOMAIN <domain name>" filtert die Direktive, um sie nur auf die Mitglieder des Bereichs mit der Bezeichnung <domain name> anzuwenden. Ferner können Unterscheidungsparameterqualifizierer den Anfrager von Managementdiensten, die begrenzte Zugriffsprivilegien aufweisen, authentisieren oder autorisieren. Die Qualifizierer "BY ACCOUNT", "BY PASSWORD" und "BY ÜSER" sind Beispiele, die den Kontonamen, das Passwort oder die Benutzer-ID des Anfragers für diese Zwecke spezifizieren.
  • Zusätzlich zum obenerwähnten spezifizieren die Qualifizierer den Zeitpunkt, zu dem eine Direktive ausgeführt werden soll. Im allgemeinen wird dies mittels einer AT-Klausel bewerkstelligt. Für ein SHOW-Kommando ist die Syntax einer AT-Klausel folgende:
    <AT-Klausel> ::= "AT" <time-arg> {"," <time-arg>},
    wobei das Zeitargument <time-arg> z. B. den Startzeitpunkt ("START = <TIME>"), den Endzeitpunkt ("END = <time>") oder die Dauer ("DURATION = <time-length>"), die Wiederholungsperiode "REPEAT EVERY [=] <time-length>"), die Zeitgenauigkeit ("CONFIDENCE [=] <time-length>") oder die Abtastrate ("SAMPLE RATE [=] <time-length>") anzeigt. Diese Argumente können miteinander in Wechselwirkung treten, um eine allgemeine Einteilung und einen Interessenumfang für eine Anfrage zu erzeugen. Genauer stehen in einer bestimmten Ausführungsform die drei Zeitargumente START, END und DURATION so miteinander in Beziehung, dass zwei beliebige von diesen eine Periode definieren. Wenn somit eine zeitlich normierte Objektstatistik angezeigt wird, müssen wenigstens zwei dieser Qualifiziererargumente spezifiziert sein.
  • Ferner können andere Zeitqualifizierer verwendet werden. Zum Beispiel kann ein Zeitqualifizierer AT oder BEFORE <time> als eine Anfrage für eine beliebige Information mit einem Zeitstempel zu oder vor dem Zeitpunkt, der mittels <time> gegeben ist, interpretiert werden. Nach dem Empfangen einer Anfrage mit einem solchen Qualifizierer prüft ein Managementmodul kontinuierlich auf Aktionen, die die angeforderten Informationen erzeugen. Wenn die Informationen z. B. durch die Aktionen einer weiteren Partei erzeugt worden sind, werden sie zum Anfrager zurückgegeben. Ansonsten fährt das Managementmodul mit der Prüfung auf die Informationen fort, bis der Zeitpunkt <time> erreicht worden ist. Wenn die Informationen erzeugt worden sind, werden sie anschließend zum Anfrager zurückgegeben. Ansonsten erzwingt das Managementmodul zum Zeitpunkt <time> einen Abruf der Informationen aus den Zugriffsmodulen oder den Objekten und gibt die Informationen zum Anfrager zurück.
  • Als Komplement zum Zeitqualifizierer AT oder BEFORE kann ferner ein Zeitqualifizierer NOW implementiert werden. Dieser Qualifizierer erzwingt sofort einen Abruf der angeforderten Informationen.
  • E. ZEIT
  • Wie oben beschrieben worden ist, enthält eine Anfragestruktur ein Zeitspezifiziererfeld 123. Außerdem enthält ein Feld 124 einen Hantiererzeiger auf eine Kontextdatenstruktur, die ein zugewiesenes Segment des Speichers zum Speichern von Verarbeitungskontextinformationen ist. Der Hantierer wird als "Notizbuch" für den Austausch von z. B. Kontextinformationen zwischen Modulen und dem Informationsmanager verwendet.
  • 1. Zeitstempel
  • Jedes Datenobjekt enthält einen Zeitstempelwert. Im Fall der zum Benutzer oder zu einem Managementmodul zurückgegebenen Daten zeigt der Zeitstempel folgendes an: den Zeitpunkt, zu dem ein durch ein Datenobjekt beschriebenes Ereignis aufgetreten ist, den Zeitpunkt, zu dem die Datenwerte für eine Direktive zurückgegeben werden, oder den Zeitpunkt, zu dem eine angeforderte Aktion wirklich ausgeführt wurde. Im Fall der in der Historiedatendatei gespeicherten Historiedaten zeigt der Zeitstempel den Zeitpunkt an, zu dem ein gegebenes Datenobjekt einen bestimmten Wert aufwies. Für die Zwecke der Historiedatendatei kann ein Zeitstempel als Schlüssel oder Index betrachtet werden. Eine Interessenumfangszeitspezifikation 123 kann verwendet werden, um die Wiedergewinnung eines bestimmten Teils der gespeicherten Informationen mit einem gegebenen Schlüssel oder Index anzufordern.
  • 2. Interessenumfang
  • Interessenumfangszeitspezifikationen werden von Anfragen unter Verwendung des Zeitspezifiziererfeldes 123 geliefert. Unter Verwendung eines Zeitspezifizierers können andere Datenwerte als "der augenblickliche Wert" angezeigt und verarbeitet werden, wobei Statistiken über eine bestimmte Zeitperiode berechnet werden können. In einer bestimmten Ausführungsform wird ein Zeitpunkt – "Interessenumfang" ausgedrückt durch vorangestellte Ausdrücke im Zeitspezifizierer einer Anfrage. Im allgemeinen wird ein Zeitspezifizierer mit einem Kommando SHOW verwendet, jedoch können Zeitkontexte auch auf Anfragen und Aktionen des Typs MODIFY angewendet werden.
  • Interessenumfangs-Zeitpunkte können entweder durch einen absoluten Zeitpunkt, eine Folge absoluter Zeitpunkte, ein Intervall (Startzeitpunkt "START" und Dauer "DUR"), eine Wiederholung von Zeitpunkten oder eine Wiederholung von Intervallen angegeben werden.
  • Jedem von diesen kann eine relative Zeitperiode ("EVERY") zugeordnet sein, die die Periodizität spezifiziert, mit der der Zeitpunkt, die Zeitpunkte oder das Intervall wiederholt werden. Wenn eine Periode spezifiziert ist, wird der ursprüngliche Zeitpunkt oder die Folge von Zeitpunkten oder das Intervall als eine Basis behandelt, zu der die Periode wiederholt hinzugefügt wird. Zum Beispiel ist die Zeitspezifikation "5:00 EVERY 0:15" äquivalent zu 5:00, 5:15, 5:30, 5:45, .... Ein absoluter Zeitpunkt ("UNTIL") kann spezifiziert werden, um anzuzeigen, wann die Wiederholung beendet werden soll. Zum Beispiel ist die Zeitspezifikation "5:00 EVERY 0:15 UNTIL 6:00" äquivalent zu 5:00, 5:15, 5:30, 5:45, 6:00. Wiederholungsintervalle können in der gleichen Weise spezifiziert werden. "START 5:00 DUR :05 EVERY 1:00" ist äquivalent zu den Intervallen 5:00-5:05, 6:00-6:05, 7:00-7:05,
  • 3. Einteilung
  • Einteilungsinformationen werden ebenfalls mit dem Zeitspezifiziererfeld 123 geliefert. Spezielle Einteilungszeitpunkte können entweder mittels eines absoluten Zeitpunkts oder mit einer Folge von absoluten Zeitpunkten angegeben werden. Anders, als bei den Interessenumfängen können Einteilungszeitpunkte kein Intervall enthalten. Intervalle, deren Anfangs- und Endpunkte gleich sind, gehen in Zeitpunkte über (z. B. (TODAY, TODAY)).
  • Für Intervalle gelten einige Regeln. Intervalle in der Vergangenheit können Anfangszeitpunkte aufweisen, die mit dem Schlüsselwort YESTERDAY oder einem absoluten Zeitpunkt in der Vergangenheit bezeichnet sind. In ähnlicher Weise können Intervalle in der Zukunft einen Anfangspunkt besitzen, der mit dem Schlüsselwort TOMORROW oder mit einem absoluten Zeitpunkt in der Zukunft bezeichnet ist. Ferner muss der Startzeitpunkt eines Intervalls vor dessen Endzeitpunkt liegen.
  • 4. Zeitkontexthantiererstruktur
  • Wie oben beschrieben worden ist, können die Einteilungs- und Interessenumfangsinformationen in einer Anfrage von einem zugehörigen Kontexthantierer begleitet werden. Der Hantierer wird von dem Modul erzeugt, dass die Anfrage ausführt, und wird anschließend bei der Kommunikation mit dem Dienstanbieter verwendet. Wenn ein Aufruf vom Dienstanbieter, z. B. vom Informationsmanager, empfangen wird, wird ein Kontextblock als lokale Referenz auf den Zeitkontext des Anfragers erzeugt.
  • Im allgemeinen werden Kontextblöcke und Hantierer als Referenzen auf den Status einer Anfrage verwendet. Da die ursprüngliche Anfrage viele Hilfsanfragen erzeugen kann, ist es möglich, dass viele Hantierer und Kontextblöcke von einer einzelnen Anfrage erzeugt werden können. Die Kontextblöcke sind die von einem Dienstanbieter verwendete Referenz, während die Hantierer die vom Dienstanfrager verwendete Referenz sind. Jeder Prozess (d. h. ein Modul oder ein Informationsmanager) in einer Anfrage/Hilfsanfrage-Kette kennt nur den Kontextblock und die Hantierer, die sich auf seinen lokalen Abschnitt der Kette beziehen.
  • Wie in 7B gezeigt, enthält in einer bestimmten Ausführungsform ein Zeitkontexthantierer 172, der von einem Anfrager wie z. B. einem Darstellungsmodul 10 erzeugt worden ist, ein Umfangsfeld 175 und ein Einteilungsfeld 176, die sich auf die Zeitspezifikation 23 der ursprünglichen Anfrage beziehen. Diese Felder ergänzen die Daten im Zeitspezifizierer der Anfrage und werden verwendet, um den aktuellen Status zu ermitteln, wenn für eine einzige Operation mehrere Anfragen und Antworten existieren. Der Hantierer 172 enthält ferner einen Kontextzeiger 177 und eine Zustandsvariable 178. Diese Datenobjekte liefern den Status und die Referenzfunkionen des Hantierers und werden mit den Umfangs- und Einteilungsfeldern 175, 176 erzeugt und gespeichert, wenn die Anfrage erzeugt wird.
  • Wenn mehrfache Anfragen und Antworten für eine einzelne Operation existieren, enthält das Kontextfeld 177 möglicherweise einen Zeiger auf eine zusätzliche Datenstruktur 174, die als Kontextblock bekannt ist und vom Dienst der Anbieter, z. B. dem Darstellungsfunktionsmerkmal 15 des Informationsmanagers, als Antwort auf eine ursprüngliche Anfrage, die mehrfache Antworten erfordert, erzeugt und gehalten wird (Funktions- oder Zugriffsmodule können ebenfalls Kontextblöcke als Antwort auf Anfragen erzeugen und halten).
  • Das Zustandsfeld 178 des Hantierers enthält einen von drei Werten: "FIRST", "MORE" oder "CANCEL", die als Merker verwendet werden, um weitere Aktionen anzuzeigen, die ausgeführt werden sollen. Bei der ersten Erzeugung wird der Hantiererzustand auf "FIRST" gesetzt.
  • Wenn wie oben beschrieben eine Anfrage mittels einer einzigen Antwort befriedigt werden kann, wird die Antwort erzeugt und zum Anfrager zurückgegeben. Im allgemeineren Fall kann der Dienstanbieter, z. B. ein Funktionsmodul, der Informationsmanager oder ein Zugriffsmodul, die Anfrage nicht mit einer Antwort befriedigen. Zum Beispiel kann der Anfrager im Eingangsobjektparameter 121 Stellvertreterzeichen verwendet haben, um eine Gruppe von Objekten zu spezifizieren. Da jede Antwort nur die Informationen aus einem einzelnen Objekt enthalten kann, sind mehrere Antworten erforderlich, eine für jedes Objekt. In einem weiteren Fall kann eine Anfrage an ein einzelnes Objekt einen Zeitspezifizierer mit mehreren unterschiedlichen Zeitwerten aufweisen. Da jede Antwort nur Informationen für einen einzelnen Zeitwert enthalten kann, sind mehrere Antworten erforderlich, eine für jeden Zeitpunkt. Eine Anfrage, die mehrfache Antworten erfordert, kann für jeden beliebigen Operationstyp gelten, auch für das Erhalten von Attributdaten über ein Objekt oder Objekte, das Modifizieren von Attributen mehrerer Objekte und das Modifizieren des Zustands mehrerer Objekte.
  • Wenn der Dienstanbieter die Anfrage verarbeitet und feststellt, dass er zusätzliche Antworten besitzt, ist er dafür verantwortlich, dies dem Anfrager mitzuteilen. Daher ist der Anfrager dafür verantwortlich, den Dienstanbieter für die zusätzlichen Antworten abzufragen. Um dies zu implementieren müssen zwischenzeitliche Prozesse, z. B. der Informationsmanager, die Informationen sichern, die die Anfrage betreffen, die sie erzeugt haben.
  • Die letztere Funktion wird bewerkstelligt durch Erzeugen eines Kontextblocks 174, der relevante Privatvariablen 173 enthalten kann, die bei der Beantwortung der Anfrage erzeugt worden sind, wie z. B. einen Zeiger auf den Versendeeintrag des Dienstanbieters (siehe Beschreibung unter Versendetabelle unten) sowie Kontextzeiger 179 auf irgendwelche Hantierer, die sich auf Hilfsanfragen an z. B. ein Funktionsmodul beziehen.
  • Die Hantierer und Kontextblöcke werden wie folgt verwendet. Der Dienstanbieter benachrichtigt den Anfrager, dass er zusätzliche Antworten besitzt, indem er die geeigneten Hantierermodifikationsroutinen benutzt, um: (1) einen Zeiger 177 auf seinen Kontextblock 174 im Anfragerhantierer 172 zu sichern und (2) das Zustandsfeld 178 im Anfragerhantierer 172 auf einen Wert "MORE" zu setzen. Wenn die Antwort zum Anfrager zurückgegeben wird, sieht der Anfrager den Zustand "MORE" in seinen Hantiererzustandsfeld und erkennt somit, dass der Dienstanbieter zusätzliche Antworten für diese Anfrage besitzt. Wenn der Anfrager diese zusätzlichen Antworten nicht wünscht, muss er die Anfrage löschen (wie folgt). Wenn der Anfrager die zusätzlichen Antworten wünscht, muss die Anfrage wiederholt werden, ohne irgendwelche Parameter zu ändern.
  • Wenn der Dienstanbieter diese wiederholten Anfragen empfängt (die ein Hantiererzustandsfeld 178 mit dem Wert "MORE" aufweisen), sucht er nach dem Zustand "MORE" unter Verwendung der geeigneten Hantiererzugriffsroutine und detektiert diesen. Anschließend weiß der Dienstanbieter, dass die Aufrufe Teil einer vorher gestellten Anfrage sind. (Es ist zu beachten, dass ein Hantierer mit einem Zustand "FIRST" dem Dienstanbieter anzeigt, dass der zugehörige Aufruf der erste Aufruf der Anfrage ist.) Für jeden Aufruf mit einem Hantiererzustand "MORE" holt sich der Dienstanbieter den Kontextblock 174, auf den das Hantiererkontextfeld 177 zeigt, und verwendet den Kontextblock, um seine Ausführung fortzusetzen und zusätzliche Antworten zu liefern. Für jeden an den Dienstanbieter gestellten Aufruf gibt es nur eine einzige Antwort. Solange der Dienstanbieter den Hantiererparameter im Zustand "MORE" hält, besitzt er weitere Antworten für die Anfrage.
  • Wenn der Dienstanbieter seine letzte Antwort (die z. B. mittels der Umfangs- und Einteilungsfelder 175, 176 im Anfragerhantierer ermittelt wird) an den Anfrager zurückgibt, wird das Anfragerhantiererzustandsfeld 178 auf einen Wert "FIRST" (den Initialisierungszustand) zurückge setzt. Wenn diese letzte Antwort dem Anfrager zurückgegeben wird, erkennt der Anfrager, dass sein Hantiererparameterzustand auf "FIRST" zurückgesetzt ist, und erkennt, dass seine Anfrage vollständig befriedigt worden ist. Es ist zu beachten, dass dann, wenn die Anfrage mit einer einzigen Antwort befriedigt ist, der Dienstanbieter keinen Kontext zurückbehält und nie veranlasst, dass der Zustand des Hantiererparameters den Zustand "MORE" annimmt. Der Anfragerhantierer verharrt in diesem Fall in seinem Initialisierungszustand "FIRST", was dem Anfrager anzeigt, dass die Anfrage abgeschlossen ist.
  • Wenn ein Dienstanbieter den Hantiererparameter im Zustand "MORE" zurückgibt, muss die Anfrage wiederholt oder gelöscht werden. Wenn die Anfrage auf andere Weise abgeschlossen wird, gehen aufgrund des für den Hantierer und den Kontextblock reservierten Speichers Systembetriebsmittel verloren.
  • Bei der obigen Beschreibung ist zu beachten, dass dann, wenn der Dienstanbieter keine Hilfsanfragen ausgegeben hat, ein einzelner Hantierer für die Kommunikation zwischen dem Dienstanfrager und dem Anbieter ausreicht. Wenn jedoch der Dienstanbieter Hilfsanfragen ausgegeben hat, gibt es mehr als einen separaten Hantierer – den ursprünglichen Anfragerhantierer, der vom Anfrager für den Aufruf erzeugt worden ist, sowie verschiedene Hantierer, die z. B. vom Informationsmanager erzeugt worden sind und z. B. an ein Zugriffsmodul weitergeleitet werden.
  • Wenn mehrere Anfragen und Antworten für eine einzelne Operation vorhanden sind, wird vom Informationsmanager eine Einteilung der Hilfsanfragen an den Dienstanbieter durchgeführt und mittels der Einteilungszeitkomponente des Zeitspezifizierungsparameters 123 gesteuert. Für jede in der Zeitspezifikation spezifizierte Einteilungszeit erzeugt der Informationsmanager eine Anfrage, die den Dienstanbieter veranlasst, die angeforderte Operation durchzuführen und Antworten auszugeben.
  • Wenn der Dienstanbieter die angeforderte Operation abgeschlossen hat, gibt er eine Antwort aus. Wenn der Informationsmanager erkennt, dass der Dienstanbieter die angeforderte Operation abgeschlossen hat, untersucht er anschließend den Einteilungszeitkontext, den er für die ursprüngliche Anfrage hält. Wenn weitere Zeitpunkte vorhanden sind, für die die angeforderte Operation eingeteilt ist, setzt der Informationsmanager den Anfragerhantiererzustand nicht auf "FIRST", sondern lässt ihn im Zustand "MORE". Der Anfrager sieht seinen Hantiererparameter weiterhin im Zustand "MORE" und erkennt, dass die vollständige Anfrage noch nicht abgeschlossen ist, und fragt nach dem Rest. Der Informationsmanager veranlasst anschließend ein Warten bis zur spezifizierten Einteilungszeit und erlaubt anschließend dem Versender, einen weiteren Aufruf an den Dienstanbieter auszuführen. Es ist zu beachten, dass der Dienstanbieter diesen nächsten Aufruf nicht von demjenigen einer völlig neuen Anfrage unterscheiden kann, da er keinen Kontext zurückbehalten hat, nachdem er seinen Hantiererzustand auf "FIRST" zurückgesetzt hat. Ferner unterscheidet der Anfrager nicht zwischen einem Hantiererzustand "MORE", der vom Dienstanbieter mit mehreren Antworten auf eine Anfrage erzeugt worden ist, und demjenigen, der vom Informationsmanager bei der Vorbereitung eines neuen Einteilungszeitpunktes erzeugt worden ist.
  • In anderen Ausführungsformen sind die Hantiererzugriffsroutinen verbessert, um dem Client zu ermöglichen, die Ursache des Zustands "MORE" des Hantiererparameters zu ermitteln.
  • Wenn während einer Anfrage mit mehreren Antworten oder mehreren Einteilungszeiten der Anfrager entscheidet, dass er keine weiteren Antworten vom Dienstanbieter für diese Anfrage wünscht, muss er die Anfrage löschen. Mögliche Gründe für den Wunsch einer Löschung der Anfrage umfassendes Empfangen einer Ausnahmeantwort, die anzeigt, dass weitere Daten nicht nützlich sind, oder das Empfangen einer Fehlerbedingung, die anzeigt, dass die gewünschte Operation nicht richtig durchgeführt wird. Die Gründe für das Löschen stehen in der Verantwortung des Anfragers. Eine Löschung beendet alle Aktivitäten der Anfrage, einschließlich irgendwelcher Einteilungs- und Interessenumfangsoperationen.
  • Eine Löschung kann durchgeführt werden, wenn der Dienstanbieter dem Anfrager einen Hantiererparameterzustand "MORE" zurückgibt. Der Anfrager führt das Löschen aus, indem er die geeignete Hantierermodifikationsroutine verwendet, um den Hantiererparameter in einen Wert "CANCEL" zu ändern, und den Aufruf erneut ausgibt. Der Anfrager muss für diesen Aufruf keine anderen Parameter ändern. Wenn der Dienstanbieter diesen Aufruf empfängt, erkennt er den Hantiererparameter mit dem Zustand "CANCEL" statt des erwarteten Zustands "MORE". Er holt seinen Kontext aus dem Hantiererparameter und verwendet diesen Kontext, um irgendwelche erforderlichen Aufräumarbeiten durchzuführen. Diese Aufräumarbeiten, umfassen das Löschen von Anfragen niedrigerer Ebene, die er ausgegeben hat, das Beenden jeglicher Verarbeitung und das Zurückgeben aller Systembetriebsmittel. Wenn der Dienstanbieter seine Aufräumarbeiten abgeschlossen hat, verwendet er die entsprechende Hantierermodifikationsroutine, um den Hantiererparameter erneut in den Zustand "FIRST" zurückzusetzen. Anschließend gibt er den speziellen Bedingungswertrückgabecode CANCELED zurück, um ein erfolgreiches Löschen der Anfrage anzuzeigen.
  • Der Anfrager kann eine Anfrage nicht löschen, nachdem der Dienstanbieter einen Hantiererparameterzustand "FIRST" zurückgegeben hat. Die Anfrage ist bereits abgeschlossen und es existiert kein Dienstanbieterkontext, der zu löschen ist. Die obenbeschriebene Löschroutine gibt daher einen Fehler zurück, wenn der Hantiererzustand nicht gleich "MORE" ist.
  • F. VERSENDEN
  • Die Versendetabellen 28 enthalten mehrere Datenstrukturen, von denen eine in 8A gezeigt ist, sowie eine oder mehrere Versendelisten, die Versendeeinträge enthalten, von denen einer in 8B dargestellt ist. Der Versendebaum und die Versendelisten bilden im wesentlichen Prüftabellen, die beim Prüfen einer Anfrage verwendet werden, wie im folgenden in Verbindung mit 9 beschrieben wird. Wie in 8A gezeigt, enthält ein Versendebaum mehrere Objektknoten 130. Die Objektknoten 130 sind in einer Baumstruktur organisiert, um das Prüfen zu unterstützen, sie können jedoch in anderen Datenstrukturen organisiert sein. Die Objektknoten identifizieren die verschiedenen Objekte im komplexen System, mit welchen eine Anfrage ausgegeben werden kann. Die Objektknoten 130 enthalten Zeiger, die auf Versendeeinträge 134 (8B) in den in entsprechenden Versendetabellen 28 gehaltenen Versendelisten zeigen.
  • Der Ausdruck "Objektknoten" wird verwendet, um die Datenstruktur 130 zu beschreiben, da diese das obenbeschriebene Objektmodell erfüllt. Im allgemeinen erfüllt die Datenstruktur 130 das Objektmodell, da sie eine hierarchische Struktur aufweist und ihre Ablegerstrukturen ähnlich sind. Der Ausdruck "Objektknoten", wie. er zur Beschreibung der Datenstruktur 130 verwendet wird, sollte nicht mit dem Ausdruck "Objekt" verwechselt werden, der zur Beschreibung der Objekte des komplexen Systems verwendet wird.
  • Ein Objektknoten 130 enthält mehrere Felder, einschließlich eines Klassen/Instanzen-Merkerfeldes 140, das anzeigt, ob sich der Objektknoten 130 auf eine Objektklasse oder eine Instanz innerhalb einer Klasse bezieht. Jedes Objekt kann eine Instanz einer Klasse sein, wobei die Klasse durch einen Klassennamen definiert ist, der in der Objektdefinition 46 des Objekts (3A) identifiziert ist, während die Versendetabelle 24 separate Objektknoten 130 enthält, die der Klasse und der Instanz zugeordnet sind, wie im folgenden in Verbindung mit 9 beschrieben wird.
  • Während die Anfrage geprüft wird, werden die Klassennamen und Instanzennamen eines Objekts, und seiner Unterobjekte unter Verwendung der Datenstrukturen des in 8A gezeigten Typs geprüft, obwohl die Struktur beim Prüfen der Klassennamen oder Instanzennamen anders verwendet wird. Der Fall für die Klassen oder Instanzen wird mittels des Klassen/Instanzen-Merkers angezeigt.
  • Der Objektknoten 130 enthält ferner Baumverbindungszeiger, die verschiedene andere Objekte in der Versendetabelle 28 identifizieren. Ein Modul, das Anfragen bedient, die sich auf mehrere Objekte derselben Klasse beziehen, kann mittels eines Stellvertreterzeichens oder eines Ellipsenzeichens identifiziert werden. Ist dies der Fall, besitzt ein zugehöriger Objektknoten einen Stellvertreterzeichenzeiger in einem Feld 141 oder einen Ellipsenzeichenzeiger in einem Feld 142. Jeder Stellvertreterzeichenzeiger und Ellipsenzeichenzeiger umfasst einen Baumverbindungseintrag, wie im folgenden beschrieben wird. Wenn der Objektknoten sich auf eine Klasse bezieht, die keine Instanzen besitzt, ein Beispiel hierfür wird im folgenden in Verbindung mit 9 beschrieben, enthält ein Feld 143 einen Null-Zeiger, der einen Baumverbindungseintrag auf einen weiteren Objektknoten enthält. Schließlich enthält ein Feld 131 einen codierten Eintrag, der den Code enthält, der die Klasse oder den Namen einer Instanz des Objekts identifiziert, das dem Objektknoten zugeordnet ist, sowie einen Verbindungszeiger.
  • Das codierte Eintragsfeld 131, das im Objektknoten 130 der 8A gezeigt ist, ist ein Eintrag in eine codierte Liste. (Der Rest der Liste ist nicht gezeigt.) Die codierte Liste ist eine verkettete Liste, die Namen von Klassen von Objekten enthält, die durch die Managementspezifikationen der Objekte definiert sind (siehe 3A bis 3D), wenn sie sich auf Klassen oder Namen von Instanzen von Objekten beziehen. Jeder codierte Eintrag 131 enthält einen Zeiger 150 auf den nächsten codierten Eintrag in der Liste, ein Klassencode/Instanzennamen-Wertfeld 151 sowie ein Feld 152, das einen Verbindungseintrag 133 enthält, der einen Zeiger auf einen Objektknoten 130 oder auf einen Versendeeintrag 134 enthält.
  • Das Klassencode/Instanzenwert-Feld 151 im codierten Eintrag 133 enthält entweder einen Klassencode oder einen Instanzennamen. Die Inhalte des Feldes 151 umfassen einen Klassencode, wenn das Klassen/Instanzen-Merkerfeld 140 des Objektknotens 130 bedingt ist, um den Objektknoten als einer Klasse zugehörig zu identifizieren. Alternativ enthalten die Inhalte des Feldes 151 einen Instanzennamen, wenn das Klassen/Instanzen-Merkerfeld 140 des Objektknotens 130 so beschaffen ist, dass es den Objektknoten als einer Instanz zugehörig identifiziert.
  • Wie in 8B gezeigt, werden die Versendeeinträge 134 in einer Versendeliste verwendet, um die bestimmte Prozedur zur Verarbeitung einer Anfrage zu identifizieren. Eine Versendeliste ist eine verkettete Liste eines oder mehrerer Versendeeinträge 134, wobei jeder Eintrag 134 Informationen enthält, die für die Übertragung einer Anfrage oder einer Hilfsanfrage zu einem geeigneten Funktionsmodul 11 oder Zugriffsmodul 12 nützlich sind. Genauer enthält ein Versendeeintrag 134 einen Zeiger 160 auf einen nächsten Versendeeintrag 134 in der Liste. Ein Feld 161 enthält eine Identifikation des Funktionsmoduls 11 oder des Zugriffsmoduls 12, bei dessen Anmeldung der Versendeeintrag 134 erzeugt worden ist. Ein Versendeeintrag 134 enthält ferner eine Reihe von Feldern 162 bis 164, die auf eine Prozedur, einen Prozess und einen Knoten im komplexen System zur Verarbeitung einer Anfrage zeigen. Ein Feld 165 identifiziert das Befehlswort, dem der Versendeeintrag zugeordnet ist, während ein Attributfeld 166 einen Satz von Attributen identifiziert, wie sie mittels Attributen identifiziert werden, die von einem Attributdefinitionsfeld 54 der Managementspezifikation (3B) definiert werden. Schließlich identifiziert ein Zählerfeld 167 die Häufigkeit, mit der der Versender den Versendeeintrag 134 in Verbindung mit der Verarbeitung einer Anfrage oder einer Hilfsanfrage verwendet hat.
  • Mit diesem Hintergrund wird der vom Versender 16 beim Prüfen und Versenden einer Anfrage von einem Darstellungsmodul 10 ausgeführte Prozess in Verbindung mit 9 beschrieben. Es wird angenommen, dass der Versender 21 einen ähnlichen Prozess in Verbindung mit einer Hilfsanfrage von einem Funktionsmodul 11 durchführt. Wie in 9 gezeigt, sieht eine Anfrage 180 wie folgt aus:
    Figure 00820001
    Figure 00830001
    die in Verbindung mit einem verteilten digitalen Datenverarbeitungssystem verwendet wird. Die Anfrage 180 enthält eine Anzahl von Abschnitten, einschließlich eines Befehlswortabschnitts 181, nämlich SHOW, eines Objektabschnitts, der mehrere Objektklassencodes und Instanzennamen 182 bis 186 enthält, sowie eines Attributabschnitt 187, der mehrere Attribute enthält. In diesem Beispiel leitet das Befehlswort SHOW die Erzeugung einer Antwort von dem Objekt, das in der Anfrage genannt ist, bezüglich der genannten Eigenschaften ein.
  • In der Anfrage 180 enthält der Objektabschnitt, d. h. die Objekte 182 bis 186, mehrere Klassen/Instanzen-Paare. Genauer ist das Objekt 182, NODE, ein Klassencode, während das Objekt 183, nämlich <node name>, mit dem Instanzennamen <node name> eine Instanz der Objektklasse NODE identifiziert. Im verteilen digitalen Datenverarbeitungssystem identifiziert <node name> einen Knoten im verteilen digitalen Datenverarbeitungssystem.
  • Außerdem enthält die Anfrage 180 im Objektabschnitt einen Objektklassencode 184, ROUTINE, der keine Instanzen besitzt. Zusätzlich besitzt die Anfrage 180 einen weiteren Objektklassencode, CIRCUIT, der eine durch <ROUTING CIRCUIT NAME> identifizierte Instanz besitzt.
  • Wie in den 3A bis 3D gezeigt, die eine Management-Spezifikation darstellen, sind verschiedene Objekte einer Anfrage in Verbindung mit einem Objekt spezifiziert durch die Managementspezifikation. Genauer werden die Inhalte des Befehlswortabschnitts 181 einer Anfrage aus den Direktiven entnommen, die durch die Direktivendefinitionen 56 definiert sind, während die Objektklassen- und Unterobjektklassennamen 182, 184, 185 aus dem Objektklas sencodefeld 47 entnommen werden und der Attributabschnitt 87 aus den Attributdefinitionen 54 der Managementspezifikation für das Objekt entnommen wird.
  • Die Objekt- und Unterobjektinstanzennamen werden aus den Instanzendaten entnommen, die dem Benutzer bekannt sind (z. B. durch Zugriff auf die Konfigurationsdatenbank oder durch automatisch erzeugte Menüs).
  • Als Antwort auf das Empfangen einer Anfrage beginnt der Versender 16 zuerst mit dem Prüfen der Anfrage im Objektabschnitt, der mit dem Globalobjektklassencodeobjekt 182 beginnt, unter Verwendung der Objektknoten 130 (8A). Genauer beginnt, wie in 9A gezeigt, der Versender 16 zuerst (Schritt 190) bei einem Wurzelobjektknoten 130, der einen Klassen/Instanzen-Merker 140 besitzt, der angibt, dass dem Objektknoten Klassencodes zugeordnet sind, und sucht nach einem Eintrag seiner codierten Liste 131, die einen codierten Eintrag 131 enthält, der seinerseits ein Klassencodefeld 151 besitzt, das einen Klassencode NODE enthält. Wenn der Versender 16 keinen solchen Eintrag in der Versendetabelle 28 finden kann, sucht er nach einem Stellvertreterzeichen- oder Ellipsenzeichenzeiger (siehe unten). (Wenn keine Stellvertreterzeichen- oder Ellipsenzeichenzeiger gefunden werden, antwortet er dem Modul 10, von dem er die Anfrage empfangen hat, mit einem Fehler.)
  • Wenn der Versender 16 einen solchen Objektknoten 130 in der Versendetabelle 28 lokalisiert, rückt er zum nächsten Schritt (Schritt 191) in der Prüfoperation vor, indem er versucht, einen Objektknoten 130 zu lokalisieren, dem die Instanz <node name> zugeordnet ist, wie im Objektelement 183 spezifiziert ist. Bei dieser Operation verwendet der Versender 16 die Inhalte des Zeigerfeldes 152 im codierten Eintrag 131, um einen Objektknoten mit einem Klas sen/Instanzen-Merker 140 zu lokalisieren, der angibt, dass dem Objektknoten Instanzennamen zugeordnet sind, und dessen codierte Liste einen codierten Eintrag 131 enthält, dessen Instanzennameneintrag 132 dem <node name> im Objektelement 183 der Anfrage 180 entspricht. Wenn der Versender 16 wiederum keinen solchen Knoten 130 in der Versendetabelle 28 lokalisieren kann, sucht er erneut nach einem Stellvertreterzeichen- oder Ellipsenzeichenzeiger (siehe unten).
  • Wenn der Versender 16 andererseits im Schritt 191 in der Versendetabelle 28 einen dem Element 183 zugeordneten Objektknoten lokalisiert, rückt er zum nächsten Schritt (Schritt 192) vor, in dem er versucht, einen Objektknoten zu lokalisieren, dem der Klassencode 184, ROUTING, zugeordnet ist. Bei dieser Operation verwendet der Versender 16 den Zeiger im Feld 152 des codierten Eintrags 131 und das Objektelement ROUTING aus der Anfrage, um einen Objektknoten 130 zu lokalisieren, der einen Klassen/Instanzen-Merker 140 enthält, der angibt, dass dem Objektknoten Klassencodes zugeordnet sind, und dessen codierte Eintragsliste einen codierten Eintrag 131 enthält, der ein Klassencodefeld 151 besitzt, das ROUTING enthält. Da in dieser Situation die Objektklasse ROUTING eine Objektklasse ohne Instanzen ist, ist das Zeigerfeld 152 im codierten Eintrag 133. gleich Null. In diesem Fall zeigt das Null-Zeigerfeld 143 im Objektknoten 130 auf einen zweiten Objektknoten 130, dem das Klassenobjekt CIRCUIT zugeordnet ist.
  • Im Schritt 192 verwendet der Versender 16 den Null-Zeiger im Objektknoten 130, der dem im Schritt 192 lokalisierten ROUTING-Klassenobjekt zugeordnet ist, um einen zweiten Objektknoten 130 zu lokalisieren, dessen Klassen/Instanzen-Merker 140 anzeigt, dass diesem Klassencodes zugeordnet sind, sowie eine codierte Liste, die einen codierten Eintrag 131 enthält, dessen Klassencodefeld 151 CIRCUIT enthält (Schritt 193). Wenn der Versender keinen solchen Objektknoten lokalisieren kann, sucht er nach einem Stellvertreterzeichen- oder Ellipsenzeichenzeiger (siehe unten).
  • Wenn der Versender 16 andererseits im Schritt 193 einen Objektknoten 130 lokalisiert, rückt er zu Schritt 194 vor, in dem er versucht, einen Objektknoten 130 zu lokalisieren, der das Instanzenobjektelement <ROUTING CIRCUIT NAME> identifiziert. Bei dieser Operation verwendet er den Zeiger im Feld 152 des codierten Eintrags 131, um einen Objektknoten 130 zu lokalisieren, dessen Klassen/Instanzen-Merker 140 angibt, dass diesem Instanzennamen zugeordnet sind, und dessen codierte Liste einen codierten Eintrag 132 enthält, dessen Instanzennamensfeld 151. <ROUTING CIRCÜIT NAME> enthält, wie im Instanzenobjekt 186 der Anfrage 180 spezifiziert ist. Wenn der Versender 16 keinen solchen Eintrag lokalisieren kann, sucht er nach einem Stellvertreterzeichen- oder Ellipsenzeichenzeiger (siehe unten).
  • Wenn andererseits der Versender im Schritt 194 einen Instanzenobjektknoten 130 lokalisiert, der das Instanzenobjektelement 186 identifiziert, hat er den Elementabschnitt 182 bis 186 der Anfrage 180 erfolgreich geprüft. Anschließend verwendet der Versender 16 den Zeiger im Feld 152 des im Schritt 94 lokalisierten codierten Eintrags 131, das Befehlswort im Befehlswortelement 181 und die Attribute im Charakteristikelement 187 der Anfrage, um einen Versendeeintrag 134 zu identifizieren (8B), der bei der Verarbeitung der Anfrage verwendet werden soll. Genauer verwendet der Versender 16 nach dem Schritt 194 den Zeiger im Feld 152 des codierten Eintrags 131, um eine Liste von Versendeeinträgen 134 zu identifizieren. Anschließend versucht der Versender 16, einen Versende eintrag 134 zu lokalisieren, dessen Inhalte im Befehlswortfeld 165 dem Befehlswortelement 181 der Anfrage 180, in diesem Fall SHOW, entsprechen und dessen Inhalte im Attributfeld 166 den Attributen im CHARACTERISTIC-Element 187 entsprechen.
  • Wenn der Versender im Schritt 195 einen solchen Versendeeintrag 134 lokalisiert, verwendet er die Inhalte des Prozeduridentifikationsfeldes 162, des Prozessidentifikationsfeldes 163 und des Knotenidentifikationsfeldes 164, um die Prozedur zur Verarbeitung der Anfrage aufzurufen. Bei der Operation überträgt der Versender 16 effektiv die Anfrage für die Verarbeitung zum Objekt. Es wird angenommen, dass wie oben in Verbindung mit 6 beschrieben dann, wenn die Prozessidentifikation im Feld 163 und die Knotenidentifikation im Feld 164 einen anderen Prozess oder Knoten identifizieren als der Versender enthält, der Versender die Anfrage zur Verarbeitung zu dem Versender im anderen Prozess oder Knoten überträgt, der in den entsprechenden Feldern 163 und 164 identifiziert ist.
  • Oben ist die Verwendung der codierten Einträge der Versendetabelle beschrieben. Die Stellvertreterzeichen- und Ellipsenzeichenzeiger bieten eine zusätzliche Funktion für diese Tabelle. Zum Beispiel kann ein Managementmodul alle Anfragen für Module einer bestimmten globalen oder untergeordneten Objektklasse handhaben. Ohne Stellvertreterzeichen- und Ellipsenzeichenzeiger müssten alle Instanzen der Klassen und Instanzen aller Unterklassen in der Versendetabelle aufgezählt werden. Um dies zu vermeiden, werden Stellvertreterzeichen- und Ellipsenzeichenzeiger vorgesehen, die in einer Versendespezifikation 39A (2B) verwendet werden können, um in einer allgemeinen Weise anzugeben, welche Objektklassen und Instanzen ein Managementmodul bedient.
  • Ein Beispiel einer solchen Versendespezifikation ist:
    NODE * ROUTING CIRCUIT ...,
    die angibt, dass das Modul für irgendeine Instanz eines NODE-Klassenglobalobjekts alle Instanzen der Unterobjektklasse CIRCUIT sowie alle Unterobjekte der CIRCUIT-Klassenunterobjekte behandeln kann. Der Asterisk (*) passt zu einem beliebigen Instanzennamen, während die Ellipse (...) zu irgendwelchen Instanzen des Unterobjekts oder zu Klassen/Instanzen-Paaren der Unterobjekte passt, die folgen können. Zum Beispiel würde der Ausdruck NODE foo ROUTING CIRCUIT bar LINK fred
    zur Versendespezifikation passen, da "*" zu "foo" passt und "..." zu "bar ZINK fred" passt.
  • Um wie in 9B gezeigt eine Stellvertreterzeichen-Versendespezifikation in die Versendetabelle 28 einzugeben, wird der Objektknoten 130 im Schritt 191 (9A) modifiziert, der den Instanzennamen der NODE-Klassenobjekte zugeordnet ist. Der Stellvertreterzeichenzeiger 141 wird verändert, so dass er auf einen neuen Objektknoten 130 (Schritt 196) zeigt, der Klassencodes enthält, von denen einer der Klassencode ROUTING war. Der Ablegerzeiger, der sich auf den Klassencode ROUTING bezieht, wäre gleich Null (wie im Schritt 192, 9A), während der Null-Zeiger auf einen weiteren neuen Objektknoten 130 zeigt (Schritt 197), der einen Ablegerzeiger besitzt, der dem Klassennamen CIRCUIT entspricht. Dieser Ablegerzeiger würde auf einen weiteren neuen Objektknoten 130 zeigen (Schritt 198), dessen Ellipsenzeichenzeiger auf den Versendeeintrag für das Modul zeigen würde (Schritt 199).
  • Das Prüfen der modifizierten Tabelle ist bis Schritt 191 dem in 9A beschriebenen ähnlich. Im Schritt 191 sucht der Versender 16 nach einer Instanz der NODE-Klasse mit einem Namen, z. B. "foo". Wenn dieser Namen in den codierten Einträgen gefunden wird (zu Darstellungszwecken sind drei gezeigt), rückt der Versender entsprechen den Ablegerzeigern in den codierten Einträgen vor. Wenn jedoch der Name "foo" nicht in den codierten Einträgen gefunden wird (durch einen Null-NÄCHSTER-EINTRAG-Zeiger im letzten codierten Eintrag angezeigt), dann sucht der Versender im Schritt 191 nach einem Nicht-Null-Stellvertreterzeichenzeiger. Nach der Lokalisierung des Stellvertreterzeichenzeigers rückt der Versender zum Schritt 196 vor.
  • Die Schritte 196 und 197 sind den Schritten 192 und 193 der 9A ähnlich. Der Versender verwendet den Null-Zeiger im Schritt 196 (der dem Klassencode "ROUTING" entspricht), um zum Schritt 197 vorzurücken, und verwendet anschließend den Ablegerzeiger, der dem Klassencode "CIRCUIT" entspricht, um zum Schritt 198 vorzurücken.
  • Im Schritt 198 durchsucht der Versender die verkettete Liste der codierten Einträge (zu Darstellungszwecken sind drei gezeigt), um einen Instanzennamen "bar" zu lokalisieren. Wenn dieser Name in den codierten Einträgen nicht gefunden wird, sucht der Versender anschließend nach einem Nicht-Null-Stellvertreterzeichenzeiger. Wenn dieser nicht gefunden wird, sucht der Versender nach einem Nicht-Null-Ellipsenzeichenzeiger. Dieser wird lokalisiert und verwendet, um zum Versendeeintrag überzugehen (Schritt 199). Die Inhalte des Versendeeintrags werden anschließend verwendet, um ein geeignetes Modul aufzurufen.
  • Es ist zu beachten, dass die Stellvertreterzeichen- und Ellipsenzeichenzeiger eine allgemeine Übereinstimmung von Objektklassencodes und Instanzennamen zulassen, jedoch nur nachdem die codierten Einträge der Versendetabelle geprüft worden sind. Auf diese Weise sucht der Versender nach der "besten spezifischen Übereinstimmung" des Objektnamens. Daher kann z. B. ein erstes Modul folgende Versendespezifikation besitzen:
    NODE * ROUTING CIRCUIT ...,
    die anzeigt, dass das Modul für alle Instanzen eines NODE-Klassenglobalobjekts alle Instanzen des CIRCUIT-Klassenunterobjekts eines ROUTING-Klassenunterobjekts behandeln kann. Ein zweites Modul kann folgende Versendespezifikation besitzen:
    MODE joe ROUTING CIRCUIT ...,
    die anzeigt, dass das Modul für die Instanz "joe" des NODE-Klassenglobalobjekts alle Instanzen des CIRCUIT-Klassenunterobjekts eines ROUTING-Klassenunterobjekts behandeln kann.
  • Um mit der Regel "beste spezifische Übereinstimmung" konsistent zu sein, sollten alle Direktiven für die NODE-joe-ROÜTING-CIRCUIT-Unterobjekte zum zweiten Modul gesendet werden. Dies wird mit dem Versendetabellenschema bewerkstelligt, da der Instanzennamen "joe" in den zweiten Einträgen im Schritt 191 'erscheint, weshalb dann, wenn "joe" der Instanzennamen in einer Anfrage an eine ROUTING-CIRCUIT ist, der codierte Eintrag "joe" verwendet wird (da er zuerst geprüft wird) und der Stellvertreterzeichenzeiger nicht verwendet wird.
  • Um den Versendebaum geeignet zu prüfen, muss vom Versender ferner ein Stapel verwendet werden. Ein einfaches Beispiel erläutert, warum dies erforderlich ist. Es sei ein neues Modul mit der Versendespezifikation
    NODE jim DISKDRIVE ...
    betrachtet, die anzeigt, dass das Modul für die Instanz "jim" des NODE-Klassenglobalobjekts alle Instanzen der DISKDRIVE-Klassenunterobjekte behandeln kann. Diese Spezifikation wird in den Baum eingegeben, indem im Schritt 191 ein codierter Eintrag mit dem Instanzennamen "jim" hinzugefügt wird und folgende neue Objektknoten in ähnlicher Weise wie in 9B hinzugefügt werden. Wenn anschließend Anfragen mit Globalobjektklassen- und Instanzennamen versendet werden:
    NODE jim,
    geht der Versender zu dem neuen Objektknoten über.
  • Eine Anfrage jedoch, die einen Objektnamen beginnend mit
    NODE jim ROUTING CIRCUIT
    beginnt, kann von dem neuen Modul nicht bedient werden, da das neue Modul nur DISKDRIVE-Klassenunterobjekte für die NODE-Instanz "jim" unterstützt. Sobald der Versender feststellt, dass der Klassenname ROUTING-CIRCÜIT vom neuen Modul nicht unterstützt wird, muss er daher einen Mechanismus besitzen, um zum Schritt 191 zurückzukehren und möglicherweise andere codierte Einträge oder Stellvertreterzeichen- oder Ellipsenzeichenzeiger verwenden, um ein Modul zu finden, das die Anfrage "NODE jim ROUTING CIRCUIT" bedient. Wenn somit der Versender die Versendetabelle durchläuft, hält er einen Stapel von Zeigern auf alle Objektknoten 130, die er ausgehend vom Wurzelknoten durchlaufen hat. Die Zeiger werden auf diesen Stapel geschoben und von demselben gezogen wenn sich der Versender durch die Versendetabellenbaumstruktur nach oben und nach unten bewegt und versucht den geeigneten Versendeeintrag zu finden.
  • Wenn kein passender Versendeeintrag gefunden wird, wird dem Anfrager (d. h. dem Darstellungs- oder Funktionsmodul) ein Fehler zurückgegeben.
  • Wie oben beschrieben worden ist, kann ein Steuerfunktionsmodul als Durchgang von den Darstellungsmodulen direkt zu den Zugriffsmodulen dienen. Um einen solchen Durchgang zu implementieren, sollten die Ellipsenzeichenzeiger für den Wurzelknoten des Darstellungsfunktionsmerkmals der Versendetabelle (der zu irgendeinem Objektnamen in irgendeiner Anfrage passt) auf den Versendeeintrag für das Steuerfunktionsmodul zeigen. Immer wenn das Steuer funktionsmodul eine Anfrage empfängt, gibt es einfach eine identische Anfrage an das Funktionszugriffsmerkmal des Versenders aus. Auf diese Weise werden alle Anfragen, die zu keiner Versendespezifikation in der Darstellungsfunktionsversendetabelle passen, ebenfalls zur Prüfung an die Funktionszugriffsversendetabelle weitergeleitet. Dies ermöglicht, dass Darstellungsmodulanfragen auf primitive Funktionen zugreifen, die von den Zugriffsmodulen zur Verfügung gestellt werden.
  • In einer alternativen Ausführungsform der Versendetabelle kann das Null-Zeigerfeld 143 das erste Element einer verketteten Liste enthalten, die eine ähnliche Struktur besitzt, wie die Liste der codierten Einträge 131, um mehr als einen Klassencode zuzulassen, der keine Instanzen besitzt. Die zweite "Null"-Liste würde Codewerte von Klassencodes enthalten, die keine Instanzen besitzen. Die Null-Liste würde nach der codierten Liste geprüft, jedoch vor der Prüfung auf einen Stellvertreterzeichenzeiger.
  • G. BEREICHE UND KONFIGURATION
  • Wie oben beschrieben worden ist, hält ein Konfigurationsfunktionsmodul 11 eine Konfigurationsdatenbank, die die Objekte definiert, die im komplexen System enthalten sind. Mittels geeigneter Kommandos von einem Operator kann das Konfigurationsfunktionsmodul 11 Instanzen von Objekten, die im Datenverzeichnis definiert sind, zur Konfigurationsdatenbank hinzufügen, diese aus der Konfigurationsdatenbank löschen und die Definitionen der Konfigurationsdatenbank ändern. Wie oben ebenfalls beschrieben ist, richtet ein Bereichsfunktionsmodul 11 ein Bereichsobjekt in der Konfigurationsdatenbank ein, dass sich auf eine Teilmenge der bereits in der Konfigurationsdatenbank definierten Objekte bezieht. Ein Operator kann über ein Darstellungsmodul 10 die Objekte, die ein spezifischer Bereich umfasst, steuern und überwachen, ohne die möglicherweise sehr vielen anderen Objekte, die im komplexen System enthalten sind, zu berücksichtigen. Außerdem kann ein Operator eine Steuer- oder Überwachungsfunktion in Verbindung mit Objekten nur in diesem Bereich einleiten, ohne dass er die Erzeugung einer Anfrage über ein Darstellungsmodul 10 für jedes Objekt einleiten muss, wodurch die Steuerung und Überwachung des komplexen Systems vereinfacht wird.
  • Das Bereichsfunktionsmodul 11 richtet innerhalb oder zusätzlich zur Konfigurationsdatenbank eine Bereichsdatenbank für jedes Bereichsobjekt ein, die die Objekte identifiziert, die das Bereichsobjekt umfasst. Nach dem Empfang eine geeigneten Anfrage fügt das Bereichsfunktionsmodul 11 ein Objekt einer Bereichsdatenbank hinzu, wobei das Objekt zum Bereichen zugefügt wird, löscht ein Objekt aus einer Bereichsdatenbank, wodurch das Objekt aus dem Bereich gelöscht wird, erzeugt eine Antwort, die die Objekte identifiziert, die ein Bereich umfasst, der in der Bereichsdatenbank identifiziert ist, und löscht eine Bereichsdatenbank, wodurch der Bereich effektiv gelöscht wird.
  • Wie in 9C gezeigt, enthält das Format der Konfigurations- und Bereichsdatenbanken (die zu einer einzigen Datenbank zusammengefasst sein können) ein Feld für jede Objektinstanz in der Konfiguration und in ähnlicher Weise für jede Objektinstanz im Bereich.
  • Die Bereichsdatenbank enthält einen Eintrag 230 für jedes Mitglied eines Bereichs, der den Bereichsnamen und den Instanzennamen des Objekt- oder Unterobjektmitglieds auflistet. Außerdem enthält die Bereichsdatenbank einen Eintrag 232 für jedes Objekt, das ein Mitglied irgendeines Bereichs ist, der den Instanzennamen und die Bereiche auflistet, von denen es ein Mitglied ist. Das Bereichsfunktionsmodul aktualisiert diese Informationen, wenn die Bereiche modifiziert werden, und kann die Informationen verwenden, um schnell die Mitglieder eines Bereichs zu ermitteln oder um alternativ schnell die Bereichsmitgliedschaft eines Objekts zu ermitteln.
  • In alternativen Ausführungsformen kann ein erster Bereich die Mitglieder eines zweiten Bereichs mit Bezug auf den zweiten Bereich enthalten, wodurch die Größe der Bereichsdatenbank verringert wird. In anderen Ausführungsformen kann die Bereichsdatenbank eine Hierarchie von Bereichen ähnlich der Hierarchie der Objekte und Unterobjekte einrichten, wobei Kommandos in ähnlicher Weise an Bereiche und Unterbereiche gerichtet werden können.
  • Die Konfigurationsdatenbank enthält einen Eintrag 234 für jedes Objekt und Unterobjekt, die in der Datenbank hierarchisch organisiert sind. Es wird der vollständige Name für jede Objekt- und Unterobjektinstanz geliefert. Diese Informationen können vom Konfigurationsfunktionsmodul verwendet werden, um die Konfiguration schnell zu ermitteln und z. B. (über ein Darstellungsmodul) dem Benutzer eine Karte der Konfiguration oder Menüs der Objektinstanzennamen anzuzeigen.
  • H. ALARME
  • Wie oben in Verbindung mit 1B beschrieben worden ist, umfasst ein Funktionsmodul 11 ein Alarmfunktionsmodul 11, das als Antwort auf Anfragen von einem Darstellungsmodul 10 Alarmbedingungen einrichten kann und unter Verwendung der verschiedenen Bedingungen der Objekte des komplexen Systems, die z. B. in der Benutzerschnittstelleninformationsdatei 29 aufgezeichnet sind, das Auftreten einer Alarmbedingung erfasst.
  • Die 10A zeigt die funktionelle Organisation des Alarmfunktionsmoduls 11. Wie in 10A gezeigt, enthält das Alarmfunktionsmodul 11 ein allgemeines Alarmmodul 200, das Anfragen vom Modul empfängt, diese interpretiert und einem oder mehreren Detektormodulen 201 oder einem oder mehreren Regelaufrechterhaltungsmodulen 202 ermöglicht, als Antwort darauf zu operieren. Wie oben gezeigt, führt das Alarmfunktionsmodul 11 zwei allgemeine Typen von Operationen durch, nämlich das Aufrechterhalten von Alarmbedingungen und das Erfassen von Alarmbedingungen.
  • Die Aufrechterhaltung der Alannbedingungsoperation des Alarmfunktionsmoduls 11 wird mittels des Regelaufrechterhaltungsmoduls 202 durchgeführt, das in einer Alarmregelbank 203 Regeln hält, die alle Alarmbedingungen identifizieren. Jede Regel stellt den Satz von Bedingungen dar, der ausgewertet werden muss, um das Vorhandensein einer Alarmbedingung zu ermitteln. Genauer erzeugt das Regelaufrechterhaltungsmodul 202 als Antwort auf Anfragen von einem Darstellungsmodul 10 Regeln, wie im folgenden in Verbindung mit 10B beschrieben, die in der Alarmregelbank 203 gespeichert werden. Außerdem kann das Regelaufrechterhaltungsmodul 202 als Antwort auf entsprechende Anfragen von einem Darstellungsmodul 10 die Regeln in der Alarmregelbank 202 modifizieren, was somit zu einer Modifikation der Bedingungen führt, unter denen eine Alarmbedingung, die durch die Regel dargestellt wird, besteht.
  • In ähnlicher Weise wird die Operation der Erfassung von Alarmbedingungen vom Erfassungsmodul 201 durchgeführt, das z. B. die Bedingungsinformationen in der Historiedatendatei (5) und die Alarmregeln in der Alarmregelbank 203 verwendet. Wie unten in Verbindung mit 10B. beschrieben, enthält jede Regel einen Bedingungsabschnitt, der die Bedingungen identifiziert. Um eine Alarmbedingung zu erfassen, ermittelt das Erfassungsmodul 201, ob z. B. die Inhalte der Historiedatendatei mit den Bedingungen der verschiedenen Regeln übereinstimmen. Ist dies der Fall, erzeugt das Erfassungsmodul 201 eine Alarmanzeige, die vom allgemeinen Alarmmodul 200 über ein Benachrichtigungsmodul 204 z. B. zur Anzeige für den Operator zum Darstellungsmodul 10 übertragen wird.
  • Die allgemeine Form einer Alarmregel, die vom Regelaufrechterhaltungsmodul 202 erzeugt wird, ist in 10B gezeigt. Wie in 10B gezeigt, enthält eine Alarmregel einen Bedingungsabschnitt 210, der den Satz von Bedingungen darstellt, die für die Anzeige eines Alarms erforderlich sind. Der Bedingungsabschnitt enthält einen Ausdruckabschnitt 212, einen relationalen Operator 213 und einen Ausdruckswertabschnitt 214. Der relationale Operator 213 setzt den Ausdruckabschnitt 212 zum Ausdruckswertabschnitt 214 in Beziehung, so dass der Bedingungsabschnitt 210 bei der Auswertung entweder zu einem logischen WAHR oder zu einem logischen FALSCH kommt. Es wird angenommen, dass dann, wenn der Ausdruckabschnitt 212 selbst mit der Auswertung zum logischen WAHR oder logischen FALSCH kommt, der relationale Operator 213 und der Ausdruckswertabschnitt 214 des Bedingungsabschnitts 210 nicht benötigt werden. In jedem Fall besteht eine Alarmbedingung, wenn der Bedingungsabschnitt bei der Auswertung zu einem logischen WAHR kommt.
  • Die Regel enthält einen Objekt- und Attributsabschnitt 212 sowie einen Zeitwertabschnitt 216. Der relative Operatorwertabschnitt 213 setzt die Werte eines Attributs zu einem Wertabschnitt 214 in Beziehung. Der Zeitwertabschnitt 216 richtet eine Zeitfunktion ein und kann die Zeitpunkte oder die Zeitintervalle anzeigen, zu denen der Bedingungsabschnitt 210 vom Alarmerfassungsmodul 201 verwendet werden soll.
  • Das Vorsehen eines Alarmfunktionsmoduls 11 ermöglicht einem Operator, Alarmbedingungen auf einer dynamischen oder bedarfsgerechten Grundlage einzurichten. Da die Alarmbedingungen nicht im voraus in der Steueranordnung eingerichtet sein müssen, kann die Steueranordnung bei der Steuerung und Überwachung einer großen Vielzahl unterschiedlicher komplexer Systeme verwendet werden. Wenn z. B. die Steueranordnung verwendet wird, um verteilte digitale Datenverarbeitungssysteme zu steuern und zu überwachen, die diverse Konfigurationen von Knoten besitzen können, die über ein Netz kommunizieren, können die Alarmbedingungen von einem Operator auf der Grundlage der bestimmten Konfiguration eingerichtet werden. Außerdem können Alarmbedingungen hinzugefügt werden, indem Regeln zur Alarmregelbasis 203 hinzugefügt werden, wenn eine neue Alarmbedingung während einer Operation des komplexen Systems entdeckt wird.

Claims (9)

  1. System (35) zum Steuern und Ausführen von Managementfunktionen für eine Ansammlung von Einheiten (36), wobei die Einheiten innerhalb der Ansammlung über Schnittstellen verbunden sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Einheiten ferner mit dem System über Schnittstellen verbunden sind, um die Ausführung der Managementfunktionen zu ermöglichen, wobei die Managementfunktionen eine Funktion zum Abfragen eines oder mehrerer Attributwerte von einer Einheit enthalten, wobei die Attributwerte den Operationszustand der Einheit identifizieren, wobei das System umfasst: – gespeicherte Managementmodule (10, 11, 12, 38), welche die Managementfunktionen durch Ausführen ausgewählter managementbezogener Befehle ausführen, wobei die ausgewählten managementbezogenen Befehle einen Zeitbereich spezifizieren, – einen Speicher (17, 22), der Aufzeichnungen (26) der Attributwerte enthält, wobei jede Aufzeichnung die Angabe einer zugeordneten Zeit (216) enthält, – wobei wenigstens ein Modul (200) ein- oder mehrmalig entsprechend Alarmbedingungen Regeln speichert, welche die Attributwerte (212, 215) identifizieren, und einen Regelgenerator (202) zum Er zeugen von Regeln für die Speicherung sowie einen Alarmbedingungsdetektor (201) umfasst, um auf den Zeitbereich bezogene Attributwerte vom Speicher oder den Einheiten abzufragen und eine Alarmbedingung in Reaktion auf die Inhalte der Regeln zu erfassen, wenn die abgefragten Attributwerte einer Alarmbedingung entsprechen.
  2. System nach Anspruch 1, wobei die Ansammlung von Einheiten ein verteiltes digitales Datenverarbeitungssystem umfasst, wobei die Einheiten Hard- und Softwarekomponenten davon enthalten.
  3. System nach Anspruch 1 oder 2, wobei die Managementmodule (10, 11, 12, 38) die Managementfunktionen durch unabhängiges Interpretieren und Ausführen ausgewählter managementbezogener Befehle ausführen.
  4. System nach Anspruch 1 oder 2, wobei wenigstens einige der Managementfunktionen zur Anzeige für einen Benutzer Managementinformationen erzeugen, die den Status der primären Informationshandhabungsfunktionen einer oder mehrerer Einheiten angeben.
  5. System nach Anspruch 1 oder 2, das ferner eine Aufzeichnungseinrichtung (11, 17, 22) für historische Daten umfasst, um periodisch auf neue Attributwerte zuzugreifen und diese in den Aufzeichnungen in Reaktion auf ein vorbestimmtes Verzeichnis zu speichern.
  6. System nach Anspruch 1 oder 2, wobei das Regelmodul (202) auf Benutzerbefehle zum Erzeugen neuer Regeln oder Modifizieren bestehender Regeln anspricht.
  7. System nach Anspruch 1 oder 2, wobei die Regeln in Reaktion auf die Benutzerbefehle freigegeben oder gesperrt werden können.
  8. System nach Anspruch 1 oder 2, wobei die Syntax der Regeln einen Einheiten- und Attributspezifikator (215), einen relationalen Operator (213), einen Wert (214) und einen Zeitparameter (216) umfasst.
  9. Verfahren zum Steuern und Ausführen von Managementfunktionen für eine Ansammlung von Einheiten (36), wobei die Einheiten innerhalb der Ansammlung über Schnittstellen verbunden sind, um primäre Informationshandhabungsfunktionen zu steuern, und die Einheiten ferner über Schnittstellen mit dem System verbunden sind, um das Ausführen der Managementfunktionen zu ermöglichen, wobei die Managementfunktionen eine Funktion zum Abfragen eines oder mehrerer Attributwerte von der Einheit enthalten, wobei der Attributwert den Operationszustand der Einheit identifiziert, wobei das Verfahren die Schritte aufweist: – Ausführen der Managementfunktionen durch Ausführen ausgewählter managementbezogener Befehle innerhalb gespeicherter Managementmodule (10, 11, 12, 38), wobei die ausgewählten managementbezogenen Befehle einen Zeitbereich spezifizieren, – Speichern von Aufzeichnungen (26) der Attributwerte, wobei jede Aufzeichnung eine Angabe einer zugeordneten Zeit (216) enthält, und – in wenigstens einem Modul (11), ein- oder mehrmaliges Speichern von Regeln, welche Attributwerte (212, 215) identifizieren, entsprechend Alarmbedingungen, Erzeugen von Regeln für die Speicherung und Abfragen von auf den Zeitbereich bezogenen Attributwerten vom Speicher oder den Einheiten, und Erfassen einer Alarmbedingung in Reaktion auf die Inhalte der Regeln, wenn die abgefragten Attributwerte einer Alarmbedingung entsprechen.
DE1989629549 1988-09-13 1989-09-13 Verwaltungssystem für verbundene Einheiten Expired - Fee Related DE68929549T2 (de)

Applications Claiming Priority (20)

Application Number Priority Date Filing Date Title
US244691 1988-09-13
US244851 1988-09-13
US244742 1988-09-13
US244845 1988-09-13
US244834 1988-09-13
US244503 1988-09-13
US244730 1988-09-13
US244919 1988-09-13
US244114 1988-09-13
US24491988A 1988-09-14 1988-09-14
US24485188A 1988-09-14 1988-09-14
US24473088A 1988-09-14 1988-09-14
US24484588A 1988-09-14 1988-09-14
US24483488A 1988-09-14 1988-09-14
US24469188A 1988-09-14 1988-09-14
US24474288A 1988-09-14 1988-09-14
US24450388A 1988-09-14 1988-09-14
US24411488A 1988-09-14 1988-09-14
US07/402,391 US5345587A (en) 1988-09-14 1989-09-07 Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands
US402391 1989-09-07

Publications (2)

Publication Number Publication Date
DE68929549D1 DE68929549D1 (de) 2007-01-25
DE68929549T2 true DE68929549T2 (de) 2007-06-21

Family

ID=37591526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1989629549 Expired - Fee Related DE68929549T2 (de) 1988-09-13 1989-09-13 Verwaltungssystem für verbundene Einheiten

Country Status (1)

Country Link
DE (1) DE68929549T2 (de)

Also Published As

Publication number Publication date
DE68929549D1 (de) 2007-01-25

Similar Documents

Publication Publication Date Title
DE68928433T2 (de) Verwaltungssystem für verbundene einheiten in einem verteilten rechnersystem
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE69712678T3 (de) Verfahren zur Echtzeitüberwachung eines Rechnersystems zu seiner Verwaltung und Hilfe zu seiner Wartung während seiner Betriebsbereitschaft
DE69209193T2 (de) Netzwerkverwaltungsagent mit vom Bediener geschaffenen Objekten
DE69832354T2 (de) Netzwerkverwaltungsrahmenwerk
DE60131683T2 (de) Verfahren und system zur verwaltung von mehreren netzwerk-betriebsmitteln
DE68925866T2 (de) Computersystem mit Verarbeitungsrechner
DE69636914T2 (de) Verfahren und Vorrichtung für Netzwerkverwaltung
DE69531599T2 (de) Verfahren und Gerät zum Auffinden und Beschaffen personalisierter Informationen
DE69936152T2 (de) System und verfahren zur dynamischen korrelation von ereignissen
DE69724356T2 (de) Verfahren und Apparat für die Darstellung von Information im Bezug auf jeden einzelnen von mehreren Hyperlinks
DE60009489T2 (de) Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät
DE3852324T2 (de) Verfahren und System zur Netzwerkverwaltung.
DE69720857T2 (de) Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation
DE69122830T2 (de) Verteiltes Konfigurationsprofil für ein Rechnersystem
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE60115240T2 (de) Automatisierte werkzeugverwaltung in einer umgebung mit mehreren protokollen
DE69126666T2 (de) Netzwerkverwaltungssystem mit modellbasierter intelligenz
DE60133648T2 (de) System und verfahren zum führen von laufzeitdaten in einem server-netzwerk
DE69030551T2 (de) Prozess und Gerät zur Handhabung zeitaufwendiger und wiederverwendbarer Abfragen in einem objekt-orientierten Datenbankverwaltungssystem
DE3855166T2 (de) Selbstkonfiguration von Knotenpunkten in einem verteilten, auf Nachrichten gegründeten Betriebssystem
US6505246B1 (en) User interface for system management applications
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
DE69032191T2 (de) Anordnung und Verfahren zur Realisierung von Hochleistungskommunikation zwischen Softwareprozessen
DE69635648T2 (de) System und Verfahren zur Filterung eines Hochleistungsnetzwerk-Verwaltungsplans

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee