DE69425699T2 - Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell - Google Patents
Integrierung von Systemverwaltungsdiensten mit einem unterliegenden SystemobjektmodellInfo
- Publication number
- DE69425699T2 DE69425699T2 DE69425699T DE69425699T DE69425699T2 DE 69425699 T2 DE69425699 T2 DE 69425699T2 DE 69425699 T DE69425699 T DE 69425699T DE 69425699 T DE69425699 T DE 69425699T DE 69425699 T2 DE69425699 T2 DE 69425699T2
- Authority
- DE
- Germany
- Prior art keywords
- distributed
- internal state
- distributed system
- storing
- interface
- 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 - Lifetime
Links
- 230000010354 integration Effects 0.000 title description 6
- 238000000034 method Methods 0.000 claims description 74
- 238000012545 processing Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein Datenverarbeitungssysteme und insbesondere die Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell.
- Damit Systemverwaltungsfunktionen ihre beabsichtigten Aufgaben richtig ausführen, müssen die Funktionen den internen Zustand der Komponenten überwachen können, die sie verwalten. Herkömmliche Systemen hatten keinen Zugriff auf den internen Zustand verwalteter Komponenten gehabt. Als Ergebnis ist es häufig bei herkömmlichen Systemen schwierig gewesen, die Komponenten richtig zu verwalten. Gewisse herkömmliche Systeme haben versucht, den Zugriff auf Informationen in bezug auf verwaltete Komponenten zu vergrößern, indem eine getrennte Grundstruktur und Zugriffstechnik für die internen Zustandsinformationen hinzugefügt wurden. Solche herkömmlichen Systeme haben jedoch die internen Zustandsinformationen nicht allgemein durch übliche, für Benutzer sichtbare Systemschnittstellen und Personen-Schnittstellen verfügbar gemacht.
- Z. Hong und W. McCoy, An associated object model for distributed systems, Operating Systems Review (SIGOPS), Oktober 1990, Bd. 24, Nr. 4, Seiten 34 bis 51, beschreiben ein Modell zur Unterstützung verteilter Anwendungen, das Associated Object Model genannt wird, in dem mehrere Objekte miteinander durch eine abstrakte Zuordnung kommunizieren können, wodurch die Arbeitsweise der verteilten Anwendungsobjekte (DAO) verbessert wird. Ein Broker genannter Mechanismus unterstützt die Herstellung und Beibehaltung von Zuordnungen zwischen zusammenarbeitenden DAOen. In dem Modell ist der Broker dazu bestimmt, das Auffinden von mehreren Objekten zu unterstützen. Der Broker errichtet und verwaltet abgeleitete Zuordnungen zwischen zusammenarbeitenden DAOen, der Broker liegt zwischen den DAOen in dem System und ein lokaler Broker ist an jedem Ort vorhanden, wo einige DAOen vorhanden sind. Die Aufgaben eines lokalen Brokers umfassen den Aufbau einer Zuordnung, die die entsprechenden Glieder umfaßt, das Bereitstellen eines zuverlässigen Datenübertragungsmechanismus, die Ausführung einer Abbildung von dem lokalen Namen auf einen globalen Namen, die Garantie der Einzigartigkeit der globalen Namen und die Bereitstellung von Mechanismen zur Erholung von Fehlern.
- Es ist die Zielsetzung der Erfindung, ein verteiltes System zu schaffen, bei dem die Komponenten in wirksamer und passender Weise verwaltet werden können, sowie ein Verfahren zum Betrieb des verteilten Systems.
- Diese Zielsetzung wird durch ein Verfahren erreicht, wie es im unabhängigen Anspruch 1 beansprucht ist, ein computerlesbares Medium, wie es im Anspruch 18 beansprucht ist, und ein verteiltes System, wie es in dem unabhängigen Anspruch 19 beansprucht ist. Bevorzugte Ausführungsformen der Erfindung sind Gegenstände der abhängigen Ansprüche.
- Gemäß einem ersten Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren in einem verteilten System durchgeführt, das zumindest eine Speichereinrichtung und Prozessoren zur Durchführung von Prozessen aufweist. Bei diesem Verfahren wird der interne Zustand einer verwalteten Komponente als ein Objekt in einer der Speichereinrichtungen dargestellt. Das Objekt ist für die Prozesse auf den Prozessoren sichtbar. Auf das Objekt wird dann im Auftrag von einem der Prozesse zugegriffen, um den internen Zustand der verwalteten Komponente zu erhalten.
- Die verwaltete Komponente kann in eine einzige Unterkomponente oder in mehrere Unterkomponenten unterteilt werden. Jede der Unterkomponenten hat einen internen Zustand. Des weiteren kann das Verfahren den zusätzlichen Schritt umfassen, das Objekt in ein Behälterobjekt für die Komponente einzuschließen. Das Behälterobjekt wird in einer der Speichereinrichtungen gespeichert und ist für Prozesse sichtbar, die auf dem Prozessor laufen. Das Verfahren ist zur Verwendung mit mehreren Komponenten anpaßbar, die verwaltet werden sollen. Ein Systemverwaltungsobjekt kann in den Speichereinrichtungen gespeichert werden. Das Systemverwaltungsobjekt verwaltet die verwaltete Komponente.
- Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung umfaßt ein verwaltetes System Speichereinrichtungen und Prozessoren zur Durchführung der Prozesse. Das verteilte System umfaßt auch eine zu verwaltende Komponente, die einen internen Zustand hat. Das verteilte System umfaßt eine Einrichtung zur Speicherung des internen Zustands der Komponente in der Speichereinrichtung als ein Objekt. Das verteilte System umfaßt des weiteren eine Einrichtung, das Objekt für die auf den Prozessoren laufenden Prozesse zugreifbar zu machen.
- Gemäß einem noch anderen Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren bei einem verteilten System durchgeführt, das eine Prozedurfernaufrufeinrichtung, ein erstes Datenverarbeitungssystem und ein zweites Datenverarbeitungssystem aufweist. Das erste Datenverarbeitungssystem umfaßt einen Prozessor zur Durchführung eines Prozesses. Das zweite Datenverarbeitungssystem umfaßt eine Komponente, die einen Zustand und eine Speichereinrichtung aufweist. Bei diesem Verfahren wird ein Objekt in der Speichereinrichtung des zweiten Datenverarbeitungssystems gespeichert. Das Objekt hält den Zustand der Komponente. Der Prozeß, der auf dem Prozessor des ersten Datenverarbeitungssystems läuft, verlangt Zugriff auf den Zustand der Komponente, die in dem Objekt gehalten ist. In Antwort auf die Anforderung wird ein Prozedurfernaufruf durchgeführt, wobei die Prozedurfernaufrufeinrichtung verwendet wird, Zugriff auf die Information durch den Prozeß über den Zustand der Komponente zu erlangen, die in dem Objekt gehalten ist.
- Entsprechend einem noch anderen Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren in einem verteilten System durchgeführt, das Speichereinrichtungen zur Speicherung von Objekten, die Namen besitzen, Prozessoren, die Programme mit Zuständen durchführen und ein Betriebssystem aufweist. Das Betriebssystem umfaßt einen Namendienst, der einen globalen Namensraum für die Namen der Objekte liefert, die in den Speichereinrichtungen gespeichert sind. Bei diesem Verfahren wird eine Variable in einem Programm erklärt, daß sie eine Variable ist, deren Wert in dem globalen Namensraum verfügbar ist. Das Programm läuft auf einem der Prozessoren, so daß der Variablen ein Wert zugeordnet wird, und der Wert wird in dem Objekt gespeichert, das in dem globalen Namensraum sichtbar ist. Die Variable kann ein Zähler sein, der mit vorbestimmten Größen erhöht wird, eine Meßeinrichtung, deren Wert sich über einen vorbestimmten Bereich ändert, oder irgendeine andere Variable, die Zustandsinformationen über das Programm hält.
- Entsprechend einem zusätzlichen Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren in einem verteilten System durchgeführt, das Datenverarbeitungsbetriebsmittel und zumindest eine Speichereinrichtung umfaßt. In diesem Verfahren werden die Datenverarbeitungsbetriebsmittel, die Hardwarekomponenten und/oder Softwarekomponenten umfassen können, als Objekte mit Namen modelliert. Die mit Namen versehenen Objekte werden in der Speichereinrichtung gespeichert. Systemverwaltungsobjekte mit Namen werden auch in der Speichereinrichtung gespeichert. Die Systemverwaltungsobjekte werden verwendet, die Datenverarbeitungsbetriebsmittel zu verwalten.
- Fig. 1 ist ein Blockdiagramm eines verteilten Systems zur Durchführung einer bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 2 ist ein Blockdiagramm eines Datenverarbeitungssystems des verteilten Systems der Fig. 1.
- Fig. 3 ist ein Blockdiagramm, das ausführlicher zwei Datenverarbeitungssysteme in dem verteilten System der Fig. 1 darstellt.
- Fig. 4 ist ein Schema, das einen verteilten Namensraum darstellt, der entsprechender der bevorzugten Ausführungsform der vorliegenden Erfindung erzeugt wird.
- Fig. 5 ist ein Flußdiagramm, das die von der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführten Schritte darstellt, die gemeinsame Benutzung interner Zustandsinformationen in dem verteilten System der Fig. 1 zu gestatten.
- Fig. 6 ist ein Flußdiagramm, das die Schritte darstellt, die zur Verwendung eines Instruments in dem verteilten System der Fig. 1 durchgeführt werden.
- Die bevorzugte Ausführungsform der vorliegenden Erfindung integriert Systemverwaltungsdienste mit einem unterliegenden Systemobjektmodell. Fig. 1 zeigt ein Blockdiagramm eines verteilten Systems 10 zur Durchführung der bevorzugten Ausführungsform der vorliegenden Erfindung. Der Durchschnittsfachmann auf dem Gebiet sieht, daß das verteilte System 10 der Fig. 1 nur beispielhaft ist, und erkennt, daß die vorliegende Erfindung in anderen verteilten Systemen durchgeführt werden kann. Das verteilte System 10 umfaßt vier Datenverarbeitungssysteme 11A, 11B, 11C und 11D. Die Datenverarbeitungssysteme 11A, 11B, 11C und 11D stehen miteinander über ein Netz 12, wie ein lokales Netz (LAN), in Verbindung.
- Fig. 2 zeigt ein ausführlicheres Blockdiagramm des Datenverarbeitungssystems 11A. Es wird zum Zweck der Einfachheit bei der Erörterung unten angenommen, daß die Datenverarbeitungssysteme 11B, 11C und 11D die gleichen Konfigurationen haben. Das Datenverarbeitungssystem 11A umfaßt eine zentrale Verarbeitungseinheit (CPU) 14, einen Speicher 16, eine Tastatur 18, eine Maus 20 und eine Videoanzeige 22. Der Speicher 16 hält eine Kopie eines objektorientierten Betriebssystems 24. Eine getrennte Kopie des Betriebssystems 24 läuft in jedem der Datenverarbeitungssysteme 11A, 11B, 11C und 11D (Fig. 1). Das Betriebssystem 24 ist in eine Anzahl Untersysteme unterteilbar, die ein Systemverwaltungsuntersystem umfassen, das zur Verwaltung von Komponenten des Systems verantwortlich ist. Das Verwaltungsuntersystem der Systeme ist der Brennpunkt der Erörterung unten.
- Damit jemand versteht, wie die bevorzugte Ausführungsform der vorliegenden Erfindung arbeitet, ist es zunächst notwendig, gewisse objektorientierte Programmierkonzepte zu verstehen, die darin verwendet werden. Ein erstes, objektorientiertes, von der bevorzugten Ausführungsform verwendetes Konzept ist die Bezeichnung eines "Objekts". Ein "Objekt" ist eine Gesamtheit, die eine Kombination aus zumindest zwei Dingen ist: Daten, die einen internen Zustand des Objekts spezifizieren, und Funktionen, die auf die Daten wirken. Ein Objekt kann als eine Kombination von Datenstrukturen und Funktionen betrachtet werden. Die Funktionen sind darauf beschränkt, nur die Elemente der Datenstruktur zu verarbeiten.
- Ein eng verwandtes Konzept ist das Konzept einer "Schnittstelle". Eine "Schnittstelle" ist eine Gruppe semantisch verwandter Funktionen, die in einer mit Namen versehenen Einheit organisiert sind (der Name ist die Kennung der Schnittstelle). Schnittstellen haben der Definition nach keine Instantiierungen (d. h., eine Schnittstelle enthält keinen Code zur Ausführung von Funktion, die in der Schnittstelle identifiziert sind); vielmehr spezifizieren Schnittstellen einen Satz von Signaturen für Funktionen. "Instantüerung" bezieht sich auf den Prozeß, Strukturen innerhalb des Speichers zu erzeugen, die ein Objekt darstellen, so daß Operationen an dem Objekt hervorgerufen werden können. Wenn ein Objekt eine Schnittstelle "unterstützt", liefert das Objekt Code für die Funktionen, die durch die Schnittstelle festgelegt sind. Somit ist das Objekt, das die Schnittstelle unterstützt, dafür verantwortlich, den Code zur Ausführung der Funktionen der Schnittstelle zu liefern. Der Code, der vorgesehen wird, muß den Signaturen der Funktionen entsprechen, die durch die Schnittstelle festgelegt sind (d. h., der Code muß die gleichen Parameter und Funktionalität wie in der Schnittstelle spezifiziert aufweisen). Entsprechend kann eine Schnittstelle als ein Standard betrachtet werden, dem Objekte entsprechen müssen.
- Ein anderes in der bevorzugten Ausführungsform verwendetes Konzept ist die Bezeichnung eines "Moniker". Ein "Moniker" ist ein zusammengesetzter Name für ein Objekt, das einen Zeiger zu dem Objekt enthält. Eine formalere Definition eines Moniker ist ein Objekt, der die IMoniker Schnittstelle unterstützt (wie durch das Microsoft OLE 2.0 Protokoll festgelegt). Die IMoniker Schnittstelle umfaßt eine Funktion, um den Moniker an das Objekt zu binden, auf das der Zeiger des Monikers zeigt. Das Binden bringt ein Objekt in einen Arbeitszustand, so daß Dienste, die von dem Objekt geliefert werden, aufgerufen werden können. Man erkennt, daß die vorliegende Erfindung nicht auf Ausführungsformen begrenzt ist, die Moniker verwenden. Die Diskussion der Moniker bei der bevorzugten Ausführungsform ist lediglich beispielhaft.
- Wie es oben erwähnt wurde, integriert die bevorzugte Ausführungsform der vorliegenden Erfindung das Systemverwaltungs-Untersystem in das unterliegende Objektmodell des objektorientierten Betriebssystems 24. Mit anderen Worten modelliert das Betriebssystem Komponenten des verteilten Systems 10 als Objekte, und das Systemverwaltungs-Untersystem wird in die Objekte integriert. Die Integration des Systemverwaltungs-Untersystems mit dem unterliegenden Systemobjektmodell liefert eine vereinheitlichte Methode, auf Systemverwaltungsfunktionen zuzugreifen. Des weiteren erleichtert die Integration die Verwendung von Werkzeugen in dem Systemverwaltungs-Untersy stem, die von anderen Untersystemen des Betriebssystems 24 bereitgestellt werden. Des weiteren erlaubt die Integration, daß das Systemverwaltungs-Untersystem ohne weiteres Zugriff auf interne Zustandsinformationen über verwaltete Komponenten gewinnt, die als Objekte modelliert sind. Das kumulative Ergebnis der Integration ist eine wesentliche Verringerung der Last, die dem Systemverwaltungs-Untersystem auferlegt ist, und eine wesentliche Zunahme der dem Systemverwaltungs-Untersystem verfügbaren Leistungen.
- Die Systemverwaltung ist bei der bevorzugten Ausführungsform der vorliegenden Erfindung vorgesehen, indem den Systemkomponenten erlaubt wird, daß sie so konstruiert werden, daß sie ohne weiteres verwaltbar sind, und indem Dienstprogramme zur Verwaltung der Systemkomponenten bereitgestellt werden. Jede Systemkomponente in dem verteilten System 10 ist als ein Objekt modelliert. Unterkomponenten einer Komponente können auch getrennt als Objekte modelliert werden. Systemkomponenten werden gebildet, damit sie verwaltbar sind, indem die Komponenten und Unterkomponenten in Objekte eingeschlossen werden, die in dem globalen Namensraum sichtbar sind. Die Unterkomponenten und die Komponenten umfassen Eigenschaften, die Zustandsinformationen festlegen. Da die Zustandsinformation in einem Objekt gehalten wird, das in dem globalen verteilten Namensraum sichtbar ist, können andere Objekte Zugriff auf die Zustandsinformation gewinnen. Da die Komponenten und Unterkomponenten als Objekte modelliert werden, sind sie ohne weiteres auffindbar und zugriffsbereit. Im allgemeinen unterstützt jedes verwaltete Objekt Schnittstellen, die Dienste für andere Requesterobjekte bereitstellen.
- Die Arbeitsweise des Systemverwaltungs-Untersystem der bevorzugten Ausführungsform wird vielleicht am besten anhand eines Beispiels erklärt. Das Systemverwaltungs- Untersystem ist nicht in einem einzigen der Datenverarbeitungssysteme 11A, 11B, 11C und 11 D isoliert. Vielmehr wir die Verantwortung des Systemverwaltungs-Untersystems auf die Datenverarbeitungssysteme 11A, 11B, 11C und 11D verteilt, so daß die Datenverarbeitungssysteme gemeinsam die Systemverwaltung durchführen. Wie es in Fig. 3 gezeigt ist, sei angenommen, daß das Datenverarbeitungssystem 11A bei der Durchführung von Systemverwaltungsfunktionen wünscht, zusätzliche Informationen über den Zustand eines Datenservers 26 herauszufinden, der fernliegend in einem Speicher 16' des Datenverarbeitungssystems 11B gehalten wird. Bei diesem Beispiel ist der Datei server 26 die verwaltete Komponente, die das Systemverwaltungs-Untersystem zu verwalten sucht. Der Zustand des Dateiservers 26 ist der Bequemlichkeit halber in eine Anzahl von Unterkomponenten unterteilt. Insbesondere ist der Dateiserver 26 in einen Anforderungsempfänger, einen Anforderungsprozessor und einen Ergebnisrückgeber unterteilt. Der Anforderungsempfänger ist verantwortlich, Anforderungen für einen Dienst von dem Dateiserver zu empfangen. Der Anforderungsprozessor ist verantwortlich, solche Anforderungen zu verarbeiten, und der Ergebnisrückgeber ist verantwortlich, die Ergebnisse des Diensts an den Requester zurückzugeben, der den Dienst verlangte.
- Man erkennt, daß der Satz von Unterkomponenten, der in einer verwalteten Komponente enthalten ist, nicht der gleiche bleiben muß; vielmehr können sich die Unterkomponenten dynamisch mit der Zeit ändern, so daß Unterkomponenten mit fortschreitender Zeit hinzugefügt oder entfernt werden. Man erkennt auch, daß die Unterkomponenten hierarchisch organisiert werden können.
- Die CPU 14' des Datenverarbeitungssystems 11 B stellt Informationen über den Datenserver 26 und seine Unterkomponenten her, die anderen Komponenten in dem verteilten System 10 (Fig. 1) zur Verfügung stehen, indem ein Objekt 32 für den Dateiserver und Objekte 34A, 34B und 34C für die Unterkomponenten erzeugt werden, die Zustandsinformationen über den Dateiserver und seine Unterkomponenten halten, wie es in Fig. 4 dargestellt ist. Diese Objekte 32, 34A, 34B und 34C sind in einem verteilten Namensraum 28 sichtbar. Jedes der Datenverarbeitungssysteme 11A, 11 B, 11 C und 11 D (Fig. 1) in dem verteilten System 10 hat Zugriff auf die Objekte in dem verteilten Namensraum 28 (Fig. 4). Der verteilte Namensraum 28 umfaßt auch Objekte 30A, 30B, 30C und 30D, die die Datenverarbeitungssysteme 11A, 11 B, 11 C bzw. 11 D modellieren.
- Das Dateiserverobjekt 32 ist ein "Behälter". Ein Behälter ist eine Gesamtheit, die andere Objekte enthält. Bei dem Beispiel der Fig. 4 ist das Dateiserverobjekt 32 ein Behälter, der Objekte 34A, 34B und 34C für die entsprechenden Unterkomponenten des Dateiservers 26 enthält. Daher kann eine verwaltete Komponente als ein Behälterobjekt modelliert werden, das Objekte für die Unterkomponenten des verwalteten Objekts hält.
- Das Dateiserverobjekt 32 ist auch ein spezieller Typ eines Objekts, das als ein Verknüpfungspunkt bekannt ist und sich von anderen Objekten in dem verteilten Namens raum 28 unterscheidet. Ein Verknüpfungspunkt ist ein Objekt, das als eine Verknüpfung zwischen zwei Namensräumen dient. Das Dateiserverobjekt 32 ist ein Verknüpfungspunkt, der den verteilten Namensraum mit dem Namensraum der Unterkomponentenobjekte 34A, 34B und 34C verbindet. Zugriff auf die Unterkomponentenobjekte 34A, 34B und 34C kann durch das Dateiserver-Behälterobjekt 32 vorgenommen werden. Jedes der Unterkomponentenobjekte 34A, 34B und 34C unterstützt eine Schnittstelle, um ihr Verhalten zu überwachen und zu verwalten. Des weiteren hält jedes der Unterkomponentenobjekte 34A, 34B und 34C Zustandsinformationen in bezug auf die entsprechende Unterkomponente, die mit dem Objekt verbunden ist. Diese Zustandsinformationen werden in Eigenschaftssätzen gehalten, die in den Unterkomponentenobjekten 34A, 34B und 34C gespeichert sind, die abgefragt werden können, um die in ihnen enthaltenen Zustandsinformationen zu erhalten.
- Der Verknüpfungspunkt für das Dateiserverobjekt 32 speichert eine global einzigartige Kennung ID (GUID) für das Dateiserverobjekt 32. Diese GUID wird verwendet, um eindeutig das Dateiserverobjekt 32 in dem verteilten Namensraum 28 zu erkennen. Zusätzlich wird eine laufende Fernprozedurruf-(RPC)-Adresse für einen "Agenten" des Dateiservers 26 in dem Dateiserverobjekt 32 gespeichert. Der Agent ist ein Körper eines Bibliothekscodes, der von dem Betriebssystem 24 bereitgestellt wird und mehreren Zwecken dient, einschließlich der Herstellung von Unterkomponentenobjekten 34A, 34B und 34C, die in dem verteilten globalen Namensraum 28 sichtbar sind. Der Agent liefert auch einen Prozedurfernaufruf-(RPC)-Server, um Prozedurfernaufrufe im Auftrag des Dateiservers und seiner Unterkomponenten herzustellen. Es gibt eine unmittelbare eins-zueins Entsprechung zwischen einer verwalteten Komponente, wie dem Dateiserver, und ihrem Agenten. Das Betriebssystem 24 liefert Anwendungsprogrammschnittstellen (A- Pls), um dem Benutzer zu ermöglichen, einen neuen Agenten zu erzeugen, Objekte für verwaltete Komponenten und Unterkomponenten zu erzeugen, Objekte für verwaltete Komponenten und Unterkomponenten zu entfernen und eine Antwort auf Operationen an verwalteten Komponenten und Unterkomponenten zu liefern. Der Agent kann Werte ausgewählter Eigenschaften eines verwalteten Objekts wiedergewinnen, und der Agent kann die Werte der Eigenschaften abändern, die in verwalteten Objekten gehalten sind.
- Unter Rückkehr zu dem Beispiel der Fig. 4 sei angenommen, daß das Datenverarbeitungssytem 11A Zugriff auf das Unterkomponentenobjekt 34B des Requesterprozessors sucht. Fig. 5 zeigt ein Flußdiagramm der Schritte, die durchgeführt werden, um Zugriff auf die Zustandsinformationen zu erhalten, die in dem Requesterprozessorobjekt 34B gehalten sind. Anfangs verlangt das Datenverarbeitungssystem 11A Zugriff auf dis Zustandsinformationen, die in dem Unterkomponentenobjekt 34B des Requesterprozessors gehalten sind (Schritt 40 in Fig. 5). Das Betriebssystem 24 (Fig. 2) erkennt, daß das Unterkomponentenobjekt 34B des Requesterprozessors ein Fernobjekt ist, das in dem Datenverabeitungssystem 11 B gespeichert ist. Als Ergebnis wird der Agent für die Unterkomponentenobjekte 34A, 34B und 34C in dem Datenverarbeitungssystem 11 B aufgerufen, wobei eine RPC-Einrichtung verwendet wird, die als Teil des Betriebssystems 24 vorgesehen ist. Der Agent lädt seinerzeit Prozedurfernaufruf-(RPC)-Anzapfroutinen (stub routines), die Daten packen und die RPC-Einrichtung verwenden, den RPC-Aufruf zu dem Datenverarbeitungssystem 11 B durchzuführen. Zwei Sätze Anzapfroutinen werden geladen.
- Zuerst wird ein Satz Anzapfroutinen bei dem Datenverabeitungssystem 11A geladen, um den RPC-Aufruf zu machen, und zweitens wird ein Satz Anzapfroutinen bei dem Datenverarbeitungssystem 11 B geladen, um den Rückruf auf das Datenverarbeitungssystem 11A herzustellen (Schritt 42 in Fig. 5). Die RPC-Anzapfroutinen bei dem Datenverarbeitungssytem 11A werden dann ausgeführt, um den RPC-Server des Agenten aufzurufen, der den RPC-Aufruf durchführt (Schritt 44). Die Zustandsinformationen werden örtlich bei dem Datenverarbeitungssytem 11 B abgefragt (Schritt 46 in Fig. 5). Die Zustandsinformationen werden abgefragt, indem zuerst ein Moniker für eine Schnittstelle gefunden wird, die von dem Unterkomponentenobjekt 34B des Requesterprozessors unterstützt wird (Fig. 4) und die die Abfrage der Zustandsinformationen ermöglicht, die in dem Unterkomponentenobjekt des Requesterprozessors gehalten sind. Dieser Moniker wird unter Verwendung der Querylnterface() Funktion erhalten.
- Jedes Objekt in dem verteilten Namensraum 28 muß nach Definition die IUnknown Schnittstelle unterstützen (d. h., alle Objekte unterstützen Schnittstellen, die die I- Unknown Schnittstelle erben). Die IUnknown Schnittstelle umfaßt die Funktion Querylnterface(), um abzufragen, ob ein Objekt eine bestimmte Schnittstelle unterstützt. Die Querylnterfacefunktion() kehrt zurück, um einen Zeiger zu dem Code zur Ausführung der Funktionen zu erhalten. Im allgemeinen muß, wenn immer eine Funktion aufgerufen wird, die Teil einer Schnittstelle ist, die von einem Objekt unterstützt wird, die Querylnterfacefunktion() zuerst aufgerufen werden.
- Der durch den Aufruf der Querylnterfacefunktion() erhaltene Moniker zeigt zu einer Stelle der Schnittstelle, die von dem Unterkomponentenobjekt 34B des Requesterprozessors unterstützt wird (Fig. 4). Der Moniker wird dann verwendet, auf Funktionen zuzugreifen, um Zustandsinformationen abzufragen, die in dem Unterkomponentenobjekt 348 des Requesterprozessors gehalten sind.
- Sobald die Zustandsinformationen lokal an dem Datenverarbeitungssystem 11 B erhalten worden sind, wird ein Rückaufruf zu dem Datenverarbeitungssystem 11 A gemacht, wobei die RPC-Anzapfroutinen verwendet werden, die früher geladen worden sind (Schritt 48 in Fig. 5). Das Datenverarbeitungssystem 11A erhält dann die Zustandsinformationen und verwendet die Zustandsinformationen für Systemverwaltungsfunktionen (Schritt 50 in Fig. 5).
- Das oben beschriebene Beispiel stellt dar, wie die bevorzugte Ausführungsform der vorliegenden Erfindung die Systemverwaltungsaufgaben erleichtert. Insbesondere schließt die bevorzugte Ausführungsform Zustandsinformationen für verwaltete Komponenten in Objekte ein, die in dem verteilten Namensraum sichtbar sind, so daß ein Fernzugriff auf die Zustandsinformationen möglich ist. Des weiteren können, da die Zustandsinformationen in das unterliegende Systemobjektmodell integriert sind, die Objekte, die Zustandsinformationen halten, verarbeitet und verwaltet werden, wobei Werkzeuge eingesetzt werden, die bei allen Arten von Objekten verwendet werden können.
- Das Betriebssystem 24 der bevorzugten Ausführungsform der vorliegenden Erfindung liefert zumindest zwei Arten "Instrumente". Instrumente sind Variable, deren Wert in dem verteilten Namensraum 28 sichtbar ist. Fig. 6 ist ein Flußdiagramm, das zeigt, wie Instrumente bei der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden. Anfangs wird eine Variable als ein Instrumente innerhalb eines Anwendungsprogramms erklärt (Schritt S2 in Fig. 6). Das Anwendungsprogramm ordnet dann dem Instrument einen Wert während seiner Ausführung zu (Schritt S4). Der dem Instrumente zugeordnete Wert wird in einem entsprechenden Objekt eingeschlossen, das in dem verteilten Namensraum 28 sichtbar ist (Schritt S6). Entsprechend kann der Wert des Instruments erhalten werden, indem das entsprechende Objekt abgefragt wird.
- Instrumente stehen in drei Arten zur Verfügung. Ein Benutzer spezifiziert mit der Erklärung des Typs der Variablen, welche Art Instrument er wünscht. Eine erste Art Instrument ist ein Zähler. Der Zähler wirkt in einer einem Wegstreckenmesser entsprechenden Weise dahingehend, daß sein Wert stets zunimmt, bis er zurückgesetzt wird. Ähnlich ist eine zweite Art Instrument ein Meßinstrument, das wie ein Meßgerät wirkt, das zwischen einem Bereich von Werten schwanken kann.
- Die bevorzugte Ausführungsform der vorliegenden Erfindung schafft auch einen zusätzlichen Mechanismus, um Zustandsinformationen in dem verteilten Namensraum 28 anzuordnen. Dieser Mechanismus ist als Arbeitsstations-Verwaltungsagent bekannt. Der Arbeitsstations-Verwaltungsagent gibt den gegenwärtigen Zustand einer Arbeitsstation in den verteilten globalen Namensraum 28.
- Während die vorliegende Erfindung unter Bezugnahme auf eine bevorzugte Ausführungsform von ihr beschrieben worden ist, erkennt der Durchschnittsfachmann auf dem Gebiet nichtsdestotrotz, daß verschiedene Abänderungen in der Form und bei Einzelheiten vorgenommen werden können, ohne von der vorliegenden Erfindung abzuweichen, wie sie in den beigefügten Ansprüchen definiert ist. Beispielsweise muß die vorliegende Erfindung keine Schnittstellen oder Moniker verwenden, vielmehr können andere alternative Mechanismen verwendet werden.
Claims (35)
1. Verfahren zum Betreiben eines verteilten Systems, wobei das verteilte System
(10) eine Speichereinrichtung (16) zur Speicherung von Objekten, einen
Prozessor (14) zur Ausführung eines Prozesses und eine verwaltete Komponente
mit einem internen Zustand aufweist, wobei das Verfahren die Schritte umfaßt:
Herstellen von Objekten in einem verteilten Namensraum (28), der für den
Prozeß sichtbar ist, gekennzeichnet durch
Speichern des internen Zustands der verwalteten Komponente als ein Objekt in
der Speichereinrichtung (16); und
Zugreifen auf das Objekt, um Zugriff auf den internen Zustand der durch den
Prozeß verwalteten Komponente zu erhalten.
2. Verfahren, wie in Anspruch 1 beansprucht, wobei das Objekt eine Schnittstelle
zum Zugreifen auf das Objekt unterstützt.
3. Verfahren, wie in Anspruch 1 oder 2 beansprucht, wobei das Objekt eine
Schnittstelle zur Abfrage unterstützt, ob das Objekt eine bestimmte Schnittstelle
unterstützt, wobei die Schnittstelle als eine IUnknown Schnittstelle bezeichnet
wird.
4. Verfahren, wie in einem der Ansprüche 1 bis 3 beansprucht, wobei das Objekt
eine Schnittstelle zum Binden eines Monikers an das Objekt unterstützt, die
Schnittstelle als IMoniker Schnittstelle bezeichnet wird und der Moniker einen
Zeiger zu einem Objekt umfaßt.
5. Verfahren, wie in einem der Ansprüche 1 bis 4 beansprucht, das des weiteren
den Schritt umfaßt: Speichern eines Systemverwaltungsobjekts zur Verwaltung
der verwalteten Komponente in der Speichereinrichtung (16).
6. Verfahren, wie in Anspruch 5 beansprucht, das des weiteren den Schritt umfaßt:
Verwalten der verwalteten Komponente unter Verwendung des
Systemverwaltungsobjekts.
7. Verfahren, wie in einem der Ansprüche 1 bis 6 beansprucht, das des weiteren
den Schritt umfaßt: Bereitstellen eines Namensdienstes zur Organisation der
Namen von Objekten in dem verteilten Namensraum (28).
8. Verfahren, wie in einem der Ansprüche 1 bis 7 beansprucht, das des weiteren
die Schritte umfaßt:
Unterteilen der verwalteten Komponente in mehrere Unterkomponenten, wobei
jede Unterkomponente einen internen Zustand aufweist; und
Speichern des internen Zustands einer jeden Unterkomponente in einem
getrennten Objekt in der Speichereinrichtung (16), wobei jedes Objekt in dem
verteilten Namensraum (28) für den Prozeß sichtbar ist.
9. Verfahren, wie in Anspruch 8 beansprucht, das des weiteren die Schritte
umfaßt: Einschließen der Objekte, die die internen Zustände der
Unterkomponenten speichern, in das Objekt, das den internen Zustand der verwalteten
Komponente speichert, so daß auf die Objekte, die die internen Zustände der
Unterkomponenten speichern, durch das Objekt zugegriffen werden kann, das den
internen Zustand der verwalteten Komponente speichert.
10. Verfahren, wie in einem der Ansprüche 1 bis 8 beansprucht, wobei das verteilte
System (10) des weiteren eine zweite, verwaltete Komponente mit einem
internen Zustand umfaßt, und das Verfahren des weiteren den Schritt umfaßt:
Speichern des internen Zustands der zweiten, verwalteten Komponente als ein
Ob
jekt in der Speichereinrichtung (16), wobei das Objekt in dem verteilten
Namensraum (28) für den Prozeß sichtbar ist.
11. Verfahren, wie in einem der Ansprüche 1 bis 10 beansprucht, wobei das
verteilte System (10) des weiteren umfaßt:
eine Prozedurfernaufrufeinrichtung,
ein erstes Datenverarbeitungssystem (11), das den Prozessor (14) umfaßt, und
ein zweites Datenverarbeitungssystem (11), das die Speichereinrichtung (16)
umfaßt; und wobei das Verfahren des weiteren die Schritte umfaßt:
Verlangen von Zugriff auf den internen Zustand der Komponente in dem
Prozeß, und
Durchführen eines Prozedurfernaufrufs in Antwort auf den Schritt der
Zugriffsanforderung, wobei die Prozedurfernaufrufeinrichtung verwendet wird, um den
Schritt des Zugriffs auf das Objekt im Auftrag des Prozesses durchzuführen.
12. Verfahren, wie in einem der Ansprüche 1 bis 11 beansprucht,
wobei die verwaltete Komponente ein Programm ist, und
das Verfahren des weiteren die Schritte umfaßt:
Erklären einer Variablen in dem Programm als eine Variable, auf die in dem
verteilten Namensraum (28) zugreifbar ist,
Durchführen des Programms, so daß der Variablen ein Wert zugeordnet wird,
und Speichern des Werts der Variablen in dem Objekt.
13. Verfahren, wie in Anspruch 12 beansprucht, wobei die Variable ein Zähler ist,
und der Schritt, das Programm durchzuführen, des weiteren den Schritt umfaßt:
Erhöhen der Variablen um eine vorbestimmte Größe.
14. Verfahren, wie in Anspruch 12 oder 13 beansprucht, wobei der Schritt, das
Programm durchzuführen, des weiteren den Schritt umfaßt: Zuordnen eines Werts
der Variablen, der den Zustand des Programms spezifiziert.
15. Verfahren, wie in einem der Ansprüche 1 bis 10 beansprucht, wobei die
verwaltete Komponente ein Datenverarbeitungsbetriebsmittel ist, und das
Verfahren des weiteren den Schritt umfaßt: Modellieren, des
Datenverarbeitungsbetriebsmittels als ein Objekt.
16. Verfahren, wie in Anspruch 15 beansprucht, wobei das
Datenverarbeitungsbetriebsmittel eine Hardwarekomponente umfaßt.
17. Verfahren, wie in Anspruch 15 oder 16 beansprucht, wobei das
Datenverarbeitungsbetriebsmittel eine Softwarekomponente umfaßt.
18. Computerlesbares Medium, das Befehle zur Ausführung des computerisierten
Verfahrens umfaßt, wie es in einem der Ansprüche 1 bis 17 beansprucht ist.
19. Verteiltes System (17) mit einer Einrichtung zur Herstellung von Objekten in
einem verteilten Namensraum (28), der für einen Prozeß sichtbar ist,
gekennzeichnet durch
eine Speichereinrichtung (16) zur Speicherung von Objekten,
einen Prozessor (14) zur Ausführung des Prozesses,
eine verwaltete Komponente mit einem internen Zustand,
eine Einrichtung zur Speicherung des internen Zustands der verwalteten
Komponente als ein Objekt in der Speichereinrichtung (16) und
eine Einrichtung zum Zugreifen auf das Objekt, um durch den Prozeß Zugriff
auf den internen Zustand der verwalteten Komponente zu erlangen.
20. Verteiltes System (10), wie in Anspruch 19 beansprucht, wobei das Objekt eine
Schnittstelle zum Zugreifen auf das Objekt unterstützt.
21. Verteiltes System (10), wie in Anspruch 19 oder 20 beansprucht, wobei das
Objekt eine Schnittstelle zur Abfrage unterstützt, ob das Objekt eine bestimmte
Schnittstelle unterstützt, wobei die Schnittstelle als eine IUnknown Schnittstelle
bezeichnet wird.
22. Verteiltes System (10), wie in einem der Ansprüche 19 bis 21 beansprucht,
wobei das Objekt eine Schnittstelle zum Binden eines Moniker an das Objekt
unterstützt, die Schnittstelle als IMoniker Schnittstelle bezeichnet wird und der
Moniker einen Zeiger zu einem Objekt umfaßt.
23. Verteiltes System (10), wie in einem der Ansprüche 19 bis 22 beansprucht,
weiterhin umfassend: eine Einrichtung zur Speicherung eines
Systemverwaltungsobjekts zur Verwaltung der verwalteten Komponente in der
Speichereinrichtung (16).
24. Verteiltes System (10), wie in Anspruch 23 beansprucht, das des weiteren eine
Einrichtung zur Verwaltung der verwalteten Komponente unter Verwendung des
Systemverwaltungsobjekts umfaßt.
25. Verteiltes System (10), wie in einem der Ansprüche 19 bis 24 beansprucht, das
des weiteren eine Einrichtung (24) umfaßt, einen Namensdienst zur
Organisation der Namen von Objekten in dem verteilten Namensraum (28) bereitzustellen.
26. Verteiltes System (10), wie in einem der Ansprüche 19 bis 25 beansprucht, das
des weiteren umfaßt,
eine Einrichtung zum Unterteilen der verwalteten Komponente in mehrere
Unterkomponenten, wobei jede Unterkomponente einen internen Zustand
aufweist; und
eine Einrichtung zum Speichern des internen Zustands einer jeden
Unterkomponente in einem getrennten Objekt in der Speichereinrichtung (16), wobei
jedes Objekt in dem verteilten Namensraum (28) für den Prozeß sichtbar ist.
27. Verteiltes System (10), wie in Anspruch 26 beansprucht, das des weiteren eine
Einrichtung zum Einschließen der Objekte, die die internen Zustände der
Unterkomponenten speichern, in dem Objekt umfaßt, das den internen Zustand der
verwalteten Komponente speichert, so daß auf die Objekte, die die internen
Zustände der Unterkomponenten speichern, durch das Objekt zugegriffen werden
kann, das den internen Zustand der verwalteten Komponente speichert.
28. Verteiltes System (10), wie in einem der Ansprüche 19 bis 27, das des weiteren
eine zweite, verwaltete Komponente mit einem internen Zustand und
eine Einrichtung umfaßt, den internen Zustand der zweiten, verwalteten
Komponente als ein Objekt in der Speichereinrichtung (16) zu speichern, wobei das
Objekt in dem verteilten Namensraum (28) für den Prozeß sichtbar ist.
29. Verteiltes System (10), wie in einem der Ansprüche 19 bis 28 beansprucht, das
des weiteren umfaßt:
eine Prozedurfernaufrufeinrichtung,
ein erstes Datenverarbeitungssystem (11), das den Prozessor (14) umfaßt,
ein zweites Datenverarbeitungssystem (11), das die Speichereinrichtung (16)
umfaßt;
eine Einrichtung zur Zugriffsanforderung in dem Prozeß auf den internen
Zustand der Komponente; und
eine Einrichtung zur Ausführung eines Prozedurfernaufruf in Antwort auf die
Einrichtung zur Zugriffsanforderung, wobei die Prozedurfernaufrufeinrichtung
verwendet wird, die Einrichtung zum Zugreifen auf das Objekt im Auftrag des
Prozesses zu betreiben.
30. Verteiltes System (10), wie in einem der Ansprüche 19 bis 29 beansprucht, bei
dem
die verwaltete Komponente ein Programm ist, und
das Verteiltes System (10), des weiteren umfaßt:
eine Einrichtung zum Erklären einer Variable in dem Programm als eine
Variable, auf die in dem verteilten Namensraum (28) zugreifbar ist,
eine Einrichtung zur Ausführung des Programms, so daß der Variablen ein Wert
zugeordnet wird, und
eine Einrichtung zum Speichern des Werts der Variablen in dem Objekt.
31. Verteiltes System (10), wie in Anspruch 30 beansprucht, wobei
die Variable ein Zähler ist, und
die Einrichtung zur Ausführung des Programms des weiteren eine Einrichtung
umfaßt, die Variable um einen vorbestimmten Wert zu erhöhen.
32. Verteiltes System (10), wie in Anspruch 30 oder 31 beansprucht, wobei die
Einrichtung zur Ausführung des Programms des weiteren eine Einrichtung
umfaßt, einen Wert, der den Zustand des Programms spezifiziert, der Variablen
zuzuordnen.
33. Verteiltes System (10), wie in einem der Ansprüche 19 bis 29 beansprucht,
wobei die verwaltete Komponente ein Datenverarbeitungsbetriebsmittel ist, und
das Verteiltes System (10), des weiteren eine Einrichtung umfaßt, das
Datenverarbeitungsbetriebsmittel als ein Objekt zu modellieren.
34. Verteiltes System (10), wie in Anspruch 33 beansprucht, wobei das
Datenverarbeitungsbetriebsmittel eine Hardwarekomponente umfaßt.
35. Verteiltes System (10), wie in Anspruch 33 oder 34 beansprucht, wobei das
Datenverarbeitungsbetriebsmittel eine Softwarekomponente umfaßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8298893A | 1993-06-25 | 1993-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69425699D1 DE69425699D1 (de) | 2000-10-05 |
DE69425699T2 true DE69425699T2 (de) | 2000-12-28 |
Family
ID=22174719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69425699T Expired - Lifetime DE69425699T2 (de) | 1993-06-25 | 1994-06-23 | Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell |
Country Status (5)
Country | Link |
---|---|
US (1) | US6175878B1 (de) |
EP (2) | EP0987626A3 (de) |
JP (1) | JP3949180B2 (de) |
CA (1) | CA2124720C (de) |
DE (1) | DE69425699T2 (de) |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751796B1 (en) * | 1993-06-25 | 2004-06-15 | Microsoft Corporation | Integration of systems management services with an underlying system object model |
AU3490397A (en) * | 1997-06-16 | 1999-01-04 | Network Programs, Inc. | Composition of systems of objects by interlocking coordination, protection, and distribution |
US5890155A (en) * | 1997-08-22 | 1999-03-30 | Honeywell Inc. | System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same |
CA2221654A1 (en) * | 1997-11-20 | 1999-05-20 | Michael J. Mccloskey | Knowledge module |
DE60000301T2 (de) * | 1999-02-25 | 2003-01-30 | Siemens Energy & Automation, Inc. | Verfahren, gerät, und hergestellter gegenstand für beinamen |
US6460082B1 (en) * | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
US6604148B1 (en) | 1999-10-01 | 2003-08-05 | International Business Machines Corporation | Method, system, and program for accessing a network namespace |
US7581231B2 (en) | 2001-07-10 | 2009-08-25 | Microsoft Corporation | Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer |
US7546602B2 (en) * | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US7165239B2 (en) * | 2001-07-10 | 2007-01-16 | Microsoft Corporation | Application program interface for network software platform |
US7017162B2 (en) | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US6920461B2 (en) | 2001-07-10 | 2005-07-19 | Microsoft Corp. | Application program interface for network software platform |
US7117504B2 (en) | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
US7363149B2 (en) * | 2001-12-13 | 2008-04-22 | Robert Bosch Gmbh | Autonomous in-vehicle navigation system and diagnostic system |
US7426734B2 (en) * | 2003-10-24 | 2008-09-16 | Microsoft Corporation | Facilitating presentation functionality through a programming interface media namespace |
US20050091535A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Application identity for software products |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
JP4856966B2 (ja) * | 2006-01-27 | 2012-01-18 | 株式会社日立製作所 | バックアップシステム、ファイルサーバ、及びバックアップ方法 |
CN101600886B (zh) | 2007-01-15 | 2013-07-17 | 维斯塔斯风力系统有限公司 | 用于风电场监视和控制的系统和方法 |
US7971228B2 (en) * | 2007-02-07 | 2011-06-28 | Cisco Technology, Inc. | System and method for providing application-specific on-line charging in a communications environment |
WO2009144821A1 (ja) * | 2008-05-30 | 2009-12-03 | 富士通株式会社 | 装置構成情報最適配置方法及び装置構成情報最適配置システム |
US8739258B2 (en) * | 2010-11-12 | 2014-05-27 | Sony Corporation | Certificate based access control in open mobile alliance device management |
USRE47020E1 (en) * | 2010-11-12 | 2018-08-28 | Sony Mobile Communications Inc. | Certificate based access control in open mobile alliance device management |
US11449370B2 (en) | 2018-12-11 | 2022-09-20 | DotWalk, Inc. | System and method for determining a process flow of a software application and for automatically generating application testing code |
US11436039B2 (en) | 2019-05-04 | 2022-09-06 | Prasaga Foundation | Systemic extensible blockchain object model comprising a first-class object model and a distributed ledger technology |
US11025508B1 (en) | 2020-04-08 | 2021-06-01 | Servicenow, Inc. | Automatic determination of code customizations |
US11296922B2 (en) | 2020-04-10 | 2022-04-05 | Servicenow, Inc. | Context-aware automated root cause analysis in managed networks |
US10999152B1 (en) | 2020-04-20 | 2021-05-04 | Servicenow, Inc. | Discovery pattern visualizer |
US11301435B2 (en) | 2020-04-22 | 2022-04-12 | Servicenow, Inc. | Self-healing infrastructure for a dual-database system |
US11392768B2 (en) | 2020-05-07 | 2022-07-19 | Servicenow, Inc. | Hybrid language detection model |
US11263195B2 (en) | 2020-05-11 | 2022-03-01 | Servicenow, Inc. | Text-based search of tree-structured tables |
US11470107B2 (en) | 2020-06-10 | 2022-10-11 | Servicenow, Inc. | Matching configuration items with machine learning |
US11277359B2 (en) | 2020-06-11 | 2022-03-15 | Servicenow, Inc. | Integration of a messaging platform with a remote network management application |
US11451573B2 (en) | 2020-06-16 | 2022-09-20 | Servicenow, Inc. | Merging duplicate items identified by a vulnerability analysis |
US11379089B2 (en) | 2020-07-02 | 2022-07-05 | Servicenow, Inc. | Adaptable user interface layout for applications |
US11277321B2 (en) | 2020-07-06 | 2022-03-15 | Servicenow, Inc. | Escalation tracking and analytics system |
US11301503B2 (en) | 2020-07-10 | 2022-04-12 | Servicenow, Inc. | Autonomous content orchestration |
US11449535B2 (en) | 2020-07-13 | 2022-09-20 | Servicenow, Inc. | Generating conversational interfaces based on metadata |
US11632300B2 (en) | 2020-07-16 | 2023-04-18 | Servicenow, Inc. | Synchronization of a shared service configuration across computational instances |
US11272007B2 (en) | 2020-07-21 | 2022-03-08 | Servicenow, Inc. | Unified agent framework including push-based discovery and real-time diagnostics features |
US11748115B2 (en) | 2020-07-21 | 2023-09-05 | Servicenow, Inc. | Application and related object schematic viewer for software application change tracking and management |
US11343079B2 (en) | 2020-07-21 | 2022-05-24 | Servicenow, Inc. | Secure application deployment |
US11582106B2 (en) | 2020-07-22 | 2023-02-14 | Servicenow, Inc. | Automatic discovery of cloud-based infrastructure and resources |
US11095506B1 (en) | 2020-07-22 | 2021-08-17 | Servicenow, Inc. | Discovery of resources associated with cloud operating system |
US11275580B2 (en) | 2020-08-12 | 2022-03-15 | Servicenow, Inc. | Representing source code as implicit configuration items |
US11372920B2 (en) | 2020-08-31 | 2022-06-28 | Servicenow, Inc. | Generating relational charts with accessibility for visually-impaired users |
US11245591B1 (en) | 2020-09-17 | 2022-02-08 | Servicenow, Inc. | Implementation of a mock server for discovery applications |
US11150784B1 (en) | 2020-09-22 | 2021-10-19 | Servicenow, Inc. | User interface elements for controlling menu displays |
US11625141B2 (en) | 2020-09-22 | 2023-04-11 | Servicenow, Inc. | User interface generation with machine learning |
US11632303B2 (en) | 2020-10-07 | 2023-04-18 | Servicenow, Inc | Enhanced service mapping based on natural language processing |
US11734025B2 (en) | 2020-10-14 | 2023-08-22 | Servicenow, Inc. | Configurable action generation for a remote network management platform |
US11342081B2 (en) | 2020-10-21 | 2022-05-24 | Servicenow, Inc. | Privacy-enhanced contact tracing using mobile applications and portable devices |
US11258847B1 (en) | 2020-11-02 | 2022-02-22 | Servicenow, Inc. | Assignments of incoming requests to servers in computing clusters and other environments |
US11363115B2 (en) | 2020-11-05 | 2022-06-14 | Servicenow, Inc. | Integrated operational communications between computational instances of a remote network management platform |
US11868593B2 (en) | 2020-11-05 | 2024-01-09 | Servicenow, Inc. | Software architecture and user interface for process visualization |
US11281442B1 (en) | 2020-11-18 | 2022-03-22 | Servicenow, Inc. | Discovery and distribution of software applications between multiple operational environments |
US11693831B2 (en) | 2020-11-23 | 2023-07-04 | Servicenow, Inc. | Security for data at rest in a remote network management platform |
US11216271B1 (en) | 2020-12-10 | 2022-01-04 | Servicenow, Inc. | Incremental update for offline data access |
US11269618B1 (en) | 2020-12-10 | 2022-03-08 | Servicenow, Inc. | Client device support for incremental offline updates |
US11630717B2 (en) | 2021-01-06 | 2023-04-18 | Servicenow, Inc. | Machine-learning based similarity engine |
US11301365B1 (en) | 2021-01-13 | 2022-04-12 | Servicenow, Inc. | Software test coverage through real-time tracing of user activity |
US11418586B2 (en) | 2021-01-19 | 2022-08-16 | Servicenow, Inc. | Load balancing of discovery agents across proxy servers |
US11921878B2 (en) | 2021-01-21 | 2024-03-05 | Servicenow, Inc. | Database security through obfuscation |
US11301271B1 (en) | 2021-01-21 | 2022-04-12 | Servicenow, Inc. | Configurable replacements for empty states in user interfaces |
US11513885B2 (en) | 2021-02-16 | 2022-11-29 | Servicenow, Inc. | Autonomous error correction in a multi-application platform |
US11277369B1 (en) | 2021-03-02 | 2022-03-15 | Servicenow, Inc. | Message queue architecture and interface for a multi-application platform |
US11831729B2 (en) | 2021-03-19 | 2023-11-28 | Servicenow, Inc. | Determining application security and correctness using machine learning based clustering and similarity |
US12254063B2 (en) | 2021-03-22 | 2025-03-18 | Servicenow, Inc. | Cross-modality curiosity for sparse-reward tasks |
US11640369B2 (en) | 2021-05-05 | 2023-05-02 | Servicenow, Inc. | Cross-platform communication for facilitation of data sharing |
US11635752B2 (en) | 2021-05-07 | 2023-04-25 | Servicenow, Inc. | Detection and correction of robotic process automation failures |
US11635953B2 (en) | 2021-05-07 | 2023-04-25 | Servicenow, Inc. | Proactive notifications for robotic process automation |
US11277475B1 (en) | 2021-06-01 | 2022-03-15 | Servicenow, Inc. | Automatic discovery of storage cluster |
US11762668B2 (en) | 2021-07-06 | 2023-09-19 | Servicenow, Inc. | Centralized configuration data management and control |
US11418571B1 (en) | 2021-07-29 | 2022-08-16 | Servicenow, Inc. | Server-side workflow improvement based on client-side data mining |
US11516307B1 (en) | 2021-08-09 | 2022-11-29 | Servicenow, Inc. | Support for multi-type users in a single-type computing system |
US12254352B2 (en) | 2021-10-28 | 2025-03-18 | Servicenow, Inc. | Reduced memory utilization for data analytics procedures |
US11960353B2 (en) | 2021-11-08 | 2024-04-16 | Servicenow, Inc. | Root cause analysis based on process optimization data |
US11734381B2 (en) | 2021-12-07 | 2023-08-22 | Servicenow, Inc. | Efficient downloading of related documents |
US12099567B2 (en) | 2021-12-20 | 2024-09-24 | Servicenow, Inc. | Viewports and sub-pages for web-based user interfaces |
US12001502B2 (en) | 2022-01-11 | 2024-06-04 | Servicenow, Inc. | Common fragment caching for web documents |
US11829233B2 (en) | 2022-01-14 | 2023-11-28 | Servicenow, Inc. | Failure prediction in a computing system based on machine learning applied to alert data |
US11582317B1 (en) | 2022-02-07 | 2023-02-14 | Servicenow, Inc. | Payload recording and comparison techniques for discovery |
US11734150B1 (en) | 2022-06-10 | 2023-08-22 | Servicenow, Inc. | Activity tracing through event correlation across multiple software applications |
US11989538B2 (en) | 2022-06-21 | 2024-05-21 | Servicenow, Inc. | Orchestration for robotic process automation |
US12231508B2 (en) | 2022-07-12 | 2025-02-18 | Servicenow, Inc. | Rapid error detection through command validation |
US12056473B2 (en) | 2022-08-01 | 2024-08-06 | Servicenow, Inc. | Low-code / no-code layer for interactive application development |
US12095634B2 (en) | 2022-08-12 | 2024-09-17 | Servicenow, Inc. | Hybrid request routing system |
US12039328B2 (en) | 2022-09-30 | 2024-07-16 | Servicenow, Inc. | Configuration items for supporting automations and efficacies thereof |
US12141048B2 (en) | 2022-10-12 | 2024-11-12 | Servicenow, Inc. | Machine learning model for determining software defect criticality |
US12072775B2 (en) | 2022-12-07 | 2024-08-27 | Servicenow, Inc. | Centralized configuration and change tracking for a computing platform |
US12147487B2 (en) | 2022-12-07 | 2024-11-19 | Servicenow, Inc. | Computationally efficient traversal of virtual tables |
US12192245B2 (en) | 2023-01-23 | 2025-01-07 | Servicenow, Inc. | Control of cloud infrastructure configuration |
US12131168B1 (en) | 2023-04-18 | 2024-10-29 | Servicenow, Inc. | Outcome-oriented automation platform |
US12222834B2 (en) | 2023-05-24 | 2025-02-11 | Servicenow, Inc. | Discovery troubleshooting based on machine learning |
US12248361B2 (en) | 2023-07-31 | 2025-03-11 | Servicenow, Inc. | Parallelized exception handling for large datasets |
US12254014B1 (en) | 2024-02-23 | 2025-03-18 | Servicenow, Inc. | Document creation with guided generative artificial intelligence |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62126457A (ja) * | 1985-11-27 | 1987-06-08 | Fujitsu Ltd | 分散デ−タ処理方式 |
JPS647231A (en) * | 1987-06-30 | 1989-01-11 | Toshiba Corp | Parallel processing device for object directional system |
CA2048306A1 (en) * | 1990-10-02 | 1992-04-03 | Steven P. Miller | Distributed configuration profile for computing system |
JPH04181436A (ja) * | 1990-11-16 | 1992-06-29 | Fujitsu Ltd | デバック方式 |
EP0501610B1 (de) * | 1991-02-25 | 1999-03-17 | Hewlett-Packard Company | Objektorientiertes verteiltes Rechnersystem |
US5367635A (en) * | 1991-08-29 | 1994-11-22 | Hewlett-Packard Company | Network management agent with user created objects providing additional functionality |
JP3613401B2 (ja) * | 1992-07-06 | 2005-01-26 | マイクロソフト コーポレーション | オブジェクトの名称を付けて結び付ける方法及びシステム |
US5307490A (en) * | 1992-08-28 | 1994-04-26 | Tandem Computers, Inc. | Method and system for implementing remote procedure calls in a distributed computer system |
US5491796A (en) * | 1992-10-23 | 1996-02-13 | Net Labs, Inc. | Apparatus for remotely managing diverse information network resources |
-
1994
- 1994-05-31 CA CA002124720A patent/CA2124720C/en not_active Expired - Lifetime
- 1994-06-22 JP JP13980994A patent/JP3949180B2/ja not_active Expired - Lifetime
- 1994-06-23 EP EP99125420A patent/EP0987626A3/de not_active Withdrawn
- 1994-06-23 DE DE69425699T patent/DE69425699T2/de not_active Expired - Lifetime
- 1994-06-23 EP EP94109761A patent/EP0631232B1/de not_active Expired - Lifetime
-
1996
- 1996-06-20 US US08/667,848 patent/US6175878B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0631232A2 (de) | 1994-12-28 |
EP0987626A3 (de) | 2007-07-04 |
JP3949180B2 (ja) | 2007-07-25 |
EP0987626A2 (de) | 2000-03-22 |
CA2124720C (en) | 2002-10-22 |
DE69425699D1 (de) | 2000-10-05 |
US6175878B1 (en) | 2001-01-16 |
JPH07146848A (ja) | 1995-06-06 |
EP0631232A3 (de) | 1995-04-19 |
CA2124720A1 (en) | 1994-12-26 |
EP0631232B1 (de) | 2000-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69425699T2 (de) | Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell | |
DE69131245T2 (de) | Verfahren und Gerät zum Verschaffen von dynamischen Aufrufen von Anwendungsprogrammen in einer verteilten heterogenen Umgebung | |
DE69131745T2 (de) | Verfahren und Gerät zum Verschaffen einer Kundenschnittstelle zu einem objektorientierten Aufruf eines Anwendungsprogramms | |
DE69425548T2 (de) | Verfahren und Vorrichtung zur dynamischen Objektverbindungserzeugung | |
DE69112156T2 (de) | Gerät zur Realisierung von Datenbanken zum Verschaffen von objektorientiertem Aufrufen von Anwendungsprogrammen. | |
DE69425470T2 (de) | Verfahren zur Ereignismeldung in einem Betriebssystem | |
DE69400406T2 (de) | System und methode zur lokalisierung von geteilten bibliotheken | |
DE69131742T2 (de) | Verfahren zur Realisierung von Anbieterfunktionen in einer verteilten heterogenen Umgebung | |
DE69428262T2 (de) | Vereinigung von Dateiverzeichnisdienst mit Dateisystemdiensten | |
DE69425318T2 (de) | Verfahren und System für Fernausführung von Codes | |
DE69228621T2 (de) | Objektorientiertes verteiltes Rechnersystem | |
DE69533530T2 (de) | Verfahren und System zur dynamischen Aggregation von Objekten | |
DE69625633T2 (de) | System und Verfahren zur Bestimmung und Behandlung von Server-Konfigurationsinformation in einer Umgebung mit verteilten Objekten | |
DE69628965T2 (de) | Verfahren und Gerät zum Verwalten von Beziehungen zwischen Objekten in einer verteilten Objektumgebung | |
DE69617509T2 (de) | Vorrichtung und Verfahren zur Feststellung von Objekttypen in einem verteilten Objektsystem | |
DE69317982T2 (de) | Verfahren und Anlage zur Realzeitdatensammlung und Anzeigevorrichtung | |
DE69621975T2 (de) | Verfahren und System zum Ermöglichen der Zusammenarbeit von zur Ausführung auf unterschiedlichen Betriebssystemen geschriebenen Prozessen | |
DE69424597T2 (de) | Erweiterbares Dateiensystem | |
DE69429686T2 (de) | Transaktionsverwaltung in objektorientiertem System | |
DE69122830T2 (de) | Verteiltes Konfigurationsprofil für ein Rechnersystem | |
DE69626377T2 (de) | Vorrichtung, Verfahren, Speichermedium und computerlesbare Module zur raumeffizienten Objektverriegelung | |
DE69030551T2 (de) | Prozess und Gerät zur Handhabung zeitaufwendiger und wiederverwendbarer Abfragen in einem objekt-orientierten Datenbankverwaltungssystem | |
DE112011102073B4 (de) | Dienstimplementierung von einem Dienstverzeichnis | |
DE69428848T2 (de) | Mehrsprachige Standardressourcen | |
DE69423853T2 (de) | Ein-/Ausgabeobjekte in einem Betriebssystemkern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |