DE112008002439T5 - Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation - Google Patents

Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation Download PDF

Info

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
Application number
DE112008002439T
Other languages
English (en)
Inventor
Martin Mountain View Kacin
Michael Mountain View Gray
Andrew Mountain View Velline
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.)
Dell Products LP
Original Assignee
Kace Networks Inc
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 Kace Networks Inc filed Critical Kace Networks Inc
Publication of DE112008002439T5 publication Critical patent/DE112008002439T5/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-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.

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 Umgebung 100 veranschaulicht, die eine Informationstechnologie (IT)-Automatisierungseinrichtung 102 (die „Appliance”) zum Ausführen von IT-Prozessen auf verwalteten Endpunkten 108 gemäß einer Ausführungsform der Erfindung umfasst. Die verwalteten Endpunkte 108 sind Rechnervorrichtungen, wie beispielsweise Nutzerarbeitsstationen oder Router. IT-Prozesse umfassen beispielsweise das Installieren von Softwareprogrammen oder Patches auf den verwalteten Endpunkten 108, 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 Appliance 102 kann dazu ausgelegt sein, unterschiedliche IT-Prozesse durch einen Bediener, beispielsweise durch ein Mitglied eines IT-Stabes, auszuführen. 1 zeigt eine Umgebung 100 mit einer Appliance 102 und zwei verwalteten Endpunkten 108. Die Umgebung 100 kann jedoch Tausende verwalteter Endpunkte 108, welche mit der Appliance 102 kommunizieren, umfassen. Die Umgebung 100 kann auch mehrere Appliances 102 umfassen, wobei einige Appliances möglicherweise als Backup oder zum Zwecke des Lastausgleichs verwendet werden. Die Appliance 102 und die verwalteten Endpunkte 108 kommunizieren über ein Netzwerk 114, beispielsweise über das Internet oder ein Unternehmensintranet. Um seine Sicherheit zu erhöhen, kann ein verwalteter Endpunkt 108 hinter einer Firewall 116 angeordnet sein, wie nachfolgend in weiteren Einzelheiten beschrieben werden wird.
  • Die Appliance 102 und die verwalteten Endpunkte 108 umfassen Zusatzprogramme (Plugins) 104 und 106, welche eine Funktionalität bereitstellen, die das Ausführen von IT-Prozessen ermöglicht. Die Zusatzprogramme 104 und 106 sind gemäß einer Ausführungsform Softwaremodule, welche auf der Appliance 102 und den verwalteten Endpunkten 108 laufen. Die Zusatzprogramme 104 und 106 können eine Nutzerschnittstelle umfassen und auf Speichereinrichtungen oder andere Ressourcen auf den Appliances 102 und den verwalteten Endpunkten 108 zugreifen. Die Zusatzprogramme 104 und 106 können in Prozessen oder Bibliotheken ablaufen. Das Ausführen von IT-Prozessen erfordert oftmals Unterstützung sowohl von der Appliance 102 als auch von den verwalteten Endpunkten 108. Daher arbeiten verschiedene Appliance-Zusatzprogramme 104S und 106S mit entsprechenden Zusatzprogrammen 104C und 106C auf den verwalteten Endpunkten zusammen. Beispielsweise arbeitet das Zusatzprogramm 104S-3 zum Ausführen eines bestimmten IT-Prozesses mit den Zusatzprogrammen 104C-3 auf den Endpunkten 108 und 108' zusammen.
  • Die Appliance- und die Endpunkt-Zusatzprogramme 104 und 106 umfassen beispielsweise ausführbare Programminstruktionen. Die Zusatzprogramme 104 und 106 können dazu eingerichtet sein, auf mehreren Plattformen mit unterschiedlichen Hardware- und Software-Konfigurationen zu laufen. Ein Zusatzprogramm 104 auf einer Appliance 102, welche ein bestimmtes Betriebssystem ausführt, kann mit Zusatzprogrammen 104 auf den Endpunkten 108 mit verschiedenen anderen Betriebssystemen kommunizieren. Da die Zusatzprogramme 104, wie nachfolgend beschrieben werden wird, mit einer modularen Schnittstelle ausgebildet sind, kann für ein bestimmtes Zusatzprogramm 104 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 Appliance 102 und die Endpunkte 108 zum Ausführen von IT-Prozessen zur Verfügung. Beispielsweise kann ein Paar funktionaler Zusatzprogramme 104S-2 und 104C-2 für die Protokollaktivität an den verwalteten Endpunkten 108 eingesetzt werden. Das Funktionszusatzprogramm 104C-2 an dem Endpunkt 108 kann die an dem Endpunkt stattfindenden Aktivitäten überwachen und sie an das funktionale Zusatzprogramm 104S-2 auf der Appliance 102, welches die Aktivitäten in eine Protokolldatei speichert, kommunizieren. Auch andere Kommunikationsaustausche können zwischen dem Paar funktionaler Plugins 104 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 Netzwerk 114 zwischen funktionalen Appliancezusatzprogrammen 104S und funktionalen Endpunktzusatzprogrammen 104C ab. Gemäß einer Ausführungsform hält ein Paar eingebauter Zusatzprogramme 106S und 106C eine andauernde Verbindung zwischen der Appliance 102 und einem verwalteten Endpunkt 108 aufrecht. Diese andauernde Verbindung kann von unterschiedlichen funktionalen Zusatzprogrammen 104 für den Datenaustausch verwendet werden, beispielsweise für den Datenaustausch zwischen den Zusatzprogrammen 104S-1 und 104C-1. Die andauernde Verbindung kann auch Steuerkommunikation zwischen den eingebauten Zusatzprogrammen 106S und 106C ermöglichen, beispielsweise Statusaktualisierungen oder Konfigurierungsinformationen. Die eingebauten Zusatzprogramme 106 stellen auch Verwaltungsdienste für die funktionalen Zusatzprogramme 104 zur Verfügung. Ein eingebautes Zusatzprogramm 106C kann funktionale Zusatzprogramme 104C installieren, entfernen und aktualisieren. Das eingebaute Zusatzprogramm 106C kann auch ein Verzeichnis (z. B. eine Liste) eingebauter Zusatzprogramme 104C und deren Status führen.
  • 2 ist ein Blockdiagramm, welches einen Rechner 200 veranschaulicht, der gemäß einer Ausführungsform als eine Ausführung einer IT-Automatisierungsappliance 102 oder eines verwalteten Endpunktes 108 dienen kann. Dargestellt ist wenigstens ein mit einem Bus 204 verbundener Prozessor 202. Mit dem Bus sind auch ein Speicher 206, eine Speichereinrichtung 208, eine Tastatur 210, ein Graphikadapter 212, eine Zeigeeinrichtung 214 und ein Netzwerkadapter 216 verbunden. Mit dem Graphikadapter 212 ist ein Anzeigeelement 218 verbunden. Die Speichereinrichtung 208 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 Rechners 200 verwendete Daten umfassen. In einer Ausführungsform ist der Speicher 206 ein RAM-Speicher und speichert Befehle sowie Daten, welche aus der Speichereinrichtung 208 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 Appliance 102 wirkende Rechner 200 eine größere Verarbeitungskapazität und eine größere Speichereinrichtung aufweisen als ein als ein verwalteter Endpunkt 108 fungierender Rechner. Ebenso können einem als eine Appliance 102 fungierenden Rechner Einrichtungen wie beispielsweise eine Anzeigeeinrichtung 218 und/oder eine Tastatur 210, 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 Speichereinrichtung 208 gespeichert, in den Speicher 206 geladen und von dem Prozessor 202 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 Zusatzprogramm 104 gemäß einer Ausführungsform zeigt. Das dargestellte funktionale Zusatzprogramm 104 kann sich entweder auf der Appliance 102 oder auf einem verwalteten Endpunkt 108 befinden, welche allgemein als ein Rechner 200 bezeichnet werden. Wie vorstehend ausgeführt, stellen die funktionalen Zusatzprogramme 104 dem Rechner 200 eine Funktionalität bereit, um die Ausführung von IT-Prozessen zu ermöglichen. Das Funktionsmodul 304 führt eine Funktion aus, welche einen Teil eines IT-Prozesses umfasst. Ein Funktionsmodul 304 kann beispielsweise ein Software-Patch installieren, ein Desktop-Warnhinweis anzeigen oder einen verwalteten Endpunkt 108 hinsichtlich verschiedener Arten von Aktivitäten überwachen.
  • Gemäß einer Ausführungsform kommuniziert ein funktionales Zusatzprogramm 104C auf einem Endpunkt 108 mit einem entsprechenden funktionalen Zusatzprogramm 104S auf der Appliance 102, um einen IT-Prozess auszuführen. In dieser Situation können die einander entsprechenden Zusatzprogramme 104 komplementäre Aufgaben wahrnehmen. Beispielsweise kann ein Paar korrespondierender Zusatzprogramme 104 zusammenarbeiten, um die an einem verwalteten Endpunkt 108 auftretende Aktivität zu protokollieren. Das Funktionsmodul 304 in dem funktionalen Appliance-Zusatzprogramm 104S kann einen Befehl zur Aufnahme der Überwachungsaktivitäten ausgeben. In Erwiderung kann das Funktionsmodul 304 in dem funktionalen Endpunktzusatzprogramm 104C das Überwachen unterschiedlicher Aktivitäten und ihr Speichern in eine lokale Datei aufnehmen. Zu einem späteren Zeitpunkt sendet das Funktionsmodul 304 auf der Appliance 102 einen Befehl an das Funktionsmodul 304 auf dem Endpunkt 108, welcher die Aktivitätsdaten anfordert. Als Reaktion sendet das Funktionsmodul 304 an dem Endpunkt die lokale Datei an das Funktionsmodul 304 auf der Appliance 102, 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 Appliance 102 mit mehreren funktionalen Zusatzprogrammen 104C-2 auf verschiedenen verwalteten Endpunkten 108 zusammenarbeiten. Es kann daher notwendig sein, dass das Funktionsmodul 304 in dem funktionalen Appliance-Zusatzprogramm 104S die Zustande mehrerer funktionaler Module 304 der verschiedenen verwalteten Endpunkten 108 führt.
  • Das Funktionsmodul 304 umfasst in einer Ausführungsform eine Nutzerschnittstellenkomponente. Ein Funktionsmodul 304 in einem funktionalen Appliance-Zusatzprogramm 104S kann mit der Bedienperson der Appliance, beispielsweise einem Mitglied eines IT-Stabes, interagieren. Diese Nutzerschnittstelle kann den Status der verschiedenen verwalteten Endpunkte 108 und ihrer entsprechenden funktionalen Zusatzprogramme 104C anzeigen. Sie kann der Bedienperson darüber hinaus auch die Konfiguration der funktionalen Zusatzprogramme 104S oder das Ausgeben von Befehlen an die funktionalen Zusatzprogramme 104C gestatten. Ein Funktionsmodul 304 in einem funktionalen Zusatzprogramm 104C eines verwalteten Endpunkts kann auch eine Nutzerschnittstellenkomponente umfassen, um einem Nutzer des Endpunkts 108 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-Zusatzprogramm 104S gesendete Warnhinweise oder Nachrichten zu betrachten oder Nachrichten an das funktionale Appliance-Zusatzprogramm 104S zu senden.
  • Die funktionalen Appliance-Zusatzprogramme 104S und die funktionalen Endpunkt-Zusatzprogramme 104C kommunizieren gemäß einer Ausführungsform miteinander durch ein Kommunikationsmodul 302 oder ein Außerband-Kommunikationsmodul 308. Das Kommunikationsmodul 302 sendet die Datenaustausche durch die eingebauten Zusatzprogramme 106. Eine Nachricht von dem funktionalen Zusatzprogramm 104S-1 an das funktionale Zusatzprogramm 104C-1 über das Kommunikationsmodul 302 würde beispielsweise von dem funktionalen Zusatzprogramm 104S-1 an das eingebaute Zusatzprogramm 106S, von dort (über das Netzwerk 114) an das eingebaute Zusatzprogramm 106C und von dort an das Kommunikationsmodul des funktionalen Zusatzprogramms 104C-1 gesendet.
  • Durch das Kommunikationsmodul 302 gesendete Datenaustausche verwenden die durch die eingebauten Zusatzprogramme 106 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 Zusatzprogrammen 104 und 106 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 Netzwerk 114 mit dem Außerband-Kommunikationsmodul 308 des entsprechenden funktionalen Zusatzprogramms 104, ohne Daten durch die eingebauten Zusatzprogramme 106 zu senden. Beispielsweise kommuniziert das Außerband-Kommunikationsmodul 308 des funktionalen Zusatzprogramms 104C-1 direkt mit dem Außerband-Kommunikationsmodul des funktionalen Zusatzprogramms 104S-1, ohne über ein eingebautes Zusatzprogramm 106 zu gehen. Das Außerband-Kommunikationsmodul 308 braucht nicht die von den eingebauten Zusatzprogrammen 106 verwendeten Kommunikationsprotokolle zu benutzen. Stattdessen kann das Außerband-Kommunikationsmodul 308 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 Zusatzprogrammen 106 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 Kommunikationsmoduls 302 gesendet werden, während die Aktivitätsdatendatei durch das Außerband-Kommunikationsmodul 308 von dem funktionalen Client-Zusatzprogramm 104C an das funktionale Server-Zusatzprogramm 104S 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-Kommunikationsmoduls 308 übertragen werden können, sind große digitale Lasten von der Appliance 102 an einen Endpunkt 108, 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 Endpunkt 108 leicht zugefügt werden kann. Modularität ist für die funktionalen Endpunktzusatzprogramme 104C besonders nützlich, weil ein funktionales Endpunktzusatzprogramm gegebenenfalls auf Tausenden verwalteter Endpunkte 108 in einer bestimmten Umgebung 100 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 Zusatzprogrammen 104. Das eingebaute Zusatzprogramm 106 wickelt die Kommunikation und Koordinierungsaufgaben ab, wie sie nachstehend diskutiert werden, und kennt nicht notwendigerweise die Aufgaben der funktionalen Zusatzprogramme 104 oder die Datenformate, welche die funktionalen Zusatzprogramme 104 zur Kommunikation untereinander verwenden. In ähnlicher Weise sind den funktionalen Zusatzprogrammen 104 nicht notwendigerweise die von den eingebauten Zusatzprogrammen 106 verwendeten Kommunikationsprotokolle bekannt. Die funktionalen Zusatzprogramme 104 liefern eine Nachricht an das eingebaute Zusatzprogramm 106, und das eingebaute Zusatzprogramm 106 kümmert sich um die Einzelheiten des Übertragens der Nachricht über das Netzwerk 114. Im Ergebnis können die funktionalen Zusatzprogramme 104C einer Appliance 102 oder einem Endpunkt 108 einfach zugefügt oder von diesen entfernt werden, sofern sie nur eine durch das eingebaute Zusatzprogramm 106 bereitgestellte vorbestimmte Schnittstelle unterstützen.
  • Das Registrierungsmodul 306 des funktionalen Zusatzprogramms 104 erlaubt es dem funktionalen Zusatzprogramm, sich selbst auf einer Appliance 102 oder auf einem verwalteten Endpunkt 108 zu registrieren. Gemäß einer Ausführungsform ist diese Registrierung Teil des Installierungsprozesses des funktionalen Zusatzprogramms 104. Das Registrierungsmodul 306 teilt dem eingebauten Zusatzprogramm 106 mit, dass es auf der Appliance 102 oder dem Endpunkt 108 installiert wird. Das eingebaute Zusatzprogramm 106 weiß dann von dem funktionalen Zusatzprogramm 104 und kann das funktionale Zusatzprogramm 104 mit aus dem Netzwerk 114 empfangenen Nachrichten versorgen, welche für das funktionale Zusatzprogramm bestimmt sind. Sobald das eingebaute Zusatzprogramm 106 von dem funktionalen Zusatzprogramm 104 weiß, kann es das funktionale Zusatzprogramm 104 auch richtig verwalten, wie nachstehend beschrieben werden wird. Gemäß einer Ausführungsform empfängt das Registrierungsmodul 306 auch einen Identifikator (handle) für das eingebaute Zusatzpro gramm 106, so dass das funktionale Zusatzprogramm 104 an das eingebaute Zusatzprogramm Nachrichten und Anfragen senden kann.
  • 4 ist ein Blockdiagramm, welches ein eingebautes Zusatzprogramm 106 gemäß einer Ausführungsform veranschaulicht. Wie vorstehend erwähnt, stellt das eingebaute Zusatzprogramm 106 den funktionalen Zusatzprogrammen 104 Kommunikation und Verwaltungsdienste zur Verfügung. Die Zusatzprogrammdaten 402, welche durch das eingebaute Zusatzprogramm 106 vorgehalten werden, umfassen eine Liste der auf dem Rechner 200 installierten funktionalen Zusatzprogramme 104, wobei es sich bei dem Rechner um eine Appliance 102 oder einen verwalteten Endpunkt 108 handeln kann. Die Zusatzprogrammdaten 402 umfassen auch Identifikatoren (handles) zum Kommunizieren mit den funktionalen Zusatzprogrammen 104 auf dem Rechner 200. Die Zusatzprogrammdaten 402 können auch Versionsinformationen (beispielsweise eine Versionsnummer oder ein Versionsdatum) zu den funktionalen Zusatzprogrammen 104 oder andere Statusinformationen über die funktionalen Zusatzprogramme 104 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 Zusatzprogramm 104 beispielsweise gerade aktiv, inaktiv oder beschäftigt ist. Sofern diese Informationen in einem eingebauten Endpunkt-Zusatzprogramm 106C gespeichert werden, können sie verwendet werden, um auf Statusanfragen der Appliance 102 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 Zusatzprogramme 104 aus. Gemäß einer Ausführungsform kommuniziert das Registrierungsmodul 306 eines funktionalen Zusatzprogramms 104 zum Registrieren des funktionalen Zusatzprogramms mit dem Zusatzprogrammverwaltungsmodul 410. Das Zusatzprogrammverwaltungsmodul 410 empfängt die Registrierungsinformation von dem funktionalen Zusatzprogramm 104 und übermittelt die notwendigen Informationen über das eingebaute Zusatzprogramm 106 an das funktionale Zusatzprogramm. Das Zusatzprogrammverwaltungsmodul 410 kann funktionale Zusatzprogramme 104 auch aktualisieren, funktionale Zusatzprogramme entfernen und Statusberichte über funktionale Zusatzprogramme erzeugen. Gemäß einer Ausführungsform wird das Zusatzprogrammverwaltungsmodul 410 auf der Appliance 102 durch eine Bedienperson der Appliance mittels einer Nutzerschnittstelle gesteuert. Dieses Zusatzprogrammverwaltungsmodul 410 kann Befehle an die Zusatzprogrammverwaltungsmodule an den unterschiedlichen verwalteten Endpunkten 108 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 Appliance 102 kann auch automatisch Befehle an die Zusatzprogrammverwaltungsmodule an den verschiedenen verwalteten Endpunkten 108 senden. Beispielsweise kann das Zusatzprogrammverwaltungsmodul 410 die Zusatzprogrammdaten 402 untersuchen, um die Versionen der funktionalen Zusatzprogramme 104C auf den verwalteten Endpunkten 108 zu bestimmen. Das Zusatzprogrammverwaltungsmodul 410 kann bestimmen, ob es sich bei den Versionen um die aktuellsten verfügbaren Versionen handelt. Falls die Versionen veraltet sind, kann das Zusatzprogrammverwaltungsmodul 410 Aktualisierungsbefehle an die Zusatzprogrammverwaltungsmodule an den verwalteten Endpunkten 108 mit den veralteten Versionen der funktionalen Zusatzprogramme 104C senden.
  • Das Rang-1-Modul 404 und das Rang-2-Modul 408 führen für das eingebaute Zusatzprogramm 106 verschiedene Kommunikationsprozesse aus. Das Rang-1-Modul 404 erledigt den Datenverkehr zwischen den eingebauten Zusatzprogrammen 106 über das Netzwerk 114. Das Rang-2-Modul 408 erledigt den Datenverkehr zwischen einem eingebauten Zusatzprogramm 106 und einem funktionalen Zusatzprogramm 104 auf einem Rechner 200. 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 Netzwerk 114 sendet. Beim Empfangen einer Nachricht empfängt das Rang-1-Modul in ähnlicher Weise die Nachricht aus dem Netzwerk 114 und gibt die Nachricht an das Rang-2-Modul weiter, welches sie an ein funktionales Zusatzprogramm 104 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 Zusatzprogrammen 106 über das Netzwerk 114 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 Zusatzprogrammen 104 verstanden werden, beispielsweise von dem Zusatzprogramm 104S-2 an das Zusatzprogramm 104C-2 gesendete Befehle. Rang-2-Daten werden im Allgemeinen von den eingebauten Zu satzprogrammen 106 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 Zusatzprogrammen 104 auf der Appliance 102 und den verwalteten Endpunkten 108 verstanden wird. Rang-2-Daten können unterschiedliche Befehle, Bestätigungen, Statusmitteilungen oder andere Daten umfassen, welche die funktionalen Zusatzprogramme 104 zum Ausführen von IT-Prozessen benötigen. Bei einigen Nachrichten können die Rang-2-Daten gänzlich fehlen, beispielsweise bei zwischen eingebauten Zusatzprogrammen 106 gesendeten Steuer- oder Verwaltungsnachrichten, welche nicht für die funktionalen Zusatzprogramme 104 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 Zusatzprogramm 104 kann Rang-2-Daten an das eingebaute Zusatzprogramm 106 auf demselben Rechner 200 übertragen. Das eingebaute Zusatzprogramm 106 stellt der Nachricht Rang-1-Daten voran, wobei die Rang-1-Daten einen Hinweis auf die Art des funktionalen Zusatzprogramms 104, welches den Rang-2-Daten entspricht, umfassen. Das eingebaute Zusatzprogramm 106 kann die Nachricht dann über das Netzwerk 114 senden, nachdem geeigneten TCP-Kopfzeilen und Kopfzeilen niedrigerer Niveaus vorangestellt wurden. Wenn die Nachricht von dem Zielrechner 200 empfangen wird, wird die Nachricht an das eingebaute Empfängerzusatzprogramm 106 übertragen, und die TCP-Kopfzeilen und Kopfzeilen niedrigeren Niveaus werden entfernt. Das eingebaute Zusatzprogramm 106 verarbeitet die Rang-1-Daten und entfernt sie von der Nachricht. Da die Rang-1-Daten den Typ des funktionalen Zusatzprogramms 104 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 Zusatzprogramme 104 und 106 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 Netzwerk 114 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 Zusatzprogrammen 104. Wenn ein funktionales Zusatzprogramm 104 Rang-2-Daten an ein funktionales Zusatzprogramm auf einem anderen Rechner 200 senden möchte, stellt das funktionale Zusatzprogramm dem Rang-2-Modul 406 die Rang-2-Daten und das beabsichtigte Ziel bereit. Wie vorstehend erwähnt, kann das Registrierungsmodul 306 des funktionalen Zusatzprogramms 104 bei der Registrierung für die Kommunikation mit dem Rang-2-Modul 406 von dem Zusatzprogrammverwaltungsmodul 410 einen Identifikator (handle) oder eine API-Funktion empfangen haben. Bei der Kommunikation mit dem Rang-2-Modul 406 kann das funktionale Zusatzprogramm 104 festlegen, dass die Nachricht an entsprechende funktionale Zusatzprogramme auf mehreren Rechnern 200 gesendet werden soll. Beispielsweise kann ein funktionale Zusatzprogramm 104 auf der Appliance 102 spezifizieren, dass die Nachricht zu funktionalen Zusatzprogrammen auf Hunderten von verwalteten Endpunkten 108 gesendet werden soll.
  • Das Rang-2-Modul 406 handhabt auch einlaufende Nachrichten, welche von dem Rang-1-Modul 404 empfangen werden und für ein funktionales Zusatzprogramm 104 auf dem Rechner 200 bestimmt sind. Nach einer Ausführungsform dekodiert das Rang-1-Modul 404 die Rang-1-Daten in einer einlaufenden Nachricht, einschließlich der das funktionale Zielzusatzprogramm 104 kennzeichnenden Daten. Das Rang-1-Modul 404 stellt die Nachricht zusammen mit einem Hinweis auf das funktionale Zielzusatzprogramm 104 an das Rang-2-Modul 406 bereit. Das Zusatzprogrammroutingmodul 422 sendet die Nachricht an das entsprechende Zielzusatzprogramm 104, gegebenenfalls unter Verwendung eines Indikators (handle) in den Zusatzprogrammdaten 402 zum Zugriff auf das Zielzusatzprogramm.
  • Das Ablaufsteuerungsmodul 408 des Rang-2-Moduls 406 bestimmt eine Ablauffolgennummer, welche der von dem funktionalen Zusatzprogramm 104 empfangenen Rang-2-Nachricht zugeordnet wird. Das Ablaufsteuerungsmodul 408 kann einen Zähler für jedes zugehörige funktionale Zusatzprogramm 104 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-Modul 404 weitergegeben und in die Rang-1-Daten der auslaufenden Nachricht aufgenommen. Wenn ein eingebautes Zusatzprogramm 106 auf dem Empfängerrechner 200 die Nachricht empfängt, sendet es eine Bestätigungsnachricht, welche die Ablauffolgennummer umfasst, wie nachfolgend beschrieben wird. Das Ablaufsteuerungsmodul 414 kann die Ablauffolgennummer in der empfangenen Bestätigungs mitteilung verwenden, um zu bestimmen, welcher Nachricht es entspricht, indem es die Ablauffolgennummern vergleicht. Wenn das Ablaufsteuerungsmodul 414 feststellt, dass eine empfangene Bestätigungsmitteilung einer vorangehend gesendeten Nachricht entspricht, kann das Ablaufsteuerungsmodul die Bestätigung durch das Routingmodul 422 an das zugehörige funktionale Zusatzprogramm 104 weitergeben. Gemäß einer Ausführungsform behält das Ablaufsteuerungsmodul 414 eine Beschreibung der vorangehenden Nachricht, so dass das Ablaufsteuerungsmodul die Bestätigung zusammen mit einer Beschreibung der vorangehend gesendeten Nachricht an das funktionale Zusatzprogramm 104 bereitstellen kann.
  • Das Rang-1-Modul 404 unterhält in einer Ausführungsform andauernde Verbindungen über das Netzwerk 114 zu anderen eingebauten Zusatzprogrammen 106 und verarbeitet Rang-1-SMMP-Daten. Die andauernden Verbindungen können verwendet werden, wenn sie für Steuernachrichten zwischen eingebauten Zusatzprogrammen 106 und für Nachrichten zwischen funktionalen Zusatzprogrammen 104 erforderlich sind. Das eingebaute Zusatzprogramm 106 auf einer Appliance 102 kann eine andauernde Verbindung mit dem eingebauten Zusatzprogramm eines jeden verwalteten Endpunktes 108 aufrechterhalten. In diesem Fall hält das Rang-1-Modul 404 des auf der Appliance eingebauten Zusatzprogramms 106S mehrere Verbindungen aufrecht, wobei jede Verbindung mit dem eingebauten Zusatzprogramm 106C eines verwalteten Endpunktes 108 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-Modul 404 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 Verbindungsinitiierungsmodul 418 in dem eingebauten Zusatzprogramm auf dem verwalteten Endpunkt 108 (und nicht auf der Appliance 102) die andauernde Verbindung. Dem Verbindungsinitiierungsmodul 418 auf dem verwalteten Endpunkt 108 kann anfänglich der Ort der Appliance 102 bereitgestellt werden, beispielsweise mittels eines DHCP-Servers (dynamic host control protocol). Das Verbindungsinitiierungsmodul 418 kann nachfolgend eine Verbindung mit dem eingebauten Zusatzprogramm 106S auf der Appliance 102 öffnen, beispielsweise durch Senden eines TCP SYN-Pakets, Empfangen eines TCP SYN-ACK-Pakets von dem verwalteten Endpunkt 108 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 Appliance 102 automatisch benachrichtigt wird, wenn ein verwalteter Endpunkt 108 online geht. Damit die Appliance 102 von der Existenz des verwalteten Endpunktes 108 erfährt, wird kein zusätzlicher Mechanismus benötigt. Ein weiterer Vorteil besteht darin, dass eine Verbindung durch eine Firewall 116 eingerichtet werden kann. Aus Sicherheitsgründen wird eine Firewall 116 oftmals so konfiguriert, dass sie eingehende Anfragen für Verbindungen zu einem verwalteten Endpunkt 108 blockiert. Die Firewall wird jedoch nicht eine von einem verwalteten Endpunkt 108 ausgehende Verbindung blockieren und daher den Aufbau einer andauernden Verbindung ermöglichen. Sobald die Verbindung aufgebaut ist, kann sie sowohl für von der Appliance 102 als auch von dem verwalteten Endpunkt 108 initiierte Kommunikation verwendet werden. Die Firewall 116 ist in 1 als eine von dem verwalteten Endpunkt 108 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 Verbindungsinitiierungsmodul 418 des eingebauten Zusatzprogramms 106 auf dem anderen Rechner 200 senden. Diese Konfigurierungsdaten können Daten über installierte Zusatzprogramme 104, welche aus den Zusatzprogrammdaten 402 gewonnen wurden, oder andere Daten über den Rechner 200, beispielsweise seine Hardware- oder Softwarekonfiguration, umfassen. Gemäß einer Ausführungsform speichert das Verbindungsinitiierungsmodul 418 auf einem oder beiden Computer alle empfangenen Konfigurierungsdaten in den Verbindungsdaten 412, wie nachfolgend beschrieben wird.
  • Die Verbindungsdaten 412 halten mit der andauernden Verbindung verknüpfte Daten vor. Ein verwalteter Endpunkt 108 kann eine andauernde Verbindung zu einer einzigen Appliance 102 oder einige wenige andauernde Verbindungen, beispielsweise zu einer Appliance und einer Backup-Appliance, aufweisen. Andererseits kann eine Appliance 102 Tausende andauernde Verbindungen mit verschiedenen verwalteten Endpunkten 108 aufweisen. Die Verbindungsdaten 412 auf einer Appliance 102 können eine Liste von Verbindungen und Informationen über die Verbindungen umfassen, beispielsweise die Identität des mit jeder Verbindung verknüpften Endpunkts 108 sowie eine Liste der funktionalen Zusatzprogramme 104 an den verknüpften verwalteten Endpunkten. Die Verbindungsdaten 412 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 Zusatzprogramm 106 auf einer Appliance 102 Nachrichten an mehrere verwaltete Endpunkte 108 senden möchte. Beispielsweise kann ein funktionales Zusatzprogramm 104 auf der Appliance 102 einen Desktop-Warnhinweis an funktionale Zusatzprogramme auf mehreren verwalteten Endpunkten 108 übertragen wollen. Die Verbindungsdaten 412 können verwendet werden, um festzustellen, welche Endpunkte 108 gegenwärtig über aktive andauernde Verbindungen verfügen und das funktionale Desktop-Warnhinweis-Zusatzprogramm 104 umfassen. Das eingebaute Zusatzprogramm 106 auf der Appliance 102 braucht dann die Desktop-Warnhinweis-Nachricht nur an diese verwalteten Endpunkte 108 zu senden, so dass Bearbeitungs- und Übertragungskapazitäten gespart werden. Im Allgemeinen ermöglichen die Verbindungsdaten 412 dem eingebauten Zusatzprogramm 106, 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 Endpunktzusatzprogramm 106C periodisch eine Pulsschlagnachricht an das eingebaute Appliance-Zusatzprogramm 106S. Eine Pulsschlagnachricht kann jede vorbestimmte, von der Appliance 102 und den verwalteten Endpunkten 108 verstandene Nachricht sein. Da eine Pulsschlagnachricht nur von den eingebauten Zusatzprogrammen 106 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 Appliance 102 für einen langen Zeitraum keine Pulsschlagnachricht über eine Verbindung empfängt, kann die Appliance annehmen, dass der verwaltete Endpunkt 108 die Verbindung getrennt hat, und kann die Verbindung in den Verbindungsdaten 412 als inaktiv kennzeichnen. Die Appliance 102 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 Verbindungsdaten 412 gespeichert werden. Ein verwalteter Endpunkt 108 (oder eine Appliance 102) 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 Endpunkten 108 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 Netzwerks 114. Eine unerwarteterweise inaktiv werdende Verbindung als Ergebnis des Ausbleibens des Empfangs weiterer Pulsschlagnachrichten kann die Appliance 102 auch zur Vornahme einer Maßnahme veranlassen. Die Appliance 102 kann eine Bedienperson über die Lage informieren, oder ein funktionales Zusatzprogramm 104 auf der Appliance kann eine Nachricht zu einem funktionalen Zusatzprogramm auf einem zweiten verwalteten Endpunkt 108 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 Appliance 102 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-Zusatzprogrammen 104S und den funktionalen Zusatzprogrammen 104C des verwalteten Endpunkts weiter. Nach einer Ausführungsform führen das Warteschlangenmodul 414 und das Bestätigungsmodul 420 einige dieser Funktionen aus. Das Warteschlangenmodul 414 ordnet über das Netzwerk 114 zu sendende Nachrichten an. Im Allgemeinen werden diese Nachrichten von den funktionalen Zusatzprogrammen 104 empfangen, können jedoch auch durch das Rang-1-Modul 404 selbst erzeugt werden (z. B. Pulsschlagnachrichten). Das Warteschlangenmodul 414 kann dann Nachrichten aus der Warteschlange senden, wenn Netzwerkressourcen verfügbar sind. Das Warteschlangenmodul 414 kann ein Prioritätssystem implementieren, bei dem einigen funktionalen Zusatzprogrammen 104 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 Zusatzprogramms 104 und eine Ablauffolgennummer angeben.
  • Gemäß einer Ausführungsform kann das Warteschlangenmodul 414 auf der Appliance 102 eine Verarbeitung und einen Lastausgleich aller Nachrichten der funktionalen Zusatzprogramme 104 und aller Prozesse der funktionalen Zusatzprogramme ausführen. Zu übersendende Nachrichten und auszuführende Prozesse können durch das Warteschlangenmodul 414 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 Appliance 102 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 Netzwerk 114 empfangene Nachrichten bereit. Wenn eine Nachricht von dem eingebauten Zusatzprogramm 106 empfangen wurde und durch das Zusatzprogrammroutingmodul 422 erfolgreich an ein funkti onales Zielzusatzprogramm 104 übertragen wurde, kann eine Bestätigungsnachricht (acknowledgement message, ACK) generiert und an das eingebaute Ursprungszusatzprogramm auf dem entfernten Rechner 200 zurückgesendet werden. Falls das Zusatzprogrammroutingmodul 422 nicht zum Übertragen der Nachricht in der Lage war, kann eine negative Bestätigungsnachricht (negative acknowledgement, NACK) an den entfernten Rechner 200 gesendet werden. Dies kann beispielsweise passieren, falls das beabsichtigte funktionale Zielzusatzprogramm 104 nicht auf dem Zielrechner 200 installiert ist. Die Ablauffolgennummer der Rang-1-Daten der empfangenen Nachricht kann in die Bestätigungsnachricht aufgenommen werden, so dass das Ablaufsteuerungsmodul 422 auf dem entfernten Rechner 200 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 Zusatzprogramm 104 übertragen wurde, und nicht, ob das funktionale Zusatzprogramm dazu in der Lage war, die Nachricht vollständig zu verarbeiten. Eine Nachricht an ein funktionales Zusatzprogramm 104 kann beispielsweise einen Befehl an das Zusatzprogramm zum Ausführen einer Plattendefragmentierungsoperation umfassen, welche eine beträchtliche Zeitspanne erfordert. Das Bestätigungsmodul 420 am Zielpunkt gibt sofort ein ACK zurück, welches das Übertragen des Befehls anzeigt. Zu einem späteren Zeitpunkt kann das funktionale Zusatzprogramm 104 auf dem verwalteten Endpunkt 108 eine Nachricht (mit Rang-2-Daten) an das funktionale Zusatzprogramm auf der Appliance 102 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 Appliance 102 SMMP-Nachrichten in schneller Folge an Tausende verwaltete Endpunkte 108 senden und nachverfolgen, welche verwalteten Endpunkte mit einer ACK-Nachricht antworten. Falls ein verwalteter Endpunkt 108 nicht antwortet, kann die Appliance 102 die Nachricht erneut versenden oder die andauernde Verbindung, welche mit dem verwalteten Endpunkt verknüpft ist, in den Verbindungsdaten 412 von der Liste der aktiven Verbindungen entfernen. Falls ein Client mit einer NACK-Nachricht antwortet, kann die Appliance 102 ihre mit dem Endpunkt 108 verknüpften Verbindungsdaten aktualisieren, um anzuzeigen, dass der Endpunkt nicht über das erwartete funktionale Zusatzprogramm 104 verfügt.
  • Zusätzlich zu den Endpunkt-initiierten andauernden Verbindungen können andauernde Verbindungen auch durch ein Verbindungsinitiierungsmodul 418 auf der Appliance 102 initiiert werden. Dies ermöglicht es der Appliance, dann eine Verbindung zu initiieren, wenn sie es wünscht, anstatt darauf zu warten, dass der Endpunkt 108 initiiert. Falls die Appliance 102 den Ort des Endpunkts 108 im Voraus nicht kennt, kann die Appliance eine Sammel- oder Mehrpunktinitiierungsnachricht (broadcast oder multicast) aussenden. Wie vorstehend erwähnt, können jedoch von der Appliance 102 initiierte Verbindungen durch Firewalls 116 blockiert werden.
  • Eine Alternative zu einer andauernden Verbindung ist eine intervallbasierte Verbindung. Bei diesem Verbindungstyp kann das Verbindungsinitiierungsmodul 418 auf dem Endpunkt 108 zu vorbestimmten Intervallen (beispielsweise einmal in fünf Minuten) eine neue Verbindung zu der Appliance 102 öffnen. Mit jeder neuen Verbindung aktualisiert der Endpunkt die Appliance 102 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 Appliance 102 und einem verwalteten Endpunkt 108 nach einer Ausführungsform der Erfindung zeigt. Eine Anfrage nach einer andauernden Verbindung von einem verwalteten Endpunkt 108 wird durch die Appliance 102 empfangen (602). Diese Anfrage kann beispielsweise ein TCP SYN-Paket sein. Die Appliance 102 antwortet und öffnet die andauernde Verbindung (604). Die Appliance empfängt dann Konfigurierungsinformationen von dem verwalteten Endpunkt 108 (606). Diese Konfigurierungsinformationen können Informationen über die auf dem verwalteten Endpunkt 108 installierten funktionalen Zusatzprogramme 104 und die Hardware- und Software-Konfiguration des verwalteten Endpunkts umfassen. Die Appliance 102 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 Zusatzprogrammen 104 auf der Appliance 102 und dem verwalteten Endpunkt 108 verwendet werden, ohne dass für jede Nachricht eine neue Verbindung hergestellt zu werden braucht. Gemäß einer Ausführungsform sendet das eingebaute Zusatzprogramm 106 auf dem verwalteten Endpunkt 108 in regelmäßige Zeitintervallen eine Pulsschlagnachricht an das eingebaute Zusatzprogramm auf der Appliance 102. Falls zu einem erwarteten Zeitpunkt keine Pulsschlagnachricht durch die Appliance 102 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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.
DE112008002439T 2007-09-07 2008-09-08 Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation Ceased DE112008002439T5 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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