DE19652541A1 - Nachrichtendatenflußdosierungsverfahren - Google Patents

Nachrichtendatenflußdosierungsverfahren

Info

Publication number
DE19652541A1
DE19652541A1 DE19652541A DE19652541A DE19652541A1 DE 19652541 A1 DE19652541 A1 DE 19652541A1 DE 19652541 A DE19652541 A DE 19652541A DE 19652541 A DE19652541 A DE 19652541A DE 19652541 A1 DE19652541 A1 DE 19652541A1
Authority
DE
Germany
Prior art keywords
data
units
credit value
storage units
destination
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.)
Withdrawn
Application number
DE19652541A
Other languages
English (en)
Inventor
Erik Kilk
Karen Van Der Veer
Leann M Macmillan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE19652541A1 publication Critical patent/DE19652541A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

Die vorliegende Erfindung bezieht sich allgemein auf die Da­ tenkommunikation und insbesondere auf ein Verfahren zum da­ tenflußmäßigen Dosieren von Daten, oder zum "Pacing" von Da­ ten, welche von einer Datenquelle zu einem oder mehreren Da­ tenbestimmungsorten übertragen werden sollen. Insbesondere betrifft die Erfindung ein Verfahren zum optimalen Daten­ flußdosieren von getrennten Datenströmen über eine einzige Datenflußdosierungskommunikationsverbindung.
Bei einem herkömmlichen Kommunikationssystem ist es oft wün­ schenswert, mehrere Typen von Datenvermittlungen zwischen einem Sender und einem Empfänger zu benutzen. Bei einer mo­ dernen Tintenstrahldruckerarbeitsstation werden beispiels­ weise sowohl Bilddaten als auch Befehlsdaten von dem Post­ prozessor (d. h. Personalcomputer) zur Interpretation der Befehle zu dem Drucker und zum Drucken der Bilddaten durch die Steuerung des Druckers gesendet. Die Befehlsinterpreta­ tion und das Bilddatendrucken werden typischerweise durch eine Firmwaresteuerung auf einer Byte-um-Byte-Basis durchge­ führt, wobei jeder Datentyp in einem getrennten Speicherpuf­ fer zum Verbrauchen durch den Drucker gespeichert wird.
Da jedoch viele Druckerteilsysteme mit einer Vielzahl von Hostprozessoren verbunden sind, und da solche Hostprozesso­ ren eine Vielzahl von Eingabe/Ausgabe- (IO; IO = Input/Out­ put) Tore verwenden, welche eine Vielzahl von Protokollen benutzen (z. B. "Multiple Logical Channels" werden von vielen Tintenstrahl- und Laser-Druckerprodukten der Hewlett-Packard Company verwendet), ist es schwierig, ein einzelnes Schema zum Steuern solcher Nachrichtenübermittlungen zwischen vie­ len Geräten zu bauen. Da ferner verschiedene Datentypen mit unterschiedlichen Raten verbraucht werden, kann es wün­ schenswert sein, einen Datentyp mit einer ersten Rate und einen weiteren Datentyp mit einer zweiten Rate zu übertra­ gen, um eine Kommunikationsverklemmung zu verhindern. Dies wird wünschenswerterweise durch die individuelle Datenfluß­ dosierung von getrennten Datenströmen erreicht, wobei es sich in der Vergangenheit herausgestellt hat, daß diese Lö­ sung in der Implementation schwierig ist.
Insbesondere bezieht sich ein Problem auf den Verlust von Datenflußdosierungsinformationen als Ergebnis einer unzuver­ lässigen Kommunikationsverbindung. Dies kann in einer unge­ nauen Bestimmung des Raums resultieren, der in einem oder mehreren Speicherpuffern des Druckers verfügbar ist, was zu einem suboptimalen Druckerbetrieb oder sogar zu einer Kommu­ nikationsverklemmung führt. Obwohl schichtartig aufgebaute Netzarchitekturen entwickelt worden sind, um die Zuverläs­ sigkeit von Kommunikationsverbindungen zu verbessern, erfor­ derten solche Lösungen typischerweise eine spezielle Hard­ ware in dem Hostprozessor, wobei solche Lösungen ferner eine wesentliche Menge an Speicher und Software oder Code verwen­ deten. Ferner erforderten die meisten bekannten Lösungen ei­ ne bidirektionale IO-Hardwareunterstützung, welche eine An­ ordnung darstellt, welche vorzusehen ist, welche jedoch nicht immer verfügbar ist.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein wirtschaftliches Verfahren zum Datenflußdosieren von Daten­ einheiten zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 ge­ löst.
Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Datenflußdosieren eines Datenstroms, der von einer Daten­ quelle, wie z. B. einem Personalcomputer, zu einem oder meh­ reren gepufferten Datenbestimmungsorten, wie z. B. dem Be­ fehls- und dem Bildkanal eines Druckers, gesendet werden soll. Jeder Datenbestimmungsort weist eine Anzahl von ver­ fügbaren Speichereinheiten (d. h. ein Guthaben) auf, wobei diese Anzahl vorzugsweise anfänglich zu dem Zeitpunkt be­ stimmt wird, zu dem die Kommunikation beginnt. Speicherein­ heiten halten entsprechend dimensionierte Dateneinheiten, welche von der Datenquelle mit einer Dosierung empfangen werden, die durch die Anzahl von Speichereinheiten bestimmt ist, welche an dem erwünschten Datenbestimmungsort frei sind.
Die Datenbestimmungsorte sind konfiguriert, um Daten zu ver­ brauchen, und um dadurch Speichereinheiten zum Empfang von zusätzlichen Daten freizumachen, wobei die Dosierung der Da­ tenkommunikation für jeden Datenbestimmungsort folgende Schritte aufweist: (1) Identifizieren eines Anfangsguthaben­ werts des Datenbestimmungsorts; (2) Inkrementieren des An­ fangsguthabenwerts mit jeder Speichereinheit, die an diesem Datenbestimmungsort freigemacht worden ist, um einen gegen­ wärtigen Guthabenwert für diesen Datenbestimmungsort zu identifizieren; (3) Übertragen von Dateneinheiten zu dem re­ levanten Datenbestimmungsort, wobei die Anzahl von Datenein­ heiten, die zu dem Datenbestimmungsort übertragen werden, einen entsprechenden Übertragungszählwert liefert, wobei die Übertragung von Dateneinheiten zu diesem Datenbestimmungsort auf nicht mehr als die bestimmte Anzahl von verfügbaren Speichereinheiten dieses Datenbestimmungsorts begrenzt ist; (4) selektives Aktualisieren der bestimmten Anzahl von ver­ fügbaren Speichereinheiten für den relevanten Datenbestim­ mungsort durch Bestimmen der Differenz zwischen dem Anfangs­ guthabenwert und dem gegenwärtigen Guthabenwert des spezifi­ zierten Datenbestimmungsorts, um eine Anzahl von Speicher­ einheiten zu identifizieren, die an diesem Datenbestimmungs­ ort freigemacht worden sind, seit sein Anfangsguthabenwert identifiziert wurde, und Bestimmen der Summe der vorher be­ stimmten Anzahl von verfügbaren Speichereinheiten an dem re­ levanten Datenbestimmungsort und der Anzahl von Speicherein­ heiten, die an diesem Datenbestimmungsort freigemacht worden sind, um eine aktualisierte bestimmte Anzahl von verfügbaren Speichereinheiten für den Datenbestimmungsort zu schaffen; und (5) selektives Aktualisieren der bestimmten Anzahl von verfügbaren Speichereinheiten für den relevanten Datenbe­ stimmungsort durch Bestimmen der Differenz zwischen dem entsprechenden Übertragungszählwert und der vorher bestimm­ ten Anzahl von verfügbaren Speichereinheiten an dem relevan­ ten Datenbestimmungsort, um eine aktualisierte bestimmte An­ zahl von verfügbaren Speichereinheiten für den Datenbestim­ mungsort zu schaffen. Der Anfangsguthabenwert des Datenbe­ stimmungsorts wird auf den gegenwärtigen Guthabenwert, der für diesen Datenbestimmungsort bestimmt wurde, bei der Vollendung der Datenflußdosierungsoperation neu eingestellt.
Die Datenflußdosierung wird typischerweise periodisch durch­ geführt, wobei die Datenflußdosierungsinformationen von ei­ nem Datenbestimmungsort zu einer Datenquelle zur Verwendung beim Datenflußdosieren von Daten von der Datenquelle zu dem Datenbestimmungsort über einen Datenkanal übertragen werden. Die Datenflußdosierungsinformationen für mehrere Datenkanäle können über eine einzige Kommunikationsverbindung übertragen werden, wobei die Kommunikationsverbindung durch folgende Schritte konfiguriert wird: Anhängen von vordefinierten An­ fangsblockinformationen an einen ersten Satz von Daten (z. B. Nachrichtenflußdosierungsinformationen), wobei die Anfangs­ blockinformationen die Position identifizieren, zu der der erste Satz von Daten übertragen werden soll, wodurch ein er­ stes Paket erzeugt wird; Anhängen von vordefinierten An­ fangsblockinformationen an einen zweiten Satz von Daten (z. B. Datenflußdosierungsinformationen), wobei die Anfangs­ blockinformationen die Position identifizieren, zu der der zweite Satz von Daten übertragen werden soll, wodurch ein zweites Paket erzeugt wird; Verketten des ersten und des zweiten Pakets, um einen Datenstrom mit mehreren Paketen zu erzeugen; Bewirken, daß der Datenstrom über eine einzige Kommunikationsverbindung übermittelt wird; und Entfernen der Anfangsblockinformationen von dem ersten und dem zweiten Pa­ ket, und Leiten des ersten und des zweiten Pakets zu Posi­ tionen basierend auf den Positions-identifizierenden An­ fangsblockinformationen.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die bei liegenden Zeich­ nungen detaillierter erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm, das ein Kommunikationssystem zeigt, welches das erfindungsgemäße Verfahren ver­ wendet;
Fig. 2 eine schematische Darstellung eines Datenstroms, der von dem Kommunikationssystem von Fig. 1 erzeugt und verbraucht wird;
Fig. 3 eine schematische Darstellung von Datenflußdosie­ rungsinformationen, die bei einem Datenflußdosieren eines Datenstrompakets vorkommen, wie z. B. dem, das in Fig. 2 gezeigt ist;
Fig. 4 ein detailliertes Blockdiagramm, das eine Hardware zeigt, welche typischerweise von dem Kommunikati­ onssystem von Fig. 1 verwendet werden kann;
Fig. 5 ein Flußdiagramm, das ein bevorzugtes Ausführungs­ beispiel des erfindungsgemäßen Datenflußdosierungs­ verfahrens darstellt; und
Fig. 6 ein Flußdiagramm, das ein Verfahren zum Übermitteln von Datenflußdosierungsinformationen für mehrere Kanäle über eine einzige Kommunikationsverbindung darstellt.
Fig. 1 zeigt bei 10 ein Kommunikationssystem in Blockdia­ grammform, wobei ein derartiges System eine Datenerzeugungs­ einrichtung 12 und eine Datenverbrauchereinrichtung 14 auf­ weist. Fachleute werden es würdigen, daß die Richtungen der Pfeile in Fig. 1 die Richtungen des Nachrichtenflusses dar­ stellen, welche in der Form von Befehlen, Bilddaten, Daten­ flußdosierungsinformationen oder dergleichen vorhanden sein können.
Für Fachleute ist es offensichtlich, daß die Datenerzeu­ gungseinrichtung 12 ein PC (oder ein Dateiserver) oder ir­ gendein anderes Daten-erzeugendes Gerät sein kann. Auf ähn­ liche Weise kann die Datenverbrauchseinrichtung 14 ein Drucker, ein Scanner, eine Faxmaschine oder irgendein ande­ res Daten-verbrauchendes Gerät sein. Bei der vorliegenden Offenbarung ist die Datenerzeugungseinrichtung 12 als ein PC beschrieben und dargestellt, wohingegen die Datenverbrauchs­ einrichtung 14 als ein Tintenstrahldrucker beschrieben und dargestellt ist. Ferner wird angemerkt, daß der Verweis auf eine Datenerzeugungseinrichtung 12 als ein Erzeuger und auf eine Datenverbrauchseinrichtung 14 als ein Verbraucher in dieser Anmeldung lediglich als Beschreibung und nicht als Begrenzung gedacht ist. Daher ist es offensichtlich, daß ein Datenerzeuger 12 typischerweise auch ein Verbraucher ist, und daß ein Verbraucher 14 typischerweise auch ein Erzeuger ist. Der Datenverbraucher 14 erzeugt beispielsweise Daten­ flußdosierungsinformationen zum Empfang und Verbrauch von dem Datenerzeuger 12. Kommunikation oder Nachrichtenüber­ mittlung soll somit als eine bidirektionale Sache verstanden werden, obwohl auch Zeitpunkte vorhanden sein können, bei denen dieselbe im wesentlichen als eine unidirektionale Sa­ che erscheint.
Bezugnehmend auf Fig. 1 ist es offensichtlich, daß die Da­ tenerzeugungseinrichtung 12 typischerweise einen Speicher und einen Prozessor umfaßt, welche in der Lage sind, einen Bildpuffer 16, einen Befehlsprotokollpuffer 18, einen Auto­ zustandspuffer 20, einen Geräte-ID-Puffer 22 und einen Da­ tenflußdosierungspuffer 24 zu schaffen. Die Datenerzeugungs­ einrichtung umfaßt ferner eine Hardware, eine Software oder eine Firmware zur Verwendung beim Errichten und Beibehalten von entweder einer unidirektionalen oder einer bidirektionalen Kommunikation mit der Datenverbrauchseinrichtung, wobei die Hardware, die Software oder die Firmware in dieser An­ meldung allgemein ausgedrückt als eine Kommunikationsverbin­ dung 26 bezeichnet werden. Auf ähnliche Weise umfaßt die Da­ tenverbrauchseinrichtung 14 einen Speicher und einen Prozes­ sor, welche in der Lage sind, einen Bildpuffer 28, einen Be­ fehlsprotokollpuffer 30, einen Autozustandspuffer 32, einen Geräte-ID-Puffer 34 und einen Datenflußdosierungspuffer 36 zu schaffen (ID = Identity = Kennung). Die Datenverbrauchs­ einrichtung verwendet ferner eine Hardware, eine Software oder eine Firmware, welche allgemein ausgedrückt als Kommu­ nikationsverbindung 38 bezeichnet werden. Es ist offensicht­ lich, daß dies im Bereich der Erfindung ist, da Kommunika­ tionsverbindungen 26, 38 in Hardware, Software, Firmware oder irgendeiner Kombination derselben implementiert werden können.
Bezugnehmend auf die Kommunikationsverbindung ist es offen­ sichtlich, daß die Datenverbrauchseinrichtung 14 Daten (z. B. Datenflußdosierungsinformationen) zur Übertragung zu einer Datenerzeugungseinrichtung 12 gemäß einem Paketaufteilungs­ protokoll, das durch die Kommunikationsverbindung 38 imple­ mentiert ist, in Pakete aufteilt. Ein Paketaufteilungsproto­ koll, das bei einem bevorzugten Ausführungsbeispiel der vor­ liegenden Erfindung verwendet wird, ist in Fig. 2 darge­ stellt. Typischerweise teilt die Datenerzeugungseinrichtung 12 Daten zur Übertragung zu der Datenverbrauchseinrichtung 14 gemäß demselben Paketaufteilungsprotokoll in Pakete auf, wobei jedoch das Paketaufteilungsprotokoll der Datenerzeu­ gungseinrichtung durch die Kommunikationsverbindung 26 im­ plementiert ist.
Wie es in Fig. 2 gezeigt ist, ist das erste Byte jedes Pa­ kets ein 8-Bit-Startbyte (z. B. der ASCII-Code für "$"). Das zweite Byte jedes Pakets ist ein 8-Bit-Kanalidentifizierer- oder -Kanal-ID-Byte, welches den Kanal in der Datenerzeu­ gungseinrichtung 12 identifiziert, zu dem das Paket gerich­ tet werden soll. Bei dem bevorzugten Ausführungsbeispiel werden alle Datenflußdosierungsinformationen zu einem ein­ zigen Kanal (z. B. Kanal n) für eine korrekte Verteilung der Datenflußdosierungsinformationen gesendet, wie es nachfol­ gend beschrieben wird. Das dritte und das vierte Byte jedes Pakets sind das Paketgrößenfeld, welches die Anzahl von Bytes definiert, welche noch folgen, bevor von dem Ende des Pakets ausgegangen wird. Schließlich sind das fünfte und je­ des darauffolgende Byte jedes Pakets die Daten, welche bei­ spielsweise Datenflußdosierungsinformationen umfassen kön­ nen.
Obwohl das vorher erwähnte Größenfeld eine Verwendung von Daten erlaubt, welche bis zu 64 kByte lang sind (wobei k = 2¹⁰ gilt), sind die Datenflußdosierungsinformationen bei dem bevorzugten Ausführungsbeispiel typischerweise nur 12 Byte lang. Wie es in Fig. 3 gezeigt ist, umfassen solche Daten­ flußdosierungsinformationen ein 8-Bit-Datenkanalfeld, wel­ ches den Datenkanal identifiziert, zu dem die Daten dosiert werden sollen (d. h. ein Datenbestimmungsort für die Daten­ verbrauchseinrichtung), ein 32-Bit-Feld für das gegenwärtige Guthaben, welches einen Einheitenzählwert (z. B. einen Byte- Zählwert) des freien Pufferraums (f) in dem Puffer des spe­ zifizierten Kanals liefert, und ein 32-Bit-Feld für das sich ändernde Guthaben, welches einen gegenwärtigen Guthabenwert (pcv; pcv = Present Credit Value) zur Verwendung beim Aktualisieren des Zählwerts für den freien Pufferraum iden­ tifiziert (das Feld für das gegenwärtige Guthaben ist nur beim Bestimmen des Zählwerts des freien Pufferraums zu dem Zeitpunkt des Hochfahrens genau, wenn die Pipeline für Daten zu dem Puffer der Kanäle frei ist).
Das Feld für das sich ändernde Guthaben trägt einen Gutha­ benwert, welcher um eine Anzahl fortgeschrieben worden ist, die der Anzahl von Speichereinheiten (z. B. Byte) entspricht, die seit dem letzten Zeitpunkt, zu dem ein Datenflußdosie­ rungspaket formatiert worden ist, freigemacht worden sind. Der sich ändernde Guthabenwert ist typischerweise konfigu­ riert, um beim Durchlaufen eines vorbestimmten Maximalwertes auf Null überzulaufen. Dieses Überlaufen verhindert jedoch nicht die Bestimmung der Differenz zwischen einem früheren, sich ändernden Guthabenwert und einem darauffolgenden sich ändernden Guthabenwert.
Gemäß der Erfindung können Pakete aus einer oder mehreren Quellen, welche Datenbestimmungsorte umfassen, zu denen Da­ ten von der Datenerzeugungseinrichtung 12 gesendet werden, austreten. Zusätzlich können Pakete zu einer oder mehreren Positionen, welche Datenquellen umfassen, gesendet werden, von denen Daten zum Verbrauch durch die Datenverbrauchsein­ richtung 14 austreten. Wie es jedoch in Fig. 2 gezeigt ist, können die Datenflußdosierungsinformationen mulitplext, in Pakete aufgeteilt und aneinandergekettet werden, um einen einzelnen Kommunikationsstrom zu bilden.
Fachleute werden es sehen, daß der oben beschriebene Kommu­ nikationsstrom von der Datenverbrauchseinrichtung 14 zu der Datenerzeugungseinrichtung 12 über jede Hardwarekommunika­ tionsverbindung und mit jedem Softwarekommunikationsproto­ koll, das in derselben verwendet wird, übertragen werden kann. In anderen Worten wird das Kommunikationssystem unab­ hängig davon arbeiten, ob die multiplexten und in Pakete aufgeteilten Datenflußdosierungsinformationen auf serielle Weise Bit-mäßig übertragen werden (z. B. über eine einzige serielle Bitübertragungsverbindung) oder ob eine parallele Kommunikationsverbindung mit mehreren Bits verwendet wird, oder ob dieselben einfach über einen Bus mit irgendeiner Bitbreite übertragen werden.
In Fig. 4 ist eine Kommunikationsvorrichtung 40 gezeichnet, wobei diese Vorrichtung zur Verwendung beim Multiplexen von in Paketen aufgeteilten Datenflußdosierungsinformationen an einer ersten Position und zum Demultiplexen der in Pakete aufgeteilten Datenflußdosierungsinformationen an einer zwei­ ten Position konfiguriert ist. Vorzugsweise umfaßt die Vor­ richtung 40 einen Multiplexer 42 zum Aneinanderketten von Paketen (was in Fig. 4 durch gerichtete Flußlinien gezeigt ist) welche Kanalinformationen von einer oder mehreren Quel­ len 44, 46, 48 enthalten. Ein Sender 50 übermittelt die an­ einandergeketteten, in Pakete aufgeteilten Datenflußdosie­ rungsinformationen über eine einzige Kommunikationsverbin­ dung 52 zu einem Empfänger. Es ist offensichtlich, daß die Quellen 44, 46, 48, der Multiplexer 42 und der Sender 50 derart aufgefaßt werden, daß sie zusammen wie die Datenver­ brauchseinrichtung 14 eine Datenflußdosierungsinformatio­ nen-Erzeugungseinrichtung sind. Jede Quelle ist in der Tat ein gepufferter Datenbestimmungsort der Datenverbrauchsein­ richtung.
Die Vorrichtung 40 umfaßt ferner einen Datenflußdosierungs­ informationen-Empfänger wie die Datenerzeugungseinrichtung 12, welche einen Empfänger, der im allgemeinen bei 54 ge­ zeigt ist, zum Empfangen der aneinandergeketteten, in Pakete aufgeteilten Datenflußdosierungsinformationen von der einzi­ gen Kommunikationsverbindung 52 und eine Zustandsmaschine 56 aufweist, um das Auspacken und Weiterleiten der in Pakete aufgeteilten Datenflußdosierungsinformationen durch Decodie­ ren und durch Entfernen den Kanalinformationen von jedem Paket und durch Speichern jedes der Pakete in einem oder mehreren Puffern 58, 60, 62, entsprechend der Kanalinforma­ tionen zu steuern. Es ist offensichtlich, daß die Puffer, wie z. B. Ringpuffer 58, 60, 62 den Kanälen 64, 66, 68 ent­ sprechen, welche Übertragungskanäle sind, die eher einem logischen als einem physischen Aufbau entsprechen. Diese Kanäle können Datenflußdosierungsinformationen oder andere Daten oder Informationen von der Datenverbrauchseinrichtung tragen. Ferner ist es offensichtlich, daß eine typische Da­ tenerzeugungseinrichtung, wie z. B. ein PC, einen einzigen Kanal (z. B. den Kanal n) zum Empfangen von Datenflußdosie­ rungsinformationen zum Datenflußdosieren seiner verschie­ denen Datenkanäle verwenden wird. Solche Datenflußdosie­ rungsinformationen werden anschließend geeignet weitergelei­ tet, um ein korrektes Datenflußdosieren in jedem Datenkanal zu bewirken.
Die Vorrichtung 40 umfaßt ferner vorzugsweise eine Direkt­ speicherzugriffs- (DMA-; DMA = Direct Memory Access) Steue­ rung 70, die mit der Zustandsmaschine 56 und mit den Puffern 58, 60, 62 zum Schreiben der Pakete in den Speicher wirksam verbunden ist. Fachleute werden es würdigen, daß im Bereich dieser Erfindung jedes Speicherschema verwendet werden kann.
Wenn die in Pakete aufgeteilten Datenflußdosierungsinforma­ tionen einen Anfangsblock umfassen, der einen Paketlängen­ anzeiger aufweist, wie es in Fig. 2 gezeigt ist, umfaßt die Vorrichtung 40 ferner ein erstes Hardwareregister 72 ("GRÖSSE"), das mit der Zustandsmaschine 56 zum Speichern des Län­ genanzeigers wirksam gekoppelt ist. Wenn das Paket eine oder mehrere Entitäten enthält, wird die Vorrichtung 40 ferner einen Zähler 74 aufweisen, der mit dem ersten Hardwareregi­ ster 72 wirksam gekoppelt ist, zum Anzeigen, wenn die Anzahl von Entitäten, die in jedem Paket enthalten sind, in einem entsprechenden der Puffer 58, 60, 62 gespeichert sind. Wenn die in Pakete aufgeteilten Datenflußdosierungsinformationen einen Bestimmungsortkanalidentifizierer umfassen, umfaßt die Vorrichtung 40 ferner ein zweites Hardwareregister 76, das mit der Zustandsmaschine 56 wirksam gekoppelt ist, um den Kanalidentifizierer zu speichern. Wenn schließlich die in Pakete aufgeteilten Datenflußdosierungsinformationen einen Beginn-des-Pakets- (SOP; SOP = Start-Of-Packet) Identifizie­ rer umfassen, umfaßt die Vorrichtung 40 ferner ein drittes Hardwareregister 78, das mit der Zustandsmaschine 56 wirksam gekoppelt ist, um die empfangenen, aneinandergeketteten in Pakete aufgeteilten Datenflußdosierungsinformationen mit dem vordefinierten SOP-Identifizierer zu vergleichen, und um die Register 72, 76, zu steuern.
Bei bestimmten Implementationen der erfindungsgemäßen Vor­ richtung, bei denen die Datenflußdosierungspakete an der zweiten Position über eines oder mehrere Eingabe/Ausgabe- (IO-) Tore, wie z. B. ein serielles Tor 80 und ein paralleles Tor 82, ankommen können, kann die Vorrichtung 40 ferner ei­ nen IO-Multiplexer oder eine Auswahlvorrichtung 84 zum Aus­ wählen eines Übertragungskanals für Datenflußdosierungsin­ formationen aus einem oder dem anderen der IO-Tore aufwei­ sen.
Bezugnehmend nun auf Fig. 5 ist ein Flußdiagramm, das einen Betrieb der Datenquelle gemäß einem bevorzugten Ausführungs­ beispiel des erfindungsgemäßen Datenflußdosierungsverfahrens zeigt, dargestellt. Es ist offensichtlich, daß Flußdiagramm­ konventionen verwendet wurden, die in einen Steuerfluß im allgemeinen von oben nach unten und von rechts nach links, wie er durch Pfeile gezeigt ist, und darin resultiert, daß Handlungsblöcke durch Rechtecke und Entscheidungsblöcke durch Diamanten bezeichnet sind. Nach links zeigende Pfeile ("←") in den Handlungsblöcken und im Text stellen Zuweisun­ gen von Werten zu Variablen dar.
Dem Flußdiagramm wird unabhängig für jeden Datenkanal, wel­ cher datenflußmäßig dosiert werden soll, gefolgt, wobei der Datenkanal in den Datenflußdosierungsinformationen identifi­ ziert ist, wie es in Fig. 3 gezeigt ist. Ferner müssen Pake­ te nicht notwendigerweise gemäß dem oben beschriebenen Kom­ munikationsprotokoll empfangen werden, solange der Datenka­ nal, das gegenwärtige Guthaben und das sich ändernde Gutha­ ben der Datenquelle zur Verwendung übermittelt werden, wie es nachfolgend beschrieben wird.
Das bevorzugte Nachrichtendatenflußdosierungsverfahren be­ ginnt mit dem Empfang eines ursprünglichen Datenflußdosie­ rungspakets bei 200, wobei das Paket ein Datenkanalfeld, welches den Datenkanal spezifiziert, für den die Datenfluß­ dosierungsinformationen geliefert werden, ein Feld für das gegenwärtige Guthaben, welches einen anfänglichen Zählwert für die Anzahl von Speichereinheiten (z. B. Byte) schafft, welche zum Empfang von Daten in dem spezifizierten Datenka­ nal verfügbar sind, und ein Feld für das sich ändernde Gut­ haben aufweist, welches typischerweise einen Zeigerwert aufweist, welcher durch die Datenverbrauchseinrichtung fort­ geschrieben wird, sobald Speichereinheiten in dem spezifi­ zierten Kanal verfügbar werden. Beim Empfang des anfängli­ chen Datenflußdosierungspakets für einen Kanal wird der freie Pufferraum dieses Kanals (d. h. die Anzahl der verfüg­ baren Speichereinheiten) bei 202 identifiziert, wobei der freie Pufferraum (f) anfänglich durch das Feld für das ge­ genwärtige Guthaben des anfänglichen Datenflußdosierungspa­ kets definiert ist. Ein Anfangsguthabenwert (bcv; bcv = be­ ginning credit value) wird auf ähnliche Weise bei 204 iden­ tifiziert, wobei der Anfangsguthabenwert durch das Feld für das sich ändernde Guthaben des anfänglichen Datenflußdosie­ rungspakets definiert ist. Anschließend treten wiederholt Datenflußvermittlungs- und Datenübertragungsoperationen auf, und zwar auf überlappende Art und Weise (zeitlich verschach­ telt), wobei jede Operation durch getrennte, jedoch aufein­ ander bezogene Verzweigungen des gezeichneten Flußdiagramms dargestellt ist.
Die Datenflußdosierungsoperation beginnt mit dem Empfang ei­ nes folgenden Datenflußdosierungspakets bei 206. Es ist of­ fensichtlich, daß folgende Datenflußdosierungspakete perio­ disch mit einer vorbestimmten Rate empfangen werden können, oder daß sie etwas weniger konsistent entweder aufgrund des Entwurfs oder aufgrund einer unzuverlässigen Kommunikations­ verbindung empfangen werden können. In beiden Fällen wird die Datenübertragungsoperation fortgesetzt, und zwar so lan­ ge, wie bestimmt wird, daß in dem Puffer des spezifizierten Datenbestimmungsorts genügend Pufferraum verfügbar ist (d. h. so lange, wie f < 0 ist).
Beim Empfang eines folgenden Datenflußdosierungspakets wird ein gegenwärtiger Guthabenwert (pcv) bei 208 identifiziert, wobei der gegenwärtige Guthabenwert durch das Feld für das sich verändernde Guthaben dieses Datenflußdosierungspakets definiert ist. Wenn der Anfangsguthabenwert (bcv) und der gegenwärtige Guthabenwert (pcv) identifiziert sind, ist es möglich, genau die Anzahl von Speichereinheiten zu bestim­ men, welche in dem Puffer des spezifizierten Kanals frei­ gemacht worden sind, seit der Anfangsguthabenwert identifi­ ziert wurde. Das sich verändernde Guthaben, so sei in Erin­ nerung gerufen, wird mit jedem freigemachten Speicherfeld fortgeschrieben. Der freigemachte Speicherplatz (fd) wird somit bei 210 durch Bestimmen der Differenz zwischen dem An­ fangsguthabenwert und dem gegenwärtigen Guthabenwert defi­ niert (fd ← pcv - bcv). Der Wert für den freien Pufferraum (f) wird bei 212 aktualisiert, indem die Summe des vorher bestimmten freien Pufferraums und des freigemachten Puffer­ raums bestimmt wird (f ← f + fd). Der gegenwärtige Gutha­ benwert wird dann als der Anfangsguthabenwert (bcv ← pcv) bei 214 zur Verwendung bei der nächsten Datenflußdosierungs­ operation gespeichert.
Die Übertragungsoperation wird entsprechend durch die Daten­ erzeugungseinrichtung ausgeführt, wobei Daten zu dem Puffer des spezifizierten Kanals (zu dem Datenbestimmungsort) nur so lange gesendet werden, solange Daten zu senden sind und ein freier Pufferplatz zurückbleibt. Demgemäß wird ange­ merkt, daß die gezeichnete Übertragungsoperation bei 216 be­ ginnt, indem die Anzahl von Dateneinheiten identifiziert wird, welche zum Senden zu dem spezifizierten Kanalpuffer verfügbar sind (ua; ua = Units Available = verfügbare Einheiten), wobei die Übertragungsoperation bei 218 fortge­ setzt wird, indem die Anzahl von Dateneinheiten bestimmt wird, welche zu dem spezifizierten Kanalpuffer gesendet werden dürfen (up; up = Units Permitted = erlaubte Einhei­ ten). Für Fachleute ist es offensichtlich, daß die Anzahl von Dateneinheiten, die gesendet werden dürfen, kleiner als die Anzahl von verfügbaren Dateneinheiten (ua) und die An­ zahl von freien Speichereinheiten (f) ist. Dies ist durch folgenden Ausdruck dargestellt: up MIN (f, ua). Daten wer­ den dann bei 220 zu dem Puffer des spezifizierten Kanals übertragen, wonach der Wert des freien Pufferraums (f) bei 222 aktualisiert wird, um den Empfang der gesendeten Daten­ einheiten wiederzugeben (f f - up). Es ist somit offen­ sichtlich, daß der Wert für den freien Pufferraum sowohl durch die Datenflußdosierungs- als auch die Datenübertra­ gungsoperation aktualisiert wird.
Da die Datenflußdosierung basierend auf einer Änderung des aufgezeichneten Pufferraums den bestimmten freien Pufferraum aktualisiert (und nicht einfach aufgrund eines Identifizie­ rers bezüglich von neu freigemachtem Raum, der von dem Da­ tenbestimmungsort empfangen wird), ist eine genaue Abrech­ nung des freien Pufferraums möglich. Ferner wird das eben beschriebene Nachrichtendatenflußdosierungsverfahren für jeden Datenkanal durchgeführt und dasselbe kann auf sich überlappende Weise (zeitlich verschachtelte Weise) gemäß dem hierin beschriebenen Kommunikationsverbindungsprotokoll auf­ treten. Demgemäß wird jeder Datenkanal unabhängig voneinan­ der datenflußmäßig dosiert, wodurch die Möglichkeit eines Kommunikationsstaus aufgrund eines, jedoch nicht aller, vollwerdenden Datenkanalpuffers verringert wird.
Das vorgeschlagene Verfahren zum Datenflußdosieren eines Datenstroms, der von einer Datenquelle zu einem oder mehre­ ren mit Puffern versehenen Datenbestimmungsorten übertragen wird, umfaßt daher die folgenden Schritte: (1) Identifizie­ ren eines Anfangsguthabenwerts des Datenbestimmungsorts; (2) Inkrementieren des Anfangsguthabenwerts mit jeder freige­ machten Speichereinheit an diesem Datenbestimmungsort, um einen gegenwärtigen Guthabenwert für den Datenbestimmungsort zu identifizieren; (3) Übertragen von Dateneinheiten zu dem relevanten Datenbestimmungsort, wobei die Anzahl der zu dem Datenbestimmungsort übertragenen Dateneinheiten einen ent­ sprechenden Übertragungszählwert liefert, wobei die Daten­ einheitenübertragung zu diesem Datenbestimmungsort auf nicht mehr als die bestimmte Anzahl von verfügbaren Speicherein­ heiten dieses Datenbestimmungsorts begrenzt ist; (4) selek­ tives Aktualisieren der bestimmten Anzahl von verfügbaren Speichereinheiten für den relevanten Datenbestimmungsort durch Bestimmen der Differenz zwischen dem Anfangsguthaben­ wert und dem gegenwärtigen Guthabenwert des spezifizierten Datenbestimmungsorts, um eine Anzahl von Speichereinheiten zu bestimmen, die an diesem Datenbestimmungsort freigemacht worden sind, seit sein Anfangsguthabenwert identifiziert wurde, und Bestimmen der Summe der vorher bestimmten Anzahl von verfügbaren Speichereinheiten an dem relevanten Datenort und der Anzahl von Speichereinheiten, die an diesem Datenort freigemacht worden sind, um eine aktualisierte bestimmte An­ zahl von verfügbaren Speichereinheiten für den Datenbestim­ mungsort zu schaffen; und (5) selektives Aktualisieren der bestimmten Anzahl von verfügbaren Speichereinheiten für den relevanten Datenbestimmungsort durch Bestimmen der Differenz zwischen dem entsprechenden Übertragungszählwert und der vorher bestimmten Anzahl von verfügbaren Speichereinheiten an dem relevanten Datenbestimmungsort, um eine aktualisierte bestimmte Anzahl von verfügbaren Speichereinheiten für den Datenbestimmungsort zu schaffen.
Schließlich bezugnehmend auf Fig. 6 ist die Übertragungsope­ ration (für das Übertragen von sowohl Datenflußdosierungsin­ formationen als auch von Daten) ferner durch ein Flußdia­ gramm dargestellt, das die Art und Weise darstellt, auf die die Vorrichtung 40 bezüglich ihres Betriebs beschrieben wor­ den ist. Wie es gezeigt ist, ist die vorgeschlagene Übertra­ gungsoperation in der Lage, Daten (Bilddaten, Befehlsdaten, Datenflußdosierungsinformationen, usw.) von zwei Quellen auf eine einzige Kommunikationsverbindung zu multiplexen, und die Daten an zwei Bestimmungsorten zu demultiplexen und zu speichern. Vorzugsweise umfaßt das Verfahren folgende Schritte: (1) bei 100, Anhängen von vordefinierten Anfangs­ blockinformationen an einen ersten Satz von Daten, wobei die Anfangsblockinformationen einen ersten Bestimmungsort für den ersten Satz von Daten identifizieren, wodurch ein erstes Paket erzeugt wird; (2) bei 102, Anhängen von vordefinierten Anfangsblockinformationen an einen zweiten Satz von Daten, wobei die Anfangsblockinformationen einen zweiten Bestim­ mungsort für den zweiten Satz von Daten identifizieren, wo­ durch ein zweites Paket erzeugt wird; (3) bei 104, Aneinan­ derketten des ersten und des zweiten Pakets, um einen Daten­ strom mit mehreren Paketen zu erzeugen; (4) bei 106, Bewir­ ken, daß der Datenstrom über eine einzige Datenverbindung zu den zwei Bestimmungsorten übertragen wird; und (5) bei 108; (5a) bei 108a, Entfernen der Anfangsblockinformationen von dem ersten und dem zweiten Paket in dem Datenstrom und (5b) bei 108b, Leiten des ersten und des zweiten Pakets zu dem geeigneten der zwei Bestimmungsorte basierend auf den den Bestimmungsort identifizierenden Anfangsblockinformationen zum Speichern des ersten und des zweiten Pakets.
Vorzugsweise umfassen, wie es am besten in Fig. 2 darge­ stellt ist, die Anfangsblockinformationen ferner einen Län­ genidentifizierer für sowohl das erste als auch das zweite Paket. Ferner sind die Längenidentifizierer vorzugsweise Da­ teneinheitenzählwerte, wobei ferner jeder Längenidentifizie­ rer gespeichert und verwendet wird, um anzuzeigen, wann so­ wohl das erste als auch das zweite Paket zum Speichern wei­ tergeleitet worden sind. Ebenfalls vorzugsweise umfassen die Anfangsblockinformationen ferner einen vordefinierten Start-des-Pakets-Anzeiger, obwohl es offensichtlich ist, daß alternative Verfahren zum Anzeigen des Starts eines Pakets im Bereich der Erfindung entworfen werden können. Vorzugs­ weise umfaßt das erfindungsgemäße Verfahren ferner bei 110 (6) das Decodieren der Bestimmungsort-identifizierenden An­ fangsblockinformationen, um den ersten und den zweiten der zwei Bestimmungsorte auszuwählen. Wie es oben durch Bezug­ nahme auf Fig. 4 dargelegt wurde, wird es bevorzugt, daß der Teilschritt (5b) des Weiterleitens zum Speichern, der in Fig. 4 bei 108b gezeigt ist, über einen direkten Speicherzu­ griff und durch Verwendung der DMA-Steuerung 70 (DMA = Direct Memory Access = direkter Speicherzugriff) durchge­ führt wird.
Eine Ausnahmehandhabung kann auf eine Anzahl von Arten und Weisen durchgeführt werden. Bei einem bevorzugten Kommunika­ tionsteilsystem führt der Bestimmungsort, wenn er einen Datenverlust oder einen Paketrahmenverlust erfaßt, zwei getrennte Handlungen durch, die das Protokoll mit einer Vielzahl von Quellen kompatibel machen. Zuerst sendet derselbe einen Autozustand zu der Quelle, der anzeigt, daß er einen Verlust von Daten oder von einer Rahmensynchronisa­ tion erfahren hat. Derselbe wartet ferner ein paar Sekunden und beginnt dann wieder, nach einem Start-des-Pakets-Byte zu suchen. Somit kann die Quelle unabhängig davon, ob sie den Autozustand des Bestimmungsorts abfragt oder "pollt", damit fortfahren, Daten zu dem Bestimmungsort zu senden, wobei der Verlust von Daten oder von der Synchronisation in einer ein­ fach erfaßten fehlenden oder verstümmelten Seite resultiert. Dies erlaubt es der Übertragungsoperation, mit nahezu jeder Treibersoftware und mit einer beliebigen IO-Tor-Hardware oder einem beliebigen Softwareprotokoll zu arbeiten, sei es unidirektional oder bidirektional.
Das vorgeschlagene Datenflußdosierungsverfahren ist ferner zur Verwendung in Verbindung mit einer Datenerzeugungsein­ richtung anpaßbar, welche nicht in der Lage ist (oder nicht willig ist), Datenflußdosierungsinformationen zu empfangen, indem eine automatisierte Umwandlung des Systems geschaffen wird. Wenn von der Dateerzeugungseinrichtung 12 Datenfluß­ dosierungsinformationen ignoriert werden, wird das Daten­ flußdosieren gemäß der IEEE-1284-Kompatibilität auftreten, oder es wird eine ECP-Verzögerung von Daten auftreten, indem die BESCHÄFTIGT-Leitung ("BUSY"-Leitung) (nicht gezeigt) der Datenverbrauchseinrichtung 14 hoch (aktiv) gehalten wird.
Es ist also zu sehen, daß das erfindungsgemäße Nachrichten­ datenflußdosierungsverfahren eine wesentliche Verbesserung gegenüber früher verwendeten Datenflußdosierungsverfahren schafft, indem eine zuverlässige Bestimmung von Datenfluß­ dosierungsinformationen durch die Datenquellendaten über Da­ tenflußdosierungspakete von einem oder mehreren beabsichtig­ ten Bestimmungsortpuffern ermöglicht wird. Eine Firmware und ihre begleitende RAM- und ROM-Hardwareunterstützungsschal­ tung ist reduziert, wobei das Verfahren zu einer Vielzahl von existierenden Datenerzeugungseinrichtungen, Datenquellen und IO-Hardwareverbindungen kompatibel ist, seien sie uni­ direktional oder bidirektional. Demgemäß wird die Leistung von Druckern, Scannern, Faxmaschinen und anderen Geräten durch die Verwendung der Erfindung wesentlich erhöht.

Claims (7)

1. Verfahren zum Datenflußdosieren eines Stroms von Daten­ einheiten, die von einer Datenquelle zu einem spezifi­ zierten, mit einem Puffer versehenen Datenbestimmungs­ ort übertragen werden, der eine bestimmte Anzahl von verfügbaren Speichereinheiten beim Einleiten einer Kommunikation aufweist, wobei der Datenbestimmungsort konfiguriert ist, um Dateneinheiten zu verbrauchen, und um dadurch Speichereinheiten zum Empfang von zusätzli­ chen Dateneinheiten freizumachen, wobei das Verfahren folgende Schritte aufweist:
Identifizieren (204, 214) eines Anfangsguthabenwerts;
Inkrementieren des Anfangsguthabenwerts mit jeder frei­ gemachten Speichereinheit, um einen gegenwärtigen Gut­ habenwert zu identifizieren (208);
Übertragen (220) von Dateneinheiten zu dem Datenbestim­ mungsort, wobei die Anzahl der übertragenen Datenein­ heiten einen Übertragungszählwert liefert, wobei die Dateneinheitenübertragung auf einen Übertragungszähl­ wert begrenzt ist, welcher nicht größer als die be­ stimmte Anzahl von verfügbaren Speichereinheiten ist;
selektives Aktualisieren (210, 212) der bestimmten An­ zahl von verfügbaren Speichereinheiten durch Bestimmen der Differenz zwischen dem Anfangsguthabenwert und dem gegenwärtigen Guthabenwert, um eine Anzahl von seit dem letzten Identifizieren des Anfangsguthabenwerts freige­ machten Speichereinheiten zu identifizieren, und durch Bestimmen der Summe der vorher bestimmten Anzahl von verfügbaren Speichereinheiten und der Anzahl von frei­ gemachten Speichereinheiten, um eine aktualisierte be­ stimmte Anzahl von verfügbaren Speichereinheiten zu schaffen; und
selektives Aktualisieren (222) der bestimmten Anzahl von verfügbaren Speichereinheiten durch Bestimmen der Differenz zwischen dem Übertragungszählwert und der vorher bestimmten Anzahl von verfügbaren Speicherein­ heiten, um eine aktualisierte bestimmte Anzahl von ver­ fügbaren Speichereinheiten zu schaffen.
2. Verfahren gemäß Anspruch 1, welches ferner das selektive Wiederholen der Schritte des Identifizierens, des Inkrementierens, des Übertra­ gens und des Aktualisierens aufweist.
3. Verfahren gemäß Anspruch 2, bei dem der Anfangsguthabenwert der gegenwärtige Gutha­ benwert des vorherigen Inkrementierungsschrittes ist.
4. Verfahren gemäß Anspruch 2 oder 3, welches ferner das periodische Übertragen (106) von Da­ tenflußdosierungsinformationen von dem Datenbestim­ mungsort zu der Datenquelle aufweist.
5. Verfahren gemäß Anspruch 4, bei dem die Datenflußdosierungsinformationen den gegen­ wärtigen Guthabenwert aufweisen, wobei der gegenwärtige Guthabenwert durch Inkrementieren eines Feldes für ein sich verändertes Guthaben mit jeder an dem spezifizier­ ten Datenbestimmungsort freigemachten Speichereinheit bestimmt wird.
6. Verfahren gemäß Anspruch 4 oder 5, bei dem die Schritte des Identifizierens, des Inkremen­ tierens und des Aktualisierens jedesmal wiederholt wer­ den, wenn Datenflußdosierungsinformationen durch die Datenquelle empfangen werden.
7. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem der Schritt des Übertragens ferner das Identi­ fizieren (216) der Anzahl von zum Senden verfügbaren Dateneinheiten und das Bestimmen (218) der Anzahl von zum Senden erlaubten Dateneinheiten aufweist, wobei die Anzahl von übertragenen Dateneinheiten kleiner als die Anzahl von zum Senden verfügbaren Dateneinheiten und die Anzahl von zum Senden erlaubten Dateneinheiten ist.
DE19652541A 1996-03-29 1996-12-17 Nachrichtendatenflußdosierungsverfahren Withdrawn DE19652541A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/626,224 US5748613A (en) 1996-03-29 1996-03-29 Communication pacing method

Publications (1)

Publication Number Publication Date
DE19652541A1 true DE19652541A1 (de) 1997-10-02

Family

ID=24509478

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19652541A Withdrawn DE19652541A1 (de) 1996-03-29 1996-12-17 Nachrichtendatenflußdosierungsverfahren

Country Status (4)

Country Link
US (1) US5748613A (de)
JP (1) JPH1023078A (de)
DE (1) DE19652541A1 (de)
GB (1) GB2311700B (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK87422C (da) * 1951-05-23 1959-06-15 Emil Menz Anordning ved damekorsetter.
US6249819B1 (en) * 1996-12-06 2001-06-19 Fujitsu Network Communications, Inc. Method for flow controlling ATM traffic
US6115357A (en) * 1997-07-01 2000-09-05 Packeteer, Inc. Method for pacing data flow in a packet-based network
US6393407B1 (en) 1997-09-11 2002-05-21 Enliven, Inc. Tracking user micro-interactions with web page advertising
US6477164B1 (en) * 1998-03-27 2002-11-05 Clarent Corporation System and method for real-time data and voice transmission over an internet network
US6289386B1 (en) * 1998-05-11 2001-09-11 Lsi Logic Corporation Implementation of a divide algorithm for buffer credit calculation in a high speed serial channel
US6412022B1 (en) * 1998-09-30 2002-06-25 Hewlett-Packard Company Simultaneous print and scan logical channel network multifunction peripheral
GB2344030B (en) * 1998-11-17 2003-06-04 3Com Technologies Ltd Credit-based scheme for high performance communication between devices in a packet-based communication system
GB2344031B (en) * 1998-11-19 2004-03-10 Nds Ltd Improvements in or relating to processing digital signals
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US6657955B1 (en) * 1999-05-27 2003-12-02 Alcatel Canada Inc. Buffering system employing per traffic flow accounting congestion control
US6785241B1 (en) * 1999-12-02 2004-08-31 International Business Machines Corporation Method for pacing buffered data transfers over a network such as fibre channel
AU2001236303A1 (en) * 2000-02-25 2001-09-03 Telefonaktiebolaget Lm Ericsson (Publ) Flow control between transmitter and receiver entities in a communications system
US7072299B2 (en) * 2001-08-20 2006-07-04 International Business Machines Corporation Credit-based receiver using selected transmit rates and storage thresholds for preventing under flow and over flow-methods, apparatus and program products
US9836424B2 (en) 2001-08-24 2017-12-05 Intel Corporation General input/output architecture, protocol and related methods to implement flow control
KR100624610B1 (ko) 2001-08-24 2006-09-19 인텔 코오퍼레이션 데이터 무결성을 관리하는 범용 입출력 아키텍쳐 프로토콜및 관련 방법
US7177971B2 (en) * 2001-08-24 2007-02-13 Intel Corporation General input/output architecture, protocol and related methods to provide isochronous channels
CA2387654A1 (en) * 2002-05-24 2003-11-24 Alcatel Canada Inc. Partitioned interface architecture for transmission of broadband network traffic to and from an access network
DE602004030497D1 (de) 2003-01-23 2011-01-27 Alcatel Lucent Verfahren und System versehen mit Durchflussregelung in einem Netzwerksystem
US7353284B2 (en) * 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
JP2005149029A (ja) * 2003-11-13 2005-06-09 Matsushita Electric Ind Co Ltd コンテンツ配信システム、コンテンツサーバ、コンテンツ受信装置、コンテンツ配信方法、プログラム及び記録媒体
JP4621604B2 (ja) * 2006-02-20 2011-01-26 株式会社東芝 バス装置、バスシステムおよび情報転送方法
EP2077504B1 (de) * 2006-10-24 2013-03-13 Fujitsu Limited System, verfahren und programm zum senden/empfangen von datenpaketen
US7643504B2 (en) * 2006-11-29 2010-01-05 Applied Micro Circuits Corporation Credit based flow control in an asymmetric channel environment
US7877551B2 (en) * 2007-06-26 2011-01-25 International Business Machines Corporation Programmable partitioning for high-performance coherence domains in a multiprocessor system
US7827391B2 (en) 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
US8509255B2 (en) 2007-06-26 2013-08-13 International Business Machines Corporation Hardware packet pacing using a DMA in a parallel computer
US8458282B2 (en) 2007-06-26 2013-06-04 International Business Machines Corporation Extended write combining using a write continuation hint flag
US7886084B2 (en) 2007-06-26 2011-02-08 International Business Machines Corporation Optimized collectives using a DMA on a parallel computer
US8103832B2 (en) * 2007-06-26 2012-01-24 International Business Machines Corporation Method and apparatus of prefetching streams of varying prefetch depth
US8756350B2 (en) 2007-06-26 2014-06-17 International Business Machines Corporation Method and apparatus for efficiently tracking queue entries relative to a timestamp
GB2464129A (en) * 2008-10-06 2010-04-07 Ibm Persistent information unit pacing protocol for fibre channel communications

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5844584A (ja) * 1981-09-11 1983-03-15 Hitachi Ltd マトリクス記録の制御回路
US4839891A (en) * 1987-07-24 1989-06-13 Nec Corporation Method for controlling data flow
US4939724A (en) * 1988-12-29 1990-07-03 Intel Corporation Cluster link interface for a local area network
JP3083344B2 (ja) * 1990-05-25 2000-09-04 ヒューレット・パッカード・カンパニー データの圧縮及び圧縮解除方法
US5432784A (en) * 1993-07-26 1995-07-11 Digital Equipment Corporation Flow control method and apparatus for systems with long distance links
US5633867A (en) * 1994-07-01 1997-05-27 Digital Equipment Corporation Local memory buffers management for an ATM adapter implementing credit based flow control
US5432824A (en) * 1994-07-06 1995-07-11 Mitsubishi Electric Research Laboratories, Inc. Credit/rate-based system for controlling traffic in a digital communication network
US5515359A (en) * 1994-08-26 1996-05-07 Mitsubishi Electric Research Laboratories, Inc. Credit enhanced proportional rate control system
US5453982A (en) * 1994-08-29 1995-09-26 Hewlett-Packard Company Packet control procedure between a host processor and a peripheral unit
US5528591A (en) * 1995-01-31 1996-06-18 Mitsubishi Electric Research Laboratories, Inc. End-to-end credit-based flow control system in a digital communication network

Also Published As

Publication number Publication date
GB2311700A (en) 1997-10-01
JPH1023078A (ja) 1998-01-23
US5748613A (en) 1998-05-05
GB9705174D0 (en) 1997-04-30
GB2311700B (en) 2000-05-17

Similar Documents

Publication Publication Date Title
DE19652541A1 (de) Nachrichtendatenflußdosierungsverfahren
DE69031266T2 (de) Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk
DE2731963C2 (de) Verfahren und Anordnung zum Zugriff mehrerer Datenstationen zu einem gemeinsamen Übertragungskanal
DE102007004044B4 (de) Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
DE102006058818B4 (de) Vorrichtung und Verfahren zur Umwandlung von Textmitteilungen
DE69628512T2 (de) Kompakter, anpassbarer Uberbrückungs-/Leitweglenkungsvermittlungsschalter
DE3783824T2 (de) Uebertragungsweg mit veraenderlichem datenfluss fuer digitales netzwerk.
EP1989598B1 (de) Verfahren, kommunikationsnetzwerk und steuereinheit zum zyklischen übertragen von daten
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE2503111A1 (de) Vermittlungs-verfahren zur multiplexen uebertragung von informationen und schaltungsanordnung zur durchfuehrung dieses verfahrens
DE102014108457B3 (de) Netzwerkverteiler
DE4329048A1 (de) Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk
EP0329005B1 (de) Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen
DE102021205793A1 (de) Genauigkeit des zeitstempels auf der empfangsseite
DE68913028T2 (de) Empfangs- und Bearbeitungssystem für PCM-TDM-mehrwegübertragene HDLC-Rahmen, insbesondere für Datenvermittler.
DE3586919T2 (de) Verfahren zur steuerung von informationsuebertragung.
EP0566961A2 (de) Verfahren und Schaltungsanordnung zum Überprüfen der Einhaltung vorgegebener Übertragungsbitraten in einer ATM- Vermittlungseinrichtung
DE19709248A1 (de) Verfahren und Vorrichtung zum Übertragen von Datenbyteströmen
WO2019166888A1 (de) Master-slave bussystem und verfahren zum betrieb eines bussystems
DE60226167T2 (de) Computersystem-e/a-knoten
EP0509114B1 (de) Verfahren zum Übertragen von Daten an mehrere Datenstationen
DE69927378T2 (de) Bitstopfung für synchrones hdlc
EP1121645A1 (de) Elektronische steuereinrichtung mit einem parallelen datenbus und verfahren zum betreiben der steuereinrichtung
EP3910886A1 (de) Vorrichtung und verfahren zur datenübertragung auf mehreren datenübertragungskanälen
DE10029986A1 (de) Schnittstellensteuervorrichtung und Computersystem zum Steuern der Datenübertragung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE),

8130 Withdrawal