DE10034404A1 - Blockierungsüberwachung und Nachrichtenfluss-Steuerung in einem blockierenden Netzwerk - Google Patents
Blockierungsüberwachung und Nachrichtenfluss-Steuerung in einem blockierenden NetzwerkInfo
- Publication number
- DE10034404A1 DE10034404A1 DE10034404A DE10034404A DE10034404A1 DE 10034404 A1 DE10034404 A1 DE 10034404A1 DE 10034404 A DE10034404 A DE 10034404A DE 10034404 A DE10034404 A DE 10034404A DE 10034404 A1 DE10034404 A1 DE 10034404A1
- Authority
- DE
- Germany
- Prior art keywords
- network
- sending
- node
- packet
- round trip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
- H04L47/115—Identifying congestion using a dedicated packet
Abstract
Ein Verfahren, ein System und eine Programmspeichervorrichtung sind vorgesehen zum Überwachen und Verbessern der Blockierung in einem eng gekoppelten Netzwerk. Gleichzeitig mit dem Senden eines Pakets in das Netzwerk wird ein erster Zeitstempel aufgezeichnet. Bei Empfang einer Quittung zurück durch das Netzwerk als Reaktion auf das Senden des Pakets wird ein zweiter Zeitstempel aufgezeichnet. Die Umlaufzeit des Pakets wird bestimmt und ein Umfang der Blockierung wird eingeschätzt unter Verwendung der erfaßten Umlaufzeit und einer statisch vorgegebenen Umlaufzeit, repräsentativ für mindestens eine Neztwerk-Nichtblockierung oder ein bekanntes Ausmaß der Netzwerkblockierung. Die Anzahl der Flußsteuerungstoken für den Zielknoten kann dynamisch variiert werden als Reaktion auf das Abschätzen des Ausmaßes der Netzwerkblockierung. Falls gewünscht, können Überwachung und Abschätzung der Netzwerkblockierung erst nach der Identifizierung des Vorkommens der Netzwerkblockierung eingeleitet werden, zum Beispiel repräsentiert durch ein Fehlen von Flußsteuerungstoken an einem Sendeknoten für einen Zielknoten.
Description
Die vorliegende Anmeldung betrifft
Nachrichtenverarbeitungssysteme, und im einzelnen, Techniken
zur Identifizierung und Minimierung von Blockierungen in
einem dicht gekoppelten Nachrichtenverarbeitungssystem, das
durch ein blockierendes Netzwerk zusammengeschaltet ist.
Der Netzwerkverkehr in einem Nachrichtenverarbeitungssystem
tendiert häufig dazu, daß er ungleich verteilt ist, was dazu
führt, daß eine beträchtliche Menge Nachrichten durch eine
kleine Untermenge des Netzwerks läuft. Dieses
Ungleichgewicht der Belastung wird als "Netzwerkengpass"
oder synonym als "Netzwerkblockierung" (congestion)
bezeichnet. Herkömmlicherweise reagieren
Netzwerkbestandteile (wie Router) auf Blockierung durch
Abwerfen von Paketen. Die Kommunikations-Protokollstapel
reagieren auf abgeworfene Pakete durch Reduzieren der
Verkehrsrate, so daß die Belastung durch den blockierten
Teil des Netzwerks auf eine akzeptable Rate absinkt. Solche
Netzwerke werden paketabwerfende Netzwerke bezeichnet.
In Hochgeschwindigkeitsnetzen (z. B. bestimmte Schaltnetze)
werfen Routers bei Auftreten einer Blockierung keine Pakete
ab. Statt dessen wird Gegendruck auf die stromaufwärts
stehenden Router des Netzwerks ausgeübt. Mit anderen Worten,
Router blockieren den Verkehr anstatt Pakete abzuwerfen. Der
Konstruktionspunkt Blockieren gegen Abwerfen wird gewählt,
um sicherzustellen, daß die Kommunikationsprotokollstapel
schneller arbeiten können, da die Stapel annehmen können,
daß alle eingegebenen Pakete mit sehr hoher
Wahrscheinlichkeit ihr Ziel erreichen. Diese enggekoppelten
Netzwerke werden als Blockierende Netzwerke angesprochen.
Blockierende Netzwerke bringen ein Problem im Hinblick auf
Blockierungsvermeidung mit sich, weil das
Kommunikationsprotokoll keinen Hinweis auf
Verkehrsblockierung erhält (d. h. verlorene Pakete). Statt
dessen führt die Blockierung zu verlängerten
Durchlaufzeiten. Herkömmliche Netzwerkprotokolle wie TCP/IP
reagieren auf verlängerte Durchlaufzeiten durch Verstärken
der Menge des Netzwerkverkehrs, weil sie die verlängerte
Durchgangszeit als eine längere Netzwerkpipeline
interpretieren.
Bei blockierenden Netzwerken war die herkömmliche Lösung für
die Blockierung ganz einfach, mit dem Problem zu leben, oder
das Netzwerk in nichtüberlappende Abschnitte zu unterteilen,
so daß eine Blockierung in einem Teil andere Teile nicht
beeinflußt. Ein weiteres Schema ist das Benutzen virtueller
Kanäle, um den Eindruck multipler unabhängiger Netzwerke zu
schaffen, und die Blockierung innerhalb einer virtuellen
Kanalebene zu halten.
Die Partitionierungsmethode läßt sich nur schwer anwenden,
wenn unterschiedliche Applikationen zwischen den gleichen
Knotensätzen verkehren müssen, oder die gleiche Anwendung
mit unterschiedlichen Knotensätzen verkehren muß. Die
virtuelle Kanallösung benötigt zusätzliche
Hardwarebetriebsmittel in den Routern und ist daher im
Umfang begrenzt.
Es ist erwünscht, Blockierungen in Blockierungsnetzen zu
vermeiden, weil Netzwerkblockierung für alle Anwender des
Netzwerks zu einem beträchtlichen Leistungsabfall führt.
Insbesondere, wenn es zur Blockierung kommt, kann der
gesamte Netzwerkverkehr, der durch den blockierten Bereich
laufen muß, stark verlangsamt werden. Wenn unterschiedliche
Verkehrstypen das gleiche blockierende Netzwerk benutzen,
wirkt sich die Blockierung, die durch einen Verkehrstyp
bewirkt wird, auch auf andere Verkehrstypen aus, was
eindeutig unerwünscht ist.
Somit wird hier, in einem Aspekt, ein Verfahren zur
Blockierungsüberwachung in einem Netzwerk, d. h. in einem
Blockierungsnetzwerk gezeigt. Dieses Verfahren umfaßt:
Senden eines Pakets in das Netzwerk, und damit im
Zusammenhang, Aufzeichnung eines ersten Zeitstempels;
Empfangen einer Quittung zurück durch das Netzwerk, als
Reaktion auf das Senden des Pakets, und Aufzeichnen eines
zweiten Zeitstempels mit dem Empfang der Quittung; Bestimmen
einer Umlaufzeit des Pakets und Quittung durch das Netzwerk
unter Verwendung des ersten Zeitstempels und des zweiten
Zeitstempels, wobei die Umlaufzeit ein Anzeichen für das
Ausmaß der Blockierung im Netzwerk ist; und Abschätzen des
Ausmaßes der Blockierung im Netzwerk aufgrund der
Umlaufzeit, wobei die Abschätzung das Vergleichen der
bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit
enthält, die für keine Netzwerkblockierung oder für einen
bekannten Grad der Netzwerkblockierung repräsentativ ist.
In einem weiteren Aspekt ist ein Verfahren zur Verbesserung
der Blockierung in einem Netzwerk vorgesehen. Dieses
Verfahren beinhaltet: Identifizieren, wenn das Netzwerk
zwischen einem Sendeknoten und einem Zielknoten blockiert
ist; anschließend an die Identifizierung Feststellen einer
Umlaufzeit für ein Paket und eine entsprechende
Rücklaufquittung, gesendet zwischen dem Sendeknoten und dem
Zielknoten durch das Netzwerk; und Variieren der Anzahl der
Flußsteuerungstoken am Sendeknoten zum Zielknoten mit Hilfe
der festgestellten Umlaufzeit.
In noch einem anderen Aspekt ist ein System zum Überwachen
der Blockierung in einem Netzwerk vorgesehen. Dieses System
umfaßt Mittel zum Senden eines Pakets in das Netzwerk und
zum Aufzeichnen eines ersten Zeitstempels auf dieser
Grundlage, sowie Mittel zum Empfangen einer Quittung zurück
durch das Netzwerk als Reaktion auf das Paket, und zum
Aufzeichnen eines zweiten Zeitstempels beim Empfang der
Quittung. Das System beinhaltet ferner: Mittel zum Bestimmen
einer Rücklaufzeit des Pakets und die Quittung durch das
Netzwerk unter Verwendung des ersten Zeitstempels und des
zweiten Zeitstempels, wobei die Rücklaufzeit hinweisend auf
das Ausmaß der Blockierung im Netzwerk ist; und Mittel zum
Abschätzen des Ausmaßes der Blockierung im Netzwerk unter
Verwendung der Rücklaufzeit, wobei das Mittel zum Abschätzen
Mittel zum Vergleichen der bestimmten Rücklaufzeit mit einer
vorgegebenen Rücklaufzeit enthält, die für keine
Netzwerkblockierung oder für ein bekanntes Ausmaß der
Netzwerkblockierung repräsentativ ist.
In noch einem anderen Aspekt ist ein System zum Verbessern
der Blockierung in einem Netzwerk vorgesehen. Das System
beinhaltet Mittel zum Identifizieren, wenn das Netzwerk
zwischen einem Sendeknoten und einem Zielknoten blockiert
ist, und Mittel zum Feststellen der Umlaufzeit eines Pakets
und eine entsprechende Rücklaufquittung, die zwischen dem
Sendeknoten und dem Zielknoten durch das Netzwerk gesendet
wird im Anschluß an die Identifizierung, daß das Netzwerk
blockiert ist. Das System beinhaltet ferner Mittel zum
Variieren der Anzahl der Flußsteuerungstoken am Sendeknoten
zum Zielknoten mit Hilfe der festgestellten Umlaufzeit.
In einem weiteren Aspekt umfaßt die Erfindung mindestens
eine von einer Maschine lesbare Programmspeichervorrichtung,
die materiell mindestens ein Programm mit Anweisungen
beinhaltet, die von der Maschine ausführbar sind, zum
Durchführen eines Verfahrens der Überwachung von
Blockierungen in einem Netzwerk. Das Verfahren beinhaltet
Senden eines Pakets in das Netzwerk und Aufzeichnen eines
ersten Zeitstempels auf dieser Grundlage; Empfangen einer
Quittung zurück durch das Netzwerk als Reaktion auf das
Paket, und Aufzeichnen eines zweiten Zeitstempels beim
Empfang der Quittung; Bestimmen einer Umlaufzeit des Pakets
und der Quittung durch das Netzwerk unter Verwendung des
ersten Zeitstempels und des zweiten Zeitstempels, wobei die
Umlaufzeit hinweisend für das Ausmaß der Blockierung im
Netzwerk ist; und Abschätzen des Ausmaßes der Blockierung im
Netzwerk unter Verwendung der bestimmten Umlaufzeit, wobei
die Abschätzung das Vergleichen der bestimmten Umlaufzeit
mit einer vorgegebenen Umlaufzeit umfaßt, die für keine
Netzwerkblockierung oder für einen bekannten Grad der
Netzwerkblockierung repräsentativ ist.
In einem weiteren Aspekt beinhaltet die Erfindung mindestens
eine von einer Maschine lesbare Programmspeichervorrichtung,
die materiell mindestens ein Programm mit Anweisungen
beinhaltet, die von der Maschine ausführbar sind, zum
Durchführen eines Verfahrens zur Verbesserung der
Blockierung in einem Netzwerk. Das Verfahren beinhaltet
Identifizieren, wenn das Netzwerk zwischen einem Sendeknoten
und einem Zielknoten blockiert ist; anschließend an die
Identifizierung Feststellen einer Umlaufzeit eines Pakets
und einer entsprechenden Rücklaufquittung, gesendet zwischen
dem Sendeknoten und dem Zielknoten durch das Netzwerk; und
Variieren der Anzahl der Flußsteuerungstoken am Sendeknoten
für den Zielknoten mit Hilfe der festgestellten Umlaufzeit.
Mit anderen Worten: Hier vorgestellt wird ein Verfahren zum
Überwachen und Minimieren der Blockierung in einem dicht
gekoppelten (d. i. blockierenden) Netzwerk. Die Lösung umfaßt
eine auf einem Protokoll beruhende Methode, die in
existierenden blockierenden Netzwerken leicht implementiert
werden kann. Herkömmliche Verfahren zum Vermeiden von
Blockierungen auf der Grundlage verlorener Pakete sind auf
blockierende Netzwerke nicht anwendbar, weil blockierende
Netzwerke bei einer Blockierung keine Pakete abwerfen. Statt
dessen verläßt sich das hier vorgestellte Verfahren auf eine
beobachtete Umlaufzeit, die so zeitbestimmt ist, daß sie
Blockierungen entdeckt und vermeidet. Daher gibt es keinen
Aufwand für verlorene Pakete und Nachsenden verlorener
Pakete zum Erfassen und Vermeiden oder Behebung von
Blockierungen.
Vorteilhafterweise verbessert die hier vorgeführte Lösung
Netzwerkblockierungen ohne die Notwendigkeit der
Unterteilung des Netzwerks in Unterabschnitte. Ferner, wenn
ein blockierendes Netzwerk nicht unterteilt wird und von
einer Vielzahl von Applikationen gemeinsam benutzt wird,
könnte eine einzige Applikation, die ein Netzwerk blockiert,
auch andere Applikationen nachteilig beeinflussen, die zu
diesem Zeitpunkt das Netzwerk benutzen. Die hier
vorgestellte Lösung verhindert, daß das geschieht, durch
Vermindern des Umstands, daß eine Applikation das Netzwerk
für andere Applikationen blockiert.
Im Normalfall, wenn es keine Netzwerkblockierung gibt,
verlangt die hier dargestellte Technik keinen
Protokollaufwand in der Form von Zeitstempelerfassen usw.
Erst wenn ein sendender Prozessor keine Flußsteuerungstoken
mehr hat (d. h. bei Beginn einer Blockierung) fallen die
Extrakosten für das Nehmen der Zeitstempel und Messen der
Umlaufzeit an. Die durch das Netzwerk gesendeten Pakete
brauchen keine zusätzlichen Daten zu befördern, um das
Blockierungsvermeidungsschema der Erfindung zu
implementieren. Die einzige Forderung ist, daß es eine
Fähigkeit zum Anpassen des Pakets und für seine Quittierung
gibt, was üblicherweise in den meisten
Kommunikationsprotokollen auf der Sendeseite schon gegeben
ist. Alle Zeitstempel und Umlaufzeit-Messungen erfolgen
örtlich in einem Sendeknoten. Damit wird die Nutzlast je
Paket nicht beeinträchtigt. Ferner besteht kein Bedarf zum
Synchronisieren von Taktgebern zwischen Sendern und
Empfängern. Die Taktgeber können weitgehend asynchron
laufen, da Zeitabstände nur relativ zu einem Taktgeber am
Sender gemessen werden. Die hier vorgestellte Lösung ist
abstimmbar auf weitgehend unterschiedliche Netzwerkgrößen
und weitgehend unterschiedliche Latenzzeiten durch eine
geeignete Einstellung der Zeitverzögerungs- und
Tokenzählparameter. Ferner ist es nur erforderlich, einmal
je enggekoppelte Netzwerkkonfiguration abzustimmen. Die hier
vorgestellte Lösung benötigt keine Koordinierung zwischen
Applikationen, die das gemeinsame Netzwerk benutzen, um eine
Blockierung zu erfassen und zu vermeiden. Zustandspflege zum
Implementieren des vorgestellten Entwurfs ist für jede
Applikation örtlich, was die Implementierung einfacher und
wirksamer macht.
Die oben beschriebenen Aufgaben, Vorteile und Merkmale der
vorliegenden Erfindung sowie noch weitere werden leichter
verständlich aus der nachstehenden detaillierten
Beschreibung bestimmter bevorzugter Ausführungsformen der
Erfindung, wenn sie anhand der begleitenden Zeichnungen
betrachtet werden; in diesen ist
Fig. 1 ein beispielhaftes Nachrichtenverarbeitungssystem in
Form eines Multiprozessor-Datenverarbeitungssystems mit
einer Vielzahl von Prozessoren, die über ein Schaltnetz oder
Kommunikationsmedium gekoppelt sind;
Fig. 2 ist ein Flußdiagramm einer Paketsenderoutine für das
Multiprozessor-Datenverarbeitungssystem der Fig. 1, wobei
bei jedem i-ten Paket Zeitstempel genommen werden, nachdem
das Paketesenden aus Mangel an Flußsteuerungstoken blockiert
wird, wobei i einstellbar ist; und
Fig. 3 ist ein Flußdiagramm einer
Empfangsquittierungsroutine für das Multiprozessor-
Datenverarbeitungssystem der Fig. 1, in dem Zeitstempel bei
Empfang einer Quittung auf ein entsprechendes
zeitgestempeltes i-tes Paket erhalten werden, eine
Umlaufzeit (diff) bestimmt wird, und die Anzahl der
Flußsteuerungstoken aufgrund der Umlaufzeit gesetzt wird.
Ganz allgemein gesagt, die Netzwerk-Durchgangszeit wird hier
als Indikator für die Blockierung des Netzwerks verwendet.
Im Zusammenhang mit der vorliegenden Erfindung ist ein
"blockierendes Netzwerk" ein eng gekoppeltes oder eng
gesteuertes Verarbeitungsnetzwerk, wie z. B. das IBM RISC
System/6000 Scalable POWERparallel Systems (SP) Distributed
Computer System, das bei der International Business Machines
Corporation in Armonk, New York, erhältlich ist. Da
Protokolle in der Regel Pakete quittieren, die sie erhalten,
wird ein Sendeprozessor angewiesen, beim Absenden eines
Pakets an einen anderen Prozessor einen Zeitstempel
aufzuzeichnen, und auch einen Zeitstempel aufzunehmen, wenn
der absendende Prozessor eine entsprechende Quittung vom
Paketempfänger erhält. Der Unterschied zwischen diesen zwei
Zeitstempeln ist als "Umlaufzeit" definiert. Diese
Umlaufzeit wird dann benutzt, um das Ausmaß der
Netzwerkblockierung abzuschätzen.
Wenn z. B. die Umlaufzeit kürzer als ein Parameter E0 ist,
wird angenommen, daß es keine Netzwerkblockierung gibt. Wenn
die Umlaufzeit zwischen E0 und E1 liegt, dann kann die
Blockierung als leicht bezeichnet werden, während bei einer
Umlaufzeit zwischen E1 und E2 die Blockierung als mittel
bezeichnet werden kann usw. Die Bestimmung der Zeiten E0,
E1, E2, . . . (und die Anzahl der Flußsteuerungstoken L0, L1,
L2, . . .) wird während der Ersteinstellung durchgeführt. Mit
anderen Worten, als Teil der ersten Maschinengestaltgebung
und Konfiguration wird die Blockierung als kontrollierte
Fassung im Labor und eingeführt und die Umlaufzeiten werden
für unterschiedliche Blockierungsausmaße gemessen.
Im Abhängigkeit vom Blockierungsausmaß kann ein
Flußsteuerfenster (d. i. Anzahl der Flußsteuerungstoken) am
Sendeprozessor für den bestimmten Zielprozessor festgelegt
werden. Wenn die Zeit kürzer als E0 ist, dann wird das
Flußsteuerfenster bzw. die Paket-Token auf L0 gesetzt. Hier
ist anzumerken, daß die Begriffe "Flow control window
(Flußsteuerungsfenster)" oder "Flow Control Tokens
(Flußsteuerungstoken)" im Fachgebiet verstanden werden und
eine Menge Daten enthalten, die ein sendender Prozessor an
einen bestimmten Zielprozessor senden kann, bevor er eine
Quittung zurück erhält, d. i. eine Wiederauffüllung der
Paket-Token. Das Konzept des Flußsteuerfensters oder Token
wird in vielen Kommunikationsprotokollen verwendet,
einschließlich solcher zum Abwerfen von Netzwerken und
Blockieren von Netzwerken. In den meisten blockierenden
Netzwerken ist jedoch das Flußsteuerfenster oder die Anzahl
der verfügbaren Token fest. Weitere Erklärungen des Begriffs
Flußsteuerfenster oder Token siehe Bd. 1 einer illustrierten
TCP/IP-Veröffentlichung von W. Richard Stevens, verlegt bei
Addison-Wesley, erhältlich unter ISBN 0-201-63346-9, und Bd.
2 der Veröffentlichung von Gary R. Wright und W. Richard
Stevens, erhältlich unter ISBN 0-201-63354-X.
Somit wird hier das Konzept des dynamischen Angleichens der
Fenstergröße oder der Anzahl der Flußsteuerungstoken in
Abhängigkeit von der Netzwerkblockierung dargestellt. Zum
Beispiel, wenn die gemessene Umlaufzeit zwischen E0 und E1
liegt, dann wird die Anzahl Paket-Token auf L1 gesetzt usw.
In diesem Beispiel wird angenommen, daß E0 < E1 < E2 . . .,
und L0 < L1 < L2 . . . ist. Die Parameter E0, E1, E2 usw. und
L0, L1, L2 usw. sind für eine bestimmte Systemgröße statisch
bestimmt (d. i., vorgegeben). Das ist möglich, weil die
Umlaufzeiten in einem blockierenden Netzwerk, wie oben
definiert, mit großer Genauigkeit vorhergesagt werden
können. Somit steht für das Netzwerk eine gute Abschätzung
der Leerlauf-Umlaufzeit zur Verfügung. Einem solchen System
kann ein TCP/IP-Netzwerk gegenübergestellt werden, in dem
keine Abschätzung der Umlaufzeit möglich ist, weil eine
gegebene Verbindung zu einem benachbarten Prozessor oder
aber auch zu einem Prozessor auf der anderen Seite der Erde
führen kann.
Als Erweiterung der oben diskutierten Konzepte ist es
möglich, Zeitstempel auf Paketen und entsprechende
Quittungen nur dann aufzuzeichnen, wenn das Netzwerk im
Verdacht steht, blockiert zu sein, damit die Auswirkungen
des Aufwands für die Vermeidung der Blockierung minimiert
werden. Spezifisch kann das Kommunikationsprotokoll
Zustandsinformationen beinhalten, die sagen, ob der
bestimmte Pfad zu einem bestimmten Zielort blockiert oder
nicht blockiert ist. Wenn das Protokoll seinen Verkehr zu
einem bestimmten Ziel einstellen muß, weil das Protokoll
keine Flußsteuerungstoken für diesen bestimmten Zielort mehr
hat, dann setzt das Kommunikationsprotokoll des Senders den
Netzwerkzustand zu diesem Ziel auf "blockiert". Wenn der
Zustand blockiert ist, dann werden Zeitstempel genommen und
die Umlaufzeiten werden bestimmt. Wieder werden die
Umlaufzeiten vom Protokoll benutzt, um die Fenstergröße
(oder Anzahl der Token) zu verändern, wie oben beschrieben
wurde. Wenn die Umlaufzeit schließlich unter E0 absinkt
(d. h. die vorgegebene Zeit ist repräsentativ für keine
Netzwerkblockierung), setzt das Protokoll die Anzahl der
Tokenpakete auf L0 (d. h. die vorgegebene maximale Zahl) und
den Zustand auf "nicht blockiert". Dadurch wird der Aufwand
beim Nehmen der Zeitstempel während einer normalen Operation
eliminiert. Auch müssen nicht für jedes Paket Zeitstempel
genommen werden, das nach dem Entdecken der Blockierung
gesendet wird. Zum Beispiel ist es möglich, Zeitstempel dann
nur bei jedem i-ten Paket zu nehmen, wenn i ≧ 2 ist und das
ist einstellbar.
Das Verwenden der Umlaufzeit als Indikator für
Netzwerkblockierung wird hier als nur näherungsweise
erkannt, weil es andere Faktoren gibt, die die Umlaufzeit
verlängern können. Zum Beispiel kann die Zielaufgabe, die
mit einer Quittierung übereinstimmen muß, möglicherweise
bestimmte Verarbeitungen ausführen müssen, z. B. eine
Fehlseitenbedingung erfüllen, bevor sie der Quittung
entsprechen kann. Jedoch wird der hier zusammengefaßte
Mechanismus trotzdem arbeiten, weil die Umlaufzeit ein Maß
für die Anspruchsfähigkeit der andren Seite ist, und es ist
daher vorzuziehen, die in das Netzwerk gesendeten Pakete zu
verlangsamen, wenn die andere Seite (d. i. der Zielprozessor)
weniger leicht anspricht als erwartet.
Fig. 1 stellt ein beispielhaftes
Nachrichtenverarbeitungssystem in der Form eines
Multiprozessor-Datenverarbeitungssystems 10 mit einer
Vielzahl von Prozessoren 12 1 . . . 12 j dar. Jeder Prozessor kann
einen entsprechenden Kommunikationsadapter 14 zum Betreiben
einer entsprechenden Verbindung 16 mit einem allgemein
verbundenen Medium oder Schaltnetz 20 aufweisen. Im System
kann auch ein Speichermedium 22 vorgesehen sein zum Halten
und/oder zum Unterstützen von Applikationssoftware sowie
aller einschlägigen Datenstrukturen, Protokolle usw.
Als ein Beispiel kann das Multiprozessor-
Datenverarbeitungssystem 10 das oben angezogene IBM RISC
System/600 Scalable POWERparallel Systems (SP) Distributed
Computer System, erhältlich bei International Business
Machines Corporation, umfassen. Als spezifisches Beispiel
kann ein SP-Rechner insgesamt 8 Rahmen umfassen, wobei jeder
Rahmen bis zu 16 Prozessorknoten, d. i. insgesamt 128
Prozessorknoten, haben kann. Jeder Prozessorknoten kann
selbst einen Computer, wie eine RISC System/6000
Workstation, ebenfalls erhältlich bei International Business
Machines Corporation, umfassen.
Alle Knoten eines Rahmens des SP-Computers sind enthalten in
einem Lokalnetz-(LAN)-Segment, das mit den anderen LAN-
Segmenten durch LAN-Gates verbunden ist. Ebenso verbunden
mit dem lokalen Netz ist eine Steuer-Workstation (CWS -
Control Work Station), die die Operation des SP-Computers
steuert. Die Steuer-Workstation hat eine Speichervorrichtung
mit direktem Zugriff (DASD - Direct Access Storage Device),
die als gemeinsame Systemfestplatte (System Shared Disk)
bezeichnet wird, auf der die System-Datenablage-(SDR System
Data Repository)-Dateien gespeichert sind. Die SDR-Dateien
beinhalten Informationen, wie eine Liste der Knoten, die im
System enthalten sind, sowie deren Konfiguration, und
beinhalten Ressourcen und Objektdefinitionen für jeden der
Knoten. Jeder Knoten kann auch eine DASD-Vorrichtung zum
Speichern von Daten enthalten, die vom SP-Computer
bearbeitet werden. Wie im Fachbereich wohlbekannt, sendet
der CWS-Knoten Systemdaten und Steuersignale an die Rahmen
des SP-Computers mittels des lokalen Netzes, während
Nachrichten und Daten mittels der Hochleistungsschalter von
einem Prozessorknoten zum anderen geschickt werden. In einer
solchen Umgebung kann jeder Prozessorknoten einen sendenden
Prozessor enthalten und jeder Prozessorknoten kann einen
Zielprozessor (d. h. Empfänger) enthalten, wie die Ausdrücke
im Zusammenhang mit der vorliegenden Erfindung zu verstehen
sind.
In Fig. 2 wird eine Sendepaketroutine 30 gezeigt, die das
ursprüngliche Abrufen beinhaltet, ob der sendende Prozessor
gegen das Absenden eines Pakets an einen bestimmten Zielort
infolge fehlender Token 32 blockiert ist. Wenn ja, ruft das
Kommunikationsprotokoll den sendenden Prozessor auf, zu
warten, bis ein (oder mehr) Paket-Token 34 verfügbar wird.
Einmal blockiert, wird ein "Blockierungszustand" gesetzt und
der sendende Prozessor muß für jedes i-te Paket, das in das
Kommunikationsnetzwerk an den bestimmten Zielprozessor 36
gesendet wird, einen Zeitstempel abrufen.
Nachdem ein Token verfügbar ist, 34, und ein Zeitstempel für
das i-te Paket abgerufen wurde, 36, wird das Paket in das
Netzwerk eingespeist, 38. Hier wird darauf hingewiesen, daß,
wenn das Netzwerk nicht blockiert ist, die Paket-Sende-
Routine des Kommunikationsprotokolls das Paket direkt in das
Netzwerk einspeisen würde, 38, unter Verwendung eines
verfügbaren Tokens. Nach Einspeisen des Pakets in das
Netzwerk wird die herkömmliche Sendebearbeitung
abgeschlossen, 40.
Fig. 3 zeigt das Kommunikationsprotokoll für eine Eingangs-
Quittungsroutine, 50, die zunächst festlegt, ob das
entsprechende Paket zeitgestempelt war, d. h., ob die
Quittung entsprechend einem i-ten Paket, das nach dem
Blockieren des sendenden Prozessors übertragen wurde,
blockiert wurde, 52. Wenn nicht, wird die herkömmliche
Quittungsverarbeitung durchgeführt, 54. Ansonsten wird ein
Zeitstempel entsprechend dem Empfang der Quittung genommen,
und die Umlaufzeit, die "diff", wird bestimmt durch
Subtrahieren des Paketübertragungs-Zeitstempels T0 vom
Quittungszeitstempel T1, 56.
Dann bestimmt das Protokoll, ob die Umlaufzeit (diff) kürzer
ist als eine erwartete Umlaufzeit E0, wobei E0 so vorgegeben
wird, daß sie eine Umlaufzeit im Netzwerk repräsentiert, die
hinweisend auf das Fehlen einer Blockierung ist. Wenn "ja",
wird die Anzahl der Token auf L0 gesetzt, das Protokoll
stellt das Netzwerk-Flag auf "nicht blockiert" zurück und
stoppt das Zeitstempeln jedes gesendeten i-ten Pakets, 60.
Wenn die Umlaufzeit länger als die erwartete Umlaufzeit E0
ist, dann bestimmt das Protokoll als nächstes, ob die diff
kürzer ist als ein zweiter statistisch bestimmter Wert E1,
62. Im vorliegenden Beispiel wird angenommen, daß E0 < E1 <
E2 < . . . < En, und daß L0 < L1 < L2 < . . . < 1. Wieder setzt das
Protokoll, wenn der Unterschied kleiner ist als E1, die
Anzahl der Token auf den Wert L1, 64. Ansonsten bestimmt die
Verarbeitung, ob der Unterschied kleiner als die nächste
vorgegebene Höhe E2 ist, und wenn "ja" setzt sie die Anzahl
der Token auf L2. Das Protokoll fährt auf diese Weise fort,
bis es bestimmt, daß der Unterschied größer ist als eine
vorgegebene Höhe En der Blockierung 70, in welchem Fall die
Anzahl der Paket-Token auf 0 gesetzt wird, 72. Nach Setzen
der Anzahl der Token wird die herkömmliche
Quittungsverarbeitung abgeschlossen, 74.
Hier ist anzumerken, daß im obigen Beispiel n vorgegebene
Werte oder Bereiche zum dynamischen Setzen der Anzahl Paket-
Token benutzt werden, die vom Sendeprozessor beim
Kommunizieren mit einem bestimmten Ziel eingesetzt werden,
nachdem das Netzwerk als blockiert identifiziert wurde.
Falls gewünscht, könnte dieses Konzept auch auf nur einen
oder zwei vorgegebene Werte begrenzt werden (z. B. E0 und
E1). Weil die oben zusammengefaßte Technik auf einem
Protokoll basiert, kann sie leicht in bestehende blockierte
Netzwerke implementiert werden. Der Fachmann bemerkt auch
aus der gegebenen Beschreibung, daß der geoffenbarte
Mechanismus im Zusammenhang mit jedem dicht gekoppelten oder
dicht gesteuerten Netzwerk angewandt werden kann.
Die vorliegende Erfindung kann beispielsweise in einen
gefertigten Artikel (z. B. ein oder mehr Rechnerprogramm-
Produkte) eingebaut werden, die z. B. computerbenutzbare
Medien aufweisen. Dieses Medium hat zum Beispiel
computerlesbare Programmcodemittel integriert zum Vorsehen
und Bewirken der Möglichkeiten der vorliegenden Erfindung.
Die gefertigten Artikel können als Teil des Computersystems
eingebaut oder auch gesondert verkauft werden.
Zusätzlich kann mindestens eine maschinenlesbare
Programmspeichervorrichtung vorgesehen werden, die greifbar
mindestens ein Programm mit von der Maschine ausführbaren
Anweisungen beinhaltet, um die Möglichkeiten der
vorliegenden Erfindung durchzuführen.
Die hier gezeigten Flußdiagramme sind beispielhaft
vorgesehen. Die hier beschriebenen Diagramme oder Schritte
(bzw. Operationen) können variiert werden, ohne von Umfang
und Wesensart der Erfindung abzuweichen. Zum Beispiel können
in bestimmen Fällen die Schritte in abweichender Reihenfolge
ausgeführt werden oder Schritte können hinzugefügt, entfernt
oder abgeändert werden. Alle diese Variationen gelten als
Teil der vorliegenden Erfindung, wie sie in den beiliegenden
Ansprüchen erklärt ist.
Zwar wurde die Erfindung hier anhand einiger bevorzugter
Ausführungsformen detailliert beschrieben, jedoch kann der
Fachmann Änderungen und Umgestaltungen vornehmen.
Dementsprechend ist beabsichtigt, daß die beiliegenden
Ansprüche alle diese Abänderungen und Umgestaltungen
abdecken, die unter Umfang und Wesensart der Erfindung
fallen.
Claims (41)
1. Ein Verfahren zur Überwachung der Blockierung in einem
Netzwerk, wobei das Verfahren umfaßt:
Senden eines Pakets in das Netzwerk, und Aufzeichnung eines ersten Zeitstempels auf dieser Grundlage;
Empfangen einer Quittung zurück durch das Netzwerk, als Reaktion auf das Senden des Pakets, und Aufzeichnen eines zweiten Zeitstempels bei Empfang der Quittung;
Bestimmen einer Umlaufzeit des Pakets und Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit ein Hinweis für das Ausmaß einer Blockierung im Netzwerk ist; und
Abschätzen des Ausmaßes der Blockierung im Netzwerk aufgrund der bestimmten Umlaufzeit, wobei das Abschätzen das Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit enthält, die für keine Netzwerkblockierung oder für einen bekannten Grad der Netzwerkblockierung repräsentativ ist.
Senden eines Pakets in das Netzwerk, und Aufzeichnung eines ersten Zeitstempels auf dieser Grundlage;
Empfangen einer Quittung zurück durch das Netzwerk, als Reaktion auf das Senden des Pakets, und Aufzeichnen eines zweiten Zeitstempels bei Empfang der Quittung;
Bestimmen einer Umlaufzeit des Pakets und Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit ein Hinweis für das Ausmaß einer Blockierung im Netzwerk ist; und
Abschätzen des Ausmaßes der Blockierung im Netzwerk aufgrund der bestimmten Umlaufzeit, wobei das Abschätzen das Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit enthält, die für keine Netzwerkblockierung oder für einen bekannten Grad der Netzwerkblockierung repräsentativ ist.
2. Das Verfahren gemäß Anspruch 1, in dem das Netzwerk ein
blockierendes Netzwerk umfaßt.
3. Das Verfahren gemäß Anspruch 1, in dem das Senden das
Senden des Pakets von einem Sendeknoten enthält, und in
dem das Verfahren ferner das dynamische Festsetzen
einer Anzahl Flußsteuerungstoken an dem Sendeknoten
umfaßt, als Reaktion auf ein Ausmaß der
Netzwerkblockierung, die durch die vorbestimmte
Umlaufzeit repräsentiert wird.
4. Das Verfahren gemäß Anspruch 1, das ferner umfaßt das
Vergleichen der vorgegebenen Umlaufzeit mit einer
Vielzahl vorgegebener Umlaufzeiten, wobei jede
vorgegebene Umlaufzeit repräsentativ für ein
unterschiedliches Ausmaß der Netzwerkblockierung ist,
und Setzen einer Anzahl Flußsteuerungstoken zur
Anwendung beim Senden von Paketen von einem Sendeknoten
zu einem Zielknoten, wobei der Sendeknoten das Paket
zum Zielknoten sendet und von diesem dafür die Quittung
erhält.
5. Das Verfahren gemäß Anspruch 4, in dem das Senden des
Pakets die Verfügbarkeit eines Flußsteuerungstokens an
dem Sendeknoten für den Zielknoten erfordert, und in
dem das Verfahren ferner dynamisch das Festsetzen der
Anzahl der Flußsteuerungstoken enthält, nachdem der
Sendeknoten gegen das Senden eines Pakets infolge der
Nichtverfügbarkeit eines Flußsteuerungstokens blockiert
wurde.
6. Das Verfahren gemäß Anspruch 1, das ferner beinhaltet:
Identifizieren, daß das Netzwerk vor dem Registrieren des ersten Zeitstempels in einem blockierten Zustand ist, das Registrieren des zweiten Zeitstempels und die Bestimmung der Umlaufzeit.
Identifizieren, daß das Netzwerk vor dem Registrieren des ersten Zeitstempels in einem blockierten Zustand ist, das Registrieren des zweiten Zeitstempels und die Bestimmung der Umlaufzeit.
7. Das Verfahren gemäß Anspruch 6, in dem diese
Identifizierung das Bestimmen umfaßt, daß das Senden
des Flußsteuerungspakets in das Netzwerk infolge des
Fehlens von Flußsteuerungstoken zum Senden von Paketen
zwischen einem Sendeknoten und einem Zielknoten
blockiert wird.
8. Das Verfahren gemäß Anspruch 7, das ferner umfaßt:
Identifizieren, daß sich das Netzwerk nicht mehr im Blockierungszustand zwischen dem Sendeknoten und dem Zielknoten befindet, Unterbrechen des Verzeichnens des ersten Zeitstempels, des zweiten Zeitstempels, und des Bestimmens der Umlaufzeit, sobald das Netzwerk nicht mehr blockiert ist.
Identifizieren, daß sich das Netzwerk nicht mehr im Blockierungszustand zwischen dem Sendeknoten und dem Zielknoten befindet, Unterbrechen des Verzeichnens des ersten Zeitstempels, des zweiten Zeitstempels, und des Bestimmens der Umlaufzeit, sobald das Netzwerk nicht mehr blockiert ist.
9. Ein Verfahren zum Verbessern einer Blockierung in einem
Netzwerk, wobei dieses Verfahren beinhaltet:
Identifizieren, wenn das Netzwerk zwischen einem Sendeknoten und einem Zielknoten blockiert ist;
anschließend an die Identifizierung Feststellen einer Umlaufzeit für ein Paket und eine entsprechende Rücklaufquittung, gesendet zwischen dem Sendeknoten und dem Zielknoten durch das Netzwerk; und
Variieren einer Anzahl von Flußsteuerungstoken am Sendeknoten zum Zielknoten mit Hilfe der festgestellten Umlaufzeit.
Identifizieren, wenn das Netzwerk zwischen einem Sendeknoten und einem Zielknoten blockiert ist;
anschließend an die Identifizierung Feststellen einer Umlaufzeit für ein Paket und eine entsprechende Rücklaufquittung, gesendet zwischen dem Sendeknoten und dem Zielknoten durch das Netzwerk; und
Variieren einer Anzahl von Flußsteuerungstoken am Sendeknoten zum Zielknoten mit Hilfe der festgestellten Umlaufzeit.
10. Das Verfahren gemäß Anspruch 9, das ferner beinhaltet:
Wiederholen dieser Überprüfung und Abänderung für jedes i-te Paket, das durch das Netzwerk vom Sendeknoten zum Zielknoten gesendet wird, wobei i ≧ 1 ist.
Wiederholen dieser Überprüfung und Abänderung für jedes i-te Paket, das durch das Netzwerk vom Sendeknoten zum Zielknoten gesendet wird, wobei i ≧ 1 ist.
11. Das Verfahren gemäß Anspruch 9, in dem die
Identifizierung die Bestimmung beinhaltet, daß der
Sendeknoten gegen das Senden eines Pakets zum
Zielknoten infolge unzureichender Flußsteuerungstoken
blockiert ist.
12. Das Verfahren gemäß Anspruch 11, in dem das Netzwerk
ein blockierendes Netzwerk beinhaltet und das Variieren
das Vergleichen der festgestellten Umlaufzeit mit
mindestens einer vorgegebenen Umlaufzeit umfaßt, um das
Ausmaß der Netzwerkblockierung festzustellen und davon
die Anzahl der Flußsteuerungstoken festzusetzen.
13. Das Verfahren gemäß Anspruch 9, das ferner das
Identifizieren umfaßt, wann sich das Netzwerk nicht
mehr im Blockierungszustand zwischen dem Sendeknoten
und dem Zielknoten befindet und danach Unterbrechen des
Bestimmens der Umlaufzeit und des Variierens der
Flußsteuerungstoken.
14. Ein System zum Überwachen der Blockierung in einem
Netzwerk, wobei das System umfaßt:
Mittel zum Senden eines Pakets in das Netzwerk und zum Aufzeichnen eines ersten Zeitstempels auf dieser Grundlage;
Mittel zum Empfangen einer Quittung zurück durch das Netzwerk als Reaktion auf das Paket, und zum Aufzeichnen eines zweiten Zeitstempels beim Empfang der Quittung;
Mittel zum Bestimmen einer Umlaufzeit des Pakets und die Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit hinweisend für das Ausmaß einer Blockierung im Netzwerk ist; und
Mittel zum Abschätzen des Ausmaßes der Blockierung im Netzwerk unter Verwendung der Umlaufzeit, wobei das Mittel zum Abschätzen ein Mittel zum Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit enthält, die für keine Netzwerkblockierung oder für ein bekanntes Ausmaß der Netzwerkblockierung repräsentativ ist.
Mittel zum Senden eines Pakets in das Netzwerk und zum Aufzeichnen eines ersten Zeitstempels auf dieser Grundlage;
Mittel zum Empfangen einer Quittung zurück durch das Netzwerk als Reaktion auf das Paket, und zum Aufzeichnen eines zweiten Zeitstempels beim Empfang der Quittung;
Mittel zum Bestimmen einer Umlaufzeit des Pakets und die Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit hinweisend für das Ausmaß einer Blockierung im Netzwerk ist; und
Mittel zum Abschätzen des Ausmaßes der Blockierung im Netzwerk unter Verwendung der Umlaufzeit, wobei das Mittel zum Abschätzen ein Mittel zum Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit enthält, die für keine Netzwerkblockierung oder für ein bekanntes Ausmaß der Netzwerkblockierung repräsentativ ist.
15. Das System gemäß Anspruch 14, in dem das Netzwerk ein
blockierendes Netzwerk enthält.
16. Das System gemäß Anspruch 14, in dem das Mittel zum
Senden Mittel zum Senden des Pakets von einem
Sendeknoten umfaßt, und in dem das System ferner Mittel
zum dynamischen Setzen einer Anzahl Flußsteuerungstoken
am Sendeknoten als Reaktion auf den Umfang der
Blockierung umfaßt.
17. Das System gemäß Anspruch 14, das ferner umfaßt Mittel
zum Vergleichen der bestimmten Umlaufzeit mit einer
Vielzahl vorgegebener Umlaufzeiten, wobei jede
vorgegebene Umlaufzeit repräsentativ für ein
unterschiedliches Ausmaß einer Netzwerkblockierung
zwischen einem Sendeknoten und einem Zielknoten ist,
und Mittel zum Setzen einer Anzahl von
Flußsteuerungstoken zur Anwendung beim Senden von
Paketen vom Sendeknoten zum Zielknoten, wobei der
Sendeknoten, das Paket an den Zielknoten sendet und von
diesem dafür die Quittung erhält.
18. Das System gemäß Anspruch 17, in dem das Senden des
Pakets die Verfügbarkeit eines Flußsteuerungstokens am
Sendeknoten für den Zielknoten erfordert, und in dem
das System ferner Mittel zum dynamischen Setzen der
Anzahl der Flußsteuerungstoken enthält, nachdem der
Sendeknoten gegen das Senden eines Pakets infolge der
Nichtverfügbarkeit eines Flußsteuerungstoken blockiert
ist.
19. Das System gemäß Anspruch 14, das ferner beinhaltet:
Mittel zum Identifizieren, daß sich das Netzwerk vor dem Registrieren des ersten Zeitstempels in einem blockierten Zustand befindet, das Registrieren des zweiten Zeitstempels und die Bestimmung der Umlaufzeit.
Mittel zum Identifizieren, daß sich das Netzwerk vor dem Registrieren des ersten Zeitstempels in einem blockierten Zustand befindet, das Registrieren des zweiten Zeitstempels und die Bestimmung der Umlaufzeit.
20. Das System gemäß Anspruch 19, in dem dieses Mittel zur
Identifizierung Mittel umfaßt zum Bestimmen, daß das
Senden des Pakets in das Netzwerk infolge des Fehlens
von Flußsteuerungstoken zum Senden von Paketen zwischen
einem Sendeknoten und einem Zielknoten blockiert wird.
21. Das System gemäß Anspruch 20, das ferner Mittel enthält
zum Identifizieren, wann sich das Netzwerk nicht mehr
im Blockierungszustand zwischen dem Sendeknoten und dem
Zielknoten befindet, und zum Unterbrechen des
Verzeichnens des ersten Zeitstempels, des zweiten
Zeitstempels, und des Bestimmens der Umlaufzeit, sobald
das Netzwerk zwischen dem Sendeknoten und dem
Zielknoten nicht mehr blockiert ist.
22. Ein System zum Verbessern einer Blockierung in einem
Netzwerk, enthaltend:
Mittel zum Identifizieren, wann das Netzwerk zwischen einem Sendeknoten und einem Zielknoten blockiert ist;
Mittel zum Feststellen einer Umlaufzeit eines Pakets und eine entsprechende Rücklaufquittung, die zwischen dem Sendeknoten und dem Zielknoten durch ein Netzwerk gesendet wird, und im Anschluß an die Identifizierung, daß das Netzwerk zwischen ihnen blockiert ist; und
Mittel zum Variieren einer Anzahl von Flußsteuerungstoken am Sendeknoten zum Zielknoten mit Hilfe der festgestellten Umlaufzeit.
Mittel zum Identifizieren, wann das Netzwerk zwischen einem Sendeknoten und einem Zielknoten blockiert ist;
Mittel zum Feststellen einer Umlaufzeit eines Pakets und eine entsprechende Rücklaufquittung, die zwischen dem Sendeknoten und dem Zielknoten durch ein Netzwerk gesendet wird, und im Anschluß an die Identifizierung, daß das Netzwerk zwischen ihnen blockiert ist; und
Mittel zum Variieren einer Anzahl von Flußsteuerungstoken am Sendeknoten zum Zielknoten mit Hilfe der festgestellten Umlaufzeit.
23. Das System gemäß Anspruch 22, das ferner Mittel enthält
zum Wiederholen der Mittel zum Feststellen und der
Mittel zum Variieren für jedes i-te Paket, das durch
das Netzwerk vom Sendeknoten zum Zielknoten gesendet
wird, wobei i ≧ 1 ist.
24. Das System gemäß Anspruch 22, in dem das Mittel zum
Identifizieren Mittel zum Bestimmen beinhaltet, daß der
Sendeknoten gegen das Senden eines Pakets vom
Sendeknoten zum Zielknoten infolge unzureichender
Flußsteuerungstoken blockiert ist.
25. Das System gemäß Anspruch 24, in dem das Netzwerk ein
blockierendes Netzwerk beinhaltet, und in dem das
Mittel zum Variieren Mittel zum Vergleichen der
festgestellten Umlaufzeit mit mindestens einer
vorgegebenen Umlaufzeit umfaßt, um das Ausmaß der
Netzwerkblockierung festzustellen und danach die Anzahl
der Flußsteuerungstoken festzusetzen.
26. Das System gemäß Anspruch 22, das ferner Mittel zum
Identifizieren enthält, wann das Netzwerk nicht mehr
zwischen dem Sendeknoten und dem Zielknoten blockiert
ist, und im Anschluß daran, zum Unterbrechen des
Bestimmens der Umlaufzeit und des Variierens der Anzahl
der Flußsteuerungstoken.
27. Mindestens eine von einer Maschine lesbare
Programmspeichervorrichtung, die materiell mindestens
ein Programm mit Anweisungen verwirklicht, die von der
Maschine ausführbar sind, zum Durchführen eines
Verfahrens der Überwachung von Blockierungen in einem
Netzwerk, enthaltend:
Senden eines Pakets in das Netzwerk und Aufzeichnen eines ersten Zeitstempels auf dieser Grundlage;
Empfangen einer Quittung zurück durch das Netzwerk als Reaktion auf das Paket, und Aufzeichnen eines zweiten Zeitstempels beim Empfang der Quittung;
Bestimmen einer Umlaufzeit des Pakets und der Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit hinweisend für das Ausmaß einer Blockierung im Netzwerk ist; und
Abschätzen des Ausmaßes der Blockierung im Netzwerk unter Verwendung der bestimmten Umlaufzeit, wobei die Abschätzung das Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit umfaßt, die für keine Netzwerkblockierung oder für einen bekannten Grad der Netzwerkblockierung repräsentativ ist.
Senden eines Pakets in das Netzwerk und Aufzeichnen eines ersten Zeitstempels auf dieser Grundlage;
Empfangen einer Quittung zurück durch das Netzwerk als Reaktion auf das Paket, und Aufzeichnen eines zweiten Zeitstempels beim Empfang der Quittung;
Bestimmen einer Umlaufzeit des Pakets und der Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit hinweisend für das Ausmaß einer Blockierung im Netzwerk ist; und
Abschätzen des Ausmaßes der Blockierung im Netzwerk unter Verwendung der bestimmten Umlaufzeit, wobei die Abschätzung das Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit umfaßt, die für keine Netzwerkblockierung oder für einen bekannten Grad der Netzwerkblockierung repräsentativ ist.
28. Mindestens eine Programmspeichervorrichtung gemäß
Anspruch 27, wobei das Netzwerk ein blockierendes
Netzwerk umfaßt.
29. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 27, in dem das Senden das Senden des Pakets
von einem Sendeknoten, und ferner das dynamische Setzen
einer Anzahl Flußsteuerungstoken am Sendeknoten als
Reaktion auf ein Ausmaß der Netzwerkblockierung,
repräsentiert durch die bestimmte Umlaufzeit, umfaßt.
30. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 27, die ferner umfaßt das Vergleichen der
bestimmten Umlaufzeit mit einer Vielzahl vorgegebener
Umlaufzeiten, wobei jede vorgegebene Umlaufzeit
repräsentativ für ein unterschiedliches Ausmaß einer
Netzwerkblockierung ist, und Setzen einer Anzahl von
Flußsteuerungstoken zur Anwendung beim Senden von
Paketen von einem Sendeknoten zu einem Zielknoten,
wobei der Sendeknoten das Paket an den Zielknoten
sendet und von diesem die Quittung erhält.
31. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 30, in dem das Senden des Pakets die
Verfügbarkeit eines Flußsteuerungstokens am Sendeknoten
für den Zielknoten erfordert, und ferner das dynamische
Setzen der Anzahl der Flußsteuerungstoken umfaßt,
nachdem der Sendeknoten gegen das Senden eines Pakets
infolge der Nichtverfügbarkeit eines
Flußsteuerungstoken blockiert ist.
32. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 27, ferner enthaltend das Identifizieren, daß
sich des Netzwerks vor dem Registrieren des ersten
Zeitstempels in einem blockierten Zustand befindet, das
Registrieren des zweiten Zeitstempels und die
Bestimmung der Umlaufzeit.
33. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 27, in dem diese Identifizierung das Bestimmen
umfaßt, daß das Senden des Flußsteuerungspakets in das
Netzwerk infolge des Fehlens von Flußsteuerungstoken
zum Senden von Paketen zwischen einem Sendeknoten und
einem Zielknoten blockiert wird.
34. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 33, die ferner das Identifizieren umfaßt, wann
sich das Netzwerk nicht mehr im Blockierungszustand
zwischen dem Sendeknoten und dem Zielknoten befindet,
und in Abhängigkeit davon, Unterbrechen des
Verzeichnens des ersten Zeitstempels, des zweiten
Zeitstempels, und des Bestimmens der Umlaufzeit.
35. Mindestens eine von einer Maschine lesbare
Programmspeichervorrichtung, die materiell mindestens
ein Programm mit Anweisungen verwirklicht, die von der
Maschine ausführbar sind, zum Durchführen eines
Verfahrens der Verbesserung der Blockierung in einem
Netzwerk, enthaltend:
Identifizieren, wann das Netzwerk zwischen einem Sendeknoten und einem Zielknoten blockiert ist;
anschließend an die Identifizierung Feststellen einer Umlaufzeit eines Pakets und einer entsprechenden Rücklaufquittung, die zwischen dem Sendeknoten und dem Zielknoten durch das Netzwerk gesendete wurde; und
Variieren einer Anzahl von Flußsteuerungstoken am Sendeknoten für den Zielknoten mit Hilfe der festgestellten Umlaufzeit.
Identifizieren, wann das Netzwerk zwischen einem Sendeknoten und einem Zielknoten blockiert ist;
anschließend an die Identifizierung Feststellen einer Umlaufzeit eines Pakets und einer entsprechenden Rücklaufquittung, die zwischen dem Sendeknoten und dem Zielknoten durch das Netzwerk gesendete wurde; und
Variieren einer Anzahl von Flußsteuerungstoken am Sendeknoten für den Zielknoten mit Hilfe der festgestellten Umlaufzeit.
36. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 35, die ferner das Wiederholen dieser
Überprüfung und Abänderung für jedes i-te Paket umfaßt,
das über ein Netzwerk vom Sendeknoten zum Zielknoten
gesendet wird, wobei i ≧ 1 ist.
37. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 35, in der die Identifizierung die Bestimmung
beinhaltet, daß der Sendeknoten infolge der
unzureichenden Flußsteuerungstoken gegen das Senden
eines Pakets zum Zielknoten blockiert ist.
38. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 37, in der das Netzwerk ein blockierendes
Netzwerk beinhaltet und das Variieren das Vergleichen
der festgestellten Umlaufzeit mit mindestens einer
vorgegebenen Umlaufzeit umfaßt, um das Ausmaß der
Netzwerkblockierung festzustellen und danach die Anzahl
der Flußsteuerungstoken festzusetzen.
39. Die mindestens eine Programmspeichervorrichtung gemäß
Anspruch 35, die ferner das Identifizieren umfaßt, wann
das Netzwerk nicht mehr zwischen dem Sendeknoten und
dem Zielknoten blockiert ist, und anschließend
Unterbrechen des Bestimmens der Umlaufzeit und des
Variierens der Anzahl der Flußsteuerungstoken.
40. Ein Verarbeitungssystem, enthaltend:
Eine Vielzahl Verarbeitungknoten, wobei die Vielzahl Verarbeitungsknoten einen Sendeknoten und einen Zielknoten umfaßt;
ein Netzwerk, das die Vielzahl Prozessorknoten zum Übertragen von Paketen und Quittungen zwischen ihnen verkoppelt;
wobei der Sendeknoten einen Prozessor beinhaltet, der eingerichtet ist zum Senden eines Pakets durch das Netzwerk an den Zielknoten und Aufzeichnen eines ersten Zeitstempels auf dieser Grundlage;
Empfangen einer Quittung zurück durch das Netzwerk als Reaktion auf das Paket, und Aufzeichnen eines zweiten Zeitstempels beim Empfang der Quittung;
Bestimmen einer Umlaufzeit des Pakets und der Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit hinweisend auf das Ausmaß einer Blockierung im Netzwerk ist; und
Abschätzung des Ausmaßes der Blockierung im Netzwerk unter Verwendung der bestimmten Umlaufzeit, wobei die Abschätzung das Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit beinhaltet, die repräsentativ für keine Blockierung bzw. für ein bekanntes Ausmaß der Blockierung des Netzwerkes ist.
Eine Vielzahl Verarbeitungknoten, wobei die Vielzahl Verarbeitungsknoten einen Sendeknoten und einen Zielknoten umfaßt;
ein Netzwerk, das die Vielzahl Prozessorknoten zum Übertragen von Paketen und Quittungen zwischen ihnen verkoppelt;
wobei der Sendeknoten einen Prozessor beinhaltet, der eingerichtet ist zum Senden eines Pakets durch das Netzwerk an den Zielknoten und Aufzeichnen eines ersten Zeitstempels auf dieser Grundlage;
Empfangen einer Quittung zurück durch das Netzwerk als Reaktion auf das Paket, und Aufzeichnen eines zweiten Zeitstempels beim Empfang der Quittung;
Bestimmen einer Umlaufzeit des Pakets und der Quittung durch das Netzwerk unter Verwendung des ersten Zeitstempels und des zweiten Zeitstempels, wobei die Umlaufzeit hinweisend auf das Ausmaß einer Blockierung im Netzwerk ist; und
Abschätzung des Ausmaßes der Blockierung im Netzwerk unter Verwendung der bestimmten Umlaufzeit, wobei die Abschätzung das Vergleichen der bestimmten Umlaufzeit mit einer vorgegebenen Umlaufzeit beinhaltet, die repräsentativ für keine Blockierung bzw. für ein bekanntes Ausmaß der Blockierung des Netzwerkes ist.
41. Ein Verarbeitungssystem, enthaltend:
Eine Vielzahl Verarbeitungknoten, wobei die Vielzahl Verarbeitungsknoten einen Sendeknoten und einen Zielknoten umfaßt;
ein Netzwerk, das die Vielzahl Prozessorknoten zum Übertragen von Paketen und Quittungen zwischen ihnen verkoppelt;
der Sendeknoten einen Prozessor beinhaltet, der eingerichtet ist zum:
Identifizieren, wann das Netzwerk zwischen dem Sendeknoten und dem Zielknoten blockiert ist;
im Anschluß an die Identifizierung, Feststellen einer Umlaufzeit des Pakets und der entsprechenden Quittung, die zwischen dem Sendeknoten und dem Zielknoten durch das Netzwerk gesendet wird; und
Variieren einer Anzahl Flußsteuerungstoken am Sendeknoten für den Zielknoten mit Hilfe der festgestellten Umlaufzeit.
Eine Vielzahl Verarbeitungknoten, wobei die Vielzahl Verarbeitungsknoten einen Sendeknoten und einen Zielknoten umfaßt;
ein Netzwerk, das die Vielzahl Prozessorknoten zum Übertragen von Paketen und Quittungen zwischen ihnen verkoppelt;
der Sendeknoten einen Prozessor beinhaltet, der eingerichtet ist zum:
Identifizieren, wann das Netzwerk zwischen dem Sendeknoten und dem Zielknoten blockiert ist;
im Anschluß an die Identifizierung, Feststellen einer Umlaufzeit des Pakets und der entsprechenden Quittung, die zwischen dem Sendeknoten und dem Zielknoten durch das Netzwerk gesendet wird; und
Variieren einer Anzahl Flußsteuerungstoken am Sendeknoten für den Zielknoten mit Hilfe der festgestellten Umlaufzeit.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/354,750 US6700876B1 (en) | 1999-07-29 | 1999-07-29 | Congestion monitoring and message flow control in a blocking network |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10034404A1 true DE10034404A1 (de) | 2001-03-01 |
Family
ID=23394755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10034404A Ceased DE10034404A1 (de) | 1999-07-29 | 2000-07-14 | Blockierungsüberwachung und Nachrichtenfluss-Steuerung in einem blockierenden Netzwerk |
Country Status (2)
Country | Link |
---|---|
US (1) | US6700876B1 (de) |
DE (1) | DE10034404A1 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002009331A2 (en) * | 2000-07-20 | 2002-01-31 | Thomson Licensing S.A. | Multi-media jitter removal in an asynchronous digital home network |
MXPA03000543A (es) * | 2000-07-26 | 2003-06-02 | Thomson Licensing Sa | Retiro de vibracion de multimedia en una red domestica digital asincrona. |
US7200111B2 (en) * | 2000-08-31 | 2007-04-03 | The Regents Of The University Of California | Method for improving TCP performance over wireless links |
US6901050B1 (en) * | 2001-03-05 | 2005-05-31 | Advanced Micro Devices, Inc. | Systems and methods for flow-based traffic shaping |
US20030112829A1 (en) * | 2001-12-13 | 2003-06-19 | Kamakshi Sridhar | Signaling for congestion control, load balancing, and fairness in a resilient packet ring |
US7418494B2 (en) | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
US7474627B2 (en) * | 2004-12-17 | 2009-01-06 | Nortel Networks Limited | Voice over internet protocol (VoIP) call admission and call regulation in a wireless network |
US8036123B1 (en) * | 2005-01-07 | 2011-10-11 | Marvell International Ltd. | Integrated circuit for network stress testing |
US7649845B2 (en) * | 2005-09-30 | 2010-01-19 | Intel Corporation | Handling hot spots in interconnection networks |
US20080082708A1 (en) * | 2006-09-29 | 2008-04-03 | Kar Leong Wong | Token hold off for chipset communication |
US7821937B1 (en) | 2007-06-29 | 2010-10-26 | Symantec Corporation | Network protocol with damage loss resilient congestion control algorithm |
US8233391B2 (en) * | 2007-08-21 | 2012-07-31 | International Business Machines Corporation | System, method and computer program product for transmitting data entities |
US9647950B2 (en) * | 2015-05-11 | 2017-05-09 | Ebay Inc. | System and method of site traffic control |
CN111510338B (zh) * | 2020-03-09 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种分布式块存储网络亚健康测试方法、装置及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193151A (en) | 1989-08-30 | 1993-03-09 | Digital Equipment Corporation | Delay-based congestion avoidance in computer networks |
US5029164A (en) | 1990-04-13 | 1991-07-02 | Digital Equipment Corporation | Congestion avoidance in high-speed network carrying bursty traffic |
DE69330661T2 (de) | 1992-04-27 | 2002-06-27 | Nippon Telegraph & Telephone | Paketnetzwerk und Verfahren zur Vermeidung von Überlastung eines solchen Netzwerks |
US5276677A (en) | 1992-06-26 | 1994-01-04 | Nec Usa, Inc. | Predictive congestion control of high-speed wide area networks |
GB9402210D0 (en) | 1994-02-04 | 1994-03-30 | British Telecomm | A method of communicating between nodes in a communications network |
US5563875A (en) | 1995-07-10 | 1996-10-08 | International Business Machines Corporation | Wrap-around route testing in packet communications networks |
JP3388511B2 (ja) | 1996-02-19 | 2003-03-24 | 日本電信電話株式会社 | 輻輳制御方法 |
US6038216A (en) * | 1996-11-01 | 2000-03-14 | Packeteer, Inc. | Method for explicit data rate control in a packet communication environment without data rate supervision |
US6292465B1 (en) * | 1997-05-27 | 2001-09-18 | Ukiah Software, Inc. | Linear rule based method for bandwidth management |
-
1999
- 1999-07-29 US US09/354,750 patent/US6700876B1/en not_active Expired - Fee Related
-
2000
- 2000-07-14 DE DE10034404A patent/DE10034404A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US6700876B1 (en) | 2004-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69937241T2 (de) | Vorrichtung zur messung der last eines netzwerkservers und berät und verfahren zur zuordnung | |
DE602005002006T2 (de) | Verfahren und Vorrichtung zur Ermittlung der verfügbaren Bandbreite in einem Datenpaketnetzwerk | |
DE69827053T2 (de) | Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk | |
DE69636029T2 (de) | Verfahren und Vorrichtung zur Datenübertragung | |
DE69927252T2 (de) | Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität | |
DE10034404A1 (de) | Blockierungsüberwachung und Nachrichtenfluss-Steuerung in einem blockierenden Netzwerk | |
DE602005003142T2 (de) | Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung | |
DE69637275T2 (de) | Verfahren zur auf Quittung basierten Flusssteuerung | |
DE60038538T2 (de) | Vermittlungseinrichtung und Vermittlungsverfahren | |
DE60224713T2 (de) | Signaturvergleichsverfahren und vorrichtungen zur durchführung der netzwerkdiagnose | |
DE60024228T2 (de) | Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung | |
DE602004004831T2 (de) | Verfahren und Vorrichtung zur Ablauffolgeplanung von Paketen auf einer Netzwerkverbindung mit einer auf der Eingangsrate basierenden Priorität | |
DE3803326C2 (de) | ||
DE60301202T2 (de) | Verfahren und vorrichtung zur verkehrssteuerung einer web-farm | |
DE60302045T2 (de) | Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren | |
DE102007038964A1 (de) | Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten | |
WO2002025821A2 (de) | Verfahren zur messung von unidirektionalen übertragungseigenschaften in einem datennetz | |
DE19652541A1 (de) | Nachrichtendatenflußdosierungsverfahren | |
EP0419959A2 (de) | Schaltungsanordnung zum Überprüfen der Einhaltung festgelegter Übertragungsbitraten bei der Übertragung von Nachrichtenzellen | |
DE60132360T2 (de) | Verwaltung von netzwerk-verkehr durch anwendung einer hashfunktion | |
DE112019003854T5 (de) | Flusssteuerungssichtbarkeit | |
DE112019001647T5 (de) | Netzwerk-Überlastungsverwaltung | |
DE60310146T2 (de) | System und Methode zur Überwachung, mit geringer Zusatzinformation, des Leerzustandes der Senderwarteschlange | |
DE60210356T2 (de) | Verwalter von Dienststufenübereinkommen in einem Datennetz | |
DE112011105003T5 (de) | Sendevorrichtung, Empfangsvorrichtung, Kommunikationsvorrichtung, Kommunikationssystem und Sendeverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |