DE112017003494T5 - Mehrfach-core-software-forwarding - Google Patents

Mehrfach-core-software-forwarding Download PDF

Info

Publication number
DE112017003494T5
DE112017003494T5 DE112017003494.9T DE112017003494T DE112017003494T5 DE 112017003494 T5 DE112017003494 T5 DE 112017003494T5 DE 112017003494 T DE112017003494 T DE 112017003494T DE 112017003494 T5 DE112017003494 T5 DE 112017003494T5
Authority
DE
Germany
Prior art keywords
packets
docsis
readable storage
transitory computer
storage medium
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
DE112017003494.9T
Other languages
English (en)
Inventor
Adam Levy
Pavlo Shcherbyna
Alex Muller
Vladyslav Buslov
Victoria Sinitsky
Michael W. Patrick
Nitin Sasi Kumar
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.)
Harmonic Inc
Original Assignee
Harmonic 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 Harmonic Inc filed Critical Harmonic Inc
Publication of DE112017003494T5 publication Critical patent/DE112017003494T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6118Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6168Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Landscapes

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

Abstract

Lösungsansätze für ein Durchführen aller Funktionen eines Forwarding von Downstream- und Upstream-Daten bei DOCSIS unter Verwendung von ausführbarer Software. Funktionen für ein Forwarding von DOCSIS-Daten können durchgeführt werden durch Zuordnen eines oder mehrere Pakete, von einer Mehrzahl von empfangenen Paketen, zu einer speziellen DOCSIS-Systemkomponente, und dann Verarbeiten des einen oder der mehreren Pakete, die derselben DOCSIS-Systemkomponente zugeordnet wurden, in einem einzelnen CPU-Core. Bei dem einen oder den mehreren Pakete kann ein Forwarding zwischen einer Sequenz aus einer oder mehreren Software-Stufen durchgeführt werden. Die Software-Stufen können jeweils konfiguriert sein, um in separaten logischen Cores oder in einem einzelnen CPU-Core ausgeführt zu werden.

Description

  • INANSPRUCHNAHME EINER PRIORITÄT
  • Diese Anmeldung beansprucht die Priorität der provisorischen US-Patentanmeldung Nr. 62/360,848 , mit dem Titel „Multiple Core Software Forwarding“, die am 11. Juli 2016 eingereicht wurde und deren Offenbarung hiermit durch Bezugnahme vollinhaltlich in das vorliegende Dokument aufgenommen wird.
  • GEBIET DER ERFINDUNG
  • Ausführungsformen der Erfindung betreffen ein Durchführen aller Funktionen eines Forwarding von Downstream- und Upstream-Daten bei DOCSIS unter Verwendung von ausführbarer Software.
  • HINTERGRUND
  • Eine CCAP (Converged Cable Access Platform) ist ein von CableLabs geleitetes Vorhaben, das zwei Projekte technisch und operativ vereint: CMAP (Converged Multiservice Access Platform), unter der Leitung von Comcast Corp., und CESAR (Converged Edge Services Access Router), unter der Leitung von Time Warner Cable Inc.
  • DOCSIS (Data Over Cable Service Interface Specification) ist ein Telekommunikationsstandard, der verwendet wird, um einen Internetzugang über ein Kabelmodem bereitzustellen.
  • Derzeit ist es branchenübliche Praxis, ein Downstream-Forwarding in einer CCAP-Umgebung in Hardware zu implementieren, und zwar beispielsweise TCAMs (Ternary Content-Addressable Memory) für ein Klassifizieren und FPGAs (Field-Programmable Gate Arrays) für Scheduling und Replikation von Paketen.
  • Figurenliste
  • Ausführungsformen der Erfindung sind beispielhaft und nicht einschränkend in den Figuren der anliegenden Zeichnungen dargestellt, in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen; in diesen sind:
    • 1 eine Darstellung eines Downstream- und Upstream-Forwarding bei DOCSIS gemäß einer Ausführungsform der Erfindung;
    • 2 ein Ablaufdiagramm, das die funktionalen Schritte eines Downstream-Forwarding bei DOCSIS gemäß einer Ausführungsform der Erfindung darstellt;
    • 3 ein Ablaufdiagramm, das die funktionalen Schritte eines Upstream-Forwarding bei DOCSIS gemäß einer Ausführungsform der Erfindung darstellt; und
    • 4 ein Blockdiagramm, das ein Computersystem darstellt, auf dem eine Ausführungsform der Erfindung implementiert sein kann.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Es werden hier Lösungsansätze für ein Durchführen aller Funktionen eines Forwarding von Downstream- und Upstream-Daten bei DOCSIS unter Verwendung von ausführbarer Software dargestellt. In der folgenden Beschreibung sind zu Erläuterungszwecken zahlreiche spezifische Details dargelegt, um für ein grundlegendes Verständnis der Ausführungsformen der hier beschriebenen Erfindung zu sorgen. Es versteht sich jedoch, dass die hier beschriebenen Ausführungsformen der Erfindung ohne diese spezifischen Details ausgeführt sein können. In anderen Fällen sind allgemein bekannte Strukturen und Vorrichtungen in Form eines Blockdiagramms dargestellt oder werden auf einer höheren Ebene erörtert, um zu vermeiden, dass die Lehren der Ausführungsformen der Erfindung unnötigerweise unklar werden.
  • Bei einer virtuellen CCAP (Converged Cable Access Platform) handelt es sich um Software, welche die Funktionen eines Hardware-basierten CCAP durchführt. Die virtuelle CCAP kann auf Hardware-Bauteilen ausgeführt werden, die einen COTS-Switch/Router (COTS = Commercial Off-the-Shelf = kommerzielle Produkte aus dem Regal/ „von der Stange“) und einen oder mehrere COTS-Compute-Server beinhalten. Ein kommerzielles Beispiel eines virtuellen CCAP ist CableOS, das von Harmonic, Inc. von San Jose, Kalifornien, bezogen werden kann.
  • Bei Ausführungsformen der Erfindung für eine softwarebasierte CCAP-Umgebung können rasch neue Merkmale hinzugefügt werden, z. B. ist die Einführung von hohe/niedrige Priorität aufweisenden Datenringen möglich.
  • Ausführungsformen der Erfindung zielen darauf ab, die Funktionen eines auf der MAC-Schicht erfolgenden Downstream-Forwarding bei DOCSIS zwischen mehreren Software-Cores eines COTS-Switch/Router (bei gewissen Ausführungsformen als CRE (Core Routing Engine) bezeichnet) einer virtuellen CCAP aufzuteilen. Bei gewissen Ausführungsformen wird das DPDK (Data Plane Development Kit) genutzt, das sich durch das Merkmal von Locking-freien Ringe zwischen den Cores auszeichnet. Derartige Locking-freie Ringe enthalten Zeiger, die auf gemeinsam genutzte DPDK-MBUFs zeigen (MBUFs = Message Buffers = Nachrichtenpuffer). Jedes MBUF weist einen Header, der eine DPDK-MBUF betreffende Bibliotheksinformation enthält, sowie eine Struktur auf, die sich zwischen dem Ende des MBUF-Header und dem Anfang der Paketdaten befindet und die als MBUF-„Headroom“ bezeichnet wird. Bei Ausführungsbeispielen wird ein Speichern von für ein DOCSIS-Forwarding nützlicher Information in dem MBUF-Headroom verlangt.
  • Bei Ausführungsformen der Erfindung werden „Ein-Erzeuger-Ein-Abnehmer“-Ringe von DPDK verwendet, um eine Synchronisierung von Threads zwischen mehreren Erzeugern oder mehreren Abnehmern zu vermeiden. Jeder Thread überprüft wiederholt die Verfügbarkeit jeglicher Pakete auf jedem der Ringe, die er empfängt. 1 ist eine Darstellung eines Downstream-Forwarding bei DOCSIS gemäß einer Ausführungsform der Erfindung. Der Verteiler-Thread 110 von 1 ist ein Thread, der verantwortlich dafür ist, alle ankommenden physischen Pakete von dem Trunk-Ethernetport zu empfangen, der an einen COTS-Switch/Router (welcher bei einer Ausführungsform einer CRE entsprechen kann) angeschlossen ist. Die von dem Verteiler-Thread 110 empfangenen ankommenden physischen Pakete beinhalten über das Internet transportierte Downstream-Pakete sowie Upstream-Pakete, die mittels Tunneling von einem Remote-PHY-Gerät (RPD) eingespeist wurden.
  • Obschon Ausführungsformen der Erfindung hauptsächlich in Bezug darauf beschrieben sind, dass der Verteiler-Thread 110 mittels Software implementiert ist, sei angemerkt, dass bei weiteren Ausführungsformen der Erfindung die Funktionen des Verteiler-Thread 110 in Form von Hardware ausgeführt sein können. Beispielsweise können gewisse Ausführungsformen eine Netzwerkkarte (NIC) verwenden, welche die dem Verteiler-Thread 110 zugewiesenen Funktionen durchführt. Ein derartiges Ausführungsbeispiel kann eine Verteiler-Komponente beinhalten, bei der es sich um ein Hardware-Bauteil handelt, beispielsweise, jedoch nicht eingeschränkt auf, eine NIC, wobei dieses konfiguriert ist, die dem Verteiler-Thread 110 zugewiesenen Funktionen durchzuführen, wie hier erörtert. Weitere Ausführungsformen der Erfindung können eine Verteiler-Komponente beinhalten, welche die dem Verteiler-Thread 110 zugewiesenen Funktionen wie hier erörtert teilweise mit einem Hardware-Bauteil und teilweise mittels Software durchführt.
  • Upstream-Pakete können in das L2TPv3-Protokoll gekapselt sein und werden an eine L2TPv3-LCCE (LCCE = Logical Control Connection Entity) adressiert, die auf einem COTS-Switch/Router (bei einem Ausführungsbeispiel z. B. eine CRE (Core Routing Engine)) implementiert ist. Bei einer Ausführungsform dieser Erfindung wird eine lokal verwaltete MAC-Adresse dem LCCE zugewiesen, und zwar von der Form 02:xx:xx:xx:xx:xx, so dass der Verteiler-Thread 110 ein mittels Tunneling übertragenes L2TPv3-Paket rasch erkennen kann und ein Forwarding dieses Paketes an den UsMac-Thread 112 durchführen kann, der eine Upstream-Verarbeitung durchführt. Der Verteiler-Thread 110 führt ein Forwarding aller anderen empfangenen Pakete an einen von einer Mehrzahl von DSPP-Threads 114 durch, bei denen es sich um Threads handelt, die für eine Downstream-Verarbeitung verantwortlich sind. Um dies zu bewerkstelligen, kann der Verteiler-Thread 110 ein Hashing der Quellen- und Ziel-MAC- und/oder -IP-Adressen durchführen, um eine Lastverteilung zwischen den DSPP-Threads 114 durchzuführen.
  • AUSFÜHRUNGSUMGEBUNGEN
  • Bevor die Funktionsweise von Downstream- und Upstream-Datenströmen erörtert wird, ist es hilfreich, die Beziehung zwischen den in 1 dargestellten operativen Stufen und den logischen Cores zu verstehen. Die in 1 dargestellten operativen Stufen entsprechen der Verteilerstufe (entsprechend der Verteiler-Komponente), der DSPP-Stufe (DSPP = Downstream-Paketverarbeitung) (entsprechend der Mehrzahl von DSPP-Threads 114), der DsEnc-Stufe (DsEnc = Downstream-Verschlüsselung) (entsprechend der Mehrzahl von DsEnc-Threads 116), der TM-Stufe (TM = Datenverkehrsverwalter) (entsprechend der Mehrzahl von TM-Threads 118), der DsMac-Stufe (DsMac = Downstream-Medienzugangssteuerung) (entsprechend der Mehrzahl von DsMac-Threads 120), der UsMac-Stufe (UsMac = Upstream-Medienzugangssteuerung) (entsprechend einem UsMac-Thread 112), und der USPP-Stufe (USPP = Upstream-Paketverarbeitung) (entsprechend einer UsMac-Komponente). Die funktionalen Komponenten in jeder dieser Stufen wird später noch detaillierter erläutert. Wie hier verwendet, beinhaltet ein logischer Core einen physischen CPU-Core, beispielsweise die Hyper-Threading-Technologie von Intel®, oder einen virtuellen CPU-Core.
  • Bei gewissen Ausführungsformen der Erfindung kann jede in 1 dargestellte operative Stufe auf separaten logischen Cores ausgeführt werden. Bei weiteren Ausführungsformen der Erfindung können zwei oder mehr in 1 dargestellte operative Stufen in einem einzelnen logischen Core ausgeführt werden.
  • Bei noch weiteren Ausführungsformen der Erfindung können alle in 1 dargestellten operativen Stufen in einem einzelnen logischen Core ausgeführt werden, und zwar entweder mittels eines manuellen Scheduling (z. B. Round-Robin) oder durch ein mittels Zeitscheiben erfolgenden nebenläufigen Scheduling der Stufen in dem einzelnen Core. Weitere Ausführungsformen der Erfindung können ermöglichen, dass ein Benutzer konfiguriert, welcher logische Core eine jeweilige operative Stufe ausführen sollte, und zwar ohne Einschränkung, derart, dass der Benutzer beispielsweise konfigurieren kann, dass ein einzelner logischer Core alle operativen Stufen ausführt oder eine Mehrzahl von logischen Cores jeweils eine unterschiedliche operative Stufe ausführen.
  • DOWNSTREAM-DATENFLÜSSE
  • 2 ist ein Ablaufdiagramm, das die funktionalen Schritte eines Downstream-Forwarding bei DOCSIS gemäß einer Ausführungsform der Erfindung darstellt. Die Schritte von 2 werden nachfolgend mit Bezug auf 1 erläutert.
  • Bei Schritt 210 empfängt der Verteiler-Thread 110 ankommende physikalische Downstream-Pakete, z. B. durch das Internet transportierte Pakete.
  • Danach führt bei Schritt 220 der Verteiler-Thread 110 ein Forwarding der empfangenen Downstream-Pakete an einen von einer Mehrzahl von DSPP-Threads 114 durch. Ein DSPP-Thread 114 ist für ein Zuordnen eines Downstream-Paketes zu einem DOCSIS-Dienstdatenstrom verantwortlich. Alle DSPP-Threads 114 haben Zugang zu derselben Datenbank von Downstream-Klassifizierern. Ein DSPP-Thread 114 klassifiziert ein Paket unter Verwendung eines internen Index, der als TmFlowIndex (Datenverkehrsverwalter-Datenstromindex) bezeichnet wird. Alle DSPP-Threads 114 und alle TM-Threads 118 verwenden den gleichen TmFlowIndex. Ein DSPP-Thread 114 speichert den TmFlowIndex, zu dem er das Paket zugeordnet hat, in dem MBUF-Headroom-Feld.
  • In DOCSIS gehört jeder Downstream-Dienstdatenstrom zu einer einzelnen DOCSIS-„MAC-Domain“, die von Ausführungsformen der Erfindung durch eine MAC-Domain-ID identifiziert wird. Der DSPP-Thread 114 speichert auch die MAC-Domain-ID des Dienstdatenstroms eines Paketes in dem MBUF-Headroom. DOCSIS definiert auch das Konzept einer MD-DSSG (MD-DSSG = MAC-Domain downstream service group = MAC-Domain-Downstream-Dienstgruppe), die den Satz von Downstream-Kanälen in einer MAC-Domain beinhaltet, der ein einzelnes CM erreicht. Der DSPP-Thread 114 einer Ausführungsform platziert in einem MBUF-Headroom eine systemeindeutige Kennung der MD-DSSG, welche den Dienstdatenstrom des Paketes enthält. Die MAC-Domain-ID oder die MD-DSSG-Kennung werden verwendet, um auszuwählen, zu welchem TM-Thread durch DsEnc ein Forwarding eines Downstream-Paketes durchgeführt wird, das es von dem DSPP-Thread 114 empfängt.
  • Bei Schritt 230 führt einer von einer Mehrzahl von DsEnc-Threads 116 eine Verschlüsselung der Downstream-Pakete durch. Um dies zu bewerkstelligen, kann ein spezieller DsEnc-Thread 116 ein Downstream-Paket unter Verwendung eines gemeinsam genutzten Hardware-Bauteils verschlüsseln, beispielsweise des QuickAssist-Moduls von Intel®. Mehrere DsEnc-Threads 116 können sich lediglich eines oder zwei Hardware-Module teilen (z. B. eines oder zwei je COTS-Switch/ Router (der in einem Ausführungsbeispiel als „Core-Server“ (CS) bezeichnet werden kann). Demgemäß kann die Warteschlangenverzögerung des gemeinsam benutzten Verschlüsselungsmechanismus variabel sein. Um die Variabilität der Verzögerung von abgehenden Paketen nach einer Gesamtdurchsatz-Begrenzungsfunktion des Datenverkehrsverwalters zu verringern, erfolgt die Verschlüsselung durch den DsEnc-Thread 116, bevor ein Datenverkehrsverwaltungs-Scheduling erfolgt. Bei Ausführungsformen der Erfindung wird in vorteilhafter Weise eine Verschlüsselung durchgeführt, bevor das Scheduling von Paketen erfolgt. Bei aktuellen branchenüblichen CMTS-Implementierungen wird zunächst ein Scheduling von Paketen und danach eine Verschlüsselung in kommerziellen DOCSIS-Chips durchgeführt, beispielsweise, jedoch nicht eingeschränkt auf den Chip BCM3215 von Broadcom Corporation, der die Downstream-MAC-Funktionen durchführt.
  • Um das Auftreten von ,Fehlschlägen‘ des Cache („Cache Misses“) in DsEnc-Threads 116 zu verringern, wird jedem DOCSIS-Dienstdatenstrom ein einzelner DsEnc-Thread 116 zugeordnet. Somit wird die Tastungsinformation und Statistiken für einen Dienstdatenstrom in lediglich einem einzelnen DSPP-Core-L1-Cache vorgehalten. Der entsprechende DSPP-zu-DsEnc-Ring für jeden DSPP-Thread 114 wird an einen DSPP-Thread 114 übermittelt, wenn ein Dienstdatenstrom hinzugefügt wird.
  • Bei einem Ausführungsbeispiel kann die Funktionalität, die vorstehend mit Bezug auf die Mehrzahl von DsEnc-Threads beschrieben wurde, zumindest teilweise in Hardware anstatt ausschließlich mittels Software implementiert werden. Bei einem derartigen Ausführungsbeispiel kann die Funktionalität, die hier als einer Mehrzahl von DsEnc-Threads 116 zugeteilt oder durch diese durchgeführt beschrieben wurde, durch eines oder mehrere DsEnc-Hardware-Bauteile durchgeführt werden, die einer Hardware-Karte entsprechen können, welche die Operationen eines Verschlüsselns von Downstream-Paketen beschleunigt. Wie hier verwendet, beinhaltet der Begriff ,DsEnc-Komponente‘ sowohl eine Software-Implementierung als auch eine Hardware-Implementierung, sowie eine Implementierung, die sowohl Hardware als auch Software beinhaltet. Es werden zwar Ausführungsbeispiele hauptsächlich in Bezug darauf beschrieben, dass DsEnc-Threads 116 in Software implementiert sind, für Fachleute versteht es sich jedoch, dass weitere Ausführungsbeispiele verwendet werden können, bei denen DsEnc-Threads 116 teilweise oder vollständig mittels Hardware implementiert sind.
  • Danach verarbeitet bei Schritt 240 ein geeigneter TM-Thread 118 das Paket. Jede DOCSIS-MAC-Domain ist einem einzelnen TM-Thread 118 (TM = Datenverkehrsmanager) zugewiesen. Ein TM-Thread 118 führt ein Einreihen von Paketen in eine je Datenstrom vorhandene Warteschlange durch und führt ein Scheduling von Paketen für eine Übertragung unter Verwendung eines hierarchischen Mehrebenen-Paket-Schedulers durch. Jeder SF (Dienstdatenstrom), und somit jeder TmFlowIndex, gehört zu einer einzelnen MAC-Domain. Wenn die Steuerebene einen neuen TmFlowIndex einem DsEnc-Thread 116 hinzufügt, liefert die Steuerebene auch einen Zeiger auf den zutreffenden DsEnc-zu-TM-Ring, um den TM-Thread 118 zu erreichen, welcher der MAC-Domain des Dienstdatenstroms zugewiesen wurde.
  • Ausführungsbeispiele der Erfindung erfordern, dass MAC-Domains ein TM-Thread 118 zugewiesen wird. Dies ist dadurch begründet, dass die meisten MAC-Domains aus stark überlappenden DCSs (Downstream Channel Sets = Sätzen von Downstream-Kanälen) mit gemeinsam genutzten Downstream-Kanälen besteht. Dadurch, dass man das gesamte Scheduling von DCSs, die denselben Kanal benutzen, in demselben Kanalsatz gehalten wird, wird ein nebenläufiger Inter-Core-Zugriff auf Speicherdatenstrukturen vermieden. Ein TM-Thread 118 führt ein Scheduling eines jeweiligen Paketes auf einen speziellen Downstream-HF-Kanal durch.
  • Falls eine MAC-Domain aus disjunkten (d. h. nicht-überlappenden) SGs (Downstream-Dienstgruppen) besteht, dann können Ausführungsbeispiele die disjunkten Sätze von SGs unterschiedlichen TM-Threads 118 zuweisen und dabei weiterhin eine Inter-Core-Koordination einer je Paket vorhandenen Scheduling-Information vermeiden.
  • Bei Schritt 250 führt ein DsMac-Thread 120 eine Kapselung eines Paketes in einen L2TPv3-DEPI-Tunnel zu dem RPD (Remote-PHY-Gerät) durch, welches den Downstream-Kanal überträgt. Jeder Downstream-Kanal wird einem einzigen DsMac-Thread 120 zugewiesen. Ein einziger DsMac-Thread 120 kann für jeden Kanal verwendet werden, um einen Einzel-Core-Betrieb von je Paket vorhandenen Sequenznummern aufrechtzuerhalten. Derartige je Paket vorhandene Sequenznummern beinhalten eine MPEG-Sequenznummer oder eine PSP-Sequenznummer.
  • Nach dem Kapseln eines Paketes bei Schritt 260 sendet der DsMac-Thread 120 das Paket aus dem DPDK-Ethernet-Port eines Trunk-Ports an die CRE.
  • In vorteilhafter Weise teilen sich der Verteiler-Thread 110, die Mehrzahl von DSPP-Threads 114, die Mehrzahl von DsEnc-Threads 116, die Mehrzahl von TM-Threads 118 und die Mehrzahl von DsMac-Threads 120 alle dieselbe Multi-Core-CPU und denselben Hardware-Bus für Chip-Signale von der CPU an den Speicher.
  • UPSTREAM-DATENSTRÖME
  • 3 ist ein Ablaufdiagramm, das die funktionalen Schritte eines Upstream-Forwarding bei DOCSIS gemäß einer Ausführungsform der Erfindung darstellt. Die Schritte von 3 werden nachfolgend mit Bezug auf 1 erläutert.
  • Bei Schritt 310 empfängt der Verteiler-Thread 110 ankommende Upstream-Pakete, z. B. Pakete, die mittels Tunneling von einem RPD (Remote-PHY-Gerät) eingespeist wurden.
  • Bei Schritt 320 führt der Verteiler-Thread 110, wenn er erkennt, dass ein empfangenes Paket ein Upstream-Paket ist, ein Forwarding des Upstream-Paketes an einen UsMac-Thread 112 zur Verarbeitung durch. Upstream-Pakete können in das L2TPv3-Protokoll gekapselt sein und werden an eine L2TPv3-LCCE (LCCE = Logical Control Connection Entity) adressiert, die auf einem COTS-Switch/Router (bei einem Ausführungsbeispiel z. B. eine CRE) implementiert ist. Bei einer Ausführungsform dieser Erfindung wird eine lokal verwaltete MAC-Adresse dem LCCE zugewiesen, und zwar von der Form 02:xx:xx:xx:xx:xx, so dass der Verteiler-Thread 110 ein mittels Tunneling übertragenes L2TPv3-Paket rasch erkennen kann und ein Forwarding dieses Paketes an den UsMac-Thread 112 durchführen kann, der eine Upstream-Verarbeitung durchführt.
  • Bei Schritt 330 empfängt der UsMac-Thread 110 Upstream-Pakete, die per Tunneling an eine LCCE-MAC-Adresse gesendet wurden. Der UsMac-Thread 112 setzt die Sequenzen von Upstream-Bursts von einem jeweiligen Upstream-Kanal wieder zusammen und trennt die Bursts in separate Upstream-Pakete auf, und zwar jeden in sein eigenes MBUF.
  • Danach sendet bei Schritt 340 der UsMac-Thread 112 die separaten Datenpakete an einen USPP-Thread 122. Der UsMac-Thread 112 führt ein separates Erkennen von Upstream-Bandbreitenanfrage-MMMs (MMMs = Mac Management Messages = MAC-Verwaltungsnachrichten) durch und leitet diese weiter an eine (nicht dargestellte) Scheduling-Software-Anwendung für ein Upstream-DOCSIS-Scheduling. Der UsMac-Thread 112 erkennt auch weitere Upstream-MAC-MMMs und leitet diese zur Bearbeitung an einen DOCSIS-Protokoll-Softwareprozess weiter.
  • Bei Schritt 350 führt der USPP-Thread 122 eine Quellenadressenprüfung für Upstream-IP-Pakete sowie jegliche VLAN-Kapselung durch, die für einen DOCSIS-L2VPN-Betrieb erforderlich ist.
  • Bei einem Ausführungsbeispiel kann die Funktionalität, die vorstehend mit Bezug auf den USPP-Thread 122 beschrieben wurde, zumindest teilweise in Hardware anstatt ausschließlich mittels Software implementiert werden. Bei einem derartigen Ausführungsbeispiel kann die Funktionalität, die hier als dem USPP-Thread 122 zugeteilt oder durch diesen durchgeführt beschrieben wurde, durch eines oder mehrere USPP-Hardware-Bauteile durchgeführt werden, die einer Hardware-Karte entsprechen können, welche die Operationen eines Verschlüsselns von Upstream-Paketen beschleunigt. Wie hier verwendet, beinhaltet der Begriff ,USSP-Komponente‘ und ,USSP-Stufe‘ sowohl eine Software-Implementierung als auch eine Hardware-Implementierung, sowie eine Implementierung, die sowohl Hardware als auch Software beinhaltet. Es werden zwar Ausführungsbeispiele hauptsächlich in Bezug darauf beschrieben, dass der USPP-Thread 122 in Software implementiert ist, für Fachleute versteht es sich jedoch, dass weitere Ausführungsbeispiele verwendet werden können, bei denen der USPP-Thread 122 teilweise oder vollständig mittels Hardware implementiert ist.
  • Bei Schritt 260 führt der USPP-Thread 122 ein Forwarding von Paketen direkt an den DPDK-Ethernet-Port für die Ethernet-Trunk-Schnittstelle an einem COTS-Switch/Router durch (wobei es sich bei diesem bei einem Ausführungsbeispiel um einen CRE handeln kann).
  • Es können mehrere Paare aus UsMac-Thread 122/ USPP-Thread 122 erzeugt werden, in welchem Fall in vorteilhafter Weise eine LCCE-IP-Adresse einem einzelnen UsMac-Thread 112 zugewiesen wird und der Verteiler-Thread 112 ein Forwarding von Upstream-Paketen an das geeignete Paar aus UsMac-Thread 122/ USPP-Thread 122 basierend auf der LCCE-IP-Zieladresse durchführt, wodurch ein Duplizieren von je CM ermittelter Upstream-Quellenadressen-Prüfungsinformation und einer je Dienstdatenstrom ermittelten Statistikinformation zwischen Cores vermieden wird, was die Wahrscheinlichkeit von Fehlschlägen des L1-Cache („L1 Cache Misses“) vermindert. Die Tatsache, dass bei Ausführungsbeispielen gewissen DOCSIS-Komponenten eine spezielle Instanz einer Verarbeitungsstufe in einem CPU-Core zugewiesen wird, ist einzigartig und stellt einen großen erfinderischen Schritt für die CMTS-Industriebranche dar. Der in der Softwarebranche üblicherweise verwendete Mechanismus, um eine Arbeit zwischen mehreren CPU-Cores aufzuteilen, besteht in symmetrischem Multiprocessing und einem Lastausgleich zwischen den Cores, bei geringer oder nicht vorhandener Kenntnis der Anwendungs-Domain der Softwareprozesse. Beispiele eines Zuweisens von DOCSIS-Komponenten an Verarbeitungsstufen beinhalten: Zuweisen eines DOCSIS-Dienstdatenstroms an eine einzelne DsEnc-Stufe, Zuweisen einer DOCSIS-MAC-Domain oder einer MAC-Domain-Downstream-Dienstgruppe zu einer einzelnen TM-Stufe, Zuweisen eines DOCSIS-Downstream-Kanals zu einer einzelnen DSMAC-Stufe, Zuweisen einer DOCSIS-LCCE zu einer einzelnen US MAC-Stufe, und Zuweisen eines DOSCIS-Dienstdatenstroms zu einer einzelnen USPP-Stufe.
  • HOHE UND NIEDRIGE PRIORITÄT AUFWEISENDE RINGE
  • Es ist möglich, dass während eines stark ausgelasteten Betriebs die Auslastung jeglicher Thread-Instanz zu groß ist, um mit ankommenden Paketen Schritt zu halten, was zu einem Stau und letztendlich einem Verlust von Daten von MBUFs auf den mit diesen Thread-Instanzen befassten Ringen führen kann. Gewisse Ausführungsbeispiele können Datenringe von variierendem Prioritätsgrad verwenden, so dass bei Datenverkehr geringerer Priorität eine Stauung a und dieser Drops erleidet, bevor dies bei Ringen höherer Priorität der Fall ist. Ausführungsformen können Datenringe von beliebiger Prioritätsgradzahl verwenden, z. B. können zwei Grade vorhanden sein, so dass Datenringen lediglich eine ,hohe‘ oder eine ,niedrige‘ Priorität zugewiesen werden kann, oder es können drei oder mehr Grade vorhanden sein, so dass ein beliebiger Grad an Granularität verwendet werden kann, um eine Rangfolge von Datenringen basierend auf Priorität herzustellen.
  • Ringe hoher Priorität können in vorteilhafter Weise für gewisse Datenverkehrsklassen verwendet werden. Beispielsweise werden bei einem Ausführungsbeispiel, in abnehmender Prioritätsrangfolge, Ringe hoher Priorität in vorteilhafter Weise für die folgenden Datenverkehrsklassen verwendet: Downstream-DOCSIS-MAPs und UCDs, Upstream-Bandbreitenanfragen, Downstream- und Upstream-Sprachnutzdaten, und schließlich alle anderen DOCSIS-MMMs (MMMs = Mac Management Messages = MAC-Verwaltungsnachrichten).
  • HARDWAREIMPLEMENTIERUNG
  • Bei einem Ausführungsbeispiel kann eine virtuelle CCAP (Converged Cable Access Platform), welche die Schritte von einer oder mehreren der 2 und 3 implementiert, durch ein Computersystem ausgeführt werden. 4 ist ein Blockdiagramm, das ein Computersystem 400 darstellt, auf dem eine Ausführungsform der Erfindung implementiert sein kann. Bei einer Ausführungsform beinhaltet das Computersystem 400 einen Prozessor 404, einen Hauptspeicher 406, einen ROM 408, eine Speichervorrichtung 410 und eine Kommunikationsschnittstelle 418. Das Computersystem 400 beinhaltet mindestens einen Prozessor 404 zum Verarbeiten von Information. Das Computersystem 400 beinhaltet auch einen Hauptspeicher 406, wie beispielsweise einen RAM (Random Access Memory = Direktzugriffspeicher) oder eine andere dynamische Speichervorrichtung zum Speichern von Informationen und Anweisungen, die durch den Prozessor 404 auszuführen sind. Der Hauptspeicher 406 kann auch für ein Speichern von temporären Variablen oder weiterer Zwischeninformation während eines Ausführens von durch den Prozessor 404 auszuführenden Anweisungen verwendet werden. Das Computersystem 400 beinhaltet einen ROM (Read Only Memory = Nur-LeseSpeicher) 408 oder eine andere statische Speichervorrichtung zum Speichern von statischer Information und Anweisungen für den Prozessor 404. Eine Speichervorrichtung 410, wie beispielsweise eine Magnetplatte oder eine optische Platte, ist für ein Speichern von Information und Anweisungen vorgesehen.
  • Ausführungsformen der Erfindung betreffen die Verwendung eines Computersystems 400 für ein Implementieren der hier beschriebenen Verfahren. Gemäß einer Ausführungsform der Erfindung werden diese Verfahren durch das Computersystem 400 ansprechend darauf durchgeführt, dass der Prozessor 404 eine oder mehrere Sequenzen von einer oder mehreren im Hauptspeicher 406 befindlichen Anweisungen ausführt. Derartige Anweisungen können in den Hauptspeicher 406 von einem anderen maschinenlesbaren Medium, wie beispielsweise der Speichervorrichtung 410, eingelesen werden. Ein Ausführen der im Hauptspeicher 406 enthaltenen Sequenzen von Anweisungen veranlasst den Prozessor 404, die hier beschriebenen Prozessschritte auszuführen. Bei alternativen Ausführungsformen kann ein fest verdrahteter Schaltkreis verwendet werden, anstelle oder in Kombination mit Softwareanweisungen, um Ausführungsformen der Erfindung zu implementieren. Somit sind Ausführungsformen der Erfindung nicht auf irgendeine spezifische Kombination aus Hardware-Schaltkreisen und Software eingeschränkt.
  • Der Begriff „nicht-transitorisches maschinenlesbares Speichermedium“, wie hier verwendet, bezieht sich auf jegliches körperlich greifbare Medium, das am Speichern von Anweisungen teilnimmt, die dem Prozessor 404 zum Ausführen geliefert werden können. Nicht-einschränkende, illustrierende Beispiele von maschinenlesbaren Medien beinhalten beispielsweise eine Floppy-Disk, eine flexible Disk, eine Festplatte, ein Magnetband oder ein beliebiges anderes magnetisches Medium, eine CD-ROM, ein beliebiges anderes optisches Medium, ein RAM, ein PROM, ein EPROM, ein FLASH-EPROM, einen beliebigen anderen Speicherchip oder -patrone oder ein beliebiges anderes Medium, von dem ein Computer lesen kann.
  • Verschiedene Formen von maschinenlesbaren Medien können daran beteiligt sein, eine oder mehrere Sequenzen aus einer oder mehreren Anweisungen an den Prozessor 404 zur Ausführung zu transportieren. Beispielsweise können sich die Anweisungen anfänglich auf einer Magnetplatte eines entfernt befindlichen Computers befinden. Der entfernte Computer kann die Anweisungen in seinen dynamischen Speicher laden und die Anweisungen über eine Netzwerkanbindung 420 zum Computersystem 400 senden.
  • Die Kommunikationsschnittstelle 418 stellt eine Zweiweg-Datenkommunikationsverbindung zu einer Netzwerkanbindung 420 bereit, die mit einem lokalen Netzwerk verbunden ist. Beispielsweise kann eine Kommunikationsschnittstelle 418 eine ISDN-Karte (ISDN = Integrated Services Digital Network = dienstintegrierendes digitales Netz) oder ein Modem sein, um eine Datenkommunikationsverbindung zu einem korrespondierenden Typ von Telefonleitung bereitzustellen. Als weiteres Beispiel kann eine Kommunikationsschnittstelle 418 eine LAN-Karte (LAN = Local Area Network = Lokales Netzwerk) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. Es können auch Funkanbindungen implementiert sein. Bei jeder derartigen Implementierung führt die Kommunikationsschnittstelle 418 ein Senden und Empfangen von elektrischen, elektromagnetischen oder optischen Signalen durch, die digitale Datenströme transportieren, welche verschiedene Typen von Information repräsentieren.
  • Die Netzwerkanbindung 420 stellt typischerweise eine Datenkommunikation über eines oder mehrere Netzwerke zu anderen Datengeräten bereit. Beispielsweise kann die Netzwerk-Anbindung 420 eine Verbindung über ein lokales Netzwerk zu einem Host-Computer oder zu Datenanlagen bereitstellen, die durch einen Internetdienstanbieter (ISP) betrieben werden.
  • Das Computersystem 400 kann Nachrichten senden und Daten, einschließlich Programmcode, empfangen, und zwar über das/die Netzwerk(e), die Netzwerkanbindung 420 und die die Kommunikationsschnittstelle 418. Beispielsweise könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, einen lokalen ISP, ein lokales Netzwerk, und danach an die Kommunikationsschnittstelle 418 übertragen. Der empfangene Code kann durch den Prozessor 404 bei Empfang ausgeführt werden, und/oder in einer Speichervorrichtung 410 oder einem anderen nicht-flüchtigen Speicher zur späteren Ausführung gespeichert werden.
  • In der vorhergehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung variieren können. Somit ist der einzige und ausschließliche Indikator, was die Erfindung ist und was seitens der Anmelder als Erfindung beabsichtigt ist, der Satz der Ansprüche, die aus dieser Anmeldung hervorgehen, und zwar in der spezifischen Form, in welcher derartige Ansprüche zu erstellen sind, einschließlich jeglicher anschließender Korrekturen. Jegliche Definitionen, die für in derartigen Ansprüchen enthaltene Begriffe hier ausdrücklich dargelegt sind, sollen für die Bedeutung derartiger Begriffe wie in den Ansprüchen verwendet, maßgeblich sein. Somit sollte keine Einschränkung, Element, Eigenschaft, Merkmal, Vorteil oder Attribut, das in einem Anspruch nicht ausdrücklich dargelegt ist, den Schutzumfang dieses Anspruchs in irgendeiner Weise einschränken. Die Beschreibung und die Zeichnungen sind demgemäß in einem illustrierenden und nicht in einem einschränkenden Sinn zu verstehen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62360848 [0001]

Claims (20)

  1. Nicht-transitorisches computerlesbares Speichermedium, das eines oder mehrere Sequenzen von Anweisungen für ein Durchführen von Funktionen für ein Forwarding von DOCSIS-Daten speichert, die bei Ausführung veranlassen: Zuordnen eines oder mehrere Pakete, von einer Mehrzahl von empfangenen Paketen, zu einer speziellen DOCSIS-Systemkomponente; Verarbeiten des einen oder der mehreren Pakete, die derselben DOCSIS-Systemkomponente zugeordnet wurden, in einem einzelnen CPU-Core.
  2. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei bei dem einen oder den mehreren Paketen, die derselben DOCSIS-Systemkomponente zugeordnet wurden, ein Forwarding zwischen einer Sequenz aus einer oder mehreren Software-Stufen durchgeführt wird, die jeweils in dem einzelnen CPU-Core ausgeführt werden.
  3. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 2, wobei mindestens eine von der einen oder den mehreren Softwarestufen mittels eines einzelnen Betriebssystem-Threads implementiert ist.
  4. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei die Mehrzahl von empfangenen Paketen in der Weise eines Lastausgleichs zwischen einem Satz von Entitäten aufgeteilt werden, die für das Zuordnen der Mehrzahl von empfangenen Paketen zu einer speziellen DOCSIS-Systemkomponente verantwortlich sind.
  5. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 4, wobei das Ausführen der einen oder mehreren Sequenzen von Anweisungen weiter veranlasst: nach einer operativen Stufe, bei welcher die Mehrzahl von empfangenen Paketen in der Weise eines Lastausgleichs zwischen einem Satz von Entitäten aufgeteilt werden, die für das Zuordnen der Mehrzahl von empfangenen Paketen zu einer speziellen DOCSIS-Systemkomponente verantwortlich sind, Zuordnen, durch den Satz von Entitäten, des einen oder der mehreren Pakete zu einer speziellen DOCSIS-Systemkomponente in einer Klassifizierungsstufe.
  6. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 5, wobei die Klassifizierungsstufe ein Forwarding des einen oder der mehreren Pakete an eine separate Verschlüsselungsstufe für eine DOCSIS-Verschlüsselung durchführt.
  7. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 6, wobei die Klassifizierungsstufe ein Forwarding des einen oder der mehreren Pakete für denselben DOCSIS-Dienstdatenstrom an dieselbe Verschlüsselungsstufe durchführt.
  8. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei bei dem einen oder den mehreren Paketen, die derselben DOCSIS-Systemkomponente zugeordnet wurden, ein Forwarding zwischen einer Sequenz aus einer oder mehreren Software-Stufen durchgeführt wird, und wobei eine separate Datenverkehrs-Verwaltungsstufe ein Einreihen von Downstream-Paketen in eine Warteschlange und ein Scheduling der Downstream-Pakete für eine Übertragung durchführt.
  9. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 9, wobei alle Pakete, die einem DOCSIS-Dienstdatenstrom in derselben DOCSIS-MAC-Domain zugeordnet wurden, durch dieselbe Instanz einer Datenverkehrs-Verwaltungsstufe verarbeitet werden.
  10. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 9, wobei alle Pakete, die einem DOCSIS-Dienstdatenstrom in derselben DOCSIS-Downstream-MAC-Domain-Downstream-Dienstgruppe zugeordnet wurden, durch dieselbe Instanz einer Datenverkehrs-Verwaltungsstufe verarbeitet werden.
  11. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei mit dem einen oder den mehreren Paketen, die der gleichen DOCSIS-Systemkomponente zugeordnet wurden, ein Forwarding zwischen einer Sequenz aus einer oder mehreren Softwarestufen durchgeführt wird, die jeweils konfiguriert sind, in separaten logischen Cores oder in einem einzelnen logischen Core ausgeführt zu werden.
  12. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei die Mehrzahl von empfangenen Paketen Downstream-Pakete sind.
  13. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei die Mehrzahl von empfangenen Paketen Upstream-Pakete sind.
  14. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 1, wobei die Mehrzahl von empfangenen Paketen Upstream-Pakete sind, und wobei bei dem einen oder den mehreren Paketen, die derselben DOCSIS-Systemkomponente zugeordnet wurden, ein Forwarding zwischen einer Sequenz aus einer oder mehreren Softwarestufen durchgeführt wird, die jeweils in dem einzelnen CPU-Core ausgeführt werden.
  15. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 14, wobei das Ausführen der einen oder mehreren Sequenzen von Anweisungen weiter veranlasst: das Zuweisen einer DOCSIS-Komponente an eine Verarbeitungsstufe, von der Sequenz aus einer oder mehreren Softwarestufen, beinhaltet ein Zuweisen einer DOCSIS-LCCE an eine Instanz einer UsMac-Stufe.
  16. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 14, wobei das Ausführen der einen oder mehreren Sequenzen von Anweisungen weiter veranlasst: das Zuweisen einer DOCSIS-Komponente an eine Verarbeitungsstufe, von der Sequenz aus einer oder mehreren Softwarestufen, beinhaltet ein Zuweisen eines DOCSIS-Dienstdatenstroms an eine Instanz einer USPP-Stufe.
  17. Vorrichtung für ein Durchführen von Funktionen für ein Forwarding von DOCSIS-Daten, aufweisend: einen oder mehrere Prozessoren; und eines oder mehrere nicht-transitorische computerlesbare Speichermedien, die eine oder mehrere Sequenzen von Anweisungen speichern, welche bei ihrer Ausführung veranlassen Zuordnen eines oder mehrere Pakete, von einer Mehrzahl von empfangenen Paketen, zu einer speziellen DOCSIS-Systemkomponente; Verarbeiten des einen oder der mehreren Pakete, die derselben DOCSIS-Systemkomponente zugeordnet wurden, in einem einzelnen CPU-Core.
  18. Vorrichtung nach Anspruch 17, wobei bei dem einen oder den mehreren Paketen, die derselben DOCSIS-Systemkomponente zugeordnet wurden, ein Forwarding zwischen einer Sequenz aus einer oder mehreren Software-Stufen durchgeführt wird, die jeweils in dem einzelnen CPU-Core ausgeführt werden.
  19. Verfahren für ein Durchführen von Funktionen für ein Forwarding von DOCSIS-Daten, beinhaltend: Zuordnen eines oder mehrerer Pakete, von einer Mehrzahl von empfangenen Paketen, zu einer speziellen DOCSIS-Systemkomponente; Verarbeiten des einen oder der mehreren Pakete, die derselben DOCSIS-Systemkomponente zugeordnet wurden, in einem einzelnen CPU-Core.
  20. Verfahren nach Anspruch 19, wobei bei dem einen oder den mehreren Paketen, die derselben DOCSIS-Systemkomponente zugeordnet wurden, ein Forwarding zwischen einer Sequenz aus einer oder mehreren Software-Stufen durchgeführt wird, die jeweils in dem einzelnen CPU-Core ausgeführt werden.
DE112017003494.9T 2016-07-11 2017-07-10 Mehrfach-core-software-forwarding Pending DE112017003494T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662360848P 2016-07-11 2016-07-11
US62/360,848 2016-07-11
PCT/US2017/041285 WO2018013443A1 (en) 2016-07-11 2017-07-10 Multiple core software forwarding

Publications (1)

Publication Number Publication Date
DE112017003494T5 true DE112017003494T5 (de) 2019-05-02

Family

ID=60911408

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017003494.9T Pending DE112017003494T5 (de) 2016-07-11 2017-07-10 Mehrfach-core-software-forwarding

Country Status (3)

Country Link
US (1) US11212590B2 (de)
DE (1) DE112017003494T5 (de)
WO (1) WO2018013443A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787912A (zh) * 2019-03-04 2019-05-21 南京邮电大学 一种dpdk环境下基于nat的负载均衡方法
CN111741501B (zh) * 2019-03-25 2023-02-28 上海诺基亚贝尔股份有限公司 切换核心设备的方法、设备、装置和计算机可读介质
CN110505151B (zh) * 2019-08-22 2021-11-19 深信服科技股份有限公司 流量转发方法、装置、设备及存储介质
CN111163058B (zh) * 2019-12-09 2021-11-02 京信网络系统股份有限公司 Dpdk数据加密处理方法、装置和网络设备
CN112583722B (zh) * 2021-02-26 2021-05-28 紫光恒越技术有限公司 一种数据处理的方法、装置、云设备和存储设备
US12001873B2 (en) 2021-06-17 2024-06-04 Falcon V Systems Sa Cable communication system using virtual network functions
CN114978237B (zh) * 2022-05-07 2024-09-10 中国广电广州网络股份有限公司 一种docsis数据的转发方法、装置以及系统
CN115412615B (zh) * 2022-08-23 2024-01-23 中国核动力研究设计院 基于核电厂dcs平台软件实现多端口tcp通信的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890735B2 (en) * 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
KR100652017B1 (ko) 2005-12-08 2006-12-01 한국전자통신연구원 물리보안공격에 대한 닥시스 케이블 모뎀의 보안 방법
US8300640B2 (en) 2008-04-18 2012-10-30 Arris Group, Inc. Multi-service PHY box
US9479352B2 (en) 2008-06-25 2016-10-25 Arris Enterprises, Inc. Method for simultaneously managing high-speed data and video streams in a single MAC processing environment
US8397238B2 (en) * 2009-12-08 2013-03-12 Qualcomm Incorporated Thread allocation and clock cycle adjustment in an interleaved multi-threaded processor
US8397267B2 (en) * 2010-01-26 2013-03-12 Cisco Techology, Inc. Hi-split upstream design for DOCSIS
US20110302416A1 (en) * 2010-03-15 2011-12-08 Bigband Networks Inc. Method and system for secured communication in a non-ctms environment
WO2013072773A2 (en) * 2011-11-18 2013-05-23 Marvell World Trade Ltd. Data path acceleration using hw virtualization
US9274933B2 (en) * 2012-11-14 2016-03-01 International Business Machines Corporation Pretest setup planning
US9465619B1 (en) * 2012-11-29 2016-10-11 Marvell Israel (M.I.S.L) Ltd. Systems and methods for shared pipeline architectures having minimalized delay
US9258237B1 (en) * 2013-06-17 2016-02-09 Juniper Networks, Inc. Enhancing DOCSIS services through network functions virtualization
US9369339B2 (en) 2013-09-30 2016-06-14 Cisco Technology, Inc. Virtual cable modem termination system

Also Published As

Publication number Publication date
WO2018013443A1 (en) 2018-01-18
US20180014081A1 (en) 2018-01-11
US11212590B2 (en) 2021-12-28

Similar Documents

Publication Publication Date Title
DE112017003494T5 (de) Mehrfach-core-software-forwarding
DE102015108145B4 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE112014000415B4 (de) Quantisierte Überlastbenachrichtigung in einem virtuellen Netzwerksystem
US9912774B2 (en) Accelerated network packet processing
DE112020002512T5 (de) Systeme und verfahren zur verkehrsklassenbezogenen leitweglenkung
DE112013006063B4 (de) Funktionsübernahme für einen Datenübertragungskanal in einem Netzwerk mit Hochleistungsdatenverarbeitung
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE112011103561T5 (de) Netzwerkprozessor und Verfahren zum Beschleunigen der Datenpaket-Syntaxanalyse
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE102018212253A1 (de) Drosselung für bandbreitenunausgewogene datenübertragungen
DE102016104264B4 (de) Übertragen von Mehrfachzielpaketen in Overlay-Netzwerken
DE112010004809B4 (de) Mehrfachgranulare Datenstromverarbeitung
DE102021207394A1 (de) Zusammenführen von paketen auf der grundlage von hinweisen, die vom netzwerkadapter erzeugt werden
DE102020102782A1 (de) Techniken zum Überwachen von Steuerebenennetzverkehr
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE102020129690A1 (de) Semiflexibler paketzusammenführungs-steuerweg
DE112020003526T5 (de) Geringe latenz und geringer jitter bei docsis mittels mehrerer warteschlangen
US8352957B2 (en) Apparatus and method for passing metadata in streams modules
DE102022105933A1 (de) Lenkung von warteschlangen nach priorität durch die nic und frequenzabstimmung der prozessoreinheit basierend auf paketflussanalysen
DE112020003022T5 (de) Interconnect-Adressbasierte QOS-Regulierung
DE60303444T2 (de) Ablaufsteuerung unter verwendung von quantumwerten und defizitwerten
DE112019000666T5 (de) Dynamische rekonfiguration einer softwarearchitektur für eine ccap (converged cable access platform)
DE102013212227B4 (de) Verfahren zum Verringern der Verarbeitungslatenz in einem Multi-Thread-Paketprozessor mit wenigstens einer Neuanordnungswarteschlange und Netzwerkelement
US20220206847A1 (en) Systems and methods for collecting and sending real-time data

Legal Events

Date Code Title Description
R012 Request for examination validly filed