DE112004000460T5 - System und Verfahren zum Verwalten verteilter Objekte als eine einzelne Darstellung - Google Patents

System und Verfahren zum Verwalten verteilter Objekte als eine einzelne Darstellung Download PDF

Info

Publication number
DE112004000460T5
DE112004000460T5 DE112004000460T DE112004000460T DE112004000460T5 DE 112004000460 T5 DE112004000460 T5 DE 112004000460T5 DE 112004000460 T DE112004000460 T DE 112004000460T DE 112004000460 T DE112004000460 T DE 112004000460T DE 112004000460 T5 DE112004000460 T5 DE 112004000460T5
Authority
DE
Germany
Prior art keywords
machine
clustered
commands
instructions
virtual
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.)
Withdrawn
Application number
DE112004000460T
Other languages
English (en)
Inventor
Marc Sacramento Torrant
Paul Dorado Hills Baleme
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.)
Intel Corp
Anmelderangaben Unklar / Unvollstandig
Original Assignee
Intel Corp
Anmelderangaben Unklar / Unvollstandig
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 Intel Corp, Anmelderangaben Unklar / Unvollstandig filed Critical Intel Corp
Publication of DE112004000460T5 publication Critical patent/DE112004000460T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren zum Verwalten eines Agenten-basierten Systems, umfassend:
Öffnen einer virtuellen nicht-dauerhaften Verbindung;
Senden eines ersten Satzes von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält;
Auslösen einer aktiven Maschine innerhalb der gruppierten Maschine zum Verarbeiten des ersten Satzes von Befehlen;
Empfangen von Informationen von der aktiven Maschine als Ergebnis der Verarbeitung des ersten Satzes von Befehlen; und
Schließen der virtuellen Verbindung.

Description

  • 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 606610 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 606610 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.

