-
Allgemeiner Stand der Technik
-
Verwandte Anmeldungen
-
Diese
Anmeldung ist verwandt mit der gleichzeitig anhängigen Anmeldung mit der Seriennummer 09/895,999,
eingereicht am 30. Juni 2001, mit dem Titel "System und Verfahren zum Integrieren
von Netzwerkdiensten",
die an den Rechtsnachfolger der vorliegenden Erfindung gemeinsam übertragen
wird.
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein das Gebiet der Netzwerkverwaltung.
Insbesondere betrifft die vorliegende Erfindung eine Architektur
und ein Verfahren zum Verwalten verteilter Objekte als eine einzelne
Darstellung in einem Agenten-basierten System.
-
Beschreibung
-
Herkömmliche
Internet-Datencenter sind dadurch gekennzeichnet, daß es sich
um Erweiterungen von Unternehmensdatencenters unter Hinzufügung von
Hardware für
Web- und e-Commerce-Server handelt. Die Verwaltung herkömmlicher
Internet-Datencenter bestand aus der Auferlegung von Beschränkungen
und der Vereinfachung von Annahmen der Hardware und ihrer Arbeitsabläufe. Beispielsweise
könnten
Dienste innerhalb eines Datencenters ein Client-Server-Objekt- und -Transportmodell
verwenden, um die Protokolle und Informationen zu vereinfachen,
die durch das Datencenter unterstützt werden.
-
Da
die Unternehmen fortgesetzt größere Investitionen
in die Internet-Wirtschaft tätigen,
sind Beschränkungen,
die einst für
die Verwaltung von Internet-Datencentern von maßgeblicher Bedeutung waren,
nicht mehr angebracht. Beispielsweise verwalten und überwachen
herkömmliche
Verwaltungs-Tools eine begrenzte Anzahl von Komponenten in dem Internet- Datencenter, wodurch
die Zuständigkeit
für die
Handhabung von Ereigniskorrelations- und -lösungsoptionen einem Bediener
oder Administrator überlassen
ist.
-
Die
zunehmende Komplexität
des Aufbaus, des Betriebes und der Wartung von Internet-Diensten erschwert
heute die Verwaltung und Skalierbarkeit von Internet-Datencenters
sehr. Mit dem fortgesetzten Ausbau der Internet-Dienste werden die
Aufgaben, die der Bediener oder Administrator auszuführen hat,
immer mühsamer.
Um einige der mühevollen Aufgaben,
die dem Bediener abverlangt werden, zu erleichtern, wird die Verwaltung
zahlreicher Komponenten des Internet-Datencenters derzeit automatisiert.
-
Eine
derartige Architektur zur Automatisierung von Verwaltungsprozessen
ist die Open Control Technology. Die Open Control Technology ist
eine Netzwerk- und Dienste-Steuerungstechnologie, die auf eine Diensteverwaltung
auf Unternehmensebene abzielt. Die Open Control Technology-Architektur
beschreibt eine Struktur zum Verwalten von Komponenten eines Datencenter-Dienstes
während
des gesamten Betriebszyklus hindurch. Die Architektur ist als ein
Open Control Technology-Pod aufgebaut. Der Open Control Technology-Pod
besteht aus einer Steuerung und einem Kunden-Pod. Die Architektur definiert
ein Objekt-Modell, welches das Datencenter virtualisiert. Die Virtualisierung
erfolgt über
Abstraktionen und Verkapselung.
-
Ein
Problem, das mit der Open Control Technology zusammenhängt, tritt
zutage, wenn der Kunden-Pod einen Satz Cluster bzw. Gruppenressourcen
oder -dienste enthält,
sei es Hardware oder Software, wobei wenigstens zwei unterschiedliche
bzw. eigenständige
Maschinen, die als Objekte dargestellt sind, eine Ressource oder
einen Dienst gemeinsam nutzen. Die eigenständigen Maschinen können auch nicht-gruppierte
Ressourcen oder Dienste enthalten, die ebenfalls verwaltet und überwacht
werden müssen.
Wenn gruppierte Ressourcen oder Dienste verwaltet und überwacht
werden, so müssen
die eigenständigen
Maschinen oder Objekte als ein einzelnes Objekt dargestellt werden.
Wenn nicht-gruppierte Ressourcen oder Dienste verwaltet und überwacht werden,
so müssen
die eigenständigen
Maschinen oder Objekte als separate Objekte dargestellt werden.
Die herkömmliche
Open Control Technology-Architektur
ist nicht dafür
eingerichtet, gruppierte Ressourcen zu verwalten und zu überwachen,
wobei wenigstens zwei eigenständige
Maschinen oder Objekte als ein einzelnes Objekt dargestellt werden
müssen,
um eine(n) oder mehrere gemeinsame Ressourcen oder Dienste gemeinsam
nutzen zu können.
-
Folglich
besteht Bedarf an einer Architektur und einer Methodik zum Darstellen
eigenständiger Maschinen
als eine einzelne Entität
oder ein einzelnes Objekt, damit die eigenständigen Maschinen eine(n) oder
mehrere gemeinsame Ressourcen oder Dienste gemeinsam nutzen können.
-
Kurzbeschreibung der Zeichnungen
-
Die
begleitenden Zeichnungen, die in den vorliegenden Text einbezogen
sind und einen Teil der Beschreibung bilden, veranschaulichen Ausführungsformen
der vorliegenden Erfindung und dienen zusammen mit der Beschreibung
der weiteren Erläuterung
der Prinzipien der Erfindung, damit ein Fachmann auf diesem Gebiet
die Erfindung herstellen und nutzen kann. In den Zeichnungen bezeichnen
gleiche Bezugszahlen allgemein identische, funktionell ähnliche
und/oder strukturell ähnliche
Elemente. Die Zeichnung, in der ein Element zum ersten Mal erscheint,
ist durch die äußerst linke
Ziffer bzw. die äußerst linken
Ziffern in der entsprechenden Bezugszahl angezeigt.
-
1 veranschaulicht
ein beispielhaftes Blockschaubild eines Internet-Datencenters.
-
2 ist
ein Blockschaubild, das eine Open Control Technology-Steuerung innerhalb
eines Internet-Datencenters veranschaulicht.
-
3 veranschaulicht
ein Objekt-Modell für eine
Open Control Technology-Architektur.
-
4 veranschaulicht
ein vereinfachtes Schaubild einer typischen Agenten-basierten Open Control
Technology-Architektur, bei der Probleme auftauchen, wenn wenigstens
zwei eigenständige Maschinen
versuchen, gemeinsame Ressourcen gemeinsam zu nutzen.
-
5 veranschaulicht
ein vereinfachtes Schaubild einer Agenten-basierten Open Control Technology-Architektur
gemäß einer
Ausführungsform
der vorliegenden Erfindung, die es wenigstens zwei eigenständigen Maschinen
gestattet, gemeinsame Ressourcen gemeinsam zu nutzen.
-
6 ist
ein Flußdiagramm,
das ein Verfahren beschreibt, welches es einer Agenten-basierten Open Control
Technology-Architektur gemäß einer Ausführungsform
der vorliegenden Erfindung ermöglicht,
wenigstens zwei eigenständige
Maschinen zu verwalten, wobei gemeinsame Ressourcen gemeinsam genutzt
werden.
-
7 ist
ein Flußdiagramm,
das ein Verfahren beschreibt, welches es einer Steuerung in einer Agenten-basierten
Open Control Technology-Architektur gemäß einer Ausführungsform
der vorliegenden Erfindung ermöglicht,
eine Anforderung für
Informationen von einer gemeinsam genutzten Ressource und/oder einem
gemeinsam genutzten Dienst auszulösen.
-
8 ist
ein Blockschaubild, das ein beispielhaftes Computersystem veranschaulicht,
bei dem bestimmte Aspekte von Ausführungsformen der vorliegenden
Erfindung implementiert werden können.
-
Detaillierte Beschreibung
-
Obgleich
die vorliegende Erfindung im vorliegenden Text anhand veranschaulichender
Ausführungsformen
für konkrete
Anwendungen beschrieben wird, versteht es sich, daß die Erfindung
nicht darauf beschränkt
ist. Für
den Fachmann mit Zugang zu den im vorliegenden Text dargelegten
Lehren sind weitere Modifikationen, Anwendungsmöglichkeiten und Ausführungsformen
innerhalb des Geltungsbereichs der Erfindung sowie auf weiteren
Gebieten erkennbar, in denen Ausführungsformen der vorliegenden
Erfindung von spürbarem
Nutzen wären.
-
Wenn
in der Beschreibung von "einer
Ausführungsform" oder "einer weiteren Ausführungsform" der vorliegenden
Erfindung gesprochen wird, so bedeutet das, daß ein bestimmtes Merkmal, eine bestimmte
Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung
mit der Ausführungsform beschrieben
wird, in wenigstens einer Ausführungsform
der vorliegenden Erfindung enthalten ist. Wenn also die Redewendung "in einer Ausführungsform" an verschiedenen
Stellen in der Spezifikation erscheint, so ist nicht notwendigerweise
immer dieselbe Ausführungsform
gemeint.
-
Ausführungsformen
der vorliegenden Erfindung betreffen eine Architektur und ein Verfahren zum
Verwalten von wenigstens zwei eigenständigen bzw. verschiedenen Maschinen
(oder Objekten), bei welchen Ressourcen als eine einzelne Entität (oder als
ein einzelnes Objekts) in einem Agenten-basierten System gemeinsam
genutzt werden. Obgleich Ausführungsformen
der vorliegenden Erfindung in Bezug auf die Open Control Technology
im Rahmen eines Agenten-basierten Systems beschrieben werden, können Ausführungsform
der Erfindung in jedem Agenten-basierten System Anwendung finden, in
dem mehrere verwaltete Maschinen oder Objekte Ressourcen gemeinsam
nutzen. Bevor Ausführungsformen
der vorliegenden Erfindung beschrieben werden, werden Beispielumgebungen,
in denen Ausführungsformen
der vorliegenden Erfindung implementiert werden können, beschrieben.
-
1 veranschaulicht
ein beispielhaftes Blockschaubild eines typischen Internet-Datencenters 100.
Wie in 1 gezeigt, beinhaltet ein typisches Internet-Datencenter
mehrere Computer, Netzwerkausrüstung
und Geräte.
Das Internet-Datencenter 100 umfaßt das Internet 106,
einen Lastausgleicher 108, ein Front-End 110,
ein Back-End 114 und eine Firewall 122. Clients 102 und
ein Administrator 104 sind mit dem Internet 106 über einen (nicht
gezeigten) Internetbrowser verbunden, um mit dem Internet-Datencenter 100 zu
kommunizieren und/oder um das Internet-Datencenter 100 zu
verwalten bzw. zu überwachen.
Der Lastausgleicher 108 ist mit dem Internet 106,
dem Front-End 110 und dem Back-End 114 über die
Firewall 122 verbunden. Die Firewall 122 ist mit
dem Lastausgleicher 108, dem Front-End 110 und
dem Back-End 114 verbunden.
-
Das
Front-End 110 umfaßt
mehrere Webserver 112-1 ... 112-5. Die Webserver 112-1 ... 112-5 sind
Computersysteme, die einem Browser zur Betrachtung durch einen Benutzer,
wie beispielsweise einen Klient 102 und/oder einen Administrator 104 Webseiten,
zuführen
bzw. servieren. Die Webserver 112-1 ... 112-5 speichern
HTML-Dokumente (Hypertext Markup Language), damit Benutzer auf die
Dokumente im Web zugreifen können.
-
Das
Back-End 114 umfaßt
zwei Anwendungsserver 116-1 und 116-2, zwei Speichervorrichtungen 118-1 und 118-2 sowie
zwei Datenbankserver 120-1 und 120-2. Die Anwendungsserver 116-1 und 116-2 sind
Computersysteme, die alle Anwendungsoperationen zwischen Benutzern
und den Backend-Geschäftsanwendungen
oder -datenbanken eines Unternehmens verwalten. Die Anwendungsserver 116-1 und 116-2 sind
in der Regel dadurch gekennzeichnet, daß sie eingebaute Redundanz,
verteilte Hochleistungs-Anwendungsdienste und Unterstützung für komplexen
Datenbankzugriff aufweisen. Die Speichervorrichtungen 118-1 und 118-2 dienen zum
Speichern von Informationen und sind dem Fachmann allgemein bekannt.
Die Datenbankserver 120-1 und 120-2 sind Computersysteme,
die Anfragen verarbeiten. Die Datenbankserver 120-1 und 120-2 bestehen
aus Datenbankanwendungen. Die Datenbankan wendungen sind in zwei
Teile untergliedert. Ein erster Teil zeigt die Daten an und interagiert mit
dem Benutzer (d. h. dem Administrator 104 und/oder Clients 102).
Ein zweiter Teil wahrt die Datenintegrität und behandelt den größten Teil
der prozessorintensiven Arbeit, wie beispielsweise Datenspeicherung
und -verarbeitung.
-
Daten,
die über
das Internet 106 gesendet und empfangen werden, passieren
den Lastausgleicher 108. Der Lastausgleicher 108 analysiert
alle eingehenden Datenanforderungen von den Clients 102 und
dem Administrator 104 und leitet die Anforderungen an einen
entsprechenden Webserver 112-1 ... 112-5 im Front-End 110 weiter.
Der Client- oder Administratoranforderung kann sich auf eine bestimmte Webseite
beziehen, die auf einem der Webserver 112-1 ... 112-5 gespeichert
ist. Die Webseite kann eingebettete Objekte enthalten, die durch
einen oder mehrere Anwendungsserver 116-1 und 116-2,
eine oder mehrere Speichervorrichtungen 118-1 und 118-2 und/oder
einen oder mehrere Datenbankserver 120-1 und 120-2 bereitgestellt
werden. Aus Sicherheitsgründen überwacht
und steuert die Firewall 122 den Datenverkehr zwischen
den Frontend-Webservern 112-1 ... 112-5 und den
Backend-Anwendungsservern 116-1 und 116-2,
den Speichervorrichtungen 118-1 und 118-2 und
den Datenbankservern 120-1 und 120-2.
-
2 ist
ein Blockschaubild, das eine Open Control Technology-Steuerung innerhalb
eines Internet-Datencenters 200 veranschaulicht. Die Open Control
Technology-Steuerung 202 ist mit dem Lastausgleicher 108,
den Frontend-Webservern 112-1 ... 112-5 und den
Backend-Anwendungsservern 116-1 und 116-2,
den Speichervorrichtungen 118-1 und 118-2 und
den Datenbankservern 120-1 und 120-2 verbunden.
Die Open Control Technology-Steuerung 202 verwaltet, überwacht
und sammelt Informationen von jeder Komponente im Front-End 110 und Back-End 114.
-
Wie
oben angedeutet, definiert die Open Control Technology-Architektur
ein Objekt-Modell, das
die Infrastruktur des Internet-Datencenters 200 virtualisiert.
Die Virtualisierung erfolgt über
Abstraktionen und Verkapselung. Die Abstraktion verbirgt die Komplexität einzelner
Dienste-Implementierungen. Die Verkapselung stellt die Beziehung
zwischen verschiedenen Objekten in dem Modell dar.
-
3 veranschaulicht
ein Objekt-Modell 300 für
eine Open Control Technology-Architektur.
Bei Ausführungsformen
der Erfindung können
die architektonischen Komponenten in Hardware, Software oder einer
Kombination aus beiden implementiert sein. Das Objekt-Modell 300 umfaßt eine
Client-Schnittstelle 302, einen Objekt-Manager 304,
einen Provider-Rahmen 306,
eine Provider-Schnittstelle 308, eine Treiber-Schnittstelle 310,
Provider 312 und Treiber 314.
-
Der
Objekt-Manager 304 dient dazu, das Objekt-Modell, das die
Open Control Technology-Architektur unterstützt, zu verkörpern. Der
Objekt-Manager 304 stellt die Mechanismen bereit, Operationen an
Objektinstanzen zu initiieren und auszuführen. Es werden drei Schnittstellen
bereitgestellt, um solche Operationen zu unterstützen. Die Schnittstellen beinhalten
die Client-Schnittstelle 302, die Provider-Schnittstelle 308 und
die Treiber-Schnittstelle 310.
-
Die
Client-Schnittstelle 302 stellt eine Anwendungsprogrammierungsschnittstelle
(APS) bereit, die von Client-Anwendungen 316 dafür verwendet
werden kann, Objekte, die vom Objekt-Manager 304 bereitgestellt
wurden, zu konfigurieren, abzufragen und/oder zu bearbeiten. Ein
Beispiel für
eine Client-Anwendung 316 wäre eine grafische Benutzeroberfläche (GBO).
Die grafische Benutzeroberfläche
kann eine grafische, externe Darstellung des Objekt-Modells bereitstellen,
damit Objektinstanzen angezeigt und grafisch bearbeitet werden können. Zu anderen
Client-Anwendungen 316 können beispielsweise Regel-Maschinen
zum Definieren von Regeln zum Reagieren auf Ereignisse, Statusänderungen oder
Aufrufe von Methoden, die den Objekten innerhalb des Objekt-Managers 304 zugeordnet
sind, oder sonstige automatisierte Anwendungen gehören.
-
Die
Treiber-Schnittstelle 310 verbindet den Provider-Rahmen 306 mit
Treibern 314. Die Treiber 314 ermöglichen
die Ausführung
einer angeforderten Aktion an verwalteten Diensten oder Ressourcen. Solche
Dienste können
beispielsweise Web-Dienste, Windows-Dienste, Datenbank-Dienste, E-Mail-Dienste
usw. umfassen. Ressourcen können Hardware-
und Software-Komponenten des Systems umfassen, wie beispielsweise
Speichervorrichtungen, Datenbanken, Protokolle usw. Die Treiber-Schnittstelle 310 ist
eine Gruppe von Operationen (oder APS), über die der Objekt-Manager 304 eine
Verwaltungsoperation an einer Vorrichtung ausführt. Verwaltungsoperation können beispielsweise Start-,
Stopp- und Statusanforderungen umfassen, sind jedoch nicht darauf
beschränkt.
Eine Verwaltungsoperationsanforderung wird über den Provider-Rahmen 306 übermittelt.
-
Die
Provider-Schnittstelle 308 verbindet die Treiber 314 mit
dem Provider-Rahmen 306. Wenn der Status eines verwalteten
Dienstes oder einer verwalteten Ressource sich ändert, so bewirkt die Interaktion
zwischen den Treibern 314, den Providern 312 und
dem Provider-Rahmen 306 über die Provider-Schnittstelle 308,
daß eine
zugehörige
Eigenschaft in dem Objekt, das von dem Objekt-Manager 304 verwaltet
wird, zuverlässig
und effizient aktualisiert wird.
-
Der
Provider-Rahmen 306 gestattet das Hinzufügen neuer
oder anderen Arten von Providern 312 zum Objekt-Manager 304.
Jede neue oder andere Art von Provider 312 kann weitere
Objektklassen und/oder Operationen beinhalten, mit denen die Funktionalität des Objekt-Managers 304 erweitert wird.
Wie oben angedeutet, ermöglicht
es der Provider-Rahmen 306, daß Änderungen von Eigenschaften,
die in einem Objekt dargestellt sind, das vom Objekt-Manager 304 verwaltet
wird, zu den Treibern 314 übermittelt werden. Wenn eine
der Client-Anwendungen 316 eine
Objekt-Methode über
die Client-Schnittstelle 302 aufruft, so wird in den Treibern 314 zuverlässig und
effizient eine Aktion durch den Provider-Rahmen 306 aufgerufen,
um letztendlich die angeforderte Aktion an dem verwalteten Dienst
oder der verwalteten Ressource zu bewirken.
-
Wie
oben angedeutet, kann eine herkömmliche
Open Control Technology-Architektur nicht mit der Situation umgehen,
wo gruppierte Ressourcen oder Dienste als ein einzelnes Objekt in
einem Agenten-basierten Rahmen verwaltet und überwacht werden. 4 veranschaulicht
ein vereinfachtes Schaubild einer typischen Agenten-basierten Open
Control Technology-Architektur 400,
bei der Probleme auftauchen, wenn wenigstens zwei eigenständige Maschinen
versuchen, gemeinsame Ressourcen und/oder Dienste gemeinsam zu nutzen.
Eine Erläuterung,
warum eine solche Architektur nicht funktioniert, wird nun anhand
von 4 gegeben.
-
Die
Architektur 400 umfaßt
eine Steuerung 402 und mehrere Maschinen M1, M2 und M3,
die für ein
beispielhaftes Datencenter stehen. Jede der Maschinen M1, M2 und
M3 beinhaltet einen Agenten (Agent 1, Agent 2 und Agent 3) zum Interpretieren von
Befehlen von der Steuerung 402 und zum Senden von Informationen
an die Steuerung 402 für
jede der Maschinen M1, M2 bzw. M3. Die Agenten 1, 2 und 3 können in
Software, Hardware oder einer Kombination aus beiden implementiert
sein. Jede der Maschinen M1, M2 und M3 ist als ein Objekt gemäß dem Objekt-Modell
dargestellt, das oben in Bezug auf 3 beschrieben
wurde. Jede der Maschinen M1, M2 und M3 beinhaltet nicht-gruppierte
bzw. nicht gebündelte Ressourcen
bzw. Dienste, wie beispielsweise Prozessoren und/oder Dienste bzw.
Dämonen,
die verwaltet und überwacht
werden müssen.
-
Die
Maschinen M1 und M2 stellen einen Typ einer gruppierten Maschine 408 dar,
die als eine failover-gruppierte Maschine bekannt ist. Oder anders ausgedrückt: Die
gruppierte Maschine 408 umfaßt die Maschinen M1 und M2
und gruppierte bzw. gebündelte
Ressourcen bzw. Dienste (in 4 als "gemeinsam genutzte
R/D" gezeigt). Die
gruppierten Ressourcen bzw. Dienste werden von den Maschinen M1
und M2 gemeinsam genutzt und können
beispielsweise Windows-Dienste, Datenbank-Dienste, Anwendungs-Dienste,
Web-Dienste, Disks, Protokolle usw. beinhalten. Die gruppierte Maschine 408 hat den
Zweck, als ein ausfallsicheres System zum Zugreifen auf gruppierte
Ressourcen bzw. Dienste zu fungieren. Wenn die Steuerung 402 auf
gruppierte Ressourcen bzw. Dienste zugreift, so kann nur eine der
Maschinen M1 oder M2 auf einmal auf die benötigte gemeinsam genutzte Ressource
bzw. auf den benötigten
gemeinsam genutzten Dienst zugreifen. Wenn also die Maschine M1
für den
Zugriff auf die benötigte
gemeinsam genutzte Ressource bzw. den benötigten gemeinsam genutzten
Dienst zur Verfügung
steht, so wird Maschine M2 als ungültig oder inaktiv angesehen.
Und wenn die Maschine M2 für
den Zugriff auf die benötigte
gemeinsam genutzte Ressource bzw. den benötigten gemeinsam genutzten Dienst
zur Verfügung
steht, so wird Maschine M1 als ungültig oder inaktiv angesehen.
Darum führt
die Maschine M1, wenn sie inaktiv ist, einen Failover aus, und Maschine
M2 ist aktiv, und umgekehrt.
-
Die
Steuerung 402 fungiert als ein Verwaltungs-Gateway zum
Integrieren und Verwalten von Ressourcen und Diensten, die von den
Maschinen M1, M2 und M3 zur Verfügung
gestellt werden. Die Steuerung 402 umfaßt unter anderem die Provider-Schnittstellen
(SSt) 404 und 406. Die Provider-SSt 404 ist
mit den Agenten 1 und 2 in den Maschinen M1 bzw. M2 über dauerhafte
Standardverbindungen 410 bzw. 412 verbunden. Die
Provider-SSt 406 ist mit dem Agenten 3 in Maschine M3 über eine
dauerhafte Standardverbindung 414 verbunden. Die Standardverbindungen 410, 412 und 414 stellen
Verwaltungsverbindungen zwischen den jeweiligen Agenten (1, 2 und
3) und der Steuerung 402 bereit.
-
Die
Steuerung 402 kommuniziert ebenfalls mit dem Administrator 104 und
den Clients 102 unter Verwendung eines (nicht gezeigten)
Internet-Browsers über
das Internet 106 und den Lastausgleicher 108.
Die Steuerung 402 kann Anforderungen nach Informationen
vom Administrator 104 und/oder den Clients 102 erfassen.
Wenn die Informationsanforderung von einer nicht-gruppierten Ressource
bzw. einem nicht-gruppierten Dienst erhältlich ist, so erzeugt die
Steuerung 402 anhand der Anforderungen Befehle und sendet
die Befehle über
die entsprechende dauerhafte Standardverbindung 410, 412 oder 414 an
den entsprechenden Agenten (Agent 1, 2 oder 3) in der Maschine M1,
M2 oder M3, in der die Informationen abgerufen werden sollen. Für nicht-gruppierte Ressourcen
bzw. Dienste agiert jede der Maschinen M1, M2 und M3 unabhängig als
ein separates Objekt, weshalb sie alle zur selben Zeit aktiv sein
können.
-
Die
Steuerung 402 kommuniziert mit den Maschinen M1, M2 und
M3 über
TCP/IP (Transmission Control Protocol/Internet Protocol), was dem Fachmann
allgemein bekannt ist. TCP/IP stellt für jede Komponente in dem Netzwerk
oder Datencenter eine eindeutige IP-Adresse bereit.
-
Nach
dem Erhalt der Befehle von der Steuerung 402 interpretiert
der entsprechende Agent die Befehle und führt die erforderlichen Funktionen
aus, die von der Anforderung verlangt werden, wie beispielsweise
das Feststellen des Status einer Ressource oder eines Dienstes,
das Beschaffen von Informationen von einer Ressource oder einem
Dienst usw. Nachdem der Agent die erforderliche(n) Funktion(en)
ausgeführt
hat, die von der Anforderung verlangt wurden, sendet er die verlangten
Informationen an die Steuerung 402. Die Steuerung 402 sendet
nun ihrerseits die Informationen an die anfordernde Entität (d. h.
den Administrator 104 oder die Clients 102).
-
Um
Ressourcen und Dienste auf den Maschinen M1, M2 und M3 zu verwalten
und zu überwachen,
muß die
Steuerung 402 eventuell Informationen von einem bestimmten
nicht-gruppierten
Dienst oder einer bestimmten nicht-gruppierten Ressource beschaffen,
der bzw. die sich auf einer der Maschinen M1, M2 und M3 befindet.
In diesem Fall sendet die Steuerung 402 über die
entsprechende dauerhafte Standardverbindung Befehle an den entsprechenden
Agenten in der Maschine, in der Informationen abgerufen werden sollen.
Im Gegenzug interpretiert der entsprechende Agent die Befehle und
führt die erforderliche(n)
Funktion(en) aus, die erforderlich sind, um die Informationen zu
erhalten. Bei den Informationen kann es sich um einen Status einer
Ressource oder eines Dienstes, um Informationen von einer Ressource
oder einem Dienst usw. handeln. Nachdem der Agent die Informationen
erhalten hat, sendet er die Informationen über die entsprechende dauerhafte
Standardverbindung an die Steuerung 402.
-
Wie
oben angesprochen, tritt das Problem bei einer herkömmlichen
Open Control Technology-Architektur auf, wenn gruppierte Ressourcen
oder Dienste in einer failover-gruppierten
Maschine durch die Steuerung 402 verwaltet und überwacht
werden. Bei der in 4 beschriebenen Agenten-basierten Verwaltungs-
und Überwachungslösung ist
jede Maschine M1, M2 und M3 als ein unabhängiges Verwaltungsobjekt dargestellt,
das durch die Steuerung 402 bearbeitet und überwacht
wird, wenn nicht-gruppierte Ressourcen oder Dienste genutzt werden.
Im Fall gruppierter Ressourcen oder Dienste, die von den Maschinen
M1 und M2 gemeinsam genutzt werden, werden zwei Objekte benötigt, um
dieselben gemeinsam genutzten Ressourcen oder Dienste darzustellen.
Wenn die Steuerung 402 auf eine gemeinsam genutzte Ressource
oder einen gemeinsam genutzten Dienst von der gruppierten Maschine 408 zugreift,
so ist nur eine der Maschinen M1 und M2 aktiv. Wenn also beispielsweise
die Steuerung 402 einen Befehl an die Maschine M1 wegen
einer Anforderung für
Informationen von einer gemeinsam genutzten Ressource oder einem
gemeinsam genutzten Dienst über
die dauerhafte Standardverbindung 410 sendet und die Maschine
M1 die inaktive Maschine ist, so kann eine Rückantwort an die Steuerung 402 anzeigen,
daß die
Maschine M1 inaktiv ist oder daß die Ressource
oder der Dienst nicht zur Verfügung
steht. Die Steuerung 402 nimmt dann an, daß die Informationen
nicht abgerufen werden können.
Die verlangten Informationen hätten
aber von Maschine M2 abgerufen werden können, da die angeforderte Ressource
bzw. der angeforderte Dienst auch über die Maschine M2 zu haben
ist und die Maschine M2 aktiv ist. Die in 4 dargestellte
Architektur gestattet jedoch keinen Failover zur Maschine M2, um
den Abruf der Informationen durch die Maschine M2 zu ermöglichen,
da die Anforderung über
die dauerhafte Standardverbindung 410 gesandt wurde. Das
gleiche trifft zu, wenn die Steuerung Befehle über die dauerhafte Standardverbindung 412 für Maschine
M2 gesandt hätte
und die Maschine M2 inaktiv gewesen wäre, wobei jedoch die angeforderten
Informationen von der Maschine M1 hätten abgerufen werden können.
-
Ausführungsformen
der vorliegenden Erfindung betreffen eine Architektur und ein Verfahren zum
Verwalten von wenigstens zwei eigenständigen Maschinen (oder Objekten),
bei welchen Ressourcen als eine einzelne Entität (oder als ein einzelnes Objekts)
in einem Agenten-basierten
System gemeinsam genutzt werden. Dies wird durch Verwendung eines
lokalen Agenten bewerkstelligt, der nicht-dauerhafte virtuelle Verbindungen
zu failover-gruppierten Maschinen bereitstellt, wie beispielsweise
zu der gruppierten Maschine 408. Indem es sowohl eine dauerhafte
Standardverbindung zu einer failover-gruppierten Maschine zur Darstellung
der gruppierten Maschine als zwei eigenständige Objekte als auch eine
nicht-dauerhafte virtuelle Verbindung zu der failover-gruppierten
Maschine zur Darstellung der gruppierten Maschine als ein einzelnes
Objekt gibt, ist es der Steuerung 402 möglich, Informationen von einzelnen
nicht gemeinsam genutzten Ressourcen oder Diensten sowie von gemeinsam
genutzten Ressourcen oder Diensten in einer einzigen Darstellung
zu erhalten.
-
5 veranschaulicht
ein vereinfachtes beispielhaftes Schaubild einer Agenten-basierten
Open Control Technology-Architektur 500 gemäß einer Ausführungsform
der vorliegenden Erfindung, die es wenigstens zwei eigenständigen Maschinen
gestattet, gemeinsame Ressourcen gemeinsam zu nutzen. Die Architektur 500 ähnelt der
Architektur 400, mit der Ausnahme der Hinzufügung eines
lokalen Agenten 502. Bei einer Ausführungsform ist der lokale Agent 502 innerhalb
der Steuerung 402 angeordnet. Bei einer anderen Ausführungsform
ist der lokale Agent 502 mit der Steuerung 402 verbunden.
Der lokale Agent 502 kann in Software, Hardware oder einer
Kombination aus beiden implementiert sein. Der lokale Agent 502 kann
dafür verwendet
werden, bestimmte Aufgaben auszuführen, die man nicht von einer
anderen Maschine ausführen
lassen will. Beispielsweise würde
man nicht die Maschine M1 abfragen wollen, um festzustellen, ob
die Maschine M1 inaktiv ist, wenn Maschine M1 tatsächlich inaktiv
ist.
-
Bei
einer Ausführungsform
der vorliegenden Erfindung wird der lokale Agent 502 dafür verwendet, eine
virtuelle nicht-dauerhafte Verbindung 504 (in Strichlinie
dargestellt) zu der gruppierten Maschine 408 bereitzustellen.
Die virtuelle nicht-dauerhafte Verbindung 504 gestattet
es dem lokalen Agenten 502, die gruppierte Maschine 408 als
eine einzelne Entität
oder ein einzelnes Objekt zu betrachten. Die virtuelle nicht-dauerhafte
Verbindung 504 gestattet es dem lokalen Agenten 502,
sowohl zur Maschine M1 als auch zur Maschine M2 eine Verbindung
unter Verwendung einer einzigen eindeutigen virtuellen IP-Adresse
herzustellen. Beispielsweise kann der Maschine M1 eine IP-Adresse
von 1.2.3.1 zugewiesen werden, der Maschine M2 kann eine IP-Adresse von
1.2.3.2 zugewiesen werden, und der gruppierten Maschine 408 kann
eine virtuelle IP-Adresse von 1.2.3.3 zugewiesen werden. Auf diese
Weise können die
Maschinen M1, M2 und die Kombination der Maschinen M1 und M2 (die
gruppierte Maschine 408) jeweils eine eindeutige IP-Adresse
haben. Der Maschine M3 würde
ebenfalls eine eindeutige IP-Adresse zugewiesen werden, wie beispielsweise
1.2.3.4.
-
Bei
einer Ausführungsform
wird der lokale Agent 502 dafür verwendet, auf gemeinsam
genutzte Ressourcen oder Dienste von der gruppierten Maschine 408 zuzugreifen.
Wie oben angesprochen, kann nur eine der Maschinen M1 und M2 zur
selben Zeit aktiv sein, wenn auf gemeinsam genutzte Ressourcen oder
Dienste zugegriffen wird. Wenn also die Steuerung 402 Befehle,
die eine gemeinsam genutzte Ressource oder einen gemeinsam genutzten Dienst
betreffen, an den lokalen Agenten 502 sendet, so öffnet der
lokale Agent 502 die virtuelle Verbindung 504 und
sendet die Befehle sowohl an Maschine M1 als auch an die Maschine
M2. Obgleich beide Maschinen M1 und M2 die Befehle erhalten, reagiert nur
die aktive Maschine. Dadurch braucht der lokale Agent 502 nicht
zu wissen, welche Maschine (M1 oder M2) aktiv ist und auf die Befehle
reagiert.
-
Bei
der Architektur 500 wird auf nicht-gruppierte Ressourcen
oder Dienste unter Verwendung dauerhafter Standardverbindungen wie
beispielsweise 410, 412 und 414 zugegriffen,
wie oben unter Bezug auf 4 beschrieben.
-
6 ist
ein Flußdiagramm 600,
das ein Verfahren beschreibt, welches es einer Agentenbasierten
Open Control Technology-Architektur gemäß einer Ausführungsform
der vorliegenden Erfindung ermöglicht,
wenigstens zwei eigenständige
Maschinen zu verwalten, wobei gemeinsame Ressourcen gemeinsam genutzt
werden. Die Erfindung ist nicht auf die Ausführungsform beschränkt, die
im vorliegenden Text in Bezug auf das Flußdiagramm 600 beschrieben
wird. Vielmehr erkennt der Fachmann nach dem Studium der Lehren
der vorliegenden Schrift, daß auch
andere Funktionsflußdiagramme
in den Umfang der Erfindung fallen. Ausführungsformen der Erfindung
sind ebenfalls nicht auf wenigstens zwei eigenständige Maschinen beschränkt, die Ressourcen
oder Dienste gemeinsam nutzen. Dem Fachmann leuchtet ein, daß auch mehr
als zwei eigenständige
Maschinen Ressourcen gemeinsam nutzen können, ohne daß der Umfang
von Ausführungsformen
der vorliegenden Erfindung verlassen wird. Der Prozeß beginnt
bei Block 602, wo der Prozeß sofort zu Block 604 voranschreitet.
-
Bei
Block 604 empfängt
die Steuerung 402 eine Anforderung zur Bearbeitung einer
oder mehrerer gemeinsam genutzter Ressourcen und/oder gemeinsam
genutzter Dienste. Bei einer Ausführungsform kann die Anforderung
vom Administrator 104 kommen, der sich vergewissert, daß die Maschinen oder
Server im Netzwerk richtig arbeiten. Bei einer anderen Ausführungsform
kann die Anforderung von einem Benutzer oder Client 102 kommen,
der Informationen aus dem Internet 106 erhält. Der
Prozeß schreitet
dann zu Block 606 fort.
-
Bei
Block 606 öffnet
die Steuerung 402 eine virtuelle nicht-dauerhafte Verbindung,
wie beispielsweise die Verbindung 504 in 5,
zu der gruppierten Maschine, welche die gemeinsam genutzte Ressource
oder den gemeinsam genutzten Dienst enthält. Dies erfolgt unter Verwendung
des lokalen Agenten 502. Der Prozeß schreitet dann zu Block 608 fort.
-
Bei
Block 608 erzeugt die Steuerung 402 Befehle anhand
der Anforderung und sendet die Befehle durch die virtuelle Verbindung über den
lokalen Agenten 502 zu der gruppierten Maschine, welche die
gemeinsam genutzten Ressourcen enthält. Der Prozeß schreitet
dann zu Block 610 fort.
-
Bei
Block 610 wird die aktive Maschine ausgelöst, die
Befehle zu verarbeiten. Der Agent innerhalb der aktiven Maschine
der gruppierten Maschine interpretiert die Befehle, führt die
von den Befehlen verlangten erforderlichen Funktionen aus und sendet die
angeforderten Informationen zur Steuerung 402. Der Prozeß schreitet
dann zu Block 612 fort.
-
Bei
Block 612 empfängt
die Steuerung 402 die angeforderten Informationen durch
eine virtuelle nicht-dauerhafte Verbindung 504 über den
lokalen Agenten 502. Die Steuerung 502 sendet
dann die angeforderten Informationen an die anfordernde Entität (d. h.
den Administrator 104 oder die Clients 102). Der
Prozeß schreitet
dann zu Block 614 fort, wo die virtuelle Verbindung geschlossen
wird. Bei einer alternativen Ausführungsform kann die virtuelle
Verbindung 504 vor dem Senden der angeforderten Informationen
an die anfordernde Entität
geschlossen werden.
-
Die
Steuerung 502 ist auch in der Lage, eine Anforderung für Informationen
von einer gemeinsam genutzten Ressource und/oder einem gemeinsam genutzten
Dienst zum eigenen Nutzen auszulösen. Solche
Informationen können
beispielsweise eine Statusprüfung
einer gemeinsam genutzten Ressource und/oder eines gemeinsam genutzten
Dienstes sein. 7 ist ein Flußdiagramm 700,
das ein Verfahren beschreibt, welches es einer Steuerung in einer
Agenten-basierten Open Control Technology-Architektur gemäß einer
Ausführungsform
der vorliegenden Erfindung ermöglicht,
eine Anforderung für Informationen
von einer gemeinsam genutzten Ressource und/oder einem gemeinsam
genutzten Dienst auszulösen.
Die Erfindung ist nicht auf die Ausführungsform beschränkt, die
im vorliegenden Text in Bezug auf das Flußdiagramm 700 beschrieben
wird. Vielmehr erkennt der Fachmann nach dem Studium der Lehren
der vorliegenden Schrift, daß auch
andere Funktionsflußdiagramme
in den Umfang der Erfindung fallen.
-
Der
Prozeß des
Verfahrens 700 ähnelt
dem Prozeß des
Verfahrens 600, das in den Blöcken 606–610 von 6 beschrieben
ist. Der Prozeß beginnt
bei Block 702 und schreitet sofort zu Block 704 voran.
Im Gegensatz zum Prozeß von
Block 604 in 6, wo die Steuerung 402 eine
Anforderung zur Bearbeitung einer gemeinsam genutzten Ressource und/oder
eines gemeinsam genutzten Dienstes empfängt, erzeugt die Steuerung 402 in
Block 704 die Anforderung selbst. Das heißt, die
Steuerung 402 löst eine
Anforderung für
Informationen (in der Form von Befehlen) aus, welche die Steuerung 402 von
einer gemeinsam genutzten Ressource und/oder einem gemeinsam genutzten
Dienst benötigt.
Der Prozeß schreitet
dann durch die Blöcke 606–610 weiter
voran, wie es oben in Bezug auf 6 beschrieben
wurde. Nachdem der Agent die angeforderten Informationen von der
aktiven Maschine in der gruppierten Maschine 408 über die
virtuelle nicht-dauerhafte Verbindung 504 zur Steuerung 402 gesendet
hat, schreitet der Prozeß zu
Block 706 voran.
-
In
Block 706 empfängt
die Steuerung 402 die Informationen von der aktiven Maschine
in der gruppierten Maschine 408. Bei einer Ausführungsform kann
die Steuerung 402 den Administrator 104 erforderlichenfalls über den
Status der gemeinsam genutzten Ressource und/oder des gemeinsam
genutzten Dienstes, in der bzw. in dem Informationen erhalten wurden,
informieren. Der Prozeß schreitet
dann zu Block 614 fort. In Block 614 wird die
virtuelle Verbindung 504 durch den lokalen Agenten 502 über die Steuerung 402 geschlossen.
-
Bei
Ausführungsformen
der vorliegenden Erfindung werden nicht-dauerhafte virtuelle Verbindungen
wie beispielsweise die nicht-dauerhafte virtuelle Verbindung 504 fortlaufend
hergestellt und beendet. Bei einer Ausführungsform der Erfindung gibt
es eine Sicherheitsvorkehrung, um die Sicherheit der nicht-dauerhaften
virtuellen Verbindungen zu gewährleisten.
Die Sicherheitsvorkehrung schützt
das Agenten-basierte System vor einem Hacker, der die failover-gruppierte
Maschine täuschen
und glauben machen will, daß eine
Verbindung von dem Hacker eine vertrauenswürdige Verbindung von der Steuerung
und dem lokalen Agenten sei. Die Sicherheitsvorkehrung wird unter
Verwendung der dauerhaften Verbindung bewerkstelligt. Die dauerhafte
Verbindung (auch als "vertrauenswürdige Verbindung" bezeichnet) dient
dazu, "vertrauliche" Informationen, wie
beispielsweise ein Token, einen Benutzernamen, ein Paßwort usw.,
zu der failover-gruppierten Maschine zu leiten. Die "vertraulichen" Informationen dienen der
Herstellung der nicht-dauerhaften virtuellen Verbindung. Das heißt, wenn
die "vertraulichen" Informationen nicht
von der nicht-dauerhaften virtuellen Verbindung bereitgestellt werden,
so akzeptiert die failover-gruppierte Maschine die Verbindung nicht.
-
Bei
einer Ausführungsform
beinhalten die vertraulichen Informationen einen Austausch eines öffentlichen
Verschlüsselungsschlüssels. Nachdem die
vertraulichen Informationen über
die dauerhafte Verbindung an die failover-gruppierte Maschine übergeben
wurden, müssen
die Steuerung und der lokale Agent den öffentlichen Schlüssel über die
nicht-dauerhafte Verbindung verwenden, um Meldungen zu verschlüsseln, die
zu der failover-gruppierten Maschine gesendet wurden, und die failover-gruppierte Maschine
muß einen
privaten Schlüssel
verwenden, um die Meldungen zu entschlüsseln bzw. zu verifizieren.
Diese Vorkehrung gewährleistet,
daß Meldungen
von der Steuerung authentisch sind.
-
Ausführungsformen
der vorliegenden Erfindung können
unter Verwendung von Hardware, Software oder einer Kombination aus
beiden implementiert sein und können
in einem oder in mehreren Computersystemen oder anderen Verarbeitungssystemen
implementiert sein. Bei einer Ausführungsform betrifft die Erfindung
praktisch ein oder mehrere Computersysteme, die in der Lage sind,
die hier beschriebenen Funktionen auszuführen. Eine beispielhafte Implementierung
eines Computersystems 800 ist in 8 gezeigt.
Es werden verschiedene Ausführungsformen
anhand dieses beispielhaften Computersystems beschrieben. Der Fachmann
erkennt nach dem Studium dieser Beschreibung, wie die Erfindung
unter Verwendung anderer Computersysteme und/oder Computerarchitekturen
implementiert werden kann.
-
Das
Computersystem 800 enthält
einen oder mehrere Prozessoren, wie beispielsweise den Prozessor 803.
Der Prozessor 803 ist mit einem Kommunikationsbus 802 verbunden.
Das Computersystem 800 enthält den einen Hauptspeicher 805,
vorzugsweise einen Direktzugriffsspeicher (RAM), und kann außerdem einen
Sekundärspeicher 810 enthalten. Der
Sekundärspeicher 810 kann
beispielsweise eine Festplatte 812 und/oder ein Wechseldatenträgerlaufwerk 814 beinhalten,
beispielsweise ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein
Laufwerk für optische
Disketten usw. Das Wechseldatenträgerlaufwerk 814 liest
und/oder beschreibt einen Wechseldatenträger 818 in einschlägig bekannter
Weise. Der Wechseldatenträger 818 stellt
eine Magnetdiskette, ein Magnetband, eine optische Diskette usw. dar,
die von dem Wechseldatenträgerlaufwerk 814 gelesen
und beschrieben werden. Es versteht sich, daß der Wechseldatenträger 818 ein
computernutzbares Speichermedium beinhaltet, auf dem Computersoftware
und/oder Daten gespeichert sind.
-
Bei
alternativen Ausführungsformen
kann der Sekundärspeicher 810 andere ähnliche
Mittel beinhalten, die es ermöglichen,
daß Computerprogramme
oder sonstige Instruktionen in das Computersystem 800 geladen
werden. Solche Mittel können
beispielsweise ein Wechseldatenträger 822 und eine Schnittstelle 820 beinhalten.
Als Beispiele dafür
seien eine Programmkassette und eine Kassettenschnittstelle (wie
man sie in Videospielgeräten
findet), ein Wechselspeicherchip (wie beispielsweise ein EPROM (Erasable
Programmable Read-only-Memory)
oder ein PROM (Programmable Read-only-Memory)) und die zugehörigen Einschübe sowie
sonstige Wechseldatenträger 822 und
Schnittstellen 820 genannt, die es ermöglichen, daß Software und Daten von dem
Wechseldatenträger 822 in
ein Computersystem 800 übertragen
werden.
-
Das
Computersystem 800 kann des Weiteren eine Kommunikationsschnittstelle 824 enthalten. Die
Kommunikationsschnittstelle 824 ermöglicht es, daß Software
und Daten zwischen einem Computersystem 800 und externen
Vorrichtungen übertragen werden.
Als Beispiele für
eine Kommunikationsschnittstelle 824 seien genannt: ein
Modem, eine Netzwerkschnittstelle (wie beispielsweise eine Ethernet-Karte),
ein Kommunikationsport, ein PCMCIA-Slot und eine PCMCIA-Karte (Personal
Computer Memory Card International Association), eine Wireless-LAN-Schnittstelle
(Local Area Network) usw. Software und Daten, die über die
Kommunikationsschnittstelle 824 übertragen werden, haben die Form
von Signalen 828, bei denen es sich um elektronische, elektromagnetische,
optische oder sonstige Signale handeln kann, die durch die Kommunikationsschnittstelle 824 empfangen
werden können. Diese
Signale 828 werden der Kommunikationsschnittstelle 824 über einen
Kommunikationspfad (d. h. Kanal) 826 zugeführt. Der
Kanal 826 trägt
Signale 828 und kann mittels Draht oder Kabel, Lichtwellenleiter,
eine Telefonleitung, eine Mobiltelefonleitung, eine drahtlose Verbindung
und sonstige Kommunikationskanäle
implementiert werden.
-
In
diesem Dokument meint der Begriff "Computerprogrammprodukt" Wechseldatenträger 818, 822 und
Signale 828. Diese Computerprogrammprodukte sind Mittel
zum Bereitstellen von Software für ein
Computersystem 800. Ausführungsformen der Erfindung
betreffen derartige Computerprogrammprodukte.
-
Computerprogramme
(auch als "Computersteuerungslogik" bezeichnet) werden
im Hauptspeicher 805 und/oder im Sekundärspeicher 810 und/oder
auf Computerprogrammprodukten gespeichert. Computerprogramme können auch über die Kommunikationsschnittstelle 824 empfangen
werden. Solche Computerprogramme ermöglichen es, wenn sie ausgeführt werden,
einem Computersystem 800, die Merkmale der vorliegenden
Erfindung auszuführen,
wie sie im vorliegenden Text besprochen wurden. Insbesondere ermöglichen
es die Computerprogramme, wenn sie ausgeführt werden, einem Prozessor 803,
die Merkmale von Ausführungsformen
der vorliegenden Erfindung auszuführen. Dementsprechend stellen
solche Computerprogramme Steuerungen des Computersystems 800 dar.
-
Bei
einer Ausführungsform,
bei der die Erfindung mittels Software implementiert ist, kann die Software
auf einem Computerprogrammprodukt gespeichert sein und unter Verwendung
eines Wechseldatenträgers 814,
einer Festplatte 812 oder einer Kommunikationsschnittstelle 824 in
das Computersystem 800 geladen werden. Die Steuerungslogik (Software),
bewirkt, wenn sie durch den Prozessor 803 ausgeführt wird,
daß der
Prozessor 803 die Funktionen der Erfindung, wie sie im
vorliegenden Text beschrieben sind, ausführt.
-
Bei
einer anderen Ausführungsform
ist die Erfindung überwiegend
in Hardware implementiert, wobei zum Beispiel Hardware-Komponenten
wie beispielsweise anwendungsspezifische integrierte Schaltkreise
(ASICs) verwendet werden. Die Implementierung von auf Hardware basierenden
Maschinen, die in der Lage sind, die im vorliegenden Text beschriebenen
Funktionen auszuführen,
ist dem Fachmann offensichtlich. Bei einer weiteren Ausführungsform
ist die Erfindung mittels einer Kombination aus Hardware und Software
implementiert.
-
Obgleich
oben verschiedene Ausführungsformen
der vorliegenden Erfindung beschrieben wurden, versteht es sich,
daß sie
nur in beispielhaftem Sinne und nicht in einschränkendem Sinn präsentiert wurden.
Dem Fachmann leuchtet ein, daß verschiedene Änderungen
in Form und Detail daran vorgenommen werden können, ohne daß der Geist
und Umfang der Erfindung, wie er in den angehängten Ansprüchen definiert ist, verlassen
werden würde. Breite
und Geltungsbereich der vorliegenden Erfindung sind also in keiner
Weise durch die oben beschriebenen beispielhaften Ausführungsformen
beschränkt,
sondern sind vielmehr entsprechend den folgenden Ansprüchen und
ihren Äquivalenten
auszulegen.
-
Zusammenfassung
-
Eine
Architektur und ein Verfahren zum Verwalten von wenigstens zwei
eigenständigen
Maschinen (oder Objekten), wobei Ressourcen als eine einzelne Entität (oder
als ein einzelnes Objekt) in einem Agenten-basierten System gemeinsam
genutzt werden. Das Agenten-basierte
System umfaßt
eine Steuerung, einen lokalen Agenten, der mit der Steuerung verbunden
ist, und wenigstens eine gruppierte Maschine. Die wenigstens eine
gruppierte Maschine beinhaltet wenigstens zwei individuelle Agenten,
wobei die wenigstens zwei individuellen Agenten wenigstens eine
gemeinsame Ressource bzw. einen gemeinsamen Dienst gemeinsam nutzen.
Das System beinhaltet des Weiteren eine virtuelle nicht-dauerhafte
Verbindung zum Verbinden der wenigstens zwei individuellen Agenten
mit dem lokalen Agenten. Der lokale Agent greift auf die wenigstens
eine gemeinsame Ressource bzw. den wenigstens einen gemeinsamen
Dienst über
die virtuelle nicht-dauerhafte Verbindung unter Verwendung einer
virtuellen IP-Adresse zu, um es zu ermöglichen, daß die wenigstens zwei individuellen
Agenten der wenigstens einen gruppierten Maschine als ein einzelnes
Objekt dargestellt werden können.