Freigeben über


Ausgehende Geschwindigkeit

Wenn eine Anwendung über genügend Ressourcen verfügt, um ausgehende Daten so schnell zu verarbeiten, wie das Netzwerk sie bereitstellen kann (z. B. eine Anzeige), oder wenn ein Protokoll auf höherer Ebene (z. B. der unmittelbare Anforderungsmodus) den Datenflow einschränkt, muss die Anwendung nicht an der Geschwindigkeitssteuerung beteiligt sein, und der lokale Knoten kann die ausgehende Geschwindigkeitssteuerung transparent verarbeiten.

Bestimmte Arten von Anwendungen erfordern jedoch möglicherweise die Beteiligung an der Geschwindigkeitssteuerung für ausgehende Daten. Wenn eine Anwendung nur über eingeschränkte Ressourcen verfügt (z. B. ein Drucker), sollte die Anwendung die Option für die Geschwindigkeitssteuerung im CICB (Connection Information Control Block) in der Open(PLU) OK Response-Nachricht angeben. (Weitere Informationen finden Sie unter Öffnen der PLU-Verbindung.) Die Anwendung sollte dem lokalen Knoten auch zunächst in der Open(PLU) OK Response-Nachricht und in regelmäßigen Abständen mit Status-Resource-Nachrichten Informationen zum Status dieser Ressourcen bereitstellen.

Um die Anwendung bei der Berechnung des Felds für das Startguthaben in der Open(PLU) OK Response-Nachricht zu unterstützen, stellt der lokale Knoten die Größen des Fensters für die Geschwindigkeitssteuerung und die maximalen Größen für die primären und sekundären Anforderungs-/Antwort-RUs in der Open(PLU) Request-Nachricht zur Verfügung. Das Startguthaben muss mindestens so groß sein wie das Fenster für die Geschwindigkeitssteuerung zwischen der primären und der sekundären Einheit. Andernfalls wird der BIND-Vorgang abgelehnt, und es wird eine Open(PLU) Error Confirm-Nachricht an die Anwendung gesendet. Der lokale Knoten fügt einen vorgeschlagenen Wert für das Startguthaben ein, der um eins größer ist als das Fenster (um Stopp-Start-Situationen möglichst zu vermeiden).

Beachten Sie, dass der lokale Knoten den BIND-Vorgang auch dann ablehnt, wenn die Anwendung angibt, dass sie an der Geschwindigkeitssteuerung beteiligt sein muss (unabhängig vom Startguthaben), aber über BIND angegeben wurde, dass keine Geschwindigkeitssteuerung für ausgehende Daten stattfindet.

Nur FMD-Anforderungen (Function Management Data, Funktionsverwaltungsdaten) sind Teil des Guthabenschemas, sodass die Anwendung zusätzlich zur Anzahl der RUs, die durch den anfänglichen Guthabenwert angegeben wird, Speicherplatz im Puffer für eine Status-Control-Anforderung pro RU beibehalten muss. (Eine Status-Control-Nachricht nimmt 36 Bytes in Anspruch.)

Jede Guthabeneinheit, die die Anwendung an den lokalen Knoten übermittelt, ermöglicht es dem lokalen Knoten, der Anwendung eine einzelne RU zuzuweisen (oder ein einzelnes Segment, wenn Segmentierung verwendet wird). Beachten Sie Folgendes: Wenn die Anwendung Segmente empfängt, kann dies mehreren DATAFMI-Nachrichten entsprechen. Zur Steuerung des ausgehenden Datenflows kann die Anwendung mithilfe der Flags BBIU (Begin Basic Information Unit) und EBIU (End Basic Information Unit) RUs zählen.

