DE69925478T2 - Vorrichtung und verfahren zum pufferschutz - Google Patents

Vorrichtung und verfahren zum pufferschutz Download PDF

Info

Publication number
DE69925478T2
DE69925478T2 DE69925478T DE69925478T DE69925478T2 DE 69925478 T2 DE69925478 T2 DE 69925478T2 DE 69925478 T DE69925478 T DE 69925478T DE 69925478 T DE69925478 T DE 69925478T DE 69925478 T2 DE69925478 T2 DE 69925478T2
Authority
DE
Germany
Prior art keywords
message
messages
dosing
buffer
data flow
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.)
Expired - Lifetime
Application number
DE69925478T
Other languages
English (en)
Other versions
DE69925478T8 (de
DE69925478D1 (de
Inventor
Lars Blomgren
Bengt Nordberg
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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
Priority claimed from SE9801132A external-priority patent/SE9801132D0/xx
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE69925478D1 publication Critical patent/DE69925478D1/de
Publication of DE69925478T2 publication Critical patent/DE69925478T2/de
Publication of DE69925478T8 publication Critical patent/DE69925478T8/de
Active legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Vorrichtungen und Verfahren, die Nachrichten, interne sowie externe Nachrichten, in Verbindung mit zwischen Prozessen, Modulen, etc. gesendeten Nachrichten puffern, und insbesondere einen Schutz eines Nachrichtenpuffers, der gemäß dem First-In-First-Out-Prinzip arbeitet, gegenüber einer Überladung bzw. einer Überlastung.
  • ZUGEHÖRIGER STAND DER TECHNIK
  • Ein digitales System weist unterschiedliche digitale Einheiten, wie z.B. Prozessoren, auf, die miteinander kommunizieren, und es weist Hardware und Software auf. Die meisten Prozessoren können nur eine Sache gleichzeitig durchführen, weshalb der Software-Teil der Einheiten mehrere Funktionen realisiert. Die Funktionen sind normalerweise in Module aufgeteilt, welche durch Senden von Nachrichten zueinander kommunizieren. Einige Module sind für mehrere Funktionen gemeinsam, was es nötig macht, Nachrichten in Warteschlangen zu bringen, da sie nicht gleichzeitig arbeiten können. Dies wird allgemein durch Legen von ihnen in Puffer erreicht. Weiterhin kann eine Funktion oft in mehreren Kopien (Prozessen) parallel laufen gelassen werden, was es auch nötig macht, Nachrichten in eine Warteschlange zu bringen, d.h. sie in Puffer zu legen. Auf dem Gebiet der Telefonie können mehrere Anrufe gleichzeitig aufgebaut werden.
  • Ein Puffer kann auf unterschiedliche Arten angeordnet sein. Eine oft eingesetzte Art besteht darin, dass der Puffer die ankommenden Nachrichten in aufeinander folgender Reihenfolge speichert und die erste in den Puffer eingegebene Nachricht die erste Nachricht wird, die weitergeleitet wird. Dieses First-In-First-Out-Verfahren ist bei den meisten Prozessorkommunikationen gewöhnlich bzw. normal. Ein Puffer hat eine bestimmte Speicherkapazität. Wenn ein Puffer eine Speicherkapazität einer bestimmten Anzahl von Nachrichten von einem spezifischen Modul hat, kann der Puffer überladen werden, wenn die Differenz zwischen ankommenden Nachrichten zu dem Puffer und ausgehenden Nachrichten von dem Puffer größer als die Anzahl von speicherbaren Nachrichten wird.
  • In der japanischen Patentanmeldung JP 62/185435 ist ein Verfahren offenbart, bei welchem eine Sendeeinheit ein Flag setzt. Kein weiteres Senden wird durchgeführt, bevor das Flag entfernt wird. Dies wird durchgeführt, wenn die Nachricht einen gemeinsamen Sendepuffer verlassen hat.
  • In dem Patent US 5 412 651 ist ein Warteschlangen-Handhabungsverfahren offenbart, bei welchem jeder Sendeeinheit eine vordefinierte Anzahl von Zeitschlitzen zugeteilt ist. Jede Einheit hält eine Warteschlange und zählt Zähler abwärts, um die Anzahl von anhängigen Paketen zu überwachen.
  • In dem US-Patent 4 887 076 ist ein Verfahren dargestellt, welches eine Sendeeinheit über ein Platzieren einer Nachricht in einer Warteschlange informiert. Ein Nachteil bei den oben angegebenen Lösungen besteht darin, dass sie alle auf einer bestimmten Kommunikation zwischen den Einheiten oder Modulen und dem Puffer beruhen. Eine solche zu und von dem Puffer gesendete Nachrichtenhandhabung bedeutet für den Anwender des Puffers ein Stoppen oder ein Verlangsamen des aktuellen Sendens von Nachrichten. Somit können solche Lösungen sehr gut funktionieren, aber es kann schwer sein, schnell genug eine Wirkung zu bekommen.
  • Ein weiterer verwendeter Ansatz ist eine Zeitüberwachung. Eine Zeitüberwachung wird durch den Anwender durchgeführt und impliziert, dass die Intensität von Nachrichten auf die verfügbare Kapazität der Empfänger reduziert wird. Jedoch kann dies in vielen Fällen eine größere Prozessorbelastung verursachen. Weiterhin muss die maximal zugelassene Intensität gleich der minimalen Kapazität des Mechanismus sein, der den Puffer leert.
  • Eine weitere Prozedur, die im Stand der Technik verwendet wird, verwendet eine Steuernachricht, die zwischen der Einheit und dem Puffer vorwärts und rückwärts läuft. Die Steuernachricht, die zurück zur Einheit selbst gesendet wird, wird als eine letzte Nachricht in einem Stapel von Nachrichten von derselben Anzahl gesendet, wie der Puffer enthalten kann. Ein weiteres Senden wird abgehalten bzw. verboten, bis die Steuernachricht empfangen ist. Dieses Verfahren hat den Nachteil, dass die Pufferkapazität uneffizient verwendet wird, da der Puffer vollständig geleert werden muss, bevor irgendwelche neue Nachrichten gesendet werden können. Das Abhalten von einem Senden von Nachrichten wird auch für kurze Perioden aktiviert, wenn die gesamte Verkehrsintensität gering ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung besteht im Erreichen einer Pufferschutzvorrichtung und eines Pufferschutzverfahrens, welche die oben angegebenen Nachteile nicht haben. Somit ist ein System gefragt, bei welchem kein separater Pufferbenachrichtigungsmechanismus enthalten ist. Weiterhin besteht eine weitere Aufgabe der Erfindung im Erreichen einer Vorrichtung und eines Verfahrens, die flexibel genug sind, um in Systemen von unterschiedlicher Kapazität einsetzbar zu sein.
  • Die obigen Aufgaben werden durch ein Verfahren und Vorrichtungen gemäß den unabhängigen Ansprüchen erreicht. Ein Überlaufschutz-Pufferverfahren gemäß der vorliegenden Erfindung in einer digitalen Einheit, die eine Anzahl von digitalen Modulen aufweist, die mit einem Nachrichtenpuffer eines First-In-First-Out-Typs verbunden sind, der eine erste Anzahl x von Nachrichten von einem ersten der digitalen Module speichern kann, ist gekennzeichnet durch Erzeugen von Datenflussdosierungsnachrichten und Senden von ihnen zu dem Puffer von dem ersten digitalen Modul, adressiert zu der ersten Einheit selbst, und Verfolgen der Datenflussdosierung, in welcher sie gesendet und wieder empfangen werden. Ein Datenflussdosierungskriterium zum Senden von Datenflussdosierungsnachrichten und ein Anhaltkriterium zum Anhalten eines Sendens von Nachrichten zum Puffer werden dazu verwendet, sicherzustellen, dass weniger als oder gleich x Nachrichten im Puffer vorhanden sind. Die Kriterien lassen auch zu, dass mehr als eine Datenflussdosierungsnachricht gleichzeitig im Puffer vorhanden ist.
  • Eine digitale Einheit, einschließlich eines Nachrichtenpuffers von einem First-In-First-Out-Typ oder ein Modul, das mit einem solchen verbunden ist, und eine erste Anzahl x von Nachrichten von dem digitalen Modul speichern kann, weist gemäß der vorliegenden Erfindung eine Einrichtung zum Erzeugen einer Datenflussdosierungsnachricht, adressiert zu dem digitalen Modul selbst; auf, einen Datenflussdosierungssender zum Senden der Datenflussdosierungsnachricht von dem digitalen Modul zu dem Nachrichtenpuffer, wenn ein Datenflussdosierungskriterium erfüllt ist, einen Empfänger zum Empfangen der Datenflussdosierungsnachricht vom Nachrichtenpuffer; und eine Einrichtung zum Anhalten des Prozesses eines Sendens von Nachrichten von dem digitalen Modul zu dem Nachrichtenpuffer, wenn ein Anhaltkriterium erfüllt ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird durch die detaillierte Beschreibung einiger erklärender Ausführungsbeispiele unter Bezugnahme auf die beigefügten Zeichnungen klarer verstanden werden, wobei:
  • 1 ein Blockschema ist, das eine allgemeine digitale Einheit darstellt, die einen Puffer aufweist;
  • 2 ein Blockschema ist, das ein Ausführungsbeispiel eines digitalen Moduls gemäß der vorliegenden Erfindung darstellt;
  • 3 ein Ablaufdiagramm ist, das ein mögliches Ausführungsbeispiel eines allgemeinen Pufferprozesses darstellt;
  • 4 ein Ablaufdiagramm ist, das ein Ausführungsbeispiel eines Prozesses eines Pufferschutzes in einer digitalen Einheit gemäß der vorliegenden Erfindung darstellt;
  • 5 ein Ablaufdiagramm ist, das das in 3 gezeigte Ausführungsbeispiel zusammen mit einem allgemeinen Pufferprozess darstellt;
  • 6 den Fluss von Nachrichten für ein erstes Beispiel eines Verfahrens gemäß dem Stand der Technik darstellt;,
  • 7 den Fluss von Nachrichten für ein zweites Beispiel eines Verfahrens gemäß der vorliegenden Erfindung darstellt; und
  • 8 den Fluss von Nachrichten für ein drittes Beispiel eines Verfahrens gemäß der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • Nimmt man Bezug auf 1, erzeugen in einer digitalen Einheit 1 digitale Module 2a–d Nachrichten, von denen angenommen wird, dass sie zu anderen Modulen oder digitalen Einheiten gesendet werden. Die digitalen Module 2a–d senden die Nachrichten zu einem Puffer 3, von welchem die Nachrichten weitergeleitet werden, wenn das Empfangsmodul oder die Empfangseinheit für einen Empfang bereit ist. Wenn eine solche Einheit bereit ist, wird die Nachricht über die Verbindungen 4a4c zu der adressierten Einheit gesendet. Der Puffer 3 arbeitet auf eine First-In-First-Out-Weise, was impliziert, dass dann, wenn eine Nachricht im Puffer empfangen wird, sie bei der letzten Position in einer Warteschlange von Nachrichten angeordnet wird, die darauf warten, weitergeleitet zu werden. Es ist immer die erste Nachricht in der Warteschlange, die zuerst weitergeleitet wird.
  • 2 stellt ein digitales Modul 2 gemäß der vorliegenden Erfindung dar. Das digitale Modul 2 weist eine Einrichtung zum Senden von Nachrichten 10 zu einem Puffer über einen Ausgang 11 auf. Gemäß der vorliegenden Erfindung weist das digitale Modul 2 auch eine Einrichtung zum Erzeugen einer Datenflussdosierungsnachricht auf, wenn ein Datenflussdosierungskriterium erfüllt ist. Dieses Kriterium basiert auf der Anzahl von gesendeten "normalen" (= "ordinary") Nachrichtenos, seit die letzte Datenflussdosierungsnachricht weitergeleitet wurde. Das Datenflussdosierungskriterium wird durch ein nos erfüllt, das beachtlich niedriger als x ist, um dadurch zuzulassen, dass mehrere Datenflussdosierungsnachrichten und zugehörige Stapel von "normalen" Nachrichten gleichzeitig im Puffer vorhanden sind. Die Datenflussdosierungsnachricht wird zu dem Modul selbst adressiert. Die Datenflussdosierungsnachricht wird durch eine Einrichtung zum Senden von Datenflussdosierungsnachrichten 13 zu demselben Puffer wie die normalen Nachrichten auch unter Verwendung des Ausgangs 11 gesendet. Der Puffer ist sich daher gänzlich unbewusst, ob die empfangene Nachricht eine Datenflussdosierungsnachricht oder eine "normale" Nachricht ist.
  • Wenn eine Datenflussdosierungsnachricht durch die Warteschlange des Puffers verarbeitet worden ist und die erste Nachricht geworden ist, wird die Datenflussdosierungsnachricht zum digitalen Modul 2 über einen Eingang 14 zurückgesendet, da dieses Modul als die Adresse für die Datenflussdosierungsnachricht angegeben wurde. Die Datenflussdosierungsnachricht wird in einem Empfänger 15 empfangen. Eine Einrichtung zum Anhalten 16 des Prozesses eines Sendens von "normalen" Nachrichten wird über den Empfang der Datenflussdosierungsnachricht informiert. Die Anhalteinrichtung 16 wird auch über die Erzeugung und das Senden von Datenflussdosierungsnachrichten informiert. Wenn ein Anhaltkriterium basierend auf der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Nachrichten npr erfüllt ist, wird der Prozess eines Sendens von "normalen" Nachrichten gestoppt, bis eine zusätzliche Datenflussdosierungsnachricht empfangen wird, um die Erfüllung des Kriteriums zu entfernen. Da mehrere Datenflussdosierungsnachrichten und zugehörige "normale" Nachrichten erforderlich sind, um den Puffer zu füllen, muss Δnp, d.h. die Differenz zwischen nps und npr, größer als 1 sein, um das Anhaltkriterium zu erfüllen.
  • 3 stellt ein Ablaufdiagramm für einen allgemeinen Pufferprozess dar. Der Prozess startet in einem Schritt 100. In einem Schritt 102 wird eine Entscheidung getroffen, ob es irgendeine Nachricht gibt, die von irgendeinem der angeschlossenen Module kommt, um in dem Puffer gespeichert zu werden, der auf den Weiterleitungsprozess wartet. Wenn dies der Fall ist, fährt der Prozess mit einem Schritt 104 fort, in welchem die Nachricht durch den Puffer empfangen wird. In einem Schritt 106 wird die neue Nachricht in der Warteschlange des Puffers angeordnet, platziert bei der letzten Position, d.h. am Ende der Warteschlange. Der Prozess geht dann weiter zu einem Schritt 108.
  • Wenn im Schritt 102 keine Nachricht in den Puffer hereinkam, fährt der Prozess sofort mit dem Schritt 108 fort, in welchem der Puffer prüft, ob die digitale Einheit oder das Modul, die oder das durch die erste Nachricht in der Warteschlange adressiert ist, für einen Empfang einer Nachricht bereit ist. Wenn dies nicht der Fall ist, springt der Prozess für eine Wiederholung der Schleife zurück zum Schritt 102. Wenn die adressierte digitale Einheit oder das adressierte Modul zum Empfangen einer Nachricht bereit ist, fährt der Prozess in einem Schritt 110 fort, in welchem die erste Nachricht in der Warteschlange zu dem End-Zielort oder einem Puffer, der diesen darstellt, weitergeleitet wird. Nun ist eine neue Nachricht die erste in der Warteschlange, und der Prozess geht für eine Wiederholung wieder weiter zum Schritt 108.
  • Bei einer solchen Basis-Pufferoperation ist kein Schutz für ein Überladen vorhanden. Ein solcher Schutz muss durch die angeschlossenen Module und Einheiten selbst durchgeführt werden. Die Pufferoperation wird beschleunigt, da keine Prozessleistung zum Verfolgen der Anzahl von in der Warteschlange gespeicherten Nachrichten verwendet wird.
  • In 4 ist ein Prozess in einem digitalen Modul für einen Pufferüberladungsschutz gemäß der vorliegenden Erfindung als Ablaufdiagramm dargestellt. Der Prozess startet bei 100. In einem Schritt 112 wird entschieden, ob es in dem Modul eine Nachricht gibt, die zum Senden bereit ist. Wenn es eine Nachricht gibt, die zum Senden bereit ist, geht der Prozess zu einem Schritt 114, in welchem geprüft wird, ob ein Anhaltkriterium erfüllt ist. Dieses Anhaltkriterium basiert auf der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Nachrichten npr zu dem Modul. Die Differenz Δnp zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von zurückgebrachten und empfangenen Datenflussdosierungsnachrichten npr muss größer als 1 sein, um das Anhaltkriterium zu erfüllen. Wenn es kein erfülltes Anhaltkriteriun gibt, wird zugelassen, dass die Nachricht zu dem Puffer gesendet wird, was in einem Schritt 116 durchgeführt. Die Anzahl nos wird darauffolgend um eine Einheit erhöht.
  • Nach der Übertragung der Nachricht zum Puffer fährt der Prozess in einem Schritt 118 fort, in welchem entschieden wird, ob eine Datenflussdosierungsnachricht zu senden ist. Wenn ein Datenflussdosierungskriterium, das auf der Anzahl von gesendeten "normalen" Nachrichten nos basiert, seit die letzte Datenflussdosierungsnachricht gesendet wurde, erfüllt ist, fährt der Prozess in einem Schritt 120 fort. Die Anzahl von gesendeten "normalen" Nachrichten nos, die zum Erfüllen des Datenflussdosierungskriteriums erforderlich ist, ist beachtlich niedriger als x. Der Schritt 120 ist die Erzeugung einer Datenflussdosierungsnachricht. Die Nachricht weist eine Identifikation auf, dass die Nachricht eine Datenflussdosierungsnachricht ist, welche Identifikation für das digitale Modul lesbar ist, aber nicht notwendigerweise für den Puffer. Die Datenflussdosierungsnachricht wird zurück zu dem digitalen Modul selbst adressiert. Die Datenflussdosierung wird in einem Schritt 122 unter den "normalen" Nachrichten gesendet, nos wird auf Null rückgesetzt und nps wird erhöht. Der Puffer muss die Datenflussdosierungsnachricht nicht unterschiedlich von den "normalen" Nachrichten identifizieren. Nach der Übertragung fährt der Prozess in einem Schritt 124 fort.
  • Wenn keine "normale" Nachricht im Schritt 112 zu senden ist, das Anhaltkriterium im Schritt 114 erfüllt ist oder das Datenflussdosierungskriterium im Schritt 118 nicht erfüllt ist, fährt der Prozess in einem Schritt 124 fort. Im Schritt 124 wird entschieden, ob eine Datenflussdosierungsnachricht zurück zum digitalen Modul zu empfangen ist. Wenn es keine ankommende Datenflussdosierungsnachricht gibt, beginnt der Prozess wieder von vorn ab dem Schritt 112. Wenn eine Datenflussdosierungsnachricht zu dem digitalen Modul ankommt, wird sie in einem Schritt 126 empfangen. Der Empfang wird notiert, um das Anhaltkriterium aktualisiert zu halten, npr wird erhöht. Der Prozess springt dann wieder zu dem Anfang, nämlich Schritt 112, zurück, und die obigen Schritte werden wiederholt.
  • Der oben beschriebene Prozess findet im Modul statt und belastet den Puffer nicht mit gesonderten bzw. separaten Benachrichtigungsfunktionen. Zusätzliche Datenflussdosierungsnachrichten werden gesendet, was einige Kapazität für den Puffer besetzt, jedoch wird die gesamte verfügbare Kapazität für den Puffer erhöht, wenn die Datenflussdosierungs- und Anhaltkriterien auf eine geeignete Weise ausgewählt werden, was nachfolgend beschrieben ist.
  • Wenn der gesamte Pufferprozess zu betrachten ist, müssen die Schritte der 3 und der 4 für eine Kooperation zusammengebracht werden. Eine solche Gesamtansicht des Pufferprozesses ist in 5 dargestellt. Alle Bezugszeichen der Schritte sind zum Darstellen der Entsprechung mit den 3 und 4 beibehalten.
  • Der Prozess beginnt im Schritt 100. Der Schritt 112 entscheidet, ob eine "normale" Nachricht zum Senden bereit ist. Wenn es nicht so ist, prüft der Puffer im Schritt 108, ob die adressierte Einheit bereit für ihre erste Nachricht ist, ob es die im Schritt 110 gesendete Nachricht ist, aber dann, wenn es nicht so ist, springt der Prozess zurück zum Schritt 112. Nach ein Wechseln der ersten Puffernachricht wird im Schritt 124 geprüft, ob sie zu dem Modul selbst gesendet wurde, d.h. ob sie eine zurückgebrachte Datenflussdosierungsnachricht war, und wenn es so ist, wird sie im Schritt 126 empfangen. Der Prozess springt dann zurück zum Schritt 108.
  • Wenn eine Nachricht zum Senden verfügbar ist, wird das Anhaltkriterium im Schritt 114 geprüft, und wenn ein Senden angehalten wird, fährt der Prozess im Schritt 108 fort. Wenn ein Senden zugelassen ist, wird es im Schritt 116 durchgeführt, wird die Nachricht im Schritt 104 empfangen und im Schritt 106 in der Puffer-Warteschlange angeordnet. Wenn das Datenflussdosierungskriterium im Schritt 118 nicht erfüllt ist, springt der Prozess zurück zum Schritt 108. Wenn eine Datenflussdosierungsnachricht gesendet werden sollte, wird die Nachricht im Schritt 120 erzeugt und im Schritt 122 gesendet, woraufhin der Puffer sie im Schritt 104 empfängt und sie im Schritt 106 unter ihren anderen Nachrichten in seiner Warteschlange anordnet. Da gerade eine Datenflussdosierungsnachricht gesendet wurde, ist nos gleich Null, und der Prozess geht weiter zum Schritt 108.
  • Das Schlüsselmerkmal für die oben beschriebenen Prozesse besteht in den Kriterien. Diese können in Abhängigkeit vom tatsächlichen System oder Einheitenaufbau mit unterschiedlichen Ausmaßen an Flexibilität und Komplexität entwickelt sein.
  • Eine sehr einfache Auswahl für ein Datenflussdosierungskriterium ist gemäß einem Aspekt äquivalent zu dem oben beschriebenen Verfahren nach dem Stand der Technik, dass eine Datenflussdosierungsnachricht gesendet werden sollte, wenn es genügend gesendete Nachrichten gibt, um den Puffer füllen, d.h., jede m-te Nachricht, wobei m = x. Das Modul muss dann nur die Anzahlen von gesendeten "normalen" Nachrichten nos seit der letzten Datenflussdosierungsnachricht verfolgen. Wenn x – 1 "normale" Nachrichten gesendet sind (nos = x – 1), sollte die nächste eine Datenflussdosierungsnachricht sein.
  • Das mit diesem Datenflussdosierungskriterium verbundene einfachste Anhaltkriterium besteht darin, dass die gesendete Datenflussdosierungsnachricht zurückgebracht werden muss, bevor zugelassen wird, dass irgendwelche neuen "normalen" Nachrichten gesendet werden (npr = nps). Die Differenz Δnp zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von zurückgebrachten und empfangenen Datenflussdosierungsnachrichten npr muss kleiner als 1 sein, d.h. das Anhaltkriterium ist Δnp = 1. Diese Kriteriumauswahl gemäß dem Stand der Technik ist einfach zu implementieren, hat aber, wie es zuvor beschrieben ist, Merkmale, die die Pufferleistungsfähigkeit beträchtlich verlangsamen. Da keine Nachrichten zugelassen werden, bevor die Datenflussdosierungsnachricht zurückgebracht wird, muss der Puffer vollständig leer sein, bevor ein neuer Stapel von Nachrichten zugelassen wird.
  • Ein effizienterer Ansatz besteht gemäß der vorliegenden Erfindung im Verwenden eines Datenflussdosierungskriteriums, bei welchem der Wert von m derart ausgewählt wird, dass ein Bruchteil von x ist, so dass mehrere Stapel von normalen Nachrichten, gefolgt durch eine Datenflussdosierungsnachricht, in der Puffer-Warteschlange enthalten sein können. m ist dann kleiner als oder gleich x/2. Das entsprechende Anhaltkriterium wird in einem solchen Fall so sein, dass eine maximale Anzahl von Datenflussdosierungsnachrichten im Puffer vorhanden sein sollte, d.h. die Differenz Δnp zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von zurückgebrachten und empfangenen Datenflussdosierungsnachrichten npr muss unter einem bestimmten Wert oder gleich diesem gehalten werden, der größer als Eins ist. Das bedeutet: Δnp = nps – npr < p, p > 1wobei p kleiner als der ganzzahlige Teil von x/m oder gleich diesem ist. Ein bevorzugtes Kriterium von diesem Typ hat einen so hohen p-Wert wie möglich, d.h.: p = int(x/m)wobei int(·) den ganzzahligen Teil des Verhältnisses bezeichnet. In einer solchen Situation muss der Puffer zu keiner Zeit vollständig geleert werden, um den Nachrichtenfluss zu verfolgen, aber andererseits wird die Anzahl von Datenflussdosierungsnachrichten erhöht, was den Fluss von "normalen" Nachrichten verlangsamt.
  • Wenn es möglich ist, sollte m so gewählt werden, dass das Verhältnis x/m eine ganze Zahl k wird, die größer als Eins ist, um die maximale Kapazität des Puffers zu verwenden. Jedoch sollte der Wert von m relativ hoch gehalten werden, um den Nachrichtenstrom nicht mit zu vielen Datenflussdosierungsnachrichten zu belasten, aber gleichzeitig relativ niedrig, um zuzulassen, dass die Pufferkapazität im Durchschnitt maximal genutzt wird. Diese Werte werden daher gewählt, um zu dem tatsächlichen System zu passen, in welchem sie verwendet werden sollen.
  • Wenn die maximale Pufferkapazität x eine Primzahl ist oder wenn die verfügbaren ganzzahligen Faktoren aufgrund der obigen Diskussion ungeeignete Wahlen sind, können ausgeklügeltere Kriterien verwendet werden. Das Datenflussmengenkriterium könnte beispielsweise darin bestehen, eine Datenflussmengennachricht zu senden, wenn mi – 1 "normale" Nachrichten seit der letzten Datenflussdosierungsnachricht gesendet worden sind (nos = mi – 1), wobei mi eine ganze Zahl ist, die zu einer Datenflussdosierungsnachrichtenzahl i gehört. Das bedeutet, dass jeder Datenflussdosierungsnachricht eine separate ganze Zahl in einer Gruppe von ganzen Zahlen zugeordnet ist, und die ganzen Zahlen können gleich oder unterschiedlich voneinander sein. Auf diese Weise kann die Sequenz von mi:s bei einem bevorzugten Ausführungsbeispiel derart entwickelt sein, um die gesamte verfügbare Pufferspeicherkapazität "aufzufüllen". Die einzelnen mi:s sind beträchtlich kleiner als x.
  • Das Anhaltkriterium wird dann auf gleiche Weise modifiziert. Der kritische Wert ist die Summe von mi, die den gesendeten, aber nicht empfangenen, Datenflussdosierungsnachrichten zugeordnet sind. Dieser Wert sollte niemals die gesamte verfügbare Kapazität x übersteigen. Auf mathematische Weise ausgedrückt könnte dieses Kriterium folgendermaßen geschrieben werden:
    Figure 00140001
    wobei sich x0 auf eine Zahl bezieht die kleiner oder gleich x ist. Wenn der obige Ausdruck gültig ist, werden keine weiteren Nachrichten gesendet, bis die Umstände so geändert sind, dass der Ausdruck nicht länger gültig ist. nps und npr beziehen sich wie oben auf die Anzahl von jeweils gesendeten und zurückgebrachten Datenflussdosierungsnachrichten. Bei einem bevorzugten Ausführungsbeispiel ist x0 gleich x.
  • Bei einem bevorzugten Ausführungsbeispiel ist es möglich, dass das Datenflussdosierungskriterium und das Anhaltkriterium sich mit der Zeit ändern. Wenn beispielsweise angenommen wird, dass eine Belastung an dem Modul während einer bestimmten Periode, z.B. einer bestimmten Zeitperiode des Tages, schwerer ist, könnte das optimale Datenflussdosierungskriterium unterschiedlich von dem Anhaltkriterium sein. Eine solche Auswahl von optimalen Kriterien könnte z.B. auf der Tageszeit, der Wochen- oder Monatszeit, einem gemessenen Aktivitätspegel im Modul selbst oder als Option für einen Bediener oder einen externen Prozessor basieren.
  • Drei Beispiele werden präsentiert, wobei ein Verfahren gemäß dem Stand der Technik und zwei Ausführungsbeispiele der vorliegenden Erfindung für drei unterschiedliche Systeme verwendet werden. Die Beispiele dienen zum Ausleuchten der Prinzipien und Vorteile des Verfahrens gemäß der vorliegenden. Erfindung in Bezug auf das Verfahren gemäß dem Stand der Technik, und die aktuellen Zahlen sind nur ausgewählt, um illustrativ zu sein. In einem wirklichen Fall können völlig andere Zahlen verwendet werden.
  • BEISPIEL 1
  • Bei dem ersten Beispiel, das ein System nach dem Stand der Technik beschreibt, ist ein Modul an einen Puffer mit einer Gesamtkapazität von nur 5 Nachrichten angeschlossen. Das Datenflussdosierungskriterium ist derart ausgewählt, dass es so ist, dass eine Datenflussdosierungsnachricht alle fünf Nachrichten gesendet wird (m = 5). Das Anhaltkriterium ist derart ausgewählt, dass es so ist, dass alle Datenflussdosierungsnachrichten zurückgebracht werden müssen, bevor irgendwelche weiteren Nachrichten gesendet werden könnten (Δnp = 0 zum Zulassen eines Sendens). Ein mögliches Szenario ist in 6 dargestellt.
  • Die linke Linie stellt das Modul dar und die rechte Linie den Puffer. Nachrichten werden zwischen dem Modul und dem Puffer und von dem Puffer zu anderen Modulen gesendet. Die Datenflussdosierungsnachrichten sind mit dickeren Linien gezeichnet, werden aber durch den Puffer als "normale" Nachricht behandelt. Eine Zeitskalierung ist entlang der vertikalen Richtung ausgerichtet. Zu den Zeiten t1, t2 und t3 werden drei Nachrichten vom Modul zum Puffer gesendet. Zur Zeit t4 wird eine Nachricht 1 zu dem adressierten Modul weitergeleitet. Bei t5 wird eine Nachricht 4 zu dem Puffer gesendet, und da dann das Datenflussdosierungskriterium nos = 4 erfüllt ist, wird eine erste Datenflussdosierungsnachricht bei t6 gesendet. Bei t7 wird eine Nachricht 2 zu dem adressierten Modul weitergeleitet. Zu einer Zeit t8 ist eine weitere Nachricht dazu bereit, zu dem Puffer gesendet zu werden, aber das Anhaltkriterium Δnp = 1 gibt an, dass nicht zugelassen ist, dass neue Nachrichten gesendet werden, bevor alle Datenflussdosierungsnachrichten zurückgebracht sind. Zu den Zeiten t9 und t10 werden Nachrichten 3 und 4 weitergeleitet, und darauffolgend ist die Datenflussdosierungsnachricht 1 die erste in der Puffer-Warteschlange und wird bei t11 zum Modul zurückgebracht. Das Anhaltkriterium ist nicht mehr erfüllt, Δnp = 0, und eine Nachricht 6 (eine Nachricht 5 ist die erste Datenflussdosierungsnachricht) wird bei t12 zu dem Puffer gesendet, welche dann zur Zeit t13 weitergeleitet wird. Die Verzögerungszeit, bei welcher der Puffer verriegelt wurde und das Modul warten musste, entspricht der Zeitdifferenz zwischen t12 und t8. Nachrichten 7 und 8 werden jeweils bei t14 und t15 gesendet und jeweils bei Zeiten t16 und t17 weitergeleitet. Eine Nachricht 9 wird bei t18 gesendet, und das Datenflussdosierungskriterium ist einmal mehr erfüllt, nos = 4, weshalb eine zweite Datenflussdosierungsnachricht bei t19 gesendet wird. Die Nachricht 9 wird bei t20 weitergeleitet, und dann wird die zweite Datenflussdosierungsnachricht bei t21 zum Modul zurückgebracht. Die Einheit ist nun für einen weiteren Stapel von Nachrichten bereit, da das Anhaltkriterium, Δnp = 1, nicht mehr erfüllt ist.
  • BEISPIEL 2
  • Bei dem zweiten Beispiel, das ein System gemäß der vorliegenden Erfindung darstellt, ist ein Modul an einen Puffer mit einer Gesamtkapazität von 12 Nachrichten angeschlossen. Das Datenflussdosierungskriterium wird derart ausgewählt, dass es so ist, dass eine Datenflussdosierungsnachricht jede vierte Nachricht gesendet wird (m = 4). Das Anhaltkriterium wird derart ausgewählt, dass Δnp = 3 gilt, was bedeutet, dass höchstens zwei Datenflussdosierungsnachrichten nicht zurückgebracht werden könnten, d.h. dass das Senden dann angehalten wird, wenn eine dritte Datenflussdosierungsnachricht gesendet wird. Ein mögliches Szenario ist in 8 dargestellt.
  • Drei Nachrichten werden vom Modul zum Puffer gesendet, und eine wird zum adressierten Modul weitergeleitet. Eine Datenflussdosierungsnachricht wird aufgrund eines erfüllten Datenflussdosierungskriteriums, nämlich nos = 3, gesendet. Drei weitere Nachrichten werden zu dem Puffer gesendet, und die Nachricht 2 wird von dem Puffer zum adressierten Modul weitergeleitet. Wiederum wird aufgrund eines erfüllten Datenflussdosierungskriteriums nos = 3 eine zweite Datenflussdosierungsnachricht zum Puffer gesendet. Der Puffer enthält nun 6 Nachrichten (Nr. 3–8), von welchen zwei Datenflussdosierungsnachrichten sind. Eine weitere Nachricht von dem Modul zu dem Puffer gesendet, bevor der Puffer die Nachricht 3 weiterleitet. Die Datenflussdosierungsnachricht 1 ist nun an dem obersten Ende der Puffer-Warteschlange angeordnet und wird darauffolgend zu dem Modul zurückgebracht, was nps = 2, npr = 1 ergibt. Die Nachricht 5 wird zu dem adressierten Modul weitergeleitet. Der Puffer enthält nun vier Nachrichten, von welchen eine eine Datenflussdosierungsnachricht ist.
  • Die Nachrichten 10 und 11 werden zu dem Puffer gesendet, die Nachricht 6 wird weitergeleitet und eine dritte Datenflussdosierungsnachricht wird zu dem Puffer gesendet. Kein Anhaltkriterium ist erfüllt (Δnp = 2), da nur zwei Datenflussdosierungsnachrichten im Puffer vorhanden sind. Die Datenflussdosierungsnachricht 1 ist bereits zurückgebracht. Die Nachricht 7 wird weitergeleitet und die Datenflussdosierungsnachricht 2 (die Nachricht mit der Nr. 8) wird zu dem Modul zurückgebracht, npr = 2. Der Puffer enthält nun vier Nachrichten, von welchen eine eine Datenflussdosierungsnachricht ist. Drei weiteren Nachrichten werden zu dem Puffer gesendet, und die Nachricht 9 wird weitergeleitet. Die Datenflussdosierungsnachricht 4 wird gesendet, da das Datenflussdosierungskriterium nos = 3 erfüllt ist. Drei weitere Nachrichten (17–19) werden gesendet, und die Nachricht 10 wird weitergeleitet. Eine fünfte Datenflussdosierungsnachricht wird gesendet. Der Puffer enthält nun 10 Nachrichten, von welchen drei Datenflussdosierungsnachrichten sind, und es gilt nps = 5, npr = 2. Da drei Datenflussdosierungsnachrichten nicht zurückgebracht sind, ist das Anhaltkriterium erfüllt, nämlich Δnp = 3, und weitere Nachrichten können zu dieser Zeit nicht gesendet werden.
  • Wenn die Nachricht 11 vom Puffer weitergeleitet wird, wird die Datenflussdosierungsnachricht 3 die Nummer 1 in der Puffer-Warteschlange und wird zu dem Modul zurückgebracht. Das Anhaltkriterium ist nicht mehr erfüllt, und es wird zugelassen, dass weitere Nachrichten gesendet werden.
  • BEISPIEL 3
  • Bei dem dritten Beispiel ist ein Modul an einem Puffer mit einer Gesamtkapazität von 13 Nachrichten angeschlossen. Das Datenflussdosierungskriterium basiert auf einer Gruppe von einzelnen mi:s gemäß der folgenden Liste:
    i: 1 2 3 4 5 6 7 8 9 10 11 12 ...
    mi: 3 3 4 3 3 4 3 3 4 3 3 4 ...
  • Das Anhaltkriterium ist der derart ausgewählt, dass es folgendes ist:
    Figure 00190001
  • Ein mögliches Szenario ist in 7 dargestellt.
  • Erste drei Nachrichten werden zum Puffer gesendet und eine wird weitergeleitet. Das Datenflussdosierungskriterium für die erste Datenflussdosierungsnachricht ist erfüllt, da m1 = 3. Die erste Datenflussdosierungsnachricht wird gesendet. Drei weitere Nachrichten werden zum Puffer gesendet, aber nur eine wird weitergeleitet. Das Datenflussdosierungskriterium für i = 2 ist erfüllt, und eine zweite Datenflussdosierungsnachricht wird gesendet. Die Nachricht 9 wird zum Puffer gesendet, und die Nachricht 3 wird weitergeleitet, und die Datenflussdosierungsnachricht 1 wird zurückgebracht. Der Puffer enthält nun fünf Nachrichten, und die Anhaltkriteriumsumme hat den Wert von 7, d.h. ein Senden von Nachrichten wird nicht angehalten.
  • Nachrichten 5–6 werden weitergeleitet, und drei weitere Nachrichten werden zum Puffer gesendet. Das Datenflussdosierungskriterium ist erfüllt, das nos = 4, was gleich m3 ist. Die Datenflussdosierungsnachricht 3 wird gesendet. Drei weitere Nachrichten werden zu dem Puffer gesendet, und als Ergebnis die vierte Datenflussdosierungsnachricht. Der Puffer enthält 11 Nachrichten, von welchen drei Datenflussdosierungsnachricht sind. Die Anhaltkriteriumsumme hat den Wert 3 + 4 + 3 + 3 = 16, d.h. ein Senden von neuen Nachrichten wird angehalten.
  • Die Nachrichten 7 und 9 werden weitergeleitet, und die Datenflussdosierungsnachricht 2 wird zurückgebracht, was die Anhaltkriteriumsumme auf 13 reduziert, was zulässt, dass weitere Nachrichten zum Puffer gesendet werden. Die Nachrichten 18–20 werden zusammen mit der Datenflussdosierungsnachricht 5 zu dem Puffer gesendet, und das Senden wird angehalten, da die Anahltkriteriumsumme nun den Wert von 17 hat. Der Puffer enthält nun 12 Nachrichten. Wenn die Nachrichten 10–12 weitergeleitet werden, wird die Datenflussdosierungsnachricht 3 zurückgebracht, und ein Senden wird einmal mehr zugelassen.
  • Jeder Fachmann auf dem Gebiet wird verstehen, dass andere Modifikationen und Variationen innerhalb des Schutzumfangs der Erfindung möglich sind, wie sie durch die beigefügten Ansprüche definiert sind. Die Ablaufdiagramme in den 35 sind beispielsweise nur eine mögliche Art zum Ausdrücken der Erfindung. Andere spezifische Lösungen von Prozessabläufen sind möglicherweise zu finden, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen.

Claims (13)

  1. Verfahren für einen Pufferüberlaufschutz in einer digitalen Einheit (1), wobei die digitale Einheit (1) eine Anzahl von digitalen Modulen (2, 2a, 2b, 2c, 2d) aufweist, die mit einem Nachrichtenpuffer (3) von einem First-In-First-Out-Typ verbunden sind, der eine erste Anzahl x von Nachrichten von einem ersten der digitalen Module (2, 2a, 2b, 2c, 2d) speichern kann, wobei das Verfahren die folgenden Schritte aufweist: Senden von Nachrichten vom ersten digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3); im Nachrichtenpuffer (3) Empfangen der Nachrichten, und im Nachrichtenpuffer (3) Anordnen der Nachrichten in einer aufeinanderfolgenden Reihenfolge in einer Warteschlange im Nachrichtenpuffer; wenn ein digitales Modul, das durch die erste Nachricht in der Warteschlange adressiert ist, bereit für einen Empfang einer Nachricht ist, Senden der ersten Nachricht vom Nachrichtenpuffer (3) zum adressierten digitalen Modul, im ersten digitalen Modul (2, 2a, 2b, 2c, 2d) Erzeugen einer Datenflussdosierungsnachricht, die zum ersten digitalen Modul (2, 2a, 2b, 2c, 2d) selbst adressiert ist; Senden der Datenflussdosierungsnachricht vom ersten digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3), wenn eine bestimmte Anzahl von gesendeten Nachrichten nos seit der letzten Datenflussdosierungsnachricht gesendet worden ist; im ersten digitalen Modul (2, 2a, 2b, 2c, 2d) Empfangen der Datenflussdosierungsnachrichten vom Nachrichtenpuffer (3); und Anhalten des Prozesses zum Senden von Nachrichten vom ersten digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3), wenn ein Anhaltkriterium erfüllt ist; wobei das Senden von Datenflussdosierungsnachrichten durchgeführt wird, wenn ein Datenflussdosierungskriterium erfüllt ist, wobei das Datenflussdosierungskriterium auf der Anzahl von gesendeten Nachrichten nos basiert, seit die letzte Datenflussdosierungsnachricht gesendet wurde, wobei die nos, die zum Erfüllen des Datenflussdosierungskriteriums erforderlich ist, kleiner als x ist, was zulässt, dass mehr als eine Datenflussdosierungsnachricht gleichzeitig im Puffer vorhanden ist; und wobei das Anhaltekriterium auf der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr basiert, wobei dann, wenn das Anhaltekriterium erfüllt wird, eine Differenz Δnp größer als eine Einheit ist, wobei die Differenz Δnp eine Differenz zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr ist.
  2. Verfahren für einen Pufferschutz nach Anspruch 1, dadurch gekennzeichnet, dass das Datenflussdosierungskriterium darin besteht, dass die Anzahl von gesendeten Nachrichten, seit die letzte Datenflussdosierungsnachricht gesendet wurde, nos gleich einer vorbestimmten positiven ersten ganzen Zahl
    Figure 00230001
    ist, wobei mj eine Gruppe von positiven ersten ganzen Zahlen ist, die größer als Eins sind, die aber kleiner als die erste Zahl x ist, und zwar für j = 1, 2, 3, ..., was zulässt, dass mehr als eine Datenflussdosierungsnachricht gleichzeitig im Puffer ist; und wobei das Anhaltekriterium ist, dass
    Figure 00230002
    wobei x0 eine positive ganze Zahl ist, die kleiner als oder gleich x ist.
  3. Verfahren für einen Pufferschutz nach Anspruch 2, dadurch gekennzeichnet, dass x0 gleich x ist.
  4. Verfahren für einen Pufferschutz nach Anspruch 2, dadurch gekennzeichnet, dass der Schritt zum Senden der Datenflussdosierungsnachricht ein Senden der Datenflussdosierungsnachricht vom ersten digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3) für jede m-te Nachricht aufweist, wobei m eine positive erste ganze Zahl ist, die größer als Eins ist, die aber kleiner als oder gleich x/2 ist; und der Schritt zum Anhalten ein Anhalten des Prozesses zum Senden von Nachrichten vom ersten digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3) aufweist, wenn die Differenz Δnp zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr gleich einer positiven zweiten ganzen Zahl p ist, die kleiner als der ganzzahlige Teil von x/m oder gleich diesem ist, aber größer als Eins.
  5. Verfahren für einen Pufferschutz nach Anspruch 4, dadurch gekennzeichnet, dass die zweite ganze Zahl p gleich dem ganzzahligen Teil von x/m ist.
  6. Verfahren für einen Pufferschutz nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass die erste Zahl x gleich m·k ist, wobei k eine positive dritte ganze Zahl ist, die größer als Eins ist.
  7. Digitales Modul (2, 2a, 2b, 2c, 2d), das mit Nachrichtenpuffer (3) von einem First-In-First-Out-Typ verbunden sind und eine erste Anzahl x von Nachrichten vom Modul (2, 2a, 2b, 2c, 2d) speichern kann; welches Modul folgendes aufweist: einen Nachrichtensender (10) zum Senden von Nachrichten vom digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3) für eine weitere Übertragung zu anderen empfangenden digitalen Modulen, eine Einrichtung zum Erzeugen einer Datenflussdosierungsnachricht (12), die zum digitalen Modul selbst (2, 2a, 2b, 2c, 2d) adressiert ist; einen Datenflussdosierungssender (13) zum Senden der Datenflussdosierungsnachricht vom digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3), wenn eine bestimmte Anzahl von gesendeten Nachrichten nos seit der letzten Datenflussdosierungsnachricht gesendet worden ist; einen Empfänger (15) zum Empfangen der Datenflussdosierungsnachricht vom Nachrichtenpuffer (3); und eine Einrichtung zum Anhalten des Prozesses zum Senden von Nachrichten (16) vom digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3), wenn ein Anhaltekriterium erfüllt ist; wobei der Datenflussdosierungssender (13) angeordnet ist, um Datenflussdosierungsnachrichten zu senden, wenn ein Datenflussdosierungskriterium erfüllt ist, wobei das Datenflussdosierungskriterium auf der Anzahl von gesendeten Nachrichten nos basiert, seit die letzte Datenflussdosierungsnachricht gesendet wurde, wobei die nos, die zum Erfüllen des Datenflussdosierungskriteriums erforderlich ist, kleiner als x ist, was zulässt, dass mehr als eine Datenflussdosierungsnachricht gleichzeitig im Puffer vorhanden ist; und wobei die Anhalteeinrichtung (16) eine Einrichtung zum Registrieren der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr aufweist, wobei das Anhaltkriterium auf der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr basiert, wobei dann, wenn das Anhaltekriterium erfüllt wird, eine Differenz Δnp größer als Eins ist, wobei die Differenz Δnp eine Differenz zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr ist.
  8. Digitales Modul nach Anspruch 7, dadurch gekennzeichnet, dass das Datenflussdosierungskriterium darin besteht, dass die Anzahl von gesendeten Nachrichten, seit die letzte Datenflussdosierungsnachricht gesendet wurde, nos gleich einer vorbestimmten positiven ersten ganzen Zahl
    Figure 00260001
    ist, wobei mj eine Gruppe von positiven ersten ganzen Zahlen ist, die größer als Eins sind, die aber kleiner als die erste Zahl x ist, und zwar für j = 1, 2, 3, ..., was zulässt, dass mehr als eine Datenflussdosierungsnachricht gleichzeitig im Puffer ist; und wobei das Anhaltekriterium ist, dass
    Figure 00260002
    wobei x0 eine positive ganze Zahl ist, die kleiner als oder gleich x ist.
  9. Digitales Modul nach Anspruch 8, dadurch gekennzeichnet, dass xo gleich x ist.
  10. Digitales Modul nach Anspruch 8, dadurch gekennzeichnet, dass der Datenflussdosierungssensor (13) zum Senden der Datenflussdosierungsnachricht vom digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3) für jede m-te Nachricht angeordnet und eingerichtet ist, wobei m eine positive erste ganze Zahl ist, die größer als Eins ist, die aber kleiner als oder gleich x/2 ist; und die Anhalteeinrichtung (16) zum Anhalten ein des Prozesses zum Senden von Nachrichten vom digitalen Modul (2, 2a, 2b, 2c, 2d) zum Nachrichtenpuffer (3) angeordnet und eingerichtet ist, wenn die Differenz Δnp zwischen der Anzahl von gesendeten Datenflussdosierungsnachrichten nps und der Anzahl von empfangenen Datenflussdosierungsnachrichten npr gleich einer positiven zweiten ganzen Zahl p ist, die kleiner als der ganzzahlige Teil von x/m oder gleich diesem ist, die aber größer als Eins ist.
  11. Digitales Modul nach Anspruch 10, dadurch gekennzeichnet, dass die zweite ganze Zahl p gleich dem ganzzahligen Teil von x/m ist.
  12. Digitales Modul nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass die erste Anzahl x gleich m·k ist, wobei k eine positive dritte ganze Zahl ist, die größer als Eins ist.
  13. Gepufferte digitale Einheit (1), die folgendes aufweist: eine Anzahl von digitalen Modulen (2, 2a, 2b, 2c, 2d); und einen Nachrichtenpuffer (3) von einem First-In-First-Out-Typ, der mit den digitalen Modulen (2, 2a, 2b, 2c, 2d) verbunden ist, wobei der Puffer (3) eine erste Anzahl x von Nachrichten von einem ersten der digitalen Module (2, 2a, 2b, 2c, 2d) speichern kann, dadurch gekennzeichnet, dass das erste digitale Modul (2, 2a, 2b, 2c, 2d) ein digitales Modul gemäß einem der Ansprüche 7 bis 12 ist; wobei der Nachrichtenpuffer (3) folgendes aufweist: einen Empfänger zum Empfangen der Nachrichten; eine Einrichtung zum Anordnen der Nachrichten in einer aufeinanderfolgenden Reihenfolge in einer Warteschlange; und einen zweiten Nachrichtensender zum Senden der Nachricht vom Nachrichtenpuffer zum adressierten digitalen Modul, wenn das adressierte digitale Modul für die erste Nachricht, die in der Warteschlange wartet, bereit für einen Empfang einer Nachricht ist.
DE69925478T 1998-03-31 1999-03-08 Vorrichtung und verfahren zum pufferschutz Active DE69925478T8 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
SE9801132 1998-03-31
SE9801132A SE9801132D0 (sv) 1998-03-31 1998-03-31 Anordning och metod för buffertskydd
SE9802629A SE511849C2 (sv) 1998-03-31 1998-07-27 Anordning och metod för buffertskydd
SE9802629 1998-07-27
PCT/SE1999/000344 WO1999050741A1 (en) 1998-03-31 1999-03-08 Device and method for buffer protection

Publications (3)

Publication Number Publication Date
DE69925478D1 DE69925478D1 (de) 2005-06-30
DE69925478T2 true DE69925478T2 (de) 2006-02-02
DE69925478T8 DE69925478T8 (de) 2006-04-27

Family

ID=26663251

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69925478T Active DE69925478T8 (de) 1998-03-31 1999-03-08 Vorrichtung und verfahren zum pufferschutz

Country Status (9)

Country Link
US (1) US6643263B1 (de)
EP (1) EP1068569B1 (de)
JP (1) JP2002510184A (de)
KR (1) KR100360610B1 (de)
AU (1) AU3543199A (de)
CA (1) CA2326566C (de)
DE (1) DE69925478T8 (de)
SE (1) SE511849C2 (de)
WO (1) WO1999050741A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523271B2 (en) * 2006-01-03 2009-04-21 International Business Machines Corporation Apparatus, system, and method for regulating the number of write requests in a fixed-size cache
US9323693B2 (en) * 2013-01-04 2016-04-26 Microsoft Technology Licensing, Llc Zero-copy caching

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62185435A (ja) 1986-02-10 1987-08-13 Hitachi Ltd ネツトワ−クの伝送制御方式
US4920534A (en) * 1986-02-28 1990-04-24 At&T Bell Laboratories System for controllably eliminating bits from packet information field based on indicator in header and amount of data in packet buffer
US5161217A (en) * 1986-10-14 1992-11-03 Bull Hn Information Systems Inc. Buffered address stack register with parallel input registers and overflow protection
US4887076A (en) 1987-10-16 1989-12-12 Digital Equipment Corporation Computer interconnect coupler for clusters of data processing devices
JPH0551242A (ja) 1991-08-23 1993-03-02 Nippon Electric Glass Co Ltd ガラスブロツクパネルの製造方法
JPH0697982A (ja) 1991-10-17 1994-04-08 Nec Corp メッセージバッファ負荷制御装置
KR940003326B1 (ko) * 1991-12-28 1994-04-20 재단법인 한국전자통신연구소 타이컴의 시스템 제어기 순차장치에 대한 입출력 구동방법
US5315707A (en) * 1992-01-10 1994-05-24 Digital Equipment Corporation Multiprocessor buffer system
JPH0621970A (ja) 1992-07-06 1994-01-28 Nec Corp メッセージバッファ割当て機能を有するパケット通信システム
US5412651A (en) 1993-02-11 1995-05-02 Nec America, Inc. Structure and method for combining PCM and common control data on a backplane bus
WO1995027385A2 (en) * 1994-03-31 1995-10-12 Telco Systems Inc Method and apparatus for controlling transmission systems
KR0183831B1 (ko) * 1996-03-13 1999-05-15 김광호 데이터 버퍼링 장치
US6442139B1 (en) * 1998-01-29 2002-08-27 At&T Adaptive rate control based on estimation of message queuing delay
KR100562149B1 (ko) * 1999-12-16 2006-03-16 주식회사 케이티 버퍼 오버플로우 결함 검출 방법

Also Published As

Publication number Publication date
SE9802629L (sv) 1999-10-01
SE511849C2 (sv) 1999-12-06
EP1068569B1 (de) 2005-05-25
AU3543199A (en) 1999-10-18
DE69925478T8 (de) 2006-04-27
CA2326566A1 (en) 1999-10-07
WO1999050741A1 (en) 1999-10-07
JP2002510184A (ja) 2002-04-02
KR20010042391A (ko) 2001-05-25
US6643263B1 (en) 2003-11-04
EP1068569A1 (de) 2001-01-17
KR100360610B1 (ko) 2002-11-13
SE9802629D0 (sv) 1998-07-27
CA2326566C (en) 2005-10-11
DE69925478D1 (de) 2005-06-30

Similar Documents

Publication Publication Date Title
DE69827053T2 (de) Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk
DE60117957T2 (de) Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE69432655T2 (de) Verbesserungen in ATM-Nachrichtensystemen
DE102015017100B3 (de) Verteilte Switch-Architektur
DE69034133T2 (de) Kommunikationsgerät
DE2913288C2 (de) Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE69133569T2 (de) Netzschnittstelle
DE69635379T2 (de) Atm-drosselung
DE69937039T2 (de) Verfahren und vorrichtung zur warteschlangenbildung und aussendung von nachrichten
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE69733129T2 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen mit Prioritäten
DE2503111A1 (de) Vermittlungs-verfahren zur multiplexen uebertragung von informationen und schaltungsanordnung zur durchfuehrung dieses verfahrens
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
EP0730362A2 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung
EP0121236B1 (de) Schaltungsanordnung für Fernmeldeanlagen, insbesondere Fernsprechvermittlungsanlagen mit informationsverarbeitenden Schaltwerken und Einrichtungen zur Abwehr von Überbelastungen
EP0351014A2 (de) Koppelfeld für ein Vermittlungssystem
EP0730361A2 (de) Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung
EP0660557A1 (de) Verfahren zum statistischen Multiplexen
DE60112680T2 (de) Netzwerkerweiterungsmodul
DE69925478T2 (de) Vorrichtung und verfahren zum pufferschutz
DE60036493T2 (de) Datenflusssteuerung
DE60016430T2 (de) Verfahren und system zur übertragung einer meldungskette für datenbanken
EP0870416B1 (de) Verfahren zur priorisierung von zellenströmen in systemen, die informationen nach einem asynchronen transfermodus (atm) übertragen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition