DE60309527T2 - System und Verfahren zur Identifikation von Grenzen von Nachrichten höherer Schichten - Google Patents
System und Verfahren zur Identifikation von Grenzen von Nachrichten höherer Schichten Download PDFInfo
- Publication number
- DE60309527T2 DE60309527T2 DE60309527T DE60309527T DE60309527T2 DE 60309527 T2 DE60309527 T2 DE 60309527T2 DE 60309527 T DE60309527 T DE 60309527T DE 60309527 T DE60309527 T DE 60309527T DE 60309527 T2 DE60309527 T2 DE 60309527T2
- Authority
- DE
- Germany
- Prior art keywords
- tcp
- marker
- frame
- header
- protocol
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- 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/22—Parsing or analysis of headers
Description
- HINTERGRUND DER ERFINDUNG
- Das Transmission Control Protocol/Internet Protocol (TCP/IP) ist ein Protokoll, das bei der Nachrichtenübermittlung weit verbreitet ist. Das Empfangen, Zwischenspeichern, Verarbeiten und Speichern der in TCP Segmenten kommunizierten Daten kann jedoch ein beträchtliches Ausmaß von Host-Verarbeitungsleistung und Speicherbandbreite beim Empfänger verbrauchen. In einem typischen System umfasst der Empfang die Verarbeitung in mehreren Kommunikationsschichten, bevor die Daten schließlich an ihr Endziel, einen Anwendungspuffer, kopiert werden. Eine typische Netzwerkkarte (Network Interface Card; NIC) verarbeitet die Schicht 2 (Layer 2) Header (z.B. Ethernet Header) und kopiert dann die verbleibenden Header (z.B. Schicht 3 (Layer 3) und höhere Header) und/oder die Upper Layer Protocol (ULP) Nutzlast (payload) in einen Transport-Puffer (z.B. einen TCP Puffer) zur Vernetzungs- und Transportschicht-Verarbeitung. Die Transport- und Vernetzungs-Verarbeitung (z.B. TCP/IP, wenn TCP das Transportschicht-Protokoll ist) entfernt die Schicht 3 und Schicht 4 Header und kopiert die verbleibenden Header und die ULP Nutzlast in einen anderen Puffer. Dieser Vorgang wiederholt sich auf der nächsten Ebene, bis der letzte Header entfernt ist und die ULP Nutzlast in den von der Anwendung zugeordneten Puffer kopiert ist. Die meisten Bytes in den Frames sind Nutzlast (z.B. Daten), aber sie werden immer wieder kopiert, während der Steuerabschnitt der Frames (z.B. die Header) schichtweise verarbeitet werden. Die Host-CPU, die einen großen Overhead von Verarbeitung und Kopieren übernimmt, einschließlich z.B. der Handhabung vieler Unterbrechungen und Kontextwechsel, führt dies durch. Somit sind zur Anwendungsverarbeitung, der gewünschten Verwendung einer Servervorrichtung, sehr wenige Takte verfügbar. Für Hochgeschwindigkeits-Vernetzung (z.B. 10 Gigabit pro Sekunde) belastet das zusätzliche Kopieren das Speicher-Untersystem des Computers. Für durchschnittlich drei Datenkopien wird das Speicher-Untersystem der meisten im Handel erhältlichen Servercomputer zum Engpass, wodurch verhindert wird, dass das System 10 Gigabit Netzwerk-Verkehr unterstützt. Da TCP/IP das vorherrschende Transport-Protokoll ist, das von den meisten heutigen Anwendungen verwendet wird, wäre es daher von Nutzen, die Belastung dieser Verarbeitung zu verringern, um beispielsweise eine skalierbare geringe CPU-Verwendung zu erreichen, wenn mit einer gleichrangigen Maschine kommuniziert wird.
- Zur Reduzierung des Overheads ist es nötig sicherzustellen, dass Daten ein Mal von der Leitung in den Anwendungspuffer kopiert werden. Ein Problem ist, dass die NIC nicht weiß, welcher Teil eines empfangenen Frames beispielsweise ULP Daten sind, und welcher Teil ULP-Steuerung ist. Es ist erforderlich, dass der Sender die Frames so aufbaut, dass es für die Empfänger-NIC einfach ist, diese Unterscheidung zu treffen. Jedes ULP-Protokoll kann jedoch eine eigene Art des Mischens von Daten und Steuerung aufweisen, wodurch es sehr schwierig wird, eine NIC zu konstruieren, die alle unterstützt.
- Ein weiteres Problem ist, dass das TCP einen Bytestrom-Dienst für das ULP anbietet. Es ist nicht immer möglich, den Anfang einer ULP Nachricht (z.B. die Protokolldateneinheit; Protocol Data Unit (PDU)) innerhalb dieses Endlosstroms von Bytes (z.B. der TCP Daten) zu bestimmen. Unter der Annahme, dass die Frames ohne Resegmentierung beim Empfänger (z.B. einem Server) ankommen, kann der Empfänger den Frame mittels TCP entpacken und könnte den ULP Header lokalisieren. Der ULP Header kann beispielsweise Steuerinformationen enthalten, die eine Stelle in dem Anwendungspuffer identifizieren können, an die die ULPDU (Upper Layer Protocol Data Unit; Protokolldateneinheit höherer Schichten) direkt platziert werden kann. Doch auch wenn ein Sender so ausgestaltet werden könnte, dass er in jedem TCP Segment eine TCP Schicht verwendet, die ULP Steuerinformationen beginnend in dem ersten Nutzlast-Byte des TCP Segments platzieren kann, könnte dies nicht ausreichend sein. Dies deshalb, weil Resegmentierung in TCP-/IP-Kommunikationen nicht ungewöhnlich ist. Es gibt keine Garantie, dass die TCP Segmente am anderen Ende der Leitung so ankommen, wie sie vom Sender aufgebaut worden sind, weil es beispielsweise zwischen dem Sender und dem Empfänger Netzwerk-Architektur-Strukturen geben kann. Eine Zwischenbox oder Mittelbox (z.B. eine Firewall) kann beispielsweise die TCP Verbindung mit dem Sender beenden und, ohne dass der Sender oder der Empfänger dies merkt, eine andere TCP Verbindung mit dem Empfänger aufbauen. Die Zwischenbox kann die ankommenden Frames resegmentieren (z.B. kleinere TCP Nutzlasten verwenden). Somit kann ein einzelner Frame in die Zwischenbox eintreten, aber eine Vielzahl kleinerer Frames, jeder mit eigenem TCP Header, aus der Zwischenbox austreten. Dieses Verhalten der Zwischenbox kann in der richtigen Reihenfolge platzierten Steuer- und Datenabschnitte durcheinander bringen.
- Im Fall der Resegmentierung kann sich der Empfänger einer Reihe von Herausforderungen gegenüber sehen. Es ist beispielsweise möglich, dass der Empfänger nichts von dem Vorhandensein von Zwischenboxen zwischen dem Sender und dem Empfänger weiß. Außerdem kann es sein, dass das von dem Sender verwendete Anfangs-Segmentierschema nicht das von dem Empfänger empfangene Segmentier-Schema ist. Somit ist es möglich, dass, obwohl der Empfänger die kleineren Frames ordnen kann, er beispielsweise den ULP Header und die ULPDU nicht lokalisieren kann. Demgemäß ist es möglich, dass der Empfänger die Steuer- und Grenzinformationen, die gegebenenfalls erforderlich sind, um die ULPDU an der richtigen Stelle z.B. des Anwendungspuffers des Empfängers zu platzieren, nicht ermitteln kann.
- Ein weiteres Problem ist, dass TCP/IP Netzwerke Segmente außer der Reihe liefern können. Es ist möglich, dass das ULP eine PDU aufweist, die länger ist, als ein TCP Segment, das auf 1460 Byte beschränkt sein kann, wenn es mit Ethernet verwendet wird, und die ULPDU kann zwischen einer Vielzahl von TCP Segmenten aufgesplittet sein. Daher können einige TCP Segmente beispielsweise nur Daten und keine Steuer-Informationen enthalten, die die empfangende NIC instruieren, wohin die Daten zu platzieren sind. Der Empfänger steht vor der Wahl, entweder die Segmente außer der Reihe fallen zu lassen und eine neue Übertragung anzufordern, was hinsichtlich Verzögerung und Leistungsverlust teuer ist, oder die Segmente außer der Reihe zwischenzuspeichern, bis alle fehlenden Segmente empfangen worden sind. In einigen Implementierungen kann das Ansammeln aller defekten Segmente gewählt werden, um auf den Empfang der fehlenden TCP Segmente zu warten und sie dann in der richtigen Reihenfolge zu platzieren. Die empfangende NIC kann dann den ganzen Satz TCP Segmente verarbeiten, während sie den Steuerabschnitt verwendet, um Datenplatzierungs-Informationen zu erhalten. Durch dieses Vorgehen entstehen zusätzliche Kosten für den temporären Puffer, und es werden eine Hochleistungs-CPU und ein breiterer Datenpfad, als sonst benötigt, verwendet. Die empfangende NIC verarbeitet alle angesammelten TCP Segmente parallel zur Verarbeitung anderer TCP Segmente mit Leitungsgeschwindigkeit, da der Verkehr auf dem Link die ganze Zeit anhält. Die Segmente außer der Reihe können für den Empfänger eine „Verarbeitungs-Blase" entstehen lassen.
- Ein Lösungsvorschlag zur Lokalisierung des ULP Headers ist die Verwendung des TCP ULP Framing (TUF)-Protokolls. Gemäß dem TUF-Protokoll platziert ein Sender einen bestimmten Wert (z.B. einen Schlüssel) in dem TCP Segment als erstes Byte, das dem TCP Header folgt, wie in
1 gezeigt ist. Der Schlüssel kann ein eindeutiger Wert sein (z.B. ein bestimmter 48 Bit Wert), nach dem der Empfänger suchen kann. Demgemäß hat der Empfänger, wenn er den Schlüssel fin det, beispielsweise auch den ULP Header oder den Beginn der Steuerinformationen (z.B. das erste Byte des DDP/RDMA Headers; Direct Data Placement/Remote Direct Memory Access Header) gefunden. Das TUF-Protokoll ist jedoch von wahrscheinlichkeitstheoretischer Natur. Der eindeutige Wert kann beispielsweise zufällig in der ULPDU auftauchen. Des Weiteren kann der Empfänger angesichts beispielsweise der Resegmentierung oder TCP Neuübertragung (z.B. von einem ungeeigneten TCP Sender) den Beginn der Steuerinformationen falsch identifizieren, was aufgrund der Platzierung an der falschen Stelle des Host-Speichers zu einer stillen Korruption der Daten führt. Obwohl die Länge des eindeutigen Werts vergrößert werden kann, um den Fall einer solchen Falschidentifizierung zu verringern, besteht die Wahrscheinlichkeit immer. Der Schlüssel kann auch ein Sicherheitsrisiko darstellen, wenn ein unberechtigter Empfänger den eindeutigen Wert erhalten kann, der es ihm ermöglicht, auf die ULP Nutzlast zuzugreifen. - Eine weitere Lösung zum Lokalisieren eines bestimmten Headers ist es, ein Fixed Interval Markers (FIM)-Protokoll zu verwenden. Das FIM-Protokoll verwendet nur vorwärts zeigende Marker und ist auf internet Small Computer System Interface (iSCSI)-Anwendungen beschränkt. Bei dem FIM-Protokoll wird ein vorwärts zeigender Marker an einer bekannten Stelle in dem TCP-Bytestrom platziert. Dies ermöglicht es dem Empfänger, ihn in dem endlosen TCP-Bytestrom möglicherweise zu lokalisieren. Der FIM Marker zeigt nach vorne zum Beginn des iSCSI Headers, wie in
2 gezeigt ist. Der Marker wird standardmäßig alle 8192 Bytes gesetzt, obwohl dies verhandelbar ist. Das FIM-Protokoll kann jedoch einen Nachteil haben, weil der Marker nur sparsam, alle 8192 Bytes, gesetzt wird. Demgemäß ist es möglich, dass viele Frames zwischengespeichert werden müssen, bevor oder wenn der iSCSI Header zu identifizieren ist. Es kann sein, dass auf andere iSCSI Header kein FIM Marker zeigt, so dass der Empfänger die TCP Segmente verarbeiten muss, um die iSCSI Daten platzieren zu können. Das FIM-Protokoll liefert auch keine Garantie, dass der iSCSI Header nach dem TCP Header angeordnet wird, oder dass der iSCSI Header überhaupt vollständig in einem TCP Segment platziert wird. Um das FIM-Protokoll zu verwenden, muss der Empfänger die Stelle der TCP Sequenz, auf die dieser FIM zeigt, lokal speichern. Er verwendet diese, wenn das TCP Segment mit dieser Stelle empfangen wird (d.h. zusätzliche Zustandsinformationen werden für jeden empfangenen FIM gespeichert, bis das entsprechende TCP Segment mit dem iSCSI-Header empfangen ist). Das FIM-Protokoll macht keinen Vorschlag und gibt keine Lehre hinsichtlich der Verarbeitung defekter TCP Segmente, wenn die außer der Reihe empfangenen TCP Segmente kleiner sind, als der FIM-Abstand (z.B. 8192 Bytes beim Standard). Das FIM-Protokoll ist ebenfalls auf iSCSI-Anwendungen beschränkt und kann für das Framing-Problem, das sich allen Anwendungen stellen kann, die das Hochgeschwindigkeits-TCP/IP-Protokoll verwenden, keine generische Lösung liefern. Ein Protokoll, das Fixed Interval Markers verwendet, ist in draft-iets-ips-iSCSI-10 offenbart. - Weitere Einschränkungen und Nachteile herkömmlicher und traditioneller Ansätze werden für den Fachmann aus einem Vergleich derartiger Systeme mit einigen Aspekten der vorliegenden Erfindung, die im Rest der vorliegenden Anmeldung unter Bezug auf die Zeichnungen dargelegt sind, offensichtlich.
- KURZE ZUSAMMENFASSUNG DER ERFINDUNG
- Die Erfindung ist durch den Gegenstand des unabhängigen Anspruchs 1 definiert.
- Ein Beispiel stellt ein Verfahren bereit, das einen Marker Header in einem empfangenen TCP Frame lokalisiert. Das Verfahren kann einen oder mehrere der folgenden Schritte umfassen: Lokalisieren eines nach hinten zeigenden Markers; und Verwenden von Informationen, die in dem nach hinten zeigenden Marker gespeichert sind, um den Frame Header zu lokalisieren.
- Ein Beispiel stellt ein Verfahren bereit, das die Resegmentierung eines TCP Segments ermittelt. Das Verfahren kann einen oder mehrere der folgenden Schritte umfassen: Lokalisieren eines nach hinten zeigenden Markers in dem TCP Segment; Bestimmen einer Stelle eines Frame Headers unter Verwendung von Informationen, die in dem nach hinten zeigenden Marker gespeichert sind; und Bestimmen, dass eine Resegmentierung des TCP Segments stattgefunden hat, wenn sich der Frame Header nicht vorne in dem TCP Segment nach einem TCP Header des TCP Segments befindet.
- Ein Beispiel stellt ein Verfahren bereit, das eine Resegmentierung eines TCP Segments ermittelt. Das Verfahren kann einen oder mehrere der folgenden Schritte umfassen: Lokalisieren eines nach hinten zeigenden Markers in dem TCP Segment; Bestimmen einer Stelle eines Frame Headers unter Verwendung von Informationen, die in dem nach hinten zeigenden Marker gespeichert sind; und Bestimmen, dass eine Resegmentierung des TCP Segments stattgefunden hat, wenn der nach hinten zeigende Marker auf eine Stelle außerhalb des TCP Segments zeigt.
- Ein Beispiel stellt ein Verfahren bereit, das eine Resegmentierung eines TCP Segments ermittelt. Das Verfahren kann einen oder mehrere der folgenden Schritte umfassen: Lokalisieren eines nach hinten zeigenden Markers in dem TCP Segment; Bestimmen einer Stelle eines Frame Headers unter Verwendung von Informationen, die in dem nach hinten zeigenden Marker gespeichert sind; und Bestimmen, dass eine Resegmentierung des TCP Frames stattgefunden hat, wenn die Anzahl von Nutzlast-Bytes in dem TCP Segment nicht gleich der Anzahl ist, die von einem Frame Header Längenfeld plus einem Pad und einem CRC Feld angegeben wird.
- Ein Beispiel stellt ein Verfahren bereit, das eine Resegmentierung eines TCP Segments ermittelt. Das Verfahren kann einen oder mehrere der folgenden Schritte umfassen: Lokalisieren eines nach hinten zeigenden Markers in dem TCP Segment; Bestimmen einer Stelle eines Frame Headers unter Verwendung von Informationen, die in dem nach hinten zeigenden Marker gespeichert sind; und Bestimmen, dass eine Resegmentierung des TCP Frames stattgefunden hat, wenn die Anzahl von Nutzlast-Bytes in dem TCP Segment nicht gleich der Summe aller Werte eines Frame Header Längenfelds plus Pads und CRC Feldern für mehrere Frame PDUs ist, die in einem TCP Segment platziert sind.
- Ein Beispiel stellt ein Verfahren bereit, das einen potentiellen Fehler in einem Bytestrom-Transportprotokoll-Segment ermittelt durch Vergleichen eines empfangenen Fehlerermittlungscodes mit einem berechneten Fehlerermittlungscode über eine Frame PDU. Das Verfahren kann einen oder mehrere der folgenden Schritte umfassen: Wenn der Vergleich vor der Verarbeitung des Bytestrom-Transportprotokolls stattfindet, Verwerfen des empfangenen Segments und Berufen auf das Bytestrom-Transport-Wiederherstellungs-Protokoll ohne Notwendigkeit einer spezifischen Frameschicht-Wiederherstellung; wenn der Vergleich nach der Verarbeitung des Bytestrom-Transportprotokolls stattfindet, Abbrechen der Verbindung; und Zulassen zusätzlichen Schutzes über das Bytestrom-Transport-Prüfsummen-Protokoll hinaus.
- Ein Beispiel stellt ein Verfahren bereit, bei dem von einem TCP Segment keine Informationen gespeichert werden, um die Verarbeitung eines anderen TCP Segments zu ermöglichen.
- Ein Beispiel stellt ein Verfahren bereit, das zusätzlichen Schutz eines Markers bereitstellt durch Anhängen von 16 Bits eines Fehlerermittlungscodes, beispielsweise Cyclical Redundancy Checking (CRC) (zyklische Redundanzprüfung), z.B. CRC16, an den Marker.
- Ein Beispiel stellt ein Verfahren bereit, das ermöglicht, dass zusätzliche Informationen in den reservierten Bits (z.B. 16 reservierte Bits) des Markers getragen werden. Dies kann beispielsweise ein weiterer Marker für einen ULP-spezifischen Zweck oder beliebige andere nützliche Daten sein, die in einer Sequenz dieser 16 Bit Einheiten getragen werden können. Das reservierte Feld kann beispielsweise zum Signalisieren zwischen 2 ULPs verwendet werden.
- Bei einigen Ausführungsformen kann die vorliegende Erfindung ein Frame Protokoll definieren, das es dem Empfänger ermöglicht, den Beginn von ULP-Steuer- und -Datenabschnitten, die in dem TCP/IP Bytestrom eingebettet sind, zu identifizieren. Jedes TCP Segment kann selbstbeschreibend sein, um eine Datenplatzierung zu ermöglichen, wenn es in der richtigen Reihenfolge oder außer der Reihe empfangen wird. Auf dem Frame Protokoll geschichtet kann sich beispielsweise ein Direct Data Placement/Remote Direct Memory Access (DDP/RDMA) Protokoll Header befinden. Der DDP/RDMA Header kann die Informationen hinsichtlich des zu verwendenden Puffers und der Offsets in diesen Puffer tragen. Sobald der Empfänger das DDP/RDMA Feld findet, kann er die Steuer- und Datenabschnitte einzeln benennen und die ULP Daten ohne Verarbeitung der protokollspezifischen Steuerinformationen platzieren. Die obere Schicht (Upper Layer (UL)) kann ein ULP Paket bilden, indem ULP Steuerinformationen oder eine ULP Dateneinheit (ULP Data Unit (ULPDU)) als Nutzlast für das Lower Layer Protocol (Protokoll niedrigerer Schicht) (z.B. RDMA/DDP) platziert werden. Die RDMA/DDP PDU kann in eine Frame PDU platziert werden. Die TCP Schicht kann ein TCP Segment bilden, indem ein TCP Header an das ULP/RDMA/DDP Frame-Paket angehängt wird. Die Pakete können durch andere Schichten des Protokollstapels (z.B. die Ethernet-Schicht) laufen, bevor sie auf einem Datenlink (z.B. einer Leitung) als Frames durch den Sender (z.B. einen Client) platziert werden.
- Diese und weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus einer Durchsicht der folgenden detaillierten Beschreibung der vorliegenden Erfindung zusammen mit den beigefügten Zeichnungen ersichtlich, in denen gleiche Bezugszeichen durchwegs gleiche Teile bezeichnen.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt ein Beispiel des TUF-Protokolls. -
2 zeigt ein Beispiel des FIM-Protokolls zur Verwendung mit iSCSI. -
3 zeigt eine Ausführungsform eines Systems, das Frame-Markierung gemäß der vorliegenden Erfindung bereitstellen kann. -
4 zeigt eine Ausführungsform eines TCP Frames gemäß der vorliegenden Erfindung. -
5 zeigt eine Ausführungsform eines TCP Frames gemäß der vorliegenden Erfindung. -
6 zeigt eine Ausführungsform eines TCP Frames gemäß der vorliegenden Erfindung. -
7 zeigt eine Ausführungsform eines Marker Header- und Trailer-Formats gemäß der vorliegenden Erfindung. -
8 zeigt eine Ausführungsform eines Markerformats gemäß der vorliegenden Erfindung. -
9A –B zeigen ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Markieren von Frames gemäß der vorliegenden Erfindung. -
10A –D zeigen ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Empfangen von TCP Frames gemäß der vorliegenden Erfindung. -
11 zeigt ein Beispiel der Resegmentierung eines TCP Frames. -
12A –D zeigen Ausführungsformen spezieller Marker-Stellen gemäß der vorliegenden Erfindung. -
13 zeigt ein Beispiel eines Verfahrens, das resegmentierte TCP Segmente ermittelt. - DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
3 zeigt eine Ausführungsform eines Systems, das ein Verfahren zur Identifizierung von Upper Layer Protocol (ULP)-Nachrichtengrenzen bereitstellt. Das Verfahren kann beispielsweise ULP-Nachrichtengrenzen in einem Bytestrom-Transportprotokoll (z.B. einem Frame-Protokoll) identifizieren. Ein Sender10 (z.B. ein Client) kann über ein Netzwerk20 , z.B. das Internet, an einen Empfänger30 (z.B. einen Server) gekoppelt sein. Das Netzwerk20 kann optional eine Zwischenbox40 aufweisen. Eine TCP-Verbindung kann zwischen dem Sender10 und dem Empfänger30 hergestellt werden. Die Zwischenbox40 (z.B. eine Firewall) kann die TCP-Verbindung des Senders10 beenden und eine andere TCP-Verbindung mit dem Empfänger30 herstellen. Die Zwischenbox40 kann einen ersten Satz TCP Frames von dem Sender10 empfangen und den ersten Satz TCP Frames zu einem zweiten Satz TCP Frames resegmentieren. Die Resegmentierung des ersten Satzes TCP Frames kann beispielsweise zu kleineren TCP Frames führen. In einem solchen Fall ist es möglich, dass das von dem Sender10 gesendete Frame-Schema nicht das von dem Empfänger30 empfangene Frame-Schema ist. -
4 und5 zeigen Ausführungsformen von TCP Frames gemäß der vorliegenden Erfindung. Der TCP Frame50 kann beispielsweise einen TCP Header60 , einen Frame Header70 , einen oder mehrere Marker80 , einen Frame Trailer90 , der gegebenenfalls beispielsweise ein Pad oder Cyclical Redundancy Checking (CRC) enthält, und Nutzlast100 , die beispielsweise ULP Daten enthalten kann, aufweisen.4 zeigt eine Ausführungsform, bei der sich ein Marker80 in dem TCP Frame50 befindet, und5 zeigt eine Ausführungsform, bei der sich zwei Marker80 in dem TCP Frame50 befinden. Obwohl einer oder zwei Marker80 in dem TCP Frame50 gezeigt sind, können sich in dem TCP Frame50 null, drei oder mehr Marker befinden. Der TCP Header60 kann ein herkömmlicher TCP Header60 sein und bei spielsweise Stelleninformationen innerhalb des TCP Sequenznummernraums bereitstellen. Das CRC90 kann optional für Fehlerermittlung verwendet werden. Das CRC90 kann beispielsweise den Frame Header70 , den einen oder die mehreren Marker80 , die Nutzlast100 und, wenn vorhanden, das Pad100 abdecken. Andere Arten von Fehlerermittlung oder Fehlerkorrektur können ebenfalls anstelle oder zusätzlich zu dem CRC90 verwendet werden. Das CRC kann beispielsweise CRC-32c verwenden. - Der Frame Header
70 (z.B. ein Marker Header) kann nach dem TCP Header60 angeordnet sein. Der Frame Header70 folgt unmittelbar nach dem letzten Byte des TCP Headers60 , der beliebige potentielle TCP Optionen enthalten kann, in dem TCP Frame50 . Der Sender10 kann garantieren, dass alle TCP Segmente (einschließlich Neuübertragungen) als erstes Byte, das unmittelbar auf den TCP Header (plus Optionen, wenn verwendet) folgt, den Frame Header70 aufweisen. Der Frame Header70 kann Informationen wie beispielsweise Dateninformationen oder Steuerinformationen (z.B. ULP Steuerinformationen) enthalten. Der Frame Header70 kann auch Informationen hinsichtlich Grenzen der Nutzlast100 bereitstellen, die dem Frame Header70 entsprechen. Außerdem kann der ULP Header110 spezifische Informationen darüber enthalten, in welchem Speicher (z.B. einem Anwendungspuffer) und insbesondere wo in dem Speicher des Empfängers10 die Nutzlast100 platziert (z.B. gespeichert) werden sollte. Der ULP Header110 kann beispielsweise einen DDP/RDMA Header/Trailer oder andere Arten von ULP Headern/Trailern enthalten.6 zeigt eine Ausführungsform eines TCP Frames50 , der den Frame Header70 und einen separaten DDP/RDMA Header110 aufweist. -
7 zeigt eine Ausführungsform eines Marker Header-Formats gemäß der vorliegenden Erfindung. Eine Nutzlast-Länge kann die Länge in Bytes der in dem TCP Segment enthaltenen ULPDU angeben. Es kann sein, dass sie die Länge des Frame Headers selbst, des Pads, des CRCs oder eines beliebigen Markers, der in der Frame PDU vorhanden sein kann, nicht enthält. Die ULPDU kann beispielsweise die ULP Daten (oder die ULP Steuerung) sein. Das Pad kann beispielsweise bis zu drei Bytes bereitstellen, um die Länge des Frames zu einem Modulo 4 Byte zu machen. Das CRC kann beispielsweise ein CRC-32c sein. Bei einem Beispiel kann die Gesamtlänge in Bytes der ULPDU und der Frame Header und des Trailers in dem TCP Paket die Nutzlast-Länge plus die Länge des CRCs (z.B. 4 Bytes für CRC-32c) plus die Anzahl von Pad-Bytes sein. - In einem TCP Segment können sich mehrere Frame PDUs befinden. Jede von ihnen kann unabhängig von dem Empfänger
30 verarbeitet werden. - Der Marker
80 ist ein nach hinten zeigender Marker. Der Marker80 kann nach hinten zu dem Beginn des Frame Headers70 zeigen, wodurch er den Frame Header70 identifiziert. Wenn in dem TCP Frame50 mehr als ein Marker80 vorhanden ist, kann/können, wie in5 gezeigt ist, ein oder mehrere Marker nach hinten auf denselben Frame Header70 zeigen. Bei einer Ausführungsform zeigen alle Marker80 in dem TCP Frame50 auf den Frame Header70 . Somit ist, anders als beim TUF-Protokoll, die Identifizierung der ULP Nachrichtengrenze (z.B. der Beginn des Frame Headers) vollkommen deterministisch und keinem wahrscheinlichkeitstheoretischen Fehlschlag unterworfen. Somit kann, anders als beim FIM-Protokoll, ein Zwischenspeichern minimiert werden, da jedes TCP Segment, das einen Marker80 trägt, selbstbeschreibend ist und es dem Empfänger30 ermöglicht, die Puffer-Platzierungs-Informationen, die in diesem Segment, beispielsweise in dem ULP Header110 , getragen werden, zu lokalisieren. Der Marker80 kann verwendet werden, um von den beispielsweise in dem ULP Header platzierten Puffer-Platzierungs-Informationen abzuleiten, ob das TCP Segment in der richtigen Reihenfolge oder außer der Reihe empfangen worden ist. Ein TCP Segment kann beispielsweise in der richtigen Reihenfolge empfangen werden, wenn alle vorhergehenden TCP Segmente mit niedrigeren TCP Sequenznummern, die legal empfangen werden können, innerhalb des TCP „Windows" liegen. Auch ein TCP Segment, das außer der Reihe empfangen worden ist, jedoch einen Marker80 trägt, kann verarbeitet werden, um die ULP Daten, die es enthält, zu platzieren, da der Marker80 auf den Frame Header70 zeigt. Aus dem Frame Header70 kann der Empfänger30 den ULP Header110 ermitteln, der die Pufferinformationen enthalten kann. Der TCP Header kann gemäß dem TCP-Protokoll separat verarbeitet werden. - Der Marker
80 kann von dem Sender10 in einem vorgegebenen Intervall in dem TCP Strom platziert werden. Der Marker80 kann beispielsweise alle 512 Bytes in dem TCP Strom platziert werden. Wenn das vorgegebene Intervall genügend klein ist (z.B. kleiner als das kleinste Transportsegment), dann kann in fast jedem TCP Segment50 oder in jedem TCP Segment50 ein Marker vorhanden sein. Wenn das TCP Segment50 kürzer als das vorgegebene Intervall ist, dann gibt es keine Garantie, dass ein Marker in dem TCP Segment vorhanden ist. Wenn ein Marker80 noch in dem kurzen TCP Frame50 vorhanden ist (z.B. einem TCP Segment, das kürzer ist, als das vorgegebene Intervall), dann kann der Frame Header70 lokalisiert und das TCP Segment50 wie oben beschrieben verarbeitet werden (z.B. kann die Nutzlast100 direkt an der geeigneten Stelle in dem Anwendungspuffer platziert werden). Wenn andererseits kein Marker80 vorhanden ist, kann der Empfänger30 die Nutzlast100 immer noch gemäß Informationen, die in dem ULP Header110 vorhanden sein können, platzieren, wenn das TCP Segment in der richtigen Reihenfolge empfangen worden ist (z.B. alle vorhergehenden TCP Segmente mit niedrigerer TCP Sequenznummer, die legal empfangen werden können, innerhalb des TCP Windows liegen). In diesem Fall kann dieses Segment immer noch verarbeitet werden, auch wenn eine Zwischenbox vorhanden ist und sie den TCP Bytestrom resegmentiert hat. Dies beruht auf der Tatsache, dass die vorhergehenden Segmente verarbeitet wurden, und wenn kein Fehler aufgetreten ist, dann ist bekannt, dass das nächste Byte, das von dem Sender in dem TCP Bytestrom platziert worden ist, das erste Byte des Frame Headers70 ist. Ein anderer Fall tritt ein, wenn das TCP Segment außer der Reihe ohne Marker empfangen wird. In diesem Fall platziert der Empfänger das TCP Segment, das er empfangen hat, in einem temporären Puffer (oder lässt das TCP Segment fallen und verarbeitet nur solche in der richtigen Reihenfolge), wodurch ein Bedarf an einem Puffer mit geringer Leistungsverschlechterung ausgeschlossen wird. Die Puffergröße kann klein sein und annähernd berechnet werden als beispielsweise das vorgegebene Intervall multipliziert mit der Anzahl von TCP Löchern, die der Empfänger pro TCP Verbindung unterstützen möchte. Im Gegensatz dazu benötigt das FIM-Protokoll eine Puffergröße des FIM-Intervalls plus eine maximale Übertragungseinheit (Maximum Transmission Unit (MTU)) multipliziert mit der Anzahl von TCP Löchern und den in dem Marker enthaltenen Daten für jeden Marker, multipliziert mit der Anzahl von TCP Verbindungen. Der Empfänger kann statistisch weniger Ressourcen vorsehen, da nicht alle Verbindungen gleichzeitig TCP Segmente außer der Reihe zu erwarten haben. Wenn der Empfänger keinen Puffer mehr für TCP Segmente außer der Reihe zur Verfügung hat, kann er alle nachfolgend außer der Reihe empfangenen TCP Segmente fallen lassen, bis ein Puffer beispielsweise aufgrund des Stopfens von Löchern in dem TCP Strom frei geworden ist. - Die TCP Frames
50 können selbstbeschreibend sein. Außerdem braucht, anders als beim FIM-Protokoll, der Empfänger30 nicht unbedingt Zustandsinformationen von einem Frame zu einem anderen Frame zu tragen. Da fast jeder TCP Frame50 einen Marker80 enthalten kann, kann fast jeder TCP Frame50 unabhängig verarbeitet werden. Das unabhängige Verarbeiten der TCP Frames50 kann die Pufferer fordernisse wesentlich reduzieren, insbesondere in einer TCP Umgebung, in der TCP Frames50 bei Eintreffen bei dem Empfänger30 außer der Reihe sein können. - Das Platzieren des Markers
80 an einem vorgegebenen Intervall kann dem Empfänger30 auch bekannte Stellen in dem TCP Strom zur Verfügung stellen, an denen er den Marker80 finden kann. Somit kann die relative Stelle des Markers80 in Bezug auf den TCP Header60 von TCP Frame50 zu TCP Frame50 variieren. Der Empfänger30 kann innerhalb des TCP Sequenznummern-Raums von den TCP Headern60 Stelleninformationen bestimmen. Bei einem Beispiel, bei dem der Marker80 alle 512 Bytes in dem TCP Strom platziert wird, kann der Empfänger30 eine Modulo512 Operation durchführen, um den Marker80 zu lokalisieren. Da der TCP Sequenzraum bei einem Nicht-Null-Wert beginnen kann, der von TCP Verbindung zu TCP Verbindung variieren kann, kann das vorgegebene Intervall durch Subtrahieren des Anfangs-Nicht-Null-Werts von der TCP Sequenznummer, die in dem TCP Header getragen wird, berechnet werden, und durch Durchführen eines Modulo512 für das Ergebnis. Anders als beim FIM-Protokoll beseitigt die Fähigkeit, die Verwendung des Frame Protokolls ohne Verhandlung zu beginnen, alle zusätzlichen Wartezeiten, indem die beiden Maschinen mit den Vorteilen eines Frame Protokolls miteinander in Kommunikation gebracht werden. Auch der zusätzliche Code, der geschrieben und auf der NIC gespeichert werden muss, um die Verhandlung durchzuführen, kann gespart werden. - Die vorliegende Erfindung sieht auch vor, dass anstelle des vorgegebenen Intervalls der Sender
10 und der Empfänger30 ein Intervall aushandeln können. Des Weiteren können Band-externe Kommunikationen verwendet werden, um das Markerintervall einzustellen. Der Wert des Markerintervalls kann jederzeit nach Initialisierung durch das ULP eingestellt werden. Dies kann einen Ausgleich zwischen dem Wire Protocol Overhead und der empfängerseitigen Resegmentierungs-Puffergröße pro Verbindung ermöglichen. -
8 zeigt eine Ausführungsform eines Markerformats gemäß der vorliegenden Erfindung. Bei einer Ausführungsform ist der Marker 32 Bit lang. Die ersten 16 Bits (MSB) können den Abstand zum Beginn des Frame Headers70 angeben. Der 16-Bit Marker kann als 16-Bit vorzeichenlose ganze Zahl interpretiert werden, die die Anzahl von Bytes in dem TCP Sequenzraum von dem ersten Byte des Frame Headers70 zu dem Marker80 trägt. Wenn beispielsweise der Anfangs-TCP-Se quenzraum bei Byte 12 beginnt und bei dem aktuellen TCP Segment das erste Nutzlast-Byte bei Byte 112 in dem TCP Sequenzraum angeordnet ist. Der nächste Marker kann in dem TCP Sequenzraum an dem 32-Bit Feld angeordnet werden, das in dem Byte 524 angeordnet ist, wenn ein Marker Intervall von 512 Bytes angenommen wird. Der Marker kann den Wert 412 haben (d.h. 112 von 524 subtrahiert). Bei einer Ausführungsform sind, da die Felder des zum Framen formatierten TCP Segments 4-Byte-ausgerichtet sind, die letzten 2 Bits des Markers Nullen. Die nächsten 16 Bits (LSB) können für weiteres Framen (z.B. NFS) oder eine andere Signalisierungsfunktion reserviert werden. Bei einer Ausführungsform können die nächsten 16 Bits (LSB) eine Wiederholung der ersten 16 Bits sein. Bei einer weiteren Ausführungsform können die nächsten 16 Bits (LSB) Fehlerkorrektur- oder Fehlerermittlungs-Code (z.B. CRC-16) tragen, um den Inhalt des Markers zu schützen. Bei einer weiteren Ausführungsform können die nächsten 16 Bits (LSB) ULP-spezifische Informationen tragen und einen Kommunikationskanal zwischen den ULPs bedienen oder verwendet werden, um auf ein ULP-spezifisches Feld zu zeigen (z.B. ein zweiter Marker, der beispielsweise auf einen NFS Header zeigt). Bei einer anderen Ausführungsform können die 16-Bit Felder geswappt werden. Anders als beim FIM-Protokoll kann der Overhead des Markers nur 32 Bit betragen. Das FIM-Protokoll hat 2 Kopien desselben Markers, die jeweils 32 Bits belegen, da das Intervall zwischen Markern lang sein kann und eine Mittelbox in der Mitte eines Markers resegmentieren kann. Eine Ausführungsform der vorliegenden Erfindung kann beispielsweise nur eine Kopie des Markers benötigen. - Im Betrieb kann der Sender
10 einen Protokollstapel verwenden, der obere Schichten (Upper Layers; ULs) sowie beispielsweise TCP/IP Schichten bei der Bildung der TCP Frames50 umfasst.9A –B zeigen ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Markieren von Frames gemäß der vorliegenden Erfindung. In Schritt120 kann eine TCP Verbindung beispielsweise zwischen dem Sender10 und dem Empfänger30 hergestellt werden. In Schritt130 kann der Sender10 den Frame Header70 in dem TCP Segment unmittelbar dem TCP Header folgend platzieren. In Schritt140 kann ein DDP/RDMA Header in dem TCP Segment unmittelbar dem Frame Header70 folgend platziert werden. Bei einem Beispiel kann der Sender10 einen DDP/RDMA Header/Trailer110 anhängen, bevor er den Frame Header70 anhängt. In Schritt150 kann der Sender10 die ULPDU-Länge erhalten und sie so segmentieren, dass sie in ein TCP Segment passt. Als nächstes kann der Sender10 die Stelle und den Inhalt des einen oder mehrerer Marker berechnen. In Schritt160 kann der Sender10 die Stelle des nächsten Markers berechnen, indem er beispielsweise das vorgegebene Intervall zu der Stelle des letzten Markers addiert. In Schritt170 kann der Sender10 prüfen, ob der nächste Marker innerhalb der Grenzen des TCP Segments liegt. Dieser Schritt kann beispielsweise die maximale Übertragungseinheit für das TCP Segment und die Menge von zu übertragenden ULPDU Daten in Betracht ziehen. Wenn der nächste Marker außerhalb der Grenzen des TCP Segments liegt, dann kann in Schritt210 der Sender10 die ULPDU Daten unmittelbar nach dem Frame Header70 und dem DDP/RDMA Header110 , wenn vorhanden, beginnend platzieren (und den einen oder mehrere Marker überspringen). Wenn der nächste Marker innerhalb das TCP Segment fällt, kann der Sender10 in Schritt180 prüfen, ob der nächste Marker unmittelbar nach dem TCP Header fällt. Wenn der nächste Marker unmittelbar nach dem TCP Header fällt, wird er unmittelbar nach dem TCP Header und vor dem Frame Header70 platziert. In Schritt190 wird der Markerwert auf 0 gesetzt (d.h. der Frame Header folgt unmittelbar auf diesen Marker). Dann kann der Sender10 in Schritt160 sehen, ob mehr Marker zu platzieren sind. In Schritt180 , wenn der nächste Marker nicht unmittelbar nach dem TCP Header kommt, kann in Schritt200 der Sender10 ermitteln, ob der nächste Marker in das nächste Byte nach der Stelle des CRC Felds fällt. Wenn der nächste Marker in das nächste Byte nach der Stelle des CRC Felds fällt, dann wird in Schritt220 der Marker nicht platziert. In Schritt210 kann, da der letzte Marker platziert worden ist, die ULPDU platziert werden und das CRC kann berechnet und platziert werden. Wenn der Marker80 nicht unmittelbar nach dem CRC Feld fällt, dann fällt er in das TCP Segment. In Schritt230 wird der Marker80 berechnet und platziert, und das Verfahren geht zurück zu Schritt160 , um die Stelle des nächsten Markers80 in dem TCP Segment zu finden. Nachdem alle Marker80 durch den Sender10 platziert worden sind, kann Schritt170 zu Schritt210 weitergehen. In Schritt210 kann, da der letzte Marker platziert worden ist, die ULPDU um die Marker herum platziert werden und das CRC kann berechnet und platziert werden. Das CRC kann die komplette Frame PDU von dem ersten Byte, das dem TCP Header unmittelbar folgt, bis zu dem letzten Byte des Pads, wenn vorhanden, oder der ULPDU Daten abdecken. Die CRC Berechnung kann am Ende des Frames angehängt werden, um den TCP Frame50 zu bilden. Obwohl in einer bestimmten Reihenfolge beschrieben, können die Schritte in anderer Reihenfolge angeordnet werden, und einige Schritte können gleichzeitig stattfinden oder weggelassen werden. Der Marker80 kann beispielsweise vor oder gleichzeitig mit dem Anhängen des TCP Headers60 eingesetzt werden. Anders als beim FIM-Protokoll deckt das CRC die Marker ab, was beispielsweise einen sehr einfachen Empfänger ermöglicht, bei dem die komplette TCP Nutzlast außer den letzten 4 Bytes (von denen angenommen wird, dass sie das CRC sind) der CRC Berechnung unterliegt. Der FIM-Protokoll-Mechanismus erfordert das Lokalisieren der Marker und ihren Ausschluss von der CRC Berechnung, was eine mühsamere und aufwendige Operation ist. - Der Sender
10 kann die PMTU (Path Maximum Transmission Unit) kennen und wissen, wie sie sich verändern kann. Die TCP-Schicht-variable maximale Segmentgröße kann von der PMTU beeinflusst werden. Bei der Neuübertragung kann der Sender10 , je nach TCP Erfordernissen, den Bytestrom auf dieselbe Weise segmentieren, in der die ursprüngliche Frame PDU segmentiert worden ist (z.B. folgt das erste Byte des Frame Headers dem TCP Header, die Länge des TCP Segments kann eine komplette Frame PDU oder mehrere komplette Frame PDUs umfassen). Die PMTU kann sich zwischen der ersten Übertragung und der Neuübertragung ändern. Der Sender10 kann nochmals das TCP Segment erzeugen, das er beim ersten Mal erzeugte. Wenn die PMTU kleiner geworden ist, kann die ursprüngliche Segmentgröße die erlaubte PMTU übersteigen. Ein Mechanismus mit niedrigeren Schichten, z.B. IP Fragmentierung, kann verwendet werden. - Bei einem Netzwerk, bei dem die PMTU zu klein ist, um eine geeignete Operation zu ermöglichen, kann der Sender
10 einem „Notfall-Modus" folgen, wie er in dem TUF-Protokoll dargestellt ist. Das TUF-Protokoll wird beispielsweise beschrieben in „TCP ULP Framing Protocol (TUF): draft-ietf-tsvwg-tcp-ulp-frame-01" von Bailey et al. - Der Sender
10 kann dann den TCP Frame50 senden.10A –D zeigen ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Empfangen der TCP Frames50 gemäß der vorliegenden Erfindung. In Schritt240 kann der TCP Frame50 von dem Empfänger30 empfangen werden. Das TCP Segment kann in der richtigen Reihenfolge sein (z.B. das nächste erwartete Segment in dem TCP Sequenznummernraum) oder außer der Reihe (z.B. ein TCP Segment, das sich an der rechten oder linken Kante des TCP Windows befindet). In Schritt250 kann der Empfänger30 den Marker80 in dem TCP Frame50 lokalisieren. Der Empfänger30 kann TCP Sequenznummerninformationen von dem TCP Header für den TCP Frame50 erhalten. Außerdem kann der Empfänger, um den Marker80 zu lokalisieren, den Anfangs-Nicht-Null-Wert der TCP Sequenznummer für das erste TCP Nutzlastbyte in diesem bestimmten TCP Strom subtrahieren. Der Empfänger30 kann dann eine Modulo-Operation für die TCP Sequenznummern unter Verwendung des vorgegebenen Intervalls durchführen, an dem der Marker80 angeordnet ist. Der Empfänger30 muss nicht alle Marker lokalisieren, wenn mehr als einer vorhanden ist, da die Verwendung des einen Markers ausreichend sein kann. In Schritt260 kann der Empfänger ermitteln, ob ein Marker innerhalb des TCP Segments50 vorhanden ist. Wenn vorhanden, kann der Empfänger in Schritt270 den Frame Header70 unter Verwendung der in dem Marker80 gespeicherten Informationen lokalisieren. Bei einem Beispiel kann der Marker80 ein nach hinten zeigender Zeiger sein, wobei ein Deltawert in dem Marker80 gespeichert ist. Der Deltawert kann die Stelle des Frame Headers70 durch Angeben der Anzahl von Bytes nach hinten von der TCP Sequenznummer des Markers80 zu der TCP Sequenznummer des Beginns des ULP Headers70 angeben. In Schritt280 kann der Empfänger30 die Frame PDU Länge von dem Längenfeld innerhalb des Frame Headers70 erhalten. In Schritt290 kann der Empfänger30 das CRC über die komplette Frame PDU berechnen und mit dem in dem CRC Feld dieser Frame PDU erhaltenen Wert vergleichen. In Schritt300 kann der Empfänger30 ermitteln, ob das CRC gültig ist. Wenn das CRC stimmt, kann der Empfänger30 in Schritt310 Steuerinformationen und/oder Dateninformationen von dem Frame Header70 und/oder dem DDP/RDMA Header110 erhalten. In Schritt320 kann der Empfänger30 die gemäß den Steuerinformationen und/oder Dateninformationen geforderte Operation durchführen. Der DDP/RDMA Header110 kann beispielsweise ULP Steuerinformationen enthalten. Bei einem anderen Beispiel kann der DDP/RDMA Header110 Grenzinformationen über die ULP Nutzlast enthalten. Bei einem weiteren Beispiel kann der DDP/RDMA Header110 angeben, in welchem Speicher (z.B. einem bestimmten Anwendungspuffer) und an welcher Stelle innerhalb des Speichers die ULPDU Daten direkt platziert werden sollten. Der Empfänger30 kann das Frame Header Längenfeld verwenden, um beispielsweise zu sehen, ob ein Pad vorhanden ist (d.h., ob die Länge kein ganzzahliges Vielfaches von 4 Bytes ist). Der Empfänger30 kann die ULPDU Daten an dieser Speicherstelle platzieren, ohne die Pad-Bytes (z.B. 0–3 Bytes) zu platzieren. In Schritt300 , wenn das CRC nach der durch den Empfänger30 durchgeführten Prüfung nicht stimmt, kann der Empfänger30 in Schritt360 ermitteln, ob die TCP Schichtverarbeitung für das bestimmte Segment durchgeführt worden ist, was für Schichtimplementierung ohne Veränderung an dem TCP der Fall sein kann. Wenn die TCP Verarbeitung für dieses TCP Segment50 durchgeführt wurde, dann kann der Empfänger30 in Schritt370 die TCP Verbindung abbrechen. Es gibt keinen Weg, diesen Fehler wieder gut zu ma chen, der von der stärkeren CRC erkannt worden ist, die von der Frame Schicht verwendet wird, der aber durch den weniger rigorosen Test der TCP Prüfsumme durchgeschlüpft sein kann. In Schritt360 , wenn die Frame Schicht CRC Prüfung vor der TCP Schichtverarbeitung stattfindet (z.B. eine NIC, die Ethernet und IP und TCP und Framen implementiert, wo lokale Optimierung ohne Bruch der Übereinstimmung mit IETF RFCs durchgeführt werden kann), kann dann in Schritt380 der Empfänger30 das TCP Segment ruhig fallen lassen und es dem TCP Schicht Wiederherstellungsmechanismus ermöglichen, es neu zu übertragen. Dies kann das Erfordernis verringern oder beseitigen, Fehlerbehebungsmechanismen in der Frame Schicht hinzuzufügen (anders als die komplexen Fehlerbehebungsmechanismen, die von iSCSI verwendet werden), während es der Frame Schicht erlaubt, die erhöhte Integrität von Nutzlast, die durch CRC geschützt ist, zu genießen. - Wenn die TCP Frames
50 kürzer sind, als das vorgegebene Markerintervall von beispielsweise 512 Bytes, dann ist es möglich, dass der TCP Frame50 den Marker80 nicht enthält. In Schritt260 kann der Empfänger ermitteln, ob der Marker in dem TCP Segment vorhanden ist. Wenn kein Marker vorhanden ist, kann der Empfänger30 in Schritt330 ermitteln, ob dieses TCP Segment50 in der richtigen Reihenfolge empfangen worden ist. Wenn die TCP Segmente in der richtigen Reihenfolge empfangen worden sind, gibt es keine Notwendigkeit zum Zwischenspeichern und sie können direkt verarbeitet werden. In Schritt340 kann der Empfänger30 beispielsweise annehmen, dass der Frame Header an dem ersten Byte, das dem TCP Header unmittelbar folgt, beginnt. Das Verfahren kann dann zu Schritt280 zurückgehen. In Schritt330 , wenn die TCP Segmente außer der Reihe empfangen worden sind, kann der Empfänger in Schritt350 begrenztes Zwischenspeichern von ca. 512 Bytes verwenden, da es beispielsweise für jedes Loch in der TCP Sequenz nicht mehr als 512 Byte TCP Segmente gibt, die keinen Marker tragen. Sobald das TCP „Loch" gestopft ist und alle vorhergehenden TCP Segmente verarbeitet und als fehlerfrei gefunden worden sind, kann der Empfänger in Schritt340 fortfahren. Wenn die TCP Frames50 außer der Reihe empfangen worden sind und wenn der Empfänger30 wünscht, mehr als ein „Loch" in dem TCP Sequenznummernraum zu unterstützen, kann zusätzliches Zwischenspeichern verwendet werden (z.B. 512 Bytes für jedes „Loch"). - Der Marker
80 kann auch verwendet werden, um Resegmentierung der TCP Frames50 zu ermitteln.11 zeigt ein Beispiel der Resegmentierung des TCP Frames50 in zwei TCP Frames50A ,50B gemäß der vorliegenden Erfindung. Bei diesem Beispiel kann sich der Frame Header70 in dem ersten TCP Frame50A und der Marker80 in dem zweiten TCP Frame50B befinden. Wenn der Empfänger30 den Marker80 lokalisiert, kann er die Stelle des Frame Headers70 ermitteln. Wenn jedoch die Stelle des Frame Headers70 nicht in dem TCP Frame50B ist, kann der Empfänger30 feststellen, dass eine Resegmentierung stattgefunden hat. Eine Zwischenbox40 kann beispielsweise die TCP Frames50 von dem Sender10 resegmentiert haben. Wenn die Stelle des Frame Headers70 in dem TCP Frame50B ist, jedoch nicht am Beginn des TCP Frames50B (d.h. der Frame Header70 befand sich nicht unmittelbar nach dem TCP Header60 ), dann kann der Empfänger30 feststellen, dass eine Resegmentierung stattgefunden hat. Bei einer Ausführungsform kann, wenn eine Resegmentierung stattgefunden hat, der Empfänger30 die beschleunigten Express-Dienste wie beispielsweise direkte Datenplatzierung (Direct Data Placement) nicht anbieten. Bei einer anderen Ausführungsform kann der Empfänger30 den Marker80 verwenden, um die ursprünglich von dem Sender10 übertragenen TCP Segmente zu rekonstruieren (d.h. ihren Frame Header zu finden und die in ihm und in dem DDP/RDMA eingebetteten Informationen zu verwenden, um die von dem ULP platzierten Informationen zu finden) und alle Dienste wie für normalen Empfang durchzuführen. Wie in13 gezeigt ist, ist ein anderes Verfahren, das der Empfänger30 verwenden kann, um Resegmentierung festzustellen, dass ein Marker80 nicht vollständig in dem empfangenen TCP Segment vorhanden ist. Wie in13 gezeigt ist, kann das Längenfeld des Frame Headers70 auch von dem Empfänger30 verwendet werden, um zu ermitteln, dass das TCP Segment eine (oder mehrere) komplette Frame PDUs enthält. Der Empfänger30 kann eine Resegmentierung identifizieren, indem er herausfindet, dass der Frame Header70 dem TCP Header60 nicht unmittelbar folgt, oder falls das TCP Segment mehr oder weniger Bytes enthält, als von dem Längenfeld des Frame Headers angegeben sind (siehe z.B.7 ). Wenn mehr Bytes gefunden werden, kann der Empfänger30 die Bytes, die der CRC unmittelbar folgen, als Frame Header der nächsten Frame PDU behandeln (d.h., mehr als eine Frame PDU ist in ein TCP Segment gepackt worden). Wenn das letzte Byte der letzten Frame PDU (z.B. das CRC Feld) nicht das letzte Byte der TCP Segment Nutzlast ist, hat eine Resegmentierung stattgefunden. -
12A –D zeigen Ausführungsformen besonderer Markerstellen gemäß der vorliegenden Erfindung.12A zeigt ein Beispiel eines TCP Frames50 , in dem der Marker80 , wenn an dem vorgegebenen Interval platziert, sich unmittelbar nach der CRC90 befinden würde. Bei einer Ausführungsform kann der Marker80 Teil des aktuellen Frames sein und nach hinten zu dem Frame Header70 des aktuellen Frames zeigen.12B zeigt eine andere Lösung des Problems, dass der Marker80 unmittelbar nach der CRC90 , wie in12A gezeigt, platziert wird. In diesem Beispiel kann der Marker80 an die Vorderseite des nächsten TCP Frames zwischen dem TCP Header60 und dem Frame Header70 bewegt werden. Der Marker80 kann dann nach vorne zu dem Frame Header70 zeigen (und einen Wert 0 haben).12C zeigt ein Beispiel, in dem der Marker80 in der Mitte des ULP Headers (z.B. des DDP/RDMA Headers110 ) platziert ist. Dieser Fall bereitet keine besonderen Probleme, weil der Marker noch wirksam auf den Beginn des Frame Headers70 zeigen kann.12D zeigt ein Beispiel, bei dem der Marker80 in der Mitte des CRC90 platziert ist. Da sowohl der Marker80 als auch das CRC90 beispielsweise vier ausgerichtete Bytes umfassen können, kann dieses Beispiel nicht erlaubt sein.
Claims (5)
- Verfahren zum Identifizieren von Protokollnachrichten höherer Schichten in einem Bytestrom-Transportprotokoll, das die folgenden Schritte umfasst: Anfügen eines Frame Headers (
70 ), der einen Protokoll Header (110 ) höherer Schichten eines Frames aufweist, an eine Protokolldateneinheit (100 ) höherer Schichten, wobei der Frame Header (70 ) unmittelbar nach dem Bytestrom-Transportprotokoll-Header platziert wird, wobei der Frame Header (70 ) ein Längenfeld aufweist, das die Länge der Protokolldateneinheit (100 ) höherer Schichten umfasst; und Einfügen eines Markers (80 ) in den Bytestrom, wobei der Marker (80 ) nach hinten zu dem Frame Header (70 ) zeigt und zu einem vorgegebenen Intervall eingefügt wird. - Verfahren nach Anspruch 1, wobei der Frame Header (
70 ) wenigstens eine von Steuerinformationen und Dateninformationen aufweist. - Verfahren nach Anspruch 1, wobei der Marker (
80 ) einen Deltawert aufweist, der eine Anzahl von Bytes vor einer Marker-Stelle bis zu einer bestimmten Stelle in dem Frame Header (70 ) angibt. - Verfahren nach Anspruch 1, wobei der Marker (
80 ) einen Deltawert aufweist, der eine Anzahl von Bytes vor einer Marker-Stelle bis zu einer Anfangsstelle des Frame Headers (70 ) angibt. - Verfahren nach Anspruch 1, wobei der Marker (
80 ) in dem Frame Header (70 ) angeordnet ist.
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36338102P | 2002-03-08 | 2002-03-08 | |
US363381P | 2002-03-08 | ||
US36335602P | 2002-03-11 | 2002-03-11 | |
US363356P | 2002-03-11 | ||
US37285202P | 2002-04-16 | 2002-04-16 | |
US37285102P | 2002-04-16 | 2002-04-16 | |
US372851P | 2002-04-16 | ||
US372852P | 2002-04-16 | ||
US10/230,643 US7295555B2 (en) | 2002-03-08 | 2002-08-29 | System and method for identifying upper layer protocol message boundaries |
US230643 | 2002-08-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60309527D1 DE60309527D1 (de) | 2006-12-21 |
DE60309527T2 true DE60309527T2 (de) | 2007-09-13 |
Family
ID=27767949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60309527T Expired - Lifetime DE60309527T2 (de) | 2002-03-08 | 2003-03-07 | System und Verfahren zur Identifikation von Grenzen von Nachrichten höherer Schichten |
Country Status (3)
Country | Link |
---|---|
US (5) | US7295555B2 (de) |
EP (1) | EP1345382B1 (de) |
DE (1) | DE60309527T2 (de) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
US7430171B2 (en) | 1998-11-19 | 2008-09-30 | Broadcom Corporation | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost |
US7239636B2 (en) | 2001-07-23 | 2007-07-03 | Broadcom Corporation | Multiple virtual channels for use in network devices |
US7295555B2 (en) * | 2002-03-08 | 2007-11-13 | Broadcom Corporation | System and method for identifying upper layer protocol message boundaries |
US7224692B2 (en) * | 2002-09-04 | 2007-05-29 | Broadcom Corporation | System and method for fault tolerant TCP offload |
US7934021B2 (en) | 2002-08-29 | 2011-04-26 | Broadcom Corporation | System and method for network interfacing |
US7411959B2 (en) | 2002-08-30 | 2008-08-12 | Broadcom Corporation | System and method for handling out-of-order frames |
US7346701B2 (en) | 2002-08-30 | 2008-03-18 | Broadcom Corporation | System and method for TCP offload |
US7313623B2 (en) | 2002-08-30 | 2007-12-25 | Broadcom Corporation | System and method for TCP/IP offload independent of bandwidth delay product |
US8180928B2 (en) | 2002-08-30 | 2012-05-15 | Broadcom Corporation | Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney |
US7283522B2 (en) * | 2002-09-27 | 2007-10-16 | Sun Microsystems, Inc. | Method and apparatus for offloading message segmentation to a network interface card |
US20040073690A1 (en) | 2002-09-30 | 2004-04-15 | Neil Hepworth | Voice over IP endpoint call admission |
US7359979B2 (en) | 2002-09-30 | 2008-04-15 | Avaya Technology Corp. | Packet prioritization and associated bandwidth and buffer management techniques for audio over IP |
US7369570B2 (en) * | 2003-03-03 | 2008-05-06 | Nec Corporation | iSCSI apparatus and communication control method for the same |
US7383483B2 (en) * | 2003-12-11 | 2008-06-03 | International Business Machines Corporation | Data transfer error checking |
US7177941B2 (en) * | 2003-12-11 | 2007-02-13 | International Business Machines Corporation | Increasing TCP re-transmission process speed |
US7912979B2 (en) * | 2003-12-11 | 2011-03-22 | International Business Machines Corporation | In-order delivery of plurality of RDMA messages |
JP4755596B2 (ja) | 2003-12-11 | 2011-08-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ転送エラー検査 |
US20050175012A1 (en) * | 2004-02-06 | 2005-08-11 | Telefonaktiebolaget L.M. Ericsson (Publ) | System and method for transmitting and receiving data frames in a NAK-based window protocol |
GB0409331D0 (en) * | 2004-04-27 | 2004-06-02 | Ibm | Recovery from MSS change |
DE502004005197D1 (de) * | 2004-05-11 | 2007-11-22 | Tektronix Int Sales Gmbh | Protokolltester zur Durchführung und Verfahren zur Implementierung einer Testaufgabe |
US7978827B1 (en) | 2004-06-30 | 2011-07-12 | Avaya Inc. | Automatic configuration of call handling based on end-user needs and characteristics |
US20060168274A1 (en) * | 2004-11-08 | 2006-07-27 | Eliezer Aloni | Method and system for high availability when utilizing a multi-stream tunneled marker-based protocol data unit aligned protocol |
US7580406B2 (en) * | 2004-12-31 | 2009-08-25 | Intel Corporation | Remote direct memory access segment generation by a network controller |
CN101146742B (zh) * | 2005-03-30 | 2013-05-01 | 揖斐电株式会社 | 含碳化硅颗粒、制造碳化硅质烧结体的方法、碳化硅质烧结体以及过滤器 |
US20070115833A1 (en) * | 2005-11-21 | 2007-05-24 | Gerald Pepper | Varying the position of test information in data units |
US7643431B2 (en) * | 2006-11-10 | 2010-01-05 | Ixia | Distributed packet group identification for network testing |
JP4813602B2 (ja) * | 2006-12-15 | 2011-11-09 | トムソン ライセンシング | 時分割多重アクセス媒体アクセス制御層における媒体アクセス制御プロトコル・データ単位集積 |
KR100919216B1 (ko) * | 2007-11-14 | 2009-09-28 | (주)씨디네트웍스 | 데이터 송신 방법, 수신 방법 및 그 장치 |
US8218751B2 (en) * | 2008-09-29 | 2012-07-10 | Avaya Inc. | Method and apparatus for identifying and eliminating the source of background noise in multi-party teleconferences |
US8788652B2 (en) * | 2009-07-27 | 2014-07-22 | Ixia | Real world network testing combining lower layer network tests, application layer tests and interdependent interactions |
CN102082688B (zh) * | 2010-12-17 | 2014-08-13 | 曙光信息产业(北京)有限公司 | 一种软硬件结合实现tcp乱序缓冲区管理的方法 |
US9489355B2 (en) * | 2012-07-05 | 2016-11-08 | Chegg, Inc. | Characterization of layered documents in HTML5 publishing |
KR101440271B1 (ko) | 2012-10-22 | 2014-09-18 | 주식회사 다산네트웍스 | 패킷 처리 방법 및 시스템 |
CN103761203B (zh) * | 2013-11-29 | 2017-09-22 | 北京中启智源数字信息技术有限责任公司 | 一种用于不同硬件设备的通用连接方法 |
CN104883335B (zh) * | 2014-02-27 | 2017-12-01 | 王磊 | 一种全硬件tcp协议栈实现系统 |
US10509764B1 (en) | 2015-06-19 | 2019-12-17 | Amazon Technologies, Inc. | Flexible remote direct memory access |
RO132177A2 (ro) | 2016-03-21 | 2017-09-29 | Ixia, A California Corporation | Metode, sistem şi suport informatic pentru testarea dispozitivelor cu echipament de reţea, folosind protocolul fără conexiune |
US10313057B2 (en) * | 2016-06-01 | 2019-06-04 | Qualcomm Incorporated | Error detection in wireless communications using sectional redundancy check information |
US10469104B2 (en) | 2016-06-14 | 2019-11-05 | Qualcomm Incorporated | Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes |
US10193773B2 (en) | 2016-11-09 | 2019-01-29 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | Methods, systems, and computer readable media for distributed network packet statistics collection in a test environment |
US10764148B2 (en) | 2017-11-29 | 2020-09-01 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network traffic statistics collection |
CN109413444A (zh) * | 2018-10-30 | 2019-03-01 | 苏州科达科技股份有限公司 | 视频的完整性校验数据生成方法、完整性校验方法及装置 |
US11269557B2 (en) | 2019-01-09 | 2022-03-08 | Atto Technology, Inc. | System and method for ensuring command order in a storage controller |
CN113872976B (zh) * | 2021-09-29 | 2023-06-02 | 绿盟科技集团股份有限公司 | 一种基于http2攻击的防护方法、装置及电子设备 |
CN114461252B (zh) * | 2022-03-08 | 2022-09-16 | 广东三鼎实业集团有限公司 | 基于大数据漏洞分析的软件服务升级方法及互联网ai系统 |
Family Cites Families (360)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4333020A (en) * | 1979-05-23 | 1982-06-01 | Motorola, Inc. | MOS Latch circuit |
FR2494465B1 (fr) * | 1980-11-14 | 1987-02-13 | Epd Engineering Projectdevelop | Ordinateur de poche |
US4395774A (en) * | 1981-01-12 | 1983-07-26 | National Semiconductor Corporation | Low power CMOS frequency divider |
US4463424A (en) * | 1981-02-19 | 1984-07-31 | International Business Machines Corporation | Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes |
US4445051A (en) * | 1981-06-26 | 1984-04-24 | Burroughs Corporation | Field effect current mode logic gate |
US4433378A (en) * | 1981-09-28 | 1984-02-21 | Western Digital | Chip topography for MOS packet network interface circuit |
US4449248A (en) * | 1982-02-01 | 1984-05-15 | General Electric Company | Battery saving radio circuit and system |
JPS5968072A (ja) * | 1982-10-13 | 1984-04-17 | Sharp Corp | 機能変換用小形電子機器 |
US4599526A (en) * | 1983-05-13 | 1986-07-08 | At&T Bell Laboratories | Clocked latching circuit |
US4590550A (en) * | 1983-06-29 | 1986-05-20 | International Business Machines Corporation | Internally distributed monitoring system |
US4519068A (en) * | 1983-07-11 | 1985-05-21 | Motorola, Inc. | Method and apparatus for communicating variable length messages between a primary station and remote stations of a data communications system |
US4760571A (en) * | 1984-07-25 | 1988-07-26 | Siegfried Schwarz | Ring network for communication between one chip processors |
US4737975A (en) * | 1984-09-18 | 1988-04-12 | Metrofone, Inc. | Programmable system for interfacing a standard telephone set with a radio transceiver |
FR2573211B1 (fr) * | 1984-11-09 | 1986-12-12 | Labo Electronique Physique | Comparateur synchronise |
US4680787A (en) * | 1984-11-21 | 1987-07-14 | Motorola, Inc. | Portable radiotelephone vehicular converter and remote handset |
GB8521159D0 (en) * | 1985-08-23 | 1985-10-02 | Pa Consulting Services | Two-way radio communications system |
US4721866A (en) * | 1985-11-21 | 1988-01-26 | Digital Equipment Corporation | CMOS current switching circuit |
US4817054A (en) * | 1985-12-04 | 1989-03-28 | Advanced Micro Devices, Inc. | High speed RAM based data serializers |
US4807282A (en) * | 1985-12-30 | 1989-02-21 | International Business Machines Corp. | Programmable P/C compatible communications card |
JPH06105884B2 (ja) * | 1986-05-06 | 1994-12-21 | 日本電気株式会社 | 無線電話システム |
US4850009A (en) * | 1986-05-12 | 1989-07-18 | Clinicom Incorporated | Portable handheld terminal including optical bar code reader and electromagnetic transceiver means for interactive wireless communication with a base communications station |
US5239662A (en) * | 1986-09-15 | 1993-08-24 | Norand Corporation | System including multiple device communications controller which coverts data received from two different customer transaction devices each using different communications protocols into a single communications protocol |
US4717838A (en) * | 1986-11-14 | 1988-01-05 | National Semiconductor Corporation | High input impedance, high gain CMOS strobed comparator |
US4727309A (en) * | 1987-01-22 | 1988-02-23 | Intel Corporation | Current difference current source |
US4821034A (en) * | 1987-02-06 | 1989-04-11 | Ancor Communications, Inc. | Digital exchange switch element and network |
KR910008738B1 (ko) * | 1987-02-20 | 1991-10-19 | 닛본 덴기 가부시기가이샤 | 밧데리 절약 채널 스캔 기능을 갖고 있는 휴대용 무선 송수신기 |
US4817115A (en) * | 1987-02-27 | 1989-03-28 | Telxon Corporation | Encoding and decoding system for electronic data communication system |
US4777657A (en) * | 1987-04-01 | 1988-10-11 | Iss Engineering, Inc. | Computer controlled broadband receiver |
US4791324A (en) * | 1987-04-10 | 1988-12-13 | Motorola, Inc. | CMOS differential-amplifier sense amplifier |
US4804954A (en) * | 1987-04-30 | 1989-02-14 | Motorola, Inc. | Battery saving method for portable communications receivers |
US5249302A (en) * | 1987-10-09 | 1993-09-28 | Motorola, Inc. | Mixed-mode transceiver system |
US4970406A (en) * | 1987-12-30 | 1990-11-13 | Gazelle Microcircuits, Inc. | Resettable latch circuit |
US4806796A (en) * | 1988-03-28 | 1989-02-21 | Motorola, Inc. | Active load for emitter coupled logic gate |
US5055660A (en) * | 1988-06-16 | 1991-10-08 | Avicom International, Inc. | Portable transaction monitoring unit for transaction monitoring and security control systems |
JP2583578B2 (ja) * | 1988-07-01 | 1997-02-19 | 三菱電機株式会社 | ポケット電話機 |
US5117501A (en) * | 1988-08-08 | 1992-05-26 | General Electric Company | Dynamic regrouping in a trunked radio communications system |
US5087099A (en) * | 1988-09-02 | 1992-02-11 | Stolar, Inc. | Long range multiple point wireless control and monitoring system |
US4916441A (en) * | 1988-09-19 | 1990-04-10 | Clinicom Incorporated | Portable handheld terminal |
JP2805767B2 (ja) * | 1988-09-26 | 1998-09-30 | 日本電気株式会社 | 無線送受信機 |
US4894792A (en) * | 1988-09-30 | 1990-01-16 | Tandy Corporation | Portable computer with removable and replaceable add-on modules |
US5008879B1 (en) * | 1988-11-14 | 2000-05-30 | Datapoint Corp | Lan with interoperative multiple operational capabilities |
US4995099A (en) * | 1988-12-01 | 1991-02-19 | Motorola, Inc. | Power conservation method and apparatus for a portion of a predetermined signal |
US5025486A (en) * | 1988-12-09 | 1991-06-18 | Dallas Semiconductor Corporation | Wireless communication system with parallel polling |
GB2226475A (en) * | 1988-12-23 | 1990-06-27 | Philips Electronic Associated | Power economising in multiple user radio systems |
US5150361A (en) * | 1989-01-23 | 1992-09-22 | Motorola, Inc. | Energy saving protocol for a TDM radio |
US5128938A (en) * | 1989-03-03 | 1992-07-07 | Motorola, Inc. | Energy saving protocol for a communication system |
US5839051A (en) | 1989-03-17 | 1998-11-17 | Technophone Limited | Host radio telephone to directly access a handset NAM through a connecter without requiring the handset controller to be employed |
US5428636A (en) | 1993-05-03 | 1995-06-27 | Norand Corporation | Radio frequency local area network |
US5680633A (en) | 1990-01-18 | 1997-10-21 | Norand Corporation | Modular, portable data processing terminal for use in a radio frequency communication network |
US6014705A (en) | 1991-10-01 | 2000-01-11 | Intermec Ip Corp. | Modular portable data processing terminal having a higher layer and lower layer partitioned communication protocol stack for use in a radio frequency communications network |
US5247656A (en) * | 1989-06-01 | 1993-09-21 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for controlling a clock signal |
US5029183A (en) * | 1989-06-29 | 1991-07-02 | Symbol Technologies, Inc. | Packet data communication network |
GB2234371A (en) * | 1989-07-07 | 1991-01-30 | Inmos Ltd | Clock generation |
US4969206A (en) * | 1989-07-18 | 1990-11-06 | Phyle Industries Limited | Portable data collection device with RF transmission |
US4964121A (en) * | 1989-08-30 | 1990-10-16 | Motorola, Inc. | Battery saver for a TDM system |
DE3929351C1 (de) * | 1989-09-04 | 1990-10-11 | Siemens Ag, 1000 Berlin Und 8000 Muenchen, De | |
US5121408A (en) * | 1989-10-16 | 1992-06-09 | Hughes Aircraft Company | Synchronization for entry to a network in a frequency hopping communication system |
WO1991007038A2 (en) | 1989-11-03 | 1991-05-16 | Microcom Systems, Inc. | Method and apparatus for effecting efficient transmission of data |
AU7788191A (en) | 1989-11-22 | 1991-06-13 | David C. Russell | Computer control system |
US5153878A (en) * | 1989-12-11 | 1992-10-06 | Motorola Inc. | Radio data communications system with diverse signaling capability |
US5055659A (en) * | 1990-02-06 | 1991-10-08 | Amtech Technology Corp. | High speed system for reading and writing data from and into remote tags |
JPH0810995Y2 (ja) * | 1990-02-08 | 1996-03-29 | 沖電気工業株式会社 | 自動車電話機用アダプタ |
AU647467B2 (en) | 1990-03-03 | 1994-03-24 | Cedardell Limited | Communications system |
GB2241851A (en) * | 1990-03-09 | 1991-09-11 | Philips Electronic Associated | Optimising transmitter power in a communications system |
US5041740A (en) * | 1990-04-30 | 1991-08-20 | Motorola, Inc. | Parallel clocked latch |
JPH0414314A (ja) * | 1990-05-08 | 1992-01-20 | Toshiba Corp | ソース電極結合形論理回路 |
US5179666A (en) | 1990-06-07 | 1993-01-12 | Unisys Corporation | Block oriented peripheral device interface |
US5115151A (en) * | 1990-06-08 | 1992-05-19 | Western Digital Corporation | Triple comparator circuit |
US5079452A (en) * | 1990-06-29 | 1992-01-07 | Digital Equipment Corporation | High speed ECL latch with clock enable |
US5363121A (en) | 1990-06-29 | 1994-11-08 | International Business Machines Corporation | Multiple protocol communication interface for distributed transaction processing |
US5253248A (en) | 1990-07-03 | 1993-10-12 | At&T Bell Laboratories | Congestion control for connectionless traffic in data networks via alternate routing |
US5584048A (en) | 1990-08-17 | 1996-12-10 | Motorola, Inc. | Beacon based packet radio standby energy saver |
US5119502A (en) * | 1990-08-30 | 1992-06-02 | Telefonaktiebolaget L M Ericsson | Periodic system ordered rescan in a cellular communication system |
JP2646831B2 (ja) * | 1990-10-25 | 1997-08-27 | 日本電気株式会社 | 選択呼出受信機 |
US5181200A (en) * | 1990-10-29 | 1993-01-19 | International Business Machines Corporation | Handoff method and apparatus for mobile wireless workstation |
US5265270A (en) * | 1990-10-31 | 1993-11-23 | Motorola, Inc. | Method and apparatus for providing power conservation in a communication system |
US5179721A (en) * | 1990-11-05 | 1993-01-12 | Motorola Inc. | Method for inter operation of a cellular communication system and a trunking communication system |
AU655219B2 (en) | 1990-11-26 | 1994-12-08 | Motorola, Inc. | Method and apparatus for paging in a communication system |
US5230084A (en) * | 1990-12-06 | 1993-07-20 | Motorola, Inc. | Selective call receiver having extended battery saving capability |
US5329192A (en) * | 1991-01-17 | 1994-07-12 | Industrial Technology Research Institute | High speed CMOS current switching circuit |
JP2530060B2 (ja) * | 1991-01-17 | 1996-09-04 | 株式会社東芝 | 通信制御装置 |
US5297144A (en) * | 1991-01-22 | 1994-03-22 | Spectrix Corporation | Reservation-based polling protocol for a wireless data communications network |
US5265238A (en) * | 1991-01-25 | 1993-11-23 | International Business Machines Corporation | Automatic device configuration for dockable portable computers |
US5081402A (en) * | 1991-02-22 | 1992-01-14 | Comfortex Corporation | Low power consumption wireless data transmission and control system |
US5134347A (en) * | 1991-02-22 | 1992-07-28 | Comfortex Corporation | Low power consumption wireless data transmission and control system |
US5152006A (en) * | 1991-02-25 | 1992-09-29 | Motorola, Inc. | Receiver controller method and apparatus |
DE69126604T2 (de) * | 1991-03-13 | 1998-01-08 | Ibm | Anpassungseinrichtung und Verfahren zur wirksamen Verbindung von Datenverarbeitungseinrichtungen und Netzwerken |
CA2040234C (en) * | 1991-04-11 | 2000-01-04 | Steven Messenger | Wireless coupling of devices to wired network |
US5249220A (en) * | 1991-04-18 | 1993-09-28 | Rts Electronics, Inc. | Handheld facsimile and alphanumeric message transceiver operating over telephone or wireless networks |
JP2930257B2 (ja) * | 1991-04-22 | 1999-08-03 | 株式会社東芝 | 携帯可能電子装置 |
US5355506A (en) * | 1991-04-29 | 1994-10-11 | The United States Of America As Represented By The Secretary Of The Army | Communication method for controlling and monitoring robotic entities |
US5149992A (en) * | 1991-04-30 | 1992-09-22 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | MOS folded source-coupled logic |
US5162674A (en) * | 1991-05-10 | 1992-11-10 | State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Current-steering CMOS logic family |
US5394436A (en) | 1991-10-01 | 1995-02-28 | Norand Corporation | Radio frequency local area network |
AU2140092A (en) * | 1991-05-13 | 1992-12-30 | Omnipoint Corporation | Dual mode transmitter and receiver |
US6374311B1 (en) | 1991-10-01 | 2002-04-16 | Intermec Ip Corp. | Communication network having a plurality of bridging nodes which transmit a beacon to terminal nodes in power saving state that it has messages awaiting delivery |
US5940771A (en) | 1991-05-13 | 1999-08-17 | Norand Corporation | Network supporting roaming, sleeping terminals |
US5123029A (en) * | 1991-06-21 | 1992-06-16 | International Business Machines Corporation | Broadcast-initiated bipartite frame multi-access protocol |
GB9114808D0 (en) * | 1991-07-09 | 1991-08-28 | Philips Electronic Associated | Information transmission system |
US5293639A (en) * | 1991-08-09 | 1994-03-08 | Motorola, Inc. | Reduction of power consumption in a portable communication unit |
US5241542A (en) * | 1991-08-23 | 1993-08-31 | International Business Machines Corporation | Battery efficient operation of scheduled access protocol |
US5361397A (en) | 1991-08-26 | 1994-11-01 | Motorola, Inc. | Communication device and system capable of automatic programmable energizing |
US5216295A (en) * | 1991-08-30 | 1993-06-01 | General Instrument Corp. | Current mode logic circuits employing IGFETS |
US5392023A (en) | 1991-09-06 | 1995-02-21 | Motorola, Inc. | Data communication system with automatic power control |
US5390206A (en) | 1991-10-01 | 1995-02-14 | American Standard Inc. | Wireless communication system for air distribution system |
US5274666A (en) * | 1991-10-16 | 1993-12-28 | Telephonics Corporation | Wireless communication system |
GB2261798B (en) * | 1991-11-23 | 1995-09-06 | Dowty Communications Ltd | Packet switching networks |
US5861881A (en) | 1991-11-25 | 1999-01-19 | Actv, Inc. | Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers |
JP2571655B2 (ja) | 1991-11-27 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロトコル変換機構、交換ネットワーク及びコンピュータ・システム |
EP0544954B1 (de) * | 1991-12-05 | 1996-04-24 | International Business Machines Corporation | Plattenlaufwerksynchronisierung |
US5440560A (en) | 1991-12-24 | 1995-08-08 | Rypinski; Chandos A. | Sleep mode and contention resolution within a common channel medium access method |
US5196805A (en) * | 1992-01-31 | 1993-03-23 | Motorola, Inc. | Distributed differential amplifier arrangement |
US5301196A (en) * | 1992-03-16 | 1994-04-05 | International Business Machines Corporation | Half-speed clock recovery and demultiplexer circuit |
US5304869A (en) * | 1992-04-17 | 1994-04-19 | Intel Corporation | BiCMOS digital amplifier |
ATE207679T1 (de) | 1992-04-20 | 2001-11-15 | 3Com Corp | Vorrichtung zur netzmittelerweiterung auf entfernte netzwerke |
US5744366A (en) | 1992-05-01 | 1998-04-28 | Trustees Of The University Of Pennsylvania | Mesoscale devices and methods for analysis of motile cells |
ATE173877T1 (de) * | 1992-06-29 | 1998-12-15 | Elonex Technologies Inc | Modular tragbarer rechner |
US5974508A (en) | 1992-07-31 | 1999-10-26 | Fujitsu Limited | Cache memory system and method for automatically locking cache entries to prevent selected memory items from being replaced |
ATE135510T1 (de) | 1992-09-18 | 1996-03-15 | Siemens Ag | Integrierte pufferschaltung |
US5579487A (en) | 1992-10-02 | 1996-11-26 | Teletransaction, Inc. | Portable work slate computer with multiple docking positions for interchangeably receiving removable modules |
EP0590818A3 (en) | 1992-10-02 | 1994-05-11 | Nat Semiconductor Corp | Ecl-to-bicmos/cmos translator |
JPH06162782A (ja) | 1992-11-17 | 1994-06-10 | Hitachi Ltd | 半導体集積回路装置 |
US5289055A (en) * | 1992-11-17 | 1994-02-22 | At&T Bell Laboratories | Digital ECL bipolar logic gates suitable for low-voltage operation |
US5426637A (en) | 1992-12-14 | 1995-06-20 | International Business Machines Corporation | Methods and apparatus for interconnecting local area networks with wide area backbone networks |
US5373149A (en) | 1993-02-01 | 1994-12-13 | At&T Bell Laboratories | Folding electronic card assembly |
US5406643A (en) | 1993-02-11 | 1995-04-11 | Motorola, Inc. | Method and apparatus for selecting between a plurality of communication paths |
EP0639314B1 (de) | 1993-03-04 | 2003-05-28 | Telefonaktiebolaget Lm Ericsson | Modulare funkübertragungsanordnung |
WO1994022220A1 (en) | 1993-03-24 | 1994-09-29 | Apple Computer, Inc. | Differential- to single-ended cmos converter |
US5630061A (en) | 1993-04-19 | 1997-05-13 | International Business Machines Corporation | System for enabling first computer to communicate over switched network with second computer located within LAN by using media access control driver in different modes |
US5796727A (en) | 1993-04-30 | 1998-08-18 | International Business Machines Corporation | Wide-area wireless lan access |
US5444763A (en) | 1993-06-17 | 1995-08-22 | Research In Motion Limited | Translation and connection device for radio frequency point of sale transaction systems |
US5459412A (en) | 1993-07-01 | 1995-10-17 | National Semiconductor Corporation | BiCMOS circuit for translation of ECL logic levels to MOS logic levels |
US5418837A (en) | 1993-07-30 | 1995-05-23 | Ericsson-Ge Mobile Communications Inc. | Method and apparatus for upgrading cellular mobile telephones |
US5406615A (en) | 1993-08-04 | 1995-04-11 | At&T Corp. | Multi-band wireless radiotelephone operative in a plurality of air interface of differing wireless communications systems |
US5473607A (en) | 1993-08-09 | 1995-12-05 | Grand Junction Networks, Inc. | Packet filtering for data networks |
FI97517C (fi) | 1993-09-06 | 1996-12-27 | Nokia Mobile Phones Ltd | Pakettidatan siirto digitaalisessa solukkoverkossa |
US5548238A (en) | 1993-10-01 | 1996-08-20 | Cirrus Logic Inc. | Low power high speed CMOS current switching circuit |
US5802287A (en) | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
US5914955A (en) | 1993-10-20 | 1999-06-22 | Lsi Logic Corporation | Switched network hub on a chip |
US5887187A (en) | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
US5668809A (en) | 1993-10-20 | 1997-09-16 | Lsi Logic Corporation | Single chip network hub with dynamic window filter |
US5640399A (en) | 1993-10-20 | 1997-06-17 | Lsi Logic Corporation | Single chip network router |
US5544222A (en) | 1993-11-12 | 1996-08-06 | Pacific Communication Sciences, Inc. | Cellular digtial packet data mobile data base station |
US5510748A (en) | 1994-01-18 | 1996-04-23 | Vivid Semiconductor, Inc. | Integrated circuit having different power supplies for increased output voltage range while retaining small device geometries |
US5437329A (en) | 1994-01-25 | 1995-08-01 | Baker Hughes Incorporated | Method and apparatus for activation of furnace slag base cement |
US5519640A (en) * | 1994-01-26 | 1996-05-21 | Hughes Aircraft Company | Multimedia frame relay codec |
US5805927A (en) | 1994-01-28 | 1998-09-08 | Apple Computer, Inc. | Direct memory access channel architecture and method for reception of network information |
US5420529A (en) | 1994-05-19 | 1995-05-30 | Northern Telecom Limited | Current steering switch and hybrid BiCMOS multiplexer with CMOS commutation signal and CML/ECL data signals |
CA2124745C (en) | 1994-05-31 | 2001-11-20 | Brian D. Gerson | High-speed cmos pseudo-ecl output driver |
US5714904A (en) | 1994-06-06 | 1998-02-03 | Sun Microsystems, Inc. | High speed serial link for fully duplexed data communication |
US5465060A (en) | 1994-06-10 | 1995-11-07 | International Business Machines Corporation | Fast edge triggered self-resetting CMOS receiver with parallel L1/L2 (Master/Slave) latch |
JP2713167B2 (ja) | 1994-06-14 | 1998-02-16 | 日本電気株式会社 | 比較器 |
US5600267A (en) | 1994-06-24 | 1997-02-04 | Cypress Semiconductor Corporation | Apparatus for a programmable CML to CMOS translator for power/speed adjustment |
IT1271667B (it) | 1994-07-14 | 1997-06-04 | Italtel Spa | Metodo ed apparecchiatura per la gestione in tempo reale delle risorse in una rete privata virturale in tecnica atm |
FR2723282B1 (fr) | 1994-07-29 | 1996-09-13 | Alcatel Telspace | Procede d'entrelacement et de desentrelacement de trames sdh et systeme correspondant |
US5488319A (en) | 1994-08-18 | 1996-01-30 | International Business Machines Corporation | Latch interface for self-reset logic |
JP2630272B2 (ja) | 1994-08-25 | 1997-07-16 | 日本電気株式会社 | 半導体集積回路 |
US5583859A (en) | 1994-08-30 | 1996-12-10 | Bell Communications Research, Inc. | Data labeling technique for high performance protocol processing |
US5521530A (en) | 1994-08-31 | 1996-05-28 | Oki Semiconductor America, Inc. | Efficient method and resulting structure for integrated circuits with flexible I/O interface and power supply voltages |
JP2600619B2 (ja) | 1994-09-28 | 1997-04-16 | 日本電気株式会社 | 電流モード論理回路 |
FR2725573B1 (fr) | 1994-10-11 | 1996-11-15 | Thomson Csf | Procede et dispositif pour le controle de congestion des echanges sporadiques de paquets de donnees dans un reseau de transmission numerique |
US5502719A (en) | 1994-10-27 | 1996-03-26 | Hewlett-Packard Company | Path allocation system and method having double link list queues implemented with a digital signal processor (DSP) for a high performance fiber optic switch |
US5519695A (en) | 1994-10-27 | 1996-05-21 | Hewlett-Packard Company | Switch element for fiber channel networks |
US5619497A (en) | 1994-12-22 | 1997-04-08 | Emc Corporation | Method and apparatus for reordering frames |
US5857075A (en) | 1995-01-11 | 1999-01-05 | Sony Corporation | Method and integrated circuit for high-bandwidth network server interfacing to a local area network |
US5603051A (en) | 1995-06-06 | 1997-02-11 | Hewlett-Packard Company | Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus |
JPH08335860A (ja) | 1995-06-08 | 1996-12-17 | Mitsubishi Electric Corp | 差動ラッチ回路 |
US5798658A (en) | 1995-06-15 | 1998-08-25 | Werking; Paul M. | Source-coupled logic with reference controlled inputs |
US5887146A (en) | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
KR0179842B1 (ko) | 1995-09-27 | 1999-04-01 | 문정환 | 전류원회로 |
US5826027A (en) | 1995-10-11 | 1998-10-20 | Citrix Systems, Inc. | Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system |
US5831985A (en) | 1995-11-09 | 1998-11-03 | Emc Corporation | Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system |
JP3149759B2 (ja) | 1995-11-17 | 2001-03-26 | 日本電気株式会社 | ラッチ回路 |
US5754549A (en) | 1995-12-05 | 1998-05-19 | International Business Machines Corporation | Inexpensive two-way communications switch |
US5909127A (en) | 1995-12-22 | 1999-06-01 | International Business Machines Corporation | Circuits with dynamically biased active loads |
US5640356A (en) | 1995-12-29 | 1997-06-17 | Cypress Semiconductor Corp. | Two-stage differential sense amplifier with positive feedback in the first and second stages |
US5793225A (en) | 1996-01-02 | 1998-08-11 | Pmc-Sierra, Inc. | CMOS SONET/ATM receiver suitable for use with pseudo ECL and TTL signaling environments |
US6373846B1 (en) | 1996-03-07 | 2002-04-16 | Lsi Logic Corporation | Single chip networking device with enhanced memory access co-processor |
US5724361A (en) | 1996-03-12 | 1998-03-03 | Lsi Logic Corporation | High performance n:1 multiplexer with overlap control of multi-phase clocks |
US5689644A (en) | 1996-03-25 | 1997-11-18 | I-Cube, Inc. | Network switch with arbitration sytem |
JP3047808B2 (ja) | 1996-03-28 | 2000-06-05 | 日本電気株式会社 | フリップフロップ回路 |
US5742604A (en) | 1996-03-28 | 1998-04-21 | Cisco Systems, Inc. | Interswitch link mechanism for connecting high-performance network switches |
GB2311880A (en) | 1996-04-03 | 1997-10-08 | Advanced Risc Mach Ltd | Partitioned cache memory |
US5828653A (en) | 1996-04-26 | 1998-10-27 | Cascade Communications Corp. | Quality of service priority subclasses |
US6122191A (en) | 1996-05-01 | 2000-09-19 | Cypress Semiconductor Corporation | Semiconductor non-volatile device including embedded non-volatile elements |
US5802258A (en) | 1996-05-03 | 1998-09-01 | International Business Machines Corporation | Loosely coupled system environment designed to handle a non-disruptive host connection switch after detection of an error condition or during a host outage or failure |
US5748631A (en) | 1996-05-09 | 1998-05-05 | Maker Communications, Inc. | Asynchronous transfer mode cell processing system with multiple cell source multiplexing |
US5821809A (en) | 1996-05-23 | 1998-10-13 | International Business Machines Corporation | CMOS high-speed differential to single-ended converter circuit |
US5767699A (en) | 1996-05-28 | 1998-06-16 | Sun Microsystems, Inc. | Fully complementary differential output driver for high speed digital communications |
US5859881A (en) | 1996-06-07 | 1999-01-12 | International Business Machines Corporation | Adaptive filtering method and apparatus to compensate for a frequency difference between two clock sources |
US5778414A (en) | 1996-06-13 | 1998-07-07 | Racal-Datacom, Inc. | Performance enhancing memory interleaver for data frame processing |
US5680038A (en) | 1996-06-20 | 1997-10-21 | Lsi Logic Corporation | High-swing cascode current mirror |
US5893150A (en) | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Efficient allocation of cache memory space in a computer system |
US5802576A (en) | 1996-07-01 | 1998-09-01 | Sun Microsystems, Inc. | Speculative cache snoop during DMA line update |
US5893153A (en) | 1996-08-02 | 1999-04-06 | Sun Microsystems, Inc. | Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control |
US5848251A (en) | 1996-08-06 | 1998-12-08 | Compaq Computer Corporation | Secondary channel for command information for fibre channel system interface bus |
US5991817A (en) | 1996-09-06 | 1999-11-23 | Cisco Systems, Inc. | Apparatus and method for a network router |
US5903176A (en) | 1996-09-04 | 1999-05-11 | Litton Systems, Inc. | Clock circuit for generating a high resolution output from a low resolution clock |
US6209020B1 (en) | 1996-09-20 | 2001-03-27 | Nortel Networks Limited | Distributed pipeline memory architecture for a computer system with even and odd pids |
US6202125B1 (en) | 1996-11-25 | 2001-03-13 | Intel Corporation | Processor-cache protocol using simple commands to implement a range of cache configurations |
US5859669A (en) | 1996-11-26 | 1999-01-12 | Texas Instruments Incorporated | System for encoding an image control signal onto a pixel clock signal |
US5829025A (en) | 1996-12-17 | 1998-10-27 | Intel Corporation | Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction |
US20020103988A1 (en) | 1996-12-18 | 2002-08-01 | Pascal Dornier | Microprocessor with integrated interfaces to system memory and multiplexed input/output bus |
US6025746A (en) | 1996-12-23 | 2000-02-15 | Stmicroelectronics, Inc. | ESD protection circuits |
US6266797B1 (en) | 1997-01-16 | 2001-07-24 | Advanced Micro Devices, Inc. | Data transfer network on a computer chip using a re-configurable path multiple ring topology |
US5908468A (en) | 1997-10-24 | 1999-06-01 | Advanced Micro Devices, Inc. | Data transfer network on a chip utilizing a multiple traffic circle topology |
US6111859A (en) | 1997-01-16 | 2000-08-29 | Advanced Micro Devices, Inc. | Data transfer network on a computer chip utilizing combined bus and ring topologies |
US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
JP3508085B2 (ja) | 1997-04-25 | 2004-03-22 | 日本プレシジョン・サーキッツ株式会社 | D型フリップフロップ回路 |
US6061351A (en) | 1997-02-14 | 2000-05-09 | Advanced Micro Devices, Inc. | Multicopy queue structure with searchable cache area |
US6236654B1 (en) | 1997-02-14 | 2001-05-22 | Advanced Micro Devices, Inc. | Method and apparatus for managing learning in an address table in memory |
US6118776A (en) | 1997-02-18 | 2000-09-12 | Vixel Corporation | Methods and apparatus for fiber channel interconnection of private loop devices |
US6026075A (en) | 1997-02-25 | 2000-02-15 | International Business Machines Corporation | Flow control mechanism |
US5892922A (en) | 1997-02-28 | 1999-04-06 | 3Com Corporation | Virtual local area network memory access system |
JP3681497B2 (ja) | 1997-03-05 | 2005-08-10 | 株式会社ルネサステクノロジ | フリップフロップ回路、シフトレジスタ回路、直列−並列変換回路、並列−直列変換回路およびラッチ回路 |
JP3715066B2 (ja) | 1997-03-25 | 2005-11-09 | 三菱電機株式会社 | 電流モードロジック回路 |
JP3060987B2 (ja) | 1997-03-31 | 2000-07-10 | 日本電気株式会社 | クロック同期式フリップフロップ回路 |
US6356944B1 (en) * | 1997-03-31 | 2002-03-12 | Compaq Information Technologies Group, L.P. | System and method for increasing write performance in a fibre channel environment |
GB9707349D0 (en) | 1997-04-11 | 1997-05-28 | Univ Waterloo | A dynamic current mode logic family |
JP3063721B2 (ja) | 1997-04-30 | 2000-07-12 | 日本電気株式会社 | トポロジー情報交換装置及びプログラムを記録した機械読み取り可能な記録媒体 |
US5945847A (en) | 1997-05-20 | 1999-08-31 | Lucent Technologies | Distributed amplifier logic designs |
GB9711788D0 (en) | 1997-06-06 | 1997-08-06 | Northern Telecom Ltd | Method and interface for connecting communication traffic between narrowband and broadband networks |
JP3134810B2 (ja) | 1997-06-09 | 2001-02-13 | 日本電気株式会社 | 帯域制御方法および帯域制御方式 |
US5978849A (en) | 1997-06-13 | 1999-11-02 | International Business Machines Corporation | Systems, methods, and computer program products for establishing TCP connections using information from closed TCP connections in time-wait state |
US5945863A (en) | 1997-06-18 | 1999-08-31 | Applied Micro Circuits Corporation | Analog delay circuit |
US5909686A (en) | 1997-06-30 | 1999-06-01 | Sun Microsystems, Inc. | Hardware-assisted central processing unit access to a forwarding database |
US6088356A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US5961631A (en) | 1997-07-16 | 1999-10-05 | Arm Limited | Data processing apparatus and method for pre-fetching an instruction in to an instruction cache |
US6008670A (en) | 1997-08-19 | 1999-12-28 | Hewlett-Packard | Differential CMOS logic family |
US6194950B1 (en) | 1997-08-28 | 2001-02-27 | Lucent Technologies Inc. | High-speed CMOS multiplexer |
JPH11103303A (ja) | 1997-09-26 | 1999-04-13 | Sony Corp | ネットワーク資源予約制御方法および装置、受信端末、送信端末、並びに中継装置 |
US6014041A (en) | 1997-09-26 | 2000-01-11 | Intel Corporation | Differential current switch logic gate |
US6037841A (en) | 1997-10-07 | 2000-03-14 | Applied Micro Circuits Corporation | Impedance matched CMOS transimpedance amplifier for high-speed fiber optic communications |
US6757746B2 (en) | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US7167927B2 (en) | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6658480B2 (en) * | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US6697868B2 (en) | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6427171B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6687758B2 (en) | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6061747A (en) | 1997-10-16 | 2000-05-09 | Lsi Logic Corporation | System for sending data from-and-to a computer monitor using a high speed serial line |
US6424624B1 (en) | 1997-10-16 | 2002-07-23 | Cisco Technology, Inc. | Method and system for implementing congestion detection and flow control in high speed digital network |
US5977800A (en) | 1997-10-20 | 1999-11-02 | Vlsi Technology, Inc. | Differential MOS current-mode logic circuit having high gain and fast speed |
US6002279A (en) | 1997-10-24 | 1999-12-14 | G2 Networks, Inc. | Clock recovery circuit |
US5937169A (en) | 1997-10-29 | 1999-08-10 | 3Com Corporation | Offload of TCP segmentation to a smart adapter |
US6185185B1 (en) | 1997-11-21 | 2001-02-06 | International Business Machines Corporation | Methods, systems and computer program products for suppressing multiple destination traffic in a computer network |
US6151662A (en) | 1997-12-02 | 2000-11-21 | Advanced Micro Devices, Inc. | Data transaction typing for improved caching and prefetching characteristics |
US6188339B1 (en) | 1998-01-23 | 2001-02-13 | Fuji Photo Film Co., Ltd. | Differential multiplexer and differential logic circuit |
JP3895033B2 (ja) | 1998-02-26 | 2007-03-22 | 株式会社エヌ・ティ・ティ・データ | パケット管理方法、通信制御装置、データ通信システム及び記録媒体 |
US6178159B1 (en) | 1998-03-02 | 2001-01-23 | Lucent Technologies Inc. | Available bit rate flow control algorithms for ATM networks |
FI107657B (fi) | 1998-03-11 | 2001-09-14 | Nokia Mobile Phones Ltd | Kytkentä differentiaalisen aktiivikomponentin impedanssin säätämiseksi |
US6202129B1 (en) | 1998-03-31 | 2001-03-13 | Intel Corporation | Shared cache structure for temporal and non-temporal information using indicative bits |
US6279035B1 (en) | 1998-04-10 | 2001-08-21 | Nortel Networks Limited | Optimizing flow detection and reducing control plane processing in a multi-protocol over ATM (MPOA) system |
US6324181B1 (en) | 1998-04-16 | 2001-11-27 | 3Com Corporation | Fibre channel switched arbitrated loop |
US6349098B1 (en) | 1998-04-17 | 2002-02-19 | Paxonet Communications, Inc. | Method and apparatus for forming a virtual circuit |
US6037842A (en) | 1998-04-21 | 2000-03-14 | Applied Micro Circuits Corporation | Complementary metal-oxide semiconductor voltage controlled oscillator (CMOS VCO) |
US6098064A (en) | 1998-05-22 | 2000-08-01 | Xerox Corporation | Prefetching and caching documents according to probability ranked need S list |
GB2337905B (en) | 1998-05-28 | 2003-02-12 | 3Com Technologies Ltd | Buffer management in network devices |
US6904519B2 (en) | 1998-06-12 | 2005-06-07 | Microsoft Corporation | Method and computer program product for offloading processing tasks from software to hardware |
US6222380B1 (en) | 1998-06-15 | 2001-04-24 | International Business Machines Corporation | High speed parallel/serial link for data communication |
US20020089353A1 (en) | 1998-07-13 | 2002-07-11 | Abdellatif Bellaouar | Current mode logic gates for low-voltage high-speed applications |
US6094074A (en) | 1998-07-16 | 2000-07-25 | Seiko Epson Corporation | High speed common mode logic circuit |
US6064626A (en) | 1998-07-31 | 2000-05-16 | Arm Limited | Peripheral buses for integrated circuit |
US6215497B1 (en) | 1998-08-12 | 2001-04-10 | Monolithic System Technology, Inc. | Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system |
US6223239B1 (en) | 1998-08-12 | 2001-04-24 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port or system area network interface |
US6114843A (en) | 1998-08-18 | 2000-09-05 | Xilinx, Inc. | Voltage down converter for multiple voltage levels |
US6396832B1 (en) | 1998-09-04 | 2002-05-28 | 3Com Corporation | Method and apparatus for optimizing a switched arbitrated loop for maximum access fairness |
US6463092B1 (en) | 1998-09-10 | 2002-10-08 | Silicon Image, Inc. | System and method for sending and receiving data signals over a clock signal line |
US6111425A (en) | 1998-10-15 | 2000-08-29 | International Business Machines Corporation | Very low power logic circuit family with enhanced noise immunity |
US6459681B1 (en) | 1998-11-13 | 2002-10-01 | Sprint Communications Company L.P. | Method and system for connection admission control |
US7430171B2 (en) | 1998-11-19 | 2008-09-30 | Broadcom Corporation | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost |
JP3510507B2 (ja) | 1998-11-27 | 2004-03-29 | Necマイクロシステム株式会社 | ラッチ回路 |
US6597689B1 (en) | 1998-12-30 | 2003-07-22 | Nortel Networks Limited | SVC signaling system and method |
US6631134B1 (en) | 1999-01-15 | 2003-10-07 | Cisco Technology, Inc. | Method for allocating bandwidth in an optical network |
AU3529500A (en) | 1999-03-17 | 2000-10-04 | Broadcom Corporation | Network switch |
AU4325800A (en) | 1999-03-17 | 2000-10-04 | Broadcom Corporation | Method for avoiding out-of-ordering of frames in a network switch |
US6269427B1 (en) | 1999-03-18 | 2001-07-31 | International Business Machines Corporation | Multiple load miss handling in a cache memory system |
US6223270B1 (en) | 1999-04-19 | 2001-04-24 | Silicon Graphics, Inc. | Method for efficient translation of memory addresses in computer systems |
US6614791B1 (en) | 1999-05-11 | 2003-09-02 | Nortel Networks Limited | System, device, and method for supporting virtual private networks |
US6232844B1 (en) | 1999-05-28 | 2001-05-15 | Vitesse Semiconductor Corporation | Controlled orthogonal current oscillator with ranging |
US6081162A (en) | 1999-06-17 | 2000-06-27 | Intel Corporation | Robust method and apparatus for providing a digital single-ended output from a differential input |
US6911855B2 (en) | 1999-06-28 | 2005-06-28 | Broadcom Corporation | Current-controlled CMOS circuit using higher voltage supply in low voltage CMOS process |
US6424194B1 (en) | 1999-06-28 | 2002-07-23 | Broadcom Corporation | Current-controlled CMOS logic family |
US6897697B2 (en) | 1999-06-28 | 2005-05-24 | Broadcom Corporation | Current-controlled CMOS circuit using higher voltage supply in low voltage CMOS process |
US6477646B1 (en) | 1999-07-08 | 2002-11-05 | Broadcom Corporation | Security chip architecture and implementations for cryptography acceleration |
US7159030B1 (en) | 1999-07-30 | 2007-01-02 | Intel Corporation | Associating a packet with a flow |
US6449656B1 (en) | 1999-07-30 | 2002-09-10 | Intel Corporation | Storing a frame header |
US6427169B1 (en) | 1999-07-30 | 2002-07-30 | Intel Corporation | Parsing a packet header |
JP4193297B2 (ja) | 1999-08-04 | 2008-12-10 | ソニー株式会社 | 通信装置および方法、通信システム、並びに記録媒体 |
US6788704B1 (en) | 1999-08-05 | 2004-09-07 | Intel Corporation | Network adapter with TCP windowing support |
US6681283B1 (en) | 1999-08-12 | 2004-01-20 | Mips Technologies, Inc. | Coherent data apparatus for an on-chip split transaction system bus |
US6332179B1 (en) | 1999-08-19 | 2001-12-18 | International Business Machines Corporation | Allocation for back-to-back misses in a directory based cache |
US6631351B1 (en) | 1999-09-14 | 2003-10-07 | Aidentity Matrix | Smart toys |
US6496199B1 (en) | 1999-10-01 | 2002-12-17 | Koninklijke Philips Electronics N.V. | Method for storing and retrieving data that conserves memory bandwidth |
US6349365B1 (en) | 1999-10-08 | 2002-02-19 | Advanced Micro Devices, Inc. | User-prioritized cache replacement |
US6859435B1 (en) | 1999-10-13 | 2005-02-22 | Lucent Technologies Inc. | Prevention of deadlocks and livelocks in lossless, backpressured packet networks |
ATE358277T1 (de) | 1999-10-22 | 2007-04-15 | Ngk Insulators Ltd | Dna-chip und verfahren zur herstellung desselben |
US6438651B1 (en) | 1999-11-01 | 2002-08-20 | International Business Machines Corporation | Method, system, and program for managing requests to a cache using flags to queue and dequeue data in a buffer |
US6564267B1 (en) | 1999-11-22 | 2003-05-13 | Intel Corporation | Network adapter with large frame transfer emulation |
US6484224B1 (en) | 1999-11-29 | 2002-11-19 | Cisco Technology Inc. | Multi-interface symmetric multiprocessor |
US6788686B1 (en) | 1999-11-30 | 2004-09-07 | Lucent Technologies Inc. | Method of maintaining packet order in multipath transmission systems having non-uniform traffic splitting |
JP3482996B2 (ja) | 1999-12-03 | 2004-01-06 | 日本電気株式会社 | Atmスイッチ |
US6862296B1 (en) | 1999-12-21 | 2005-03-01 | Lsi Logic Corporation | Receive deserializer circuit for framing parallel data |
US6606321B1 (en) | 1999-12-29 | 2003-08-12 | 3Com Corporation | Method of establishing MPOA shortcut virtual channel connections |
US7283512B2 (en) | 2000-01-20 | 2007-10-16 | Verizon Business Global Llc | Intelligent network and method for providing voice telephony over ATM and point-to-multipoint connectivity |
US6757291B1 (en) | 2000-02-10 | 2004-06-29 | Simpletech, Inc. | System for bypassing a server to achieve higher throughput between data network and data storage system |
US6975629B2 (en) | 2000-03-22 | 2005-12-13 | Texas Instruments Incorporated | Processing packets based on deadline intervals |
US6675200B1 (en) * | 2000-05-10 | 2004-01-06 | Cisco Technology, Inc. | Protocol-independent support of remote DMA |
US6658599B1 (en) | 2000-06-22 | 2003-12-02 | International Business Machines Corporation | Method for recovering from a machine check interrupt during runtime |
US6636947B1 (en) | 2000-08-24 | 2003-10-21 | International Business Machines Corporation | Coherency for DMA read cached data |
US6633936B1 (en) | 2000-09-26 | 2003-10-14 | Broadcom Corporation | Adaptive retry mechanism |
US6816932B2 (en) | 2000-10-06 | 2004-11-09 | Broadcom Corporation | Bus precharge during a phase of a clock signal to eliminate idle clock cycle |
US6538486B1 (en) | 2000-10-11 | 2003-03-25 | Lucent Technologies Inc. | Latch chain having improved sensitivity |
AU2002216644A1 (en) | 2000-10-23 | 2002-05-06 | Radisys Corporation | Method and apparatus for common channel communication using a packet switched network |
US7035255B2 (en) | 2000-11-14 | 2006-04-25 | Broadcom Corporation | Linked network switch configuration |
US20020085562A1 (en) | 2000-12-13 | 2002-07-04 | International Business Machines Corporation | IP headers for remote direct memory access and upper level protocol framing |
US20020078265A1 (en) | 2000-12-15 | 2002-06-20 | Frazier Giles Roger | Method and apparatus for transferring data in a network data processing system |
US20020089927A1 (en) | 2001-01-11 | 2002-07-11 | Fischer Michael A. | System and method for synchronizing data trasnmission across a variable delay interface |
US6665759B2 (en) | 2001-03-01 | 2003-12-16 | International Business Machines Corporation | Method and apparatus to implement logical partitioning of PCI I/O slots |
US20020149400A1 (en) | 2001-04-16 | 2002-10-17 | Namik Kocaman | Low voltage differential to single-ended converter |
US6766389B2 (en) | 2001-05-18 | 2004-07-20 | Broadcom Corporation | System on a chip for networking |
JP4573470B2 (ja) | 2001-06-08 | 2010-11-04 | 富士通株式会社 | 伝送装置及びそのフロー制御方法 |
US7318146B2 (en) | 2001-06-19 | 2008-01-08 | Micron Technology, Inc. | Peripheral device with hardware linked list |
US7239636B2 (en) | 2001-07-23 | 2007-07-03 | Broadcom Corporation | Multiple virtual channels for use in network devices |
US7020716B2 (en) | 2001-08-31 | 2006-03-28 | Adaptec, Inc. | Method and system for verifying the hardware implementation of TCP/IP |
US7293100B2 (en) | 2001-08-31 | 2007-11-06 | Adaptec, Inc. | Methods and apparatus for partially reordering data packets |
US20030046330A1 (en) | 2001-09-04 | 2003-03-06 | Hayes John W. | Selective offloading of protocol processing |
US6976205B1 (en) | 2001-09-21 | 2005-12-13 | Syrus Ziai | Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources |
US7124198B2 (en) * | 2001-10-30 | 2006-10-17 | Microsoft Corporation | Apparatus and method for scaling TCP off load buffer requirements by segment size |
US6845403B2 (en) * | 2001-10-31 | 2005-01-18 | Hewlett-Packard Development Company, L.P. | System and method for storage virtualization |
US20030105977A1 (en) | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | Offload processing for secure data transfer |
US7295555B2 (en) | 2002-03-08 | 2007-11-13 | Broadcom Corporation | System and method for identifying upper layer protocol message boundaries |
AU2002359688A1 (en) | 2002-03-15 | 2003-09-29 | Adaptec, Inc. | Method and apparatus for direct data placement over tcp/ip |
EP1357721A3 (de) | 2002-04-16 | 2004-07-14 | Broadcom Corporation | Vorrichtung und Verfahren zur Identifizierung von Grenzen von Nachrichten eines Protokolls einer höheren Schicht |
US7496689B2 (en) | 2002-04-22 | 2009-02-24 | Alacritech, Inc. | TCP/IP offload device |
US7007103B2 (en) | 2002-04-30 | 2006-02-28 | Microsoft Corporation | Method to offload a network stack |
US7181531B2 (en) | 2002-04-30 | 2007-02-20 | Microsoft Corporation | Method to synchronize and upload an offloaded network stack connection with a network stack |
US8005966B2 (en) | 2002-06-11 | 2011-08-23 | Pandya Ashish A | Data processing system using internet protocols |
US7630300B2 (en) | 2002-07-02 | 2009-12-08 | Emulex Design & Manufacturing Corporation | Methods and apparatus for trunking in fibre channel arbitrated loop systems |
US7660316B2 (en) | 2002-07-02 | 2010-02-09 | Emulex Design & Manufacturing Corporation | Methods and apparatus for device access fairness in fibre channel arbitrated loop systems |
US7664018B2 (en) | 2002-07-02 | 2010-02-16 | Emulex Design & Manufacturing Corporation | Methods and apparatus for switching fibre channel arbitrated loop devices |
US7397788B2 (en) | 2002-07-02 | 2008-07-08 | Emulex Design & Manufacturing Corporation | Methods and apparatus for device zoning in fibre channel arbitrated loop systems |
US7382790B2 (en) | 2002-07-02 | 2008-06-03 | Emulex Design & Manufacturing Corporation | Methods and apparatus for switching fibre channel arbitrated loop systems |
US7403542B1 (en) | 2002-07-19 | 2008-07-22 | Qlogic, Corporation | Method and system for processing network data packets |
US6968358B2 (en) | 2002-07-25 | 2005-11-22 | International Business Machines Corporation | Method and apparatus for network communication card memory management |
US7480312B2 (en) | 2002-08-19 | 2009-01-20 | Tehuti Networks Ltd. | Network traffic accelerator system and method |
US7411959B2 (en) | 2002-08-30 | 2008-08-12 | Broadcom Corporation | System and method for handling out-of-order frames |
US8631162B2 (en) | 2002-08-30 | 2014-01-14 | Broadcom Corporation | System and method for network interfacing in a multiple network environment |
US7346701B2 (en) | 2002-08-30 | 2008-03-18 | Broadcom Corporation | System and method for TCP offload |
US7397800B2 (en) | 2002-08-30 | 2008-07-08 | Broadcom Corporation | Method and system for data placement of out-of-order (OOO) TCP segments |
US7313623B2 (en) | 2002-08-30 | 2007-12-25 | Broadcom Corporation | System and method for TCP/IP offload independent of bandwidth delay product |
US7283522B2 (en) | 2002-09-27 | 2007-10-16 | Sun Microsystems, Inc. | Method and apparatus for offloading message segmentation to a network interface card |
US6874054B2 (en) | 2002-12-19 | 2005-03-29 | Emulex Design & Manufacturing Corporation | Direct memory access controller system with message-based programming |
EP1460804B1 (de) | 2003-03-20 | 2008-10-22 | Broadcom Corporation | Systeme und Verfahren zur Handhabung von ungeordneten Ramen (FKA Empfang von ungeordneten TCP/IP Daten ohne Kopie Service) |
EP1460806A3 (de) | 2003-03-20 | 2006-03-22 | Broadcom Corporation | Systeme und Verfahren zu Schnittstellen in einer mehreren Netzwerkumgebung |
US7400639B2 (en) | 2003-08-07 | 2008-07-15 | Intel Corporation | Method, system, and article of manufacture for utilizing host memory from an offload adapter |
US7562158B2 (en) | 2004-03-24 | 2009-07-14 | Intel Corporation | Message context based TCP transmission |
US7813360B2 (en) | 2005-01-26 | 2010-10-12 | Emulex Design & Manufacturing Corporation | Controlling device access fairness in switched fibre channel fabric loop attachment systems |
US7586850B2 (en) | 2005-02-23 | 2009-09-08 | Emulex Design & Manufacturing Corporation | Prevention of head of line blocking in a multi-rate switched Fibre Channel loop attached system |
-
2002
- 2002-08-29 US US10/230,643 patent/US7295555B2/en active Active
-
2003
- 2003-03-07 EP EP03005161A patent/EP1345382B1/de not_active Expired - Fee Related
- 2003-03-07 DE DE60309527T patent/DE60309527T2/de not_active Expired - Lifetime
-
2007
- 2007-10-08 US US11/868,655 patent/US8135016B2/en not_active Expired - Fee Related
-
2010
- 2010-04-12 US US12/758,511 patent/US8345689B2/en not_active Expired - Lifetime
- 2010-04-12 US US12/758,484 patent/US8451863B2/en not_active Expired - Lifetime
-
2013
- 2013-05-28 US US13/903,454 patent/US8958440B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20080025315A1 (en) | 2008-01-31 |
US20100220729A1 (en) | 2010-09-02 |
EP1345382A3 (de) | 2004-06-16 |
US8345689B2 (en) | 2013-01-01 |
EP1345382B1 (de) | 2006-11-08 |
US20100223540A1 (en) | 2010-09-02 |
DE60309527D1 (de) | 2006-12-21 |
US20030172342A1 (en) | 2003-09-11 |
US8958440B2 (en) | 2015-02-17 |
US8451863B2 (en) | 2013-05-28 |
US20130262607A1 (en) | 2013-10-03 |
US8135016B2 (en) | 2012-03-13 |
EP1345382A2 (de) | 2003-09-17 |
US7295555B2 (en) | 2007-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60309527T2 (de) | System und Verfahren zur Identifikation von Grenzen von Nachrichten höherer Schichten | |
DE602005005219T2 (de) | Paketzusammenführung | |
DE60218758T2 (de) | Kommunikationsprotokolle, -systeme und -verfahren | |
DE60305378T2 (de) | Verfahren zum Weitergeben von einem Netzwerkstapel | |
DE69934124T2 (de) | Verfahren und vorrichtung für wiederversuch, versagen und wiederanlauf einer eingang/ausgangsverbindung in einem computernetz | |
DE60111551T2 (de) | Mechanismus zur vervollständigung von nachrichten im speicher | |
DE69729040T2 (de) | Netzwerkübertragung | |
DE60026577T2 (de) | Einrichtung zum senden/empfangen eines bitstroms in einem netzwerk, sowie verfahren dazu | |
DE60114942T2 (de) | Verfahren und System für das Verwenden eines Kernnetz-Protokolls zur Verbesserung der Netzleistung | |
DE60307032T2 (de) | Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung | |
US7055085B2 (en) | System and method for protecting header information using dedicated CRC | |
JP2003510964A (ja) | パケット通信での性能を改善するためのヘッダフィールドの操作 | |
DE60318252T2 (de) | Verfahren und vorrichtungen zur datenübertragung zwischen speichernetzwerken | |
DE102019201316A1 (de) | Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem | |
EP3900273B1 (de) | Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem | |
DE10231958B4 (de) | Verfahren und System zum Übertragen von Datenpaketen über ein Netzwerk an ausgewählte mehrere Bestimmungsorte, sowie computerlesbares Medium | |
DE60217687T2 (de) | Vorrichtung und Verfahren zur Wiederherstellung von unbestätigter "Network Layer Service Access Point Identifier (NSAPI)"- Kommunikation im "Subnetwork Dependent Convergence Protocol" SNDCP | |
DE60320685T2 (de) | Verfahren und system zur durchführung schneller prüfsummenberechnungen in einem gprs-kommunikationssystem mittels tunneln | |
EP1469625B1 (de) | Verfahren und Vorrichtung zum Paket-orientierten Übertragen sicherheitsrelevanter Daten | |
EP1236372A2 (de) | Verfahren zum betreiben eines mobilfunknetzes | |
EP1357721A2 (de) | Vorrichtung und Verfahren zur Identifizierung von Grenzen von Nachrichten eines Protokolls einer höheren Schicht | |
US20030115356A1 (en) | Data tracing identifiers | |
DE60127342T2 (de) | Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte | |
DE60220098T2 (de) | Verteiltes Computersystem mit Bestätigungsakkumulation | |
WO2020088999A1 (de) | Teilnehmerstation für ein serielles bussystem und verfahren zum senden einer nachricht in einem seriellen bussystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |