-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft im Allgemeinen ein verbessertes Datenverarbeitungssystem und
im Besonderen ein Verfahren und eine Vorrichtung zum Ermitteln der
Auslastung von Knoten in einer Gruppe von Knoten. Ganz besonders
betrifft die vorliegende Erfindung ein Verfahren, eine Vorrichtung
und Computeranweisungen zum Kennzeichnen durch Knoten verarbeiteter
Transaktionen.
-
ZUGRUNDELIEGENDE TECHNIK
-
Ein
vernetztes Datenverarbeitungssystem ist ein System zum Übertragen
beliebiger Kombinationen von Sprache, Videos und/oder Daten zwischen verschiedenen
Clients. Das für
dieses System zuständige
Netz beinhaltet ein Medium zum Bereitstellen von Datenübertragungsleitungen
zwischen verschiedenen Einheiten und Computern, die innerhalb des
vernetzten Datenverarbeitungssystems miteinander verbunden sind.
Diese Einheiten beinhalten dauerhafte Verbindungen (Standleitungen)
wie beispielsweise Elektro- oder Lichtwellenleiterkabel oder zeitweilige
Verbindungen, die beispielsweise über Telefonverbindungen hergestellt
werden. Außer
Servern und Clients gibt es noch Brücken (bridges), Leitwegrechner
(router) und Vermittlungsrechner (switches). Außerdem kann ein vernetztes
Datenverarbeitungssystem drahtlose Verbindungen mit dazugehöriger Ausrüstung wie
beispielsweise Antennen und Sendetürmen beinhalten.
-
Es
gibt eine Vielzahl verschiedener Netzarten, zum Beispiel ein Weitverkehrsnetz
(Wide Area Network, WAN) oder ein lokales Netz (Local Area Network,
LAN). Ein LAN ist ein Datenübertragungsnetz,
das Benutzer innerhalb eines begrenzten geografischen Bereichs versorgt.
Ein LAN nutzt normalerweise Clients und Server, die über netzfähige Betriebssysteme
verfügen.
Ein WAN ist ein Datenübertragungsnetz,
das einen großen
geografischen Bereich versorgt, zum Beispiel einen Staat oder ein Land.
Lokale Netze sind üblicherweise
auf ein Gebäude
oder einen Gebäude
oder einen Gebäudekomplex
beschränkt.
Ein anderes Beispiel für
ein Netz stellt das Internet dar. Das Internet, das auch als ein „Internetz" bezeichnet wird,
besteht aus einer Gruppe von Computernetzen, die sich voneinander unterscheiden
und durch Mittel wie Gateway-Rechner miteinander verbunden sein
können,
welche die Datenübertragung
und die Umwandlung von Nachrichten von einem Protokoll des sendenden
Netzes in ein Protokoll des empfangenden Netzes steuern. Im Sinne
einer kommerziellen Nutzung betrifft der Begriff „Internet" eine Ansammlung
von Netzen und Gateway-Rechnern, welche das TCP/IP-Protokollpaket
verwenden.
-
Unternehmen
und andere Einrichtungen verwenden vernetzte Datenverarbeitungssysteme
zum Durchführen
von Geschäfts-
und anderen Transaktionen. Diese Netze können sich lediglich auf ein
einziges LAN beschränken
oder auch viele Netze, einschließlich des Internets, umfassen.
-
Unternehmensnetze
bedienen sich einer Netzinfrastruktur in großen Unternehmen oder Geschäftseinheiten
mit mehreren Computersystemen und -netzen. Solche Infrastrukturen
sind normalerweise überaus
komplex. Für
die Planung und Verwaltung zum Integrieren verschiedener getrennter
Netze und Systeme ist ein enormer Aufwand erforderlich. Dasselbe
trifft auf die Planung von zusätzlichen Schnittstellen
zu, falls sich die Bedürfnisse
und Anforderungen ändern
sollten. Zur Verwaltung eines Unternehmenssystems beinhalten diese
Systeme oft eine Anzahl Server, die verschiedene Dienste bereitstellen
müssen.
Die Verwaltung dieser Server erfüllt eine
wichtige Funktion, indem sichergestellt wird, dass die Dienste bei
Bedarf zur Verfügung
stehen. Die Verwaltung des Zuweisens von Ressourcen zum Bereitstellen
von Diensten zur Verarbeitung von Anforderungen stellt eine wichtige
und komplexe Aufgabe dar. Einen wichtigen Teil im Prozess zur Kennzeichnung
der Funktionalität
und der Auslastung von Ressourcen stellt die Kennzeichnung der von
Knoten, zum Beispiel von Servern, verarbeiteten Transaktionen dar,
um sicherzustellen, dass eine wahrgenommene Funktionalität auf die
tatsächliche
Auslastung für
diese Knoten abgestimmt ist.
-
Zum
Beispiel kann eine Gruppe von Servern bereitgestellt werden, welche
die Anforderungen nach einer bestimmten Website verarbeiten, um
ein Online-Geschäft
zu unterstützen,
bei dem Waren oder Dienstleistungen angeboten werden. Auch die Server
können
so konfiguriert werden, dass sie den Zugriff auf Daten erlauben,
zum Beispiel auf Patientenakten, Steuerinformationen oder Vorschriften.
Die erforderlichen Ressourcen hängen
von der Auslastung und den Anforderungen seitens der Clients ab. Bei
der Bereitstellung von Ressourcen ist es wichtig, dass die Auslastung
der Ressourcen bekannt ist. Wenn die Auslastung zunimmt, können die
Kapazitäten
erweitert werden, um die höheren
Anforderungen zu erfüllen.
In manchen Fällen
kann auf zusätzliche Server
verzichtet werden, da ein oder mehrere laufende Server zu gering
genutzt werden, während
andere Server bis zur Belastungsgrenze ausgelastet sind oder den
erwarteten Umfang an Dienstleistungen nicht erbringen können. Eine
Fehlabstimmung der Funktionalitäten
wird oft durch ein Versagen und eine anschließende Analyse des Systems offenbar. Zu
einem solchen Versagen kommt es normalerweise, wenn aktuell genutzte
Lastausgleichsverfahren nicht in der Lage sind, die Funktionalitäten zum
Verarbeiten von Anforderungen in geeigneter Weise zu überwachen
und bereitzustellen.
-
Wenn
es sich um eine einfache Anwendung handelt, deren Status nicht über mehrere
Anforderungen seitens eines Benutzers hinweg erhalten bleiben muss,
reichen das normale Umlaufverfahren oder andere Lastausgleichsverfahren
aus, um die Funktionalitäten
zur Verarbeitung der Anforderungen bereitzustellen. Wenn jedoch
die Anwendung komplexer ist und ihre Statusinformation über mehrere Anforderungen
hinweg erhalten bleiben muss, sind die aktuell verfügbaren Lastausgleichsverfahren nicht
in der Lage, die Funktionalitäten
zum Verarbeiten der Anforderungen ausreichend zu überwachen und
bereitzustellen. Wenn die Statusinformation erhalten bleibt, muss
die Benutzersitzung einem bestimmten Server zugewiesen werden, der
die Information bereitstellt. Diese Situation wird im Allgemeinen
als „affiner
Lastausgleich" bezeichnet.
In diesem Fall wird ein einzelner Server aufgrund der Fortdauer der
Transaktion normalerweise überlastet.
Dieses Problem wird noch erschwert, wenn nicht ein menschlicher
Benutzer einen Browser bedient, sondern ein Computer Netzdienste
in Anspruch nimmt. Bei diesen Beispielen muss die Statusinformation
in erster Linie erhalten bleiben, weil auf herkömmliche Systeme zugegriffen
werden muss.
-
In
dem den Stand der Technik darstellenden Dokument
US 2003/0005092 von Nelson et
al. vom 2. Januar 2003 wird die Verwendung von ARP-Cachespeichern
beschrieben, die Informationen darüber sammeln, wie, wo usw. mit
dem Netz verbundene Einheiten genutzt werden.
-
Von
Vorteil wären
ein verbessertes Verfahren, eine verbesserte Vorrichtung und verbesserte Computeranweisungen
zur Kennzeichnung von Transaktionen, die durch eine Gruppe von Knoten
in einem vernetzten Datenverarbeitungssystem verarbeitet werden.
-
BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung stellt ein Verfahren, ein System und ein Computerprogrammelement zum Überwachen
von Transaktionen für
eine Gruppe bekannter Knoten in einem vernetzten Datenverarbeitungssystem
bereit, die in den Hauptansprüchen
1 bis 4 definiert sind. Von einem Leitwegrechner im Datenverarbeitungssystem
werden Cachespeicherdaten empfangen. Die Cachespeicherdaten beinhalten eine
Kennzeichnung der Gruppe bekannter Knoten, welche Datenpakete für Transaktionen
an das vernetzte Datenverarbeitungssystem senden. Unter Verwendung
der Cachespeicherdaten vom Leitwegrechner werden die Transaktionen über die
Gruppe von Knoten hinweg verfolgt. Auf diese Weise kann die Arbeitsauslastung
verschiedener Knoten in einer Gruppe von Knoten ermittelt werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Eine
bevorzugte Ausführungsart
der vorliegenden Erfindung wird nun beispielhaft unter Bezug auf
die folgenden Zeichnungen beschrieben, wobei:
-
1 eine bildliche Darstellung eines vernetzten
Datenverarbeitungssystems zeigt, in welchem bevorzugte Ausführungsarten
der vorliegenden Erfindung realisiert werden können;
-
2 ein Serversystem gemäß einer bevorzugten Ausführungsart
der vorliegenden Erfindung ist;
-
3 ein Blockschaubild eines Datenverarbeitungssystems
zeigt, das als Server- oder Zuteilungseinheit gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung realisiert werden kann;
-
4 ein Schaubild ist, das Komponenten veranschaulicht,
welche zum Erkennen von Knoten und Beziehungen zwischen Knoten in
einem vernetzten Datenverarbeitungssystem verwendet werden;
-
5 ein Schaubild ist, das gespeicherte
Informationen veranschaulicht, welche gemäß einer bevorzugten Ausführungsart
der vorliegenden Erfindung in den Datencachespeicher eines Leitwegrechners
eingegeben werden sollen;
-
6 ein Schaubild ist, das die Auslastung von
Knoten gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung veranschaulicht;
-
7 eine Ablaufschaubild eines Prozesses zum
Gewinnen einer Bestandsaufnahme der Daten in einem Cachespeicher
gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung ist;
-
8 ein Ablaufschaubild eines Prozesses zum
Ermitteln von Transaktionen, die durch Knoten in einem vernetzten
Datenverarbeitungssystem gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung verarbeitet werden.
-
AUSFÜHRUNGSFORMEN DER ERFINDUNG
-
1 zeigt eine bildliche Darstellung eines verteilten
Datenverarbeitungssystems, in welchem die bevorzugten Ausführungsarten
der vorliegenden Erfindung realisiert werden können. Das verteilte Datenverarbeitungssystem 100 ist
ein Computernetz, in welchem die bevorzugten Ausführungsarten
der vorliegenden Erfindung realisiert werden können. Das verteilte Datenverarbeitungssystem 100 enthält ein Netz 102,
das als Medium zur Bereitstellung von Datenübertragungsleitungen zwischen
verschiedenen Einheiten und Computern dient, die innerhalb des verteilten
Datenverarbeitungssystems 100 miteinander verbunden sind.
Das Netz 102 kann dauerhafte Verbindungen (Standleitungen)
wie beispielsweise Elektro- oder Lichtwellenleiterkabel oder zeitweilige Verbindungen
beinhalten, die über
Telefonverbindungen hergestellt werden.
-
Im
dargestellten Beispiel ist ein Serversystem 104 zusammen
mit einer Speichereinheit 106 mit dem Netz 102 verbunden.
Das Serversystem 104 enthält üblicherweise zwei oder mehr
Server und wird auch als „Cluster" bezeichnet. Außerdem sind
mit einem Netz 102 auch Clients 108, 110 und 112 verbunden.
Diese Clients 108, 110 und 112 können zum
Beispiel Personal Computer oder Netzcomputer sein. Im Rahmen der
vorliegenden Anmeldung dient als Netzcomputer ein beliebiger mit
einem Netz verbundener Computer, der von einem anderen mit dem Netz
verbundenen Computer ein Programm oder eine andere Anwendung empfängt. Im
dargestellten Beispiel liefert das Serversystem 104 Daten,
zum Beispiel Bootdateien, Betriebssystemabbilder und Anwendungen, an
die Clients 108 bis 112. Die Clients 108, 110 und 112 sind
Clients in Bezug auf den Server 104. Das verteilte Datenverarbeitungssystem 100 kann
weitere nicht dargestellte Server, Clients und andere Einheiten
beinhalten. Im dargestellten Beispiel stellt das verteilte Datenverarbeitungssystem 100 das
Internet dar, wobei unter dem Netz 102 eine weltweite Ansammlung
von Netzen und Gateway-Computern
zu verstehen ist, die unter Verwendung des TCP/IP-Protokollpakets Daten
untereinander austauschen. Kernbestandteil des Internets ist ein
zentrales Netz von Hochgeschwindigkeitsdatenleitungen zwischen Hauptknoten
oder Hostcomputern, die sich aus Tausenden von Unternehmens-, Regierungs-,
Hochschul- und anderen Computersystemen rekrutieren, welche Daten
und Nachrichten an die gewünschte Adresse
weiterleiten. Das verteilte Datenverarbeitungssystem 100 kann
natürlich
auch durch eine Anzahl verschiedener Netztypen realisiert werden,
zum Beispiel durch ein Intranet, ein lokales Netz (LAN) oder ein
Weitverkehrsnetz (WAN). 1 soll nur
als Beispiel dienen ist nicht als Einschränkung der Architektur für Ausführungsarten
der vorliegenden Erfindung zu verstehen.
-
2 zeigt ein Serversystem gemäß einer bevorzugten
Ausführungsart
der vorliegenden Erfindung. Das Serversystem 200 kann wie
das in 1 gezeigte Serversystem 104 realisiert
werden.
-
Das
Serversystem 200 beinhaltet im vorliegenden Beispiel einen
Leitwegrechner (router) 202, der Anforderungen von Clients
empfängt.
Der Leitwegrechner 202 ist mit einem Bus 204 verbunden. Dieser
Bus sorgt auch für
den Anschluss der Netzzuteilungseinheit (network dispatcher) 206.
Die Netzzuteilungseinheit 206 wird auch als Vor-Prozessor („front- end processor") bezeichnet. Ferner
befinden sich im Serversystem 200 Server 208, 210, 212 und 214.
Bei den vorliegenden Beispielen handelt es sich bei diesen Servern
um identische Server. Identische Server verarbeiten Anforderungen
mit derselben Taktfrequenz.
-
Die
Netzzuteilungseinheit 206 empfängt vom Leitwegrechner 202 Anforderungen
und sendet diese zur Verarbeitung an einen Server innerhalb des
Serversystems 200.
-
Antworten
auf die Anforderungen werden in den vorliegenden Beispielen von
dem die Anforderung verarbeitenden Server durch den Leitwegrechner 202 zum
Client zurückgeleitet.
-
Gemäß einer
bevorzugten Ausführungsart der
vorliegenden Erfindung nimmt ein Client, der eine Anforderung an
einen Server und ein Serversystem 200 richtet, nur einen
einzigen Server wahr. Die Server 208, 210, 212 und 214 nutzen
die innerhalb des Serversystems 200 empfangenen Daten sowie
die Netzadresse gemeinsam. Zum Beispiel werde eine Anforderung an
das Serversystem 200 an eine bestimmte Netzadresse, beispielsweise
an eine IP(Internetprotokoll)-Adresse, gerichtet. Dann empfängt der
Leitwegrechner 202 die Anforderung und leitet diese Anforderung
an die Netzzuteilungseinheit 206 weiter. Die Netzzuteilungseinheit 206 wiederum
sendet die Anforderung zur Verarbeitung an den entsprechenden Server.
Diese Weiterleitung der Anforderung zur Verarbeitung an einen entsprechenden
Server ist transparent und für
einen Client, der eine Anforderung stellt, nicht erkennbar. Die
Darstellung des Serversystems 200 in 2 ist
nicht als Einschränkung
der Architektur für
die Ausführungsarten
der vorliegenden Erfindung zu verstehen. Zum Beispiel sind in dem
System nur vier Server dargestellt. Zum Realisieren des Serversystems
können
auch andere Anzahlen von Servern verwendet werden. Außerdem kann
der Bus 204 unterschiedliche Formen annehmen. Der Bus 204 kann
auch die Form eines lokalen Netzes oder eines anderen gemeinsam
genutzten Ressourcenmechanismus zum Übertragen von Daten innerhalb
des Serversystems 200 annehmen.
-
3 zeigt ein Blockschaubild eines Datenverarbeitungssystems
gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung, das als Server- oder Netzzuteilungseinheit realisiert
werden kann. Das Datenverarbeitungssystem 300 kann als Server,
zum Beispiel durch die Server 208, 210, 212 oder 214 in 2, realisiert werden. Ferner kann eine
Netzzuteilungseinheit, zum Beispiel die Netzzuteilungseinheit 206 in 2, unter Verwendung des Datenverarbeitungssystems 300 realisiert
werden.
-
Das
Datenverarbeitungssystem 300 kann ein symmetrisches Multiprozessorsystem
(Symmetric Multiprocessor System, SMP) sein, das eine Vielzahl mit
dem Systembus 306 verbundener Prozessoren 302 und 304 beinhaltet.
Alternativ kann ein Einprozessorsystem verwendet werden. Ferner
ist mit dem Systembus 306 eine Speichersteuerung/Cachespeicher 308 verbunden,
die als Schnittstelle zum lokalen Speicher 309 dient. Eine
E/A-Busbrücke 310 ist mit
dem Systembus 306 verbunden und dient als Schnittstelle
zum E/A-Bus 312. Die Speichersteuerung/Cachespeicher 308 und
die E/A-Busbrücke 310 können wie
in der Abbildung gezeigt zu einer Einheit zusammengefasst werden.
-
Die
mit dem E/A-Bus 312 verbundene PCI-Busbrücke 314 (Peripheral
Component Interconnect, Verbindungsbus für Erweiterungskomponenten)
stellt eine Schnittstelle für
den lokalen PCI-Bus 316 bereit. An den PCI-Bus 316 kann
eine Anzahl Modems angeschlossen werden. Typische PCI-Busanordnungen unterstützen vier
PCI-Erweiterungssteckplätze
oder Zusatzanschlüsse.
Datenübertragungsleitungen
zu den Netzcomputern 108 bis 112 in 1 können
durch einen Modem 318 oder einen Netzadapter 320 bereitgestellt
werden, der durch Steckkarten mit dem lokalen PCI-bus 316 verbunden ist.
-
Weitere
PCI-Busbrücken 322 und 324 stellen Schnittstellen
für zusätzliche
PCI-Busse 326 und 328 bereit, durch welche zusätzliche
Modems oder Netzadapter unterstützt
werden können.
Auf diese Weise ermöglicht
das Datenverarbeitungssystem 300 Verbindungen zu mehreren
Netzcomputern. Direkt oder indirekt können in der dargestellten Weise
auch ein speicherorientierter Grafikadapter 330 und eine
Festplatte 332 mit dem E/A-Bus 312 verbunden werden.
-
Dem
Fachmann ist klar, dass die in 3 dargestellte
Hardware variieren kann. Zum Beispiel können zusätzlich zur dargestellten Hardware
oder statt dieser andere Peripherieeinheiten wie beispielsweise
optische Plattenlaufwerke und Ähnliches
verwendet werden. Das dargestellte Beispiel ist nicht als Einschränkung für die Architektur
der Ausführungsarten
der vorliegenden Erfindung zu verstehen.
-
Bei
dem in 3 dargestellte Datenverarbeitungssystem
kann es sich zum Beispiel um ein IBM RISC/System 6000 handeln, ein
Produkt der International Business Machines Corporation in Armonk, New
York, in welchem das Betriebssystem AIX (Advanced Interactive Executive)
läuft.
-
Bevorzugte
Ausführungsarten
der vorliegenden Erfindung stellen ein Verfahren, eine Vorrichtung und
Computeranweisungen zum Überwachen
von Transaktionen für
eine Gruppe bekannter Knoten in einem vernetzten Datenverarbeitungssystem
bereit. Der Mechanismus der bevorzugten Ausführungsart der vorliegenden
Erfindung verwendet Cachespeicherdaten von einem oder mehreren Leitwegrechnern
in dem vernetzten Datenverarbeitungssystem. Diese Cachespeicherdaten
beinhalten eine Kennung der Knoten, welche Pakete für die Transaktionen
an das vernetzte Datenverarbeitungssystem senden. Im Rahmen der
vorliegenden Erfindung beginnt eine Transaktion, wenn eine Benutzereingabe
in einen Client eine Anforderung erzeugt, die an einen Server gesendet
wird, und eine Transaktion endet, wenn der Client, an dem sich der
Benutzer befindet, eine Antwort empfängt.
-
Anhand
der durch die verschiedenen Knoten verarbeiteten Transaktionen kann
das Laden der Knoten erkannt werden. Auf diese Weise ermöglicht der
Mechanismus der bevorzugten Ausführungsart der
vorliegenden Erfindung die Erkennung, ob alle Knoten gleichmäßig ausgelastet
sind. Demzufolge kann eine Analyse der Transaktionen in Bezug auf die
Auslastung erstellt werden. Ausgehend von dieser Analyse können die
Funktionen und Änderungen bei
der Bereitstellung oder Zuweisung von Servern gesteuert werden.
-
Das
Schaubild von 4 veranschaulicht Komponenten,
die zur Erkennung von Knoten und der Beziehungen zwischen Knoten
einen einem vernetzten Datenverarbeitungssystem verwendet werden.
In diesem anschaulichen Beispiel weist ein vernetztes Datenverarbeitungssystem,
zum Beispiel das vernetzte Datenverarbeitungssystem 100 in 1, einen Leitwegrechner 400 und
einen Leitwegrechner 402 auf. Insbesondere können diese
Einheiten als Teil des Netzes 102 angeordnet sein. Bei
diesen anschaulichen Beispielen dient das Datenverarbeitungssystem 400 zur
Gewinnung von Daten von Datencachespeichern im Leitwegrechner 400 und
im Leitwegrechner 402.
-
Insbesondere
gewinnt der Überwachungsprozess 406 im
Datenverarbeitungssystem 404 Daten vom Agenten 408 und
vom Agenten 410, die im Leitwegrechner 400 bzw.
im Leitwegrechner 402 untergebracht sind. Diese Agenten
sind Prozesse oder Hintergrundprozesse, die zur Gewinnung eines
momentanen Überblicks über die
Daten im ARP-Cachespeicher 412 bzw. im ARP-Cachespeicher 414 dienen.
-
Wenn
der Agent 408 Daten vom ARP-Cachespeicher 412 empfängt, werden
diese Daten im ARP-Cachespeicher 412 gelöscht. Diese
Daten werden zum Überwachungsprozess 406 gesendet,
der den momentanen Überblick über die
Daten des ARP-Cachespeichers 412 im Knotendatenspeicher 416 speichert.
Desgleichen empfängt
der Agent 410 einen Überblick über die
Daten im ARP-Cachespeicher 414 und sendet diesen an den Überwachungsprozess 406,
um ihn im Knotendatenspeicher 416 zu speichern. Anschließend werden
die Daten im ARP-Cachespeicher 414 gelöscht.
-
Der
ARP-Cachespeicher 412 und der ARP-Cachespeicher 414 enthalten
Daten zur Kennzeichnung von Knoten, die Pakete gesendet haben, welche
durch den Leitwegrechner 400 und den Leitwegrechner 402 weitergeleitet
wurden. Durch den Empfang dieser Daten von diesen Datencachespeichern
im Leitwegrechner 400 und im Leitwegrechner 402 können Knoten,
die Pakete übertragen
haben, erkannt werden, obwohl diese Knoten nicht direkt auf Anforderungen
antworten können,
die eine Antwort verlangen. Auf diese Weise erfolgt die Erkennung von
Knoten in einem vernetzten Datenverarbeitungssystem auf zugriffsfreie
Weise.
-
Unter
Verwendung der Knotendaten 416 erzeugt der Überwachungsprozess 406 eine Übersicht 418.
Diese Übersicht
dient zur grafischen Darstellung von Knoten in dem vernetzten Datenverarbeitungssystem.
Ferner beinhaltet diese Übersicht
eine Kennzeichnung der Datenübertragungspfade
zwischen den verschiedenen Knoten sowie eine Kennzeichnung für den Datenverkehr
im Netz.
-
Das
Schaubild von 5 veranschaulicht Daten,
die gemäß einer
bevorzugten Ausführungsart der
vorliegenden Erfindung als Datensatz im Datencachespeicher eines
Leitwegrechners gespeichert sind. Der Datensatz 500 stellt
ein Beispiel für
Daten dar, die bei diesen Beispielen in einem ARP-Datensatz gespeichert
sind. Jeder dieser Datensätze
wird als Reaktion auf das Weiterleiten eines Datenpakets von einem
Knoten durch einen Leitwegrechner erstellt.
-
Der
Datensatz 500 beinhaltet den Hardwaretyp 502,
den Protokolltyp 504, die HLEN 506, die PLEN 508,
den Verarbeitungsschritt 510, die Hardwareadresse (HA)
des Absenders 512, die Sender-IP 514, die Hardwareadresse
(HA) des Ziels 516 und die Ziel-IP 518.
-
Der
Hardwaretyp 502 ist der verwendete Adaptertyp, zum Beispiel
ein Ethernet-Adapter. Der Protokolltyp 504 ist der Typ
des zum Übertragen
von Nachrichten verwendeten Protokolls. Bei diesen Beispielen wird
der Protokolltyp IP verwendet. HLEN 506 ist die Länge der
Hardwareadresse in Byte, während
PLEN 508 die Länge
der Protokolladresse in Byte ist. Der Verarbeitungsschritt 510 zeigt
den Typ des durchgeführten
Verarbeitungsschritts an, zum Beispiel eine Anforderung oder eine
Antwort.
-
Bei
diesen Beispielen ist die Hardwareadresse des Absenders 512 eine
MAC-Adresse (Media Access Control, Medienzugriffssteuerung), die
in einem Datenpaket von einem Knoten enthalten ist, welcher das
Paket überträgt. Eine
MAC-Adresse ist
eine eindeutige Seriennummer, die einem Adapter zugewiesen wird,
um diesen Adapter von allen anderen Adaptern eines Netzes zu unterscheiden.
Die Absender-IP 514 ist die IP-Adresse des Knotens, die auch als Quellenadresse
bezeichnet wird. Die Hardwareadresse des Ziels ist die MAC-Adresse
eines Adapters im Zielknoten. Die Ziel-IP ist die IP-Adresse des
Zielknotens, die auch als Zieladresse des Datenpakets bezeichnet
wird.
-
Das
Schaubild von 6 veranschaulicht die
Nutzung von Knoten gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung. Das Schaubild 600 zeigt einen
Netzzuteilungseinheit 602 und einen Leitwegrechner 604.
Der Leitwegrechner 604 kann zum Beispiel gleich dem Leitwegrechner 400 in 4 sein. Darüber hinaus sind im Schaubild 600 noch
Server 606, 608, 610 und 612 dargestellt. Im
Schaubild 600 sind Verbindungen 614, 616, 618, 620 und 622 für die verschiedenen
Knoten dargestellt.
-
In
dieser Figur veranschaulichen die Verbindungen 616, 618, 620 und 622 den
relativen Datenverkehr zwischen Knoten der betreffenden Server. Bei
diesen anschaulichen Beispielen entsprechen die Server 606, 608, 610 und 612 den
Servern 208, 210, 212 und 214 in 2. Der Umfang der durch die Server 606 und 608 verarbeiteten
Transaktionen ist größer als
der Umfang der durch die Server 610 und 612 verarbeiteten
Transaktionen. Bei diesem anschaulichen Beispiel ist die Verbindung 616 durch eine
gestrichelte Linie dargestellt, um anzuzeigen, dass für den Server 612 kein
Datenverkehr vorliegt. Auf diesen fehlenden Datenverkehr wird daraus
geschlossen, dass sich im Datencachespeicher des Leitwegrechners 604 keine
Daten befinden.
-
Das
Fehlen von Daten im Cachespeicher zeigt an, dass der Server 612 keine
Transaktionen verarbeitet. Demzufolge kann der Server 612 analysiert
oder überprüft werden,
um zu ermitteln, warum speziell durch diesen Server gerade keine
Transaktionen verarbeitet werden.
-
Durch
diese Art der Überwachung
kann die Lastverteilung zwischen den Maschinen zugriffsfrei ermittelt
werden. Oftmals wird die Überwachung
eines bestimmten Server in Zeiten hoher Auslastung abgeschaltet,
um zusätzliche
CPU-Zyklen zur Verarbeitung von Transaktionen zur Verfügung zu
stellen. Zu dieser Situation kann es zum Beispiel in Serversystemen
von Wertpapierhändlern
oder Banken kommen, bei denen Finanztransaktionen möglichst zeitnah
abgewickelt werden sollen.
-
Die
Art und Weise, wie die Daten dargestellt werden können, hängt nicht
von der Art der Veranschaulichung der Knoten und Verbindungen in 6 ab. Zum Beispiel können anstelle der Stärke der
Verbindungsabschnitte oder zusätzlich
verschiedene Farben und Formen verwendet werden.
-
7 zeigt ein Ablaufschaubild für einen Prozess
zur Gewinnung eines aktuellen Überblicks über Daten
eines Cachespeichers gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung. Der in 7 veranschaulichte
Prozess kann in einem Agenten, zum Beispiel im Agenten 408 von 4, realisiert werden, um Daten von einem
Datencachespeicher, zum Beispiel aus dem ARP-Cachespeicher 412 in 4, zu empfangen.
-
Der
Prozess beginnt mit dem Abrufen der Daten vom Cachespeicher (Schritt 700).
Anschließend
werden die Daten an einen Überwachungsprozess
gesendet (Schritt 702). Bei den anschaulichen Beispielen
handelt sich es bei dem Überwachungsprozess
um einen Prozess wie den Überwachungsprozess 406 in 4. Danach wird der Datencachespeicher
gelöscht
(Schritt 704) und anschließend der Prozess beendet.
-
Dieser
Prozess kann periodisch durch einen Zeitgeber ausgelöst und durch
einen Agentenprozess ausgeführt
werden. Darüber
hinaus kann dieser Prozess auch durch eine Anforderung ausgelöst werden,
die als Reaktion auf ein Ereignis durch den Überwachungsprozess erzeugt
wird. Dieses Ereignis kann je nach Gestaltung des Systems periodisch oder
nichtperiodisch auftreten. Bei den anschaulichen Beispielen kann
das Ereignis in einer Zeitüberschreitung
des Zeitgebers oder in einer Anforderung bestehen, das durch Netzadministrator
erzeugt wird.
-
8 zeigt ein Ablaufschaubild eines Prozesses
gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung zur Erkennung von Transaktionen, die
durch Knoten in einem vernetzten Datenverarbeitungssystem abgewickelt
werden. Der in 8 dargestellte Prozess
kann in einem Überwachungsprozess,
zum Beispiel in dem Überwachungsprozess 404 in 4, realisiert werden.
-
Der
Prozess beginnt mit dem Empfangen von Daten von einem Agenten in
einem Leitwegrechner (Schritt 800). Anschließend werden
die Daten gespeichert (Schritt 802). Diese Daten werden
in einer Datenstruktur wie dem Knotendatenspeicher 414 gespeichert.
Der Datenverkehr der Knoten wird aktualisiert (Schritt 804).
-
Anschließend werden
die Pfade in der Übersicht
aktualisiert (Schritt 806). Diese Aktualisierung hat den
Zweck, den Umfang des Datenverkehrs für die Transaktionen zu ermitteln,
die durch die verschiedenen überwachten
Knoten verarbeitet werden. Danach wird die Auslastung der Knoten
analysiert (Schritt 808). Abschließend springt der Prozess zurück zu Schritt 800.
-
Diese
Analyse in Schritt 808 kann durch verschiedene statistische
Prozesse oder Algorithmen erfolgen, um die Auslastung der einzelnen
Knoten in der Knotengruppe zu ermitteln. Durch diesen Prozess können Knoten
ermittelt werden, die in Bezug auf die jeweiligen auszuführenden
Funktionen entweder zu gering ausgelastet oder überlastet sind.
-
In
einer Umgebung mit affinem Lastausgleich muss die Sitzung mit dem
Server verbunden bleiben, durch den sie gestartet wurde, um den
anfänglichen
Datenverkehr auf eine Servergruppe zu verteilen. Bei einem anschaulichen
Beispiel enthält die
Gruppe drei Server. Mit zunehmender Auslastung der Server in der
Gruppe werden immer mehr Server in die Gruppe einbezogen. Da die
Sitzungen länger dauern,
wird die Arbeit nicht auf die neuen Server in der Gruppe verteilt.
In diesem Fall können
die neuen Server möglicherweise
zu gering ausgelastet sein. In diesem Fall kann es besser sein,
diese Server herauszunehmen und an anderer Stelle einzusetzen. Ein ähnlicher
Fall liegt vor, wenn die Gruppe fünf Server umfasst und nur drei
dieser Server zur Unterstützung
länger
dauernder Sitzungen verwendet werden. Der Mechanismus der bevorzugten
Ausführungsart der
vorliegenden Erfindung kann zur Ermittlung der beiden Server verwendet
werden, die überhaupt
keine Arbeit leisten.
-
Zu
diesen Situationen in den anschaulichen Beispielen kommt es, weil
diese Systeme entworfen und geschaffen wurden, bevor die besten
Verfahren bekannt wurden, und für
diese Umgebungen so grundlegend umgeschrieben werden müssen, dass der
Code zu etwa neunzig Prozent ausgetauscht werden muss. Dieses Problem
tritt auch auf, wenn bei einer Verschmelzung von Unternehmen Systeme integriert
werden.
-
Somit
werden ein verbessertes Verfahren, eine verbesserte Vorrichtung
und verbesserte Computeranweisungen zur Kennzeichnung von Transaktionen
und zur Verwaltung der Kapazitäten
zum Unterstützen
von Transaktionen bereitgestellt. Der Mechanismus nutzt im Cachespeicher
eines Leitwegrechners vorhandene Daten, um die durch die verschiedenen
Knoten gerade verarbeiteten Transaktionen zu ermitteln. Bei diesen
Beispielen ist das Vorhandensein der Knoten bekannt, und ein Fehlen
von Daten für
einen bestimmten Knoten zeigt an, dass der Knoten keine Transaktionen
verarbeitet.
-
Ferner
können
diese Daten dazu verwendet werden, eine Übersicht oder eine Anzeige
zur grafischen Darstellung der verschiedenen Knoten und der durch
die Knoten gerade verarbeiteten Transaktionen zu erzeugen. Auf diese
Weise ist es möglich,
die Zuweisung oder Zuordnung von Servern zu korrigieren, um sicherzustellen,
dass die Kapazitäten
und der Bedarf an Diensten aufeinander abgestimmt sind.
-
Es
muss darauf hingewiesen werden, dass die Ausführungsarten der vorliegenden
Erfindung zwar in Verbindung mit einem voll funktionstüchtigen Datenverarbeitungssystem
beschrieben wurden, jedoch ist dem Fachmann klar, dass die Prozesse
in Form eines computerlesbaren Mediums mit Anweisungen und in einer
Vielzahl von Formen verteilt werden können und dass der Ansatz unabhängig vom betreffenden
Typ des signaltragenden Mediums gilt, das tatsächlich zum Zweck der Verteilung
genutzt wird. Als computerlesbare Medien kommen Aufzeichnungsmedien
wie beispielsweise ein Diskettenlaufwerk, ein Festplattenlaufwerk,
ein RAM, CD-ROMS, DVD-ROMs und Übertragungsmedien wie
beispielsweise digitale und analoge Datenübertragungsleitungen, leitungsgebundene
oder drahtlose Datenübertragungsleitungen
in Betracht, die Übertragungsformen
wie beispielsweise Hochfrequenz- und optische Übertragungen verwenden. Die computerlesbaren
Medien können
die Form codierter Formate annehmen, die für die eigentliche Verwendung
in einem bestimmten Datenverarbeitungssystem decodiert werden.