Claims (37)

  1. Verfahren zum Verwalten eines Agenten-basierten Systems, umfassend: Öffnen einer virtuellen nicht-dauerhaften Verbindung; Senden eines ersten Satzes von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält; Auslösen einer aktiven Maschine innerhalb der gruppierten Maschine zum Verarbeiten des ersten Satzes von Befehlen; Empfangen von Informationen von der aktiven Maschine als Ergebnis der Verarbeitung des ersten Satzes von Befehlen; und Schließen der virtuellen Verbindung.
  2. Verfahren nach Anspruch 1, wobei das Verfahren vor dem Öffnen einer virtuellen nicht-dauerhaften Verbindung des Weiteren Folgendes umfaßt: Empfangen einer Anforderung zum Bearbeiten einer oder mehrerer gemeinsam genutzter Ressourcen oder Dienste von einem Benutzer; und Erzeugen des ersten Satzes von Befehlen zum Erhalten der Anforderung.
  3. Verfahren nach Anspruch 2, wobei ein Benutzer einen Administrator oder einen Client umfaßt.
  4. Verfahren nach Anspruch 1, wobei das Verfahren vor dem Öffnen einer virtuellen nicht-dauerhaften Verbindung des Weiteren Folgendes umfaßt: Auslösen einer Anforderung für Informationen; und Erzeugen des ersten Satzes von Befehlen zum Erhalten der Anforderung.
  5. Verfahren nach Anspruch 1, wobei das Senden des ersten Satzes von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält, des Weiteren umfaßt, den ersten Satz von Befehlen unter Verwendung einer virtuellen Internet-Protocol-Adresse (IP) zu der gruppierten Maschine zu senden, wobei die virtuelle nicht-dauerhafte Verbindung und die virtuelle IP-Adresse es der gruppierten Maschine, die wenigstens zwei eigenständige Maschinen aufweist, in denen Ressourcen oder Dienste gemeinsam genutzt werden, ermöglichen, als eine einzelne Entität dargestellt zu werden.
  6. Verfahren nach Anspruch 1, wobei das Senden des ersten Satzes von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält, des Weiteren umfaßt, den ersten Satz von Befehlen unter Verwendung einer virtuellen Internet-Protocol-Adresse (IP) zu der gruppierten Maschine zu senden, wobei die virtuelle nicht-dauerhafte Verbindung und die virtuelle IP-Adresse es der gruppierten Maschine, die wenigstens zwei eigenständige Objekte aufweist, in denen Ressourcen oder Dienste gemeinsam genutzt werden, ermöglichen, als ein einzelnes Objekt dargestellt zu werden.
  7. Verfahren nach Anspruch 1, wobei das Öffnen einer virtuellen nicht-dauerhaften Verbindung das Öffnen der virtuellen nicht-dauerhaften Verbindung unter Verwendung eines lokalen Agenten umfasst.
  8. Verfahren nach Anspruch 1, wobei das Auslösen einer aktiven Maschine innerhalb der gruppierten Maschine zum Verarbeiten des ersten Satzes von Befehlen des Weiteren umfaßt, einen Agenten in der aktiven Maschine in die Lage zu versetzen: den ersten Satz von Befehlen zu interpretieren; Funktionen auszuführen, die von dem ersten Satz von Befehlen verlangt werden; und Informationen, die sich auf den ersten Satz von Befehlen beziehen, über die virtuelle nicht-dauerhafte Verbindung zurückzusenden.
  9. Verfahren nach Anspruch 1, wobei das Empfangen von Informationen von der aktiven Maschine als Ergebnis der Verarbeitung des ersten Satzes von Befehlen des Weiteren umfaßt, die Informationen zu einer anfordernden Entität zu senden.
  10. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfaßt: Empfangen einer Anforderung für nicht-gruppierte Ressourcen oder Dienste von einem Benutzer; Erzeugen eines zweiten Satzes von Befehlen zum Erhalten der Anforderung für nicht-gruppierte Ressourcen oder Dienste; Senden des zweiten Satzes von Befehlen über eine dauerhafte Verbindung zu einer Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet; Ermöglichen eines Agenten in der Maschine, den zweiten Satz von Befehlen zu verarbeiten; und Empfangen von Informationen von dem Agenten als Ergebnis der Verarbeitung des zweiten Satzes von Befehlen.
  11. Verfahren nach Anspruch 10, wobei die Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, eine nicht-gruppierte Maschine, die als ein einzelnes Objekt dargestellt ist, oder eine gruppierte Maschine, die wenigstens zwei separate Maschinen aufweist, wobei die wenigstens zwei separaten Maschinen als zwei separate Objekte dargestellt sind, umfaßt, wobei das Senden des zweiten Satzes von Befehlen über die dauerhafte Verbindung zu der Maschine, in der die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst abgelegt ist, umfaßt, den zweiten Satz von Befehlen über die dauerhafte Verbindung an eine der wenigstens zwei separaten Maschinen in der gruppierten Maschine zu senden, wobei jede der we nigstens zwei separaten Maschinen in der gruppierten Maschine eine separate dauerhafte Verbindung aufweist.
  12. Verfahren nach Anspruch 10, wobei das Ermöglichen eines Agenten in der Maschine, den zweiten Satz von Befehlen zu verarbeiten, des Weiteren umfaßt, den Agenten in die Lage zu versetzen: den zweiten Satz von Befehlen zu interpretieren; Funktionen auszuführen, die von dem zweiten Satz von Befehlen verlangt werden; und Informationen, die sich auf den zweiten Satz von Befehlen beziehen, über die dauerhafte Verbindung zurückzusenden.
  13. Verfahren nach Anspruch 10, das des Weiteren umfaßt, die empfangenen Informationen an den Benutzer zu senden.
  14. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfaßt: Initiieren einer Anforderung für nicht-gruppierte Ressourcen oder Dienste; Erzeugen eines zweiten Satzes von Befehlen zum Erhalten der Anforderung für nicht-gruppierte Ressourcen oder Dienste; Senden des zweiten Satzes von Befehlen über eine dauerhafte Verbindung zu einer Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet; Ermöglichen eines Agenten in der Maschine, den zweiten Satz von Befehlen zu verarbeiten; und Empfangen von Informationen von dem Agenten als Ergebnis der Verarbeitung des zweiten Satzes von Befehlen.
  15. Verfahren nach Anspruch 14, wobei die Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, eine nicht-gruppierte Maschine, die als ein einzelnes Objekt dargestellt ist, oder eine gruppierte Maschine, die wenigstens zwei separate Maschinen aufweist, wobei die wenigstens zwei separaten Maschinen als zwei separate Objekte dargestellt sind, umfaßt, wobei das Senden des zweiten Satzes von Befehlen über die dauerhafte Verbindung zu der Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, beinhaltet, den zweiten Satz von Befehlen über die dauerhafte Verbindung an eine der wenigstens zwei separaten Maschinen in der gruppierten Maschine zu senden, wobei jede der wenigstens zwei separaten Maschinen in der gruppierten Maschine eine separate dauerhafte Verbindung aufweist.
  16. Verfahren nach Anspruch 14, wobei das Ermöglichen eines Agenten in der Maschine, den zweiten Satz von Befehlen zu verarbeiten, des Weiteren umfaßt, den Agenten in die Lage zu versetzen: den zweiten Satz von Befehlen zu interpretieren; notwendige Funktionen auszuführen, die von dem zweiten Satz von Befehlen verlangt werden; und Informationen, die sich auf den zweiten Satz von Befehlen beziehen, über die dauerhafte Verbindung zurückzusenden.
  17. Gegenstand, umfassend ein Speichermedium mit mehreren maschinenlesbaren Instruktionen, wobei, wenn die Instruktionen durch einen Prozessor ausgeführt werden, die Instruktionen bewirken, daß: eine virtuelle nicht-dauerhafte Verbindung geöffnet wird; ein erster Satz von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält, gesandt wird; eine aktive Maschine innerhalb der gruppierten Maschine zum Verarbeiten des ersten Satzes von Befehlen ausgelöst wird; Informationen von der aktiven Maschine als Ergebnis der Verarbeitung des ersten Satzes von Befehlen empfangen werden; und die virtuelle Verbindung geschlossen wird.
  18. Gegenstand nach Anspruch 17, der des Weiteren Instruktionen umfaßt, um: eine Anforderung zum Bearbeiten einer oder mehrerer gemeinsam genutzter Ressourcen oder Dienste von einem Benutzer zu empfangen; und den ersten Satz von Befehlen zum Erhalten der Anforderung zu erzeugen.
  19. Gegenstand nach Anspruch 18, wobei ein Benutzer einen Administrator oder einen Client umfaßt.
  20. Gegenstand nach Anspruch 17, der des Weiteren Instruktionen umfaßt, um: eine Anforderung für Informationen auszulösen; und den ersten Satz von Befehlen zum Erhalten der Anforderung zu erzeugen.
  21. Gegenstand nach Anspruch 17, wobei Instruktionen zum Senden des ersten Satzes von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält, des Weiteren Instruktionen umfassen, den ersten Satz von Befehlen unter Verwendung einer virtuellen Internet-Protocol-Adresse (IP) zu der gruppierten Maschine zu senden, wobei die virtuelle nicht-dauerhafte Verbindung und die virtuelle IP-Adresse es der gruppiertem Maschine, die wenigstens zwei eigenständige Maschinen aufweist, in denen Ressourcen oder Dienste gemeinsam genutzt werden, ermöglichen, als eine einzelne Entität dargestellt zu werden.
  22. Gegenstand nach Anspruch 17, wobei Instruktionen zum Senden des ersten Satzes von Befehlen über die virtuelle nicht-dauerhafte Verbindung zu einer gruppierten Maschine, die gemeinsam genutzte Ressourcen bzw. Dienste enthält, des Weiteren Instruktionen umfassen, den ersten Satz von Befehlen unter Verwendung einer virtuellen Internet-Protocol-Adresse (IP) zu der gruppierten Maschine zu senden, wobei die virtuelle nicht-dauerhafte Verbindung und die virtuelle IP-Adresse es der gruppierten Maschine, die wenigstens zwei eigenständige Objekte aufweist, in denen Ressourcen oder Dienste gemeinsam genutzt werden, ermöglichen, als ein einzelnes Objekt dargestellt zu werden.
  23. Gegenstand nach Anspruch 17, wobei Instruktionen zum Öffnen einer virtuellen nicht-dauerhaften Verbindung des Weiteren Instruktionen zum Öffnen der virtuellen nicht-dauerhaften Verbindung unter Verwendung eines lokalen Agenten umfassen.
  24. Gegenstand nach Anspruch 17, wobei Instruktionen zum Auslösen einer aktiven Maschine innerhalb der gruppierten Maschine zum Verarbeiten des ersten Satzes von Befehlen des Weiteren Instruktionen umfassen, einen Agenten in der aktiven Maschine in die Lage zu versetzen: den ersten Satz von Befehlen zu interpretieren; Funktionen auszuführen, die von dem ersten Satz von Befehlen verlangt werden; und Informationen, die sich auf den ersten Satz von Befehlen beziehen, über die virtuelle nicht-dauerhafte Verbindung zurückzusenden.
  25. Gegenstand nach Anspruch 17, wobei Instruktionen zum Empfangen von Informationen von der aktiven Maschine als Ergebnis der Verarbeitung des ersten Satzes von Befehlen des Weiteren Instruktionen umfassen, die Informationen zu einer anfordernden Entität zu senden.
  26. Gegenstand nach Anspruch 17, der des Weiteren Instruktionen umfaßt, um: eine Anforderung für nicht-gruppierte Ressourcen oder Dienste von einem Benutzer zu empfangen; einen zweiten Satz von Befehlen zum Erhalten der Anforderung für nicht-gruppierte Ressourcen oder Dienste zu erzeugen; den zweiten Satz von Befehlen über eine dauerhafte Verbindung zu einer Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, zu senden; es einem Agenten in der Maschine zu ermöglichen, den zweiten Satz von Befehlen zu verarbeiten; und Informationen von dem Agenten als Ergebnis der Verarbeitung des zweiten Satzes von Befehlen zu empfangen.
  27. Gegenstand nach Anspruch 26, wobei die Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, eine nicht-gruppierte Maschine, die als ein einzelnes Objekt dargestellt ist, oder eine gruppierte Maschine, die wenigstens zwei separate Maschinen aufweist, wobei die wenigstens zwei separaten Maschinen als zwei separate Objekte dargestellt sind, umfaßt, wobei Instruktionen zum Senden des zweiten Satzes von Befehlen über die dauerhafte Verbindung zu der Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, Instruktionen beinhalten, den zweiten Satz von Befehlen über die dauerhafte Verbindung an eine der wenigstens zwei separaten Maschinen in der gruppierten Maschine zu senden, wobei jede der wenigstens zwei separaten Maschinen in der gruppierten Maschine eine separate dauerhafte Verbindung aufweist.
  28. Gegenstand nach Anspruch 27, wobei Instruktionen zum Ermöglichen eines Agenten in der Maschine, den zweiten Satz von Befehlen zu verarbeiten, des Weiteren Instruktionen umfassen, den Agenten in die Lage zu versetzen: den zweiten Satz von Befehlen zu interpretieren; erforderliche Funktionen auszuführen, die von dem zweiten Satz von Befehlen verlangt werden; und Informationen, die sich auf den zweiten Satz von Befehlen beziehen, über die dauerhafte Verbindung zurückzusenden.
  29. Gegenstand nach Anspruch 27, der des Weiteren Instruktionen umfaßt, um die empfangenen Informationen an den Benutzer zu senden.
  30. Gegenstand nach Anspruch 17, der des Weiteren Instruktionen umfaßt, um: eine Anforderung für nicht-gruppierte Ressourcen oder Dienste zu initiieren; einen zweiten Satz von Befehlen zum Erhalten der Anforderung für nicht-gruppierte Ressourcen oder Dienste zu erzeugen; den zweiten Satz von Befehlen über eine dauerhafte Verbindung zu einer Maschine zu senden, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet; es einem Agenten in der Maschine zu ermöglichen, den zweiten Satz von Befehlen zu verarbeiten; und Informationen von dem Agenten als Ergebnis der Verarbeitung des zweiten Satzes von Befehlen zu empfangen.
  31. Gegenstand nach Anspruch 30, wobei die Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, eine nicht-gruppierte Maschine, die als ein einzelnes Objekt dargestellt ist, oder eine gruppierte Maschine, die wenigstens zwei separate Maschinen aufweist, wobei die wenigstens zwei separaten Maschinen als zwei separate Objekte wiedergegeben sind, umfaßt, wobei Instruktionen zum Senden des zweiten Satzes von Befehlen über die dauerhafte Verbindung zu der Maschine, in der sich die nicht-gruppierte Ressource bzw. der nicht-gruppierte Dienst befindet, Instruktionen beinhalten, um den zweiten Satz von Befehlen über die dauer hafte Verbindung an eine der wenigstens zwei separaten Maschinen in der gruppierten Maschine zu senden, wobei jede der wenigstens zwei separaten Maschinen in der gruppierten Maschine eine separate dauerhafte Verbindung aufweist.
  32. Gegenstand nach Anspruch 30, wobei Instruktionen zum Ermöglichen eines Agenten in der Maschine, den zweiten Satz von Befehlen zu verarbeiten, des Weiteren Instruktionen umfassen, um den Agenten in die Lage zu versetzen: den zweiten Satz von Befehlen zu interpretieren; Funktionen auszuführen, die von dem zweiten Satz von Befehlen verlangt werden; und Informationen, die sich auf den zweiten Satz von Befehlen beziehen, über die dauerhafte Verbindung zurückzusenden.
  33. Agenten-basiertes Verwaltungssystem, umfassend: eine Steuerung; einen lokalen Agenten, der mit der Steuerung verbunden ist; wenigstens eine gruppierte Maschine, wobei die wenigstens eine gruppierte Maschine wenigstens zwei einzelne Agenten umfaßt, wobei die wenigstens zwei einzelnen Agenten wenigstens eine gemeinsam genutzte Ressource oder wenigstens einen gemeinsam genutzten Dienst gemeinsam nutzen; und eine virtuelle nicht-dauerhafte Verbindung zum Verbinden der wenigstens zwei einzelnen Agenten mit dem lokalen Agenten, wobei der lokale Agent über die virtuelle nicht-dauerhafte Verbindung unter Verwendung einer virtuellen IP-Adresse auf die wenigstens eine gemeinsam genutzte Ressource bzw. den wenigstens einen gemeinsam genutzten Dienst zugreift, um es den wenigstens zwei einzelnen Agenten der wenigstens einen gruppierten Maschine zu ermöglichen, als ein einzelnes Objekt dargestellt zu werden.
  34. System nach Anspruch 1, wobei jeder der wenigstens zwei einzelnen Agenten wenigstens eine nicht-gruppierte Ressource bzw. wenigstens einen nicht-gruppierten Dienst umfaßt, wobei das System des Weiteren wenigstens zwei dauerhafte Verbindungen umfaßt, wobei jede der wenigstens zwei dauerhaften Verbindungen mit der Steuerung und mit einem der wenigstens zwei einzelnen Agenten verbunden ist, wobei die wenigstens zwei dauerhaften Verbindungen dazu vorgesehen sind, die Steuerung in die Lage zu versetzen, auf die wenigstens eine nicht-gruppierte Ressource bzw. den wenigstens einen nicht-gruppierten Dienst in jedem der wenigstens zwei einzelnen Agenten separat zuzugreifen, wodurch es möglich wird, die wenigstens zwei einzelnen Agenten der wenigstens einen gruppierten Maschine als wenigstens zwei Objekte darzustellen.
  35. System nach Anspruch 33, des Weiteren umfassend wenigstens eine nicht-gruppierte Maschine mit einem Agenten und wenigstens einer nicht-gruppierten Ressource bzw. wenigstens einem nicht-gruppierten Dienst, wobei die wenigstens eine nicht-gruppierte Maschine über eine dauerhafte Verbindung mit der Steuerung verbunden ist, um es der Steuerung zu ermöglichen, auf Informationen von der wenigstens einen nicht-gruppierten Ressource bzw. dem wenigstens einen nicht-gruppierten Dienst zuzugreifen.
  36. System nach Anspruch 33, wobei auf die gemeinsam genutzte Ressource bzw. den gemeinsam genutzten Dienst nur von einem der wenigstens zwei einzelnen Agenten aus zugegriffen werden kann.
  37. System nach Anspruch 33, wobei die Steuerung mit dem Internet verbunden ist, um es Administratoren und Clients zu ermöglichen, mit der Steuerung zu kommunizieren.
