DE19652541A1 - Nachrichtendatenflußdosierungsverfahren - Google Patents
NachrichtendatenflußdosierungsverfahrenInfo
- 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
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
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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/39—Credit 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.
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.
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)
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)
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 |
-
1996
- 1996-03-29 US US08/626,224 patent/US5748613A/en not_active Expired - Fee Related
- 1996-12-17 DE DE19652541A patent/DE19652541A1/de not_active Withdrawn
-
1997
- 1997-03-13 GB GB9705174A patent/GB2311700B/en not_active Expired - Fee Related
- 1997-03-26 JP JP9074084A patent/JPH1023078A/ja active Pending
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 |