DE69322125T2 - Verfahren zur Implementierung eines Protokollstapels für Datenkommunikation - Google Patents
Verfahren zur Implementierung eines Protokollstapels für DatenkommunikationInfo
- Publication number
- DE69322125T2 DE69322125T2 DE69322125T DE69322125T DE69322125T2 DE 69322125 T2 DE69322125 T2 DE 69322125T2 DE 69322125 T DE69322125 T DE 69322125T DE 69322125 T DE69322125 T DE 69322125T DE 69322125 T2 DE69322125 T2 DE 69322125T2
- Authority
- DE
- Germany
- Prior art keywords
- layer
- buffers
- buffer
- data
- stack
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 22
- 238000004891 communication Methods 0.000 title abstract description 10
- 239000000872 buffer Substances 0.000 claims abstract description 231
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000011218 segmentation Effects 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 239000010410 layer Substances 0.000 abstract 6
- 239000011229 interlayer Substances 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
- Diese Erfindung betrifft digitale Datenübertragungen und insbesondere die Verwendung eines Prozessors eines Endsystems, um von mehreren Protokollschichten verwendete Daten zu verwalten. Noch genauer gesagt, die Erfindung betrifft ein Speicherverwaltungsschema zur Segmentierung und Weiterleitung von Daten zwischen den Protokollschichten.
- Im Bereich der Datenübertragung wird ein "Protokoll" allgemein als eine Reihe von Regeln definiert, die den Austausch von Nachrichten zwischen zwei oder mehreren Datenübertragungseinheiten steuern. Im Grunde finden Übertragungen zwischen "Endsystemen" in dem Sinn statt, daß jedes Endsystem entweder eine Informationsquelle oder ein Informationsziel oder beides ist. Typischerweise sind die Endsysteme auf einem Prozessor basierende Systeme, wie zum Beispiel Arbeitsplatzrechner.
- Die Verwendung von standardisierten Protokollen ermöglicht verschiedenen Endsystemen, miteinander zu kommunizieren, selbst wenn sie von verschiedenen Herstellern stammen oder aus einem anderen Grund unterschiedlich gestaltet sind. Übertragungsaufgaben, welche die Protokolle befolgen, werden von verschiedenen Prozessoren, Steuereinheiten und anderen "intelligenten" Einheiten im Netzwerk ausgeführt.
- Die Open Systems Interconnection (OSI) mit sieben Schichten ist ein von der International Standards Organization entwickeltes Protokollmodell. Obwohl es außer dem OSI-Modell noch andere Protokollmodelle gibt und nicht alle Datenübertragungsaufgaben alle Schichten des OSI-Modells einbeziehen, kann es theoretisch zur Definition aller Aspekte der Datenübertragung verwendet werden.
- Bei jeder Schicht eines Protokolls, wie beispielsweise des OSI- Protokolls, handelt es sich um eine Reihe von Aufgaben, die von irgendeiner Art von intelligenter Definitionseinheit, ob in der Form von Hardware, Firmware oder Software, ausgeführt werden müssen. Beim OSI-Modell sind die oberen drei Schichten (Anwendungsschicht, Darstellungsschicht und Sitzungsschicht) für die Nutzer der Informationsdienste des Netzwerks bestimmt. Die mittlere Schicht (Transportschicht) verwaltet einen Übertragungskanal und ist das Bindeglied zwischen den Netzwerkdienstnutzern und den Netzwerkdiensterbringern. Die unteren drei Schichten (Netzwerkschicht, Datenübertragungsschicht und physikalische Schicht) befassen sich mit dem eigentlichen Netzwerk, das die Netzwerkdienste bereitstellt.
- Bei diesem schichtweisen Ansatz bei Übertragungsprotokollen können Übertragungen "horizontal" oder "vertikal" sein.
- Horizontale Übertragungen sind Übertragungen an "gleichwertige" Definitionseinheiten von anderen Endsystemen. Vertikale Übertragungen sind Übertragungen zwischen benachbarten Schichten desselben Endsystems.
- Vom Funktionsstandpunkt aus betrachtet kann man sich ein Endsystem eines Übertragungsnetzwerks als einen "Stapel" von Protokollschichten vorstellen, der sich in den intelligenten Einheiten des Endsystems befindet und von ihnen verwaltet wird. Sendeseitig werden auf den höheren Schichten Benutzerdaten erzeugt. Jede Schicht empfängt eine Protokolldateneinheit (PDU) von der darüberliegenden Schicht, welche die Benutzerdaten und jedwede Kopfdaten enthält, die von vorhergehenden Schichten hinzugefügt worden sind. Die Schicht fügt ihre eigenen Steuerinformationen als Kopfbereich hinzu. Am Ende des Stapelspeichers des Quellenknotens überträgt die physikalische Schicht die PDU über eine Datenübertragungsleitung. Die PDU wandert dann den Stapelspeicher des Zielknotens hinauf, wo auf jeder Schicht eine gleichwertige Schicht ihren Kopfbereich abstreift, um eine oder mehrere Protokollfunktionen aufzurufen.
- Die Realisierung des Protokollstapelspeichers erfordert irgendein Stapelspeicher-Verwaltungsschema, um PDUs von Schicht zu Schicht weiterzuleiten. Typischerweise wird ein Speicherbereich, der allgemein als "Puffer" bezeichnet wird, verwendet, um die gesamte oder einen Teil einer jeden PDU aufzunehmen. Ein Beispiel für ein vorhandenes Stapelspeicher-Verwaltungsverfahren zur Weiterleitung von Daten basiert auf einer FIFO-Warteschlange. Daten sind in einem Puffer enthalten, der die Warteschlange enthält. Jede Schicht verwendet ihren eigenen Puffer, und Daten werden aus einem Puffer in einen anderen kopiert. Jedoch macht jeder Kopierschritt zusätzlichen Verarbeitungsaufwand erforderlich. Das Kopieren von Daten aus einem Puffer in einen anderen ist besonders mühsam, wenn eine Protokollfunktion eine Schicht auffordert, mehrere Kopien einer PDU zu senden.
- In EP 0 478 486 A2 ist ein Verfahren zur Bereitstellung von Übertragungsdiensten zwischen Datenübertragungsknoten eines Datenübertragungsnetzwerks mittels einer Übertragungsarchitektur mit mehreren Schichten beschrieben. Ein Übertragungsknoten enthält einen Protokollstapelspeicher mit mehreren Schichten. Informationsblöcke, die zu übertragende Nachrichten transportieren, werden über Zugriffspunkte von einer Schicht an eine benachbarte Schicht weitergeleitet. Ein Zugriffspunkt ist eine Adressierungseinrichtung, die einen Prozeß in einer Schicht mit einem Prozeß in einer benachbarten Schicht verbindet. Ein Prozeß oder eine Gruppe von Prozessen wird auch als Definitionseinheit bezeichnet. Es wird vorgeschlagen, Definitionseinheiten einer Schicht mit Definitionseinheiten einer benachbarten Schicht zu Gruppen zusammenzufassen, um die Weiterleitung der Blöcke zu verbessern. Auch erfordert dieses Verfahren nach wie vor, daß die Blöcke von einem Speicherplatz in einen anderen kopiert werden, um Daten durch den Schichtenstapelspeicher zu übertragen, obgleich es die Anzahl der Kopiervorgänge verringern kann.
- Ein anderes Beispiel für ein Übertragungsprotokoll, das die vorstehend erwähnten Anforderungen des aus sieben Schichten bestehenden OSI-Modells erfüllt, ist in EP O 464 014 A2 gegeben. Das Schriftstück erwähnt die Notwendigkeit, Nachrichtenblöcken in jeder Schicht Kopfbereiche hinzuzufügen und sie als Einheit in die nächstniedrige Schicht zu übertragen, bis die Schicht 1 erreicht ist.
- Zusätzlich zu dem Problem des Aufwands, der für das Kopieren der Puffer erforderlich ist, stellt die Notwendigkeit der Durchführung einer PDU-Segmentierung ein weiteres Problem bei bestehenden Stapelspeicherverwaltungsschemata dar. Typischerweise erfordert die Segmentierung, daß Daten aus einem Größenpuffer in einen anderen kopiert oder als verkettete Listen behandelt werden, was dann eine besondere Hardwareunterstützung erforderlich macht.
- Es besteht ein Bedarf an einem Verfahren zur Verwaltung eines Protokollstapelspeiches, das den Verarbeitungsaufwand minimiert, ohne spezielle Hardware erforderlich zu machen. Folglich ist eine Aufgabe der Erfindung die Bereitstellung eines Protokollstapelspeicher-Verwaltungssystems, das die Notwendigkeit des physischen Kopierens von Puffern überflüssig macht. Vor dem Eintreten in den Protokollstapelspeicher werden Nachrichtendaten in ein besonderes Pufferformat umgewandelt. Ein Bitvollgruppenteil des Puffers enthält mindestens einen Teil der Nachricht und ist klein genug, um eine von der untersten Schicht des Protokollstapelspeichers zu sendende PDU aufnehmen zu können, selbst nachdem alle Schichten ihre Kopfbereiche hinzuge fügt haben. Ein Pufferkopfbereichteil des Puffers enthält Daten zur Verwaltung der Folgesteuerung und des Kopierens der Puffer. Die Puffer werden mittels des ausschließlichen Zugriffs auf sie von Schicht zu Schicht übertragen, wodurch auf denselben Puffer von nur jeweils einer Schicht zugegriffen wird.
- Auf diese Weise werden Nachrichtendaten in Puffer "vorsegmentiert". Die Puffer werden ohne Kopieren von Schicht zu Schicht als eine verkettete Liste, die eine PDU darstellt, übertragen. Jede beliebige Schicht kann die PDU segmentieren, indem sie die Puffer entkettet und jeder Puffer-Bitvollgruppe ihren Schichtkopfbereich hinzufügt, wodurch sie mehrere PDUs, eine in jedem Puffer, erzeugt. Eine der Segmentierungsschicht gleichwertige Schicht verwendet Daten in dem Puffer, um die PDU wieder zusammenzusetzen. Wenn eine Schicht des Quellenstapelspeichers einen Puffer erneut senden oder andernfalls mehrere Kopien verwenden muß, kann diese Schicht den Puffer durch einen "Prüfpunkt" festhalten, so daß die Schicht denselben Puffer wiederbekommt. Am Zielstapelspeicher können die PDUs wieder zusammengesetzt werden, indem Puffer miteinander verkettet werden, und die ursprüngliche Nachricht kann wiederhergestellt werden.
- Ein Vorteil des erfindungsgemäßen Stapelspeicher-Verwaltungssystems ist, daß es schneller als Systeme ist, die physische Kopien von Schicht zu Schicht innerhalb eines Endsystems benötigen. Es löst das Problem der Verarbeitung von Nachrichtendatenblöcken, die größer als die PDU sind, die von einer beliebigen Schicht verarbeitet werden kann, ohne zusätzlichen Verarbeitungsaufwand oder spezielle Hardware erforderlich zu machen.
- Fig. 1 ist ein Blockschaltbild einer Verarbeitungseinheit eines Endsystems.
- Fig. 2 veranschaulicht das Format eines Puffers, der zur Realisierung des erfindungsgemäßen Stapelspeicher-Verwaltungsverfahrens verwendet wird.
- Fig. 3 veranschaulicht das Format des Pufferkopfbereichfelds des Puffers von Fig. 2.
- Fig. 4 veranschaulicht das Format des Bitvollgruppenfelds des, Puffers von Fig. 2.
- Fig. 5A veranschaulicht die Formatierungs-, Segmentierungs- und Prüfpunktfestlegungsaspekte der Erfindung am Quellenknoten.
- Fig. 5B veranschaulicht die Wiederzusammensetzungs- und Wiederherstellungsaspekte der Erfindung am Zielknoten.
- Fig. 6A veranschaulicht die Veränderung des Inhalts von segmentierten und durch einen Prüfpunkt festgehaltenen Puffern am Quellenstapelspeicher.
- Fig. 6B veranschaulicht die Veränderung des Inhalts von Puffern, während sie am Zielstapelspeicher wieder zusammengesetzt werden.
- Fig. 1 ist ein Blockschaltbild eines Endsystem-Verarbeitungsknotens 10 eines digitalen Übertragungsnetzwerks, das andere Endsystemknoten 10 hat. Jeder Endsystemknoten 10 hat einen Prozessor 12, der mit einem Speicher 14 und einer Netzwerkschnittstelle 15 kommuniziert. Der Endsystem-Verarbeitungsknoten 10 wird als "Endsystem"-Knoten beschrieben, weil er ein Quellenknoten oder ein Zielknoten oder beides von digitalen Daten sein kann, die nützliche Informationen darstellen.
- Der Prozessor 12 kann ein allgemeiner Prozessor oder ein zweckbestimmter Datenübertragungsprozessor sein, hat aber in beiden Fällen Zugriff auf die im Speicher 14 abgelegte Programmierung, um Datenübertragungsaufgaben auszuführen. Der Speicher 14 ist ein herkömmlicher digitaler Speicher zur Speicherung sowohl des Programmcodes als auch von Nachrichtendaten. Der Prozessor 12 und der Speicher 14 kommunizieren über einen internen Bus 13.
- Der Prozessor 12 kommuniziert über eine Netzwerkschnittstelle 15 und eine Kommunikationsverbindung 16 mit mindestens einem anderen Endsystemknoten 10. Die Netzwerkschnittstelle enthält typischerweise irgendeine Art von Steuereinheit, um den Zugriff auf die und von der Kommunikationsverbindung 16 zu steuern. In dem Beispiel dieser Beschreibung ist die Kommunikationsverbindung 16 ein Bus, der andere Knoten eines lokalen Netzwerks miteinander verbindet. Jedoch könnte die Erfindung mit einem beliebigen Übertragungsnetzwerk auf Paketbasis verwendet werden, wobei das gemeinsame Merkmal ist, daß die Daten in Protokolldateneinheiten (PDUs) formatiert werden, die von intelligenten Sende-, Empfangs- und Vermittlungsknoten, die irgendeine Art von mehrschichtigem Übertragungsprotokoll befolgen, verarbeitet werden.
- Zur Ausführung seiner Übertragungsaufgaben speichert der Speicher 14 einen Stapel mit Protokollschichten 14a, wobei jede Schicht die verschiedenen, von dem Protokoll bezeichneten Aufgaben darstellt. Der Speicher 14 enthält auch die Programmierung für ein Stapelspeicher-Verwaltungsprogramm 14b, das vom Prozessor 12 ausgeführt wird und die Kommunikation zwischen den Schichten mit Hilfe von Nachrichtenpuffern erfindungsgemäß abwickelt. Ein dritter Bereich des Speichers 14 ist ein Pufferkomplex 14c, aus dem Nachrichtenpuffer, von denen jeder ein erfindungsgemäßes Format hat, zugeordnet werden.
- In dem Beispiel dieser Beschreibung hat der Stapelspeicher 14a drei Schichten: eine Netzwerkschicht, eine Datenübertragungsschicht und eine physikalische Schicht. Dem üblichen Sprachgebrauch entsprechend wird der Begriff "Schicht" hier manchmal zur Bezeichnung der in dieser Schicht ausgeführten Aufgaben verwendet. Die Erfindung könnte mit einem anderen Protokollstapelspeicher 14a verwendet werden, der mehr und/oder andere Schichten hat. Wie nachstehend erklärt werden wird, wird jedoch die Netzwerkschicht zur Bereitstellung der Funktionen bevorzugt, die zur Ausführung bestimmter Aspekte der Erfindung dienen.
- Ebenso wie andere Protokollstapelspeicher erlaubt der Stapelspeicher 14a, daß Daten zwischen benachbarten Protokollschichten vertikal übertragen werden. Innerhalb einer jeden Schicht verarbeitet eine Aufgabe zu gegebener Zeit die Daten. Die Programmieraufgabe stellt die Daten mit Hilfe von Protokollsteuerinformationen fest, die in Form eines Kopfbereichs hinzugefügt worden sind. Die Kombination aus Benutzerdaten und Steuerdaten wird hier als Protokolldateneinheit (PDU) bezeichnet. Wenn Daten von einem Endsystemknoten 10 gesandt werden, wird die PDU den Stapelspeicher "hinab" geleitet, und auf jeder Schicht werden zusätzliche Steuerinformationen hinzugefügt; am empfangsseitigen Systemknoten wird die PDU den Stapelspeicher "hinauf" geleitet, wo jede Schicht die Steuerinformationen abstreift, die sie benötigt.
- Um einen Überblick über die Erfindung zu geben, kann gesagt werden, daß sie ein Verfahren zur Realisierung eines Protokollstapelspeichers ist, das dazu dient, ein physisches Kopieren von Daten, d. h. ein Kopieren von einem Speicherplatz in einen anderen, zu vermeiden. Die Erfindung verwendet eine spezielle Datenstruktur, einen Speicherpuffer, in den Nachrichtendaten formatiert werden, bevor sie den Protokollstapelspeicher erreichen. Der Puffer enthält mindestens einen Teil der Nachrichtendaten, und er ist groß genug, um diesen Teil aufnehmen zu kön nen, und auch Kopfbereiche von allen Protokollschichten des Quellenstapelspeichers. Ein Nachrichtendatenblock, der zu groß ist, um als einzelne Dateneinheit durch die physikalische Schicht übertragen werden zu können, kann in mehrere Puffer als eine verkettete Liste von Puffern, die eine nichtsegmentierte PDU darstellen, vorsegmentiert werden. Da diese PDU bereits in Puffer formatiert ist, deren Größe gering genug ist, um auf der physikalischen Schicht übertragen werden zu können, müssen bei einer späteren Segmentierung dieser PDU durch eine Protokollschicht lediglich die Liste entkettet und ein Schichtkopfbereich zu jedem Puffer der entketteten Liste hinzugefügt werden. Um Puffer zwischen Schichten weiterzuleiten, erhält die Schicht, deren Aufgaben gerade ausgeführt werden, den ausschließlichen Zugriff auf die Puffer. Eine Aufgabe auf einer beliebigen Schicht kann auch einen Puffer durch einen "Prüfpunkt" festhalten, so daß die Aufgabe den Puffer in dem Zustand, in dem er von der Schicht verwendet wurde, wiederbekommen kann.
- Genauer gesagt, für den Segmentierungsaspekt der Erfindung enthält das Bitvollgruppenfeld des Puffers Kopfbereiche von allen Protokollschichten sowie eine bestimmte Menge an Benutzerdaten. Insgesamt ist das Bitvollgruppenfeld so definiert, daß es nur so viele Daten aufnimmt, wie die größte PDU hat, die von der physikalischen Schicht verarbeitet werden kann. Wenn Nachrichtendaten die Größe des Bitvollgruppenfelds überschreiten, nachdem alle Schichtkopfbereiche hinzugefügt worden sind, werden die Daten somit in mehrere Puffer segmentiert, wobei die Datenmenge die Anzahl der benötigten Puffer bestimmt. Jeder Puffer hat Platz für alle Protokollschichtkopfbereiche sowie auch für einen Pufferkopfbereich, der Daten zur Verwendung bei der Pufferverwaltung enthält. Die Nachrichtendaten werden dabei in eine verkettete Liste von Puffern segmentiert. Diese verkettete Liste wird als eine PDU an eine Schicht geleitet, welche die Schicht dann segmentieren kann, indem sie die Liste entkettet und zum Bitvollgruppenfeld eines jeden Puffers einen Schicht kopfbereich hinzufügt. Die Segmentierungsschicht und alle nachfolgenden Schichten des Quellenstapelspeichers und des Zielstapelspeichers können die segmentierten PDUs jeweils in ihrem eigenen Puffer als getrennte Einheiten behandeln, ohne daß diese kopiert oder verkettet werden müssen. Am Zielknoten setzt eine gleichwertige Definitionseinheit die segmentierten PDUs wieder zusammen, um eine weitere verkettete Liste zu erzeugen.
- Der Prüfpunktfestlegungsaspekt der Erfindung kann auf jeder beliebigen Schicht des Quellenknotens auftreten. Jede Schicht greift zu gegebener Zeit auf den Puffer zu. Wenn zum Funktionsumfang der Schicht das Senden von mehr als einer Kopie der PDU gehört, kann sie die Anforderung stellen, daß der Puffer durch einen Prüfpunkt festgehalten wird. Die Prüfpunktfestlegung beruht auf der Annahme, daß Kopfbereiche einer PDU von rechts nach links an Größe zunehmen. Folglich ändern sich die rechts von einem bestimmten Punkt liegenden Daten auf keiner Schicht, während die Daten den Stapelspeicher hinabwandern. Die Prüfpunktfestlegung wird durchgeführt, indem Informationen über den aktuellen Inhalt des Puffers gespeichert werden, so daß die Prüfpunktfestlegungsaufgabe wieder auf denselben Puffer zugreifen kann. Das Ergebnis ist, daß jeder Zugriff, ob von einer ersten oder zweiten nächstniedrigen Schicht oder von der Sendeschicht, zeitlich aufeinanderfolgend ausgeführt wird. Die Sendeschicht erhält wieder denselben Puffer, den sie zuvor hatte.
- Die vorstehend beschriebenen Stapelspeicher-Verwaltungsaufgaben werden als Teil der Programmierung des Stapelspeicher-Verwaltungsprogramms 14b durchgeführt. Diese Programmierung kann in einer beliebigen Zahl von bekannten Software-Architekturen durchgeführt werden. Typischerweise werden die Funktionen des Stapelspeicher-Verwaltungsprogramms 14b von Prozeduren ausgeführt, die auf der geeigneten Schicht aufgerufen werden.
- Fig. 2 veranschaulicht das Format eines einzelnen, erfindungsgemäß formatierten Puffers 20. Jeder Puffer 20 hat vier Hauptfelder: ein Betriebssystem-Kopfbereichfeld 21, ein Pufferkopfbereichfeld 22, ein Arbeitsbereichfeld 23 und ein Bitvollgruppenfeld 24. Die Felder 21 bis 24 beginnen an Speicherplätzen, die als F, H, W beziehungsweise E dargestellt sind, wobei das letzte Feld am Speicherplatz L endet.
- Das Betriebssystem-Kopfbereichfeld 21 enthält Daten, die vom Betriebssystem des Prozessors 12 zur Pufferverwaltung verwendet werden. Ein Beispiel für die Art der Daten in diesem Feld ist die Kennung des Pufferkomplexes 14c, aus dem der Puffer 20 zugeordnet worden ist.
- Das Pufferkopfbereichfeld 22 enthält Daten, die vom Stapelspeicher-Verwaltungsprogramm zur Pufferverwaltung verwendet werden. Das Pufferkopfbereichfeld 22 wird in Verbindung mit Fig. 3 ausführlicher beschrieben.
- Das Arbeitsbereichfeld 23 enthält Speicherplatz, der von einer beliebigen Protokollschicht als Teil des Prüfpunktfestlegungsaspekts der Erfindung verwendet wird. Im allgemeinen erlaubt das Arbeitsbereichfeld 23 einer Protokollschicht die Sicherung von Statusdaten, die für einen bestimmten Puffer 20 spezifisch sind, ohne daß ein Zugriff auf zusätzlichen Speicherbereich im Speicher 12 notwendig ist.
- Das Bitvollgruppenfeld 24 enthält die Protokolldateneinheit (PDU) 20, bei der es sich um die Benutzer- und Steuerdaten handelt, die zwischen Protokollschichten ausgetauscht werden sollen. Wie vorstehend erklärt wurde, kann diese PDU das Ergebnis der Vorsegmentierung in eine Pufferliste und der Segmentierung in einen entketteten Puffer sein. Die Größe des Bitvollgruppenfelds 24 erlaubt jeder Schicht, ihre Kopfbereichdaten hinzuzu fügen und dadurch die PDU zu vergrößern. Dennoch werden nur so viele Nachrichtendaten in das Bitvollgruppenfeld 24 gestellt, wie auf der physikalischen Schicht übertragen werden können. Die PDU "wächst" nach links, so daß während ihres Anwachsens ein Bereich mit nichtgefüllten Bits vom Beginn des Bitvollgruppenfelds 24 bis zum Beginn der PDU kleiner wird. Das Bitvollgruppenfeld 24 wird in Verbindung mit Fig. 4 ausführlicher beschrieben.
- Fig. 3 veranschaulicht den Inhalt des Pufferkopfbereichfelds 22. Es hat zehn untergeordnete Felder 30 bis 39, von denen jedes einer bestimmten Informationsart zugeordnet ist. Die in diesen untergeordneten Feldern gespeicherten Daten werden hier in ihrer Gesamtheit als "Pufferkopfbereichdaten" bezeichnet.
- Das untergeordnete Dienstelementfeld 30 gibt den Dienst an, der von einer Schicht angefordert wird, deren Nachricht gerade an den Puffer 20 weitergeleitet wird. Der Inhalt dieses Feldes 30 entspricht den von verschiedenen Standards definierten Dienstelementen, wie beispielsweise den OSI-Dienstelementen, die in der Datenübertragungstechnik bekannt sind.
- Das untergeordnete Nachrichtenlängenfeld 31 enthält einen Wert, der die Größe der zu übertragenden Nachricht 20 darstellt. Wie nachstehend erklärt werden wird, wird, bevor die Nachricht den Quellenstapelspeicher erreicht, darüber entschieden, ob die Nachricht, wenn sie als einzelne PDU behandelt wird, für das Bitvollgruppenfeld 24 eines einzelnen Puffers 20 möglicherweise zu groß werden wird. Wenn ja, wird sie unter mehreren Puffern 20 aufgeteilt. Wenn die Puffer 20 so vorsegmentiert werden, speichert das untergeordnete Nachrichtenlängenfeld 31 die gesamte. Größe aller an einen Zielknoten zu übertragenden Nachrichtensegmente.
- Das untergeordnete Puffergrößenfeld 32 enthält einen Wert, der die Größe der PDU darstellt, die gerade in diesem Puffer 20 ge speichert wird. Wenn die Nachricht vorsegmentiert worden ist, stellt das untergeordnete Puffergrößenfeld 32 die Größe des PDU-Segments in diesem Puffer 20 dar.
- Das untergeordnete Feld 33 mit einem Zeiger auf den nächsten Puffer enthält die Adresse des nächsten Puffers 20, wenn eine PDU Teil einer verketteten Liste ist. Der Wert in diesem untergeordneten Feld 33 ist null, wenn keine Segmentierung erforderlich ist oder die verkettete Liste entkettet worden ist.
- Das untergeordnete Folgenummernfeld 34 enthält die Folgenummer eines Puffers 20, der Teil einer verketteten Liste von Puffern ist oder war. Dieses untergeordnete Feld 34 wird vom Stapelspeicher-Verwaltungsprogramm 14b verwendet, damit die Puffer 20 wieder in der richtigen Reihenfolge zusammengesetzt werden können. Obwohl der Pufferkopfbereich 22 nicht zwischen den Quellen- und den Zielknoten wandert, können Daten, die von einer Schicht in ihrem Schichtkopfbereich geliefert werden, am Zielknoten zur Neuerstellung von Folgenummern verwendet werden.
- Das untergeordnete Nutzlast-Relativzeigerfeld 35 enthält einen Relativzeigerwert in das Bitvollgruppenfeld 24, der den Beginn der Nutzlast kennzeichnet. Dieser Relativzeigerwert bezieht sich auf den Beginn des Bitvollgruppenfelds 24. Wenn das Bitvollgruppenfeld beispielsweise am Speicherplatz E und die PDU am Speicherplatz P beginnt, ist der Relativzeiger folglich E - P.
- Das untergeordnete Arbeitsbereich-Relativzeigerfeld 36 enthält einen Relativzeigerwert in den Arbeitsbereich, der kennzeichnet, wo bereits reservierter Arbeitsbereich beginnt. Dieser Relativzeigerwert bezieht sich auf den Beginn des Arbeitsbereichfelds 23, d. h. den Speicherplatz W.
- Das untergeordnete Arbeitsbereichsgrößenfeld 37 gibt die Größe des Arbeitsbereichfelds 23 an.
- Das untergeordnete Prüfpunktnummernfeld 38 enthält die Anzahl der Male, die der Puffer 20 von einer Protokollschicht logisch kopiert worden ist. Falls der Wert in diesem untergeordneten Feld 38 null ist, wenn ein Puffer 20 von einer Aufgabe freigegeben wird, wird der Puffer 20 an den Pufferkomplex 14c zurückgegeben. Andernfalls wird der Puffer 20 an die Schicht zurückgegeben, die den letzten Prüfpunkt machte, und zwar in dem Zustand, in dem er sich zum Zeitpunkt der Prüfpunktfestlegung befand, und der Wert im untergeordneten Feld 38 wird vermindert.
- Das untergeordnete Prüfpunktstatistikfeld 39 enthält Daten für die Durchführung der Prüfpunktfestlegung. Wenn beispielsweise eine segmentierte PDU durch einen Prüfpunkt festgehalten wurde, enthält das untergeordnete Prüfpunktstatistikfeld 39 Daten zur Wiederzusammensetzung der PDUs.
- Fig. 4 veranschaulicht das Bitvollgruppenfeld 24 eines Puffers 20. Zu Beispielzwecken reicht die Länge des Feldes 24 vom Speicherplatz E zum Speicherplatz L. Der Speicherplatz P stellt den Beginn der aktuellen Nutzlast dar, die alle Protokollkopfbereiche enthält, die von vorhergehenden Schichten eines Quellenstapelspeichers 14a hinzugefügt oder von niedrigeren Schichten eines Zielstapelspeichers 14a noch nicht abgestreift worden sind. Die Speicherplätze E bis P werden für Schichten des Quellenstapelspeichers 14a verwendet, damit sie ihre Protokollschichtkopfbereiche hinzufügen können. In diesem Beispiel fügt die nächste Schicht ihren Kopfbereich vor dem untergeordneten Nutzlastfeld 42 hinzu, wobei sich das niedrigstwertige Bit am Speicherplatz P - 1 befindet. Das untergeordnete Nutzlast-Relativzeigerfeld 35 des Pufferkopfbereichs 22 dieses Puffers 20 wird aktualisiert, damit es einen neuen Wert von P anzeigt. Die Speicherplätze P bis N enthalten die Benutzerdaten, die als Folge der Schichtsegmentierung eine PDU werden können. Sie werden zunächst an einen vorher festgelegten Speicherplatz P gestellt, so daß jede Schicht feststellen kann, vor welchem Feld sie ihren Kopfbereich hinzufügen soll. Der ungenutzte Teil, der am Speicherplatz N beginnt, bleibt ungenutzt, wenn das Bitvollgruppenfeld 24 größer als die PDU mit allen Kopfbereichen ist, wenn es das Ende des Quellenstapelspeichers 14a erreicht.
- Die Fig. 5A und 5B veranschaulichen das erfindungsgemäße Verfahren in der Ausführung mit einem oder mehreren Puffern 20. Der Ablauf der Fig. 5A und 5B beginnt, wenn eine Anwendung, die gerade vom Prozessor 12 eines Quellenendsystems 10 ausgeführt wird, eine Nachricht an ein Zielendsystem 10 senden muß. In einem System, das ein Protokoll mit mehreren Schichten verwendet, werden Benutzerdaten und Steuerdaten von Schicht zu Schicht als PDUs übertragen, die den Stapelspeicher 14a des Quellenendsystems hinabwandern und dann den Stapelspeicher 14a des Zielendsystems 10 hinaufwandern. Der Ablauf am Quellenstapelspeicher 14a ist in Fig. 5A gezeigt. Der Ablauf am Zielstapelspeicher 14a ist in Fig. 5B gezeigt. Während eine PDU den Quellenstapelspeicher 14a hinabwandert, fügt jede Schicht Kopfbereichdaten hinzu. Während die PDU den Zielstapelspeicher hinaufwandert, streift jede Schicht die Kopfbereichdaten, die von der ihr gleichwertigen Schicht hinzugefügt worden sind, ab und läßt schließlich die von der Anwendungsschicht zu verarbeitenden Benutzerdaten übrig.
- Die Realisierung des Protokollstapelspeichers erfolgt mit Hilfe der Puffer 20, deren Format vorstehend in Verbindung mit den Fig. 2 bis. 4 beschrieben worden ist. Idealerweise verwendet die Anwendungsschicht des Quellenknotens dieses selbe Format zur Verarbeitung von Daten. Wenn nicht, werden die Daten an irgendeiner Stelle, bevor sie in den Protokollstapelspeicher eintreten, in die Puffer formatiert. Folglich stellt der Schritt 510 des Ablaufs fest, ob die Benutzerdaten bereits in die Puffer 20 formatiert worden sind.
- Wenn die Daten noch nicht formatiert worden sind, formatiert der Schritt S11 die Daten in mindestens einen Puffer 20. Ein vom Format der Fig. 2 bis 4 abweichendes Format könnte verwendet werden, solange der Puffer mindestens ein Kopfbereichfeld 22 mit einem Mittel zur Aktualisierung eines Nutzlastrelativzeigers und von Pufferzeigern und ein Bitvollgruppenfeld 24 hat, um einer PDU während des Hinzufügens von Protokollkopfbereichen das Anwachsen auf eine vorher festgelegte Maximalgröße zu gestatten.
- Der Schritt 511 ist der einzige Schritt in dem Ablauf von Fig. 5, der mit dem Vorgang des physischen Kopierens verbunden ist. Die restlichen Schritte schließen die Weitergabe des ausschließlichen Zugriffs auf einen Puffer 20 von Schicht zu Schicht sowie Segmentierungs- und Prüfunktfestlegungsverfahren ein, von denen alle die Notwendigkeit des Kopierens überflüssig machen.
- Zur Formatierung wird die Größe der Nachrichtendaten mit einer vorher festgelegten Maximalgröße des Bitvollgruppenfelds 24 verglichen, um festzustellen, ob die resultiende PDU, sobald alle Protokollschichtkopfbereiche hinzugefügt worden sind, zu groß wäre, um vom Quellenknoten als einzelne Dateneinheit gesendet werden zu können. Wenn ja, werden Teile der Nachrichtendaten in die Bitvollgruppenfelder 24 von zwei oder mehr Puffern 20 gestellt. In jedem Puffer 20 werden die Daten an eine vorher festgelegte Bitstelle rechts vom Beginn des Bitvollgruppenfelds 24 gestellt, wie beispielsweise an das Bit P von Fig. 4, so daß die Nutzlast Platz hat, um innerhalb des Bitvollgruppenfelds 24 nach links an Größe zuzunehmen, während jede aufeinanderfolgende Schicht ihre Kopfbereiche hinzufügt. Im Pufferkopfbereichfeld 22 eines jeden Puffers 20 werden das untergeordnete Nachrichtenlängen-, Puffergrößen- und Folgenummernfeld 31, 32 beziehungsweise 34 aktualisiert. An dieser Stelle werden die Puffer 20 zu einer verketteten Liste verkettet. Jedes untergeordnete Zeigerfeld 33, mit Ausnahme desjenigen des letzten Puf fers in der Liste, enthält einen Zeiger auf den nächsten Puffer 20.
- Im Schritt 512 wird die verkettete Liste der Puffer einer ersten Schicht des Protokollstapelspeichers als deren PDU übergeben. Wie nachstehend erklärt werden wird und durch die Schritte 520 und 540 angegeben ist, entscheidet jede Schicht, ob diese verkettete Liste segmentiert und die Puffer 20 durch einen Prüfpunkt festgehalten werden oder nicht. Obwohl in Fig. 5A die Segmentierung vor der Prüfpunktfestlegung erfolgt, ist diese Reihenfolge nicht notwendig. Der Ablauf der Schritte 520 bis 550 wird für jede Schicht des Stapelspeichers wiederholt. Somit können mehr als eine Schicht und ihr Pendant die Segmentierungs-/Wiederzusammensetzungsfunktion ausführen. Auch kann mehr als eine Schicht den/die Puffer 20 durch einen Prüfpunkt festhalten, was zu "verschachtelten" Puffern 20 führt.
- Im Schritt 520 stellt die aktuelle Schicht fest, ob die verkettete Liste der Puffer 20 zu groß ist, um von dieser Schicht als PDU behandelt werden zu können.
- Wenn ja, trennt der Schritt 521 die verkettete Liste teilweise oder vollständig, was bedeutet, daß Zeigerwerte im untergeordneten Zeigerfeld 33 auf null gesetzt werden. Das Ergebnis sind Untergruppen von verketteten Puffern 20 oder Untergruppen von entketteten Puffern. Die Untergruppen enthalten den ganzen Block der Benutzerdaten, aber jede Untergruppe wird von der aktuellen Schicht sowie auch von nachfolgenden Schichten als getrennte Einheit behandelt.
- Im Schritt 5S30 aktualisiert die aktuelle Schicht das untergeordnete Nutzlast-Relativzeigerfeld 35. Dies schafft im Bitvollgruppenfeld 24 Platz für den Schichtkopfbereich.
- Im Schritt 531 fügt die aktuelle Schicht ihren Kopfbereich an den Anfang der PDU im Bitvollgruppenfeld 24 eines jeden Puffers 20 hinzu, was dazu führt, daß die Nutzlast nach links an Größe zunimmt. Dieser Kopfbereich enthält Daten, die angeben, ob der Puffer 20 Teil eines größeren Blocks ist, der wieder zusammengesetzt werden muß.
- Als Folge der Schritte 520 bis 531 ist eine PDU in n Puffern nun n PDUs in n Puffern. Im Schritt 540 stellt die aktuelle Schicht fest, ob sie möglicherweise mehr als eine Kopie der Nachricht senden muß. Als Beispiel trifft die Aufgabe einer Schicht vielleicht eine Leitweg-Entscheidung, die es erforderlich macht, daß die PDU an mehr als eine Teilnetzwerkschicht von verschiedenen Endsystemen gesandt wird. Nachdem sie einen Puffer durch einen Prüfpunkt festgehalten hat, gibt ihn die Aufgabe der Schicht an eine erste Teilschicht frei. Sie bekommt später denselben Puffer wieder und gibt ihn an die nächste Teilschicht frei usw. Jedesmal, wenn eine Aufgabe den Zugriff auf den Puffer erhält, greift sie nur auf die für diese Schicht relevanten Daten zu.
- Im Schritt 541 wird jeder Pufferkopfbereich 22 zum Zweck der Prüfpunktfestlegung mit der aktuellen Größe der PDU und der Datenmenge der PDU in jedem Puffer 20 aktualisiert. Diese Daten werden im untergeordneten Nachrichtenlängenfeld 31 und im untergeordneten Puffergrößenfeld 32 eines jeden Puffers 20 gespeichert. Wenn die PDU segmentiert worden ist, können die Puffer 20 somit zur Wiederverwendung verkettet werden. Das untergeordnete Nutzlast-Relativzeigerfeld 35 eines jeden Puffers 20 enthält den Speicherplatz des Beginns der Nutzlast dieses Puffers, so daß die Prüfpunktfestlegungsaufgabe nur die Puffer 20 wiederbekommt, die sie versandt hat. Die Daten, die zur Wiedererlangung eines durch einen Prüfpunkt festgehaltenen Puffers verwendet werden, werden hier als "Prüfpunkt"-Daten bezeichnet. Wenn eine Schicht einen Puffer 20 durch einen Prüfpunkt festhält, kann sie auch einen Teil des Arbeitsbereichfelds 23 reservieren und angeben, wieviel Platz für "Arbeitsbereich"-Daten reserviert, werden soll.
- Es sollte sich von selbst verstehen, daß jede beliebige Protokollschicht den Puffer 20 durch einen Prüfpunkt festhalten kann, wenn ihre Funktionen mehrere Kopien der Puffer verlangen. Zum Beispiel stellen bestimmte Schichten die Lieferung einer PDU sicher, indem sie die PDU erneut übertragen, wenn sie keine Bestätigung erhalten. In diesem Fall würde die Sendeschicht den Puffer 20 durch einen Prüfpunkt festhalten, so daß sie bei Bedarf den Zugriff auf dieselbe PDU wiedererlangen kann. Wenn der Puffer 20 von der Empfangsschicht an das Pufferverwaltungsprogramm 14b freigegeben und an die Prüfpunktfestlegungsschicht zurückgegeben wird, greift diese Schicht nur auf den Bestand des Puffers 20 zu, der vorhanden war, als sich der Puffer 20 zuerst in dieser Schicht befand, d. h. auf den Teil, der durch einen Prüfpunkt festgehalten wurde.
- Ungeachtet dessen, ob die PDU segmentiert oder der/die Puffer 20 durch einen Prüfpunkt festgehalten worden sind oder nicht, wird im Schritt 550 eine logische Kopie eines jeden Puffers 20 an die nächstniedrige Schicht weitergeleitet. Wenn eine Schicht einen Puffer 20 an eine benachbarte Schicht weiterleitet, entweder den Stapelspeicher hinauf oder hinab, wird die Steuerungshoheit über den Puffer 20 zusammen mit dem Puffer weitergegeben. Nur die Steuerschicht kann den Puffer 20 ändern.
- Wenn der Puffer 20 im Schritt 551 die physikalische Schicht erreicht hat, wird die Nachricht als eine Gruppe von entketteten Puffern 20 an den Zielknoten übertragen, wobei jeder eine PDU enthält. Es wird davon ausgegangen, daß die Datenübertragungsleitung und der Eingabeanschluß des Zielknotens für die Größe eines einzelnen Puffers 20 ausgelegt sind. Wenn sich der Puffer nicht am Ende des Stapelspeichers 14a befindet, wiederholt die nächste Schicht die Schritte 520 bis 550.
- In Fig. 5B wurden die Puffer an den Stapelspeicher 14a des Zielknotens übertragen.
- Im Schritt 560 werden die Puffer 20 auf der untersten Schicht getrennt empfangen. Dem standardmäßigen Protokollbetrieb entsprechend, streift die Schicht ihre Schichtkopfbereichdaten von jedem Puffer 20 ab.
- Im Schritt 570 stellt die Schicht dann fest, ob die Wiederzusammensetzung der PDU, die zuvor am Quellenknoten von einer gleichwertigen Schicht segmentiert worden ist, zu ihrem Funktionsumfang gehört. Wenn zum Beispiel die Schicht n des Quellenknotens eine verkettete Liste von n Puffern in zwei verkettete Listen von n/2 Puffern segmentiert hat, setzt die ihr gleichwertige Schicht die Liste der n Puffer wieder zusammen, indem sie sie erneut miteinander verkettet. Wenn ja, führt die Schicht den Schritt 571 durch, in dem die Puffer zur Bildung einer verketteten Liste, die eine wieder zusammengesetzte PDU darstellt, verkettet werden. Im Schichtkopfbereich gespeicherte Daten werden zur Wiederzusammensetzung verwendet.
- Wie in Fig. 5A können die Wiederzusammensetzungsschritte 570 und 571 auf mehr als einer Schicht vorkommen, wie durch die Schritte 580 und 581 angegeben ist.
- Auf der höchsten Schicht des Zielstapelspeichers 14a stellt die Schicht fest, ob die Anwendung dasselbe Pufferformat verwendet, das sie zur Ausführung der Erfindung verwendet hat. Wenn nicht, stellt der Schritt 591 die Nachrichtendaten aus der verketteten Liste der Puffer wieder in der Form her, die sie hatten, bevor sie in den Stapelspeicher am Quellenknoten eintraten.
- Die Fig. 6A und 6B veranschaulichen ein Beispiel des Pufferformats für eine Nachricht, während sie die Protokollstapelspeicher 14a eines Quellen- und eines Zielendsystems hinab- und dann hinaufwandert. Genauer gesagt, Fig. 6A veranschaulicht, wie ein über ein Netzwerk zu übertragender Block von Nachrichtendaten 61 in zwei Puffer 20 vorsegmentiert wird und wie sich der jeweilige Inhalt der Puffer 20 verändert, während sie am Quellenendsystem segmentiert und durch einen Prüfpunkt festgehalten werden; Fig. 6B veranschaulicht die Puffer 20, während sie am Zielendsystem wieder zusammengesetzt und, wiederhergestellt werden.
- Die Fig. 5A und 5B und die Fig. 6A und 6B gehören zusammen, da bestimmte Schritte der Fig. 5A und 5B zu bestimmten Veränderungen an den Puffern 20 führen. Diese werden als "Phasen" bezeichnet. Zu Beispielzwecken wird davon ausgegangen, daß sowohl die Segmentierung als auch die Prüfpunktfestlegung auf derselben Schicht erfolgen. Es sollte sich von selbst verstehen, daß die Fig. 6A und 6B keine getrennten Protokollschichten zeigen.
- Zum Zweck dieser Beschreibung wird davon ausgegangen, daß der Block von Nachrichtendaten 61 groß genug ist, damit er in mehr als einen Puffer 20 vorsegmentiert werden muß. Ferner wird davon ausgegangen, daß die Aufgabe einer Schicht mehrere Lieferungen bereitstellen muß, so daß die Schicht das Prüfpunktfestlegungsmerkmal der Erfindung nutzt, um mehrere Kopien zu vermeiden.
- In der Phase 61 erscheint die Nachricht als ein einzelner Benutzerdatenblock.
- In der Phase 62 wurden die Nachrichtendaten in zwei Teile aufgeteilt, von denen jeder in das Bitvollgruppenfeld 24 eines Puffers 20 kopiert wird. Dem Schritt 520 von Fig. 5 entsprechend werden die Benutzerdaten in jedem Puffer 20 an eine vorher festgelegte Bitstelle gestellt, wie beispielsweise an das Bit P. Wie in Fig. 2 stellen die Bits H bis W in jedem Puffer 20 das Kopfbereichfeld 21 dar, die Bits W bis E stellen das Arbeitsbereichfeld 23 dar, und die Bits E bis L stellen das Bitvollgruppenfeld 24 dar. Das Betriebssystem-Kopfbereichfeld 21 ist nicht gezeigt. An dieser Stelle werden die Puffer 20 zu ei ner verketteten Liste verkettet. In der Phase 63 hat die Schicht die Nachricht segmentiert, indem sie die verkettete Liste getrennt hat. Dem Schritt 530 entsprechend wird das untergeordnete Nutzlast-Relativzeigerfeld aktualisiert, damit es auf den neuen Speicherplatz P zeigt. Die Schicht fügt dem Schritt 531 entsprechend ihren Schichtkopfbereich hinzu, was dazu führt, daß die Größe der Nutzlast nach links zunimmt.
- In der Phase 64 hat die Schicht die Puffer 20 dem Schritt 541 entsprechend durch einen Prüfpunkt festgehalten. Die Daten im Pufferkopfbereich 22 wurden aktualisiert, so daß wieder auf den vorhandenen Zustand der Puffer 20 zugegriffen werden kann. Als Teil des Prüfpunktfestlegungsschritts wird ein Bereich des Arbeitsbereichfelds 23 reserviert, um die Kennungen der Teilschichten zu erfassen, an welche die Puffer 20 bereits gesandt worden sind. Der Wert im untergeordneten Arbeitsbereich-Relativzeigerfeld 36 zeigt auf den Beginn des nichtreservierten Arbeitsbereichs.
- In der Phase 65 wurden die Puffer 20 von der physikalischen Schicht des Protokollstapelspeichers 14a empfangen, übertragen und freigegeben. Bei der Übertragung wurde jeder Puffer 20 als getrennte Dateneinheit behandelt. Die Puffer 20 wurden an die Prüfpunktfestlegungsschicht zurückgereicht, die den reservierten Teil des Arbeitsbereichfelds 23 freigegeben hat. Obwohl andere Schichten unterhalb der Prüfpunktfestlegungsschicht ihre Protokollkopfbereiche hinzugefügt und damit die Nutzlast vergrößert haben, enthält jeder Pufferkopfbereich 22 Daten, die es der Prüfpunktfestlegungsschicht ermöglichen, jeden Puffer 20 in dem Zustand wiederzubekommen, den er beim Versenden hatte.
- Nun Bezug nehmend auf Fig. 6B, sind die Veränderungen in den Puffern 20 am Zielendsystem gezeigt. Wie in Fig. 6A sind nicht alle Aktivitäten auf allen Schichten gezeigt; nur diejenigen, die für die Auswirkung der Wiederzusammensetzung auf den jeweiligen Inhalt der Puffer 20 relevant sind, sind gezeigt.
- In der Phase 66 werden die Puffer 20 über die unterste Protokollschicht am Zielknoten empfangen. Die Puffer 20 werden getrennt empfangen. Die Bitvollgruppenfelder 24 erscheinen in derselben Form, in der sie auf der gleichwertigen Schicht des Quellenstapelspeichers 14a erschienen sind.
- In der Phase 67 setzt eine der Segmentierungsschicht gleichwertige Schicht die PDUs wieder zusammen und entfernt ihre eigenen Schichtkopfbereiche. Zur Feststellung, wie die Wiederzusammensetzung erfolgen muß, verwendet sie in ihrem Schichtkopfbereich befindliche Wiederzusammensetzungsdaten. Das Format der. Puffer 20 ist nun identisch mit dem der Phase 62, als sie zuerst an die Segmentierungsschicht des Quellenknotens übertragen wurden. Die Puffer 20 erscheinen wieder als verkettete Liste, so daß das untergeordnete Zeigerfeld 33 einen Zeiger auf den zweiten Puffer 20 enthält.
- In der Phase 68 werden die Nachrichtendaten aus der verketteten Liste der Phase 67 wiederhergestellt. Wie beim Schritt 61 kann dieser Schritt übersprungen werden, wenn die Anwendungsschicht das Pufferformat von Fig. 2 direkt verwendet.
- Die Erfindung zusammenfassend kann gesagt werden, daß Nachrichtendaten in eine verkettete Liste von Puffern 20 formatiert werden, die ein Bitvollgruppenfeld mit einer vorher festgelegten Maximalgröße haben, das sicherstellt, daß jeder Puffer 20 nur so viele PDU-Daten enthält, wie auf der physiskalischen Schicht übertragen werden können. Anders ausgedrückt, der Teil der Nachrichtendaten, der einem Puffer zugewiesen wird, wird die PDU dieses Puffers und in einem Bitvollgruppenfeld gespeichert, das über ausreichend Platz verfügt, damit Kopfbereiche auf jeder Schicht des Stapelspeichers hinzugefügt werden können. Da die Nachrichtendaten auf diese Weise formatiert werden, macht die spätere Segmentierung durch eine beliebige Schicht lediglich die Trennung der verketteten Liste und das Hinzufügen eines Schichtkopfbereichs zu jedem Puffer 20 erforderlich. Die Segmentierung und die Wiederzusammensetzung können auf jeder beliebigen Schicht vorgenommen werden. Die PDUs, die sich in getrennten Puffern 20 befinden, werden als einzelne Dateneinheiten übertragen und von einer der Segmentierungsschicht gleichwertigen Definitionseinheit wieder zusammengesetzt. Der Prüfpunktfestlegungsaspekt der Erfindung stellt ein Mittel bereit, um die Weiterleitung eines Puffers an eine andere Protokollschicht auf eine Weise zeitlich aufeinanderfolgend durchzuführen, die es der Sendeschicht ermöglicht, denselben Puffer wiederzubekommen. Die Segmentierungs- und Prüfpunktfestlegungsaspekte der Erfindung können so miteinander verknüpft werden, daß eine Nachricht mit Bezug auf alle Puffer 20, die sie verwendet, durch einen Prüfpunkt festgehalten werden kann.
- Obwohl die Erfindung mit Bezug auf bestimmte Ausführungsformen beschrieben worden ist, ist diese Beschreibung nicht einschränkend auszulegen. Verschiedene Veränderungen an den beschriebenen Ausführungsformen sowie alternative Ausführungsformen sind für den Fachmann offenkundig.
Claims (7)
1. Verfahren zur Realisierung von Quellen- und Zielprotokoll-
Stapelspeichern (14a) für ein Übertragungsprotokollsystem
mit mehreren Schichten,
das durch die folgenden Schritte gekennzeichnet
ist:
- Empfangen von Nachrichtendaten in einem
Übertragungsprotokoll-Stapelspeicher eines Quellenknotens (510)
in Form von einer verketteten Liste von
Datenübertragungspuffern (20), wobei jeder Puffer ein
Bitvollgruppenfeld (24) hat, um Nachrichtendaten und
Protokollkopfbereiche zu speichern und ein
Pufferkopfbereichfeld (22), um Pufferdaten zu speichern, die zur
Segmentierung und Wiederzusammensetzung der Puffer
verwendet werden sollen, wobei das Bitvollgruppenfeld
(24) Nachrichtendaten enthält, die auf eine Größe
vorsegmentiert sind, welche zwischen einem Quellen-
und einem Zielprotokoll-Stapelspeicher übertragen
werden kann, nachdem ihnen am Quellenstapelspeicher
alle Kopfbereiche hinzugefügt worden sind;
- Weitergeben des Zugriffs auf die Puffer (20) an jede
nächste Protokollschicht des Quellenknotens (512) in
der Weise, daß jede Schicht den ausschließlichen
Zugriff auf die Puffer erhält;
- Segmentieren der Nachrichtendaten auf einer
beliebigen Schicht des Quellenknotens (520), indem alle oder
einige der verketteten Puffer (521) entkettet werden
und zu jedem neuen Segment (531) ein
Schichtkopfbereich hinzugefügt wird;
- Empfangen der entketteten Puffer in einem
Protokollstapelspeicher eines Zielknotens (560) als getrennte
Dateneinheiten; und -
- Wiederzusammensetzen der Puffer auf einer
gleichwertigen Protokollschicht des Zielstapelspeichers (570),
indem die Puffer (571) erneut verkettet werden.
2. Verfahren nach Anspruch 1, wobei das Pufferkopfbereichfeld
zusätzlich zum Zugriff auf die Puffer verwendet wird.
3. Verfahren nach Anspruch 1, das des weiteren den Schritt
der Segmentierung der Nachrichtendaten (520) auf der
physikalischen. Schicht des Quellenstapelspeichers umfaßt,
indem jeder der Puffer (521) entkettet wird, falls noch
Verkettungen fortbestehen.
4. Verfahren nach Anspruch 1, das des weiteren den Schritt
der Speicherung von Nutzdaten in dem Pufferkopfbereichfeld
(540) während der Ausführung der Tasks auf einer
Prüfpunktfestlegungsschicht des Quellenknotens umfaßt, so daß
die Prüfpunktfestlegungsschicht denselben Puffer
wiederbekommen kann, nachdem sie den Zugriff auf ihn weitergegeben
hat.
5. Verfahren nach Anspruch 1, das zur Vorsegmentierung,
Segmentierung und Wiederzusammensetzung von Nachrichtendaten
eingesetzt wird, die von einem Quellenknoten an einen
Zielknoten eines Übertragungsnetzwerks, das einem
Übertragungsprotokoll mit mehreren Schichten folgt, übertragen
werden sollen.
6. Verfahren zur Realisierung eines Protokollstapelspeichers
eines Quellenknotens eines Übertragungsnetzwerks, welches
einem Übertragungsprotokoll mit mehreren Schichten folgt,
das durch die folgenden Schritte gekennzeichnet
ist:
- vor dem Eintreten in den Protokollstapelspeicher
Formatieren (511) der Nachrichtendaten in Puffer (20),
wobei jeder Puffer ein Bitvollgruppenfeld (24) und
ein Pufferkopfbereichfeld (22) hat, so daß das
Bitvollgruppenfeld (24) mindestens ein Segment der
Benutzerdaten enthält, wobei das Segment klein genug
ist, so daß es zwischen dem Quellenknoten und einem
Zielknoten als vollständige Dateneinheit übertragen
werden kann, nachdem alle Protokollschichten dem
Segment Kopfbereichdaten hinzugefügt haben;
- Empfangen von Puffern, die zugehörige
Nachrichtendaten enthalten, in dem Protokollstapelspeicher in Form
von einer verketteten Liste (62);
- Verwenden der Puffer, um Daten von Schicht zu Schicht
zu übermitteln, indem einer Schicht der
ausschließliche Zugriff auf die Puffer (63) gewährt wird; und
- während der Verarbeitung des Protokollstapelspeichers
Verwenden eines untergeordneten Zeigerfelds des
Pufferkopfbereichfelds (22), um Puffer, die segmentierte
Benutzerdaten (63) enthalten, zu entketten.
7. Verfahren nach Anspruch 6, das des weiteren den Schritt
der Verwendung eines untergeordneten
Nutzlast-Relativzeigerfelds des Pufferkopfbereichs umfaßt, um den Zustand
des Puffers auf einer beliebigen Schicht (64) während der
Verarbeitung des Protokollstapelspeichers zu speichern, so
daß die Schicht den Zugriff auf denselben Puffer
wiedererlangen kann.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/888,953 US5278834A (en) | 1992-05-26 | 1992-05-26 | Method for implementing a data communication protocol stack |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69322125D1 DE69322125D1 (de) | 1998-12-24 |
DE69322125T2 true DE69322125T2 (de) | 1999-04-29 |
Family
ID=25394236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69322125T Expired - Fee Related DE69322125T2 (de) | 1992-05-26 | 1993-05-19 | Verfahren zur Implementierung eines Protokollstapels für Datenkommunikation |
Country Status (7)
Country | Link |
---|---|
US (1) | US5278834A (de) |
EP (1) | EP0572865B1 (de) |
JP (1) | JP3426283B2 (de) |
AT (1) | ATE173575T1 (de) |
CA (1) | CA2092875C (de) |
DE (1) | DE69322125T2 (de) |
ES (1) | ES2126614T3 (de) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7537167B1 (en) | 1993-08-31 | 2009-05-26 | Broadcom Corporation | Modular, portable data processing terminal for use in a radio frequency communication network |
US7383038B2 (en) * | 1990-01-18 | 2008-06-03 | Broadcom Corporation | Modular, portable data processing terminal for use in a radio frequency communication network |
BR9306654A (pt) * | 1992-07-01 | 1998-12-08 | Ericsson Telefon Ab L M | Processo e sistema para facilitar automaticamente a comunicação operativa entre primeiro e segundo componentes de um sistema de computador que usa uma pluralidade de protocolos de nível de aplicação e processo para criar e utilizar uma especificação de interface independente de linguagem com base em contruções definidas especializadas |
EP0584027A2 (de) * | 1992-08-19 | 1994-02-23 | International Business Machines Corporation | Transparente Übertragung zwischen gleiche Schichten in einer schichtorientierten Kommunikationsarchitektur |
US5696899A (en) * | 1992-11-18 | 1997-12-09 | Canon Kabushiki Kaisha | Method and apparatus for adaptively determining the format of data packets carried on a local area network |
US5784622A (en) * | 1992-11-18 | 1998-07-21 | Canon Kabushiki Kaisha | Method and apparatus for multiprotocol operation of a networked peripheral |
FR2699706B1 (fr) * | 1992-12-22 | 1995-02-24 | Bull Sa | Système de transmission de données entre un bus d'ordinateur et un réseau. |
GB2273850A (en) * | 1992-12-22 | 1994-06-29 | Ibm | ISDN Call processing |
US7853254B2 (en) | 1993-08-31 | 2010-12-14 | Broadcom Corp. | Modular, portable data processing terminal for use in a radio frequency communication network |
US5613067A (en) * | 1993-12-30 | 1997-03-18 | International Business Machines Corporation | Method and apparatus for assuring that multiple messages in a multi-node network are assured fair access to an outgoing data stream |
US6510465B1 (en) | 1994-04-19 | 2003-01-21 | Ibm | Dual communication services interface for distributed transaction processing |
US5903754A (en) * | 1994-06-21 | 1999-05-11 | Microsoft Corporation | Dynamic layered protocol stack |
US5583859A (en) * | 1994-08-30 | 1996-12-10 | Bell Communications Research, Inc. | Data labeling technique for high performance protocol processing |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5550816A (en) * | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US5546390A (en) * | 1994-12-29 | 1996-08-13 | Storage Technology Corporation | Method and apparatus for radix decision packet processing |
US5566170A (en) * | 1994-12-29 | 1996-10-15 | Storage Technology Corporation | Method and apparatus for accelerated packet forwarding |
US5859981A (en) * | 1995-07-12 | 1999-01-12 | Super P.C., L.L.C. | Method for deadlock-free message passing in MIMD systems using routers and buffers |
DE19530322A1 (de) * | 1995-08-17 | 1997-02-20 | Siemens Ag | Verfahren zum Übertragen von Signalisierungsinformationen innerhalb eines Breitband-ISDN-Kommunikationsnetzes |
US5924112A (en) * | 1995-09-11 | 1999-07-13 | Madge Networks Limited | Bridge device |
US5729681A (en) * | 1995-10-10 | 1998-03-17 | Intel Corporation | Method of communicating data from a host to a network controller |
US5802307A (en) * | 1995-11-24 | 1998-09-01 | Sun Microsystems, Inc. | Network communications subsystem and method for digital computer system employing protocol stack having diverse lower-level network driver components optimized for each of base and enhance operating systems |
US5784567A (en) * | 1995-12-13 | 1998-07-21 | Silicon Graphics, Inc. | System and method for coordinating communication between layers of a layered communication system |
US5931903A (en) * | 1995-12-20 | 1999-08-03 | Tandem Computers Incorporated | Computer system data I/O by reference among multiple CPUS |
US5954794A (en) * | 1995-12-20 | 1999-09-21 | Tandem Computers Incorporated | Computer system data I/O by reference among I/O devices and multiple memory units |
US5852719A (en) * | 1995-12-20 | 1998-12-22 | Tandem Computers Incorporated | System for transferring data over a network in which a data source sends only a descriptor which a data sink uses to retrieve data |
US5941959A (en) * | 1995-12-20 | 1999-08-24 | Tandem Computers Incorporated | System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building |
US5790807A (en) * | 1995-12-20 | 1998-08-04 | Tandem Computers Incorporated | Computer sysem data I/O by reference among CPUS and I/O devices |
US5754788A (en) * | 1995-12-28 | 1998-05-19 | Attachmate Corporation | Method and system for reconfiguring a communications stack |
US5878225A (en) * | 1996-06-03 | 1999-03-02 | International Business Machines Corporation | Dual communication services interface for distributed transaction processing |
US6064660A (en) * | 1996-12-12 | 2000-05-16 | Optimay Corporation | GSM transceiver with portable protocol stack |
US6212576B1 (en) | 1997-01-27 | 2001-04-03 | Optimay Corporation | Operating system interface for use with multitasking GSM protocol stacks |
US5909553A (en) * | 1997-02-19 | 1999-06-01 | International Business Machines Corporation | Systems and methods for controlling the transmission of relatively large data objects in a communications system |
US5983259A (en) * | 1997-02-19 | 1999-11-09 | International Business Machines Corp. | Systems and methods for transmitting and receiving data in connection with a communications stack in a communications system |
US5920703A (en) * | 1997-02-19 | 1999-07-06 | International Business Machines Corp. | Systems and methods for managing the processing of relatively large data objects in a communications stack |
US5813042A (en) * | 1997-02-19 | 1998-09-22 | International Business Machines Corp. | Methods and systems for control of memory |
US20020091784A1 (en) * | 1997-09-10 | 2002-07-11 | Baker Richard A. | Web interface to a device and an electrical network control system |
US6480507B1 (en) * | 1998-11-19 | 2002-11-12 | Nortel Networks Limited | Communication protocol stack apparatus and method of implementing same |
EP1056258A1 (de) | 1999-05-27 | 2000-11-29 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Mittel zur Übertragung einer Dateneinheit und Kontrollverfahren in Funknetzen |
US6614808B1 (en) * | 1999-09-02 | 2003-09-02 | International Business Machines Corporation | Network packet aggregation |
KR100612003B1 (ko) * | 2000-02-26 | 2006-08-11 | 삼성전자주식회사 | 통신망에서 비트 스트림 송수신 장치 및 그 방법 |
US7032027B1 (en) * | 2000-10-13 | 2006-04-18 | Lucent Technologies Inc. | Method of processing nested message layers |
US6882654B1 (en) * | 2000-11-14 | 2005-04-19 | Cisco Technology, Inc. | Packet data analysis with efficient buffering scheme |
US6445169B1 (en) | 2000-12-29 | 2002-09-03 | Volterra Semiconductor Corporation | Lag compensating controller having an improved transient response |
US6810448B1 (en) * | 2001-05-02 | 2004-10-26 | Lsi Logic Corporation | Method and apparatus for processing chain messages (SGL chaining) |
GB2382960B (en) | 2001-12-05 | 2005-03-16 | Ipwireless Inc | Method and arrangement for data processing in a communication system |
US7342892B2 (en) * | 2002-06-26 | 2008-03-11 | Sbc Properties, L.P. | Controlled exception-based routing protocol validation |
US7685121B2 (en) * | 2002-10-10 | 2010-03-23 | Emulex Corporation | Structure and method for maintaining ordered linked lists |
WO2004043044A1 (de) * | 2002-11-05 | 2004-05-21 | Ip2H Ag | Funktionseinheit zur steuerung von informationsflüssen und verfahren zur übertragung von information mit einer derartigen funktionseinheit |
EP1599989A2 (de) * | 2003-02-28 | 2005-11-30 | Motorola, Inc. | Verfahren und system zur dynamischen aggregation in einem drahtlosen netzwerk |
US7590056B2 (en) * | 2003-07-30 | 2009-09-15 | Agere Systems Inc. | Processor configured for efficient processing of single-cell protocol data units |
US7975064B2 (en) * | 2004-09-16 | 2011-07-05 | International Business Machines Corporation | Envelope packet architecture for broadband engine |
EP1641189B1 (de) * | 2004-09-27 | 2010-05-19 | Panasonic Corporation | Fehlerratenmessung in der Funkverbindungssteuerungsschicht zur Steuerung der Dienstqualität eines drahtlosen Kommunikationssystems |
US7600010B2 (en) * | 2004-10-12 | 2009-10-06 | Eaton Corporation | Method of managing communication buffers employing an application framework for a plurality of communication layers and node employing the same |
US20060077993A1 (en) * | 2004-10-12 | 2006-04-13 | Eaton Corporation | Method of managing communication buffers for a plurality of communication layers and node employing the same |
DE602004007002T2 (de) * | 2004-10-22 | 2008-02-21 | Research In Motion Ltd., Waterloo | Verfahren zur Datenübertragung innerhalb eines schnurlosen Gerätes mit verschiedenen Protokollstapeln |
US7400650B1 (en) * | 2005-01-31 | 2008-07-15 | Sun Microsystems, Inc. | System and method for eliminating Streams framework overhead in data communications |
US7574578B2 (en) * | 2005-05-02 | 2009-08-11 | Elliptic Semiconductor Inc. | System and method of adaptive memory structure for data pre-fragmentation or pre-segmentation |
KR20070096261A (ko) * | 2006-03-23 | 2007-10-02 | 엘지전자 주식회사 | 통신 시스템의 데이터 링크 계층의 데이터 처리 방법 |
US7656849B1 (en) | 2006-05-31 | 2010-02-02 | Qurio Holdings, Inc. | System and method for bypassing an access point in a local area network for P2P data transfers |
US7733908B1 (en) | 2006-05-31 | 2010-06-08 | Qurio Holdings, Inc. | Cross-layer architecture for a network device |
US8102863B1 (en) * | 2006-06-27 | 2012-01-24 | Qurio Holdings, Inc. | High-speed WAN to wireless LAN gateway |
US8615778B1 (en) | 2006-09-28 | 2013-12-24 | Qurio Holdings, Inc. | Personalized broadcast system |
US7738676B1 (en) | 2006-11-02 | 2010-06-15 | Qurio Holdings, Inc. | Client-side watermarking using hybrid I-frames |
US7830918B2 (en) * | 2007-08-10 | 2010-11-09 | Eaton Corporation | Method of network communication, and node and system employing the same |
US8549093B2 (en) | 2008-09-23 | 2013-10-01 | Strategic Technology Partners, LLC | Updating a user session in a mach-derived system environment |
CN101998448A (zh) * | 2009-08-11 | 2011-03-30 | 华为终端有限公司 | 一种流量控制方法、装置及终端 |
RU2450466C1 (ru) * | 2011-04-29 | 2012-05-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Рязанский государственный университет имени С.А.Есенина" | Способ передачи информации по каналам связи и система для его осуществления |
RU2577484C1 (ru) * | 2014-11-06 | 2016-03-20 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Рязанский государственный университет имени С.А. Есенина" | Способ гарантированной передачи информации по каналу связи и система для его осуществления |
RU2610677C1 (ru) * | 2016-02-10 | 2017-02-14 | Борис Иванович Крыжановский | Способ ускоренной передачи информации без трансляции ее по каналу связи |
WO2024117952A1 (en) * | 2022-12-02 | 2024-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method performed by a communication device comprising a protocol stack, receiving an indication from an upper layer to clear data in a buffer which data have not been yet submitted to one or more layers below the layer |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4941089A (en) * | 1986-12-12 | 1990-07-10 | Datapoint Corporation | Input/output network for computer system |
US5007051A (en) * | 1987-09-30 | 1991-04-09 | Hewlett-Packard Company | Link layer protocol and apparatus for data communication |
US4991133A (en) * | 1988-10-07 | 1991-02-05 | International Business Machines Corp. | Specialized communications processor for layered protocols |
US5163055A (en) * | 1990-06-27 | 1992-11-10 | Telefonaktiebolaget Lm Ericsson | Communications system using a fault tolerant protocol |
US5245608A (en) * | 1990-09-26 | 1993-09-14 | International Business Machines Corporation | Logical grouping of layer entities in a layered communication architecture |
-
1992
- 1992-05-26 US US07/888,953 patent/US5278834A/en not_active Expired - Lifetime
-
1993
- 1993-03-29 CA CA002092875A patent/CA2092875C/en not_active Expired - Fee Related
- 1993-05-19 ES ES93108135T patent/ES2126614T3/es not_active Expired - Lifetime
- 1993-05-19 DE DE69322125T patent/DE69322125T2/de not_active Expired - Fee Related
- 1993-05-19 AT AT93108135T patent/ATE173575T1/de active
- 1993-05-19 EP EP93108135A patent/EP0572865B1/de not_active Expired - Lifetime
- 1993-05-26 JP JP12446093A patent/JP3426283B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69322125D1 (de) | 1998-12-24 |
EP0572865A3 (de) | 1994-03-16 |
ES2126614T3 (es) | 1999-04-01 |
JPH0654020A (ja) | 1994-02-25 |
ATE173575T1 (de) | 1998-12-15 |
US5278834A (en) | 1994-01-11 |
JP3426283B2 (ja) | 2003-07-14 |
CA2092875C (en) | 1999-09-28 |
EP0572865B1 (de) | 1998-11-18 |
EP0572865A2 (de) | 1993-12-08 |
CA2092875A1 (en) | 1993-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69322125T2 (de) | Verfahren zur Implementierung eines Protokollstapels für Datenkommunikation | |
DE69031266T2 (de) | Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk | |
DE69327579T2 (de) | Rechnernetz mit Datenkompression | |
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
DE60203380T2 (de) | Verfahren und vorrichtung zur mehrfachsendung | |
DE68927508T2 (de) | Zeitweilige Zustandsbewahrung für einen verteilten Dateidienst | |
DE69836812T2 (de) | Verfahren und gerät zum dynamischen warteschlange-abschätzen | |
DE602005003142T2 (de) | Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung | |
DE69532262T2 (de) | Verfahren zum Mehrfachsenden | |
DE69430945T2 (de) | Schnelle Paketvermittlungsnetze | |
DE68918765T2 (de) | Verfahren zur wirksamen Aktualisierung der Knotentopologiedatenbanken in einem Datenkommunikationsnetzwerk. | |
DE60026676T2 (de) | Paketklassifizierungsautomat | |
DE60126934T2 (de) | Vermittlungssystem | |
DE69624579T2 (de) | System und verfahren für eine verteilte objektverwaltungsumgebung an mehreren orten | |
DE69624088T2 (de) | System und Verfahren für eine effiziente Schnittstelle zur ATM-Anpassung und Gerätebetrieb | |
DE3787567T2 (de) | Auf Sitzungsebene anpassbare Schrittgeschwindigkeit. | |
DE69602753T2 (de) | Netzwerkaddressierungsanordnung fur rückwarts kompatible leitweglenkung mit einem erweiterten addressraum | |
DE3855925T2 (de) | Nachrichtenübertragung in einem multiplexsystem | |
DE69423101T2 (de) | Virtuelle mehrfachsende-durchschaltvermittlung unter verwendung von zellenrecycling | |
DE69328841T2 (de) | Mehrfachprozessorrechnersystem | |
DE69836778T2 (de) | Vorrichtung und Verfahren zur Fernpufferspeicherzuordnung und Verwaltung für Nachrichtenübertragung zwischen Netzknoten | |
DE69613517T2 (de) | Verteilte Parallelprozessorvorrichtung für Datensortierung nach dem Eimerprinzip | |
DE3872145T2 (de) | Datenuebertragungsnetzwerk. | |
DE19639845C1 (de) | Lokales Netzwerk mit Sende- und Empfangsvorrichtung | |
DE69022942T2 (de) | Schrittablauf innerhalb eines Knotens für ein schnelles Netzwerk. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8327 | Change in the person/name/address of the patent owner |
Owner name: ALCATEL, PARIS, FR |
|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ALCATEL LUCENT, PARIS, FR |
|
8339 | Ceased/non-payment of the annual fee |