DE112004000460T 2003-03-21 2004-02-25 System und Verfahren zum Verwalten verteilter Objekte als eine einzelne Darstellung Withdrawn DE112004000460T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/393,622 2003-03-21
US10/393,622 US7313619B2 (en) 2003-03-21 2003-03-21 System and method for managing distributed objects as a single representation
PCT/US2004/005665 WO2004095269A2 (en) 2003-03-21 2004-02-25 System and method for managing distributed objects as a single representation

Publications (1)

Publication Number Publication Date
DE112004000460T5 true DE112004000460T5 (de) 2008-07-17

Family

ID=32988189

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112004000460T Withdrawn DE112004000460T5 (de) 2003-03-21 2004-02-25 System und Verfahren zum Verwalten verteilter Objekte als eine einzelne Darstellung

Country Status (8)

Country Link
US (5) US7313619B2 (de)
JP (1) JP4307448B2 (de)
KR (1) KR100859611B1 (de)
CN (1) CN100367214C (de)
DE (1) DE112004000460T5 (de)
GB (1) GB2415814B (de)
TW (1) TWI242141B (de)
WO (1) WO2004095269A2 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313619B2 (en) 2003-03-21 2007-12-25 Intel Corporation System and method for managing distributed objects as a single representation
EP1614255B1 (de) * 2003-04-04 2014-09-03 CA, Inc. Verfahren und system zur verwaltung und konfiguration von fernagenten
US7715934B2 (en) 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
US7877810B2 (en) * 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service
US20060031520A1 (en) * 2004-05-06 2006-02-09 Motorola, Inc. Allocation of common persistent connections through proxies
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
US20050283531A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation Method and apparatus for combining resource properties and device operations using stateful Web services
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US20060248199A1 (en) * 2005-04-29 2006-11-02 Georgi Stanev Shared closure persistence of session state information
US7761435B2 (en) * 2005-04-29 2010-07-20 Sap Ag External persistence of session state information
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
US7853698B2 (en) * 2005-04-29 2010-12-14 Sap Ag Internal persistence of session state information
US8762547B2 (en) * 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
US20060248283A1 (en) * 2005-04-29 2006-11-02 Galin Galchev System and method for monitoring threads in a clustered server architecture
US7809943B2 (en) * 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
US8086722B2 (en) * 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
US8707323B2 (en) 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
US8103698B2 (en) * 2007-02-28 2012-01-24 Jianwen Yin Methods, apparatus and media for system management of object oriented information models
CN101256510B (zh) * 2008-04-11 2010-06-16 中兴通讯股份有限公司 一种集群系统及实现其集中管理的方法
US9639331B2 (en) * 2008-07-09 2017-05-02 International Business Machines Corporation Service interface creation and modification for object-oriented services
US9442810B2 (en) 2009-07-31 2016-09-13 Paypal, Inc. Cloud computing: unified management console for services and resources in a data center
WO2012096963A1 (en) * 2011-01-10 2012-07-19 Fiberlink Communications Corporation System and method for extending cloud services into the customer premise
US9015304B2 (en) 2012-06-15 2015-04-21 Citrix Systems, Inc. Systems and methods for supporting a SNMP request over a cluster
TWI461907B (zh) * 2012-10-11 2014-11-21 Mstar Semiconductor Inc 配合多個應用程式之整合系統和測試系統
CN103810019B (zh) * 2014-02-08 2017-03-01 南开大学 一种支持进程粒度网络计算的虚拟计算环境系统
US10437720B2 (en) * 2014-03-12 2019-10-08 Optumsoft, Inc. Deferred destruction for efficient resource reclamation
US9128779B1 (en) * 2014-07-31 2015-09-08 Splunk Inc. Distributed tasks for retrieving supplemental job information
US20160147852A1 (en) * 2014-11-21 2016-05-26 Arndt Effern System and method for rounding computer system monitoring data history
US10642594B2 (en) * 2014-11-21 2020-05-05 Sap Se System and method for updating monitoring software using content model with validity attributes
US10101993B2 (en) * 2014-11-21 2018-10-16 Sap Se System and method for updating content without downtime
CN104378449B (zh) * 2014-12-09 2017-07-14 飞天诚信科技股份有限公司 一种虚拟ip的实现方法
US11575534B2 (en) * 2015-02-10 2023-02-07 Universal Electronics Inc. System and method for aggregating and analyzing the status of a system
US10084657B2 (en) 2015-06-29 2018-09-25 Ca, Inc. Normalized software-defined networking interface
US10003498B2 (en) * 2015-06-29 2018-06-19 Ca, Inc. Efficient management of network configuration-dependent network functionality
US10924473B2 (en) * 2015-11-10 2021-02-16 T Stamp Inc. Trust stamp
CN107135242B (zh) * 2016-02-29 2020-06-05 阿里巴巴集团控股有限公司 Mongodb集群访问方法、装置及系统
KR101648568B1 (ko) * 2016-03-09 2016-08-16 주식회사 티맥스 소프트 분산된 객체를 클러스터링하여 하나의 객체처럼 활용하는 방법 및 이를 사용한 분산 시스템
CN106095526A (zh) * 2016-06-06 2016-11-09 腾讯科技(深圳)有限公司 虚拟服务器集群及其服务器的部署方法、装置以及系统
US11025436B2 (en) * 2017-03-01 2021-06-01 Banco Bilbao Vizcaya Argentaria, S.A. Self-authenticating digital identity
US11093771B1 (en) 2018-05-04 2021-08-17 T Stamp Inc. Systems and methods for liveness-verified, biometric-based encryption
US11496315B1 (en) 2018-05-08 2022-11-08 T Stamp Inc. Systems and methods for enhanced hash transforms
US11301586B1 (en) 2019-04-05 2022-04-12 T Stamp Inc. Systems and processes for lossy biometric representations
US11343329B1 (en) * 2019-05-20 2022-05-24 Amazon Technologies, Inc. Techniques for increasing persistent connection scalability
CN110764742B (zh) * 2019-10-18 2023-05-23 成都信息工程大学 一种气候观测数据线性相关度高速计算方法及系统
US11967173B1 (en) 2020-05-19 2024-04-23 T Stamp Inc. Face cover-compatible biometrics and processes for generating and using same

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396590A (en) * 1992-09-17 1995-03-07 Apple Computer, Inc. Non-modal method and apparatus for manipulating graphical objects
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US6553428B1 (en) * 1996-11-18 2003-04-22 International Business Machines Corporation Distributed object instantiation of native objects in java
US6628965B1 (en) * 1997-10-22 2003-09-30 Dynamic Mobile Data Systems, Inc. Computer method and system for management and control of wireless devices
US6434532B2 (en) * 1998-03-12 2002-08-13 Aladdin Knowledge Systems, Ltd. Interactive customer support for computer programs using network connection of user machine
US6243753B1 (en) * 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
US6731627B1 (en) * 1998-11-17 2004-05-04 Cisco Technology, Inc. Virtual loop carrier system
WO2000029949A2 (en) 1998-11-18 2000-05-25 The Johns Hopkins University Enhanced virtual executor
JP4015770B2 (ja) 1998-12-22 2007-11-28 株式会社東芝 クラスタシステム、サーバ計算機及び負荷分散方法
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6308163B1 (en) * 1999-03-16 2001-10-23 Hewlett-Packard Company System and method for enterprise workflow resource management
US6615166B1 (en) * 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US6981267B1 (en) * 2000-06-16 2005-12-27 Microsoft Corporation System and method for parallel asynchronous execution of commands
US7171441B2 (en) * 2000-09-07 2007-01-30 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US7533333B2 (en) * 2001-02-14 2009-05-12 Ricoh Co., Ltd. Object-oriented method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols
US6854121B2 (en) * 2001-02-16 2005-02-08 Canon U.S.A., Inc. Command interface to object-based architecture of software components for extending functional and communicational capabilities of network devices
US20020152262A1 (en) * 2001-04-17 2002-10-17 Jed Arkin Method and system for preventing the infringement of intellectual property rights
US7831731B2 (en) * 2001-06-12 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for a modular transmission control protocol (TCP) rare-handoff design in a streams based transmission control protocol/internet protocol (TCP/IP) implementation
US20030005090A1 (en) 2001-06-30 2003-01-02 Sullivan Robert R. System and method for integrating network services
US7480705B2 (en) 2001-07-24 2009-01-20 International Business Machines Corporation Dynamic HTTP load balancing method and apparatus
US7051341B2 (en) * 2001-12-14 2006-05-23 International Business Machines Corporation Method, system, and program for implementing a remote method call
US7069413B1 (en) * 2003-01-29 2006-06-27 Vmware, Inc. Method and system for performing virtual to physical address translations in a virtual machine monitor
US7313619B2 (en) 2003-03-21 2007-12-25 Intel Corporation System and method for managing distributed objects as a single representation

Also Published As

Publication number Publication date
GB2415814B (en) 2006-09-20
US20200007458A1 (en) 2020-01-02
JP4307448B2 (ja) 2009-08-05
US10313260B2 (en) 2019-06-04
KR20050122213A (ko) 2005-12-28
TW200424872A (en) 2004-11-16
US20080098407A1 (en) 2008-04-24
US20130254399A1 (en) 2013-09-26
US7831713B2 (en) 2010-11-09
GB2415814A (en) 2006-01-04
CN100367214C (zh) 2008-02-06
US7313619B2 (en) 2007-12-25
CN1777869A (zh) 2006-05-24
GB0513764D0 (en) 2005-08-10
WO2004095269A3 (en) 2005-10-06
US8271605B2 (en) 2012-09-18
TWI242141B (en) 2005-10-21
KR100859611B1 (ko) 2008-09-23
US20080091769A1 (en) 2008-04-17
WO2004095269A2 (en) 2004-11-04
JP2006519424A (ja) 2006-08-24
US20040186906A1 (en) 2004-09-23

Similar Documents

Publication Publication Date Title
DE112004000460T5 (de) System und Verfahren zum Verwalten verteilter Objekte als eine einzelne Darstellung
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE68919976T2 (de) Verfahren zur Herstellung von aktuellen Terminaladressen für Systemanwender die verteilte Anwendungsprogramme in einer SNA LU 6.2-Netzwerkumbegung verarbeiten.
DE69633564T2 (de) Zugangskontrolle und überwachungssystem für internetserver
DE60200451T2 (de) Herstellung einer gesicherten Verbindung mit einem privaten Unternehmensnetz über ein öffentliches Netz
DE69728182T2 (de) Verfahren und gerät zum entfernten netzwerkzugriffseintrag und netzwerkzugriffsbericht
DE60006065T2 (de) Verfahren und system zur entwicklung, anwendung, fernladung, und ausfuhrung, von datenbank gesteuerten webseiten
DE19882235B4 (de) Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten
DE602004012131T2 (de) Verfahren und einrichtungen zum gemeinsamen benutzen von inhalt in einem netzwerk
DE68927508T2 (de) Zeitweilige Zustandsbewahrung für einen verteilten Dateidienst
DE60014602T2 (de) Internet schnittstellensystem
DE112016006083T5 (de) Bereitstellung von Rechenressourcen für eine virtuelle Maschine, die ausgelegt ist eine Gruppe von Anwendungsprogrammen zu Hosten, die einem Benutzer zugeordnet sind
EP3314806B1 (de) Verschlüsselungsfilter
DE112018003482T5 (de) Serveranfrageverwaltung
DE60100624T2 (de) Verfahren und vorrichtung zum verbessern der verwendung eines betriebsmittels auf einem verteilten klient
DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
DE112020000538T5 (de) Feinkörnige zugriffskontrolle auf token-grundlage
DE112016001657T5 (de) Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke
DE112012003977T5 (de) Eingriffsfreies Verfahren und Vorrichtung zum automatischen Zuteilen von Sicherheitsregelnin einer Cloud-Umgebung
DE10003907A1 (de) Browser für die Anwendung beim Zugriff auf Hypertext-Dokumente in einer Mehrnutzer-Computerumgebung
DE10296682T5 (de) Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern
DE202013012493U1 (de) Stufen der Datenspeicherung für Webanwendungen und Browser-Erweiterungen
DE102012215219A1 (de) Ermitteln von Verteilungen von Abbildmustern von virtuellen Maschinen in einer vernetzten Datenverarbeitungsumgebung
DE19548397C1 (de) Verfahren zur Zugriffskontrolle auf rechnerkontrollierte Programme, die von mehreren Benutzereinheiten gleichzeitig genutzt werden können

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee