DE112010004772T5 - Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagentenin einer Verteilten Umgebung - Google Patents

Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagentenin einer Verteilten Umgebung Download PDF

Info

Publication number
DE112010004772T5
DE112010004772T5 DE112010004772T DE112010004772T DE112010004772T5 DE 112010004772 T5 DE112010004772 T5 DE 112010004772T5 DE 112010004772 T DE112010004772 T DE 112010004772T DE 112010004772 T DE112010004772 T DE 112010004772T DE 112010004772 T5 DE112010004772 T5 DE 112010004772T5
Authority
DE
Germany
Prior art keywords
configuration
agent
distributed
server
agents
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.)
Granted
Application number
DE112010004772T
Other languages
English (en)
Other versions
DE112010004772T8 (de
Inventor
Gianluca Gigliarelli
Gianluca Mariani
Francesco Lecciso
Antonio Secomandi
Luisa Attanasio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010004772T5 publication Critical patent/DE112010004772T5/de
Application granted granted Critical
Publication of DE112010004772T8 publication Critical patent/DE112010004772T8/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates

Abstract

Ein Verfahren und ein System zum Verwalten von Konfigurationen von Systemverwaltungsagenten, die Systemverwaltungsprogramme für Agenten und Programm-Parameter in einer verteilten Umgebung umfassen. Ein Konfigurationsverwaltungs-Server sendet auf Anforderung von den Agenten, die auf dem verteilten System installiert sind, eine Beschreibung ihrer Konfiguration. Zu diesem Zweck unterhält ein Konfigurationsverwaltungs-Server eine Datenbank, die die Informationen über die Konfiguration der Agenten speichert, wobei diese Datenbank üblicherweise von einem Systemverwaltungs-Administrator aktualisiert wird. Die Agenten erhalten von dem Server die Liste mit gleichgestellten verteilten Systemen, die die gleiche Agenten-Konfiguration haben, und ihre Konfiguration von einem verteilten System der Liste, oder sie erhalten eine Agenten-Konfiguration direkt von dem Konfigurationsverwaltungs-Server, wenn die gleichgestellten verteilten Systeme ihre Konfiguration geändert haben. Die Agenten benachrichtigen den Systemverwaltungs-Server, wenn eine neue Konfiguration installiert worden ist.

Description

  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft allgemein Systemverwaltungs-Anwendungen. Insbesondere dient die Erfindung zum Verwalten der Konfiguration von Systemverwaltungsagenten in einer verteilten Umgebung.
  • Der Erfindung zugrunde liegender allgemeiner Stand der Technik
  • Bei Systemverwaltungs-Anwendungen tauscht ein zentraler Systemverwaltungs-Server Daten mit Agenten, der Systemverwaltungs-Client-Anwendung, aus, die auf den verteilten Systemen installiert ist, bei denen es sich um Computer oder einfache Einheiten handelt. In Abhängigkeit von der Art des verteilten Systems führt der Agent eine Reihe von Systemverwaltungs-Funktionen aus, die sich von System zu System unterscheiden können. Der Unterschied kann von der Art des Systems, seinem Leistungsprofil und der Rolle, die es in dieser verteilten Umgebung spielt, herrühren. Zum Beispiel muss ein verteiltes System, bei dem es sich um einen Server mit einer Mono-Anwendung handelt, gewöhnliche Systemüberwachungs-Informationen an den Systemverwaltungs-Server melden, und es muss Meldungen in Zusammenhang mit der spezifischen Besonderheit der Anwendung machen. Ein weiteres Beispiel ist der Fall, in dem das verteilte System eine einfache Einheit wie zum Beispiel ein persönlicher digitaler Assistent (PDA) ist, auf dem die Systemverwaltungs-Funktionen begrenzt sind. Die Agenten müssen auf den verteilten Einheiten Systemverwaltungs-Funktionen wie zum Beispiel die Verteilung von Software, die Zuteilung der Arbeitslast oder die Systemüberwachung ausführen. Eine Agenten-Konfiguration, die Software-Elemente und Daten umfasst, kann auf den verteilten Einheiten installiert werden, um diese Funktionen auszuführen. Es liegt gewöhnlich in der Verantwortung des Administrators, die Software-Konfiguration entsprechend den Systemverwaltungs-Funktionen, die die Agenten unterstützen müssen, von dem Systemverwaltungs-Server an jeden Agenten zu verteilen. Diese manuellen Vorgänge sind von langer Dauer und müssen automatisiert werden.
  • Es gibt folglich einen ersten Bedarf für die Automatisierung des Herunterladens von Konfigurationen auf die verteilten Systeme.
  • Während dieser Herunterlade-Sitzungen nimmt der Administrator außerdem den Server und das Netzwerk von der zentralen Website für eine Dauer in Anspruch, die insbesondere in großen verteilten Umgebungen sehr lang sein kann.
  • In diesem Zusammenhang besteht auch ein Bedarf für die Verbesserung der Kostensituation und des Zeitaufwands, die bzw. der mit der Verteilung der Konfiguration an Agenten auf einer großen Anzahl von Maschinen einhergeht.
  • Eine Lösung besteht darin, rohe Binärdateien auf eine Maschine zu laden (dies wird gewöhnlich von der IT-Abteilung vorgenommen), bevor die Maschine in der Produktion eingesetzt wird. Dies ist jedoch nicht der beste Lösungsansatz, da die Maschinen kundenspezifisch angepasst werden müssen und schließlich nicht alle Maschinen die gleiche Konfiguration erforderlich machen, da man weiß, dass sie nicht alle von demselben Spektrum an Systemverwaltungs-Funktionen Gebrauch machen. Die Bereitstellung der gleichen maximalen Konfiguration einschließlich aller möglichen Funktionen wäre jedoch im Hinblick auf den Platzbedarf zu kostspielig. Zum Beispiel mag es bei manchen Maschinen eines Datenzentrums erforderlich sein, sie vorab mit den Funktionen zur Ausführung der jeweiligen Aufgabe zu laden, während Endbenutzer-Maschinen über Funktionen zur Einhaltung von Sicherheitsrichtlinien und zur Verteilung von Software verfügen müssen.
  • In der US-Patentschrift Nr. 6 976 145 ”Method and apparatus for automatically configuring data storage” wird eine Lösung für ein automatisches Hochladen von Konfigurationen auf verteilte Datenspeicher-Subsysteme vorgeschlagen. Um das Kosten- und Zeitproblem der manuellen Vorgänge des Herunterladens der Konfiguration auf verteilte Datenspeicher-Teilsysteme zu begrenzen, wird die Konfiguration in dem Netzwerk der verteilten Datenspeichersysteme automatisch unter Gleichgestellten geklont (peer to peer cloning). Jedes verteilte System weist ein Betriebssystem auf, bei dem es sich um eine bereits installierte Urlade-Komponente handelt, und die Konfiguration des Datenspeicher-Teilsystems fügt die zur Speicherung der Benutzerdaten notwendigen Systemdaten hinzu. Die Konfiguration wird in einem Sende- oder Empfangsmodus von einem gleichgestellten Datenspeicher-Subsystem heruntergeladen.
  • Wenn man die Konfiguration zwischen Gleichgestellten des verteilten Netzwerks zum Zweck der Systemverwaltung auf die gleiche Art überträgt, erzielt man den gleichen Vorteil wie bei der Entlastung des zentralen Servers und des Netzwerks, und der Vorgang des Klonens verringert Fehler und verbessert die Leistungsfähigkeit während der Konfigurationsphase.
  • Es besteht jedoch nach wie vor ein Bedarf für eine automatische Übertragung der Konfigurationen von Systemverwaltungsagenten an die verteilten Systeme in der Weise, dass jeder Agent die Konfiguration empfängt, die auf die Systemverwaltungsfunktionen, welche er entsprechend seinem Leistungsprofil unterstützen muss, ausgelegt ist.
  • Kurzdarstellung der Erfindung
  • Es ist folglich eine Aufgabe der vorliegenden Erfindung, ein Verfahren bereitzustellen, das der automatischen Verteilung von Konfigurationen von Systemverwaltungsagenten an die Systeme der verteilten Umgebung dient, in der bestimmte Systemverwaltungs-Funktionen entsprechend dem Leistungsprofil des verteilten Systems unterstützt werden.
  • Die Aufgabe wird nach Anspruch 1 mit einem Verfahren zum Verwalten von Konfigurationen von Systemverwaltungsagenten, die Systemverwaltungsprogramme für Agenten und Programm-Parameter umfassen, in einer verteilten Umgebung, die verteilte Systeme umfasst, auf denen mindestens ein Agent installiert ist, gelöst, wobei das Verfahren Folgendes umfasst:
    • – Auffordern eines Konfigurations-Servers, einen Konfigurationsdatensatz zu senden, der die Konfiguration des Agenten für ein verteiltes System, das eine Konfiguration erforderlich macht, beschreibt;
    • – Empfangen eines Konfigurationsdatensatzes, der die Konfiguration eines Agenten beschreibt, von dem Konfigurations-Server;
    • – Berechnen eines aktuellen Konfigurationsdatensatzes eines Agenten, welcher der aktuellen Konfiguration des Agenten entspricht, die auf dem verteilten System installiert ist, das eine Konfiguration erforderlich macht;
    • – Feststellen, ob sich der aktuelle Konfigurationsdatensatz des Agenten von dem Konfigurationsdatensatz unterscheidet, der von dem Server empfangen wurde, und wenn er sich unterscheidet, Auffordern des Konfigurations-Servers, eine Liste mit verteilten Systemen zu senden, von denen angenommen wird, dass sie die gleiche Agenten-Konfiguration haben;
    • – Kontaktieren der verteilten Systeme von der Liste und Auswählen von einem verteilten System, das einen aktuellen Konfigurationsdatensatz hat, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde;
    • – Auffordern des eine Übereinstimmung aufweisenden verteilten Systems von der Liste, seine Agenten-Konfiguration zu senden;
    • – nach dem Empfang der Agenten-Konfiguration Installieren der Agenten-Konfiguration auf dem verteilten System, das eine Konfiguration erforderlich macht.
  • Die Aufgabe wird auch mit dem Verfahren nach Anspruch 2 gelöst, das des Weiteren das Berechnen des Konfigurationsdatensatzes des soeben installierten Agenten und das Senden des Konfigurationsdatensatzes an den Konfigurations-Server umfasst.
  • Die Aufgabe wird nach Anspruch 3 auch mit dem Verfahren nach Anspruch 1 oder 2 gelöst, bei dem der Installationsschritt das Klonen der gesamten Konfiguration des Agenten von dem eine Übereinstimmung aufweisenden verteilten System durch das eine Übereinstimmung aufweisende verteilte System beinhaltet.
  • Die Aufgabe wird nach Anspruch 4 auch mit dem Verfahren nach einem der Ansprüche 1 bis 3 gelöst, wobei die Konfigurationsdatensätze des Agenten einen Hash-Schlüssel umfassen, der aus der Agenten-Konfiguration berechnet wird, und wobei der Schritt des Feststellens einer mit dem aktuellen Konfigurationsdatensatz übereinstimmenden Konfiguration oder einer mit dem Konfigurationsdatensatz eines verteilten Systems von der Liste übereinstimmenden Konfiguration das Vergleichen des Hash-Schlüssels der Konfigurationsdatensätze umfasst, und wenn die Schlüssel gleich sind, sind auch die Konfigurationsdatensätze gleich.
  • Die Aufgabe wird nach Anspruch 5 auch mit dem Verfahren nach einem der Ansprüche 1 bis 4 gelöst, das des Weiteren das Speichern aller Konfigurationsdatensätze für alle Agenten und für alle Gruppen von Agenten durch den Konfigurations-Server umfasst, wobei jeder Agent einer Gruppe von Agenten die gleichen Agenten-Konfigurationsdatensätze hat, wobei ein Systemverwaltungs-Administrator eine Datenbank über eine Schnittstelle des Konfigurations-Servers aktualisiert.
  • Die Aufgabe wird nach Anspruch 6 auch mit dem Verfahren nach einem der Ansprüche 1 bis 5 gelöst, wobei die Schritte des Auswählens von einem verteilten System, das einen aktuellen Konfigurationsdatensatz hat, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde, des Weiteren das Auswählen des verteilten Systems, das in einem Netzwerk einer verteilten Umgebung geografisch am nächsten liegt, unter all den verteilten Systemen, die einen aktuellen Konfigurationsdatensatz haben, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde, umfassen.
  • Die Aufgabe wird nach Anspruch 7 auch mit dem Verfahren nach einem der Ansprüche 1 bis 6 gelöst, das, wenn der Konfigurations-Client keine verteilten Systeme von der Liste findet, die einen aktuellen Konfigurationsdatensatz haben, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde, des Weiteren das Auffordern des Konfigurations-Servers, die Agenten-Konfiguration herunterzuladen, umfasst.
  • Die Aufgabe wird nach Anspruch 8 auch mit einem Computerprogrammprodukt gelöst, das Befehle eines Programmiercodes umfasst, um die Schritte des Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
  • Die Aufgabe wird nach Anspruch 9 auch mit einem System zum Verwalten von Konfigurationen von Systemverwaltungsagenten, die Systemverwaltungsprogramme für Agenten und Programm-Parameter umfassen, in einer verteilten Umgebung, die verteilte Systeme umfasst, auf denen mindestens ein Agent installiert ist, gelöst, wobei das System Folgendes umfasst:
    • – einen Konfigurationsverwaltungs-Server, der eine Konfigurationsdatenbank verwaltet, die eine Beschreibung der Konfigurationen der Agenten des verteilten Systems enthält;
    • – eine Konfigurationsverwalter-Client-Anwendung auf jedem verteilten System, die eine Beschreibung der Konfiguration ihres Agenten von dem Konfigurationsverwaltungs-Server anfordert und eine Liste von verteilten Systemen anfordert, die die gleiche Agenten-Konfiguration haben, wobei die Konfigurationsverwalter-Client-Anwendung die Agenten-Konfiguration von einem verteilten System von der Liste der verteilten Systeme bekommt, welche die gleiche Agenten-Konfiguration haben.
  • Die Aufgabe wird nach Anspruch 10 auch mit dem System nach Anspruch 9 gelöst, wobei der mindestens eine Agent, der auf jedem verteilten System installiert ist, eine Agenten-Kernkomponente umfasst, die die grundlegenden Funktionen für alle Agenten ausführt und Komponenten von Unterelementen beherbergt, von denen jede einem Systemverwaltungsprogramm entspricht, das mit den Parametern, die in seiner Agenten-Konfiguration festgelegt sind, kundenspezifisch angepasst wird.
  • Die Aufgabe wird nach Anspruch 11 auch mit dem System nach Anspruch 9 oder Anspruch 10 gelöst, das des Weiteren eine Datenbank umfasst, die von dem Konfigurations-Server verwendet wird, der alle Konfigurationsdatensätze für alle Agenten und für alle Gruppen von Agenten speichert, wobei jeder Agent einer Gruppe von Agenten den gleichen Agenten-Konfigurationsdatensatz hat.
  • Die Aufgabe wird nach Anspruch 12 auch mit dem System nach einem der Ansprüche 9 bis 11 gelöst, wobei es sich bei den verteilten Systemen um Computer oder persönliche digitale Assistenten oder Smartphones handelt.
  • Die vorgeschlagene Lösung stellt eine Konfigurationsverwaltungs-Anwendung bereit, die eine Server-Anwendung, welche auf dem zentralen Systemverwaltungs-Server ausgeführt wird, und Client-Anwendungen, die auf den verteilten Systemen ausgeführt werden, umfasst. Die Agenten des verteilten Systems können ihre Konfiguration dynamisch und automatisch anpassen, die die Eigenschaften des Systems und die Systemverwaltungsfunktionen, welche von den verteilten Systemen ausgeführt werden sollen, widerspiegeln. Diese automatische Anpassung beruht auf einem Dialog zwischen dem Server und dem Agenten, der von dem Agenten eingeleitet wird, welcher in regelmäßigen Abständen eine aktualisierte Liste von anderen Agenten anfordert, die ihm in dem Netzwerk, von dem er die Konfiguration herunterladen kann, gleichgestellt sind. Diese dynamische und automatische Konfiguration aktualisiert Entlastungen entsprechend dem Erfordernis des Netzwerks und des Systemverwaltungs-Servers, da in dem Netzwerk bedarfsweise geschaltete Verbindungen zwischen Gleichgestellten verwendet werden. Diese Übertragung der Konfiguration zwischen Gleichgestellten kann optimiert werden, wenn die Einheitenkonfigurator-Client-Anwendung, der ”Device Configurator”, nachdem sie eine gültige Liste von Gleichgestellten zusammengestellt hat, von denen die Konfiguration heruntergeladen werden kann, den Gleichgestellten auswählt, der in dem Netzwerk der nächstgelegene ist. Da das ”Netzwerk der verteilten Systeme” ein heterogenes Netzwerk sein kann, kann ein Teil des Gesamtnetzwerks ein Hochgeschwindigkeits-Übertragungsabschnitt sein, während andere Teile langsame Einwahlverbindungen sein können, und die verteilten Systeme können heterogene Einheiten (darunter Computer, persönliche digitale Assistenten oder Smartphones) sein. Zu Optimierungszwecken kann die Einheitenkonfigurator-Client-Anwendung optional einen Gleichgestellten auswählen, der in demselben Netzwerk der nächstgelegene ist.
  • Einige zusätzliche Vorteile werden mit der Erfindung erworben. Ein erster Vorteil ist die Flexibilität der Lösung: Gemischt mit der Lösung nach dem Stand der Technik in Form des Vorabladens von Agenten kann ein grundlegendes Abbild des Agenten vorab in eine Maschine geladen werden, die das Kernelement und den Einheitenkonfigurator umfassen kann. Wenn die Maschine in der Produktion eingesetzt wird, kann der Agent sich selbst konfigurieren und dabei den tatsächlichen Umfang des Systems widerspiegeln, indem er die erforderlichen Unterelemente und nur die erforderlichen Unterelemente und ihre Konfigurationsparameter von einem Gleichgestellten herunterlädt. Es gibt auch zwei weitere Aspekte der Flexibilität der Lösung: wenn ein neues System in einer bestimmten Abteilung hinzugefügt wird, kann der entsprechende Agent geklont werden, wobei von einem System, auf das Bezug genommen wird, gestartet wird, und der neue Agent passt die Konfiguration automatisch an das neue System an. Auch können die entsprechenden Agenten ihre Konfiguration automatisch ändern, wenn sich der Umfang des Systems in einer vorhandenen Umgebung mit verteilten Systemen ändert, indem sie einfach auf einen anderen gleichgestellten Agenten Bezug nehmen.
  • Grundsätzlich schließlich kann der IT-Administrator die Konfiguration auf einem einzigen Agenten aktualisieren, wenn er die Konfiguration von allen Agenten, die zu einer bestimmten Abteilung gehören, aktualisieren möchte. Diese Aktualisierung wird automatisch an die anderen Agenten übertragen.
  • Ein weiterer Vorteil der Lösung besteht darin, dass die Agenten einen sehr kleinen Platzbedarf auf den verteilten Systemen haben. Das Kernelement des Agenten (Agent Core Element) hat einen äußerst geringen Platzbedarf und bietet einen kleinen Satz an grundlegenden Funktionen; wenn die Agenten-Unterelemente zu diesem Kernelement des Agenten hinzugefügt werden, stellen sie die speziellen Systemverwaltungs-Funktionen bereit, und zwar nur die speziellen Systemverwaltungsfunktionen, von denen angenommen wird, dass sie auf dieser Art von verteiltem System ausgeführt werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt die Systemumgebung der bevorzugten Ausführungsform der Erfindung;
  • 2 stellt den allgemeine Ablaufplan der Erfindung zur automatischen Konfiguration eines Systemverwaltungsagenten gemäß der bevorzugten Ausführungsform dar;
  • 3 zeigt ein Beispiel eines Konfigurationsdatensatzes, der von dem Einheitenkonfigurator-Server in der Konfigurationsdatenbank gemäß der bevorzugten Ausführungsform verwaltet wird;
  • 4 zeigt ein Beispiel eines Datensatzes einer Konfigurationsdatenbank, der von dem Einheitenkonfigurator-Server gemäß der bevorzugten Ausführungsform verwaltet wird.
  • Ausführliche Beschreibung der bevorzugten Ausführungsform
  • 1 zeigt die Systemumgebung der bevorzugten Ausführungsform der Erfindung. Wie bereits nach dem Stand der Technik bekannt ist, steuert eine zentrale Systemverwaltungs-Anwendung, der Verwaltungsserver, (105), der Operationen auf einem Computer (100) durchführt, verteilte Systeme (110), bei denen es sich um herkömmliche Computer oder Übertragungseinheiten wie zum Beispiel persönliche digitale Assistenten oder Smartphones handeln kann, über ein Netzwerk oder über heterogene Netzwerke (120). Zu den üblichen Systemverwaltungsfunktionen gehören beispielsweise die Verteilung von Software, die Zuteilung der Arbeitslast oder die Systemüberwachung auf verteilten Einheiten. Der Verwaltungsserver tauscht mit den Agenten Daten aus, bei denen es sich um Anwendungen handelt, die auf dem Betriebssystem aufsetzen und in den verteilten Systemen vom Verwaltungsserver des Systems gesteuert ausgeführt werden. Die Agenten können beispielsweise Stapelverarbeitungsprogramme nach einem Kalender ausführen. Der Datenaustausch zwischen dem Verwaltungsserver und den Agenten erfolgt aufwärts/abwärts, wenn der Verwaltungsserver Konfigurationen oder Änderungen an Konfigurationen des Agenten sendet, und die Agenten können den Verwaltungsserver auch kontaktieren, wenn sie Systemverwaltungsdaten haben, die sie auf dem verteilten System erfasst und an den Verwaltungsserver zu übertragen haben. Die Agenten führen Systemverwaltungsfunktionen in Bezug auf das System aus, auf dem sie installiert sind. Der Verwaltungsserver kann mehrere Instanzen von Agenten auf demselben verteilten System unterstützen, die verwendet werden können, wenn mehrere Infrastrukturen vorhanden sind. Tatsächlich können die verteilten Systeme in Gruppen eingeteilt werden und Unterstützung bei der Systemverwaltung in Bezug auf die Systemverwaltungsfunktionen erhalten, die sie ausführen: sie können die Funktion eines Anwendungs-Servers für Operationen im Echtzeit-Produktionsmodus übernehmen, können aber auch gruppenweise nach Geschäftsbereichen zusammengefasst werden, wenn es sich bei ihnen um die Personal Computer eines Unternehmens handelt. Im Allgemeinen gehört jeder Agent zu einer Gruppe von Agenten, die ähnliche Systemverwaltungs-Funktionen für ein ähnliches verteiltes System erfüllen müssen. Die Verwaltung teilt dem Agenten mit, diejenigen Systemverwaltungs-Funktionen zu aktivieren, die von den Agenten nicht automatisch aktiviert werden, und/oder Systemverwaltungs-Informationen zu erfassen. Die Agenten können über ihre Netzwerkadresse oder eine beliebige Kennung, die den Daten der Maschine (des verteilten Systemcomputers oder der verteilten Einheit), zu denen auch die Netzwerkadresse gehört, 1:1 zugeordnet ist, identifiziert werden.
  • Ein Agent umfasst bestimmte Programme, die Systemverwaltungs-Funktionen entsprechen, die beispielsweise in ausführbarer Form oder interpretierter Sprache vorliegen. Der Agent umfasst auch Daten, bei denen es sich um Parameter handelt, die den verschiedenen Programmen wie zum Beispiel einem Kalender zur automatischen Ausführung zu übergeben sind. Die Lösung nach dem Stand der Technik kann darin bestehen, einen Agenten vor der Einsatz auf die verteilten Systeme hochzuladen, doch muss ein anfangs installierter Agent gegebenenfalls ohnehin häufig aktualisiert werden, da sich die Funktionen eines Agenten ändern können. Der IT-Administrator (130), der eine vom Verwaltungsserver bereitgestellte Schnittstelle nutzt, kann die Konfigurationen des Agenten auf die verteilten Systeme herunterladen. In der bevorzugten Ausführungsform kann dieser manuelle Vorgang durch die Verwendung der neuen Architektur ersetzt werden, die nachstehend beschrieben und in 1 dargestellt ist.
  • Eine neue Einheitenkonfigurator-Server-Anwendung (140), die Operationen auf dem Computer des Verwaltungsservers durchführt, stellt eine Schnittstelle zum IT-Administrator bereit. Über diese Schnittstelle verwaltet der IT-Administrator die Beschreibung der Konfigurationen der Agenten (die Konfigurationsdatensätze der Agenten) und die Listen mit den verteilten Systemen, die die gleiche Konfiguration haben:
    diese Konfigurationsinformationen werden vom IT-Administrator in einer Konfigurationsdatenbank (150) gespeichert. Wie nachstehend erklärt ist, kann die Einheitenkonfigurator-Server-Anwendung Daten mit den Einheitenkonfigurator-Client-Anwendungen, die auf den verteilten Systemen installiert sind, austauschen. Anfängliche Agenten-Konfigurationen werden entweder vorab geladen, bevor sie auf den verteilten Servern installiert bzw. eingesetzt werden, oder sie werden zunächst vom IT-Administrator heruntergeladen. Anschließend können die Agenten ihre Konfiguration automatisch aktualisieren, indem sie die Einheitenkonfigurator-Client-Komponente (160) verwenden, die auf allen verteilten Systemen installiert ist: Diese Einheitenkonfigurator-Client-Komponente tauscht im Empfangsmodus mit dem Einheitenkonfigurator-Server Daten aus, um die Listen mit den verteilten Systemen anzufordern, die die gleiche Agenten-Konfiguration wie der Einheitenkonfigurator-Server (140) haben. Der Einheiten-Konfigurator-Client kann optional das verteilte System in der Liste auswählen, das in dem Netzwerk das nächstgelegene ist. Der Einheitenkonfigurator-Client kann ein Modell eines Netzwerks verwenden, das gleich den vorhandenen Modellen ist, die in Systemen zwischen Gleichgestellten (peer to peer systems) verwendet werden, oder er kann einfach einen Agenten mit ähnlichen Teilnetzwerken auswählen. Die Verwendung eines Netzwerk-Modells schließt die Berechnung von Parametern (wie die Bandbreite oder Verspätung) für Netzwerkrouten und einen bestimmten Algorithmus zur Auswahl der besten Agenten ein. Die einfache Auswahl eines Agenten mit einem ähnlichen Teilnetzwerk besteht in der Bevorzugung von Agenten, die zu ähnlichen Teilnetzwerken gehören, indem eine Berechnung der IP-Adresse durchgeführt wird.
  • Der Einheitenkonfigurator-Client kann auch die gleichgestellte verteilte Einheit in dem Netzwerk kontaktieren und die Konfiguration des Agenten klonen. Das bedeutet, dass die bisherige Konfiguration des Agenten durch die geklonte Konfiguration des Agenten ersetzt wird. Schließlich benachrichtigt der Einheitenkonfigurator-Client den Einheitenkonfigurator-Server über diese Aktualisierung. Neben der vom Einheitenkonfigurator-Client bereitgestellten Klon-Funktion umfasst die Architektur des Agenten (170, 180) eine Agenten-Komponente, das Agenten-Kernelement (170), das einen kleinen Satz von grundlegenden Agenten-Funktionen, jedoch keine speziellen Systemverwaltungsfunktionen zur Verfügung stellt. Das Agenten-Kernelement ist eine Urlade-Komponente, die zur Aufnahme der anderen Komponenten der Architektur des nämlich der Unterelemente (180), dient. Die Agenten-Unterelemente stellen spezielle Systemverwaltungs-Funktionen bereit. Es gibt viele Unterelemente, die im Laufe der Zeit entwickelt und angeboten wurden, um die verschiedenen Systemverwaltungs-Richtungen abzudecken. Das Agenten-Kernelement, das allen Agenten gemein ist, hat einen äußerst geringen Platzbedarf. Die Größe des Agenten hängt von der Anzahl der Unterelemente ab, die entsprechend der von den Agenten unterstützten Systemverwaltungsfunktionen unterschiedlich sein kann.
  • Im Allgemeinen entspricht ein Unterelement einem Programm und einer Systemverwaltungsfunktion. Eine Systemverwaltungsfunktion kann jedoch über das Hauptprogramm der Funktion die Installation von bestimmten Programmen, die vorausgesetzt werden, erforderlich machen. Folglich würde eine solche Systemverwaltungsfunktion die Installation von zwei Unterelementen, einem für die Hauptfunktion und einem anderen, das als vorausgesetztes Programm dient, erfordern. Es sei angemerkt, dass ein vorausgesetztes Programm auch als ein vorausgesetztes Programm oder als ein Hauptprogramm für eine andere Systemverwaltungsfunktion verwendet werden kann. Diese unterschiedlichen Fälle spiegeln sich auch im Aufbau des Konfigurationsdatensatzes wider, der später in dem Schriftstück in Bezug auf die Beschreibung von 3 erklärt wird.
  • Es sei erwähnt, dass ein grundlegendes Abbild des Agenten vorab auf eine Maschine (Agenten-Kernelement + den Einheitenkonfigurator-Client) geladen werden kann. Wenn die Maschine in der Produktion eingesetzt wird, kann der Agent sich selbst konfigurieren und dabei den tatsächlichen Umfang des Systems widerspiegeln, indem er die erforderlichen Unteragenten und Konfigurationsparameter von einem Gleichgestellten herunterlädt. Der Aufbau der Unterelemente ermöglicht gegebenenfalls eine schrittweise Aktualisierung der Größe des Agenten und eine problemlose Aktualisierung der Konfiguration des Agenten. Ein neues verteiltes System kann mit einem Agenten starten, der von einem anderen System kommt und sich selbst automatisch anpasst, um die Agenten-Konfiguration auf diesem neuen System zu installieren. Wenn der IT-Administrator die Konfiguration von allen Agenten aktualisieren möchte, die zu einer bestimmten Gruppe von verteilten Einheiten gehören, kann er die Konfiguration auf einem einzigen Agenten aktualisieren, und diese Aktualisierung wird dann von den anderen Agenten der Gruppe automatisch durchgeführt. Es sei angemerkt, dass Agenten für verteilte Systeme, die zu demselben Geschäftsbereich eines Unternehmens gehören, die gleiche Konfiguration haben sollten und dass die Agenten in verteilten Systemen, die zu anderen Geschäftsbereichen gehören, etwas anders sind.
  • 2 stellt den allgemeinen Ablaufplan der Erfindung zur automatischen Konfiguration eines Systemverwaltungsagenten gemäß der bevorzugten Ausführungsform dar. Die Ablaufpläne beschreiben die Schritte des Verfahrens, das von der Einheitenkonfigurator-Komponente des Agenten durchgeführt wird, bei der es sich um die Einheitenkonfigurator-Client-Anwendung handelt, die auf dem verteilten System installiert ist. Genauer gesagt, der Ablaufplan veranschaulicht den Dialog zwischen der Einheitenkonfigurator-Komponente einer verteilten Einheit, dem Einheitenkonfigurator-Server und der Einheitenkonfigurator-Komponente von gleichgestellten verteilten Systemen. Der Prozess beginnt (200), wenn ein Agent seine Konfiguration prüfen muss. Dieser Prozess kann entweder von der Einheitenkonfigurator-Komponente in regelmäßigen Abständen aktiviert oder zum Zeitpunkt der Initialisierung des verteilten Systems automatisch aktiviert werden oder von einem Befehl initialisiert werden, der von der Einheitenkonfigurator-Server-Anwendung entweder automatisch oder auf Anforderung des IT-Administrators gesendet wird. Es sei auch angemerkt, dass die geringstmögliche Agenten-Konfiguration zur Aktivierung des Prozesses auf dem verteilten System das installierte Agenten-Kernelement und die installierte Einheitenkonfigurator-Client-Anwendung umfasst.
  • Der Einheitenkonfigurator-Client eines verteilten Systems lässt sich mit dem Einheitenkonfigurator-Server verbinden (205), um die Informationen über die Agenten-Konfiguration zu erhalten, die einer Agenten-Kennung des anfordernden Agenten entsprechen. Es sei erwähnt, dass der Einheitenkonfigurator-Client die Dienste des Agenten-Kernelements verwenden kann, das auf demselben verteilten System installiert ist, um eine Verbindung zu dem Einheitenkonfigurator-Server herzustellen. Jede andere Möglichkeit kann in Betracht gezogen werden wie zum Beispiel die Möglichkeit, dass ein Einheitenkonfigurator-Client selbst mit dem Einheitenkonfigurator-Server Daten austauschen kann, doch ist diese Option für den Grundgedanken der Lösung nicht wirklich von Bedeutung. Wie bereits zuvor in dem Schriftstück erklärt wurde, werden die Informationen über die Konfiguration in der Konfigurationsdatenbank (150) gespeichert und sie wurden vom IT-Administrator eingegeben. In der Datenbank gespeicherte Informationen über die Konfiguration eines Agenten beschreiben die Programme, die installiert werden müssen, um die Systemverwaltungs-Funktionen auszuführen, und die Parameter, die verwendet werden, um diese Programme kundenspezifisch anzupassen. Die ersten Informationen, die man mit der Kennung des Agenten im Schritt 205 erhält, sind eine Reihe von Konfigurationsdatensätzen des Agenten, die später in dem Schriftstück in Bezug auf die Beschreibung von 3 beschrieben werden. Üblicherweise bietet ein Datensatz, aber manchmal mehr als ein Datensatz, die Möglichkeit, eine Anwendung zu identifizieren, welche einer Systemverwaltungsfunktion entspricht, die von dem Agenten ausgeführt werden muss und die auch mindestens einem Programm oder Unterelement entspricht, das auf dem verteilten System installiert werden muss. Durch das Lesen der Programme, die in den ersten Konfigurations-Informationen aufgeführt sind, berechnet der Einheitenkonfigurator-Client seinen aktuellen Agenten-Konfigurationsdatensatz (210), wobei er die Programme der Unterelemente verwendet, die momentan installiert sind und lokal ausgeführt werden. Der Einheitenkonfigurator-Client prüft anhand des Hash-Schlüssels, der die entsprechende Systemverwaltungsfunktion kennzeichnet, ob auf dem Agenten bereits die gleiche Konfiguration installiert ist, indem er in der bevorzugten Ausführungsform den berechneten Hash-Schlüssel mit dem Hash-Schlüssel seines aktuellen Konfigurationsdatensatzes vergleicht. Wenn es eine Übereinstimmung gibt (Antwort ”Ja” im Test 215), muss die Konfiguration nicht aktualisiert werden, und der Prozess wird beendet (220). Dieser Prüfvorgang kann in regelmäßigen Abständen von den Einheitenkonfigurator-Clients durchgeführt werden, damit die Konfiguration des Agenten weiterhin mit der Planung des IT-Administrators übereinstimmt. Wenn der heruntergeladene Agenten-Konfigurationsdatensatz nicht mit den Konfigurationsdatensätzen übereinstimmt (Antwort ”Nein” im Test 215), bedeutet dies, dass die Konfiguration des Agenten aktualisiert werden muss. Es sei angemerkt, dass, wenn es zwischen dem aktuellen und dem heruntergeladenen Agenten-Konfigurationsdatensatz eine Übereinstimmung gibt, die richtigen Programme bereits installiert sind und diese Programme mit den korrekten Parametern in korrekter Weise kundenspezifisch angepasst wurden. Gewöhnlich gehört ein Agent zu einer Gruppe von Agenten, die die gleiche Konfiguration haben. Eine weitere Gruppe von Agenten kann sich davon unterscheiden, und zwar nicht nach der Art des Programms, das installiert ist, sondern nach der jeweiligen kundenspezifischen Anpassung der Agenten, da die Agenten beispielsweise nicht auf demselben Computer ausgeführt werden.
  • Wenn die Konfiguration des Agenten nicht auf dem neuesten Stand ist, weil der Konfigurationsdatensatz des Agenten nicht mit dem aktuellen Konfigurationsdatensatz übereinstimmt, stellt der Einheitenkonfigurator-Client eine Verbindung zu dem Einheitenkonfigurator-Server (225) her, um die Liste mit den gleichgestellten Agenten zu erhalten, die als Referenz für seine Konfiguration dienen. Dies kann bedeuten, dass sich die entsprechenden verteilten Systeme in derselben Gruppe befinden, zum Beispiel Personal Computer desselben Geschäftsbereichs eines Unternehmens. Wie zuvor erwähnt wurde, wird die Liste mit den gleichgestellten Agenten vom Einheitenkonfigurator-Server in der Konfigurationsdatenbank gespeichert. In der bevorzugten Ausführungsform wird die Liste mit den gleichgestellten Agenten für die ganze Konfiguration übergeben. Eine mögliche Variante wäre, dass die Liste mit den gleichgestellten Agenten pro Anwendung übergeben wird. Der nächste Schritt besteht darin, dass der Einheitenkonfigurator-Client eine Verbindung zu dem ersten Agenten in der Liste (230) herstellt, um seinen aktuellen Agenten-Konfigurationsdatensatz zu erhalten, wobei nach wie vor die Hash-Schlüssel verwendet werden. Wenn es zwischen den Agenten-Konfigurationsdatensätzen eine Übereinstimmung gibt (Antwort ”Ja” im Test 235), erhalten die Einheitenkonfigurations-Datensätze die benötigte Agenten-Konfiguration (240) und aktualisieren den Agenten mit dieser Konfiguration, indem sie genau so viele Unterelemente von Agenten installieren, wie die Anzahl der Programme, die für die Systemverwaltungs-Anwendung notwendig sind, die aber noch nicht installiert wurden, und indem sie alle für die Systemverwaltungs-Anwendung notwendigen Programme kundenspezifisch anpassen.
  • Es kann vorkommen, dass keines der verteilten Systeme in der Liste die Agenten-Konfiguration enthält, da sie nicht über die letzte aktuelle Konfiguration verfügen. Aus diesem Grund muss der Einheitenkonfigurator, bevor er die Agenten-Konfiguration von einem gleichgestellten System in der Liste erhält, prüfen, ob die Konfiguration des gleichgestellten Systems, auf das Bezug genommen wird, zuverlässig ist. In dem Fall, in dem kein gleichgestelltes System von der Liste über die aktuelle Konfiguration verfügt (Antwort ”Nein” im Test 245), wird die aktuelle Konfiguration vom Einheitenkonfigurator-Client beim Einheitenkonfigurator-Server angefordert, der nicht nur die Beschreibung von allen Agenten-Konfigurationen in der Konfigurationsdatenbank speichert, sondern auch auf alle Agenten-Konfigurationsdateien zugreifen kann. Aus diesem Grund ist der Einheitenkonfigurator-Server auf demselben Computer wie der Systemverwaltungs-Server (der Verwaltungsserver 105) installiert, der gegebenenfalls auch auf diese Agenten-Konfigurationsdateien zugreifen können muss.
  • Es sei angemerkt, dass neue Binärdateien mit der korrekten kundenspezifischen Anpassung, die im Konfigurationsdatensatz des Agenten beschrieben ist, installiert werden. In der bevorzugten Ausführungsform erfolgt diese Aktualisierung jedoch, indem die kundenspezifisch angepassten Binärdateien des gleichgestellten Agenten geklont werden. Gemäß den Lehren nach dem Stand der Technik ermöglicht das Klonen, wenn es auf die Datenspeicher-Subsysteme angewendet wird, eine Verringerung von Fehlern und eine Herabsetzung der Leistung während der Installation. In der bevorzugten Ausführungsform werden sowohl die Agenten-Kernelemente als auch die Unterelemente geklont; das Klonen findet statt, indem die einzelnen Teile der Daten von einem oder mehreren Agenten in der Liste heruntergeladen werden; die Teile können Konfigurationsdateien, Programmdateien (ausführbare Dateien, Skripte usw....) enthalten.
  • Der letzte Schritt besteht darin, dass der Einheitenkonfigurator-Client den Konfigurationsdatensatz des Agenten aktualisiert und ihn an den Einheitenkonfigurator-Server als den aktuellen Agenten-Konfigurationsdatensatz für diesen Agenten sendet; der Einheitenkonfigurator-Server speichert diese Informationen in der Konfigurationsdatenbank.
  • Es sei erwähnt, dass die Einheitenkonfigurator-Client-Anwendungen, die in den verteilten Systemen ausgeführt werden, die grundlegenden Übertragungsfunktionen des Agenten-Kernelements (170) nutzen können, um mit dem Einheitenkonfigurator-Server oder mit den Einheitenkonfigurator-Client-Anwendungen des gleichgestellten verteilten Systems Daten auszutauschen.
  • 3 zeigt ein Beispiel eines Konfigurationsdatensatzes eines Agenten, der von dem Einheitenkonfigurator-Server in der Konfigurationsdatenbank gemäß der bevorzugten Ausführungsform verwaltet wird.
  • Der Konfigurationsdatensatz des Agenten ist die verkürzte Darstellung der Software-Konfiguration, in Bezug auf Programme und Programm-Parameter, um eine Systemverwaltungsfunktion auszuführen. Eine von einem Agenten ausgeführte Systemverwaltungsfunktion erfordert die Installation von einem entsprechenden Programm und dessen korrekte kundenspezifische Anpassung mit den korrekten Parametern. Es kann auch vorkommen, dass ein weiteres vorausgesetztes Programm installiert und kundenspezifisch angepasst werden muss. Ein anderer Fall ist der, in dem der Agent ein anderes vorausgesetztes Programm verwenden muss, das bereits installiert ist. Das andere vorausgesetzte Programm, das bereits installiert ist, erfordert gegebenenfalls jedoch eine andere kundenspezifische Anpassung. In diesem Fall müssen die neuen Parameter, die für diese kundenspezifische Anpassung verwendet werden, in dem Konfigurationsdatensatz beschrieben werden. In diesen beiden letztgenannten Fällen ist für die Installation der Systemverwaltungsfunktion des Agenten notwendig, dass ein zusätzlicher Konfigurationsdatensatz, der sich auf das zweite vorausgesetzte Programm bezieht, zur Verfügung gestellt wird.
  • Es sei angemerkt, dass die Programme, sobald sie installiert sind, jedem Konfigurationsdatensatz für die Unterelemente (180) entsprechen, die in Bezug auf 1 beschrieben wurden.
  • Die Konfigurationsdatensätze des Agenten werden vom Einheitenkonfigurator-Server gesteuert. Sie werden nach einer entsprechenden Maßnahme des IT-Administrators vom Einheitenkonfigurator-Server in der Konfigurationsdatenbank (150) gespeichert. In der Datenbank wird ein Konfigurationsdatensatz eines Agenten mittels einer Metasprache identifiziert.
  • Ein Konfigurationsdatensatz, der die Konfiguration einer bestimmten Systemverwaltungsfunktion beschreibt, umfasst die folgende Anweisung:
    <Application>ApplicationName</Application>
    wobei der Name der Anwendung der Name des Programms ist.
  • In dem restlichen Konfigurationsdatensatz wird unter der Anweisung <ConfigElement> der mindestens eine Satz von Parametern für die kundenspezifische Anpassung des Programms beschrieben. Diese Anweisung <ConfigElement> (300) kann einen Parameter-Dateinamen in der Anweisung <INIFile> umfassen. Der Satz von Parametern wird durch die folgende Anweisung <RecordElement> näher beschrieben, die weitere Informationen über die Parameter-Datei gibt, zum Beispiel die Dateigröße (Anweisung <FileSize>, das letzte Aktualisierungsdatum mit der Anweisung <LastUpdate> und die Anweisung <ContentIntrospection>, welche die Parameter-Liste ändert, indem sie angibt, welche(r) Parameter aus der Parameter-Datei entfernt werden soll(en) und/oder welche(r) Parameter in die Parameter-Datei aufgenommen werden soll(en). Eine Anweisung <ConfigElement> schließlich enthält einen Hash-Schlüssel, der auf der Grundlage des Inhalts des Datensatz-Elements berechnet wird, das von dem Einheitenkonfigurator-Client verwendet wird, um schnell zwei Konfigurationselemente in zwei verschiedenen Konfigurationsdatensätzen (215, 235) zu vergleichen. Mittels des Hash-Schlüssels kann der Einheitenkonfigurator-Client prüfen, ob die Anwendung installiert und in der in dem Konfigurationsdatensatz beschriebenen Art und Weise konfiguriert ist. Jedes Konfigurationselement enthält eine Anweisung <ConfigHash>, die den HASH-Wert bereitstellt. Jede beliebige, nach dem Stand der Technik bekannte Art von Algorithmus zur Berechnung des Hash-Schlüssels kann verwendet werden.
  • Ein weiterer Satz von Parametern (310) kann auch direkt von einem Satz von Parametern und dessen Wert unter der Anweisung
    <ConfigParam name + value= >
    angegeben werden, was ebenfalls in 3 gezeigt ist.
  • Ein Konfigurationsdatensatz enthält folglich Nachstehendes:
    APPNAME...Element...142 54 5...
    wobei 142545 der Hash-Wert einer ordnungsgemäß konfigurierten Anwendung auf einem bestimmten System ist. Die Einheitenkonfigurator-Client-Anwendung kann Konfigurationsdatensätze auswerten, erzeugen und berechnen, und sie kann prüfen, ob der empfangene Hash-Schlüssel gleich dem Hash-Schlüssel ist, der in dem Konfigurationsdatensatz empfangen wurde, welcher vom Einheitenkonfigurator-Server empfangen wurde.
  • Das erfindungsgemäße Verfahren wird vorzugsweise nicht von Hardware-Logik, sondern in Form von Computerprogrammen durchgeführt, die auf dem Computer des Systemverwaltungs-Servers und den verteilten Systemen betrieben werden. Es sei angemerkt, dass der Systemverwaltungs-Server und der Einheitenkonfigurator-Server vorzugsweise auf demselben Computer installiert sind oder aber auf verschiedenen Computern installiert werden können (ist das wahr?).
  • 4 zeigt ein Beispiel eines Datensatzes einer Konfigurationsdatenbank, der von dem Einheitenkonfigurator-Server gemäß der bevorzugten Ausführungsform verwaltet wird. Die Konfigurationsdatenbank enthält Metadaten, die notwendig sind, um die Konfiguration eines Agenten abzurufen: alle Agenten mit ihren zugehörigen Daten. Diese Metadaten werden serverseitig von dem IT-Administrator aktualisiert (oder können automatisch von einem Programm erzeugt werden) und von der Einheitenkonfigurator-Client-Server-Anwendung verwendet.
  • Die Metadaten der Agenten (AGENT-Metadaten) enthalten die Liste der Agenten der verteilten Umgebung, die von dem Einheitenkonfigurator-Anwendungsserver bekannt sind. Die Agenten werden über ihre Netzwerkadresse oder eine beliebige Kennung, die den Daten der Maschine (des verteilten Systemcomputers oder der verteilten Einheit), zu denen auch die Netzwerkadresse gehört, 1:1 zugeordnet ist, identifiziert (AGENT_ID).
  • Ebenso enthalten die Metadaten der Agentengruppen (AGENT_GROUP-Metadaten) die Liste der Gruppen. Die Agenten werden entsprechend dem Agenten und der Organisationsstruktur des verteilten Systems, die von dem IT-Administrator gesteuert wird, zu Gruppen zusammengefasst: eine Gruppe kann ein Geschäftsbereich eines Unternehmens sein.
  • Die APPLICATION-Metadaten enthalten die Liste der Systemverwaltungs-Anwendungen, die die Agenten auf den verteilten Systemen gegebenenfalls ausführen müssen. Die APPLICATION ist Teil des Konfigurationsdatensatzes des Agenten, der bereits zuvor in dem Schriftstück mit Bezug auf die Beschreibung von 3 beschrieben wurde.
  • Die CONFIGURATION_ELEMENT-Metadaten enthalten Informationen, die es ermöglichen, die Konfigurationsinformationen (Programm, Programm-Parameter), die einer bestimmten Anwendung beigefügt sind, abzurufen. Das CONFIGURATION_ELEMENT ist Teil des Konfigurationsdatensatzes des Agenten, der bereits zuvor in dem Schriftstück mit Bezug auf die Beschreibung von 3 beschrieben wurde.
  • AGENT_GROUP_REL enthält die Beziehung zwischen einem Agenten und seiner Gruppe. AGENT_GROUP_REL besagt, welcher Agent zu welcher Gruppe gehört.
  • APPLICATION_GROUP_REL enthält die Beziehung zwischen der Anwendung (Application) und Gruppen (Groups) sowie das zu der aktuellen Konfiguration gehörende Konfigurationselement (Configuration Element). (Welche Anwendung auf welcher Gruppe installiert ist und den Verweis auf die aktuelle Anwendungskonfiguration).
  • Wenn der Einheitenkonfigurator-Client einen Konfigurationsdatensatz für einen bestimmten Agenten anfordert, sucht der Einheitenkonfigurator-Server nach den zugehörigen Gruppen. Für jede Anwendung, die auf diesen Gruppen installiert ist, wird eine Liste mit den Konfigurationselementen zurückgeschickt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 6976145 [0007]

Claims (12)

  1. Verfahren zum Verwalten von Konfigurationen von Systemverwaltungsagenten, die Systemverwaltungsprogramme für Agenten und Programm-Parameter umfassen, in einer verteilten Umgebung, die verteilte Systeme umfasst, auf denen mindestens ein Agent installiert ist, wobei das Verfahren Folgendes umfasst: – Auffordern eines Konfigurations-Servers, einen Konfigurationsdatensatz zu senden, der die Konfiguration des Agenten für ein verteiltes System, das eine Konfiguration erforderlich macht, beschreibt; – Empfangen eines Konfigurationsdatensatzes, der die Konfiguration eines Agenten beschreibt, von dem Konfigurations-Server; – Berechnen eines aktuellen Konfigurationsdatensatzes eines Agenten, welcher der aktuellen Konfiguration des Agenten entspricht, die auf dem verteilten System installiert ist, das eine Konfiguration erforderlich macht; – Feststellen, ob sich der aktuelle Konfigurationsdatensatz des Agenten von dem Konfigurationsdatensatz unterscheidet, der von dem Server empfangen wurde, und wenn er sich unterscheidet, Auffordern des Konfigurations-Servers, eine Liste mit verteilten Systemen zu senden, von denen angenommen wird, dass sie die gleiche Agenten-Konfiguration haben; – Kontaktieren der verteilten Systeme von der Liste und Auswählen von einem verteilten System, das einen aktuellen Konfigurationsdatensatz hat, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde; – Auffordern des eine Übereinstimmung aufweisenden verteilten Systems von der Liste, seine Agenten-Konfiguration zu senden; – nach dem Empfang der Agenten-Konfiguration Installieren der Agenten-Konfiguration auf dem verteilten System, das eine Konfiguration erforderlich macht.
  2. Verfahren nach Anspruch 1, das des Weiteren das Berechnen des Konfigurationsdatensatzes des soeben installierten Agenten und das Senden des Konfigurationsdatensatzes an den Konfigurations-Server umfasst.
  3. Verfahren nach Anspruch 1 oder 2, bei dem der Installationsschritt das Klonen der gesamten Konfiguration des Agenten von dem eine Übereinstimmung aufweisenden verteilten System durch das eine Übereinstimmung aufweisende verteilte System beinhaltet.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Konfigurationsdatensätze des Agenten einen Hash-Schlüssel umfassen, der aus der Agenten-Konfiguration berechnet wird, und wobei der Schritt des Feststellens einer mit dem aktuellen Konfigurationsdatensatz übereinstimmenden Konfiguration oder einer mit dem Konfigurationsdatensatz eines verteilten Systems von der Liste übereinstimmenden Konfiguration das Vergleichen des Hash-Schlüssels der Konfigurationsdatensätze umfasst, und wenn die Schlüssel gleich sind, sind auch die Konfigurationsdatensätze gleich.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das des Weiteren das Speichern aller Konfigurationsdatensätze für alle Agenten und für alle Gruppen von Agenten durch den Konfigurations-Server umfasst, wobei jeder Agent einer Gruppe von Agenten die gleichen Agenten-Konfigurationsdatensätze hat, wobei ein Systemverwaltungs-Administrator eine Datenbank über eine Schnittstelle des Konfigurations-Servers aktualisiert.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Schritte des Auswählens von einem verteilten System, das einen aktuellen Konfigurationsdatensatz hat, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde, des Weiteren das Auswählen des verteilten Systems, das in einem Netzwerk einer verteilten Umgebung geografisch am nächsten liegt, unter all den verteilten Systemen, die einen aktuellen Konfigurationsdatensatz haben, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde, umfassen.
  7. Verfahren nach einem der Ansprüche 1 bis 6, das, wenn der Konfigurations-Client keine verteilten Systeme von der Liste findet, die einen aktuellen Konfigurationsdatensatz haben, der mit dem Konfigurationsdatensatz übereinstimmt, welcher von dem Server empfangen wurde, des Weiteren das Auffordern des Konfigurationsverwaltungs-Servers, die Agenten-Konfiguration herunterzuladen, umfasst.
  8. Computerprogrammprodukt, das Befehle eines Programmiercodes umfasst, um die Schritte des Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
  9. System zum Verwalten von Konfigurationen von Systemverwaltungsagenten, die Systemverwaltungsprogramme für Agenten und Programm-Parameter umfassen, in einer verteilten Umgebung, die verteilte Systeme umfasst, auf denen mindestens ein Agent installiert ist, wobei das System Folgendes umfasst: – einen Konfigurationsverwaltungs-Server, der eine Konfigurationsdatenbank verwaltet, die eine Beschreibung der Konfigurationen der Agenten des verteilten Systems enthält; – eine Konfigurationsverwalter-Client-Anwendung auf jedem verteilten System, die eine Beschreibung der Konfiguration ihres Agenten von dem Konfigurationsverwaltungs-Server anfordert und eine Liste von verteilten Systemen anfordert, die die gleiche Agenten-Konfiguration haben, wobei die Konfigurationsverwalter-Client-Anwendung die Agenten-Konfiguration von einem verteilten System von der Liste der verteilten Systeme bekommt, welche die gleiche Agenten-Konfiguration haben.
  10. System nach Anspruch 9, wobei der mindestens eine Agent, der auf jedem verteilten System installiert ist, eine Agenten-Kernkomponente umfasst, die die grundlegenden Funktionen für alle Agenten ausführt und Komponenten von Unterelementen beherbergt, von denen jede einem Systemverwaltungsprogramm entspricht, das mit den Parametern, die in seiner Agenten-Konfiguration festgelegt sind, kundenspezifisch angepasst wird.
  11. System nach Anspruch 9 oder Anspruch 10, das des Weiteren eine Datenbank umfasst, die von dem Konfigurations-Server verwendet wird, der alle Konfigurationsdatensätze für alle Agenten und für alle Gruppen von Agenten speichert, wobei jeder Agent einer Gruppe von Agenten den gleichen Agenten-Konfigurationsdatensatz hat.
  12. System nach einem der Ansprüche 9 bis 11, wobei es sich bei den verteilten Systemen um Computer oder persönliche digitale Assistenten oder Smartphones handelt.
DE112010004772T 2009-12-10 2010-10-20 Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagenten in einer Verteilten Umgebung Ceased DE112010004772T8 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP091786095 2009-12-10
EP09178609 2009-12-10
PCT/EP2010/065773 WO2011069730A1 (en) 2009-12-10 2010-10-20 A method and system for managing configurations of system management agents in a distributed environment

Publications (2)

Publication Number Publication Date
DE112010004772T5 true DE112010004772T5 (de) 2012-12-13
DE112010004772T8 DE112010004772T8 (de) 2013-03-14

Family

ID=43245330

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010004772T Ceased DE112010004772T8 (de) 2009-12-10 2010-10-20 Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagenten in einer Verteilten Umgebung

Country Status (5)

Country Link
US (1) US9485134B2 (de)
CN (1) CN102782650B (de)
DE (1) DE112010004772T8 (de)
GB (1) GB2488268B (de)
WO (1) WO2011069730A1 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990361B2 (en) * 2010-04-23 2015-03-24 Psion Inc. Method and system for proximity-based, peer-initiated device configuration
CN103023857B (zh) * 2011-09-20 2016-05-04 腾讯科技(深圳)有限公司 一种信息资源远程部署的方法及系统
CN102497280B (zh) * 2011-11-14 2014-07-30 浪潮(北京)电子信息产业有限公司 一种分布式系统及其实现管理的方法
CN102495745B (zh) * 2011-11-29 2014-01-01 中国航空工业集团公司第六三一研究所 航空电子系统分布式数据加载管理控制方法
US9350629B2 (en) * 2012-08-22 2016-05-24 Oracle International Corporation System and method for ensuring internet protocol (IP) address and node name consistency in a middleware machine environment
US9559894B2 (en) 2012-08-22 2017-01-31 Oracle International Corporation System and method for supporting high available (HA) network communication in a middleware machine environment
KR101389214B1 (ko) * 2012-09-04 2014-04-24 주식회사 엘지씨엔에스 원격 관리 시스템 및 방법
JP2015534769A (ja) * 2012-09-25 2015-12-03 エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. データネットワークにおける負荷分散
US9420065B2 (en) * 2013-01-18 2016-08-16 Google Inc. Peer-to-peer software updates
CN103347090B (zh) * 2013-07-17 2016-05-04 成都盈锐科技有限公司 一种基于企业网络的软件许可证管理方法
US20150324686A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Distributed model learning
US9298734B2 (en) * 2014-06-06 2016-03-29 Hitachi, Ltd. Storage system, computer system and data migration method
US9395969B2 (en) 2014-09-23 2016-07-19 International Business Machines Corporation Complex computer environment installation
CN104601364B (zh) * 2014-12-03 2018-10-02 华为技术有限公司 一种管理集群中成员管理方法及装置
US9921819B2 (en) 2014-12-29 2018-03-20 Airwatch Llc Persistent mobile device enrollment
US10101981B2 (en) 2015-05-08 2018-10-16 Citrix Systems, Inc. Auto discovery and configuration of services in a load balancing appliance
US10241775B2 (en) * 2016-01-14 2019-03-26 Ca, Inc. Dynamic release baselines in a continuous delivery environment
CN106301898B (zh) * 2016-08-08 2019-09-17 杭州迪普科技股份有限公司 一种配置信息的同步方法及装置
US10338981B2 (en) 2016-12-06 2019-07-02 Vmware, Inc Systems and methods to facilitate infrastructure installation checks and corrections in a distributed environment
US11182203B2 (en) 2016-12-06 2021-11-23 Vmware, Inc. Systems and methods to orchestrate infrastructure installation of a hybrid system
US10462123B2 (en) * 2016-12-06 2019-10-29 Vmware, Inc. Systems and methods for cloning an agent in a distributed environment
US11153297B2 (en) 2016-12-06 2021-10-19 Vmware, Inc. Systems and methods to facilitate certificate and trust management across a distributed environment
US10620965B2 (en) 2017-03-22 2020-04-14 Vmware, Inc. Internet recovery of a windows configuration
US10740109B2 (en) 2017-03-22 2020-08-11 Vmware, Inc. Configuring a computing device using managed operating system images
US10635819B2 (en) 2017-03-22 2020-04-28 Vmware, Inc. Persistent enrollment of a computing device based on a temporary user
US10409619B2 (en) * 2017-03-22 2019-09-10 Vmware, Inc. Persistent enrollment of a computing device using vendor autodsicovery
US10445106B2 (en) 2017-03-22 2019-10-15 Vmware, Inc. Persistent enrollment of a computing device using a BIOS
CN107483250A (zh) * 2017-08-21 2017-12-15 郑州云海信息技术有限公司 分布式配置管理方法、装置及实现分布式配置管理的系统
CN109976822B (zh) * 2017-12-25 2022-04-08 天翼云科技有限公司 分布式应用的配置方法、装置以及分布式系统
US11914592B2 (en) 2018-02-27 2024-02-27 Elasticsearch B.V. Systems and methods for processing structured queries over clusters
US11188531B2 (en) 2018-02-27 2021-11-30 Elasticsearch B.V. Systems and methods for converting and resolving structured queries as search queries
US11461270B2 (en) 2018-10-31 2022-10-04 Elasticsearch B.V. Shard splitting
US10997204B2 (en) 2018-12-21 2021-05-04 Elasticsearch B.V. Cross cluster replication
US11943295B2 (en) 2019-04-09 2024-03-26 Elasticsearch B.V. Single bi-directional point of policy control, administration, interactive queries, and security protections
US11431558B2 (en) * 2019-04-09 2022-08-30 Elasticsearch B.V. Data shipper agent management and configuration systems and methods
US10891165B2 (en) 2019-04-12 2021-01-12 Elasticsearch B.V. Frozen indices
US11182093B2 (en) 2019-05-02 2021-11-23 Elasticsearch B.V. Index lifecycle management
US11947851B2 (en) 2020-02-28 2024-04-02 Ricoh Company, Ltd. Configuring printing devices
US11494141B2 (en) 2020-02-28 2022-11-08 Ricoh Company, Ltd. Configuring printing devices using a mobile device that receives and display data that identifies a plurality of configurations for a printing device and indicates that the current configuration of the printing device has changed from a prior configuration
US11604674B2 (en) 2020-09-04 2023-03-14 Elasticsearch B.V. Systems and methods for detecting and filtering function calls within processes for malware behavior
US11870646B2 (en) * 2021-01-12 2024-01-09 Oracle International Corporation Fabric availability and synchronization
CN115269562B (zh) * 2022-09-26 2023-02-28 北京奥星贝斯科技有限公司 一种数据库管理方法、装置、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976145B1 (en) 2003-08-06 2005-12-13 Storage Technology Corporation Method and apparatus for automatically configuring data storage subsystems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162538B1 (en) * 2000-10-04 2007-01-09 Intel Corporation Peer to peer software distribution system
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
AU2002358290A1 (en) 2001-12-28 2003-07-24 Woodstock Systems, Llc Personal digital servertm (pdstm)
US20040006586A1 (en) 2002-04-23 2004-01-08 Secure Resolutions, Inc. Distributed server software distribution
US7370092B2 (en) * 2002-09-12 2008-05-06 Computer Sciences Corporation System and method for enhanced software updating and revision
US20040261071A1 (en) 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
US20070143446A1 (en) 2005-12-21 2007-06-21 Morris Robert P Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
EP1936497A3 (de) 2006-12-20 2009-04-08 NCR Corporation Automatisierte weiträumige Softwareverteilung mit reduzierten Anforderungen an die Netzwerkbandbreite
US20080263545A1 (en) * 2007-04-23 2008-10-23 Hewlett-Packard Development Company, L.P. Signal delivery to a process in a process group
KR100857705B1 (ko) * 2007-05-28 2008-09-08 (주)케이티에프테크놀로지스 프로그램 업그레이드 방법 및 이를 수행하기 위한 시스템
US20090130971A1 (en) * 2007-11-21 2009-05-21 Polycom, Inc. Method & apparatus for distributing files in a communications network
US20110258299A1 (en) * 2008-12-30 2011-10-20 Thomson Licensing Synchronization of configurations for display systems
US8719386B2 (en) * 2009-01-08 2014-05-06 Fonality, Inc. System and method for providing configuration synchronicity
US8898748B2 (en) * 2009-05-21 2014-11-25 Mobile Iron, Inc. Remote verification for configuration updates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976145B1 (en) 2003-08-06 2005-12-13 Storage Technology Corporation Method and apparatus for automatically configuring data storage subsystems

Also Published As

Publication number Publication date
US9485134B2 (en) 2016-11-01
GB2488268B (en) 2017-10-04
CN102782650A (zh) 2012-11-14
WO2011069730A1 (en) 2011-06-16
CN102782650B (zh) 2016-01-20
US20120233299A1 (en) 2012-09-13
GB201208732D0 (en) 2012-07-04
DE112010004772T8 (de) 2013-03-14
GB2488268A (en) 2012-08-22

Similar Documents

Publication Publication Date Title
DE112010004772T5 (de) Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagentenin einer Verteilten Umgebung
DE60122691T2 (de) Verfahren und vorrichtung zum verteilten cachen
DE69635469T2 (de) Synchronisierung zwischen verschiedenen Computeranbieterumgebungen
DE60009489T2 (de) Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät
DE102016210672A1 (de) Verfahren für die drahtlose Remote-Aktualisierung von Fahrzeug-Software
DE102016210676A1 (de) Verfahren zum Aktualisieren von ECUs unter Verwendung von differenziellen Aktualisierungspaketen
DE102016210511A1 (de) Zentralisiertes System für die Software Aktualisierung von Fahrzeugkomponenten
DE102016210675A1 (de) Telematik-Steuereinheit mit einem differenziellen Aktualisierungspaket
DE102016210509A1 (de) Verfahren für die Aktualisierung von elektronischen Fahrzeug-Steuereinheiten per Luftschnittstelle
DE102016210674A1 (de) Verfahren für die Software Aktualisierung von Fahrzeugkomponenten
EP0849666A2 (de) Verfahren zum Instantiieren einer versionsbehafteten Klasse
WO2006066880A1 (de) System und verfahren zum automatischen aktualisieren von funktionalitäten in einem verteilten netzwerk
DE112011103497T5 (de) Informationsverarbeitungssystem, Informationsverarbeitungsvorrichtung, Lastausgleichsverfahren, Planungsverfahren für die Datenbankbereitstellung und Programm zum Durchführen der Verbindungsverteilung für den Lastausgleich in einer verteilten Datenbank
EP2340485A1 (de) Verfahren zur konfiguration einer applikation
DE102012215436A1 (de) Optimierung der Verwendung eines gebündelten, an ein Netzwerk angeschlossenen Speichers (clustered network attached storage (NAS))
DE112010003458B4 (de) Verfahren und System für die Verwaltung der P2P-Dateiübertragung
EP2250588B1 (de) Verfahren und programm zum bereitstellen von datenkohärenz in netzwerken
DE602005002919T2 (de) Adaptive Softwarekomponententechniken
DE202015009316U1 (de) Metadatenmanagement in einem dezentralen Verarbeitungssystem
DE112018001386T5 (de) Informationsverwaltungssystem, fahrzeuginterne vorrichtung, server und routingtabellenänderungsverfahren
DE102011114273A1 (de) Automatische Benutzerredundanzbestimmung
DE202023102700U1 (de) Datenaufnahmereplizierung und Notfallwiederherstellung
DE112011104020T5 (de) Validierung des Zugriffs auf einen gemeinsam genutzen Datensatz bei Lese- und Schreibzugriff mehrerer Anforderer
DE10115380A1 (de) Verfahren zum Ändern eines Parameters eines Betriebssystems eines Computersystems
DE10206001A1 (de) Verfahren zur Steuerung der Installation von Programmcode auf Netzelementen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009445000

Ipc: G06F0008650000

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final