Die Anwendung sollte einen Zähler für verwendetes Guthaben speichern und dieses in Status-Resource-Nachricht an den lokalen Knoten melden. Die Anwendung muss die folgenden Aktionen ausführen:

  • Beim Verarbeiten (nicht beim Empfangen) von DATAFMI-Nachrichten mit festgelegtem EBIU-Flag (entsprechend den FMD-Anforderungen) wird der Zähler für verwendetes Guthaben um eins erhöht.

  • Beim Verarbeiten von Status-Control-Nachrichten und allen anderen Nachrichten vom lokalen Knoten wird der Zähler für verwendetes Guthaben nicht erhöht.

  • Der aktuelle Zähler für verwendetes Guthaben wird in regelmäßigen Abständen in einer Status-Resource-Nachricht gemeldet.

  • Der Zähler für verwendetes Guthaben wird gemeldet, wenn der Puffer leer wird (unabhängig davon, welche Nachricht zuletzt verarbeitet wurde), es sei denn, der Zähler für verwendetes Guthaben ist 0 (null).

  • Wenn der Zähler für verwendetes Guthaben an den lokalen Knoten gemeldet wurde, wird er auf 0 (null) zurückgesetzt.

    Die Häufigkeit, mit der die Anwendung Status-Resource-Nachrichten bereitstellt, ist in der Architektur nicht geplant. Der lokale Knoten sendet jedoch nur so viele Data-Nachrichten an die Anwendung, wie durch das empfangene Guthaben erlaubt sind. Wenn der Zähler für verwendetes Guthaben der Anwendung den anfänglichen Guthabenwert erreicht, sendet der lokale Knoten keine weiteren Daten. Die Anwendung sollte aus folgendem Grund versuchen, eine Status-Resource-Nachricht zu senden, bevor dies geschieht: Wenn der lokale Knoten keine Data-Nachricht an die Anwendung senden kann und der Host weiterhin Anforderungen sendet, kann der lokale Knoten möglicherweise keine Antwort zur Geschwindigkeitssteuerung an den Host senden, was zu einer Verschlechterung der Leistung führt.

    Wenn das Fenster für die Geschwindigkeitssteuerung klein ist, z. B. nur die Werte eins oder zwei aufweist, sollte die Anwendung nach der Verarbeitung der einzelnen DATAFMI-Nachrichten eine Status-Resource-Nachricht senden, damit der lokale Knoten die entsprechende Antwort zur Geschwindigkeitssteuerung senden kann.

    Die folgende Abbildung zeigt den lokalen Knoten, der die Geschwindigkeitssteuerung für ausgehende Daten verarbeitet, wenn die Anwendung nicht beteiligt ist (APPLPAC = 0x00). Beim Fenster für die Geschwindigkeitssteuerung wird ein Wert von zwei angenommen.

    Abbildung eines lokalen Knotens, der ausgehende Geschwindigkeiten behandelt.
    Verarbeiten der Geschwindigkeitssteuerung für ausgehende Daten auf einem lokalen Knoten

    Die folgende Abbildung zeigt den lokalen Knoten und die Anwendung, die die Geschwindigkeitssteuerung für ausgehende Daten verarbeitet. Es wird eine Fenster mit dem Wert zwei und ein anfängliches Guthaben vom lokalen Knoten zur Anwendung mit dem Wert vier angenommen. Beachten Sie, dass der lokale Knoten eine IPR-Antwort (Isolated Pacing Response) an den Host senden kann, um ein weiteres Fenster mit Daten zu erhalten, sobald die Anwendung über ausreichend Guthaben für den Rest des aktuellen Fensters und das nächste Fenster verfügt.

    Abbildung, die einen lokalen Knoten und eine Anwendung zeigt, die ausgehende Geschwindigkeiten verarbeitet.
    Lokale Knoten und Anwendung, die die Geschwindigkeitssteuerung für ausgehende Daten verarbeiten

Weitere Informationen

Öffnen der PLU-Verbindung
PLU-Sitzung
Ausgehende Verkettung
Eingehende Verkettung
Segmentübermittlung
Brackets
Richtung
Geschwindigkeit und Segmentierung
Bestätigung und Ablehnung von Daten]
Herunterfahren und Stilllegen
Wiederherstellung
Von der Anwendung initiierte Beendigung
LUSTATs]
Daten des Monitors für Antwortzeiten