DE112008002439T5 - Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation - Google Patents
Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation Download PDFInfo
- Publication number
- DE112008002439T5 DE112008002439T5 DE112008002439T DE112008002439T DE112008002439T5 DE 112008002439 T5 DE112008002439 T5 DE 112008002439T5 DE 112008002439 T DE112008002439 T DE 112008002439T DE 112008002439 T DE112008002439 T DE 112008002439T DE 112008002439 T5 DE112008002439 T5 DE 112008002439T5
- Authority
- DE
- Germany
- Prior art keywords
- functional
- module
- managed endpoint
- message
- managed
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
- H04L41/0809—Plug-and-play configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
Computerimplementiertes Verfahren zum Ausführen von Informationstechnologie (IT)-Prozessen unter Verwendung eines Rechners, wobei das Verfahren die nachfolgenden Schritte umfasst:
Empfangen einer Anfrage nach einer andauernden Verbindung über ein Netzwerk von einem verwalteten Endpunkt;
Akzeptieren der Anfrage und Öffnen der andauernden Verbindung zu dem verwalteten Endpunkt;
Empfangen von Konfigurierungsinformationen von dem verwalteten Endpunkt, wobei die Konfigurierungsinformationen eine Liste funktionaler Zusatzprogramme auf dem verwalteten Endpunkt umfassen, wobei ein funktionales Zusatzprogramm ein Softwaremodul zum Ausführen eines IT-Prozesses aufweist;
Speichern von die andauernde Verbindung beschreibenden Informationen und der Konfigurierungsinformationen; und
Aufrechterhalten der andauernden Verbindung in einem offenen Zustand.
Empfangen einer Anfrage nach einer andauernden Verbindung über ein Netzwerk von einem verwalteten Endpunkt;
Akzeptieren der Anfrage und Öffnen der andauernden Verbindung zu dem verwalteten Endpunkt;
Empfangen von Konfigurierungsinformationen von dem verwalteten Endpunkt, wobei die Konfigurierungsinformationen eine Liste funktionaler Zusatzprogramme auf dem verwalteten Endpunkt umfassen, wobei ein funktionales Zusatzprogramm ein Softwaremodul zum Ausführen eines IT-Prozesses aufweist;
Speichern von die andauernde Verbindung beschreibenden Informationen und der Konfigurierungsinformationen; und
Aufrechterhalten der andauernden Verbindung in einem offenen Zustand.
Description
- VERWEIS AUF VERWANDTE ANMELDUNGEN
- Diese Anmeldung nimmt die Priorität der vorläufigen US-Anmeldung Nr. 60/970,863, eingereicht am 7. September 2007, in Anspruch, welche hiermit vollständig einbezogen wird.
- GEBIET DER ERFINDUNG
- Diese Erfindung bezieht sich im Allgemeinen auf Systeme der Informationstechnologie (IT) und spezieller auf Systeme und Verfahren zum Automatisieren und Bereitstellen von IT-Lösungen in einer Geschäftsumgebung.
- HINTERGRUND DER ERFINDUNG
- Eine Geschäftsumgebung umfasst mehrere verwaltete Endpunkte, beispielsweise Nutzerarbeitsstationen, Switche und Router. Diese Geschäftsumgebung wird durch Verwaltungsrechner verwaltet, welche verschiedene Informationstechnologie (IT)-Prozesse auf den verwalteten Endpunkten ausführen. Ein Verwaltungsrechner kann beispielsweise auf den verwalteten Endpunkten Software oder Patches installieren, Nachrichten an die verwalteten Endpunkte versenden, die verwalteten Endpunkte rekonfigurieren oder Informationen empfangen, welche die Konfiguration oder den Status der verwalteten Endpunkte beschreiben.
- Oftmals erfordert das Ausführen eines IT-Prozesses Softwareunterstützung sowohl auf dem Verwaltungsrechner als auch auf dem verwalteten Endpunkt. Es kann erforderlich sein, ähnliche IT-Prozesse auf mehreren verwalteten Endpunkten mit unterschiedlichen Hardware- und Softwarekonfigurationen auszuführen. Das Installieren und Pflegen der notwendigen Unterstützungssoftware auf all den verwalteten Endpunkten ist daher oftmals ein schwieriger Prozess.
- Zusätzlich ist es oftmals erforderlich, dass der Verwaltungsrechner zum Ausführen der IT-Prozesse mit den verwalteten Endpunkten kommuniziert. Ein einzelner Verwaltungsrech ner kann mit Tausenden verwalteten Endpunkten kommunizieren. Das Bereitstellen eines neuen Kommunikationskanals zu einem verwalteten Endpunkt immer dann, wenn eine Kommunikation nötig wird, kann einen erheblichen Mehraufwand hervorrufen, insbesondere falls der Verwaltungsrechner eine Kommunikationsverbindung mit mehreren verwalteten Endpunkten herzustellen versucht, welche offline sind.
- Erforderlich sind Systeme und Verfahren zum Installieren und Pflegen von Software auf verwalteten Endpunkten zum Unterstützen von IT-Prozessen. Ferner sind Systeme und Verfahren zum effizienten Kommunizieren mit verwalteten Endpunkten zum Ausführen von IT-Prozessen erforderlich.
- ZUSAMMENFASSUNG
- Dem vorstehenden Erfordernis wird Rechnung getragen durch ein System, ein Verfahren und ein Computerprogrammerzeugnis zum Ausführen von Informationstechnologie (IT)-Prozessen unter Verwendung eines Rechners. Beispiele von IT-Prozessen umfassen das Installieren oder Konfigurieren von Software, das Anzeigen von Warnmeldungen (Alerts) oder Protokollaktivitäten. Gemäß einer Ausführungsform des Systems und des Computerprogrammerzeugnisses empfängt ein Verbindungsinitialisierungsmodul von einem verwalteten Endpunkt eine Anforderung nach einer andauernden Verbindung über ein Netzwerk. Die Anforderung wird angenommen, und eine andauernde Verbindung zu dem verwalteten Endpunkt wird hergestellt. Ein Rang-1-Modul empfängt dann über die andauernde Verbindung Konfigurierungsinformationen von dem verwalteten Endpunkt. Die Konfigurierungsinformationen umfassen eine Liste funktionaler Zusatzprogramme (Plugins) auf dem verwalteten Endpunkt, wobei ein funktionales Zusatzprogramm ein Software-Modul zum Ausführen eines IT-Prozesses aufweist. Das Rang-1-Modul speichert diese Konfigurierungsinformationen zusammen mit Informationen, welche die andauernde Verbindung beschreiben, und hält die andauernde Verbindung in einem offenen Zustand.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Übersichtsdiagramm auf hoher Ebene, welches eine Umgebung mit einer Informationstechnologie (IT)-Automatisierungsappliance zum Ausführen von IT-Prozessen auf verwalteten Endpunkten gemäß einer Ausführungsform der Erfindung veranschaulicht. -
2 ist ein Blockdiagramm, welches einen Rechner veranschaulicht, der gemäß einer Ausführungsform der Erfindung als Ausführung einer IT-Automatisierungsappliance oder eines verwalteten Endpunktes dienen kann. -
3 ist ein Blockdiagramm, welches ein funktionales Zusatzprogramm gemäß einer Ausführungsform der Erfindung veranschaulicht. -
4 ist ein Blockdiagramm, welches ein eingebautes Zusatzprogramme gemäß einer Ausführungsform der Erfindung veranschaulicht. -
5 veranschaulicht ein Protokollstapel (protocol stack) für die Kommunikation zwischen eingebauten Zusatzprogrammen über das Netzwerk gemäß einer Ausführungsform der Erfindung. -
6 ist ein Flussdiagramm, welches ein Verfahren zum Herstellen und Aufrechterhalten einer andauernden Verbindung zwischen einer Appliance und einem verwalteten Endpunkt gemäß einer Ausführungsform der Erfindung veranschaulicht. - Die Figuren zeigen Ausführungsformen der Erfindung ausschließlich zum Zwecke der Veranschaulichung. Der Fachmann wird aus der nachfolgenden Beschreibung sofort entnehmen, dass alternative Ausführungsformen der hier veranschaulichten Strukturen und Verfahren eingesetzt werden können, ohne von den Prinzipien der hier beschriebenen Erfindung abzuweichen.
- AUSFÜHRLICHE BESCHREIBUNG
-
1 ist ein Diagramm auf hoher Ebene, welches eine Umgebung100 veranschaulicht, die eine Informationstechnologie (IT)-Automatisierungseinrichtung102 (die „Appliance”) zum Ausführen von IT-Prozessen auf verwalteten Endpunkten108 gemäß einer Ausführungsform der Erfindung umfasst. Die verwalteten Endpunkte108 sind Rechnervorrichtungen, wie beispielsweise Nutzerarbeitsstationen oder Router. IT-Prozesse umfassen beispielsweise das Installieren von Softwareprogrammen oder Patches auf den verwalteten Endpunkten108 , das Senden von Warnmeldungen an die verwalteten Endpunkte, das Neukonfigurieren der verwalteten Endpunkte, das Ausführen von Programmen oder Rechnerskripten auf den verwalteten Endpunkten oder Protokollaktivitäten auf den verwalteten Endpunkten. Die Appliance102 kann dazu ausgelegt sein, unterschiedliche IT-Prozesse durch einen Bediener, beispielsweise durch ein Mitglied eines IT-Stabes, auszuführen.1 zeigt eine Umgebung100 mit einer Appliance102 und zwei verwalteten Endpunkten108 . Die Umgebung100 kann jedoch Tausende verwalteter Endpunkte108 , welche mit der Appliance102 kommunizieren, umfassen. Die Umgebung100 kann auch mehrere Appliances102 umfassen, wobei einige Appliances möglicherweise als Backup oder zum Zwecke des Lastausgleichs verwendet werden. Die Appliance102 und die verwalteten Endpunkte108 kommunizieren über ein Netzwerk114 , beispielsweise über das Internet oder ein Unternehmensintranet. Um seine Sicherheit zu erhöhen, kann ein verwalteter Endpunkt108 hinter einer Firewall116 angeordnet sein, wie nachfolgend in weiteren Einzelheiten beschrieben werden wird. - Die Appliance
102 und die verwalteten Endpunkte108 umfassen Zusatzprogramme (Plugins)104 und106 , welche eine Funktionalität bereitstellen, die das Ausführen von IT-Prozessen ermöglicht. Die Zusatzprogramme104 und106 sind gemäß einer Ausführungsform Softwaremodule, welche auf der Appliance102 und den verwalteten Endpunkten108 laufen. Die Zusatzprogramme104 und106 können eine Nutzerschnittstelle umfassen und auf Speichereinrichtungen oder andere Ressourcen auf den Appliances102 und den verwalteten Endpunkten108 zugreifen. Die Zusatzprogramme104 und106 können in Prozessen oder Bibliotheken ablaufen. Das Ausführen von IT-Prozessen erfordert oftmals Unterstützung sowohl von der Appliance102 als auch von den verwalteten Endpunkten108 . Daher arbeiten verschiedene Appliance-Zusatzprogramme104S und106S mit entsprechenden Zusatzprogrammen104C und106C auf den verwalteten Endpunkten zusammen. Beispielsweise arbeitet das Zusatzprogramm104S-3 zum Ausführen eines bestimmten IT-Prozesses mit den Zusatzprogrammen104C-3 auf den Endpunkten108 und108' zusammen. - Die Appliance- und die Endpunkt-Zusatzprogramme
104 und106 umfassen beispielsweise ausführbare Programminstruktionen. Die Zusatzprogramme104 und106 können dazu eingerichtet sein, auf mehreren Plattformen mit unterschiedlichen Hardware- und Software-Konfigurationen zu laufen. Ein Zusatzprogramm104 auf einer Appliance102 , welche ein bestimmtes Betriebssystem ausführt, kann mit Zusatzprogrammen104 auf den Endpunkten108 mit verschiedenen anderen Betriebssystemen kommunizieren. Da die Zusatzprogramme104 , wie nachfolgend beschrieben werden wird, mit einer modularen Schnittstelle ausgebildet sind, kann für ein bestimmtes Zusatzprogramm104 eine gemeinsame Quellcodegrundlage aufrechterhalten werden, und der Code braucht für unterschiedliche Plattformen lediglich unterschiedlich kompiliert zu werden. - Die Zusatzprogramme
104 werden als „funktionale” Zusatzprogramme bezeichnet und stellte Funktionalität für die Appliance102 und die Endpunkte108 zum Ausführen von IT-Prozessen zur Verfügung. Beispielsweise kann ein Paar funktionaler Zusatzprogramme104S-2 und104C-2 für die Protokollaktivität an den verwalteten Endpunkten108 eingesetzt werden. Das Funktionszusatzprogramm104C-2 an dem Endpunkt108 kann die an dem Endpunkt stattfindenden Aktivitäten überwachen und sie an das funktionale Zusatzprogramm104S-2 auf der Appliance102 , welches die Aktivitäten in eine Protokolldatei speichert, kommunizieren. Auch andere Kommunikationsaustausche können zwischen dem Paar funktionaler Plugins104 stattfinden, beispielsweise Befehle zum Beginnen oder Beenden der Überwachung der Aktivitäten. - Einige Zusatzprogramme
106 werden als „eingebaute” Zusatzprogramme („built-in”) bezeichnet, und wickeln Kommunikationsaustausche über das Netzwerk114 zwischen funktionalen Appliancezusatzprogrammen104S und funktionalen Endpunktzusatzprogrammen104C ab. Gemäß einer Ausführungsform hält ein Paar eingebauter Zusatzprogramme106S und106C eine andauernde Verbindung zwischen der Appliance102 und einem verwalteten Endpunkt108 aufrecht. Diese andauernde Verbindung kann von unterschiedlichen funktionalen Zusatzprogrammen104 für den Datenaustausch verwendet werden, beispielsweise für den Datenaustausch zwischen den Zusatzprogrammen104S-1 und104C-1 . Die andauernde Verbindung kann auch Steuerkommunikation zwischen den eingebauten Zusatzprogrammen106S und106C ermöglichen, beispielsweise Statusaktualisierungen oder Konfigurierungsinformationen. Die eingebauten Zusatzprogramme106 stellen auch Verwaltungsdienste für die funktionalen Zusatzprogramme104 zur Verfügung. Ein eingebautes Zusatzprogramm106C kann funktionale Zusatzprogramme104C installieren, entfernen und aktualisieren. Das eingebaute Zusatzprogramm106C kann auch ein Verzeichnis (z. B. eine Liste) eingebauter Zusatzprogramme104C und deren Status führen. -
2 ist ein Blockdiagramm, welches einen Rechner200 veranschaulicht, der gemäß einer Ausführungsform als eine Ausführung einer IT-Automatisierungsappliance102 oder eines verwalteten Endpunktes108 dienen kann. Dargestellt ist wenigstens ein mit einem Bus204 verbundener Prozessor202 . Mit dem Bus sind auch ein Speicher206 , eine Speichereinrichtung208 , eine Tastatur210 , ein Graphikadapter212 , eine Zeigeeinrichtung214 und ein Netzwerkadapter216 verbunden. Mit dem Graphikadapter212 ist ein Anzeigeelement218 verbunden. Die Speichereinrichtung208 ist eine Vorrichtung wie beispielsweise eine Festplatte, ein CD- oder DVD-Laufwerk oder eine Flashspeichereinrichtung und speichert Dateien, welche ausführbaren Code und/oder während des Betriebs des Rechners200 verwendete Daten umfassen. In einer Ausführungsform ist der Speicher206 ein RAM-Speicher und speichert Befehle sowie Daten, welche aus der Speichereinrichtung208 geladen werden, während der Verarbeitung erzeugt werden und/oder aus anderen Quellen stammen. - Rechner, welche unterschiedliche Funktionen ausführen, können andere und/oder zusätzliche Elemente umfassen als diejenigen, welche in
2 gezeigt sind. Beispielsweise kann ein als eine Appliance102 wirkende Rechner200 eine größere Verarbeitungskapazität und eine größere Speichereinrichtung aufweisen als ein als ein verwalteter Endpunkt108 fungierender Rechner. Ebenso können einem als eine Appliance102 fungierenden Rechner Einrichtungen wie beispielsweise eine Anzeigeeinrichtung218 und/oder eine Tastatur210 , welche nicht notwendigerweise zu ihrem Betrieb erforderlich sind, fehlen. - Der Rechner
200 führt eines oder mehrere Betriebssysteme, beispielsweise eine Variante von MICROSOFT WINDOWS oder LINUX, aus. Im Allgemeinen führt das Betriebssystem eines oder mehrere Anwendungsprogramme aus. Das Betriebssystem und die Anwendungsprogramme, welche von dem Rechner ausgeführt werden, werden durch einen oder mehrere Prozesse gebildet. Diese Beschreibung verwendet die Bezeichnung „Modul”, um eine Rechnerprogrammlogik zum Bereitstellen einer bestimmten Funktionalität zu bezeichnen. Ein Modul kann in Hardware, Firmware und/oder Software implementiert sein. Ein Modul wird typischerweise in der Speichereinrichtung208 gespeichert, in den Speicher206 geladen und von dem Prozessor202 ausgeführt. Ein Modul kann einen oder mehrere Prozesse umfassen und/oder nur von einem Teil eines Prozesses bereitgestellt werden. -
3 ist ein Blockdiagramm, welches ein funktionales Zusatzprogramm104 gemäß einer Ausführungsform zeigt. Das dargestellte funktionale Zusatzprogramm104 kann sich entweder auf der Appliance102 oder auf einem verwalteten Endpunkt108 befinden, welche allgemein als ein Rechner200 bezeichnet werden. Wie vorstehend ausgeführt, stellen die funktionalen Zusatzprogramme104 dem Rechner200 eine Funktionalität bereit, um die Ausführung von IT-Prozessen zu ermöglichen. Das Funktionsmodul304 führt eine Funktion aus, welche einen Teil eines IT-Prozesses umfasst. Ein Funktionsmodul304 kann beispielsweise ein Software-Patch installieren, ein Desktop-Warnhinweis anzeigen oder einen verwalteten Endpunkt108 hinsichtlich verschiedener Arten von Aktivitäten überwachen. - Gemäß einer Ausführungsform kommuniziert ein funktionales Zusatzprogramm
104C auf einem Endpunkt108 mit einem entsprechenden funktionalen Zusatzprogramm104S auf der Appliance102 , um einen IT-Prozess auszuführen. In dieser Situation können die einander entsprechenden Zusatzprogramme104 komplementäre Aufgaben wahrnehmen. Beispielsweise kann ein Paar korrespondierender Zusatzprogramme104 zusammenarbeiten, um die an einem verwalteten Endpunkt108 auftretende Aktivität zu protokollieren. Das Funktionsmodul304 in dem funktionalen Appliance-Zusatzprogramm104S kann einen Befehl zur Aufnahme der Überwachungsaktivitäten ausgeben. In Erwiderung kann das Funktionsmodul304 in dem funktionalen Endpunktzusatzprogramm104C das Überwachen unterschiedlicher Aktivitäten und ihr Speichern in eine lokale Datei aufnehmen. Zu einem späteren Zeitpunkt sendet das Funktionsmodul304 auf der Appliance102 einen Befehl an das Funktionsmodul304 auf dem Endpunkt108 , welcher die Aktivitätsdaten anfordert. Als Reaktion sendet das Funktionsmodul304 an dem Endpunkt die lokale Datei an das Funktionsmodul304 auf der Appliance102 , wo die Aktivitäten zur späteren Analyse durch eine Bedienperson der Appliance in eine dauerhafte Protokolldatei gespeichert werden. - Im Allgemeinen kann ein einzelnes funktionales Zusatzprogramm
104S-2 auf der Appliance102 mit mehreren funktionalen Zusatzprogrammen104C-2 auf verschiedenen verwalteten Endpunkten108 zusammenarbeiten. Es kann daher notwendig sein, dass das Funktionsmodul304 in dem funktionalen Appliance-Zusatzprogramm104S die Zustande mehrerer funktionaler Module304 der verschiedenen verwalteten Endpunkten108 führt. - Das Funktionsmodul
304 umfasst in einer Ausführungsform eine Nutzerschnittstellenkomponente. Ein Funktionsmodul304 in einem funktionalen Appliance-Zusatzprogramm104S kann mit der Bedienperson der Appliance, beispielsweise einem Mitglied eines IT-Stabes, interagieren. Diese Nutzerschnittstelle kann den Status der verschiedenen verwalteten Endpunkte108 und ihrer entsprechenden funktionalen Zusatzprogramme104C anzeigen. Sie kann der Bedienperson darüber hinaus auch die Konfiguration der funktionalen Zusatzprogramme104S oder das Ausgeben von Befehlen an die funktionalen Zusatzprogramme104C gestatten. Ein Funktionsmodul304 in einem funktionalen Zusatzprogramm104C eines verwalteten Endpunkts kann auch eine Nutzerschnittstellenkomponente umfassen, um einem Nutzer des Endpunkts108 das Konfigurieren des Zusatzprogrammes oder das Ausführen verschiedener Prozesse an dem Endpunkt zu gestatten. Die Nutzerschnittstellenkomponente kann es dem Nutzer darüber hinaus gestatten, von dem funktionalen Appliance-Zusatzprogramm104S gesendete Warnhinweise oder Nachrichten zu betrachten oder Nachrichten an das funktionale Appliance-Zusatzprogramm104S zu senden. - Die funktionalen Appliance-Zusatzprogramme
104S und die funktionalen Endpunkt-Zusatzprogramme104C kommunizieren gemäß einer Ausführungsform miteinander durch ein Kommunikationsmodul302 oder ein Außerband-Kommunikationsmodul308 . Das Kommunikationsmodul302 sendet die Datenaustausche durch die eingebauten Zusatzprogramme106 . Eine Nachricht von dem funktionalen Zusatzprogramm104S-1 an das funktionale Zusatzprogramm104C-1 über das Kommunikationsmodul302 würde beispielsweise von dem funktionalen Zusatzprogramm104S-1 an das eingebaute Zusatzprogramm106S , von dort (über das Netzwerk114 ) an das eingebaute Zusatzprogramm106C und von dort an das Kommunikationsmodul des funktionalen Zusatzprogramms104C-1 gesendet. - Durch das Kommunikationsmodul
302 gesendete Datenaustausche verwenden die durch die eingebauten Zusatzprogramme106 bereitgestellten Kommunikationsprotokolle. Diese Kommunikationsprotokolle, welche in weiteren Einzelheiten nachstehend beschrieben werden, können andauernde Verbindungen aufrechterhalten, welche schnelle, nichtblockierende Kommunikation mit geringem Overhead zwischen den Zusatzprogrammen104 und106 erlauben. Im Allgemeinen ist dieser Kommunikationskanal am Besten für kleinere Nachrichten, wie beispielsweise Befehle, Bestätigungen oder Statusmitteilungen, geeignet. - Das Außerband-Kommunikationsmodul
308 kommuniziert dagegen über das Netzwerk114 mit dem Außerband-Kommunikationsmodul308 des entsprechenden funktionalen Zusatzprogramms104 , ohne Daten durch die eingebauten Zusatzprogramme106 zu senden. Beispielsweise kommuniziert das Außerband-Kommunikationsmodul308 des funktionalen Zusatzprogramms104C-1 direkt mit dem Außerband-Kommunikationsmodul des funktionalen Zusatzprogramms104S-1 , ohne über ein eingebautes Zusatzprogramm106 zu gehen. Das Außerband-Kommunikationsmodul308 braucht nicht die von den eingebauten Zusatzprogrammen106 verwendeten Kommunikationsprotokolle zu benutzen. Stattdessen kann das Außerband-Kommunikationsmodul308 seine eigenen Kommunikationsmechanismen verwenden, beispielsweise ein zweckbestimmtes Übertragungssteuerungsprotokoll-Socket (Transmission Control Protocol (TCP) Socket) erzeugen, wenn eine neue Mitteilung gesendet werden muss, und das TCP-Socket schließen, wenn die Kommunikation abgeschlossen ist. - Das Außerband-Kommunikationsmodul
308 kann zum Senden großer Datenmengen verwendet werden, welche von der andauernden Verbindung zwischen den eingebauten Zusatzprogrammen106 nicht gut bewältigt werden können. Außerband-Kommunikationen sind auch für gelegentliche Mitteilungen angemessener, wenn der Mehraufwand des Öffnen und Schließens eines neuen Kommunikationspfades für die entsprechende Kommunikation akzeptabel ist. In dem vorstehend diskutierten Beispiel der Aktivitätsprotokollierung können beispielsweise kurze Mitteilungen, wie z. B. Befehle, Bestätigungen und Statusmitteilungen, unter Verwendung des Kommunikationsmoduls302 gesendet werden, während die Aktivitätsdatendatei durch das Außerband-Kommunikationsmodul308 von dem funktionalen Client-Zusatzprogramm104C an das funktionale Server-Zusatzprogramm104S gesendet werden kann. Bei der Aktivitätsdatendatei kann es sich um eine große Datei handeln, welche aus den Einzelheiten aller Aktivitäten, welche über eine bestimmte Zeitspanne aufgezeichnet wurden, besteht. Ein weiteres Beispiel für Daten, welche unter Verwendung des Außerband-Kommunikationsmoduls308 übertragen werden können, sind große digitale Lasten von der Appliance102 an einen Endpunkt108 , wie beispielsweise ausführbare Programme, Betriebssystem-Aktualisierungen und -Patche, andere Dokumentdateien, neue Zusatzprogramm-Ausführungsprogramme für die Endpunkte oder Bibliotheken. - Gemäß einer Ausführungsform sind die funktionalen Zusatzprogramme in modularer Weise ausgebildet, so dass ein funktionales Zusatzprogramm einer Appliance
102 oder einem verwalteten Endpunkt108 leicht zugefügt werden kann. Modularität ist für die funktionalen Endpunktzusatzprogramme104C besonders nützlich, weil ein funktionales Endpunktzusatzprogramm gegebenenfalls auf Tausenden verwalteter Endpunkte108 in einer bestimmten Umgebung100 installiert werden muss, wobei viele Endpunkte unterschiedliche Hardware- und Software-Konfigurationen aufweisen. - Ein Weg, auf dem Modularität erreicht wird, ist die Trennung der Funktionalität in dem eingebauten Zusatzprogramm
106 und den unterschiedlichen funktionalen Zusatzprogrammen104 . Das eingebaute Zusatzprogramm106 wickelt die Kommunikation und Koordinierungsaufgaben ab, wie sie nachstehend diskutiert werden, und kennt nicht notwendigerweise die Aufgaben der funktionalen Zusatzprogramme104 oder die Datenformate, welche die funktionalen Zusatzprogramme104 zur Kommunikation untereinander verwenden. In ähnlicher Weise sind den funktionalen Zusatzprogrammen104 nicht notwendigerweise die von den eingebauten Zusatzprogrammen106 verwendeten Kommunikationsprotokolle bekannt. Die funktionalen Zusatzprogramme104 liefern eine Nachricht an das eingebaute Zusatzprogramm106 , und das eingebaute Zusatzprogramm106 kümmert sich um die Einzelheiten des Übertragens der Nachricht über das Netzwerk114 . Im Ergebnis können die funktionalen Zusatzprogramme104C einer Appliance102 oder einem Endpunkt108 einfach zugefügt oder von diesen entfernt werden, sofern sie nur eine durch das eingebaute Zusatzprogramm106 bereitgestellte vorbestimmte Schnittstelle unterstützen. - Das Registrierungsmodul
306 des funktionalen Zusatzprogramms104 erlaubt es dem funktionalen Zusatzprogramm, sich selbst auf einer Appliance102 oder auf einem verwalteten Endpunkt108 zu registrieren. Gemäß einer Ausführungsform ist diese Registrierung Teil des Installierungsprozesses des funktionalen Zusatzprogramms104 . Das Registrierungsmodul306 teilt dem eingebauten Zusatzprogramm106 mit, dass es auf der Appliance102 oder dem Endpunkt108 installiert wird. Das eingebaute Zusatzprogramm106 weiß dann von dem funktionalen Zusatzprogramm104 und kann das funktionale Zusatzprogramm104 mit aus dem Netzwerk114 empfangenen Nachrichten versorgen, welche für das funktionale Zusatzprogramm bestimmt sind. Sobald das eingebaute Zusatzprogramm106 von dem funktionalen Zusatzprogramm104 weiß, kann es das funktionale Zusatzprogramm104 auch richtig verwalten, wie nachstehend beschrieben werden wird. Gemäß einer Ausführungsform empfängt das Registrierungsmodul306 auch einen Identifikator (handle) für das eingebaute Zusatzpro gramm106 , so dass das funktionale Zusatzprogramm104 an das eingebaute Zusatzprogramm Nachrichten und Anfragen senden kann. -
4 ist ein Blockdiagramm, welches ein eingebautes Zusatzprogramm106 gemäß einer Ausführungsform veranschaulicht. Wie vorstehend erwähnt, stellt das eingebaute Zusatzprogramm106 den funktionalen Zusatzprogrammen104 Kommunikation und Verwaltungsdienste zur Verfügung. Die Zusatzprogrammdaten402 , welche durch das eingebaute Zusatzprogramm106 vorgehalten werden, umfassen eine Liste der auf dem Rechner200 installierten funktionalen Zusatzprogramme104 , wobei es sich bei dem Rechner um eine Appliance102 oder einen verwalteten Endpunkt108 handeln kann. Die Zusatzprogrammdaten402 umfassen auch Identifikatoren (handles) zum Kommunizieren mit den funktionalen Zusatzprogrammen104 auf dem Rechner200 . Die Zusatzprogrammdaten402 können auch Versionsinformationen (beispielsweise eine Versionsnummer oder ein Versionsdatum) zu den funktionalen Zusatzprogrammen104 oder andere Statusinformationen über die funktionalen Zusatzprogramme104 umfassen. Die Versionsinformationen können zum automatischen Aktualisieren der funktionalen Zusatzprogramme verwendet werden, wie nachfolgend beschrieben werden wird. Die Statusinformationen können spezifizieren, ob das funktionale Zusatzprogramm104 beispielsweise gerade aktiv, inaktiv oder beschäftigt ist. Sofern diese Informationen in einem eingebauten Endpunkt-Zusatzprogramm106C gespeichert werden, können sie verwendet werden, um auf Statusanfragen der Appliance102 zu antworten. Die Statusinformation kann auch in der Nachrichtenverarbeitung verwendet werden, wie nachfolgend beschrieben werden wird. - Das Zusatzprogrammverwaltungsmodul
410 führt verschiedene Verwaltungsfunktionen für die funktionalen Zusatzprogramme104 aus. Gemäß einer Ausführungsform kommuniziert das Registrierungsmodul306 eines funktionalen Zusatzprogramms104 zum Registrieren des funktionalen Zusatzprogramms mit dem Zusatzprogrammverwaltungsmodul410 . Das Zusatzprogrammverwaltungsmodul410 empfängt die Registrierungsinformation von dem funktionalen Zusatzprogramm104 und übermittelt die notwendigen Informationen über das eingebaute Zusatzprogramm106 an das funktionale Zusatzprogramm. Das Zusatzprogrammverwaltungsmodul410 kann funktionale Zusatzprogramme104 auch aktualisieren, funktionale Zusatzprogramme entfernen und Statusberichte über funktionale Zusatzprogramme erzeugen. Gemäß einer Ausführungsform wird das Zusatzprogrammverwaltungsmodul410 auf der Appliance102 durch eine Bedienperson der Appliance mittels einer Nutzerschnittstelle gesteuert. Dieses Zusatzprogrammverwaltungsmodul410 kann Befehle an die Zusatzprogrammverwaltungsmodule an den unterschiedlichen verwalteten Endpunkten108 senden und sie auffordern, funktionale Zusatzprogramme zu installieren, zu entfernen oder zu aktualisieren. Ein Befehl zum Installieren oder Aktualisieren eines Zusatzprogramms kann begleitet werden von Informationen, welche einen Ort bestimmen, von dem die Installation oder das Aktualisierungs-Image heruntergeladen werden kann. - Das Zusatzprogrammverwaltungsmodul
410 auf der Appliance102 kann auch automatisch Befehle an die Zusatzprogrammverwaltungsmodule an den verschiedenen verwalteten Endpunkten108 senden. Beispielsweise kann das Zusatzprogrammverwaltungsmodul410 die Zusatzprogrammdaten402 untersuchen, um die Versionen der funktionalen Zusatzprogramme104C auf den verwalteten Endpunkten108 zu bestimmen. Das Zusatzprogrammverwaltungsmodul410 kann bestimmen, ob es sich bei den Versionen um die aktuellsten verfügbaren Versionen handelt. Falls die Versionen veraltet sind, kann das Zusatzprogrammverwaltungsmodul410 Aktualisierungsbefehle an die Zusatzprogrammverwaltungsmodule an den verwalteten Endpunkten108 mit den veralteten Versionen der funktionalen Zusatzprogramme104C senden. - Das Rang-1-Modul
404 und das Rang-2-Modul408 führen für das eingebaute Zusatzprogramm106 verschiedene Kommunikationsprozesse aus. Das Rang-1-Modul404 erledigt den Datenverkehr zwischen den eingebauten Zusatzprogrammen106 über das Netzwerk114 . Das Rang-2-Modul408 erledigt den Datenverkehr zwischen einem eingebauten Zusatzprogramm106 und einem funktionalen Zusatzprogramm104 auf einem Rechner200 . Beim Senden einer Nachricht gibt ein funktionales Zusatzprogramm die Nachricht an ein Rang-2-Modul weiter, welches die Nachricht seinerseits an das Rang-1-Modul weitergibt, welches die Nachricht über das Netzwerk114 sendet. Beim Empfangen einer Nachricht empfängt das Rang-1-Modul in ähnlicher Weise die Nachricht aus dem Netzwerk114 und gibt die Nachricht an das Rang-2-Modul weiter, welches sie an ein funktionales Zusatzprogramm104 sendet. Bevor die Einzelheiten dieser Module beschrieben werden, wird ein Überblick über die Kommunikationsprotokolle gegeben. -
5 veranschaulicht einen Protokollstapel (protocol stack) für die Kommunikation zwischen eingebauten Zusatzprogrammen106 über das Netzwerk114 gemäß einer Ausführungsform. Die beiden höchsten Niveaus des Stapels sind Rang-1 und Rang-2 eines Protokolls, welches hier als Systems Management Messaging/Control (SMMP)-Protokoll bezeichnet wird. Das Protokoll kann auch als das Agent Messaging Protocol (AMP) bezeichnet werden. Rang-2 des SMMP umfasst Daten, welche von den funktionalen Zusatzprogrammen104 verstanden werden, beispielsweise von dem Zusatzprogramm104S-2 an das Zusatzprogramm104C-2 gesendete Befehle. Rang-2-Daten werden im Allgemeinen von den eingebauten Zu satzprogrammen106 nicht verstanden und von den eingebauten Zusatzprogrammen als eine unverständliche Nutzlast behandelt. Rang-2-Daten können in jedem Format vorliegen, welches von den funktionalen Zusatzprogrammen104 auf der Appliance102 und den verwalteten Endpunkten108 verstanden wird. Rang-2-Daten können unterschiedliche Befehle, Bestätigungen, Statusmitteilungen oder andere Daten umfassen, welche die funktionalen Zusatzprogramme104 zum Ausführen von IT-Prozessen benötigen. Bei einigen Nachrichten können die Rang-2-Daten gänzlich fehlen, beispielsweise bei zwischen eingebauten Zusatzprogrammen106 gesendeten Steuer- oder Verwaltungsnachrichten, welche nicht für die funktionalen Zusatzprogramme104 bestimmt sind. - Eine von einem eingebauten Zusatzprogramm
106 an ein anderes gesendete Nachricht umfasst Daten aus den unterschiedlichen Niveaus des Protokollstapels. Die Nachricht kann beispielsweise Rang-2-Daten umfassen, denen Rang-1-Daten vorangestellt sind, denen wiederum ein Übertragungssteuerprotokoll-Kopf (Transmission Control Protocol Header) vorangestellt ist, dem wiederum Protokollköpfe niedrigerer Niveaus vorangestellt sind. Ein funktionales Zusatzprogramm104 kann Rang-2-Daten an das eingebaute Zusatzprogramm106 auf demselben Rechner200 übertragen. Das eingebaute Zusatzprogramm106 stellt der Nachricht Rang-1-Daten voran, wobei die Rang-1-Daten einen Hinweis auf die Art des funktionalen Zusatzprogramms104 , welches den Rang-2-Daten entspricht, umfassen. Das eingebaute Zusatzprogramm106 kann die Nachricht dann über das Netzwerk114 senden, nachdem geeigneten TCP-Kopfzeilen und Kopfzeilen niedrigerer Niveaus vorangestellt wurden. Wenn die Nachricht von dem Zielrechner200 empfangen wird, wird die Nachricht an das eingebaute Empfängerzusatzprogramm106 übertragen, und die TCP-Kopfzeilen und Kopfzeilen niedrigeren Niveaus werden entfernt. Das eingebaute Zusatzprogramm106 verarbeitet die Rang-1-Daten und entfernt sie von der Nachricht. Da die Rang-1-Daten den Typ des funktionalen Zusatzprogramms104 anzeigen, können die Rang-2-Daten an das passende funktionale Zusatzprogramm gesendet werden. - In dem in
5 veranschaulichten beispielhaften Protokollstapel werden die SMMP-Niveaudaten unter Verwendung von TCP gesendet, optional mit einem Secure Sockets Layer (SSL)-Protokoll. TCP sieht eine zuverlässige Bereitstellung und andere Dienste, beispielsweise eine Flusssteuerung, vor, welche für die eingebauten und funktionalen Zusatzprogramme104 und106 nützlich sein können. TCP ist jedoch nicht erforderlich, und eine Vielzahl aus dem Stand der Technik bekannter alternativer Protokolle können statt oder zusätzlich zu TCP verwendet werden. Verschiedene Protokolle niedriger Niveaus können ebenfalls zum Übertragen der Nachricht über das Netzwerk114 verwendet werden. Beispiele für Protokolle nied riger Niveaus umfassen das Internet Protokoll (IP), Ethernet sowie ATM (Asynchronous Transfer Mode). - Das Rang-2-Modul
406 handhabt die Kommunikation der Rang-2-Daten mit den funktionalen Zusatzprogrammen104 . Wenn ein funktionales Zusatzprogramm104 Rang-2-Daten an ein funktionales Zusatzprogramm auf einem anderen Rechner200 senden möchte, stellt das funktionale Zusatzprogramm dem Rang-2-Modul406 die Rang-2-Daten und das beabsichtigte Ziel bereit. Wie vorstehend erwähnt, kann das Registrierungsmodul306 des funktionalen Zusatzprogramms104 bei der Registrierung für die Kommunikation mit dem Rang-2-Modul406 von dem Zusatzprogrammverwaltungsmodul410 einen Identifikator (handle) oder eine API-Funktion empfangen haben. Bei der Kommunikation mit dem Rang-2-Modul406 kann das funktionale Zusatzprogramm104 festlegen, dass die Nachricht an entsprechende funktionale Zusatzprogramme auf mehreren Rechnern200 gesendet werden soll. Beispielsweise kann ein funktionale Zusatzprogramm104 auf der Appliance102 spezifizieren, dass die Nachricht zu funktionalen Zusatzprogrammen auf Hunderten von verwalteten Endpunkten108 gesendet werden soll. - Das Rang-2-Modul
406 handhabt auch einlaufende Nachrichten, welche von dem Rang-1-Modul404 empfangen werden und für ein funktionales Zusatzprogramm104 auf dem Rechner200 bestimmt sind. Nach einer Ausführungsform dekodiert das Rang-1-Modul404 die Rang-1-Daten in einer einlaufenden Nachricht, einschließlich der das funktionale Zielzusatzprogramm104 kennzeichnenden Daten. Das Rang-1-Modul404 stellt die Nachricht zusammen mit einem Hinweis auf das funktionale Zielzusatzprogramm104 an das Rang-2-Modul406 bereit. Das Zusatzprogrammroutingmodul422 sendet die Nachricht an das entsprechende Zielzusatzprogramm104 , gegebenenfalls unter Verwendung eines Indikators (handle) in den Zusatzprogrammdaten402 zum Zugriff auf das Zielzusatzprogramm. - Das Ablaufsteuerungsmodul
408 des Rang-2-Moduls406 bestimmt eine Ablauffolgennummer, welche der von dem funktionalen Zusatzprogramm104 empfangenen Rang-2-Nachricht zugeordnet wird. Das Ablaufsteuerungsmodul408 kann einen Zähler für jedes zugehörige funktionale Zusatzprogramm104 vorhalten, wobei es den gegenwärtigen Wert des Zählers als die Ablauffolgennummer verwendet und den Zähler nachfolgend erhöht. Die Ablauffolgennummer wird an das Rang-1-Modul404 weitergegeben und in die Rang-1-Daten der auslaufenden Nachricht aufgenommen. Wenn ein eingebautes Zusatzprogramm106 auf dem Empfängerrechner200 die Nachricht empfängt, sendet es eine Bestätigungsnachricht, welche die Ablauffolgennummer umfasst, wie nachfolgend beschrieben wird. Das Ablaufsteuerungsmodul414 kann die Ablauffolgennummer in der empfangenen Bestätigungs mitteilung verwenden, um zu bestimmen, welcher Nachricht es entspricht, indem es die Ablauffolgennummern vergleicht. Wenn das Ablaufsteuerungsmodul414 feststellt, dass eine empfangene Bestätigungsmitteilung einer vorangehend gesendeten Nachricht entspricht, kann das Ablaufsteuerungsmodul die Bestätigung durch das Routingmodul422 an das zugehörige funktionale Zusatzprogramm104 weitergeben. Gemäß einer Ausführungsform behält das Ablaufsteuerungsmodul414 eine Beschreibung der vorangehenden Nachricht, so dass das Ablaufsteuerungsmodul die Bestätigung zusammen mit einer Beschreibung der vorangehend gesendeten Nachricht an das funktionale Zusatzprogramm104 bereitstellen kann. - Das Rang-1-Modul
404 unterhält in einer Ausführungsform andauernde Verbindungen über das Netzwerk114 zu anderen eingebauten Zusatzprogrammen106 und verarbeitet Rang-1-SMMP-Daten. Die andauernden Verbindungen können verwendet werden, wenn sie für Steuernachrichten zwischen eingebauten Zusatzprogrammen106 und für Nachrichten zwischen funktionalen Zusatzprogrammen104 erforderlich sind. Das eingebaute Zusatzprogramm106 auf einer Appliance102 kann eine andauernde Verbindung mit dem eingebauten Zusatzprogramm eines jeden verwalteten Endpunktes108 aufrechterhalten. In diesem Fall hält das Rang-1-Modul404 des auf der Appliance eingebauten Zusatzprogramms106S mehrere Verbindungen aufrecht, wobei jede Verbindung mit dem eingebauten Zusatzprogramm106C eines verwalteten Endpunktes108 besteht. Diese andauernden Verbindungen können als TCP-Sockets implementiert werden, die sogar offen bleiben, wenn keine unmittelbar zu übertragende Mitteilung vorliegt. Wenn eine Nachricht gesendet werden soll, kann sie von dem Rang-1-Modul404 ohne den Zusatzaufwand des Öffnens einer neuen Verbindung gesendet werden. - Die andauernden Verbindungen werden durch das Verbindungsinitiierungsmodul
418 initiiert. Gemäß einer Ausführungsform initiiert das Verbindungsinitiierungsmodul418 in dem eingebauten Zusatzprogramm auf dem verwalteten Endpunkt108 (und nicht auf der Appliance102 ) die andauernde Verbindung. Dem Verbindungsinitiierungsmodul418 auf dem verwalteten Endpunkt108 kann anfänglich der Ort der Appliance102 bereitgestellt werden, beispielsweise mittels eines DHCP-Servers (dynamic host control protocol). Das Verbindungsinitiierungsmodul418 kann nachfolgend eine Verbindung mit dem eingebauten Zusatzprogramm106S auf der Appliance102 öffnen, beispielsweise durch Senden eines TCP SYN-Pakets, Empfangen eines TCP SYN-ACK-Pakets von dem verwalteten Endpunkt108 usw. Wie vorstehend erwähnt, können neben TCP andere Protokolle verwendet werden. - Das Öffnen der andauernden Verbindung von dem verwalteten Endpunkt
108 aus hat mehrere Vorteile. Ein Vorteil liegt darin, dass die Appliance102 automatisch benachrichtigt wird, wenn ein verwalteter Endpunkt108 online geht. Damit die Appliance102 von der Existenz des verwalteten Endpunktes108 erfährt, wird kein zusätzlicher Mechanismus benötigt. Ein weiterer Vorteil besteht darin, dass eine Verbindung durch eine Firewall116 eingerichtet werden kann. Aus Sicherheitsgründen wird eine Firewall116 oftmals so konfiguriert, dass sie eingehende Anfragen für Verbindungen zu einem verwalteten Endpunkt108 blockiert. Die Firewall wird jedoch nicht eine von einem verwalteten Endpunkt108 ausgehende Verbindung blockieren und daher den Aufbau einer andauernden Verbindung ermöglichen. Sobald die Verbindung aufgebaut ist, kann sie sowohl für von der Appliance102 als auch von dem verwalteten Endpunkt108 initiierte Kommunikation verwendet werden. Die Firewall116 ist in1 als eine von dem verwalteten Endpunkt108 getrennte Komponente veranschaulicht, kann jedoch auch in den verwalteten Endpunkt integriert sein. - Nachdem eine andauernde Verbindung hergestellt worden ist, kann das Verbindungsinitiierungsmodul
418 Konfigurierungsdaten an das Verbindungsinitiierungsmodul418 des eingebauten Zusatzprogramms106 auf dem anderen Rechner200 senden. Diese Konfigurierungsdaten können Daten über installierte Zusatzprogramme104 , welche aus den Zusatzprogrammdaten402 gewonnen wurden, oder andere Daten über den Rechner200 , beispielsweise seine Hardware- oder Softwarekonfiguration, umfassen. Gemäß einer Ausführungsform speichert das Verbindungsinitiierungsmodul418 auf einem oder beiden Computer alle empfangenen Konfigurierungsdaten in den Verbindungsdaten412 , wie nachfolgend beschrieben wird. - Die Verbindungsdaten
412 halten mit der andauernden Verbindung verknüpfte Daten vor. Ein verwalteter Endpunkt108 kann eine andauernde Verbindung zu einer einzigen Appliance102 oder einige wenige andauernde Verbindungen, beispielsweise zu einer Appliance und einer Backup-Appliance, aufweisen. Andererseits kann eine Appliance102 Tausende andauernde Verbindungen mit verschiedenen verwalteten Endpunkten108 aufweisen. Die Verbindungsdaten412 auf einer Appliance102 können eine Liste von Verbindungen und Informationen über die Verbindungen umfassen, beispielsweise die Identität des mit jeder Verbindung verknüpften Endpunkts108 sowie eine Liste der funktionalen Zusatzprogramme104 an den verknüpften verwalteten Endpunkten. Die Verbindungsdaten412 können auch den Status der andauernden Verbindung umfassen und angeben, ob die Verbindung gegenwärtig aktiv ist, sowie den Zeitpunkt der letzten Kommunikation über die Verbindung angeben. - Die Verbindungsdaten
412 können abgefragt werden, wenn ein eingebautes Zusatzprogramm106 auf einer Appliance102 Nachrichten an mehrere verwaltete Endpunkte108 senden möchte. Beispielsweise kann ein funktionales Zusatzprogramm104 auf der Appliance102 einen Desktop-Warnhinweis an funktionale Zusatzprogramme auf mehreren verwalteten Endpunkten108 übertragen wollen. Die Verbindungsdaten412 können verwendet werden, um festzustellen, welche Endpunkte108 gegenwärtig über aktive andauernde Verbindungen verfügen und das funktionale Desktop-Warnhinweis-Zusatzprogramm104 umfassen. Das eingebaute Zusatzprogramm106 auf der Appliance102 braucht dann die Desktop-Warnhinweis-Nachricht nur an diese verwalteten Endpunkte108 zu senden, so dass Bearbeitungs- und Übertragungskapazitäten gespart werden. Im Allgemeinen ermöglichen die Verbindungsdaten412 dem eingebauten Zusatzprogramm106 , durch eine Menge andauernder Verbindungen zu iterieren und relevante Daten über die Verbindungen zu senden. - Das Pulsschlag
416 hält die andauernden Verbindungen durch sogenannte „Pulsschlag”-Nachrichten aufrecht. Gemäß einer Ausführungsform sendet ein eingebautes Endpunktzusatzprogramm106C periodisch eine Pulsschlagnachricht an das eingebaute Appliance-Zusatzprogramm106S . Eine Pulsschlagnachricht kann jede vorbestimmte, von der Appliance102 und den verwalteten Endpunkten108 verstandene Nachricht sein. Da eine Pulsschlagnachricht nur von den eingebauten Zusatzprogrammen106 verwendet wird, verfügt die Nachricht nicht über Rang-2-SMMP-Daten. Die Pulsschlagnachricht kann in regelmäßigen Zeitabständen gesendet werden, und wenn die Appliance102 für einen langen Zeitraum keine Pulsschlagnachricht über eine Verbindung empfängt, kann die Appliance annehmen, dass der verwaltete Endpunkt108 die Verbindung getrennt hat, und kann die Verbindung in den Verbindungsdaten412 als inaktiv kennzeichnen. Die Appliance102 kann nach einer bestimmten Zeitspanne auch den mit der Verbindung verknüpften TCP-Socket schließen. Der Zeitpunkt, zu dem die letzte Pulsschlagnachricht empfangen wurde, kann in den Verbindungsdaten412 gespeichert werden. Ein verwalteter Endpunkt108 (oder eine Appliance102 ) kann eine Verbindung auch mit einer expliziten Trennungsmeldung beenden. - Die Pulsschlagnachrichten erlauben es der Appliance
102 , den gegenwärtigen Status der Verbindungen zu mehreren verwalteten Endpunkten108 zu pflegen, so dass Ressourcen nicht damit verschwendet werden, Nachrichten an inaktive Endpunkte zu senden. Verwaltete Endpunkte können aus unterschiedlichen Gründen offline gehen, so beispielsweise durch Abschalten des Endpunktes, Fehlfunktion des Endpunktes oder ein Problem des Netzwerks114 . Eine unerwarteterweise inaktiv werdende Verbindung als Ergebnis des Ausbleibens des Empfangs weiterer Pulsschlagnachrichten kann die Appliance102 auch zur Vornahme einer Maßnahme veranlassen. Die Appliance102 kann eine Bedienperson über die Lage informieren, oder ein funktionales Zusatzprogramm104 auf der Appliance kann eine Nachricht zu einem funktionalen Zusatzprogramm auf einem zweiten verwalteten Endpunkt108 senden und den zweiten verwalteten Endpunkt rekonfigurieren, damit er die Funktionen des getrennten verwalteten Endpunktes übernimmt. - Indem sie die andauernden Verbindungen mittels der Pulsschlagüberwachung pflegt, kann die Appliance
102 in effizienter Weise die Verbindungen verwalten und über die Verbindungen kommunizieren. Die Appliance102 kann mit verhältnismäßig geringem Mehraufwand Nachrichten an Tausende von Appliances übertragen, weil die Verbindungen schon offen sind. Es besteht keine Notwendigkeit, eine neue Verbindung zu öffnen und die Verbindung nach dem Senden der Nachricht zu schließen – zwei Prozesse, welche üblicherweise das Warten auf eine Bestätigungsnachricht (z. B. mit TCP) erfordern. - Wie vorstehend erwähnt, leitet das Rang-1-Modul
404 Nachrichten zwischen den funktionalen Appliance-Zusatzprogrammen104S und den funktionalen Zusatzprogrammen104C des verwalteten Endpunkts weiter. Nach einer Ausführungsform führen das Warteschlangenmodul414 und das Bestätigungsmodul420 einige dieser Funktionen aus. Das Warteschlangenmodul414 ordnet über das Netzwerk114 zu sendende Nachrichten an. Im Allgemeinen werden diese Nachrichten von den funktionalen Zusatzprogrammen104 empfangen, können jedoch auch durch das Rang-1-Modul404 selbst erzeugt werden (z. B. Pulsschlagnachrichten). Das Warteschlangenmodul414 kann dann Nachrichten aus der Warteschlange senden, wenn Netzwerkressourcen verfügbar sind. Das Warteschlangenmodul414 kann ein Prioritätssystem implementieren, bei dem einigen funktionalen Zusatzprogrammen104 eine höhere Priorität als anderen zukommt. In einer Ausführungsform fügt das Warteschlangenmodul den von den funktionalen Zusatzprogrammen empfangenen Rang-2-Daten auch Rang-1-Daten zu. Diese Rang-1-Daten können, wie vorstehend ausgeführt, die Art des funktionalen Zusatzprogramms104 und eine Ablauffolgennummer angeben. - Gemäß einer Ausführungsform kann das Warteschlangenmodul
414 auf der Appliance102 eine Verarbeitung und einen Lastausgleich aller Nachrichten der funktionalen Zusatzprogramme104 und aller Prozesse der funktionalen Zusatzprogramme ausführen. Zu übersendende Nachrichten und auszuführende Prozesse können durch das Warteschlangenmodul414 empfangen werden, und das Warteschlangenmodul kann die Priorität jedes der Prozesse und jeder der Nachrichten und die Verfügbarkeit der Verarbeitungsressourcen und anderer Ressourcen auf der Appliance102 in Betracht ziehen, um in möglichst kurzer Zeit die Prozesse auszuführen und die Nachrichten zu senden. - Das Bestätigungsmodul
420 stellt Bestätigungen für aus dem Netzwerk114 empfangene Nachrichten bereit. Wenn eine Nachricht von dem eingebauten Zusatzprogramm106 empfangen wurde und durch das Zusatzprogrammroutingmodul422 erfolgreich an ein funkti onales Zielzusatzprogramm104 übertragen wurde, kann eine Bestätigungsnachricht (acknowledgement message, ACK) generiert und an das eingebaute Ursprungszusatzprogramm auf dem entfernten Rechner200 zurückgesendet werden. Falls das Zusatzprogrammroutingmodul422 nicht zum Übertragen der Nachricht in der Lage war, kann eine negative Bestätigungsnachricht (negative acknowledgement, NACK) an den entfernten Rechner200 gesendet werden. Dies kann beispielsweise passieren, falls das beabsichtigte funktionale Zielzusatzprogramm104 nicht auf dem Zielrechner200 installiert ist. Die Ablauffolgennummer der Rang-1-Daten der empfangenen Nachricht kann in die Bestätigungsnachricht aufgenommen werden, so dass das Ablaufsteuerungsmodul422 auf dem entfernten Rechner200 die Bestätigungsnachricht, wie vorstehend beschrieben, mit der gesendeten Nachricht abgleichen kann. - Die ACK- und NACK-Nachrichten sind Rang-1-Nachrichten, welche zwischen den eingebauten Zusatzprogrammen
106 versendet werden und kein Rang-2-Niveau aufweisen. Die ACK- oder NACK-Nachrichten zeigen an, ob die ursprüngliche Nachricht ordnungsgemäß an das funktionale Zusatzprogramm104 übertragen wurde, und nicht, ob das funktionale Zusatzprogramm dazu in der Lage war, die Nachricht vollständig zu verarbeiten. Eine Nachricht an ein funktionales Zusatzprogramm104 kann beispielsweise einen Befehl an das Zusatzprogramm zum Ausführen einer Plattendefragmentierungsoperation umfassen, welche eine beträchtliche Zeitspanne erfordert. Das Bestätigungsmodul420 am Zielpunkt gibt sofort ein ACK zurück, welches das Übertragen des Befehls anzeigt. Zu einem späteren Zeitpunkt kann das funktionale Zusatzprogramm104 auf dem verwalteten Endpunkt108 eine Nachricht (mit Rang-2-Daten) an das funktionale Zusatzprogramm auf der Appliance102 senden, um den erfolgreichen Abschluss der Defragmentierungsoperation anzuzeigen. - Da Bestätigungsnachrichten unverzüglich zurückgesendet werden, kann eine Appliance
102 auf einen ausgegebenen Befehl hin eine schnelle Rückmeldung empfangen und braucht keine Ressourcen aufzuwenden, um auf eine Antwort auf einen Befehl zu warten. Die andauernde Verbindung ermöglicht auch schnelle Bestätigungsnachrichten mit geringem Overhead. Beispielsweise kann eine Appliance102 SMMP-Nachrichten in schneller Folge an Tausende verwaltete Endpunkte108 senden und nachverfolgen, welche verwalteten Endpunkte mit einer ACK-Nachricht antworten. Falls ein verwalteter Endpunkt108 nicht antwortet, kann die Appliance102 die Nachricht erneut versenden oder die andauernde Verbindung, welche mit dem verwalteten Endpunkt verknüpft ist, in den Verbindungsdaten412 von der Liste der aktiven Verbindungen entfernen. Falls ein Client mit einer NACK-Nachricht antwortet, kann die Appliance102 ihre mit dem Endpunkt108 verknüpften Verbindungsdaten aktualisieren, um anzuzeigen, dass der Endpunkt nicht über das erwartete funktionale Zusatzprogramm104 verfügt. - Zusätzlich zu den Endpunkt-initiierten andauernden Verbindungen können andauernde Verbindungen auch durch ein Verbindungsinitiierungsmodul
418 auf der Appliance102 initiiert werden. Dies ermöglicht es der Appliance, dann eine Verbindung zu initiieren, wenn sie es wünscht, anstatt darauf zu warten, dass der Endpunkt108 initiiert. Falls die Appliance102 den Ort des Endpunkts108 im Voraus nicht kennt, kann die Appliance eine Sammel- oder Mehrpunktinitiierungsnachricht (broadcast oder multicast) aussenden. Wie vorstehend erwähnt, können jedoch von der Appliance102 initiierte Verbindungen durch Firewalls116 blockiert werden. - Eine Alternative zu einer andauernden Verbindung ist eine intervallbasierte Verbindung. Bei diesem Verbindungstyp kann das Verbindungsinitiierungsmodul
418 auf dem Endpunkt108 zu vorbestimmten Intervallen (beispielsweise einmal in fünf Minuten) eine neue Verbindung zu der Appliance102 öffnen. Mit jeder neuen Verbindung aktualisiert der Endpunkt die Appliance102 mit aktuellen Konfigurierungsinformationen und empfängt von der Appliance alle diejenigen Informationen, welche die Appliance seit der vorhergehenden Verbindung angesammelt hat. Diese Art der Kommunikation kann dann nützlich sein, wenn es wünschenswert ist, eine andauernde Verbindung zu vermeiden. -
6 ist ein Flussdiagramm, welches ein Verfahren zum Erzeugen und Aufrechterhalten einer andauernden Verbindung zwischen einer Appliance102 und einem verwalteten Endpunkt108 nach einer Ausführungsform der Erfindung zeigt. Eine Anfrage nach einer andauernden Verbindung von einem verwalteten Endpunkt108 wird durch die Appliance102 empfangen (602 ). Diese Anfrage kann beispielsweise ein TCP SYN-Paket sein. Die Appliance102 antwortet und öffnet die andauernde Verbindung (604 ). Die Appliance empfängt dann Konfigurierungsinformationen von dem verwalteten Endpunkt108 (606 ). Diese Konfigurierungsinformationen können Informationen über die auf dem verwalteten Endpunkt108 installierten funktionalen Zusatzprogramme104 und die Hardware- und Software-Konfiguration des verwalteten Endpunkts umfassen. Die Appliance102 speichert (608 ) die Konfigurierungsinformationen und die mit der andauernden Verbindung verknüpften Informationen (zeigt beispielsweise an, dass die Verbindung aktiv ist). - Sogar falls kein unmittelbarer Bedarf für eine weitere Kommunikation besteht, wird die andauernde Verbindung in einem offenen Zustand gehalten (
610 ). Die andauernde Verbindung kann zum Senden von Nachrichten zwischen den funktionalen Zusatzprogrammen104 auf der Appliance102 und dem verwalteten Endpunkt108 verwendet werden, ohne dass für jede Nachricht eine neue Verbindung hergestellt zu werden braucht. Gemäß einer Ausführungsform sendet das eingebaute Zusatzprogramm106 auf dem verwalteten Endpunkt108 in regelmäßige Zeitintervallen eine Pulsschlagnachricht an das eingebaute Zusatzprogramm auf der Appliance102 . Falls zu einem erwarteten Zeitpunkt keine Pulsschlagnachricht durch die Appliance102 empfangen wird, kann die Appliance die andauernde Verbindung als inaktiv kennzeichnen und die andauernde Verbindung schließen (612 ). - Die vorstehende Beschreibung ist zum Zweck der Veranschaulichung der Wirkungsweise der bevorzugten Ausführungsformen eingefügt und soll den Umfang der Erfindung nicht beschränken. Der Umfang der Erfindung soll nur durch die nachfolgenden Ansprüche beschränkt sein. Aus der vorstehenden Diskussion werden dem einschlägigen Fachmann viele Variationen offensichtlich sein, die dennoch vom Geist und Umfang der Erfindung abgedeckt sind.
- ZUSAMMENFASSUNG
- Ein System führt Informationstechnologie (IT)-Prozesse unter Verwendung eines Rechners aus. Beispiele von IT-Prozessen umfassen das Installieren oder Konfigurieren von Software, das Anzeigen von Warnhinweisen, das Ausführen von Programmen oder Skripten an dem Endpunkt oder Protokollaktivitäten. Gemäß einer Ausführungsform des Systems empfängt ein Verbindungsinitiierungsmodul von einem verwalteten Endpunkt über ein Netzwerk eine Anfrage nach einer andauernden Verbindung. Die Anfrage wird akzeptiert, und eine andauernde Verbindung zu dem verwalteten Endpunkt wird geöffnet. Ein Rang-1-Modul empfängt dann über die andauernde Verbindung Konfigurierungsinformationen von dem verwalteten Endpunkt. Die Konfigurierungsinformationen umfassen eine Liste funktionaler Zusatzprogramme auf dem verwalteten Endpunkt, wobei ein funktionales Zusatzprogramm ein Softwaremodul zum Ausführen eines IT-Prozesses aufweist. Das Rang-1-Modul speichert diese Konfigurierungsinformationen zusammen mit die andauernde Verbindung beschreibenden Informationen und hält die andauernde Verbindung in einem offenen Zustand aufrecht.
Claims (24)
- Computerimplementiertes Verfahren zum Ausführen von Informationstechnologie (IT)-Prozessen unter Verwendung eines Rechners, wobei das Verfahren die nachfolgenden Schritte umfasst: Empfangen einer Anfrage nach einer andauernden Verbindung über ein Netzwerk von einem verwalteten Endpunkt; Akzeptieren der Anfrage und Öffnen der andauernden Verbindung zu dem verwalteten Endpunkt; Empfangen von Konfigurierungsinformationen von dem verwalteten Endpunkt, wobei die Konfigurierungsinformationen eine Liste funktionaler Zusatzprogramme auf dem verwalteten Endpunkt umfassen, wobei ein funktionales Zusatzprogramm ein Softwaremodul zum Ausführen eines IT-Prozesses aufweist; Speichern von die andauernde Verbindung beschreibenden Informationen und der Konfigurierungsinformationen; und Aufrechterhalten der andauernden Verbindung in einem offenen Zustand.
- Computerimplementiertes Verfahren nach Anspruch 1, bei dem die Anfrage von dem verwalteten Endpunkt eine Firewall durchquert, wobei die Firewall zum Blockieren von an den verwalteten Endpunkt gerichteten Verbindungsanfragen eingerichtet ist.
- Computerimplementiertes Verfahren nach Anspruch 1 mit zusätzlich dem Schritt des Schließens der andauernden Verbindung und des Speicherns von Informationen, welche anzeigen, dass die andauernde Verbindung geschlossen ist, als Reaktion auf das Ausbleiben des Empfangens einer Pulsschlagnachricht innerhalb einer vorbestimmten Zeitspanne.
- Computerimplementiertes Verfahren nach Anspruch 1 mit zusätzlich den nachfolgenden Schritten: Empfangen einer Benachrichtigung von einem funktionalen Quellenzusatzprogramm auf dem Rechner, wobei die Benachrichtigung einen Befehl zur Ausführung auf einem verwalteten Endpunkt anzeigt; und Senden einer Befehlsnachricht an den verwalteten Endpunkt unter Verwendung der andauernden Verbindung, wobei die Befehlsnachricht den Befehl und ferner einen Hinweis auf einen Typ eines funktionalen Zielzusatzprogramms auf dem verwalteten Endpunkt umfasst.
- Computerimplementiertes Verfahren nach Anspruch 4 mit zusätzlich dem Schritt des Empfangens einer Bestätigungsnachricht von dem verwalteten Endpunkt, dass die Befehlsnachricht übergeben wurde, wobei die Bestätigung vor dem vollständigen Ausführen des Befehls auf dem verwalteten Endpunkt empfangen wird.
- Computerimplementiertes Verfahren nach Anspruch 5 mit zusätzlich dem Schritt des Benachrichtigens des funktionalen Quellenzusatzprogramms, dass die Nachricht übergeben wurde, wenigstens zum Teil als Reaktion auf eine Ablauffolgennummer in der Bestätigungsnachricht.
- Computerimplementiertes Verfahren nach Anspruch 4 mit zusätzlich den folgenden Schritten: Anordnen der Befehlsnachricht in einer Warteschlange; und Entfernen der Befehlsnachricht aus der Warteschlange zumindest zum Teil auf Grundlage einer relativen Priorität des funktionalen Quellenzusatzprogramms.
- Computerimplementiertes Verfahren nach Anspruch 1 mit zusätzlich den nachfolgenden Schritten: Empfangen von Versionsinformationen von dem verwalteten Endpunkt, wobei die Versionsinformationen eine Version eines funktionalen Zusatzprogramms auf dem verwalteten Endpunkt anzeigen; Bestimmen, ob die Version eine aktuellste Version ist; und falls die Version nicht die aktuellste Version ist, Senden einer Aktualisierungsnachricht an den verwalteten Endpunkt, wobei die Aktualisierungsnachricht Befehle zum Aktualisieren des funktionalen Zusatzprogramms umfasst.
- System zum Ausführen von Informationstechnologie (IT)-Prozessen unter Verwendung eines Rechners, wobei das System umfasst: ein computerlesbares Speichermedium, welches ausführbare Computerprogrammmodule speichert, wobei die Module umfassen: ein Verbindungsinitialisierungsmodul zum Empfangen einer Anfrage nach einer andauernden Verbindung über ein Netzwerk von einem verwalteten Endpunkt, wobei das Verbindungsinitialisierungsmodul ferner zum Akzeptieren der Anfrage und zum Öffnen der andauernden Verbindung mit dem verwalteten Endpunkt eingerichtet ist; und ein Rang-1-Modul zum Empfangen von Konfigurierungsinformationen von dem verwalteten Endpunkt, wobei die Konfigurierungsinformationen eine Liste funktionaler Zusatzprogramme auf dem verwalteten Endpunkt umfassen und wobei ein funktionales Zusatzprogramm ein Softwaremodul zum Ausführen eines IT-Prozesses aufweist, wobei das Rang-1-Modul zum Speichern von die andauernde Verbindung beschreibenden Informationen und der Konfigurierungsinformationen eingerichtet ist und das Rang-1-Modul ferner zum Aufrechterhalten der andauernden Verbindung in einem offenen Zustand eingerichtet ist.
- System nach Anspruch 9, bei dem die Anfrage von dem verwalteten Endpunkt eine Firewall durchquert, wobei die Firewall zum Blockieren von an den verwalteten Endpunkt gerichteten Verbindungsanfragen eingerichtet ist.
- System nach Anspruch 9 mit zusätzlich einem Pulsschlagmodul zum Schließen der andauernden Verbindung und zum Speichern von Informationen, welche anzeigen, dass die andauernde Verbindung geschlossen ist, als Reaktion auf das Ausbleiben des Empfangens einer Pulsschlagnachricht innerhalb einer vorbestimmten Zeitspanne.
- System nach Anspruch 9 mit zusätzlich einem Rang-2-Modul zum Empfangen einer Benachrichtigung von einem funktionalen Quellenzusatzprogramm auf dem Rechner, wobei die Benachrichtigung einen Befehl zur Ausführung auf einem verwalteten Endpunkt anzeigt, wobei das Rang-1-Modul dazu eingerichtet ist, unter Verwendung der andauernden Verbindung eine Befehlsnachricht an den verwalteten Endpunkt zu senden, wobei die Befehlsnachricht den Befehl und ferner einen Hinweis auf einen Typ eines funktionalen Zielzusatzprogramms an dem verwalteten Endpunkt umfasst.
- System nach Anspruch 12 mit zusätzlich einem Bestätigungsmodul zum Empfangen einer Bestätigungsnachricht von dem verwalteten Endpunkt, dass die Befehlsnachricht übergeben wurde, wobei die Bestätigung vor dem vollständigen Ausführen des Befehls auf dem verwalteten Endpunkt empfangen wird.
- System nach Anspruch 13 mit zusätzlich einem Ablaufsteuerungsmodul zum Benachrichtigen des funktionalen Quellenzusatzprogramms, dass die Nachricht übergeben wurde, wenigstens zum Teil als Reaktion auf eine Ablauffolgennummer in der Bestätigungsnachricht.
- System nach Anspruch 12 mit zusätzlich einem Warteschlangenmodul zum Einordnen der Befehlsnachricht in eine Warteschlange und zum Entfernen der Befehlsnachricht aus der Warteschlange zumindest zum Teil auf Grundlage einer relativen Priorität des funktionalen Quellenzusatzprogramms.
- System nach Anspruch 9 mit zusätzlich einem Zusatzprogrammverwaltungsmodul zum Empfangen von Versionsinformationen von dem verwalteten Endpunkt, wobei die Versionsinformationen eine Version eines funktionalen Zusatzprogramms auf dem verwalteten Endpunkt anzeigen, wobei das Zusatzprogrammverwaltungsmodul ferner eingerichtet ist zum Bestimmen, ob die Version eine aktuellste Version ist, und, sofern die Version nicht die aktuellste Version ist, zum Aussenden einer Aktualisierungsnachricht an den verwalteten Endpunkt, wobei die Aktualisierungsnachricht Befehle zum Aktualisieren des funktionalen Zusatzprogramms umfasst.
- Computerprogrammerzeugnis mit einem computerlesbaren Speichermedium, welches ausführbare Computerprogrammbefehle zum Ausführen von Informationstechnologie (IT)-Prozessen unter Verwendung eines Rechners speichert, mit: einem Verbindungsinitialisierungsmodul zum Empfangen einer Anfrage nach einer andauernden Verbindung über ein Netzwerk von einem verwalteten Endpunkt, wobei das Verbindungsinitialisierungsmodul ferner zum Akzeptieren der Anfrage und zum Öffnen der andauernden Verbindung mit dem verwalteten Endpunkt eingerichtet ist; und einem Rang-1-Modul zum Empfangen von Konfigurierungsinformationen von dem verwalteten Endpunkt, wobei die Konfigurierungsinformationen eine Liste funktionaler Zusatzprogramme auf dem verwalteten Endpunkt umfassen und wobei ein funktionales Zusatzprogramm ein Softwaremodul zum Ausführen eines IT-Prozesses aufweist, wobei das Rang-1-Modul zum Speichern von die andauernde Verbindung beschreibenden Informationen und der Konfigurierungsinformationen eingerichtet ist und das Rang-1-Modul ferner zum Aufrechterhalten der andauernden Verbindung in einem offenen Zustand eingerichtet ist.
- Computerprogrammerzeugnis nach Anspruch 17, bei dem die Anfrage von dem verwalteten Endpunkt eine Firewall durchquert, wobei die Firewall zum Blockieren von an den verwalteten Endpunkt gerichteten Verbindungsanfragen eingerichtet ist.
- Computerprogrammerzeugnis nach Anspruch 17 mit zusätzlich einem Pulsschlagmodul zum Schließen der andauernden Verbindung und zum Speichern von Informationen, welche anzeigen, dass die andauernde Verbindung geschlossen ist, als Reaktion auf das Ausbleiben des Empfangens einer Pulsschlagnachricht innerhalb einer vorbestimmten Zeitspanne.
- Computerprogrammerzeugnis nach Anspruch 17 mit zusätzlich einem Rang-2-Modul zum Empfangen einer Benachrichtigung von einem funktionalen Quellenzusatzprogramm auf dem Rechner, wobei die Benachrichtigung einen Befehl zur Ausführung auf einem verwalteten Endpunkt anzeigt, wobei das Rang-1-Modul dazu eingerichtet ist, unter Verwendung der andauernden Verbindung eine Befehlsnachricht an den verwalteten Endpunkt zu senden, wobei die Befehlsnachricht den Befehl und ferner einen Hinweis auf einen Typ eines funktionalen Zielzusatzprogramms an dem verwalteten Endpunkt umfasst.
- Computerprogrammerzeugnis nach Anspruch 20 mit zusätzlich einem Bestätigungsmodul zum Empfangen einer Bestätigungsnachricht von dem verwalteten Endpunkt, dass die Befehlsnachricht übergeben wurde, wobei die Bestätigung vor dem vollständigen Ausführen des Befehls auf dem verwalteten Endpunkt empfangen wird.
- Computerprogrammerzeugnis nach Anspruch 21 mit zusätzlich einem Ablaufsteuerungsmodul zum Benachrichtigen des funktionalen Quellenzusatzprogramms, dass die Nachricht übergeben wurde, wenigstens zum Teil als Reaktion auf eine Ablauffolgennummer in der Bestätigungsnachricht.
- Computerprogrammerzeugnis nach Anspruch 20 mit zusätzlich einem Warteschlangenmodul zum Einordnen der Befehlsnachricht in eine Warteschlange und zum Entfernen der Befehlsnachricht aus der Warteschlange zumindest zum Teil auf Grundlage einer relativen Priorität des funktionalen Quellenzusatzprogramms.
- Computerprogrammerzeugnis nach Anspruch 17 mit zusätzlich einem Zusatzprogrammverwaltungsmodul zum Empfangen von Versionsinformationen von dem verwalteten Endpunkt, wobei die Versionsinformationen eine Version eines funktionalen Zusatzprogramms auf dem verwalteten Endpunkt anzeigen, wobei das Zusatzprogrammverwaltungsmodul ferner eingerichtet ist zum Bestimmen, ob die Version eine aktuellste Version ist und, sofern die Version nicht die aktuellste Version ist, zum Aussenden einer Aktualisierungsnachricht an den verwalteten Endpunkt, wobei die Aktualisierungsnachricht Befehle zum Aktualisieren des funktionalen Zusatzprogramms umfasst.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97086307P | 2007-09-07 | 2007-09-07 | |
US60/970,863 | 2007-09-07 | ||
PCT/US2008/075624 WO2009033172A1 (en) | 2007-09-07 | 2008-09-08 | Architecture and protocol for extensible and scalable communication |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112008002439T5 true DE112008002439T5 (de) | 2010-07-15 |
Family
ID=40429420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112008002439T Ceased DE112008002439T5 (de) | 2007-09-07 | 2008-09-08 | Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation |
Country Status (5)
Country | Link |
---|---|
US (3) | US7890615B2 (de) |
CN (1) | CN101828179B (de) |
DE (1) | DE112008002439T5 (de) |
GB (2) | GB2488465B (de) |
WO (1) | WO2009033172A1 (de) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2488465B (en) * | 2007-09-07 | 2013-01-09 | Kace Networks Inc | Architecture and protocol for extensible and scalable communication |
US9942618B2 (en) | 2007-10-31 | 2018-04-10 | The Directv Group, Inc. | SMATV headend using IP transport stream input and method for operating the same |
US8732829B2 (en) * | 2008-04-14 | 2014-05-20 | Tdi Technologies, Inc. | System and method for monitoring and securing a baseboard management controller |
US10021437B1 (en) * | 2008-09-15 | 2018-07-10 | The Directv Group, Inc. | Method and system for discontinuing a channel stream in a multi-terminal system |
US9992525B1 (en) | 2008-09-15 | 2018-06-05 | The Directv Group, Inc. | Method and system for inserting local channel insertion in a multi-terminal system |
US20100088197A1 (en) * | 2008-10-02 | 2010-04-08 | Dehaan Michael Paul | Systems and methods for generating remote system inventory capable of differential update reports |
US8775574B2 (en) * | 2008-11-26 | 2014-07-08 | Red Hat, Inc. | Remote network management having multi-node awareness |
US8719392B2 (en) * | 2009-02-27 | 2014-05-06 | Red Hat, Inc. | Searching a managed network for setting and configuration data |
US9280399B2 (en) * | 2009-05-29 | 2016-03-08 | Red Hat, Inc. | Detecting, monitoring, and configuring services in a netwowk |
US8566459B2 (en) * | 2009-05-29 | 2013-10-22 | Red Hat, Inc. | Systems and methods for integrated console management interface |
US8463885B2 (en) * | 2009-08-31 | 2013-06-11 | Red Hat, Inc. | Systems and methods for generating management agent installations |
US8914787B2 (en) * | 2009-08-31 | 2014-12-16 | Red Hat, Inc. | Registering software management component types in a managed network |
US8166341B2 (en) * | 2009-08-31 | 2012-04-24 | Red Hat, Inc. | Systems and methods for testing results of configuration management activity |
US8607093B2 (en) * | 2009-08-31 | 2013-12-10 | Red Hat, Inc. | Systems and methods for detecting machine faults in network using acoustic monitoring |
US9967169B2 (en) * | 2009-09-30 | 2018-05-08 | Red Hat, Inc. | Detecting network conditions based on correlation between trend lines |
US8195824B2 (en) * | 2009-10-28 | 2012-06-05 | Samsung Electronics Co., Ltd | User service profile-based plug-in update method and apparatus for internet protocol television service |
US8719782B2 (en) | 2009-10-29 | 2014-05-06 | Red Hat, Inc. | Integrated package development and machine configuration management |
US8458314B1 (en) * | 2009-10-30 | 2013-06-04 | Bradford Networks, Inc. | System and method for offloading IT network tasks |
JP2011154472A (ja) * | 2010-01-26 | 2011-08-11 | Ricoh Co Ltd | 情報処理装置、プラグイン連携方法、プラグイン連携プログラム、及びそのプログラムを記録した記録媒体 |
US8494931B2 (en) | 2010-07-08 | 2013-07-23 | International Business Machines Corporation | Management of actions based on priority levels and calendar entries |
CN102004890B (zh) * | 2010-12-07 | 2013-04-03 | 武汉大学 | 一种基于网络环境的通用数字版权保护方法 |
US9172766B2 (en) * | 2011-01-10 | 2015-10-27 | Fiberlink Communications Corporation | System and method for extending cloud services into the customer premise |
US8650471B2 (en) | 2011-06-28 | 2014-02-11 | Dell Products L.P. | System and method for look-aside parity based raid |
US9396311B2 (en) | 2011-07-13 | 2016-07-19 | Dell Products L.P. | Mini appliance ensuring software license compliance |
US9430622B2 (en) | 2011-07-13 | 2016-08-30 | Dell Products L.P. | Mini appliance |
US9015224B2 (en) | 2011-10-09 | 2015-04-21 | LabTech, LLC | Interactive response of a remote monitoring and management system |
US9240971B2 (en) | 2011-11-16 | 2016-01-19 | LabTech, LLC | Automated management of generalized central name services by distributed remote devices |
US9055091B2 (en) | 2011-11-16 | 2015-06-09 | LabTech, LLC | Adaptive timing of distributed device response to maximize channel capacity utilization |
WO2013144962A1 (en) | 2012-03-29 | 2013-10-03 | Arilou Information Security Technologies Ltd. | Security system and method for protecting a vehicle electronic system |
CN103577217A (zh) * | 2012-08-10 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 软件显示方法和装置 |
US9245249B2 (en) | 2013-03-12 | 2016-01-26 | Labtech Llc | General, flexible, resilent ticketing interface between a device management system and ticketing systems |
US9665403B2 (en) | 2013-03-15 | 2017-05-30 | Miosoft Corporation | Executing algorithms in parallel |
US20140280398A1 (en) * | 2013-03-15 | 2014-09-18 | Miosoft Corporation | Distributed database management |
US9613112B2 (en) | 2013-03-15 | 2017-04-04 | Miosoft Corporation | Structuring data |
GB2514550A (en) * | 2013-05-28 | 2014-12-03 | Ibm | System and method for providing access to a resource for a computer from within a restricted network and storage medium storing same |
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
JP6214372B2 (ja) * | 2013-12-12 | 2017-10-18 | キヤノン株式会社 | 管理装置、その方法及びプログラム |
US10606626B2 (en) | 2014-12-29 | 2020-03-31 | Nicira, Inc. | Introspection method and apparatus for network access filtering |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
US11102238B2 (en) | 2016-04-22 | 2021-08-24 | Sophos Limited | Detecting triggering events for distributed denial of service attacks |
US10938781B2 (en) | 2016-04-22 | 2021-03-02 | Sophos Limited | Secure labeling of network flows |
US11165797B2 (en) | 2016-04-22 | 2021-11-02 | Sophos Limited | Detecting endpoint compromise based on network usage history |
US10986109B2 (en) | 2016-04-22 | 2021-04-20 | Sophos Limited | Local proxy detection |
US11277416B2 (en) | 2016-04-22 | 2022-03-15 | Sophos Limited | Labeling network flows according to source applications |
GB2551400B8 (en) | 2016-06-10 | 2021-12-08 | Sophos Ltd | Network security |
US10938837B2 (en) | 2016-08-30 | 2021-03-02 | Nicira, Inc. | Isolated network stack to manage security for virtual machines |
WO2018106612A1 (en) | 2016-12-06 | 2018-06-14 | Nicira, Inc. | Performing context-rich attribute-based services on a host |
US10805332B2 (en) | 2017-07-25 | 2020-10-13 | Nicira, Inc. | Context engine model |
US10803173B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Performing context-rich attribute-based process control services on a host |
US10802857B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Collecting and processing contextual attributes on a host |
US11032246B2 (en) | 2016-12-22 | 2021-06-08 | Nicira, Inc. | Context based firewall services for data message flows for multiple concurrent users on one machine |
US10812451B2 (en) | 2016-12-22 | 2020-10-20 | Nicira, Inc. | Performing appID based firewall services on a host |
GB2563066B (en) * | 2017-06-02 | 2019-11-06 | Avecto Ltd | Computer device and method for managing privilege delegation |
GB2566262B (en) | 2017-09-01 | 2020-08-26 | Avecto Ltd | Managing installation of applications on a computer device |
GB2566305B (en) | 2017-09-08 | 2020-04-15 | Avecto Ltd | Computer device and method for controlling process components |
GB2566949B (en) | 2017-09-27 | 2020-09-09 | Avecto Ltd | Computer device and method for managing privilege delegation |
US10778651B2 (en) | 2017-11-15 | 2020-09-15 | Nicira, Inc. | Performing context-rich attribute-based encryption on a host |
GB2568919B (en) | 2017-11-30 | 2020-07-15 | Avecto Ltd | Managing removal and modification of installed programs on a computer device |
US10862773B2 (en) | 2018-01-26 | 2020-12-08 | Nicira, Inc. | Performing services on data messages associated with endpoint machines |
US10802893B2 (en) * | 2018-01-26 | 2020-10-13 | Nicira, Inc. | Performing process control services on endpoint machines |
GB2570655B (en) | 2018-01-31 | 2020-12-16 | Avecto Ltd | Managing privilege delegation on a server device |
GB2573491B (en) | 2018-02-08 | 2020-07-01 | Avecto Ltd | Managing privilege delegation on a computer device |
GB2570924B (en) | 2018-02-12 | 2021-06-16 | Avecto Ltd | Managing registry access on a computer device |
GB2572977B (en) | 2018-04-18 | 2020-04-22 | Avecto Ltd | Protecting a computer device from escalation of privilege attacks |
GB2577067B (en) | 2018-09-12 | 2021-01-13 | Avecto Ltd | Controlling applications by an application control system in a computer device |
EP3970016A4 (de) * | 2019-06-21 | 2022-05-18 | Snapt, Inc | Steuerungskonfiguration für mehrere endpunktvorrichtungen |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
US11108728B1 (en) | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6825941B1 (en) * | 1998-09-21 | 2004-11-30 | Microsoft Corporation | Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith |
US6442565B1 (en) * | 1999-08-13 | 2002-08-27 | Hiddenmind Technology, Inc. | System and method for transmitting data content in a computer network |
US7058085B2 (en) * | 2001-03-14 | 2006-06-06 | Nortel Networks Limited | Method and apparatus for transmitting data over a network within a specified time limit |
US6687733B2 (en) * | 2001-06-01 | 2004-02-03 | Intergenix | Method and system for automatically configuring a client-server network |
US20030140139A1 (en) * | 2002-01-14 | 2003-07-24 | Richard Marejka | Self-monitoring and trending service system with a cascaded pipeline with a unique data storage and retrieval structures |
US7152111B2 (en) * | 2002-08-15 | 2006-12-19 | Digi International Inc. | Method and apparatus for a client connection manager |
US7409463B2 (en) * | 2003-12-04 | 2008-08-05 | International Business Machines Corporation | On-demand active role-based software provisioning |
CA2563422C (en) * | 2004-04-15 | 2013-06-04 | Clearpath Networks, Inc. | Systems and methods for managing a network |
US20060031520A1 (en) * | 2004-05-06 | 2006-02-09 | Motorola, Inc. | Allocation of common persistent connections through proxies |
KR100559251B1 (ko) * | 2004-05-12 | 2006-03-15 | 한국생산기술연구원 | 개방형 인터넷망 기반의 로봇 개발을 위한 분산소프트웨어 통합서비스방법 |
US7389505B2 (en) * | 2004-07-30 | 2008-06-17 | Extreme Networks, Inc. | Method and apparatus for modifying software |
US20060064481A1 (en) * | 2004-09-17 | 2006-03-23 | Anthony Baron | Methods for service monitoring and control |
US7710995B2 (en) * | 2005-03-08 | 2010-05-04 | Leaf Networks, Llc | Method and system for out-of-band signaling for TCP connection setup |
US20060258342A1 (en) * | 2005-04-21 | 2006-11-16 | Kenny Fok | Methods and apparatus for providing wireless device-centric control of an external computing device |
US8799431B2 (en) * | 2005-08-15 | 2014-08-05 | Toutvirtual Inc. | Virtual systems management |
US20070112962A1 (en) * | 2005-11-14 | 2007-05-17 | Steve Lewontin | Network connection establishment using out of band connection request |
US7768939B1 (en) * | 2007-01-02 | 2010-08-03 | Juniper Networks, Inc. | Network proxy with asymmetric connection connectivity |
US8560654B2 (en) * | 2007-02-02 | 2013-10-15 | Hewlett-Packard Development Company | Change management |
US8341616B2 (en) * | 2007-03-28 | 2012-12-25 | International Business Machines Corporation | Updating digitally signed active content elements without losing attributes associated with an original signing user |
EP2188696A4 (de) * | 2007-08-08 | 2014-09-17 | Innopath Software Inc | Auf dem arbeitsablauf basierendes benutzeroberflächensystem für mobilgeräteverwaltung |
GB2488465B (en) * | 2007-09-07 | 2013-01-09 | Kace Networks Inc | Architecture and protocol for extensible and scalable communication |
-
2008
- 2008-09-08 GB GB1209112.0A patent/GB2488465B/en not_active Expired - Fee Related
- 2008-09-08 CN CN200880111734XA patent/CN101828179B/zh not_active Expired - Fee Related
- 2008-09-08 GB GB1004620.9A patent/GB2465319B/en not_active Expired - Fee Related
- 2008-09-08 US US12/206,635 patent/US7890615B2/en active Active
- 2008-09-08 WO PCT/US2008/075624 patent/WO2009033172A1/en active Application Filing
- 2008-09-08 DE DE112008002439T patent/DE112008002439T5/de not_active Ceased
-
2011
- 2011-01-27 US US13/014,922 patent/US8103751B2/en not_active Expired - Fee Related
-
2012
- 2012-01-23 US US13/356,292 patent/US8301737B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120124185A1 (en) | 2012-05-17 |
CN101828179B (zh) | 2013-04-03 |
GB2465319A8 (en) | 2010-06-30 |
US20110125884A1 (en) | 2011-05-26 |
GB2465319A (en) | 2010-05-19 |
US20090070442A1 (en) | 2009-03-12 |
US7890615B2 (en) | 2011-02-15 |
CN101828179A (zh) | 2010-09-08 |
GB201209112D0 (en) | 2012-07-04 |
GB2488465A (en) | 2012-08-29 |
GB2465319B (en) | 2012-07-25 |
GB201004620D0 (en) | 2010-05-05 |
US8103751B2 (en) | 2012-01-24 |
US8301737B2 (en) | 2012-10-30 |
GB2488465B (en) | 2013-01-09 |
WO2009033172A1 (en) | 2009-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112008002439T5 (de) | Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation | |
DE60114942T2 (de) | Verfahren und System für das Verwenden eines Kernnetz-Protokolls zur Verbesserung der Netzleistung | |
DE69534411T2 (de) | Offenes Transaktionverwaltungszugriffsystem und Verfahren | |
DE60009819T2 (de) | Netzwerkgerätskonfigurationsverfahren und Vorrichtung | |
DE602005004334T2 (de) | Nms zur Verarbeitung von Multi-Server Ereignissen | |
DE69728601T2 (de) | Client-Server-Architektur mit nebenläufigen Servern | |
DE60035830T2 (de) | Netzwerkgeräteverwaltungsvorrichtung und - verfahren | |
DE60117604T2 (de) | Verfahren und system für ferndistribution und ferninstallation von software | |
DE60308700T2 (de) | Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage | |
DE112005001995B4 (de) | Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk | |
DE10251911B4 (de) | Verfahren für das Konfigurationsmanagement und Netzwerk | |
DE19937753A1 (de) | System und Verfahren zum Testen der Belastung wenigstens einer IP-gestützten Einrichtung | |
DE60316419T2 (de) | Serialisierung von eine Verteiltenapplikation einer Router | |
DE102004050350B4 (de) | Verfahren und Vorrichtung zur Redundanzkontrolle von elektrischen Einrichtungen | |
EP1049013A2 (de) | Interprozesskommunikationssystem | |
DE60214688T2 (de) | Verfahren zur aktualisierung von programmen in einem netzwerkserver mit zugehörigem system und softwareprodukt | |
DE602005002998T2 (de) | Gerät zum Auswählen von Routing-Informationen für einen Router in einem Kommunikationsnetz | |
DE60306425T2 (de) | Verfahren zur garantierten ablieferung von snmp-traps über ein grossflächiges netzwerk | |
DE60119553T2 (de) | Multiplexingeinheit, system und verfahren für die kommunikation über ein rechner-netzwerk | |
DE60311157T2 (de) | Verfahren und Vorrichtung um redundante Kommunikationsaufgaben zu synchronisieren | |
DE60127342T2 (de) | Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte | |
DE10123822B4 (de) | Verfahren, System und maschinenlesbares Programmspeichergerät zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess | |
WO2005041490A1 (de) | Nutzung von diensten innerhalb eines kommunikationsnetzes mit internetmechanismen und eines automatisierungssystems | |
DE60301407T2 (de) | Verfahren und Vorrichtung zur Bereitstellung von redundanten Protokollprozessen in einem Netzelement | |
EP3725061B1 (de) | Verfahren zum betreiben eines kommunikationssystems sowie kommunikationssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 15/177 AFI20080908BHDE |
|
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: DELL PRODUCTS L.P., ROUND ROCK, US Free format text: FORMER OWNER: KACE NETWORKS, INC., MOUNTAIN VIEW, CALIF., US |
|
R082 | Change of representative |
Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE |
|
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |