DE102022108950A1 - Vorrichtung mit multi-channel bonding - Google Patents

Vorrichtung mit multi-channel bonding Download PDF

Info

Publication number
DE102022108950A1
DE102022108950A1 DE102022108950.9A DE102022108950A DE102022108950A1 DE 102022108950 A1 DE102022108950 A1 DE 102022108950A1 DE 102022108950 A DE102022108950 A DE 102022108950A DE 102022108950 A1 DE102022108950 A1 DE 102022108950A1
Authority
DE
Germany
Prior art keywords
data packets
primary
sequence numbers
data
channels
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.)
Pending
Application number
DE102022108950.9A
Other languages
English (en)
Inventor
Amos Klimker
Ingo Volkening
Rafi Abraham
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MaxLinear Inc
Original Assignee
MaxLinear Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MaxLinear Inc filed Critical MaxLinear Inc
Publication of DE102022108950A1 publication Critical patent/DE102022108950A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links

Landscapes

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

Abstract

Ein System kann primäre und sekundäre integrierte Schaltkreise enthalten. Der primäre integrierte Schaltkreis kann eine erste Teilmenge von Datenpaketen empfangen, die einem ersten Satz von Sequenznummern zugeordnet sind. Der sekundäre integrierte Schaltkreis kann eine zweite Teilmenge von Datenpaketen empfangen, die mit einem zweiten Satz von Sequenznummern verbunden sind. Der primäre integrierte Schaltkreis ist so ausgebildet, dass er den ersten Satz von Sequenznummern und den zweiten Satz von Sequenznummern im Auftrag des sekundären integrierten Schaltkreises und für das System verwaltet.

Description

  • TECHNISCHES GEBIET
  • Die hier beschriebenen Ausführungsformen beziehen sich auf Systeme und Vorrichtungen mit Multi Channel Bonding (Mehrkanalbündelung).
  • STAND DER TECHNIK
  • Sofern in der vorliegenden Offenbarung nicht anders angegeben, sind die in der vorliegenden Offenbarung beschriebenen Inhalte nicht Stand der Technik im Sinne der Ansprüche der vorliegenden Anmeldung und werden durch die Aufnahme in diesen Abschnitt nicht als Stand der Technik anerkannt.
  • Ein integrierter Schaltkreis (IC) kann eine Reihe von elektronischen Schaltkreisen auf Halbleitermaterial umfassen. ICs werden oft aus Silizium hergestellt. Einige ICs können so hergestellt werden, dass sie einer bestimmten Norm entsprechen, z. B. einer DOCSIS-Norm (Data Over Cable Service Interface Specification).
  • Der in der vorliegenden Offenbarung beanspruchte Gegenstand ist nicht auf Implementierungen beschränkt, die irgendwelche Nachteile beheben oder nur in Umgebungen wie den oben beschriebenen funktionieren. Vielmehr wird dieser Stand der Technik nur zur Veranschaulichung eines Beispiels für einen Technologiebereich angeführt, in dem einige der in der vorliegenden Offenlegung beschriebenen Implementierungen ausgenutzt werden können.
  • ZUSAMMENFASSUNG
  • Ein System kann primäre und sekundäre integrierte Schaltkreise enthalten. Der primäre integrierte Schaltkreis kann eine erste Teilmenge von Datenpaketen empfangen, die einem ersten Satz von Sequenznummern zugeordnet sind. Der sekundäre integrierte Schaltkreis kann eine zweite Teilmenge von Datenpaketen empfangen, die mit einem zweiten Satz von Sequenznummern verbunden sind. Der primäre integrierte Schaltkreis ist so ausgebildet, dass er den ersten Satz von Sequenznummern und den zweiten Satz von Sequenznummern im Auftrag des sekundären integrierten Schaltkreises und für das System verwaltet.
  • In einer Ausführungsform enthält ein System einen primären integrierten Schaltkreis und einen sekundären integrierten Schaltkreis. Der primäre integrierte Schaltkreis umfasst eine erste primäre Kommunikationsschnittstelle, eine zweite primäre Kommunikationsschnittstelle und eine dritte primäre Kommunikationsschnittstelle. Die erste primäre Kommunikationsschnittstelle ist so ausgebildet, dass sie eine erste Teilmenge von Datenpaketen über einen ersten Satz von Kanälen empfängt. Jedes Paket der Datenpakete ist mit einer jeweiligen Sequenznummer verbunden. Jedes Paket der ersten Teilmenge der Datenpakete ist mit einem ersten Satz von Sequenznummern verknüpft. Die zweite primäre Kommunikationsschnittstelle ist für den Empfang eines zweiten Satzes von Sequenznummern ausgebildet. Die dritte primäre Kommunikationsschnittstelle ist so ausgebildet, dass sie bewirkt, dass die erste Teilmenge der Datenpakete in einem Puffer gespeichert wird. Der sekundäre integrierte Schaltkreis umfasst eine erste sekundäre Kommunikationsschnittstelle, eine zweite sekundäre Kommunikationsschnittstelle und eine dritte sekundäre Kommunikationsschnittstelle. Die erste sekundäre Kommunikationsschnittstelle ist so ausgebildet, dass sie eine zweite Teilmenge der Datenpakete über einen zweiten Satz von Kanälen empfängt. Jedes Paket der zweiten Teilmenge der Datenpakete ist mit dem zweiten Satz von Sequenznummern verbunden. Die zweite sekundäre Kommunikationsschnittstelle ist so ausgebildet, dass sie den zweiten Satz von Sequenznummern über die zweite primäre Kommunikationsschnittstelle an den primären integrierten Schaltkreis überträgt. Die dritte sekundäre Kommunikationsschnittstelle ist so ausgebildet, dass sie veranlasst, dass die zweite Teilmenge der Datenpakete im Puffer gespeichert wird. Die dritte primäre Kommunikationsschnittstelle ist so ausgebildet, dass sie die Freigabe des Puffers auf der Grundlage der jeweiligen Sequenznummer eines jeden Pakets veranlasst. Der Puffer ist mit der ersten Teilmenge der Datenpakete und der zweiten Teilmenge der Datenpakete verbunden.
  • In einer anderen Ausführungsform enthält eine Vorrichtung eine erste Kommunikationsschnittstelle, eine zweite Kommunikationsschnittstelle und eine dritte Kommunikationsschnittstelle. Die erste Kommunikationsschnittstelle ist für den Empfang von Datenpaketen über eine Reihe von Kanälen ausgebildet. Jedes Paket der Datenpakete ist mit einem ersten Satz von Sequenznummern verbunden. Die zweite Kommunikationsschnittstelle ist so ausgebildet, dass sie einen zweiten Satz von Sequenznummern von einer kommunikativ gekoppelten Vorrichtung empfängt. Die dritte Kommunikationsschnittstelle ist so ausgebildet, dass sie veranlasst, dass die Datenpakete in einem Puffer gespeichert werden. Die dritte Kommunikationsschnittstelle ist so ausgebildet, dass sie veranlasst, dass der Puffer auf der Grundlage des ersten Satzes von Sequenznummern und des zweiten Satzes von Sequenznummern freigegeben wird.
  • In einer anderen Ausführungsform enthält eine Vorrichtung eine erste Kommunikationsschnittstelle, eine zweite Kommunikationsschnittstelle und eine dritte Kommunikationsschnittstelle. Die erste Kommunikationsschnittstelle ist für den Empfang von Datenpaketen über eine Reihe von Kanälen ausgebildet. Jedes Paket der Datenpakete ist mit einem Satz von Sequenznummern verbunden. Die zweite Kommunikationsschnittstelle ist so ausgebildet, dass sie den Satz von Sequenznummern an eine kommunikativ gekoppelte Vorrichtung überträgt. Die dritte Kommunikationsschnittstelle ist so ausgebildet, dass die Datenpakete in einem Puffer gespeichert werden.
  • Der Ziel und die Vorteile der Ausführungsformen werden zumindest durch die in den Ansprüchen besonders hervorgehobenen Elemente, Merkmale und Kombinationen verwirklicht und erreicht. Es versteht sich, dass sowohl die vorangehende allgemeine Beschreibung als auch die folgende detaillierte Beschreibung beispielhaft und erläuternd sind und die beanspruchte Erfindung nicht einschränken.
  • Figurenliste
  • Beispielhafte Ausführungsformen werden anhand der beigefügten Zeichnungen, in denen sie dargestellt sind, genauer beschrieben und erläutert:
    • 1 zeigt ein Blockdiagramm eines Beispielsystems für Multi-Channel Bonding;
    • 2 zeigt ein Blockdiagramm eines anderen Beispielsystems für Multi-Channel Bonding;
    • 3 zeigt ein Beispiel für einen Vorgang im Zusammenhang mit Multi-Channel Bonding;
    • 4 zeigt ein Flussdiagramm eines Beispiels für ein Verfahren zum Multi-Channel Bonding;
    • 5 zeigt ein Flussdiagramm eines weiteren Beispiels für Multi-Channel Bonding; und
    • 6 zeigt ein Beispiel für ein Computersystem, das für das Multi-Channel Bonding verwendet werden kann.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Ein System auf einem Chip („system on a chip“; SoC) ist eine Art von integriertem Schaltkreis (IC). Unter bestimmten Umständen können SoCs den Netzausbau beschleunigen. So können SoCs, die mit der „Data Over Cable Service Interface Specification“ (DOCSIS) konform sind, beispielsweise Hochleistungsverbindungen ermöglichen. In einigen Fällen können SoCs Vorteile bei der Netzwerkleistung bieten, wie z. B. die Unterdrückung von Hochfrequenzrauschen und die Flexibilität bei der Paketverarbeitung, um eine optimale Leistung und eine verbesserte Dienstqualität in einer Vielzahl von Anwendungsfällen zu gewährleisten, wie z. B. die Bereitstellung von Diensten mit 15-50 oder mehr Gigabit pro Sekunde (Gbit/s) für die Haushalte der Kunden über die bestehende Infrastruktur und andere Anwendungsfälle in Weitverkehrsnetzen (WAN) und lokalen Netzen (LAN).
  • Unter bestimmten Umständen kann ein Kabelmodem-Abschlusssystem („cable modern termination system“; CMTS) die Kommunikation zu und von Kundenendgeräten („customer premises equipment“; CPE), wie z. B. einem Kabelmodem und/oder Kabel-Gateway, ermöglichen. In einigen Fällen kann das CMTS Daten mit einer Kopfstelle kommunizieren, und die Kopfstelle kann ihrerseits mit dem CPE kommunizieren. Die Datenkommunikation zwischen dem CMTS und dem CPE kann auf mehreren Kanälen erfolgen, die sich über mehrere Frequenzen erstrecken. Aus Sicht des CPE können eingehende Daten als Downstream-Daten und ausgehende Daten als Upstream-Daten bezeichnet werden. Einige CPE können auf eine bestimmte Anzahl von Upstream-Kanälen und/oder Downstream-Kanälen beschränkt sein. Solche Beschränkungen können durch einen bestimmten Standard wie DOCSIS 3.0, DOCSIS 3.1, DOCSIS 4.0 usw. vorgegeben sein. Alternativ oder zusätzlich kann es sich bei den Beschränkungen der Upstream-Kanäle und/oder Downstream-Kanäle des CPE um hardwarebasierte Beschränkungen handeln. Beispielsweise kann eine Hardwarebeschränkung ein festes Maximum an kombinierten Downstream- und Upstream-Kanälen unterstützen, wie z. B. ein festes Gesamtmaximum von 5 oder 6 Kanälen, z. B. vier Downstream-Kanäle und zwei Upstream-Kanäle. Da neuere Normen oder Überarbeitungen dieser Normen eine steigende Anzahl von Downstream-Kanälen und Upstream-Kanälen zulassen, können die physikalischen Beschränkungen der Hardware eine Begrenzung der Anzahl von Downstream-Kanälen und Upstream-Kanälen bewirken, die unter Umständen geringer ist als die zulässige Anzahl von Downstream-Kanälen und Upstream-Kanälen gemäß einer bestimmten Norm.
  • Darüber hinaus sind manche Implementierungen für eine große Anzahl von Kanälen nicht optimal und eignen sich stattdessen besser für weniger als eine maximale Anzahl von Kanälen. Viele verschiedene Konfigurationen für Downstream- und Upstream-Kanäle können die Herstellung erschweren, da sie viele verschiedene Arten von Werkzeugen, häufiges Umrüsten usw. erfordern können.
  • Aspekte der vorliegenden Offenlegung beheben diese und andere Unzulänglichkeiten früherer Ansätze durch die Unterstützung von Mehrkanalbündelung im CPE, z. B. in einem Kabelgerät. Die vorliegende Offenlegung bietet auch eine flexible Architektur, die die Unterstützung für mehrere DOCSIS-Konfigurationen (für einen oder beide Downstream-Kanäle und Upstream-Kanäle) auf der Grundlage einer kostengünstigen Siliziumlösung ermöglicht. Beispielsweise bietet die vorliegende Offenlegung eine flexible Architektur, die für verschiedene Systeme und Anforderungen ausgebildet werden kann, wie für ein DOCSIS4.0-System mit fünf Downstream-Kanälen und sieben Upstream-Kanälen (z. B. ein 5 x 7-System) und/oder ein DOCSIS4.0-System mit acht Downstream-Kanälen und zwei Upstream-Kanälen (z. B. ein 8 x 2-System). Diese beiden Konfigurationen werden nur als Beispiele genannt. Jede Anzahl und/oder Kombination von Downstream-Kanälen und Upstream-Kanälen ist denkbar, z. B. ein 2 x 1-System, ein 2 x 2-System, ein 4 x 2-System, ein 10 x 14-System, ein 15 x 21-System, ein 20 x 50-System, ein 30 x 28-System, ein 100 x 500-System usw. In einigen Ausführungsformen können zur Verwirklichung dieses flexiblen Architekturkonfigurationsschemas zwei oder mehr ICs verwendet werden, wobei ein IC der zwei oder mehr ICs als primärer IC ausgebildet ist und die übrigen ICs als sekundäre ICs ausgebildet sind.
  • 1 zeigt ein Blockdiagramm eines Beispielsystems 100 für Multi-Channel Bonding gemäß mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform. In einigen Ausführungsformen kann das System 100 ein Kabelmodem-Abschlusssystem (CMTS) 105, einen Splitter 110 und ein Kundenendgerät (CPE) 115 umfassen. In einigen Ausführungsformen kann das CPE 115 einen primären integrierten Schaltkreis (IC) 120, einen sekundären IC 125, eine Netzwerkverarbeitungsvorrichtung 130, einen Datenspeicher 135, eine Kommunikationsvorrichtung 140, einen ersten primären Datenpfad 145, einen ersten sekundären Datenpfad 150, einen zweiten primären Datenpfad 155, einen zweiten sekundären Datenpfad 160, einen Steuerpfad 165 und einen primären Steuerpfad 170 umfassen.
  • In einigen Ausführungsformen kann das CMTS 105 so ausgebildet sein, dass es Daten an ein oder mehrere Geräte, wie z. B. das CPE 115, überträgt. Alternativ oder zusätzlich kann das CMTS 105 so ausgebildet sein, dass es Daten von einem oder mehreren Geräten, wie z. B. dem CPE 115, empfängt. In diesen und anderen Ausführungsformen kann das CMTS 105 so ausgebildet sein, dass es Daten über einen oder mehrere Kanäle sendet und empfängt, um die Bandbreitennutzung zu verbessern und/oder zu maximieren. Zum Beispiel kann das CMTS 105 Daten über eine beliebige Anzahl von Downstream-Kanälen übertragen (z. B. können sich Downstream-Kanäle auf Kanäle zum Senden von Datenpaketen vom CMTS 105 und Upstream-Kanäle auf Kanäle zum Empfangen von Datenpaketen durch das CMTS 105 beziehen), wie z. B. zwei, vier, fünf, acht, zehn, fünfzehn oder zwanzig Downstream-Kanäle und/oder eine beliebige andere Anzahl von Downstream-Kanälen. Ebenso kann das CMTS 105 so ausgebildet sein, dass es Daten über eine beliebige Anzahl von Upstream-Kanälen empfängt, z. B. zwei, vier, sieben, acht, zehn, fünfzehn oder einundzwanzig Upstream-Kanäle und/oder eine beliebige andere Anzahl von Upstream-Kanälen. In diesen und anderen Ausführungsformen können die Anzahl der Downstream-Kanäle und die Anzahl der Upstream-Kanäle, die dem CMTS 105 zugeordnet sind, gleich sein oder sich in ihrer Anzahl unterscheiden.
  • In einigen Ausführungsformen kann das CMTS 105 so ausgebildet sein, dass es die Anzahl der funktionsfähigen Kanäle bestimmt, die mit einem CPE 115 verbunden sind. Zum Beispiel kann das CMTS 105 in Fällen, in denen der primäre IC 120 so ausgebildet ist, dass er vier Downstream-Kanäle unterstützt, und der sekundäre IC 125 so ausgebildet ist, dass er vier Downstream-Kanäle unterstützt, Datenpakete unter Verwendung von acht Downstream-Kanälen übertragen, um den verbundenen Kanälen („bonded channels“) zwischen dem primären IC 120 und dem sekundären IC 125 zu entsprechen.
  • In einigen Ausführungsformen können die vom CMTS 105 übertragenen Daten in Datenpakete aufgeteilt sein. Die Datenpakete können miteinander verbunden sein (z. B. mehrere Datenpakete, die sich auf eine einzige Datei beziehen, wie ein Dokument, ein Archiv, ein Film usw.), oder wenigstens einige der Datenpakete mögen nicht mit anderen Datenpaketen verbunden sein (z. B. mit verschiedenen Dateien und/oder Daten). In einigen Ausführungsformen kann jedes Datenpaket der Datenpakete im Hinblick auf einen Standard, wie die DOCSIS 4.0-Spezifikation, angeordnet sein. In einigen Ausführungsformen kann jedem Datenpaket eine jeweilige Sequenznummer durch das CMTS 105 zugewiesen werden. Die jeweilige Sequenznummer kann verwendet werden, um die Reihenfolge der Datenpakete aufrechtzuerhalten, falls die Datenpakete in Unordnung geraten, beispielsweise während einer Übertragung der Datenpakete durch das CMTS 105. Beispielsweise kann die jeweilige Sequenznummer, die jedem Datenpaket zugewiesen wird, bezogen auf die anderen Datenpakete sein, die in einer Downstream-Übertragung enthalten sein können, so dass einem ersten Datenpaket ein erster Wert zugewiesen werden kann, einem zweiten Datenpaket ein zweiter Wert, der auf den ersten Wert folgt, und so weiter.
  • In einigen Ausführungsformen kann das CMTS 105 Datenpakete zum und/oder vom CPE 115 senden und/oder empfangen. Der Einfachheit halber wird in der vorliegenden Offenlegung die Übertragung von Datenpaketen vom CMTS 105 zum CPE 115 über Downstream-Kanäle betrachtet. Fachleute werden erkennen, dass die hier erörterten Funktionen und Prinzipien auch für die Übertragung von Datenpaketen vom CPE 115 zum CMTS 105 über Upstream-Kanäle gelten können.
  • In einigen Ausführungsformen kann das CPE 115 ein einzelnes Gerät umfassen, das so ausgebildet sein kann, dass es Datenpakete vom CMTS 105 über einen oder mehrere Downstream-Kanäle empfängt. Wie in 1 dargestellt, kann das CPE 115 beispielsweise den primären IC 120, den sekundären IC 125, die Netzwerkverarbeitungsvorrichtung 130, den Datenspeicher 135 und die Kommunikationsvorrichtung 140 umfassen, die alle in einer Vorrichtung angeordnet sein können, die das CPE 115 sein kann. Alternativ oder zusätzlich können eine oder mehrere Komponenten des CPE 115 in ein oder mehrere Vorrichtungen aufgeteilt werden, die so ausgebildet sein können, dass sie beim Empfang von Datenpaketen vom CMTS 105 zusammenarbeiten. Beispielsweise können der primäre IC 120, der sekundäre IC 125 und die Netzwerkverarbeitungsvorrichtung 130 eine erste Vorrichtung sein, der Datenspeicher 135 kann eine zweite Vorrichtung sein, und die Kommunikationsvorrichtung 140 kann eine dritte Vorrichtung sein, wobei jede der ersten Vorrichtung, der zweiten Vorrichtung und der dritten Vorrichtung das CPE 115 umfassen mag. Alternativ oder zusätzlich können auch andere Konfigurationen, die mehr oder weniger der dargestellten Komponenten enthalten können, als das CPE 115 enthalten sein, so dass das CPE 115 so ausgebildet sein kann, dass es die Datenpakete vom CMTS 105 empfängt und/oder verarbeitet.
  • In einigen Ausführungsformen kann der Splitter 110 so ausgebildet sein, dass er die vom CMTS 105 übertragenen Datenpakete empfängt und die Datenpakete auf kommunikativ gekoppelte Geräte, wie den primären IC 120 und den sekundären IC 125, aufteilt. In einigen Ausführungsformen kann der Splitter 110 mit mehr oder weniger als dem primären IC 120 und dem sekundären IC 125 kommunikativ verbunden sein. Beispielsweise kann ein tertiärer IC (in 1 nicht dargestellt) in dem CPE 115 enthalten sein, so dass der Splitter 110 die Datenpakete zwischen dem primären IC 120, dem sekundären IC 125 und dem tertiären IC aufteilen kann. Alternativ mag in Fällen, in denen die Anzahl der vom CMTS 105 zur Übertragung von Datenpaketen verwendeten Downstream-Kanäle von einem IC, wie dem primären IC 120, gehandhabt werden, der Splitter 110 die Datenpakete nicht zwischen dem primären IC 120 und dem sekundären IC 125 aufteilen und/oder der Splitter 110 mag deaktiviert und/oder nicht im System 100 enthalten sein.
  • In einigen Ausführungsformen kann der primäre IC 120 ein System auf einem Chip, einen Prozessor, einen IC usw. umfassen. In einigen Ausführungsformen kann der primäre IC 120 so ausgebildet sein, dass er Datenpakete vom CMTS 105, z. B. vom Splitter 110, empfängt. Beispielsweise kann der erste primäre Datenpfad 145 kommunikativ mit einer ersten primären Kommunikationsschnittstelle verbunden sein, die dem primären IC 120 zugeordnet ist, und die vom CMTS 105 übertragenen Datenpakete können über den ersten primären Datenpfad 145 an den primären IC 120 übermittelt werden. In einigen Ausführungsformen kann der primäre IC 120 einen Teil der vom CMTS 105 gesendeten Datenpakete oder eine Teilmenge der Datenpakete empfangen, beispielsweise in Fällen, in denen das CMTS 105 die Datenpakete unter Verwendung von mehr Downstream-Kanälen sendet, als von dem primären IC 120 unterstützt werden können. Beispielsweise kann in Fällen, in denen der primäre IC 120 vier Downstream-Kanäle unterstützt und das CMTS 105 Datenpakete über acht Downstream-Kanäle überträgt, der primäre IC 120 eine erste Teilmenge der Datenpakete empfangen und ein zweiter IC, wie der sekundäre IC 125, eine zweite Teilmenge der Datenpakete.
  • In einigen Ausführungsformen kann der erste primäre Datenpfad 145 so ausgebildet sein, dass er eine Anzahl von Kanälen (downstream und/oder upstream) unterstützt, die einer Anzahl von Kanälen entspricht, für die der primäre IC 120 ausgebildet sein kann. Beispielsweise kann in Fällen, in denen der primäre IC 120 so ausgebildet ist, dass er Datenpakete über vier Downstream-Kanäle unterstützt, der erste primäre Datenpfad 145 so ausgebildet sein, dass er Datenpakete über mindestens vier Downstream-Kanäle unterstützt.
  • In einigen Ausführungsformen kann der primäre IC 120 so ausgebildet sein, dass er eine jeweilige Sequenznummer erhält, die mit jedem vom primären IC 120 empfangenen Datenpaket verknüpft ist, wie z. B. ein erster Satz von Sequenznummern, der mit der ersten Teilmenge der Datenpakete verknüpft ist. Beispielsweise kann in Fällen, in denen der primäre IC 120 das erste, dritte und vierte Datenpaket vom CMTS 105 empfängt, der primäre IC 120 eine erste, dritte bzw. vierte Sequenznummer erhalten und/oder speichern, die mit der empfangenen ersten Teilmenge der Datenpakete verbunden ist.
  • In einigen Ausführungsformen kann die erste Teilmenge der vom CMTS 105 übertragenen Datenpakete von dem primären IC 120 in einer anderen Reihenfolge empfangen werden, als die Datenpakete empfangen und/oder verarbeitet werden sollten. Zum Beispiel kann der primäre IC 120 das vierte Datenpaket als erstes, das dritte Datenpaket als zweites und das erste Datenpaket als drittes empfangen. In diesen und anderen Ausführungsformen kann der primäre IC 120 so ausgebildet sein, dass er die jeweilige Sequenznummer erhält, die mit jedem Datenpaket der Datenpakete verbunden ist, so dass Datenpakete, die nicht in der richtigen Reihenfolge sind, neu angeordnet werden können.
  • Das CMTS 105 kann eine zweite Teilmenge der Datenpakete über den Splitter 110 und den ersten sekundären Datenpfad 150 an den sekundären IC 125 senden. Die zweite Teilmenge der Datenpakete kann mit einem zweiten Satz von Sequenznummern verbunden sein. Der sekundäre IC 125 kann die zweite Teilmenge von Datenpaketen über den Steuerpfad 165 an den primären IC senden, so dass der primäre IC 145 alle Sequenznummern ganzheitlich verwalten und alle an das CPE 115 gesendeten Datenpakete in einer Reihenfolge freigeben kann, die mit den verschiedenen Sequenznummern zusammenhängt.
  • In einigen Ausführungsformen kann der primäre IC 120 den zweiten Satz von Sequenznummern über den Steuerpfad 165 empfangen. In einigen Ausführungsformen kann der Steuerpfad 165 den primären IC 120 mit dem sekundären IC 125 kommunikativ koppeln. Beispielsweise kann der primäre IC 120 eine zweite primäre Kommunikationsschnittstelle und der sekundäre IC 125 eine zweite sekundäre Kommunikationsschnittstelle aufweisen, wobei der Steuerpfad 165 den primären IC 120 und den sekundären IC 125 über die zweite primäre Kommunikationsschnittstelle und die zweite sekundäre Kommunikationsschnittstelle kommunikativ koppeln kann. In diesen und anderen Ausführungsformen kann der Steuerpfad 165 eine Hochgeschwindigkeitsverbindung umfassen, wie z. B. Peripheral Component Interconnect Express (PCIe). So kann der Steuerpfad 165 beispielsweise einen PCIe-Bus der Generation 3 umfassen.
  • In diesen und anderen Ausführungsformen kann der primäre IC 120 so ausgebildet sein, dass er die jeweilige Sequenznummer (z. B. den ersten Satz von Sequenznummern und den zweiten Satz von Sequenznummern) erhält, die mit jedem vom CMTS 105 übertragenen Datenpaket (z. B. der ersten Teilmenge der Datenpakete und der zweiten Teilmenge der Datenpakete) verbunden ist. So kann der primäre IC 120 so ausgebildet sein, dass er die Datenpakete auf der Grundlage der vom CMTS 105 zugewiesenen sequenziellen Reihenfolge der Datenpakete neu anordnet. Beispielsweise können das erste, dritte und vierte Datenpaket von dem primären IC 120 (z. B. in beliebiger Reihenfolge) und das zweite, fünfte und sechste Datenpaket von dem sekundären IC 125 (z. B. in beliebiger Reihenfolge) erhalten werden, und der primäre IC 120 kann so ausgebildet sein, dass er die sequentielle Reihenfolge der Datenpakete als das erste Datenpaket, das zweite Datenpaket usw. bestimmt und die Datenpakete entsprechend der sequentiellen Reihenfolge freigibt.
  • In einigen Ausführungsformen kann der primäre IC 120 bewirken, dass empfangene Datenpakete vom CMTS 105 in einem Puffer gespeichert werden. In einigen Ausführungsformen kann der Puffer mit dem primären IC 120, der Netzwerkverarbeitungsvorrichtung 130 und/oder dem Datenspeicher 135 verbunden sein. In Fällen, in denen der Puffer von dem primären IC 120 entfernt gelegen ist, können die von dem primären IC 120 empfangenen Datenpakete von dem primären IC 120 über den zweiten primären Datenpfad 155 übertragen werden. Der zweite primäre Datenpfad 155 kann mit einer dritten primären Kommunikationsschnittstelle des primären IC 120 verbunden sein. Der zweite primäre Datenpfad 155 kann dem ersten primären Datenpfad 145 ähnlich sein, so dass der zweite primäre Datenpfad 155 so ausgebildet werden kann, dass er eine Anzahl von Kanälen unterstützt, die gleich der Anzahl von Kanälen ist, für die der primäre IC 120 ausgebildet werden kann. Zusätzliche Details im Zusammenhang mit dem Puffer und der Speicherung von Datenpaketen darin mögen in Bezug auf 2 weiter erörtert werden.
  • In einigen Ausführungsformen kann der primäre IC 120 so ausgebildet sein, dass er die Freigabe des Puffers an die Netzwerkverarbeitungsvorrichtung 130 auf der Grundlage der von dem primären IC 120 bestimmten sequenziellen Reihenfolge veranlasst. Beispielsweise kann der primäre IC 120 die sequentielle Reihenfolge der Datenpakete auf der Grundlage des ersten Satzes von Sequenznummern und des zweiten Satzes von Sequenznummern bestimmen, und der primäre IC 120 kann den Puffer veranlassen, die Datenpakete jeweilig der sequentiellen Reihenfolge freizugeben. In einigen Ausführungsformen kann der primäre IC 120 eine Übertragung, wie z. B. eine Steuerübertragung über den primären Steuerpfad 170, an den Puffer und/oder ein mit dem Puffer verbundenes Verarbeitungsgerät, wie z. B. die Netzwerkverarbeitungsvorrichtung 130, anweisen, den Puffer basierend auf der sequenziellen Reihenfolge freizugeben. Eine Steuerübertragung kann eine Übertragung umfassen, die mit den jeweiligen Sequenznummern und/oder der sequenziellen Reihenfolge der Datenpakete verbunden ist. Eine Steuerübertragung kann zwischen dem primären IC 120 und dem sekundären IC 125, zwischen dem primären IC 120 und der Netzwerkverarbeitungsvorrichtung 130 und/oder zwischen dem primären IC 120 und einem mit den Datenpaketen verbundenen Puffer (z. B. dem Datenspeicher 135) erfolgen.
  • In einigen Ausführungsformen kann der primäre Steuerpfad 170 mit dem zweiten primären Datenpfad 155 kombiniert werden, so dass Übertragungen, die sich entweder auf den primären Steuerpfad 170 oder den zweiten primären Datenpfad 155 beziehen, über eine einzige Kommunikationsschnittstelle durchgeführt werden können. Beispielsweise kann die dritte primäre Kommunikationsschnittstelle, die mit dem primären IC 120 verbunden ist, so ausgebildet sein, dass sie Datenpaketübertragungen über den zweiten primären Datenpfad 155 und/oder Steuerpfadübertragungen über den primären Steuerpfad 170 unterstützt. In diesen und anderen Ausführungsformen kann die dritte primäre Kommunikationsschnittstelle über eine Hochgeschwindigkeitsverbindung, z. B. PCIe, mit der Netzwerkverarbeitungsvorrichtung 130 verbunden sein. Beispielsweise kann der primäre Datenpfad 155 und/oder der primäre Steuerpfad 170 einen PCIe-Bus der Generation 3 umfassen.
  • In einigen Ausführungsformen kann der sekundäre IC 125 ein System auf einem Chip, einen Prozessor, einen IC usw. umfassen. In einigen Ausführungsformen kann der sekundäre IC 125 eine oder mehrere ähnliche Funktionen wie der primäre IC 120 aufweisen. Beispielsweise kann der sekundäre IC 125 so ausgebildet sein, dass er Datenpakete, wie etwa eine zweite Teilmenge von Datenpaketen, vom CMTS 105, wie etwa vom Splitter 110, empfängt. Beispielsweise kann der erste sekundäre Datenpfad 150 kommunikativ mit einer ersten sekundären Kommunikationsschnittstelle gekoppelt sein, die mit dem sekundären IC 125 verbunden ist, und die vom CMTS 105 übertragenen Datenpakete können über den ersten sekundären Datenpfad 150 an den sekundären IC 125 übermittelt werden.
  • In einigen Ausführungsformen kann die Anzahl der von dem sekundären IC 125 unterstützten Kanäle die gleiche sein wie die von dem primären IC 120 unterstütze Anzahl. Beispielsweise können der primäre IC 120 und der sekundäre IC 125 jeweils vier Downstream-Kanäle und zwei Upstream-Kanäle unterstützen (die Anzahl der unterstützten Kanäle ist nur illustrativ und nicht einschränkend, wie hier beschrieben). Alternativ oder zusätzlich kann die Anzahl der Kanäle, die von dem sekundären IC 125 unterstützt werden, von der Anzahl der Kanäle abweichen, die von dem primären IC 120 unterstützt werden. Beispielsweise kann der primäre IC 120 vier Downstream-Kanäle und zwei Upstream-Kanäle unterstützen, während der sekundäre IC 125 drei Downstream-Kanäle und drei Upstream-Kanäle unterstützen kann. In diesen und anderen Ausführungsformen kann die Anzahl der Kanäle, die entweder vom primären IC 120 und/oder vom sekundären IC 125 unterstützt werden, mit dem Silizium zusammenhängen, auf dem der IC angeordnet ist.
  • In einigen Ausführungsformen kann der erste sekundäre Datenpfad 150 so ausgebildet sein, dass er eine Anzahl von Kanälen unterstützt, die gleich der Anzahl von Kanälen ist, für die der sekundäre IC 125 ausgebildet sein kann. Beispielsweise kann in Fällen, in denen der sekundäre IC 125 so ausgebildet ist, dass er Datenpakete über vier Downstream-Kanäle unterstützt, der erste sekundäre Datenpfad 150 so ausgebildet sein, dass er Datenpakete über mindestens vier Downstream-Kanäle unterstützt.
  • In einigen Ausführungsformen kann der sekundäre IC 125 so ausgebildet sein, dass er eine jeweilige Sequenznummer erhält, die mit jedem vom sekundären IC 125 empfangenen Datenpaket verknüpft ist, wie z. B. ein zweiter Satz von Sequenznummern, der mit der zweiten Teilmenge der Datenpakete verknüpft ist. In Fällen, in denen der sekundäre IC 125 das zweite, fünfte und sechste Datenpaket vom CMTS 105 empfängt, kann der sekundäre IC 125 beispielsweise eine zweite, fünfte bzw. sechste Sequenznummer erhalten, die mit der empfangenen zweiten Teilmenge der Datenpakete verbunden ist.
  • In einigen Ausführungsformen kann der sekundäre IC 125 so ausgebildet sein, dass er den zweiten Satz von Sequenznummern an den primären IC 120 überträgt, beispielsweise über den Steuerpfad 165, wie hier beschrieben. In einigen Ausführungsformen kann der sekundäre IC 125 eine Umordnungsfunktionalität haben, die deaktiviert ist, so dass der sekundäre IC 125 die mit dem zweiten Satz von Sequenznummern verbundene sequenzielle Reihenfolge nicht bestimmen mag. In solchen Fällen kann der sekundäre IC 125 so ausgebildet sein, dass er den zweiten Satz von Sequenznummern an den primären IC 120 überträgt, wo die sequenzielle Reihenfolge der Datenpakete bestimmt werden kann. In zumindest einigen Ausführungsformen kann das Datenpaket-Sequenzmanagement für den sekundären IC 125 transparent sein, so dass der sekundäre IC 125 nicht weiß, dass der primäre IC 120 das Datenpaket-Sequenzmanagement durchführt.
  • In einigen Ausführungsformen kann eine dem sekundären IC 125 zugeordnete Resequenzierungskomponente an den primären IC 120 umgeleitet werden. Beispielsweise kann eine Basisadresse, die mit der Resequenzierungskomponente des sekundären IC 125 verbunden ist, so umgeleitet werden, dass sie mit dem primären IC 120 verbunden ist, so dass der sekundäre IC 125 Resequenzierungsbefehle ausgeben kann, die vom primären IC 120 und nicht vom Puffer empfangen werden mögen (z. B. kann der sekundäre IC 125 versuchen, den Puffer auf der Grundlage des zweiten Satzes von Sequenznummern freizugeben, mag aber stattdessen den zweiten Satz von Sequenznummern an den primären IC 120 übertragen).
  • In einigen Ausführungsformen kann der sekundäre IC 125 bewirken, dass empfangene Datenpakete vom CMTS 105 in einem Puffer gespeichert werden. In einigen Ausführungsformen kann der Puffer mit dem sekundären IC 125, der Netzwerkverarbeitungsvorrichtung 130 und/oder dem Datenspeicher 135 verbunden sein. In Fällen, in denen der Puffer von dem sekundären IC 125 entfernt ist, können die von dem sekundären IC 125 empfangenen Datenpakete von dem sekundären IC 125 über den zweiten sekundären Datenpfad 160 übertragen werden. Der zweite sekundäre Datenpfad 160 kann mit einer dritten sekundären Kommunikationsschnittstelle des sekundären IC 125 verbunden sein. Der zweite sekundäre Datenpfad 160 kann dem ersten sekundären Datenpfad 150 ähnlich sein, so dass der zweite sekundäre Datenpfad 160 so ausgebildet sein kann, dass er eine Anzahl von Kanälen unterstützt, die gleich der Anzahl von Kanälen ist, für die der sekundäre IC 125 ausgebildet sein kann. Zusätzliche Details im Zusammenhang mit dem Puffer und der Speicherung von Datenpaketen darin mögen in Bezug auf 2 weiter erörtert werden. In diesen und anderen Ausführungsformen kann die dritte sekundäre Kommunikationsschnittstelle über eine Hochgeschwindigkeitsverbindung, z. B. PCIe, mit der Netzwerkverarbeitungsvorrichtung 130 verbunden sein. So kann der zweite sekundäre Datenpfad 160 beispielsweise einen PCIe-Bus der Generation 3 umfassen.
  • In einigen Ausführungsformen kann die Netzwerkverarbeitungsvorrichtung 130 ein System auf einem Chip, einen Prozessor, einen IC usw. umfassen. In einigen Ausführungsformen kann die Netzwerkverarbeitungsvorrichtung 130 so ausgebildet sein, dass sie mit einem oder mehreren Standards arbeitet, die mit der Datenübertragung verbunden sind, wie DOCSIS 3.1, DOCSIS 4.0, usw. Zum Beispiel kann die Netzwerkverarbeitungsvorrichtung 130 so ausgebildet sein, dass sie sowohl mit DOCSIS 3.1 als auch mit DOCSIS 4.0 kompatibel ist.
  • In einigen Ausführungsformen kann die Netzwerkverarbeitungsvorrichtung 130 so ausgebildet sein, dass sie Datenpakete empfängt und/oder verarbeitet, die über mehrere Kanäle übertragen werden können. Zum Beispiel kann der primäre IC 120 so ausgebildet sein, dass er Datenpakete über erste fünf Kanäle empfängt, und der sekundäre IC 125 kann so ausgebildet sein, dass er Datenpakete über zweite fünf Kanäle empfängt, und die Netzwerkverarbeitungsvorrichtung 130 kann so ausgebildet sein, dass sie die Datenpakete verarbeitet, die sowohl dem primären IC 120 als auch dem sekundären IC 125 zugeordnet sind. In diesen und anderen Ausführungsformen kann die Netzwerkverarbeitungsvorrichtung so ausgebildet sein, dass sie mehrere „gebondete“ Kanäle verarbeitet.
  • In einigen Ausführungsformen kann der Datenspeicher 135 eine beliebige Datenspeicherstruktur oder -vorrichtung umfassen, die zum Speichern von Datenpaketen ausgebildet werden kann. Zum Beispiel kann der Datenspeicher 135 jede Variante eines DDR-Speichers (Double Data Rate) umfassen, wie DDR5-7200, DDR5-5000, DDR4-3200 usw. Alternativ oder zusätzlich kann der Datenspeicher 135 so ausgebildet sein, dass er Datenpakete aus dem Speicher freigibt, wenn er eine Anforderung zur Freigabe eines oder mehrerer Datenpakete erhält. Zusätzliche Details möglicher Anordnungen des Datenspeichers 135 mögen hier in Bezug auf 2 weiter erörtert werden.
  • In einigen Ausführungsformen kann die Kommunikationsvorrichtung 140 so ausgebildet sein, dass sie die aus den verarbeiteten Datenpaketen gewonnenen Daten an ein Benutzergerät übermittelt. Zum Beispiel kann ein Benutzergerät eine Verbindung mit dem CPE 115 und/oder der Kommunikationsvorrichtung 140 herstellen und die aus den verarbeiteten Datenpaketen gewonnenen Daten empfangen. In einigen Ausführungsformen kann die Kommunikationsvorrichtung 140 ein kabelgebundenes Gerät und/oder eine kabelgebundene Schnittstelle, wie z. B. ein lokales Netzwerk (LAN), umfassen. Alternativ oder zusätzlich kann die Kommunikationsvorrichtung 140 ein drahtloses Gerät und/oder eine drahtlose Schnittstelle, wie z. B. ein drahtloses lokales Netzwerk (WAN), enthalten.
  • An dem System 100 können Änderungen, Ergänzungen oder Auslassungen vorgenommen werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengen würde. In einigen Ausführungsformen kann das CPE 115 beispielsweise einen oder mehrere zusätzliche integrierte Schaltkreise enthalten, die so ausgebildet sein können, dass sie eine Teilmenge der Datenpakete vom CMTS 105 empfangen. Beispielsweise kann ein tertiärer IC ähnlich wie der sekundäre IC 125 arbeiten, so dass der tertiäre IC eine dritte Teilmenge der Datenpakete empfangen, die dritte Teilmenge der Datenpakete in einem Puffer speichern und einen dritten Satz von Sequenznummern an den primären IC 120 zur Neuordnung übertragen kann, um die mit den Datenpaketen verbundene Sequenznummer zu erhalten.
  • Alternativ oder zusätzlich kann das System 100 in einigen Ausführungsformen eine beliebige Anzahl anderer Blöcke enthalten, die nicht ausdrücklich dargestellt oder beschrieben werden.
  • 2 zeigt ein Blockdiagramm eines anderen Beispielsystems 200 für Multi-Channel Bonding gemäß mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform. Das System 200 kann einen primären IC 205, einen sekundären IC 215, eine Netzwerkverarbeitungsvorrichtung 225 und einen vierten Speicher 235 umfassen. Der primäre IC 205 kann einen ersten Speicher 210, der sekundäre IC 215 einen zweiten Speicher 220 und die Netzwerkverarbeitungsvorrichtung 225 einen dritten Speicher 230 umfassen.
  • In einigen Ausführungsformen können der primäre IC 205, der sekundäre IC 215 und die Netzwerkverarbeitungsvorrichtung 225 gleich oder ähnlich wie der primäre IC 120, der sekundäre IC 125 bzw. die Netzwerkverarbeitungsvorrichtung 130 von 1 sein und/oder so ausgebildet sein, dass sie die gleichen oder ähnlichen Funktionen wie der primäre IC 120, der sekundäre IC 125 und die Netzwerkverarbeitungsvorrichtung 130 von 1 ausführen.
  • In einigen Ausführungsformen kann der primäre IC 205 als Reaktion auf den Empfang eines ersten Satzes von Datenpaketen so ausgebildet sein, dass er den ersten Satz von Datenpaketen in dem ersten Speicher 210 speichert. Alternativ oder zusätzlich kann der primäre IC 205 so ausgebildet sein, dass er den ersten Satz von Datenpaketen im dritten Speicher 230 speichert, beispielsweise durch Übertragen des ersten Satzes von Datenpaketen an die Netzwerkverarbeitungsvorrichtung 225 und Anweisen der Netzwerkverarbeitungsvorrichtung 225, den ersten Satz von Datenpaketen im dritten Speicher 230 zu speichern. Alternativ oder zusätzlich kann der primäre IC 205 so ausgebildet sein, dass er den ersten Satz von Datenpaketen im vierten Speicher 235 speichert, wobei der vierte Speicher 235 entweder von dem primären IC 205 und/oder der Netzwerkverarbeitungsvorrichtung 225 oder von beiden entfernt sein kann.
  • Ähnlich wie bei den Vorgängen des primären IC 205 kann der sekundäre IC 215 in einigen Ausführungsformen als Reaktion auf den Empfang eines zweiten Satzes von Datenpaketen so ausgebildet sein, dass er den zweiten Satz von Datenpaketen in dem zweiten Speicher 220 speichert. Alternativ oder zusätzlich kann der sekundäre IC 215 so ausgebildet sein, dass er den zweiten Satz von Datenpaketen in dem dritten Speicher 230 speichert, beispielsweise durch Übertragen des zweiten Satzes von Datenpaketen an die Netzwerkverarbeitungsvorrichtung 225 und Anweisen der Netzwerkverarbeitungsvorrichtung 225, den zweiten Satz von Datenpaketen in dem dritten Speicher 230 zu speichern. Alternativ oder zusätzlich kann der sekundäre IC 215 so ausgebildet sein, dass er den zweiten Satz von Datenpaketen im vierten Speicher 235 speichert, wobei der vierte Speicher 235 entweder von dem sekundären IC 215 und/oder der Netzwerkverarbeitungsvorrichtung 225 oder von beiden entfernt sein kann.
  • In diesen und anderen Ausführungsformen können die Datenpakete (z. B. die erste Menge von Datenpaketen und die zweite Menge von Datenpaketen) wie hier beschrieben an einem Speicherort gespeichert werden. Alternativ oder zusätzlich können die Datenpakete auch in einem verteilten Ansatz gespeichert werden. Beispielsweise kann die erste Menge von Datenpaketen teilweise im ersten Speicher 210, im dritten Speicher 230 und im vierten Speicher 235 und/oder einer beliebigen Kombination aus dem ersten Speicher 210, dem dritten Speicher 230 und dem vierten Speicher 235 gespeichert werden.
  • An dem System 200 können Änderungen, Ergänzungen oder Auslassungen vorgenommen werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengen würde. In einigen Ausführungsformen kann das System 200 beispielsweise eine beliebige Anzahl anderer Blöcke enthalten, die nicht ausdrücklich dargestellt oder beschrieben sind.
  • 3 zeigt beispielhafte Vorgänge 300 im Zusammenhang mit der Mehrkanalbündelung gemäß mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform. In dem dargestellten Beispiel können die Vorgänge 300 zwischen einer Datenquelle 305, einem primären IC 310, einem sekundären IC 315, einem Speicher 320 und einer Verarbeitungsvorrichtung 325 stattfinden. In einigen Ausführungsformen können die Datenquelle 305, der primäre IC 310, der sekundäre IC 315, der Speicher 320 und die Verarbeitungsvorrichtung 325 gleich oder ähnlich wie das CMTS 105, der primäre IC 120, der sekundäre IC 125, der Datenspeicher 135 bzw. die Netzwerkverarbeitungsvorrichtung 130 von 1 sein. Alternativ oder zusätzlich können die Vorgänge 300 ein Beispiel für den Betrieb der Elemente des Systems 100 von 1 sein.
  • Die Vorgänge 300 können sich auf die Verarbeitung von Datenpaketen gemäß einer den Datenpaketen zugeordneten Reihenfolge beziehen, die sich von einer Reihenfolge unterscheiden kann, in der die Datenpakete empfangen werden. In diesen und anderen Ausführungsformen können die Vorgänge 300 eine Datenquelle umfassen, die Datenpakete an einen oder mehrere ICs überträgt, die eine den Datenpaketen zugeordnete Reihenfolge für die zusätzliche Verarbeitung durch eine andere Vorrichtung speichern und aufrechterhalten können. Die dargestellten Vorgänge 300 sind nicht erschöpfend, sondern lediglich repräsentativ für mögliche Vorgänge 300. Darüber hinaus kann ein dargestellter Vorgang eine oder mehrere Kommunikationen, Operationen und/oder Datenaustauschvorgänge darstellen.
  • Bei Vorgang 330 kann die Datenquelle 305 ein Datenpaket, wie das vierte Datenpaket, an den primären IC 310 übertragen. Das vierte Datenpaket kann mit einem oder mehreren anderen Paketen verknüpft sein, wobei jedes der Datenpakete eine sequentielle Reihenfolge aufweisen kann, wobei die sequentielle Reihenfolge relativ zu einem oder mehreren anderen Datenpaketen ist. Beispielsweise kann das vierte Datenpaket nach dem dritten Datenpaket angeordnet sein, das wiederum nach dem zweiten Datenpaket angeordnet sein kann, und so weiter.
  • Bei Vorgang 332 kann der primäre IC 310 veranlassen, dass das vierte Datenpaket im Speicher 320 gespeichert wird. In einigen Ausführungsformen kann der Speicher 320 einen Ort umfassen oder der Speicher 320 kann einen verteilten Ansatz umfassen, so dass der Speicher 320 mehr als einen Ort umfassen kann. Zusätzliche Details, die mit dem Speicher 320 und der Speicherung von Datenpaketen darin verbunden sind, können im Zusammenhang mit der Beschreibung von 2 weiter erörtert werden.
  • Bei Vorgang 334 kann der primäre IC 310 die vierte Sequenznummer speichern. Die vierte Sequenznummer kann mit dem vierten Datenpaket verknüpft sein, was die sequenzielle Reihenfolge des vierten Datenpakets indizieren kann. In einigen Ausführungsformen kann die vierte Sequenznummer als ein Teil des vierten Datenpakets enthalten sein. Beispielsweise kann eine Spezifikation, die mit einem Standard für die Übertragung der Datenpakete verbunden ist (z.B. DOCSIS 4.0), einen Teil eines Datenpakets anweisen, eine mit dem Datenpaket verbundene sequenzielle Reihenfolge zu enthalten. In einigen Ausführungsformen kann die Datenquelle 305 die sequenzielle Reihenfolge (z. B. die vierte Sequenznummer) in das vierte Datenpaket aufnehmen.
  • Bei Vorgang 336 kann die Datenquelle 305 das dritte Datenpaket an den sekundäre IC 315 übertragen.
  • Bei Vorgang 338 kann der sekundäre IC 315 veranlassen, dass das dritte Datenpaket im Speicher 320 gespeichert wird. In einigen Ausführungsformen kann der sekundäre IC 315 veranlassen, dass Datenpakete an einem Speicherplatz gespeichert werden, der der gleiche sein kann wie der des primären IC 310. Alternativ oder zusätzlich kann der sekundäre IC 315 bewirken, dass Datenpakete an einem Speicherplatz gespeichert werden, der sich vom primären IC 310 unterscheidet.
  • Bei Vorgang 340 kann der sekundäre IC 315 die dritte Sequenznummer an den primären IC 310 übertragen. In einigen Ausführungsformen kann der primäre IC 310 so ausgebildet sein, dass er eine Reihenfolge der Sequenznummern beibehält, die mit Datenpaketen verbunden sind, die von der Datenquelle 305 empfangen wurden. Beispielsweise umfassen die Vorgänge 334 und 340 die vierte Sequenznummer bzw. die dritte Sequenznummer, die außerhalb der sequentiellen Reihenfolge empfangen werden können. In solchen Fällen kann der primäre IC 310 so ausgebildet sein, dass er die Sequenznummern in Bezug auf die mit den Datenpaketen verbundene sequenzielle Reihenfolge anordnet und nicht in der Reihenfolge, in der die Datenpakete empfangen werden können.
  • Im Vorgang 342 kann die Datenquelle 305 das erste Datenpaket an den sekundären IC 315 übertragen.
  • Bei dem Vorgang 344 kann der sekundäre IC 315 veranlassen, dass das erste Datenpaket im Speicher 320 gespeichert wird.
  • Bei Vorgang 346 kann der sekundäre IC 315 die erste Sequenznummer an den primären IC 310 übertragen.
  • Bei Vorgang 348 kann der primäre IC 310 feststellen, dass die erste Sequenznummer, die dem ersten Datenpaket zugeordnet ist, die erste in der sequenziellen Reihenfolge ist. Alternativ oder zusätzlich kann der primäre IC 310 feststellen, dass das erste Datenpaket das Datenpaket ist, das zuerst freigegeben werden soll. Als Reaktion auf die Feststellung, dass das erste Datenpaket das erste freizugebende ist, kann der primäre IC 310 den Speicher 320 veranlassen, das erste Datenpaket an die Verarbeitungsvorrichtung 325 freizugeben.
  • Bei Vorgang 350 kann der Speicher 320 das erste Datenpaket an die Verarbeitungsvorrichtung 325 freigeben. In einigen Ausführungsformen kann der Speicher 320, der ein Datenpaket freigibt, das Übertragen des Datenpakets an die Verarbeitungsvorrichtung 325 beinhalten. Alternativ oder zusätzlich kann in Fällen, in denen der Speicher 320 mit der Verarbeitungsvorrichtung 325 verbunden ist, der Speicher 320, der ein Datenpaket freigibt, beinhalten, dass die Verarbeitungsvorrichtung 325 das Datenpaket aus dem Speicher 320 abruft.
  • Bei Vorgang 352 kann die Datenquelle 305 das zweite Datenpaket an den primären IC 310 übertragen.
  • Bei Vorgang 354 kann der primäre IC 310 veranlassen, dass das zweite Datenpaket im Speicher 320 gespeichert wird.
  • Bei Vorgang 356 kann der primäre IC 310 die vierte Sequenznummer speichern.
  • Bei Vorgang 358 kann der primäre IC 310 feststellen, dass die zweite Sequenznummer, die dem zweiten Datenpaket zugeordnet ist, die nächste in der sequenziellen Reihenfolge ist (z.B. nach dem ersten Datenpaket). Als Reaktion auf die Feststellung, dass das zweite Datenpaket das nächste freizugebende ist, kann der primäre IC 310 den Speicher 320 veranlassen, das zweite Datenpaket an die Verarbeitungsvorrichtung 325 freizugeben.
  • Bei Vorgang 360 kann der Speicher 320 das zweite Datenpaket an die Verarbeitungsvorrichtung 325 freigeben.
  • Bei Vorgang 362 kann der primäre IC 310 feststellen, dass die dritte Sequenznummer, die dem dritten Datenpaket zugeordnet ist, die nächste in der sequenziellen Reihenfolge ist (z.B. nach dem zweiten Datenpaket). Als Reaktion auf die Feststellung, dass das dritte Datenpaket das nächste freizugebende ist, kann der primäre IC 310 den Speicher 320 veranlassen, das dritte Datenpaket an die Verarbeitungsvorrichtung 325 freizugeben.
  • Bei Vorgang 364 kann der Speicher 320 das dritte Datenpaket an die Verarbeitungsvorrichtung 325 freigeben.
  • Bei Vorgang 366 kann der primäre IC 310 feststellen, dass die vierte Sequenznummer, die dem vierten Datenpaket zugeordnet ist, die nächste in der sequenziellen Reihenfolge ist (z.B. nach dem dritten Datenpaket). Als Reaktion auf die Feststellung, dass das vierte Datenpaket das nächste freizugebende ist, kann der primäre IC 310 den Speicher 320 veranlassen, das vierte Datenpaket an die Verarbeitungsvorrichtung 325 freizugeben.
  • Bei Vorgang 368 kann der Speicher 320 das vierte Datenpaket an die Verarbeitungsvorrichtung 325 freigeben.
  • An den Vorgängen 300 können Änderungen, Ergänzungen oder Auslassungen vorgenommen werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengen würde. Zum Beispiel können in einigen Ausführungsformen einer oder mehrere von den Vorgängen 300 in einer anderen Reihenfolge als dargestellt ablaufen. Zum Beispiel kann das erste Paket, das mit dem Vorgang 342 verbunden ist, vor dem dritten Paket, das mit dem Vorgang 336 verbunden ist, empfangen werden. Alternativ oder zusätzlich können in einigen Ausführungsformen ein oder mehrere der Vorgänge 300 so ausgebildet sein, dass sie gleichzeitig ablaufen. Beispielsweise kann der primäre IC 310 das zweite Paket, das mit dem Vorgang 352 verbunden ist, im Wesentlichen zur gleichen Zeit empfangen, zu der der primäre IC 310 feststellt, dass das erste Datenpaket das erste ist, das mit dem Vorgang 348 freigegeben wird.
  • 4 zeigt ein Flussdiagramm eines Beispielverfahrens 400 für die Mehrkanalbündelung in Übereinstimmung mit mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform.
  • Das Verfahren 400 kann von einer Verarbeitungslogik durchgeführt werden, die Hardware (Schaltkreise, spezielle Logik usw.), Software (wie sie auf einem Computersystem oder einer speziellen Maschine ausgeführt wird) oder eine Kombination aus beidem umfassen kann, wobei die Verarbeitungslogik in dem primären IC 120 von 1, dem Computersystem 600 von 6 oder einem anderen Gerät, einer Kombination von Geräten oder Systemen enthalten sein kann.
  • Der Einfachheit halber werden die hier beschriebenen Verfahren als eine Reihe von Handlungen dargestellt und beschrieben. Die Handlungen gemäß dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig und mit anderen, hier nicht dargestellten und beschriebenen Handlungen erfolgen. Ferner mögen nicht alle dargestellten Handlungen zur Durchführung der Verfahren gemäß dem offengelegten Gegenstand verwendet werden. Darüber hinaus wird der Fachmann verstehen und anerkennen, dass die Verfahren alternativ als eine Reihe von miteinander verbundenen Zuständen über ein Zustandsdiagramm oder Ereignisse dargestellt werden können. Darüber hinaus können die in dieser Beschreibung offengelegten Verfahren auf einem Herstellungsgegenstand, wie z. B. einem nicht transitorischen computerlesbaren Medium, gespeichert werden, um den Transport und die Übertragung solcher Verfahren auf Computergeräte zu erleichtern. Der Begriff Herstellungsgegenstand, wie er hier verwendet wird, soll ein Computerprogramm umfassen, auf das von einem beliebigen computerlesbaren Gerät oder Speichermedium zugegriffen werden kann. Obwohl als einzelne Blöcke dargestellt, können verschiedene Blöcke in zusätzliche Blöcke aufgeteilt, zu weniger Blöcken kombiniert oder eliminiert werden, je nach gewünschter Implementierung.
  • Das Verfahren 400 kann mit Block 402 beginnen, wo die Verarbeitungslogik Datenpakete über eine Reihe von Kanälen empfangen kann. In einigen Ausführungsformen kann jedes Paket der Datenpakete mit einem ersten Satz von Sequenznummern verbunden sein. In einigen Ausführungsformen kann der erste Satz von Sequenznummern eine erste sequenzielle Reihenfolge enthalten. In einigen Ausführungsformen kann die erste sequenzielle Reihenfolge von einer Datenquelle zugewiesen werden, die mit den Datenpaketen verbunden ist.
  • In Block 404 kann die Verarbeitungslogik einen zweiten Satz von Sequenznummern von einem ersten kommunikativ gekoppelten Gerät empfangen. In einigen Ausführungsformen kann der zweite Satz von Sequenznummern mit zweiten Datenpaketen verbunden sein, die über einen zweiten Satz von Kanälen empfangen werden können. In einigen Ausführungsformen kann der zweite Satz von Sequenznummern eine zweite sequenzielle Reihenfolge enthalten. In einigen Ausführungsformen kann die zweite sequentielle Reihenfolge von der Datenquelle zugewiesen werden, die mit den Datenpaketen verbunden ist.
  • In Block 406 kann die Verarbeitungslogik die Datenpakete an ein zweites kommunikativ gekoppeltes Gerät übertragen.
  • In Block 408 kann die Verarbeitungslogik veranlassen, dass ein Puffer auf der Grundlage des ersten Satzes von Sequenznummern und des zweiten Satzes von Sequenznummern freigegeben wird. In einigen Ausführungsformen kann der Puffer mit dem zweiten kommunikativ gekoppelten Gerät verbunden sein. In einigen Ausführungsformen kann der Puffer auf der Grundlage einer sequentiellen Reihenfolge freigegeben werden, wobei die sequentielle Reihenfolge eine Kombination aus der ersten sequentiellen Reihenfolge und der zweiten sequentiellen Reihenfolge umfassen kann.
  • An dem Verfahren 400 können Änderungen, Ergänzungen oder Auslassungen vorgenommen werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengen würde. In einigen Ausführungsformen kann das Verfahren 400 beispielsweise eine beliebige Anzahl anderer Blöcke umfassen, die nicht ausdrücklich dargestellt oder beschrieben sind.
  • 5 zeigt ein Flussdiagramm eines beispielhaften Verfahrens 500 für die Mehrkanalbündelung in Übereinstimmung mit mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform.
  • Das Verfahren 500 kann von einer Verarbeitungslogik durchgeführt werden, die Hardware (Schaltkreise, spezielle Logik usw.), Software (wie sie auf einem Computersystem oder einer speziellen Maschine ausgeführt wird) oder eine Kombination aus beidem umfassen kann, wobei die Verarbeitungslogik in dem sekundären IC 125 von 1, dem Computersystem 600 von 6 oder einem anderen Gerät, einer Kombination von Geräten oder Systemen enthalten sein kann.
  • Der Einfachheit halber werden die hier beschriebenen Verfahren als eine Reihe von Handlungen dargestellt und beschrieben. Die Handlungen gemäß dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig und mit anderen, hier nicht dargestellten und beschriebenen Handlungen erfolgen. Ferner können nicht alle dargestellten Handlungen zur Durchführung der Verfahren gemäß dem offengelegten Gegenstand verwendet werden. Darüber hinaus wird der Fachmann verstehen und anerkennen, dass die Verfahren alternativ als eine Reihe von miteinander verbundenen Zuständen über ein Zustandsdiagramm oder Ereignisse dargestellt werden können. Darüber hinaus können die in dieser Beschreibung offengelegten Verfahren auf einem Herstellungsgegenstand, wie z. B. einem nicht transitorischen computerlesbaren Medium, gespeichert werden, um den Transport und die Übertragung solcher Verfahren auf Computergeräte zu erleichtern. Der Begriff Herstellungsgegenstand, wie er hier verwendet wird, soll ein Computerprogramm umfassen, auf das von einem beliebigen computerlesbaren Gerät oder Speichermedium zugegriffen werden kann. Obwohl als einzelne Blöcke dargestellt, können verschiedene Blöcke in zusätzliche Blöcke aufgeteilt, zu weniger Blöcken kombiniert oder eliminiert werden, je nach gewünschter Implementierung.
  • Das Verfahren 500 kann in Block 502 beginnen, wo die Verarbeitungslogik Datenpakete über eine Reihe von Kanälen empfangen kann. In einigen Ausführungsformen kann jedes Datenpaket mit einem Satz von Sequenznummern verknüpft sein. In einigen Ausführungsformen kann der Satz von Sequenznummern eine sequenzielle Reihenfolge enthalten. In einigen Ausführungsformen kann die sequenzielle Reihenfolge von einer Datenquelle zugewiesen werden, die mit den Datenpaketen verbunden ist.
  • In Block 504 kann die Verarbeitungslogik den Satz von Sequenznummern an ein erstes kommunikativ gekoppeltes Gerät übertragen.
  • In Block 506 kann die Verarbeitungslogik die Datenpakete an ein zweites kommunikativ gekoppeltes Gerät übertragen.
  • An dem Verfahren 500 können Änderungen, Ergänzungen oder Auslassungen vorgenommen werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengen würde. In einigen Ausführungsformen kann das Verfahren 500 beispielsweise eine beliebige Anzahl anderer Blöcke umfassen, die nicht explizit dargestellt oder beschrieben werden.
  • 6 zeigt ein Beispiel für ein Computersystem 600, das für das Multikanal-Bonding gemäß mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform verwendet werden kann. Das Computersystem 600 kann so ausgebildet sein, dass es einen oder mehrere Vorgänge im Zusammenhang mit der Mehrkanalbündelung implementiert oder steuert, was den primären IC 120, den sekundären IC 125 und/oder die Netzwerkverarbeitungsvorrichtung 130 von 1 umfassen kann. Das Computersystem 600 kann einen Prozessor 602, einen Speicher 604, einen Datenspeicher 606 und eine Kommunikationseinheit 608 umfassen, die alle kommunikativ gekoppelt sein können. In einigen Ausführungsformen kann das Computersystem 600 Teil eines beliebigen der in dieser Offenbarung beschriebenen Systeme oder Geräte sein.
  • Beispielsweise kann das Computersystem 600 Teil des primären IC 120, dem sekundären IC 125 und/oder der Netzwerkverarbeitungsvorrichtung 130 von 1 sein und kann so ausgebildet sein, dass es eine oder mehrere der oben beschriebenen Aufgaben in Bezug auf den primären IC 120, den sekundären IC 125 und/oder die Netzwerkverarbeitungsvorrichtung 130 ausführt.
  • Der Prozessor 602 kann eine beliebige Recheneinheit oder ein Verarbeitungsgerät mit verschiedenen Computerhardware- oder Softwaremodulen umfassen und so ausgebildet sein, dass er Anweisungen ausführt, die auf einem beliebigen computerlesbaren Speichermedium gespeichert sind. Der Prozessor 602 kann beispielsweise einen Mikroprozessor, einen Mikrocontroller, einen Parallelprozessor wie eine Grafikverarbeitungseinheit (GPU) oder eine Tensorverarbeitungseinheit (TPU), einen digitalen Signalprozessor (DSP), ein anwendungsspezifischer integrierter Schaltkreis (ASIC), ein Field-Programmable Gate Array (FPGA) oder eine andere digitale oder analoge Schaltung umfassen, die so ausgebildet ist, dass sie Programmanweisungen interpretiert und/oder ausführt und/oder Daten verarbeitet.
  • Obwohl in 6 ein einziger Prozessor dargestellt ist, kann der Prozessor 602 eine beliebige Anzahl von Prozessoren umfassen, die über eine beliebige Anzahl von Netzwerken oder physischen Standorten verteilt sind und so ausgebildet sind, dass sie einzeln oder gemeinsam eine beliebige Anzahl von hierin beschriebenen Vorgängen durchführen.
  • In einigen Ausführungsformen kann der Prozessor 602 so ausgebildet sein, dass er Programmanweisungen interpretiert und/oder ausführt und/oder Daten verarbeitet, die in dem Speicher 604, dem Datenspeicher 606 oder dem Speicher 604 und dem Datenspeicher 606 gespeichert sind. In einigen Ausführungsformen kann der Prozessor 602 Programmanweisungen aus dem Datenspeicher 606 abrufen und die Programmanweisungen in den Speicher 604 laden. Nachdem die Programmanweisungen in den Speicher 604 geladen sind, kann der Prozessor 602 die Programmanweisungen ausführen.
  • In einigen Ausführungsformen kann der Prozessor 602 beispielsweise so ausgebildet sein, dass er Programmanweisungen interpretiert und/oder ausführt und/oder Daten verarbeitet, die in dem Speicher 604, dem Datenspeicher 606 oder dem Speicher 604 und dem Datenspeicher 606 gespeichert sind. Die Programmanweisungen und/oder Daten können sich auf die Mehrkanalbündelung beziehen, so dass das Computersystem 600 die Durchführung der damit verbundenen Vorgänge gemäß den Anweisungen durchführen oder steuern kann. In diesen und anderen Ausführungsformen können die Anweisungen verwendet werden, um die Vorgänge 300 von 3, das Verfahren 400 von 4 und/oder das Verfahren 500 von 5 durchzuführen.
  • Der Speicher 604 und der Datenspeicher 606 können computerlesbare Speichermedien oder ein oder mehrere computerlesbare Speichermedien umfassen, auf denen computerausführbare Befehle oder Datenstrukturen gespeichert sind oder werden. Bei solchen computerlesbaren Speichermedien kann es sich um jedes verfügbare Medium handeln, auf das ein Computer, wie der Prozessor 602, zugreifen kann.
  • Solche computerlesbaren Speichermedien können beispielsweise nichttransitorische computerlesbare Speichermedien sein, einschließlich Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, Flash-Speichervorrichtungen (z. B., Flash-Speicher (z. B. Festkörperspeicher) oder jedes andere Speichermedium, das dazu verwendet werden kann, bestimmten Programmcode in Form von computerausführbaren Befehlen oder Datenstrukturen zu tragen oder zu speichern, und auf das ein Computer zugreifen kann. Auch Kombinationen der oben genannten Medien können in den Anwendungsbereich der computerlesbaren Speichermedien fallen.
  • Computerausführbare Befehle können beispielsweise Befehle und Daten enthalten, die so ausgebildet sind, dass sie den Prozessor 602 veranlassen, einen bestimmten Vorgang oder einen Satz von Vorgängen, wie in dieser Offenbarung beschrieben, durchzuführen. In diesen und anderen Ausführungsformen sollte der Begriff „nicht transitorisch“, wie er in der vorliegenden Offenbarung erläutert wird, so ausgelegt werden, dass er nur die Arten von transitorischen Medien ausschließt, die in der Entscheidung des Federal Circuit in der Sache In re Nuijten, 500 F.3d 1346 (Fed. Circ. 2007) als außerhalb des Anwendungsbereichs des patentierbaren Gegenstandes liegend befunden wurden. Auch Kombinationen der oben genannten Arten können in den Anwendungsbereich der computerlesbaren Medien fallen.
  • Die Kommunikationseinheit 608 kann eine beliebige Komponente, eine Vorrichtung, ein System oder eine Kombination davon umfassen, die zum Senden oder Empfangen von Informationen über ein Netzwerk ausgebildet ist. In einigen Ausführungsformen kann die Kommunikationseinheit 608 mit anderen Geräten an anderen Standorten, am selben Standort oder sogar mit anderen Komponenten innerhalb desselben Systems kommunizieren. Zum Beispiel kann die Kommunikationseinheit 608 ein Modem, eine Netzwerkkarte (drahtlos oder verkabelt), eine Infrarot-Kommunikationsvorrichtung, eine drahtlose Kommunikationsvorrichtung (wie eine Antenne, die 4G (LTE), 4.5G (LTE-A) und/oder 5G (mmWave) Telekommunikation implementiert) und/oder einen Chipsatz (wie eine Bluetooth® Vorrichtung (z.B., Bluetooth 5 (Bluetooth Low Energy)), ein 802.6-Gerät (z. B. Metropolitan Area Network (MAN)), ein Wi-Fi-Gerät (z. B. IEEE 802.11ax, ein WiMax-Gerät, zellulare Kommunikationseinrichtungen usw.) und/oder dergleichen umfassen. Die Kommunikationseinheit 608 kann den Austausch von Daten mit einem Netzwerk und/oder anderen in der vorliegenden Offenbarung beschriebenen Geräten oder Systemen ermöglichen. Wenn das Computersystem 600 beispielsweise in dem primären IC 120 von 1 enthalten ist, kann die Kommunikationseinheit 608 dem primären IC 120 ermöglichen, mit dem sekundären IC 125 und/oder der Netzwerkverarbeitungsvorrichtung 130 von 1 zu kommunizieren.
  • An dem Computersystem 600 können Änderungen, Ergänzungen oder Auslassungen vorgenommen werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengen würde. Zum Beispiel kann das Computersystem 600 in einigen Ausführungsformen eine beliebige Anzahl anderer Komponenten enthalten, die nicht explizit dargestellt oder beschrieben sind. Darüber hinaus mag das Computersystem 600 je nach Ausführungsform eine oder mehrere der abgebildeten und beschriebenen Komponenten nicht enthalten.
  • Wie oben erwähnt, können die hier beschriebenen Ausführungsformen die Verwendung eines Computersystems (z. B. des Prozessors 602 von 6) mit verschiedenen Computerhardware- oder Softwaremodulen umfassen. Wie bereits erwähnt, können die hier beschriebenen Ausführungsformen mit Hilfe von computerlesbaren Medien (z. B. dem Speicher 604 in 6) implementiert werden, die computerausführbare Anweisungen oder Datenstrukturen enthalten oder darauf gespeichert sind.
  • In einigen Ausführungsformen können die verschiedenen hier beschriebenen Komponenten, Module, Maschinen und Dienste als Objekte oder Prozesse implementiert werden, die auf einem Computersystem ausgeführt werden (z. B. als separate Threads). Während einige der hier beschriebenen Systeme und Verfahren im Allgemeinen als in Software implementiert beschrieben werden (die auf Hardware gespeichert ist und/oder von dieser ausgeführt wird), sind auch spezifische Hardware-Implementierungen oder eine Kombination aus Software- und spezifischen Hardware-Implementierungen möglich und in Betracht zu ziehen.
  • Die hier und insbesondere in den beigefügten Ansprüchen (z. B. in den Hauptteilen der beigefügten Ansprüche) verwendeten Begriffe sind im Allgemeinen als „offene“ Begriffe zu verstehen (z. B. ist der Begriff „einschließlich“ als „einschließlich‟, aber nicht beschränkt auf'' zu verstehen, der Begriff „mit“ als „mit mindestens“, der Begriff „umfasst“ als „umfasst, aber nicht beschränkt auf'' usw.).
  • Wenn eine bestimmte Anzahl von einleitenden Ansprüchen beabsichtigt ist, wird diese Absicht ausdrücklich im Anspruch erwähnt; fehlt eine solche Erwähnung, liegt keine Absicht vor. Zum besseren Verständnis können in den folgenden beigefügten Ansprüchen die einleitenden Ausdrücke „mindestens einer“ und „einer oder mehrere“ verwendet werden, um Anspruchserwähnungen einzuleiten. Die Verwendung solcher Ausdrücke sollte jedoch nicht so ausgelegt werden, dass die Einführung einer Anspruchsaufzählung durch die unbestimmten Artikel „ein“ oder „eine“ einen bestimmten Anspruch, der eine solche eingeführte Anspruchsaufzählung enthält, auf Ausführungsformen beschränkt, die nur eine solche Aufzählung enthalten, selbst wenn derselbe Anspruch die einleitenden Ausdrücke „eine oder mehrere“ oder „mindestens eine“ und unbestimmte Artikel wie „ein“ oder „eine“ enthält (z. B., „ein“ und/oder „eine“ sollten so ausgelegt werden, dass sie „mindestens eine“ oder „eine oder mehrere“ bedeuten); dasselbe gilt für die Verwendung bestimmter Artikel, die zur Einleitung von Ansprüchen verwendet werden.
  • Selbst wenn eine bestimmte Anzahl von eingeführten Ansprüchen ausdrücklich genannt wird, ist diese Angabe so zu verstehen, dass mindestens die genannte Anzahl gemeint ist (z. B. bedeutet die bloße Angabe „zwei Erwähnungen“ ohne weitere Modifikatoren mindestens zwei Erwähnungen oder zwei oder mehr Erwähnungen). In den Fällen, in denen eine Konvention analog zu „mindestens eines von A, B und C usw.“ oder „eines oder mehrere von A, B und C usw.“ verwendet wird, soll diese Konstruktion im Allgemeinen A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen usw. einschließen. So ist beispielsweise die Verwendung des Begriffs „und/oder“ in diesem Sinne zu verstehen.
  • Darüber hinaus sollte jedes disjunktive Wort oder jeder disjunktive Satz, der zwei oder mehr alternative Begriffe enthält, ob in der Beschreibung, den Ansprüchen oder den Zeichnungen, so verstanden werden, dass die Möglichkeit besteht, einen der Begriffe, genau einen der Begriffe oder beide Begriffe einzuschließen. Zum Beispiel sollte die Formulierung „A oder B“ so verstanden werden, dass sie die Möglichkeiten „A“ oder „B“ oder „A und B“ einschließt.
  • Darüber hinaus werden die Begriffe „erster“, „zweiter“, „dritter“ usw. hier nicht unbedingt verwendet, um eine bestimmte Reihenfolge oder Anzahl von Elementen zu bezeichnen. Im Allgemeinen werden die Begriffe „erster“, „zweiter“, „dritter“ usw. zur Unterscheidung zwischen verschiedenen Elementen als generische Bezeichnungen verwendet. Solange nicht nachgewiesen wird, dass die Begriffe „erster“, „zweiter“, „dritter“ usw. eine bestimmte Reihenfolge bezeichnen, sollten diese Begriffe nicht so verstanden werden, dass sie eine bestimmte Reihenfolge bezeichnen. Wenn nicht nachgewiesen wird, dass die Begriffe „erster“, „zweiter“, „dritter“ usw. eine bestimmte Anzahl von Elementen bezeichnen, sollten diese Begriffe auch nicht so verstanden werden, dass sie eine bestimmte Anzahl von Elementen bezeichnen. Zum Beispiel kann ein erstes Widget als eine erste Seite und ein zweites Widget als eine zweite Seite beschrieben werden. Die Verwendung des Begriffs „zweite Seite“ in Bezug auf das zweite Widget kann dazu dienen, diese Seite des zweiten Widgets von der „ersten Seite“ des ersten Widgets zu unterscheiden, und soll nicht bedeuten, dass das zweite Widget zwei Seiten hat.
  • Alle Beispiele und bedingten Ausdrücke, die hier angeführt werden, sind für pädagogische Zwecke gedacht, um dem Leser das Verständnis der Erfindung und der Konzepte, die der Erfinder zur Weiterentwicklung des Standes der Technik beigetragen hat, zu erleichtern, und sind so auszulegen, dass sie keine Beschränkung auf diese speziell angeführten Beispiele und Bedingungen darstellen. Obwohl Ausführungsformen der vorliegenden Offenbarung im Detail beschrieben wurden, ist davon auszugehen, dass die verschiedenen Änderungen, Ersetzungen und Abwandlungen vorgenommen werden können, ohne vom Geist und Umfang der vorliegenden Offenbarung abzuweichen.

Claims (20)

  1. Ein System umfasst: einen primären integrierten Schaltkreis aufweisend: eine erste primäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie eine erste Teilmenge von Datenpaketen über einen ersten Satz von Kanälen empfängt, wobei jedes Paket der Datenpakete mit einer jeweiligen Sequenznummer verbunden ist und jedes Paket der ersten Teilmenge der Datenpakete mit einem ersten Satz von Sequenznummern verbunden ist; eine zweite primäre Kommunikationsschnittstelle, die für den Empfang eines zweiten Satzes von Sequenznummern ausgebildet ist; und eine dritte primäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie veranlasst, dass die erste Teilmenge der Datenpakete in einem Puffer gespeichert wird; und einen sekundären integrierten Schaltkreis aufweisend: eine erste sekundäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie eine zweite Teilmenge der Datenpakete über einen zweiten Satz von Kanälen empfängt, wobei jedes Paket der zweiten Teilmenge der Datenpakete mit dem zweiten Satz von Sequenznummern verbunden ist; eine zweite sekundäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie den zweiten Satz von Sequenznummern über die zweite primäre Kommunikationsschnittstelle an den primären integrierten Schaltkreis überträgt; und eine dritte sekundäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie veranlasst, dass die zweite Teilmenge der Datenpakete in dem Puffer gespeichert wird, wobei die dritte primäre Kommunikationsschnittstelle so ausgebildet ist, dass sie die Freigabe des Puffers auf der Grundlage der jeweiligen Sequenznummer jedes Pakets veranlasst, wobei der Puffer mit der ersten Teilmenge der Datenpakete und der zweiten Teilmenge der Datenpakete verbunden ist.
  2. Das System nach Anspruch 1, das ferner eine Datenquelle umfasst, die über die erste primäre Kommunikationsschnittstelle mit dem primären integrierten Schaltkreis und über die erste sekundäre Kommunikationsschnittstelle mit dem sekundären integrierten Schaltkreis kommunikativ gekoppelt ist.
  3. Das System nach Anspruch 2, wobei die Datenquelle ein Kabelmodem-Abschlusssystem ist.
  4. Das System nach Anspruch 2 oder 3, wobei die jeweilige Sequenznummer, die jedem Paket der Datenpakete zugeordnet ist, eine von der Datenquelle zugewiesene sequentielle Reihenfolge enthält.
  5. Das System nach Anspruch 4, wobei der primäre integrierte Schaltkreis so ausgebildet ist, dass er die Freigabe des Puffers auf der Grundlage der sequentiellen Reihenfolge veranlasst.
  6. Das System nach einem der Ansprüche 1 bis 5, wobei der erste Satz von Sequenznummern sequentiell geordnet ist und der zweite Satz von Sequenznummern sequentiell geordnet ist.
  7. Das System nach Anspruch 6, wobei mindestens eine Sequenznummer aus dem zweiten Satz von Sequenznummern vor mindestens einer Sequenznummer aus dem ersten Satz von Sequenznummern kommt.
  8. Das System nach einem der Ansprüche 1 bis 7, das ferner eine Netzwerkverarbeitungsvorrichtung umfasst, die über die dritte primäre Kommunikationsschnittstelle mit dem primären integrierten Schaltkreis und über die dritte sekundäre Kommunikationsschnittstelle mit dem sekundären integrierten Schaltkreis kommunikativ gekoppelt ist, wobei die Netzwerkverarbeitungsvorrichtung als Reaktion darauf, dass der primäre integrierte Schaltkreis den Puffer veranlasst, ein erstes Datenpaket freizugeben, das erste Datenpaket empfängt.
  9. Das System nach Anspruch 8, das ferner einen Speicher umfasst, der kommunikativ mit der Netzwerkverarbeitungsvorrichtung gekoppelt und so ausgebildet ist, dass er die erste Teilmenge der Datenpakete von dem primären integrierten Schaltkreis und die zweite Teilmenge der Datenpakete von dem sekundären integrierten Schaltkreis empfängt.
  10. Das System nach Anspruch 8 oder 9 umfasst ferner eine Kommunikationsvorrichtung, die kommunikativ mit der Netzwerkverarbeitungsvorrichtung gekoppelt und so ausgebildet ist, dass sie das erste Datenpaket als Reaktion auf den Empfang des ersten Datenpakets von der Netzwerkverarbeitungsvorrichtung sendet.
  11. Das System nach Anspruch 10, wobei der primäre integrierte Schaltkreis, der sekundäre integrierte Schaltkreis und die Netzwerkverarbeitungsvorrichtung in einer ersten Vorrichtung angeordnet sind und die Kommunikationsvorrichtung in einer zweiten Vorrichtung angeordnet ist.
  12. Das System nach einem der Ansprüche 1 bis 11, wobei der erste Satz von Kanälen einen oder mehrere erste upstream gelegene Kanäle und einen oder mehrere erste downstream gelegene Kanäle umfasst, und der zweite Satz von Kanälen einen oder mehrere zweite upstream gelegene Kanäle und einen oder mehrere zweite downstream gelegene Kanäle umfasst.
  13. Das System nach Anspruch 12, wobei die erste Teilmenge von Datenpaketen über die ersten Downstream-Kanäle und die zweite Teilmenge von Datenpaketen über die zweiten Downstream-Kanäle übertragen wird.
  14. Das System nach einem der Ansprüche 1 bis 13, das ferner einen tertiären integrierten Schaltkreis umfasst, der Folgendes aufweist: eine erste tertiäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie eine dritte Teilmenge der Datenpakete über einen dritten Satz von Kanälen empfängt, wobei jedes Paket der Datenpakete mit einem dritten Satz von Sequenznummern verbunden ist; eine zweite tertiäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie den dritten Satz von Sequenznummern über die zweite primäre Kommunikationsschnittstelle an den primären integrierten Schaltkreis überträgt; und eine dritte tertiäre Kommunikationsschnittstelle, die so ausgebildet ist, dass sie die dritte Teilmenge der Datenpakete überträgt.
  15. Eine Vorrichtung, die Folgendes umfasst: eine erste Kommunikationsschnittstelle, die so ausgebildet ist, dass sie Datenpakete über einen Satz von Kanälen empfängt, wobei jedes Paket der Datenpakete mit einem ersten Satz von Sequenznummern verbunden ist; eine zweite Kommunikationsschnittstelle, die so ausgebildet ist, dass sie einen zweiten Satz von Sequenznummern von einer kommunikativ gekoppelten Vorrichtung empfängt; und eine dritte Kommunikationsschnittstelle, die so ausgebildet ist, dass sie veranlasst, dass die Datenpakete in einem Puffer gespeichert werden, wobei die dritte Kommunikationsschnittstelle so ausgebildet ist, dass sie die Freigabe des Puffers auf der Grundlage des ersten Satzes von Sequenznummern und des zweiten Satzes von Sequenznummern veranlasst.
  16. Die Vorrichtung nach Anspruch 15, wobei der zweite Satz von Sequenznummern mit zweiten Datenpaketen verbunden ist, die über einen zweiten Satz von Kanälen empfangen werden.
  17. Die Vorrichtung nach Anspruch 15 oder 16, wobei: der erste Satz von Sequenznummern eine erste sequentielle Reihenfolge enthält, und der zweite Satz von Sequenznummern eine zweite sequentielle Reihenfolge enthält; eine sequenzielle Reihenfolge eine Kombination aus der ersten sequenziellen Reihenfolge und der zweiten sequenziellen Reihenfolge umfasst; und der Puffer auf der Grundlage der sequentiellen Reihenfolge freigegeben wird.
  18. Die Vorrichtung nach Anspruch 17, wobei die erste sequentielle Reihenfolge und die zweite sequentielle Reihenfolge von einer Datenquelle zugewiesen werden, die mit den Datenpaketen verbunden ist.
  19. Eine Vorrichtung umfasst: eine erste Kommunikationsschnittstelle, die so ausgebildet ist, dass sie Datenpakete über einen Satz von Kanälen empfängt, wobei jedes Paket der Datenpakete mit einem Satz von Sequenznummern verbunden ist; eine zweite Kommunikationsschnittstelle, die so ausgebildet ist, dass sie den Satz von Sequenznummern an eine kommunikativ gekoppelte Vorrichtung überträgt; und eine dritte Kommunikationsschnittstelle, die so ausgebildet ist, dass sie veranlasst, dass die Datenpakete in einem Puffer gespeichert werden.
  20. Die Vorrichtung nach Anspruch 19, wobei der Satz von Sequenznummern eine sequentielle Reihenfolge enthält und die sequentielle Reihenfolge von einer Datenquelle zugewiesen wird, die mit den Datenpaketen verbunden ist.
DE102022108950.9A 2021-04-16 2022-04-12 Vorrichtung mit multi-channel bonding Pending DE102022108950A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163176146P 2021-04-16 2021-04-16
US63/176,146 2021-04-16

Publications (1)

Publication Number Publication Date
DE102022108950A1 true DE102022108950A1 (de) 2022-10-20

Family

ID=83447098

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022108950.9A Pending DE102022108950A1 (de) 2021-04-16 2022-04-12 Vorrichtung mit multi-channel bonding

Country Status (2)

Country Link
US (1) US12028168B2 (de)
DE (1) DE102022108950A1 (de)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071948A1 (en) * 2006-09-14 2008-03-20 Integrated Device Technology, Inc. Programmable interface for single and multiple host use
KR20120093225A (ko) * 2009-09-23 2012-08-22 에어로바이론먼트, 인크. 성능 모니터링을 이용한 능동 다중경로 네트워크 리던던시
US9100904B2 (en) * 2012-09-13 2015-08-04 First Principles, Inc. Data stream division to increase data transmission rates
US9065747B2 (en) * 2012-12-28 2015-06-23 Infinera Corp. Network interface and method of aggregating processor circuits
WO2019177615A1 (en) * 2018-03-15 2019-09-19 Intel IP Corporation Methods and apparatus to perform multi-band link aggregation in a wireless network
WO2020029080A1 (zh) * 2018-08-07 2020-02-13 Oppo广东移动通信有限公司 切换网络的方法、网络节点、芯片和通信系统
CN109587112B (zh) * 2018-10-25 2021-02-12 华为技术有限公司 一种发送数据的方法、接收数据的方法、设备及系统
US10820057B2 (en) * 2018-11-07 2020-10-27 Nvidia Corp. Scalable light-weight protocols for wire-speed packet ordering
US11751134B2 (en) * 2019-05-24 2023-09-05 Marvell Asia Pte Ltd Power save and group-addressed frames in WLAN using multiple communication links

Also Published As

Publication number Publication date
US12028168B2 (en) 2024-07-02
US20220337354A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
DE69433293T2 (de) Netzwerkübertragungsverfahren für Systeme mit virtuellem Speicher
DE2856483C2 (de)
DE112013004750B4 (de) Verwaltung von Aushungern und Überlastung in einem zweidimensionalen Netz mit Flusskontrolle
DE69131971T2 (de) Netzwerkanpassungseinrichtung mit Puffer und Mehrbeschreibungskreis
DE102019121523A1 (de) Skalierbares netz werk-auf-chip für hochbandbreitenspeicher
DE112012004550T5 (de) Zustandsmigration für einen Remote Direct Memory Access-Adapter in einer virtuellen Umgebung
DE69327018T2 (de) Verteilung von Bilddaten über optische Fasern
DE69527110T2 (de) Verfahren und Vorrichtung zum Routen von nach einem asynchronen Transfermodus einkommenden verschachelten Zellen mit reduzierter Vermittlung
DE69031476T2 (de) Asynchrone Objektvorgreifung zwischen Rechnersystemen in zusammen arbeitenden Verarbeitungssystemen
DE102008030587A1 (de) Verfahren und Vorrichtung zur Erhöhung der Effizienz der Interrupt-Lieferung zur Laufzeit in einem Netzwerksystem
DE102007038964A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten
DE112007001135T5 (de) Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System
DE60315965T2 (de) Vorrichtung zur paketablaufsteuerung
DE102013208431A1 (de) Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten
DE60222233T2 (de) Prozessor und Verfahren zur Erhaltung der Verarbeitungsreihenfolge von Paketen basierend auf Paketstromkennungen
DE112015006192T5 (de) Kommunikationsvorrichtung, Kommunikationsverfahren und Programm
EP0351014A2 (de) Koppelfeld für ein Vermittlungssystem
EP2466406B1 (de) Verfahren zur automatischen Erzeugung von Dynamic Frame Packgruppen
DE102022106258A1 (de) Fehlerkommunikation in Spannungsregelungs-Systemen
DE102021213414A1 (de) Routing mit einem switch mit festen zuordnungen
DE102013226014A1 (de) Ethernetmedienkonverter, der Hochgeschwindigkeitsdrahtloszugriffspunkte unterstützt
DE102022108950A1 (de) Vorrichtung mit multi-channel bonding
DE112012004554B4 (de) Serielle Verarbeitung des Zugriffs auf Daten bei Datenverarbeitungsumgebungen mitmehreren Grossrechnern
DE112015006089T5 (de) A/D-Wandler, D/A-Wandler und speicherprogrammierbare Steuerung
DE112022004564T5 (de) Verringerung einer latenzzeit in drahtlosen systemen mit mehrkanal-betrieb

Legal Events

Date Code Title Description
R012 Request for examination validly filed