DE102022211529A1 - Methoden zum einreihen und neuordnen für mehrfachzugangsverwaltungsdienste - Google Patents

Methoden zum einreihen und neuordnen für mehrfachzugangsverwaltungsdienste Download PDF

Info

Publication number
DE102022211529A1
DE102022211529A1 DE102022211529.5A DE102022211529A DE102022211529A1 DE 102022211529 A1 DE102022211529 A1 DE 102022211529A1 DE 102022211529 A DE102022211529 A DE 102022211529A DE 102022211529 A1 DE102022211529 A1 DE 102022211529A1
Authority
DE
Germany
Prior art keywords
slot
packet
subject
network
queue
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
DE102022211529.5A
Other languages
English (en)
Inventor
Jing Zhu
Menglei Zhang
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102022211529A1 publication Critical patent/DE102022211529A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • 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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections

Landscapes

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

Abstract

Die vorliegende Offenbarung betrifft Mehrwarteschlangenverwaltungsmethoden und Paketneuordnungsmethoden für Inter-Funkzugangstechnologie- (RAT-) und Intra-RAT-Verkehrslenkung. Die Mehrwarteschlangenverwaltungs- und Paketneuordnungsmethoden können in einem Mehrfachzugangsverwaltungsdienst- (MAMS-) Framework verwendet werden, bei dem es sich um ein programmierbares Framework handelt, das Mechanismen für die flexible Auswahl von Netzwerkpfaden in einer Mehrfachzugangs- (MX-) Kommunikationsumgebung basierend auf Bedürfnissen einer Anwendung bereitstellt. Weitere Ausführungsformen können ebenfalls beschrieben und/oder beansprucht sein.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Anmeldung betrifft allgemein Edge Computing, Netzwerkkommunikation und Kommunikationssystemimplementierungen; und insbesondere Systeme/Netzwerke für Mehrfachzugangsverwaltungsdienste (multiple access management services, MAMS) und Frameworks für generischen Mehrfachzugang (generic multi-access, GMA).
  • HINTERGRUND
  • MAMS (Multiple Access Management Services) ist ein programmierbares Framework, das Mechanismen zur flexiblen Auswahl von Netzwerkpfaden in einer Kommunikationsumgebung mit Mehrfachverbindung (-zugang) basierend auf Anwendungsbedürfnissen und/oder - anforderungen bereitstellt. Das MAMS-Framework kann durch ein Edge-Computing-System/- Netzwerk, wie etwa ETSI-MEC oder dergleichen, unterstützt werden. Zudem wurde die Systemarchitektur der fünften Generation (5G) des Third Generation Partnership Project (3GPP) erweitert, um eine MAMS-ähnliche Funktionalität zu unterstützen, die als Vermittlung, Lenkung und Aufteilung von Zugriffsverkehr (Access Traffic Switching, Steering and Splitting, ATSSS) bezeichnet wird.
  • Figurenliste
  • In den Zeichnungen, die nicht notwendigerweise maßstabsgetreu sind, können gleiche Ziffern ähnliche Komponenten in verschiedenen Ansichten beschreiben. Gleiche Ziffern mit unterschiedlichen Buchstabensuffixen können unterschiedliche Instanzen ähnlicher Komponenten repräsentieren. Einige Implementierungen sind in den Figuren der beiliegenden Zeichnungen beispielhaft und nicht einschränkend veranschaulicht, wobei:
    • 1 ein Beispiel für die Paketverarbeitung für die virtuellen Warteschlangen darstellt. 2 einen beispielhaften Push-Prozess zum Verwalten virtueller Warteschlangen darstellt. 3 einen beispielhaften Pop-Prozess zum Verwalten virtueller Warteschlangen darstellt. 4 einen beispielhaften Prozess zum Verarbeiten virtueller Tx-Warteschlangen darstellt. 5 ein Beispiel für die Indexoperationen zum Verwalten virtueller Warteschlangen darstellt.
    • 6 eine beispielhafte Neuordnungsprozedur für Verkehrslenkung darstellt. 7 eine beispielhafte verbesserte Neuordnungsprozedur für eine Empfänger-initiierte Verkehrssteuerung darstellt. 8 ein Beispiel für simultane Inter-RAT- (RAT-übergreifende) und Intra-RAT- (RAT-interne) Neuordnung darstellt.
    • 9 ein beispielhaftes Mehrfachzugangsnetzwerk darstellt, das Mehrfachzugangsverwaltungsdienste (MAMS) nutzt. 10 eine MAMS-Referenzarchitektur veranschaulicht. 11 ein beispielhaftes MX-Steuerebenenprotokoll und eine beispielhafte MX-Steuernachricht veranschaulicht. 12 ein Netzwerkmodell mit Konvergenzschicht darstellt. 13 ein Beispiel für GMA-basierte Mehrfachzugangsverkehrsaufteilung für den Downlink darstellt. 14 eine OTT-GMA- (generischer Mehrfachzugang) e2e- (Ende-zu-Ende-) Netzwerkreferenzarchitektur darstellt. 15 ein Beispiel für GMA-Datenebenenfunktionalitäten darstellt. 16 eine Client-basierte GMA-Datenverkehrssteuerungs-Zustandsmaschine veranschaulicht. 17 einen beispielhaften GMA-basierten Datenebenen-Protokollstapel für OTT-MAMS-Bereitstellungen und einen GMA-basierten MAMS-Datenebenen-Protokollstapel darstellt. 18 ein GMA-Konvergenzprotokolldateneinheit- (PDU-) Format darstellt. 19 verschiedene GMA-Paketformate veranschaulicht.
    • 20 eine beispielhafte Edge-Computing-Umgebung veranschaulicht. 21 beispielhafte Komponenten eines Rechenknotens darstellt, der in einem oder mehreren Edge-Computing-Systemen verwendet werden kann. 22 eine beispielhafte Softwareverteilungsplattform veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachstehende ausführliche Beschreibung bezieht sich auf die beiliegenden Zeichnungen. Die gleichen Bezugszeichen können in unterschiedlichen Zeichnungen verwendet werden, um die gleichen oder ähnliche Elemente zu identifizieren. In der nachfolgenden Beschreibung werden zum Zwecke der Erklärung und nicht der Einschränkung konkrete Einzelheiten dargelegt, wie etwa spezielle Strukturen, Architekturen, Schnittstellen, Methoden usw., um ein umfassendes Verständnis der vorliegenden Offenbarung zu vermitteln. Für einen Fachmann mit Kenntnis der vorliegenden Offenbarung ist jedoch ersichtlich, dass die verschiedenen Aspekte der vorliegenden Offenbarung auf andere Arten und Weisen umgesetzt werden können, die von den vorliegend erörterten spezifischen Einzelheiten abweichen. In bestimmten Fällen werden Beschreibungen allgemein bekannter Vorrichtungen, Schaltungen und Verfahren weggelassen, um die Beschreibung nicht mit unnötigen Einzelheiten zu verkomplizieren.
  • 1. VERWALTUNGSMETHODEN FÜR PUFFER, WARTESCHLANGEN UND PAKETNEUORDNUNG
  • 1.1. DYNAMISCHE VERWALTUNG MEHRERER WARTESCHLANGEN
  • Netzwerkvorrichtungen speichern Pakete in Übertragungs- (Tx-) und Empfangs- (Rx-) Warteschlangen, um Pakete für diverse verkehrs-/netzwerkbezogene Vorgänge wie zum Beispiel für Verkehrsplanung und -neuordnung zu speichern. Zum Beispiel werden Pakete, die zur Übertragung geplant sind, in einer Tx-Warteschlange gepuffert, bis eine Übertragungsgelegenheit verfügbar ist, und empfangene Pakete können aus Gründen wie etwa Neuordnung in einer Rx-Warteschlange gespeichert werden. Üblicherweise kann eine Tx- oder Rx-Warteschlange durch eine zugehörige Portnummer referenziert werden. In Mehrfachzugangs- (MA-) Kommunikationsnetzwerken können Netzwerkvorrichtungen, die in der Lage sind, mehrere Zugangsnetzwerke und/oder mehrere Links (als „MA-Knoten“ oder „MA-Vorrichtungen“ bezeichnet) zu nutzen, eine Tx-Warteschlange und eine Rx-Warteschlange für jede Verbindung oder jede Verbindung aufweisen (z.B. Links 905 und 906 in 9). MA-Vorrichtungen können eine Anzahl von K Warteschlangen einsetzen, wobei K die Anzahl von Links und/oder Benutzern ist. Um eine Dienstgüte (Quality of Service, QoS) einzelner Instanzen (z.B. Benutzer usw.) und/oder einzelner Links zu verwalten, erweitert sich die Anzahl von Warteschlangen auf K × N, wobei N die Anzahl von Instanzen (z.B. Benutzer usw.) ist, unter der Annahme, dass alle Instanzen (z.B. Benutzer usw.) auch mit allen Links verbunden sind. Folglich muss die MA-Vorrichtung mehr Speicher- (memory) bzw. Speicherungs- (storage) Ressourcen für die K × N Warteschlangen zuteilen.
  • Eine bestehende/herkömmliche Warteschlangenverwaltungsmethode beinhaltet das Verwenden einer einzelnen gemeinsam genutzten Warteschlange, bei der eine Netzwerkvorrichtung eine Tx-Warteschlange für Übertragungsoperationen und eine Rx-Warteschlange für Empfangsoperationen implementiert, auch wenn Pakete zu unterschiedlichen Benutzern oder Links gehören. Ein Nachteil der Methode der gemeinsam genutzten Warteschlange ist, dass diese Methode nicht die QoS jedes Benutzers oder jedes Links garantieren kann. In diesem Fall erfordert eine einzelne gemeinsam genutzte Warteschlange nur L × B Speicherplatz, wobei L die maximale Anzahl von Warteschlangenelementen pro Warteschlange ist und B die Anzahl an Bytes ist, die jedem Warteschlangenelement zugewiesen wird.
  • Eine andere bestehende/herkömmliche Warteschlangenverwaltungstechnik beinhaltet das Verwenden separater Warteschlangen für einzelne Benutzer, wobei jede Warteschlange eine statische Größe aufweist. Zum Beispiel können einige Netzwerkzugangsknoten (NANs) (z.B. NANs 910, die nachstehend erörtert werden) aus QoS-Gründen eine separate Warteschlange pro Benutzer bereitstellen. Folglich beträgt die Speicherbeanspruchung für alle kombinierten Pro-Benutzer-Warteschlangen N × L × B, wobei N die Anzahl an Benutzern ist. Zudem können MA-Vorrichtungen auch getrennte Warteschlangen für jede Funkverbindung bereitstellen, die sie aktuell verwenden oder möglicherweise verwenden, was die Speicheranforderung auf K × N × L × B erweitert, wobei K die Anzahl der Funk-Links ist. Eine Herausforderung beim Verwenden separater Warteschlangen in MA-Vorrichtungen besteht im hohen Speicherbedarf zumindest im Vergleich zu der Verwaltungsmethode mit einer einzelnen, gemeinsam genutzten Warteschlange. Eine Lösung dieses Problems besteht darin, die Größe von L zu reduzieren. Die Folge der Reduzierung von L ist jedoch, dass die separaten Warteschlangen häufig überlaufen können und den Durchsatz des Systems drastisch reduzieren können.
  • Eine andere herkömmliche Warteschlangenmethode beinhaltet das Verwenden mehrerer Warteschlangen, wobei jede dieser Warteschlangen eine dynamische Größe aufweist (manchmal als „Puffer mit variabler Länge“ oder „elastische Puffer“ bezeichnet). Diese Methode beinhaltet die Verwendung einer dynamischen Speicherzuteilung für unterschiedliche Warteschlangengrößen. Das heißt, wann immer ein Paket aus einer Warteschlange gepusht/entnommen wird, wird der Speicher zum Speichern dieses Pakets zugeteilt/aus der Warteschlange freigegeben. Obwohl dieses Verfahren keinen Speicher für leere Warteschlangen erfordert, sind die häufigen Operationen zum Zuteilen und Freigeben von Speicherräumen rechenintensive und/oder komplexe Aufgaben, die die Systemperformanz insbesondere für Vorrichtungen mit relativ kleiner Rechenleistung verschlechtern können (z.B. Mobilvorrichtungen, IoT-Vorrichtungen, Wearables und dergleichen).
  • Zusätzlich zu den Nachteilen der Warteschlangenmethoden mit statischer und dynamischer Größe erfordern Mehrfachwarteschlangenmethoden Duplizieren von Broadcast-Nachrichten zum Speichern in jeder Warteschlange (z.B. Duplizieren desselben Pakets K × N Male), was nicht rechen- oder speicherressourceneffizient ist.
  • Die vorliegende Offenbarung stellt Verwaltungsmethoden und -technologien für mehrere Warteschlangen bereit, die weniger Ressourcen (z.B. Speicher-/Speicherungsressourcen) als bestehende Warteschlangenverwaltungsmethoden verwenden/beanspruchen. Insbesondere stellen die vorliegend erörterten Mehrfachwarteschlangen-Verwaltungsmethoden K × N virtuelle Warteschlangen bereit, die einen physischen Puffer gemeinsam nutzen. In einigen Ausführungsformen wird dem physischen Puffer eine feste oder statische Größe zugeteilt oder er weist einen festen Speicherplatz auf und wird verwendet, um die mehreren virtuellen Warteschlangen zu verwalten. In verschiedenen Implementierungen wird der physische Puffer als ein kreisförmiger oder Ringpuffer implementiert. Auf diese Weise können die vorliegend erörterten Mehrfachwarteschlangen-Verwaltungsmethoden die Vorteile sowohl der Systeme mit einer einzelnen, gemeinsam genutzten Warteschlange als auch der Systeme mit mehreren Warteschlangen dynamischer Größe realisieren, was die Speichernutzungseffizienz im Vergleich zu bestehenden Warteschlangenverwaltungssystemen und -techniken verbessert. Zudem ermöglichen die hier besprochenen Ausführungsformen, dass QoS und/oder Zuverlässigkeit für einzelne Instanzen mit einer oder mehreren ähnlichen Speicheranforderungen im Vergleich zu einer einzelnen, gemeinsam genutzten Warteschlange gewährleistet werden.
  • Die vorliegend erörterten Warteschlangenmethoden (siehe z.B. Diskussion des Ringpuffers 101 und der virtuellen Warteschlangen 102 unten) können unter Verwendung oder in Verbindung mit einer beliebigen geeigneten Puffer- und/oder Warteschlangentechnologie implementiert werden, wie etwa zum Beispiel nachrichtenorientierte Middleware (messageoriented middleware, MOM) oder Nachrichtenwarteschlangendienste (z.B. Advanced Message Queuing Protocol (AMQP), Single (oder Streaming) Text Oriented Message Protocol (STOMP), MQTT (früher MQ-Telemetrietransport), Extensible Messaging and Presence Protocol (XMPP), Apache® Kafka und/oder dergleichen), Netzwerkplanungs- und/oder -überlastungssteuerdienste, Flusssteuerdienste und/oder dergleichen. Zusätzlich oder alternativ können beliebige geeignete Datenspeicherungsmethoden oder -technologien verwendet werden, um die vorliegend erörterten Warteschlangentechnologien zu implementieren, wie beispielsweise relationale, nicht relationale Systeme (z.B. Schlüsselwertspeicher, Attributwertspeicher, Schema-frei, NoSQL usw.), Graph, Spalten (auch bekannt als erweiterbarer Datensatz (z.B. HBase)), Objekt-, Tabellen-, Tupelspeicher-, Hash-Tabellen- und/oder Multimodell-Datenspeicherungstechnologien.
  • Für Zwecke der nachfolgenden Diskussion kann sich eine „Instanz“ auf einen Prozess, einen Thread, ein Objekt, eine Datenbankentität/ein Datenbankelement, einen Benutzer, eine Anwendungs- (App-) Instanz, eine Sitzung, einen Dienst (oder einen Satz von Diensten), eine Verbindung oder einen Link (z.B. die Links 905, 906, 907, 1011, 1021, 1023, Interconnect (IX) 2156 usw.), ein System oder eine Vorrichtung (z.B. eine Netzwerkvorrichtung, ein MX-Knoten und/oder eine beliebige andere Vorrichtung, wie etwa die nachstehend mit Bezug auf 9 bis 22 erörterten) und/oder eine beliebige andere ähnliche Entität beziehen. Des Weiteren kann sich ein „Mehrfachwarteschlangenmanager“ oder „MQM“ in der nachfolgenden Diskussion auf eine beliebige Netzwerkvorrichtung oder einen beliebigen MA-Knoten beziehen, wie etwa zum Beispiel einen beliebigen der Clients 901, 1001, 2011, 2021; Zugangsnetzwerk(e)/NAN(s) 910AB, 1031, 2031-2033; Server 940; GMA-Tx-Entität 1310, GMA-Rx-Entität 1311; Netzwerkfunktionen (NFs) im CN 950A, 1041, CN 2042; GWs 950B, 1420A, 1420B, 1450, MAMs-System 1035, Netzwerkelemente und/oder Vorrichtungen in DN 970 und/oder DN 975; Edge-Rechenknoten 2036; Cloud 2044, Rechenknoten 2150; Softwareverteilungsplattform 2205; Prozessorplattform(en) 2200; und/oder ein beliebiges anderes Software- (SW-) Element/eine beliebige andere Entität und/oder ein Hardwareelement/eine Hardwareentitätsvorrichtung wie beispielsweise beliebige der vorliegend erörterten. Darüber hinaus kann sich ein „Link“ in der folgenden Diskussion auf eine Funkzugangstechnologie (radio access technology, RAT), die zum Übermitteln von Informationen verwendet wird (z.B. WiFi, 3GPP LTE, 3GPP 5G/NR, Bluetooth® und/oder dergleichen), einen drahtgebundenen oder drahtlosen Kommunikationslink, eine - verbindung oder einen -kanal (z.B. die Links 905, 906, 907, 1011, 1021, 1023 und/oder dergleichen); einen Kommunikationspfad, der mehrere Links, Verbindungen oder Kanäle zwischen einer Quelle und einem Ziel aufweist; einen Interconnect (z.B. IX 2156) zwischen zwei oder mehr Komponenten; eine Anwendung oder Netzwerksitzung; und/oder einen bestimmten Dienst beziehen, der verwendet wird, um Informationen zu übermitteln (z.B. einen Typ von Kommunikationsdienst, wie etwa E-Mail, Instant Messaging, Kurznachrichtendienst (short message service, SMS), ein lokales Netzwerk usw. oder einen spezifischen Dienst oder eine spezifische Anwendung wie etwa Skype®, das von Microsoft® bereitgestellt wird, Gmail®, das von Google® bereitgestellt wird, und dergleichen mehr).
  • 1 stellt eine beispielhafte Mehrfachverbindungswarteschlange 100 mit einem Ringpuffer 101 und virtuellen Warteschlangen 102 gemäß verschiedenen Ausführungsformen dar. In diesem Beispiel speichert ein Mehrfachwarteschlangenmanager (MQM) Pakete in einer Ringpufferdatenstruktur 101, um mehrere Threads und/oder Instanzen zu unterstützen. In einigen Ausführungsformen wird dem Ringpuffer 101 eine feste Menge an Speicher und/oder ein statischer Speicherort zum Speichern von Daten (z.B. Datenpaketen) zugeteilt. In einigen Implementierungen kann der feste Speicherbereich/die feste Speicherregion für den Ringpuffer 101 in Form einer Pufferstartposition/-adresse und einer Pufferkapazität oder -länge definiert sein. In einigen Implementierungen kann der MQM einzelne Ringpuffer 101 für Übertragungsdatenströme und Empfangsdatenströme implementieren (z.B. einen Tx-Ringpuffer 101 separat zu einem Rx-Ringpuffer 101).
  • Der Ringpuffer 101 beinhaltet einen äußeren Ring 110 und einen inneren Ring 115. Der äußere Ring 110 beinhaltet einen Satz von Slots 111 (oder „Warteschlangenelementen 110“), die logisch in einer Kreis- oder Ringform angeordnet sind. Der äußere Ring 110 beinhaltet eine Anzahl L von Warteschlangenelementen (Slots) 111. In dem Beispiel von 1 gibt es zwölf Slots 110 (z.B. L = 12), die mit 0 bis 11 bezeichnet sind (z.B. Slots 1110 bis 11111).
  • Die schattierten Slots 110 speichern Daten (oder sind „belegt“) und die nicht-schattierten Slots 110 speichern aktuell keine Daten (oder sind „unbelegt“). Jeder Slot 111 speichert eine vordefinierte oder konfigurierbare Datenmenge (oder Pakete). In einigen Implementierungen werden jedem Warteschlangenelement 111 B Speicherbytes zugeteilt. Der innere Ring 115 enthält Elementzählungen 116, von denen jede einem Schlitz 111 entspricht (es ist anzumerken, dass der Klarheit halber nicht alle Elementzählungen 116 in 1 bezeichnet sind). In 1 entspricht die Elementzählung 1161 dem Slot 1111, die Elementzählung 1162 dem Slot 1112 und die Elementzählung 1167 dem Slot 1117. Die Elementzählungen 116 beinhalten oder geben die Anzahl virtueller Warteschlangen 102 an, die das in dem entsprechenden Slot 111 gespeicherte Paket enthalten. Zum Beispiel weist die Elementzählung 1167 einen Wert von „3“ auf, da drei virtuelle Warteschlangen 102 einen virtuellen Index für den Slot 1117 speichern (z.B. die virtuellen Warteschlangen 102a, 102b und 102c einen Slot-Index 7 beinhalten). Der Parameter item _count[i] liefert eine Anzahl von Kopien eines Pakets, die in dem i-ten Slot 111 gespeichert sind (z.B. Slot 111i)., oder liefert die Anzahl von virtuellen Warteschlangen 102, die einen virtuellen (Warteschlangen-) Index für den i-ten Slot 111 (z.B. Slot 111i) speichern. Zudem liefert der Parameter queue[i] das im i-ten Slot 111 (z.B. Slot 111i) gespeicherte Paket. Des Weiteren wird ein Schreibindex 120 verwendet, um einen verfügbaren (oder unbelegten) Slot 111 anzugeben, in dem ein eingehendes Paket gespeichert werden kann.
  • Im Gegensatz zu der herkömmlichen Methode mit gemeinsam genutzter Warteschlange werden die Speicheradressen für Pakete, die zu derselben Instanz gehören, die über denselben Link kommuniziert (z.B. gesendet oder empfangen) werden sollen, in einer entsprechenden virtuellen Warteschlange 102 (z.B. einer der virtuellen Warteschlangen 102a, 102b, 102c oder 102d) gespeichert. Hier ist jede virtuelle Warteschlange 102 einer individuellen Instanz (z.B. Thread, Prozess, Objekt, Datenbankentität, Benutzer, Sitzung, App-Instanz, Vorrichtung usw.) und einem individuellen Link zugeteilt. Jede virtuelle Warteschlange 102 kann mit " U A B "
    Figure DE102022211529A1_0001
    bezeichnet sein, wobei „A“ die Instanz ist, die der virtuellen Warteschlange 102 zugeteilt ist, und „B“ der Link ist, der der virtuellen Warteschlange 102 zugeteilt ist. Zum Beispiel ist die virtuelle Warteschlange 102a mit " U 1 1 "
    Figure DE102022211529A1_0002
    bezeichnet, was der Instanz 1 zugeordnet ist und Daten speichert, die über den Link 1 zu übermitteln sind, und die virtuelle Warteschlange 102b ist mit " " U 1 2 "
    Figure DE102022211529A1_0003
    bezeichnet, was der Instanz 1 zugewiesen ist und Daten speichert, die über den Link 2 zu übermitteln sind.
  • Jede virtuelle Warteschlange 102 speichert einen Slot-Index, der auf einen Slot 111 verweist, der ein Paket speichert, das über eine spezifische Verbindung zu übertragen ist. Der Slot-Index kann auch als ein „Warteschlangenindex“, ein „virtuelles Paket“, ein „Ringpufferindex“ und/oder dergleichen bezeichnet werden. Der Slot-Index wird verwendet, um einen Slot 111 (oder eine Speicheradresse, die einem bestimmten Slot 111 entspricht) für ein Paket, das zu derselben Instanz gehört, zu referenzieren oder anderweitig anzugeben, um über einen individuellen Link kommuniziert zu werden. Der Slot-Index kann ein beliebiger geeigneter Datenwert sein, der Text, Zahlen und/oder dergleichen beinhaltet. In einigen Implementierungen kann der Slot-Index eine Referenz auf den Speicherort sein oder beinhalten, der die Datenpakete speichert, die mit einer entsprechenden Instanz und/oder Verbindung/einem Link assoziiert sind. Zusätzlich oder alternativ kann der Warteschlangenindex eine Kennung (ID) sein, die mit der Instanz assoziiiert ist (z.B. Instanz-ID), ein Hash der Instanz-ID, oder er kann unter Verwendung eines beliebigen geeigneten Mechanismus berechnet werden. Wann immer Daten (oder ein Datenpaket) von einer Warteschlange (z.B. einer ersten virtuellen Warteschlange 102) in eine andere Warteschlange (z.B. eine zweite virtuelle Warteschlange 102) zu kopieren oder zu verschieben sind, kopiert oder verschiebt der MQM den Slot-Index anstelle des Pakets selbst. Dies reduziert die Menge an Speicherplatz, die benötigt wird, um mehrere Warteschlangen für einzelne Instanzen und Links zu implementieren, wie es für MX-Knoten in MX-Kommunikationsumgebungen, wie etwa jene, die im Folgenden mit Bezug auf 9 bis 20 erörtert werden, der Fall ist.
  • Herkömmliche Ringpuffer werden üblicherweise unter Verwendung eines Zeigers, eines Lese- (Start-) Index und eines Schreib- (Ende-) Index implementiert. Hierbei schreibt eine Schreiboperation ein Element in die Schreib- (Ende-) Indexposition und inkrementiert den Schreib-(Ende-) Index auf die nächste Pufferposition. Zusätzlich liest eine Leseoperation ein Element aus der Lese- (Start-) Indexposition und inkrementiert den Lese- (Start-) Index auf die nächste Pufferposition. Im Gegensatz dazu nutzt der Ringpuffer 101 der Mehrfachverbindungswarteschlange 100 Push- und Pop-Funktionsaufrufe (z.B. den Push-Funktionsaufruf 200 bzw. den Push-Funktionsaufruf 300 der 2 bzw. 3), um es verschiedenen Instanzen und/oder Links zu erlauben, unabhängig von Zugriffen auf andere virtuelle Warteschlangen 102 durch andere Instanzen auf die Daten (Pakete) in ihren virtuellen Warteschlangen 102 zuzugreifen. Darüber hinaus unterstützt der Ringpuffer 101 einen Mehrinstanzenbetrieb, bei dem verschiedene Instanzen (z.B. Threads, Prozesse usw.) gleichzeitig auf den Ringpuffer 101 zugreifen können. Die Push- und Pop-Funktionsaufrufe können zum Beispiel gleichzeitig in (oder durch) verschiedenen Instanzen (z.B. Threads) aufgerufen werden.
  • In verschiedenen Ausführungsformen behält der MQM die folgenden Parameter bei: K ist die Anzahl von Links, die mit der betreffenden Vorrichtung verbunden sind (z.B. K = 2 im Beispiel von 1); N ist die Anzahl von Instanzen (z.B. Objekte, Prozesse, Threads, Benutzer, Sitzungen, App-Instanzen, Vorrichtungen usw.), die mit der betreffenden Instanz kommunizieren (z.B. 1000 oder N = 2 in dem Beispiel von 1); L ist die maximale Anzahl von Warteschlangenelementen (Slots) 111 pro Warteschlange (z.B. 1000 oder L = 12 in dem Beispiel von 1); B ist der Speicher, der jedem Warteschlangenelement (Slots) 111 in Bytes oder irgendeiner anderen Einheit (z.B. 2000 Bytes) zugeteilt ist; queue[i] liefert das (die) i-te im Ringpuffer 101 gespeicherte Paket(e); item_count[i] liefert die Anzahl virtueller Warteschlangen 102, die das Paket im i-ten Slot 111i speichern (oder einen Slot-Index speichern, der auf den i-ten Slot 111i verweist); U A B
    Figure DE102022211529A1_0004
    ist eine virtuelle Warteschlange 102 , die den Slot-Index für eine Instanz A speichert, die über einen Link B zu übertragen ist; queue_size ist die Anzahl belegter Slots 111 in queue[i]; und index ist ein Index 120 (oder ein anderer Zeiger), der auf den nächsten verfügbaren Slot 111 im Ringpuffer 101 zum Speichern von Daten oder einem Paket zeigt. In einigen Implementierungen kann der Parameter item_count[i] gleich 0 oder 1 für die Rx-Warteschlange(n) 100 sein. Zusätzlich oder alternativ kann der Parameter Element Count[i] für Tx-Warteschlange(n) 100 in einem Bereich von [0, K × N] liegen. Zusätzlich oder alternativ ist der Parameter item_count[i] gleich 1, wenn ein Paket für eine Instanz über einen einzelnen Link geplant wird. Zusätzlich oder alternativ ist der Parameter item _count[i] gleich K × N, wenn ein Paket zur Rund- (Broadcast-) Sendung an alle Instanzen über alle Links geplant wird.
  • Wenn alle Slots 111 belegt sind (z.B. queue size = L), kann in einigen Implementierungen der MQM eine oder mehrere virtuelle Indizes aus einer oder mehreren virtuellen Warteschlangen 102 basierend auf einer Warteschlangenverwaltungs-Verwurfsrichtlinie und/oder einer Aktiv-Warteschlangenverwaltungs- (active queue management, AQM-) Methode verwerfen. Zu Beispielen für solche Verwurfsrichtlinien und/oder AQM-Methoden zählen Drop-Front (oder Tail-Drop), Drop-Front (oder Front-Drop), RED (random early detection, zufällige Früherkennung), Adaptive RED (ARED), Robust RED (RRED), Stabilized RED (SRED), ECN (explicit congestion notification, explizite Überlastungsbenachrichtigung), CoDel (controlled delay, gesteuerte Verzögerung), PFIFO (Paket First in First Out), Blue, SFB (Stochastic Fair Blue), Resilient SFB (RSFB), Random Exponential Marking (REM), Modified REM (M-REM), RED with Preferential Dropping (RED-PD), CAKE (Common Applications Kept Enhanced), SQM (Smart Queue Management), PRC (Proportional Rate-based Control), Proportional-Integral- (PI- ) Steuerung und/oder eine andere Warteschlangenverwaltungs-/AQM-Methode (darunter z.B. die in [AC7128-US] erörterten) oder Kombinationen davon. Die virtuellen Warteschlangen 102 können auch einige oder alle der Pakete freigeben und sie an höhere Schichten weiterleiten, falls der MQM eine Neuordnungsprozedur oder dergleichen durchführt, wie etwa die vorliegend erörterten Methoden für hierarchische Neuordnung. Darüber hinaus kann die Gesamtanzahl von Paketen (einschließlich der kopierten und/oder duplizierten Pakete) in allen virtuellen Warteschlangen 102 gemäß Gleichung (1) berechnet werden. i = 0 L 1 i t e m _ c o u n t [ i ]
    Figure DE102022211529A1_0005
  • 2 zeigt einen beispielhaften Push-Funktionsaufrufprozess 200 gemäß verschiedenen Ausführungsformen. Der Prozess 200 (Push-Funktionsaufruf) kann durchgeführt werden, wenn ein Paket in eine oder mehrere virtuelle Warteschlangen 102 geschoben (gepusht) werden soll. Der Prozess 200 beginnt bei Operation 201, bei der ein MQM bestimmt, ob ein zu verarbeitenden Paket vorhanden ist (z.B. zur Übertragung über einen betreffenden Link oder dergleichen). Wenn keine zu verarbeitenden Pakete vorhanden sind, kehrt der MQM zurück, um Operation 201 durchzuführen, um die Überwachung auf zu verarbeitende Pakete fortzusetzen. Falls ein zu verarbeitendes Paket vorhanden ist, geht der MQM zu Operation 202 über, um das Paket in einen leeren oder unbelegten Slot 111 zu schieben, in dem das Paket gespeichert werden kann (z.B. Warteschlange[Index], wobei Index der Schreibindex 120 ist, der auf einen leeren oder unbelegten Slot 111 zeigt oder diesen anderweitig angibt. Bei Operation 203 inkrementiert der MQM den Warteschlangengrößenzähler (z.B. queue size = queue size + 1). Bei Operation 204 aktualisiert der MQM die Elementzählung 116 durch die Nummer des Slots 111, an den das Paket gesendet oder in dem dieses anderweitig gespeichert wird. In einigen Implementierungen wird die Elementzählung 116 basierend auf der Anzahl virtueller Warteschlangen 102 aktualisiert, in denen das Paket „gespeichert“ oder diesen anderweitig zugewiesen werden soll (z.B. item count[Index] = item_count[index] + T, wobei T die Anzahl der virtuellen Warteschlangen 102 ist, an die bzw. in denen das Paket (oder Slot-Index für das Paket) gesendet/gespeichert wird (z.B. T = 1 für virtuelle Rx-Warteschlangen 102)).
  • Bei Vorgang 205 fügt der MQM den Slot-Index des Slots 111, der das Paket speichert, in jede der virtuellen Warteschlangen 102, in denen das Paket geplant/gespeichert wird, ein. Hierbei kann der Slot-Index derselbe wie der Schreibindex 120 sein. Bei Operation 206 aktualisiert der MQM den Schreibindex 120 auf den nächsten Warteschlangenslot 111, der Daten oder Pakete speichern kann (z.B. einen leeren oder unbelegten Slot 111). In einigen Implementierungen kann der nächste Warteschlangenslot 111 ein vollständig leerer oder unbelegter Slot 111 sein oder kann teilweise leer/unbelegt sein (z.B. ein Slot 111, der genügend Platz zum Speichern eines zusätzlichen Pakets oder Fragments eines Pakets aufweist). In einigen Implementierungen beinhaltet Operation 206 eine Operation 207, bei der der MQM bestimmt, ob die Elementzählung 116 des nächsten leeren Slots 111 größer als null ist, und falls dies der Fall ist, aktualisiert er den Schreibindex 120 bei Operation 208. Wenn die Elementzählung 116 nicht größer als null ist, kehrt der MQM zu Prozess 200 zurück (oder beendet den Prozess 200). Zusätzlich oder alternativ kann Operation 206 Berechnen eines Moduls des Inkrements des Schreibindex 120 und der maximalen Anzahl von Slots 111 L beinhalten (z.B. während(item_count[index]) > θ) {index = (index + 1)% L 1, wobei „%“ die Modulo-Operation ist). Nach Operation 206 geht der MQM zurück, um bei Operation 201 ein nächstes zu verarbeitendes Paket zu detektieren. In einigen Implementierungen kann eine spezifische Bedingung oder ein spezifisches Kriterium, falls erfüllt, bewirken, dass der Prozess 200 endet oder abschließt.
  • 3 zeigt einen beispielhaften Push-Funktionsaufrufprozess 300 gemäß verschiedenen Ausführungsformen. Der Prozess 300 (Pop-Funktionsaufruf) kann durchgeführt werden, wenn ein Paket aus einer virtuellen Warteschlange freigegeben werden soll. Der Prozess 300 beginnt bei Vorgang 301, bei dem ein MQM bestimmt, ob ein zu verarbeitendes Paket vorhanden ist (z.B. zum Neuordnen und/oder zur Bereitstellung an eine Anwendung, einen Dienst oder höhere Schichten in einem Protokollstapel usw.). Wenn keine zu verarbeitenden Pakete vorhanden sind, kehrt der MQM zurück, um Operation 301 durchzuführen, um mit der Überwachung auf Pakete fortzufahren. Falls ein zu verarbeitendes Paket vorhanden ist, geht der MQM zu Operation 302 über, um einen Slot-Index aus einer virtuellen Warteschlange 102 zu identifizieren oder zu erhalten, und entfernt den Slot-Index aus der virtuellen Warteschlange 102. Bei Operation 303 erhält der MQM das Paket aus dem Ringpuffer 101 unter Verwendung des erhaltenen Slot-Index (z.B. Warteschlange[Index], wobei Index der erhaltene Slot-Index ist). Bei Operation 304 aktualisiert der MQM den Elementzählungsparameter 116 des Slots 111, aus dem das Paket erhalten wird (z.B. item_count[index] = item_count[index] - 1). Bei Operation 305 bestimmt der MQM, ob die Elementzählung 116 für den Slot 111 null ist (z.B. item _count[index] == 0), und falls dies der Fall ist, aktualisiert der MQM den Warteschlangengrößenparameter (z.B. falls (item_count[index] == 0) {queue size = queue size - 1}) und geht dann zurück zu Operation 301, um ein nächstes Paket zu verarbeiten, falls vorhanden. Wenn bei Operation 305 die Elementzählung 116 für den Slot 111 nicht null ist, geht der MQM zurück zu Operation 301, um ein nächstes Paket zu verarbeiten, falls vorhanden. Auf diese Weise wird, wenn sich die Elementzählung 116 für den Slot 111 auf 0 verringert, der Slot 111 zum Speichern eines neuen Pakets verfügbar. Wenn die Elementzählung 116 für einen Schlitz 111 null ist, wird das Paket nicht mehr für irgendeinen der Links virtueller Warteschlangen 102 benötigt, und daher wird der entsprechende Speicher (Slot 111) zum Speichern/Puffern anderer Pakete wiederverwendet. In einigen Implementierungen kann eine spezifische Bedingung oder ein spezifisches Kriterium, falls erfüllt, bewirken, dass der Prozess 300 endet oder abschließt.
  • 1.1.1. VERARBEITUNG VIRTIIELLER ÜBERTRAGUNGSWARTESCHLANGEN
  • 4 zeigt einen beispielhaften Paketverarbeitungsprozess 400 für eine oder mehrere virtuelle Tx-Warteschlangen 102 gemäß verschiedenen Ausführungsformen. Der Prozess 400 wird unter Bezugnahme auf das Beispiel von 1 beschrieben. Der Prozess 400 beginnt bei Operation 401; wenn ein Paket erzeugt oder geplant wird, über (oder durch) eine Netzwerkvorrichtung geroutet zu werden, speichert der MQM das Paket in einer geplanten oder designierten virtuellen Warteschlange 102 unter Verwendung des Push-Funktionsaufrufs (z.B. Prozess 200 aus 2). Das Beispiel von 1 beinhaltet zwei Instanzen (z.B. N = 2), zwei Links (z.B. K = 2), eine maximale Anzahl von Warteschlangenelementen 110 pro Warteschlange beträgt 12 (z.B. L = 12), und der Slot-Index ist 7, wenn ein Paket zur Speicherung im Puffer 101 eingeht. Bei Operation 401 speichert der MQM das Paket im Ringpuffer 101 am siebten Slot 1117 (z.B. Warteschlange[7]).
  • Bei Operation 402 plant der MQM das Paket für eine oder mehrere virtuelle Warteschlangen 102 und schiebt das Paket in die eine oder die mehreren geplanten virtuellen Warteschlangen 102. In dem Beispiel von 1 plant der MQM das Paket für drei virtuelle Warteschlangen, darunter U 1 1 ,   U 1 2
    Figure DE102022211529A1_0006
    und U 2 1 ,
    Figure DE102022211529A1_0007
    und schiebt den Slot-Index 7 in diese drei virtuellen Warteschlangen (z.B. U 1 1 : 7,   U 1 2 : 7
    Figure DE102022211529A1_0008
    und U 2 1 : 7
    Figure DE102022211529A1_0009
    wie durch die virtuellen Warteschlangen 102a, 102b und 102c gezeigt). Bei Operation 403 aktualisiert der MQM den Elementzählungsparameter. In dem Beispiel von 1 setzt der MQM die item_count[7] auf 3. Bei Operation 404 aktualisiert der MQM den Schreibindex 120. In dem Beispiel von 1 aktualisiert der MQM den Schreibindex 120 auf 8, um auf den Slot 1118 zu zeigen. Nach Operation 404 endet oder wiederholt sich die Push-Operation nach Bedarf.
  • Bei Operation 405 bestimmt der MQM, ob ein Link zur Übertragung bereit ist (z.B. unter Verwendung einer konfigurierten Ressourcenzuteilung oder Tx-Planung für zellulare Rats, Durchführen einer Energiedetektion und/oder einer Kanal-frei-Prüfung für WLAN- (z.B. WiFi-) RATs, Pingen eines Servers oder dergleichen, wenn der Link Teil eines Dienstes ist, usw.). Wenn der Link nicht für die Übertragung bereit ist (z.B. der Kanal belegt ist), kehrt der MQM zum Durchführen von Operation 405 zurück, um mit der Überwachung oder dem Detektieren fortzufahren, wann das Paket über den Link übertragen werden kann. Wenn ein Link (z.B. Link 1) für die Übertragung eines Pakets für einen Benutzer (z.B. Benutzer 1) bereit ist, ruft der MQM bei Operation 406 den Pop-Funktionsaufruf auf (z.B. Prozess 300 aus 3). Hier erhält oder identifiziert der MQM das erste Element in der virtuellen Warteschlange 102a (z.B. den Slot-Index 7), entfernt es aus der virtuellen Warteschlange 102a ( U 1 1 ) ,
    Figure DE102022211529A1_0010
    und das in Slot 1117 gespeicherte Paket (z.B. Warteschlange[7]) wird zur Übertragung über den Link 1 geliefert (z.B. Operationen 301 und 302 von 3). Dann aktualisiert der MQM die Elementzählung 116 (z.B. Operation 303 von 3). In diesem Beispiel wird die item_count[7] (Elementzählung 1167 in 1) auf 2 reduziert, was angibt, dass noch zwei Kopien des Pakets in zwei anderen virtuellen Warteschlangen 102 (z.B. den virtuellen Warteschlangen 102b und 102c) vorhanden sind. Nachdem alle anderen virtuellen Warteschlangen 102 den Index 7 freigegeben haben, wird item count[7] 0 (z.B. Operationen 304 und 305 von 3). Dies gibt an, dass der siebte Slot 1117 im Ringpuffer 101 zum Speichern eines neuen Pakets verfügbar ist.
  • 1.1.2. VERARBEITUNG VIRTUELLER EMPFANGSWARTESCHLANGEN
  • Die Operationen zum Verarbeiten von Paketen für virtuelle Rx-Warteschlangen 102 sind nahezu die gleichen wie die Operationen, die für virtuelle Tx-Warteschlangen 102 verwendet werden, wie zuvor mit Bezug auf 4 erläutert. Ein Unterschied besteht darin, dass in einigen Implementierungen der Elementzählungsparameter 116 (z.B. item count[i]) der virtuellen Rx-Warteschlangen 102 0 oder 1 beträgt. In diesen Implementierungen kann, wenn ein Paket aus einer virtuellen Warteschlange 102 freigegeben wird, der belegte Slot 111 sofort wieder verwendet werden. Darüber hinaus reduziert der MQM für den in [AD7258-US] beschriebenen Neuordnungsalgorithmus die Speicher auf O(L × B) + O((K - 1) × N × L × b) . Mit anderen Worten erfordern die virtuellen Rx-Warteschlangen 102 nur K - 1 Warteschlangen, um Pakete, die über K einzelne Links empfangen werden, neuzuordnen. Hierbei ist b die Größe des Index i in Bytes (oder einer anderen geeigneten Einheit). Tabelle 1.1.2-1 zeigt einen Vergleich der vorliegend erörterten Warteschlangenverwaltungsmethoden mit herkömmlichen Warteschlangenverwaltungsmethoden. Tabelle 1.1.2-1: Vergleich unterschiedlicher Verfahren zur Warteschlangenverwaltung
    Warteschlangenmethode Speichergröße/-zuteilung in O-Notation Warteschlangenoperationen (Push/Pop)
    einzelne physische Warteschlange (Keine Steuerung des Verkehrs auf Pro-Benutzer-auf-Verbindungs-Ebene) O(L × B) leichte Berechnung
    Mehrere physische Warteschlangen mit statischer Größe O(K × N × L × B) leichte Berechnung
    Mehrere physische Warteschlangen mit dynamischer Größe O(L × B) Durchführung von Zuteilungs-/Speicherfreigabeoperationen, die rechenintensiv sind
    mehrere virtuelle Warteschlangen 102 O(L × B) + O(K × N × L× b) leichte Berechnung
  • In einer beispielhaften Implementierung, bei der die Anzahl von Links 2 (K = 2) ist, die Anzahl von Benutzern 1000 (N = 1000) ist, die Anzahl von Paketen pro Warteschlange 1000 (L = 1000) beträgt und die Größe jedes Pakets (Bytes pro Paket) 2000 Bytes (B = 2000) beträgt, werden 4 Gigabyte (GB) Speicher benötigt (z.B. K × N × L × B), wenn physische Pro-UE/Pro-Verbindung-Warteschlangen verwendet werden. Im Gegensatz dazu wird die Speichermenge, die benötigt wird, wenn die vorliegend besprochenen virtuellen Warteschlangenmethoden verwendet werden, für Implementierungen unter Verwendung derselben Parameter K, N, Lund B auf 6 Megabyte (MB) reduziert, und die Größe des Index i beträgt 2 Bytes (b = 2).
  • 1.1.3. INDEXVERWALTUNG FÜR VIRTIIELLE WARTESCHLANGEN
  • 5 zeigt ein Beispiel für Indexoperationen 500 zum Verwalten virtueller Warteschlangen 102 gemäß verschiedenen Ausführungsformen. Das Beispiel von 5 demonstriert die Verwaltung einer betreffenden virtuellen Warteschlange 102 im Ringpuffer 101, wobei die virtuelle Warteschlange 102 eine virtuelle Warteschlange 102a ist, die zuvor mit Bezug auf 1 erläutert wurde. In dem Beispiel von 5 beträgt die Anzahl von Paketen pro Warteschlange 12 (L = 12), und für jede virtuelle Warteschlange U A B
    Figure DE102022211529A1_0011
    wird ein statischer Speicher mit einer Größe b × L verwendet, um den (Ringpuffer-) „Index“ zu speichern, wobei b die Bytegröße von „Index“ (z.B. ein einzelner Slot-Index) ist. Wie zuvor angedeutet, ermöglicht der Ringpuffer 101, dass die Pop- und Push-Funktionen (siehe z.B. 2 und 3) gleichzeitig in unterschiedlichen Instanzen (z.B. Threads) aufgerufen werden. Der Start-Slot 520 (start slot) ist die Position (Slot 111) eines ersten gespeicherten Slot-Index der betreffenden virtuellen Warteschlange 102, und der End-Slot 521 (end_slot) ist die Position (Slot 111) des nächsten verfügbaren (unbelegten) Slots 111, in dem ein neuer Slot-Index gespeichert werden kann. Die virtuelle Warteschlange ist leer, wenn ein Wert des Parameters des Start-Slots 520 derselbe ist wie der Wert des Parameters des End-Slots 521 (z.B. start slot = end slot).
  • In einigen Ausführungsformen aktualisiert eine Instanz oder ein Thread unter Verwendung der Push-Aufruffunktion (siehe z.B. 2) den End-Slot 521 (end slot) wie folgt: (1) Pushen des Slot-Index in den End-Slot 521 der virtuellen Warteschlange 102 (z.B. virtual_queue[end_slot]), und (2) Aktualisieren des Parameters end_slot (z.B. end_slot = (end_slot + 1) % L). Die Instanz oder der Thread, die/der die Push-Aufruffunktion verwendet, kann als eine „Schreibinstanz“ oder „Schreib-Thread“ bezeichnet werden.
  • Beispielsweise können in 5, wenn der Puffer 101 leer ist, der Parameter start slot und der Parameter end_slot einen Wert von 2 enthalten, um auf den Slot 1112 zu zeigen. Der MQM beginnt mit Hinzufügen eines ersten Pakets zu der betreffenden virtuellen Warteschlange 102a ( U 1 1 )
    Figure DE102022211529A1_0012
    durch Schieben des Slot-Index 7 in einem Slot 111, der durch den Parameter end_slot referenziert wird (z.B. Slot 1112, virtual queue[2]). Dann aktualisiert der MQM den Parameter end_slot so, dass er einen Wert von 3 enthält, um auf den Slot 1113 zu zeigen, der ein nächster Slot 111 der virtuellen Warteschlange 102a wird. Hierbei bleibt der Parameter start slot unverändert (z.B. start slot = 2), der nun der Start-Slot 520 für die virtuelle Warteschlange 102a ist. Der MQM fügt dann ein nächstes Paket zu der virtuellen Warteschlange 102a ( U 1 1 )
    Figure DE102022211529A1_0013
    hinzu, indem der Slot-Index 10 in einen Slot 111 geschoben wird, der durch den Parameter end_slot referenziert wird ( z.B. Slot 1113, virtual queue[3]), und aktualisiert dann den Parameter end_slot so, dass er einen Wert von 4 enthält, um auf den Slot 1114 zu zeigen. Dieser Prozess kann fortgesetzt werden, bis keine weiteren der virtuellen Warteschlange 102a hinzuzufügenden Pakete mehr vorhanden sind.
  • In einigen Ausführungsformen aktualisiert eine Instanz oder ein Thread unter Verwendung der Pop-Aufruffunktion (siehe z.B. 3) den Start-Slot 520 (start slot) wie folgt: (1) Liefern, Identifizieren oder anderweitiges Erhalten des Slot-Index, der in dem Start-Slot 520 gespeichert ist (z.B. virtual queue[start_slot]), und (2) Aktualisieren des Parameters start slot (z.B. start slot = (start slot + 1) % L). Die Instanz oder der Thread, die/der die Pop-Aufruffunktion verwendet, kann als die „Leseinstanz“ oder der „Lese-Thread“ bezeichnet werden.
  • In Fortführung des vorherigen Beispiels, bei dem die virtuelle Warteschlange 102a ( U 1 1 )
    Figure DE102022211529A1_0014
    den Slot-Index 7 und den Slot-Index 10 speichert (z.B. in 5 als " U 1 1 : 7,   10 "
    Figure DE102022211529A1_0015
    repräsentiert), zeigt der Parameter start slot (Start-Slot 520) auf den Slot 1112, und der Parameter end_slot (End-Slot 521) zeigt auf Slot 1114. Wenn die Pakete, die in der betreffenden virtuellen Warteschlange 102a „gespeichert" sind, verarbeitet werden, ruft der MQM den ersten Slot-Index aus der betreffenden virtuellen Warteschlange 102a ab (z.B. Slot-Index 7 oder virtual queue[2]). Dann aktualisiert der MQM den Parameter start slot auf einen Wert von 3, um auf den Slot 1113 zu zeigen, der der nächste Slot 111 der virtuellen Warteschlange 102a ist. Wenn die nächste Pop-Aktion aufgerufen wird (siehe z.B. 3), wird der Slot-Index 10, der im Slot 1113 gespeichert ist (z.B. virtual queue [3]), geliefert. Dann aktualisiert der MQM den Parameter start slot auf einen Wert von 4, um auf den Slot 1114 zu zeigen, der in diesem Beispiel der End-Slot 521 ist (z.B. start slot = end_slot = 4). Da der Parameter start slot einen gleichen Wert wie der Parameter end_slot aufweist, ist die betreffende virtuelle Warteschlange 102a leer.
  • 1.2. HIERARCHISCHE MULTI-LINK-NEUORDNUNGSMETHODEN
  • Wie zuvor erwähnt, kann sich eine Netzwerkvorrichtung (oder ein MA-Knoten) gleichzeitig mit mehreren Netzwerken unter Verwendung einzelner Links (Links) derselben oder unterschiedlicher RATs (z.B. LTE, WiFi, 5G usw.) verbinden, aber nur eine der mehreren Links ist zur Datenübertragung aktiv. Gemäß verschiedenen Ausführungsformen wird ein Konvergenzschichtprotokoll (z.B. [GMA14]) verwendet, um dieses Problem zu adressieren. Wie in 12 gezeigt, arbeitet eine GMA-Entität innerhalb der Konvergenzschicht zwischen der Netzwerkschicht und der Verbindungsschicht. Die GMA-Entität verbessert die Qualität des Benutzererlebnisses (Quality of Experience, QoE), indem Daten dynamisch über mehrere Netzwerke zugeteilt werden. Es gibt zwei Schlüsselentitäten in der Konvergenzschicht, einschließlich einer Sender- (Tx-) Entität und einer Empfänger- (Rx-) Entität. Die Gc- und/oder Gc-Entitäten (nachstehend erörtert) können entweder eine GMA-Tx-Entität und/oder eine GMA-Rx-Entität sein.
  • Die GMA-Tx-Entität kann eine oder mehrere der folgenden Operationen durchführen: Lenken (z.B. Verschieben von Datenverkehr von einer Verbindung zu einer anderen), Aufteilen (z.B. Aufteilen von Datenverkehr und Senden desselben über mehrere Verbindungen) und Duplizieren (z.B. Senden duplizierter Kopien von Benutzerdatenverkehr über mehrere Verbindungen). Die GMA-Rx-Entität führt Ende-zu-Ende- (e2e-) QoS-Messungen (z.B. Verlust, Verzögerung, Durchsatz usw.) basierend auf empfangenen Daten und/oder Steuerpaketen durch. Die GMA-Rx-Entität ordnet auch reihenfolgeveränderte Pakete um, die von (über) verschiedenen Verbindungen/Links ankommen, und eliminiert redundante Pakete.
  • Die vorliegende Offenbarung stellt Methoden zum Neuordnen reihenfolgeveränderter Pakete während einer Inter-RAT- und Intra-RAT-Verkehrslenkung bereit. Inter-RAT-Verkehrslenkung beinhaltet Verkehrslenkung zwischen zwei Verbindungen mit unterschiedlichen RATs (z.B. LTE-RAT und WiFi-RAT), und Intra-RAT-Verkehrslenkung beinhaltet Verkehrslenkung zwischen zwei Verbindungen derselben RAT (z.B. zwei WiFi-RATs, zwei 5G/NR-RATs usw.). In einigen Ausführungsformen startet der Neuordnungsprozess, wenn Verkehr von einer Verbindung zu einer anderen gelenkt wird, und endet, wenn alle Pakete, die über die vorherige Verbindung gesendet werden, geliefert wurden.
  • 1.2.1. NEUORDNUNGSMETHODEN FÜR VERKEHRSLENKUNG
  • Eine gattungsgemäße Neuordnungsmethode für alle Arten von Inter-RAT- und/oder Intra-RAT-Verkehrslenkung ist in der gleichzeitig anhängigen US-Anmeldung Nr. („[AE0292-US]“) definiert, deren Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird. In einigen Ausführungsformen hängt die vorliegend erörterte hierarchische Multi-Link-Neuordnungsprozedur nicht von Steuernachrichten ab, da ein GMA-Tx vor einer Verkehrslenkung möglicherweise keine Steuernachrichten überträgt oder die Steuernachricht verloren gehen kann. Falls zum Beispiel ein Client (z.B. der MX-Client 901) detektiert, dass der erste RAT- (z.B. WiFi-) Link verloren geht, kann der Client seine Uplink-Datenverbindung sofort auf einen zweiten RAT- (z.B. LTE-) Link ändern.
  • In einigen Ausführungsformen startet eine Rx- (z.B. GMA-Rx-) Entität den Neuordnungsprozess immer dann, wenn ein Datenpaket über eine Verbindung empfangen wird, die sich von einer zum Empfangen eines vorherigen Datenpakets verwendeten Verbindung unterscheidet. Die Zustellverbindung eines Datenpakets kann aus den Informationen in einem GMA-Header erhalten werden (vgl. z.B. [GMA14] sowie die nachstehend erörterten 18 und 19). Die Informationen im GMA-Header können zum Beispiel eine Verbindungskennung (ID) (z.B. für Inter-RAT-Szenarien) und/oder Quell-IP und Portnummer des Liefertunnelpaketheaders (z.B. für Intra-RAT-Szenarien) beinhalten. Zusätzlich oder alternativ kann dem GMA-Header ein neues Ein-Bit-Intra-RAT-Steuerflag hinzugefügt werden, um explizit auszulösen, dass die Rx-Entität eine Intra-RAT-Neuordnung startet. In diesen Implementierungen ändert die Tx-Entität das Bit des Intra-RAT-Steuerflags (z.B. von 1 auf 0 oder von 0 auf 1), wenn Pakete über eine neue (z.B. Intra-RAT-) Verbindung gesendet werden. In Reaktion hierauf löst die Rx-Entität entsprechend eine Intra-RAT-Neuordnung aus.
  • In einigen Ausführungsformen stoppt die Rx-Entität den Neuordnungsprozess, wenn eine der folgenden Bedingungen erfüllt ist: (1) die Endmarkierung wird von der alten (vorherigen) Verbindung empfangen; (2) das erste Paket über die neue Verbindung entspricht der Reihenfolge; und/oder (3) das erste Paket über die neue Verbindung hat im Neuordnungspuffer bis zu einem Neuordnungs-Timeout (reordering timeout, RTO) gewartet.
  • In einigen Implementierungen kann ein RTO-Timer auf einen vordefinierten oder konfigurierten Wert (z.B. 100 Millisekunden (ms) oder dergleichen) eingestellt werden. Zusätzlich oder alternativ kann der RTO-Timer-Wert auf Einwegverzögerungs- (one-way delay, OWD-) Messungen der alten Verbindung (Told) und OWD-Messungen der neuen Verbindung (Tnew) basieren. Tnew kann durch die Rx-Entität als die Differenz zwischen der Empfangszeit und der Übertragungszeit gemessen werden, die aus dem Zeitstempelfeld im GMA-Header erhalten werden kann (vgl. z.B. [GMA14] sowie die nachstehend erörterten 18 und 19). Zusätzlich oder alternativ kann Told unter Verwendung der maximalen oder mittleren OWD aller Pakete approximiert werden, die über die alte Verbindung in einem vorherigen Zeitraum (z.B. 2 Sekunden oder dergleichen) geliefert wurden. Zusätzlich oder alternativ kann Told unter Verwendung der OWD-Messung des letzten über die alte Verbindung gelieferten Pakets approximiert werden. Es können auch andere Verfahren zum Messen oder Inferieren der OWD verwendet werden. Falls die OWD-Messungen (Told, Tnew) verfügbar sind, kann die Rx-Entität den RTO-Timer gemäß Gleichung (2) einstellen oder aktualisieren. c × ( T o l d T n e w )
    Figure DE102022211529A1_0016
  • In Gleichung (2) ist Tnew die OWD eines ersten Pakets, das über eine neue oder andere Verbindung empfangen wird, Told die geschätzte OWD der alten (zuvor verwendeten) Verbindung und c ein konfigurierbarer RTO-Faktor oder -Parameter (z.B. 1,5 oder dergleichen). In einigen Implementierungen schneidet der Rx den aktualisierten RTO-Timer-Wert im Bereich von [0, RTOmax] ab, wobei RTOmax ein vordefinierter oder konfigurierter maximaler RTO-Wert ist. Da in einigen Implementierungen nur die Einwegverzögerungsdifferenz von Interesse ist, müssen die Tx- und die Rx-Entität nicht zeitlich synchronisiert werden. Es ist anzumerken, dass die Bezeichnungen „alt“ und „neu“ in Bezug auf die unterschiedlichen Verbindungen keinen Zeitpunkt einer Einrichtung oder ein Alter der verwendeten Technologie bezeichnen. Vielmehr sollen die Bezeichnungen „alt“ und „neu“ im Kontext unterschiedlicher Verbindungen Verbindungen basierend auf einer relativen Zeit von Paketen über diese Verbindungen voneinander unterscheiden.
  • 6 zeigt eine beispielhafte Neuordnungsprozedur 600 für Verkehrslenkung gemäß verschiedenen Ausführungsformen. Die Prozedur 600 wird zwischen einem Sender (Tx) (z.B. einem GMA-Tx) und einem Empfänger (Rx) (z.B. einem GMA-Rx) über zwei Verbindungen durchgeführt, einschließlich einer ersten Verbindung (C1) und einer zweiten Verbindung (C2). Die Verbindungen C1 und C2 können Links derselben RAT oder Links unterschiedlicher RATs sein.
  • Die Prozedur 600 beginnt damit, dass der Tx ein Paket mit einer SN von N (wobei N eine Zahl ist) über C1 sendet (in 6 mit „P(N)“ gekennzeichnet, wobei „P“ sich auf „Paket“ oder „PDU“ bezieht und „N“ sich auf einen Wert der SN bezieht) und schließlich eine Endmarkierung (EM) mit einer Sequenznummer (SN) von N über C1 sendet (in 6 mit ,,E(N)" gekennzeichnet, wobei sich „E“ auf „Endmarkierung“ oder „EM“ bezieht und „N“ auf einen Wert der SN verweist). Die EM ist ein Paket, das das Ende der Datenlieferung über eine Verbindung (z.B. die zum Vermitteln des EM-Pakets verwendete Verbindung) angibt. Die EM gibt an, dass Daten nach dem Übertragen eines oder mehrerer EM-Pakete von der Verbindung weg gelenkt werden. In einigen Implementierungen ist die EM ein Paket mit einem leeren Nutzdatenabschnitt, behält aber GMA-Header-Felder wie etwa das SN-Feld bei. Das EM-Paket kann ein Daten-(Benutzerebenen-) Paket oder ein Steuerpaket sein. In diesem Beispiel beinhaltet die EM die gleiche SN wie das zuvor gesendete Datenpaket (z.B. den Wert von „N“). In anderen Implementierungen ist die EM-SN immer auf die SN des zuvor gesendeten Pakets gesetzt (z.B. die letzte/vorherige SN über die alte (vorherige) Verbindung).
  • In diesem Fall wird, wenn der Tx Verkehr von C1 auf C2 lenkt, kein Neuordnen gestartet, da der Rx die EM (z.B. ,,E(N)") über C1 empfängt, bevor das erste Datenpaket über C2 empfangen wird (z.B. ,,P(N+1)"). Aus der Perspektive des Rx wird C1 beendet, bevor C2 aktiviert wird, und daher besteht keine Notwendigkeit für eine Paketneuordnung.
  • Als Nächstes sendet der Tx ein Paket mit einer SN von 7V+1 über C2 (z.B. ,,P(N+1)"), sendet schließlich eine EM mit einer SN von M (wobei M eine Zahl ist) über C2 (z.B. „E(M)“), und sendet dann ein Paket mit einer SN von M+1 über C1 (z.B. ,,P(M+1)"). Hier wird eine Neuordnung am Rx gestartet, wenn P(M+1) über die neue Verbindung (z.B. C1) eintrifft, und diese endet, wenn E(M) über die alte Verbindung (z.B. C2 in diesem Beispiel) eintrifft. In diesem Beispiel ist die EM aufgrund einer längeren Einwegverzögerung über C2 verzögert.
  • Der Tx sendet dann Daten mit einer SN von P (wobei P eine Zahl ist) über C1 („P(P)“) und sendet dann eine EM mit einer SN von P über C1 („E(P)“), die verloren geht oder anderweitig nicht vom Rx empfangen wird (wie in 6 durch „{x}“ angegeben ist). Dann sendet der Tx ein Paket mit einer SN von P+1 über C2 („P(P+1)“). Hier wird eine Neuordnung gestartet, wenn P(P+1) über die neue Verbindung (z.B. in diesem Beispiel C2) eintrifft, und diese endet, wenn P(P) am Rx über die alte Verbindung (z.B. in diesem Beispiel C1) eintrifft. Obwohl E (P) verloren geht, findet dennoch das Neuordnen statt, da alle Pakete vor P(P+1) (z.B. Pakete mit einer SN, die kleiner oder weniger als P+1 ist) am Rx empfangen wurden. Mit anderen Worten wird P(P+1) reihenfolgekonform.
  • Zu einem späteren Zeitpunkt sendet der Tx ein Paket mit einer SN von Q (wobei Q eine Zahl ist) über C2 („P(Q)“)und sendet dann eine EM mit einer SN von Q über C2 („E(Q)“), die verloren geht oder anderweitig nicht vom Rx empfangen wird. Als Nächstes sendet der Tx ein Paket mit einer SN von Q+1 über C1 („P(Q+1)“), das verloren geht oder anderweitig nicht vom Rx empfangen wird. Dann sendet der Tx ein anderes Paket mit einer SN von Q+2 über C1 („P(Q+2)“), das schließlich an den Rx geliefert wird. Hier wird eine Neuordnung ausgelöst, wenn P(Q+2) über die neue Verbindung eintrifft (z.B. in diesem Beispiel C1), und diese endet, nachdem ein RTO deklariert wurde oder anderweitig stattfindet (z.B. nach Ablauf eines RTO-Timers). Dies liegt daran, dass sowohl P(Q+1) als auch E(Q) verloren gehen.
  • 1.2.2. VERBESSERUNGEN EMPFÄNGER-INITIIERTER VERKEHRSLENKUNG
  • In einigen Fällen wählt der Rx eine Verbindung zur Datenübertragung auf Grundlage der Qualitäten verfügbarer Verbindungen aus, wofür in 7 ein Beispiel gezeigt ist. 7 zeigt eine beispielhafte verbesserte Neuordnungsprozedur 700 für Rx-initiierte Verkehrslenkung gemäß verschiedenen Ausführungsformen. Die Prozedur 700 beginnt damit, dass der Rx eine Verkehrslenkungsanfragenachricht über C1 an den Tx sendet („S(c1)“ in 7, wobei „S“ eine Lenkungsanfragenachricht repräsentiert und „c1“ die angefragte Verbindung C1 repräsentiert). Zusätzlich oder alternativ wird die Verkehrslenkungsanfrage über die Verbindung gesendet, die angefragt wird (z.B. in diesem Beispiel C1). Nach dem Empfangen der Verkehrslenkungsanfrage sendet der Tx eine EM mit einer SN von N (wobei N eine Zahl ist) („E(N)“) über die alte Verbindung (z.B. in diesem Beispiel C2) und beginnt schließlich mit der Übertragung über die angefragte Verbindung (z.B. in diesem Beispiel C1). Dies kann ein Senden einer Bestätigungsnachricht (acknowledgement message, ACK) über die angefragte Verbindung (z.B. in diesem Beispiel C1) und dann Senden eines Pakets mit einer SN von P („P(P)“) über die angefragte Verbindung (z.B. in diesem Beispiel C1) beinhalten.
  • Für eine solche Rx-initiierte Verkehrslenkung kann der gattungsgemäße Neuordnungsprozess dadurch verbessert werden, dass der Rx den Paketneuordnungsprozess startet, wenn die Verkehrslenkungssteuernachricht gesendet wird. Mit dieser Verbesserung inspiziert RX die Verbindung nicht. In 7 beginnt der Rx zum Beispiel den Neuordnungsprozess, wenn S(c1) gesendet wird.
  • Zusätzlich sendet der Rx eine weitere Verkehrslenkungsanfragenachricht über C2 („S(c2)“ in 7) an den Tx, da zum Beispiel vom Rx eine OWD auf C1 gemessen wird. Als Reaktion sendet der Tx eine EM mit einer SN von P (wobei P eine Zahl ist) über C1 („E(P)“), die vom Rx nicht empfangen wird, und anschließend sendet der Tx eine ACK über C1. Als Nächstes sendet der Tx ein Paket mit einer SN von P+1 über C2 („P(P+1)“), das am Rx vor P(P) empfangen wird. Die Verzögerung beim Verarbeiten dieser Pakete ist verringert, da der Neuordnungsprozess initiiert wurde, als der Rx S(c2) sendete.
  • In einem anderen Beispiel sendet der Rx, nachdem der Tx ein Paket mit SN von Q (wobei Q eine Zahl ist) über C2 („P(Q)“) gesendet hat, eine weitere Verkehrslenkungsanfragenachricht über C2 („S(c1)“) an den Tx. Anschließend sendet der Tx eine EM mit einer SN von Q („E(Q)“) über die alte Verbindung (z.B. in diesem Beispiel C2), die vom Rx nicht empfangen wird, und dann sendet der Tx eine ACK über die angefragte Verbindung (z.B. in diesem Beispiel C1). Als Nächstes sendet der Tx ein Paket mit einer SN von Q+1 über C1 („P(Q+1)“), das verloren geht oder anderweitig nicht vom Rx empfangen wird. Dann sendet der Tx ein anderes Paket mit einer SN von Q+2 über C1 („P(Q+2)“), das schließlich an den Rx geliefert wird. Hier läuft eine Neuordnung seit der Übertragung von S(c1) und endet, nachdem ein RTO deklariert wurde oder anderweitig stattfindet (z.B. nach Ablauf eines RTO-Timers).
  • In einigen Implementierungen ist die Lenkungsanfragenachricht eine MX-Verkehrslenkungsanfrage oder eine MX-Verkehrslenkungsantwort wie in [RFC8743] und [AE0292-US] erörtert. Zusätzlich oder alternativ ist die Lenkungsanfragenachricht eine Sondierungsnachricht (z.B. eine MX-Sondierungsanfrage oder eine MX-Sondierungs-ACK-Nachricht) wie in [RFC8743], [UPMAMS] und [AE0292-US] erörtert. Die Sondierungsnachricht wird hauptsächlich für Pfadqualitätsmessungen (z.B. Umlaufzeit (round trip time, RTT) und dergleichen) verwendet. Zusätzlich oder alternativ ist die Lenkungsanfragenachricht eine Verkehrsaufteilungsaktualisierungs- (Traffic Splitting Update, TSU-) Nachricht wie in [RFC8743], [UPMAMS] und [AE0292-US] erörtert. Die TSU enthält Verkehrsaufteilungs-/lenkungskonfigurationsparameter (zum Beispiel Aufteilungsverhältnis und dergleichen) und wird verwendet, um Verkehrsaufteilung/-lenkung für einen oder mehrere Flüsse zu konfigurieren. In einem Beispiel kann eine GMA-Entität (z.B. die Rx-Entität in 7) Verkehr zu Verbindung x lenken, indem das Aufteilungsverhältnis von Link x auf 1 und das Aufteilungsverhältnis anderer Links auf 0 gesetzt wird.
  • Eine TSU kann die folgenden Parameter beinhalten: eine Fluss-ID zum Identifizieren des Flusses; K [i] (wobei i = 1, ... , N) ist die Anzahl von Paketen, die über den i-ten Link pro Verkehrsaufteilungszyklus gesendet werden, wobei N die Anzahl von Zustellverbindungen ist; und L ist die Gesamtanzahl von Paketen pro Verkehrsaufteilungszyklus. Die TSU kann ein individuelles Feld für jeden Link beinhalten (zum Beispiel K[1] für einen ersten Link, K[2] für einen zweiten Link und so weiter). In einem Beispiel werden, falls K[1] = K[2] = 5 und L = 10, immer für jeweils 10 Pakete 5 Pakete über eine erste Zustellverbindung (RAT1) und die verbleibenden 5 Pakete über eine zweite Zustellverbindung (RAT2) gesendet. In einem anderen Beispiel wird, falls K[1] = K[2] = L = 1, jedes Paket über beide Verbindungen gesendet (z.B. Duplizieren). In einem anderen Beispiel werden bei Setzen von K[1] = L = 1 und K[2] = 0 alle Pakete nur über die erste Verbindung (RAT1) und bei Setzen von K[2] = L = 1 und K[1] = 0 alle Pakete nur über die zweite Verbindung (RAT2) gesendet.
  • In einigen Implementierungen können die zuvor erwähnten ACKs Verkehrsaufteilungs-ACKs (TSAs) sein, bei denen es sich um Bestätigungsnachrichten handelt, die verwendet werden, um den erfolgreichen Empfang von TSUs zu bestätigen. Eine TSA enthält einen Zeitstempel für OWD-Messung und zudem einen „StartSN“-Parameter pro Fluss. Bei StartSN handelt es sich um eine Sequenznummer des ersten Pakets, die die Verkehrsaufteilungskonfiguration verwendet, die von einer entsprechenden TSU bereitgestellt wird. Zusätzlich oder alternativ können die vorstehend erwähnten ACKs MX-Verkehrslenkungsantwortnachrichten, MX-Sondierungs-ACK-Nachrichten und/oder dergleichen sein.
  • 1.2.3. VERBESSERUNG HIERARCHISCHER (INTER-RAT- UND INTRA-RA T-) NEUORDNUNG
  • Die Neuordnungsmechanismen berücksichtigen zudem eine gleichzeitige Durchführung von Inter-RAT- und Intra-RAT-Verkehrslenkung. Dies kann zum Beispiel auftreten, wenn eine GMA-Entität Inter-RAT-Verkehrslenkung von Verkehr durchführt (z.B. von WiFi zu LTE oder umgekehrt) und zudem entscheidet, eine Intra-RAT-Verkehrslenkung umzulenken (z.B. von einer ersten WiFi-Verbindung auf eine zweite WiFi-Verbindung). Ein Problem, das sich ergeben kann, besteht darin, dass die Rx-Entität nicht bestimmen kann, ob eine empfangene EM einer Inter-RAT-Verkehrslenkung oder einer Intra-RAT-Verkehrslenkung dient.
  • Um ein solches Problem zu beheben, kann ein neues Ein-Bit-Flag zu beliebigen der vorliegend erörterten Paketformate hinzugefügt werden (darunter z.B. solche, die für EM-Pakete verwendet werden), wobei ein erster Wert (z.B. ein Wert von „0“) angibt, dass das Paket (z.B. EM-Paket) für Intra-RAT-Verkehrslenkung verwendet wird, und ein zweiter Wert (z.B. ein Wert von „1“) angibt, dass das Paket (z.B. EM-Paket) für Inter-RAT-Verkehrslenkung verwendet wird. Darüber hinaus kann das Neuordnen auf eine mehrstufige hierarchische Weise durchgeführt werden. Infolgedessen kann die Rx-Entität bis zu einen Inter-RAT-Neuordnungs- und N Intra-RAT-Neuordnungsprozesse gleichzeitig ausführen, wobei N die Anzahl von RATs ist, die Intra-RAT-Verkehrslenkung unterstützen.
  • 8 zeigt eine beispielhafte hierarchische Neuordnungspipeline 800 für gleichzeitige Inter-RAT- und Intra-RAT-Neuordnung gemäß verschiedenen Ausführungsformen. Auf einer Inter-RAT-Neuordnungsstufe 801 werden Pakete über unterschiedliche Verbindungen („Links“) derselben RAT empfangen, und es erfolgt zunächst eine Intra-RAT-Neuordnung. Eine Intra-RAT-EM (EMintra-RAT) wird verwendet, um die Intra-RAT-Neuordnung zu beenden, und wird nicht an die nächste Stufe geliefert. Zudem werden Inter-RAT-EMs (EM inter-RAT) als normale Pakete behandelt und werden reihenfolgekonform geliefert. Da Inter-RAT-EMs (EMinter-RAT) die gleiche SN des letzten Datenpakets tragen und als ein letztes Paket über eine alte Verbindung übertragen werden, wird die Inter-RAT-EM nach der Neuordnung stets am Ende der übrigen Pakete platziert. Auf der Inter-RAT-Neuordnungsstufe 802 werden Inter-RAT-EMs (EMinter-RAT) verwendet, um die Inter-RAT-Neuordnung zu beenden. Die Stufen 801 und 802 können die Neuordnungsprozedur 600 oder die Prozedur 700 verwenden.
  • 2. MEHRFACHZUGANGSVERWALTUNGSDIENSTE (MAMS) UND GENERISCHER MEHRFACHZUGANG (GMA)
  • Heutzutage kann eine Vorrichtung (z.B. Mobilstationen, Benutzergeräte (UEs, User Equipment) usw.) basierend auf unterschiedlichen Technologieimplementierungen (einschließlich unterschiedlicher Funkzugangstechnologien (RATs, Radio Access Technologies) und Netzwerkarchitekturen gleichzeitig mit mehreren Kommunikationsnetzwerken verbunden werden. In solchen Multikonnektivitätsszenarien kann es wünschenswert sein, mehrere Zugangsnetzwerke zu kombinieren oder das beste auszuwählen, um ein Bedienerlebnis (QoE) für einen Benutzer zu verbessern und die Gesamtnetzwerknutzung und -effizienz zu verbessern. Ein Zugangsnetzwerk ist das Segment in einem Netzwerk, das Benutzerdatenpakete über einen Zugangslink, wie etwa einen WiFi-Luft-Link, einen zellularen Luft-Link oder DSL, an einen Client zustellt. Durch intelligente Auswahl und Kombination der verwendeten Pfade für die Benutzerebene (user plane, UP) können die von den Endbenutzern wahrgenommene Gesamt-QoE sowie die Nutzung der Ressourcen optimiert werden. Bei einer fortgeschrittenen Lösung können die Netzwerkpfade basierend auf der Kenntnis aktueller Bedingungen in den relevanten Zugangsnetzen dynamisch ausgewählt werden. Das MAMS-(Mehrfachzugangsverwaltungsdienst-) Framework ermöglicht die intelligente Auswahl und flexible Kombination von Zugangs- und Kernnetzwerkpfaden basierend auf definierten Richtlinien. Durch die Verwendung aktueller Informationen aus verfügbaren Zugangsnetzwerken können die bestmögliche Netzwerkeffizienz und Endbenutzer-QoE-Wahrnehmung basierend auf Anwendungsbedürfnissen garantiert werden. Das MAMS-Framework kann verwendet werden, um flexibel die Kombination von Uplink- (UL-) und Downlink- (DL-) Zugangs- und - Kernnetzwerkpfaden mit einer optimalen Performannz und einer UP-Behandlung zum Verbessern von Netzwerknutzung und -effizienz und verbesserter QoE für Benutzeranwendungen (Apps) auszuwählen. Mit dem MAMS-Framework können die optimalen Netzwerkpfade auf UP-Ebene ohne jegliche Auswirkung auf die Steuerebenensignalisierung der zugrunde liegenden Zugangsnetzwerke ausgewählt werden. Zusätzliche Aspekte des MAMS-Framework werden in Kanugovi et al., „Multi-Access Management Services (MAMS)“, Internet Engineering Task Force (IETF), Request for Comments (RFC) 8743 (März 2020) („[RFC8743]“) erörtert, deren Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird.
  • 9 stellt ein beispielhaftes Mehrfachzugangs- („MX“- oder „MA“-) Netzwerk 900 dar, das MAMS-Technologie nutzt. Insbesondere zeigt 9B einen MAMS-e2e-UP-Protokollstapel im MX-Netzwerk 900, der sowohl WiFi- als auch 3GPP-basierten Zugriff umfasst. In diesem Beispiel beinhaltet ein MX-Client 901 einen UP-Protokollstapel 902 und ein Server 940 einen UP-Protokollstapel 942.
  • Der MX-Client 901 ist eine Endbenutzervorrichtung, die Verbindungen mit einem oder mehreren Zugangsknoten unterstützt, möglicherweise über verschiedene Zugangstechnologien (oder RATs), und wird auch als eine Benutzerstation, eine Benutzervorrichtung, ein Benutzergerät (UE) oder ein Mehrfunk-UE 901 bezeichnet. Der Client 901 kann ein Multikonnektivitätsclient 901 sein, der mehrere Netzwerkverbindungen aufweist oder unterstützt.
  • Der MX-Server 940 (oder „MAMS-Server 940“) stellt MAMS-bezogene Benutzerebenen-(UP-) Funktionalitäten und/oder -Optimierungen im Netzwerk 900 bereit. Der MX-Server 940 kümmert sich um Aggregation mehrerer Netzwerkpfade 905, 906, 907 und/oder das Weiterleiten von Benutzerdatenverkehr über mehrere Netzwerkpfade 905, 906, 907 hinweg. Der MX-Server 940 kann auch als MX-Gateway und/oder Netzwerk-Mehrfachzugangsdatenproxy (N-MADP - Network Multi Access Data Proxy) bezeichnet werden (vgl. z.B. N-MADP 1037 in 10). In der gesamten vorliegenden Offenbarung kann der MX-Server 940 als Server 940, MAMS-Server 940, MA-Server 940, Edge-Knoten 940, MEC-Host 940, MAMS-MEC-System 940 oder dergleichen bezeichnet werden. Wenn der Client 901 Pakete an den Server 940 sendet, kann der Client 901 als „MAMS-Sender“, „MX-Sender“ oder dergleichen bezeichnet werden, und der Server 940 kann als „MAMS-Empfänger“, „MX-Empfänger“ oder dergleichen bezeichnet werden. Wenn der Client 901 Pakete vom Server 940 empfängt, kann der Client 901 als „MAMS-Empfänger“, „MX-Empfänger“ oder dergleichen bezeichnet werden, und der Server 940 kann als „MAMS-Sender“, „MX-Sender“ oder dergleichen bezeichnet werden.
  • In einigen Implementierungen läuft der MAMS-Server 940 in einem Edge-Rechenknoten eines geeigneten Edge-Computing-Frameworks. Zum Beispiel kann der Edge-Rechenknoten ein oder mehrere Edge-Server, Edge-Plattformen, Edge-Hosts usw. sein. Zusätzlich oder alternativ kann der MX-Server 940 eine oder mehrere Edge-Anwendungen (Apps) sein, die durch einen oder mehrere Edge-Rechenknoten betrieben werden. Beispiele für geeignete Edge-Computing-Frameworks beinhalten [MEC], [SA6Edge], [O-RAN], [ISEO] und dergleichen. Zusätzlich oder alternativ kann der MX-Server 940 von einem/r Cloud-Computing-System, -Dienst oder - Plattform und/oder als eine verteilte App betrieben werden, die von einem Cloud-Dienst betrieben wird.
  • Das MX-UE 901 (oder „Multifunk-UE 901“) greift über ein oder mehrere (Funk-) Zugangsnetze (,,(R)ANs") 910 und den Server 940 auf ein Datennetzwerk (DN) 975 oder einen lokalen Dienst 970 (auch als lokales DN 970 bezeichnet) zu oder kommuniziert anderweitig mit diesem. Jedes (R)AN 910 ist ein Segment in einem Netzwerk, das Benutzerdatenpakete, die eine drahtgebundene Verbindung (z.B. Ethernet, DSL, Coax, USB und/oder dergleichen) oder eine drahtlose (Funk-) Verbindung (z.B. WiFi-Luftverbindung, 5G/NR-Luftverbindung, LTE-Luftverbindung und/oder dergleichen) sein kann, an den Client 901 und/oder Server 940 über Zugangsverbindung(en) 905 zustellt. Jedes der (R)ANs 910 implementiert eine Zugangstechnologie („AT“), bei der es sich um den oder die zugrunde liegenden Mechanismus(en) handelt, der/die verwendet wird/werden, um auf ein entsprechendes Netzwerk zuzugreifen.
  • In einigen Implementierungen ist die AT eine Technologie mit festem (drahtgebundenem) Zugang, wie etwa Ethernet, Technologien digitaler Teilnehmerleitungen (DSL oder xDSL); G.hn; Koaxialkabelzugang („Koax“), wie etwa MoCA (Multimedia over Coax Alliance), DOCSIS (Data Over Cable Service Interface Specification), und/oder dergleichen; Powerline-Kommunikation („PLC“ oder „Powerline“) wie High-Definition- (HD-) PLC und/oder dergleichen; FTTX (Fiber to the x; auch als „Fiber in the Loop“ bezeichnet); ein passives optisches Netzwerk (PON); und/oder dergleichen. Hierbei kann (R)AN Knoten 911 ein Breitbandmodem (z.B. ein Kabelmodem, ein DSL-Modem, ein optisches Netzwerkendgerät (ONT - Optical Network Terminal) oder eine optische Netzwerkeinheit (ONU - Optical Network Unit), eine G.HN-Halbleitervorrichtung usw.) sein, das in Kombination mit Teilnehmerendgeräten (z.B. Heim-/Unternehmens-Router(n), Residential-/Unternehmens-Gateway(s), Mesh-Netzwerkvorrichtung(en), WiFi-Zugangspunkt(en) usw.) verwendet werden kann. Der feste AN-Knoten 911 verbindet den Client 901 mit dem Zugangsnetzwerk 910 über eine Zugangsverbindung 905, die gemäß einem Zugangsprotokoll (z.B. Ethernet, V.35, USB (Universal Serial Bus) und/oder Ethernet über USB, PPPoE (Point-to-Point Protocol over Ethernet), IPoE (Internet Protocol over Ethernet), G.hn, DOCSIS und/oder dergleichen) funktioniert. Hierbei kann die Zugangsverbindung 905 einen oder mehrere Drähte (z.B. Telefonverdrahtung, Koax, Stromleitungen, Kunststoff- und/oder Glasfasern und/oder dergleichen) beinhalten, und die spezifischen verwendeten Drähte können von der zugrunde liegenden AT und/oder der zugrunde liegenden Infrastruktur abhängen.
  • In anderen Implementierungen kann die AT eine Funkzugangstechnologie (RAT) wie etwa 3GPP Long Term Evolution (LTE), 3GPP Fifth Generation (5G)/New Radio (NR), MulteFire, ETSI-Global System for Mobile Communications (GSM), WiFi®, WiMAX (Worldwide Interoperability for Microwave Access ) (manchmal als „Drahtlosbreitband“ oder „WiBro“ bezeichnet) und/oder dergleichen sein. (R)ANs 910 könnten auch Technologien für persönliche Netzwerke wie etwa Bluetooth ® oder Bluetooth Low Energy (BLE), IEEE 802.15.4-basierte Protokolle (z.B. 6LoWPAN, WirelessHART, MiWi, Thread usw.), WiFi-direct und/oder dergleichen umfassen. Jedes (R)AN 910 beinhaltet einen oder mehrere (R)AN-Knoten 911, die Makrozellenbasisstationen, Remote Radio Heads (RRHs), Klein- und/oder Mikrozellenbasisstationen, Zugangspunkte (APs), Heim-Gateways (HGs) und/oder andere ähnliche Netzwerkelemente sein können. Eine Sammlung von (R)AN-Knoten 911 kann auch als ein „Zugangsebenen-Edge-Netzwerk“ oder „Zugangsebenen-Edge“ bezeichnet werden. Die (R)AN-Knoten 911 sind konfigurierbar oder betreibbar, um ein Setup von Transportressourcen (z.B. für CDN-Dienste und/oder andere Dienste der Anwendungsebene) sowie Planungssignalisierungsressourcen zum Bereitstellen eines Netzwerkdienstes des zugrunde liegenden Zugangsnetzwerks/der zugrunde liegenden RAT durchzuführen. Hierbei kann die Zugangsverbindung 905 Drahtlos- oder Luftschnittstellen basierend auf der zugrunde liegenden RAT (z.B. Uu-Schnittstelle für LTE- oder 5G/NR-RATs, PC5-Schnittstelle für LTE- oder 5G/NR-RATs, WiFi-Luftschnittstelle für WLAN-RATs, Millimeterwellen- (mmWave-) Schnittstelle, VLC- (Visible Light Communication, Kommunikation über sichtbares Licht) und/oder dergleichen) beinhalten.
  • Jedes (R)AN 910 a, 910 b beinhaltet einen oder mehrere jeweilige Netzwerkzugangsknoten (NANs) 911a, 911b, der/die kommunikativ mit einem jeweiligen Backend-Netzwerk gekoppelt ist/sind. Eine Möglichkeit, dieses Dienstmodell zu implementieren, besteht darin, eine Mehrwege-(Transport-) Schicht-4-Lösung wie etwa Multi-Path TCP (siehe z.B. IETF RFC 6824 (Januar 2013) („[RFC6824]“)) oder MultiPath QUIC (MPQUIC) (siehe z.B. De Coninck et al., „Multipath Extensions for QUIC (MP-QUIC)",draft-decaninck-quic-multipath-07, IETA, QUIC Working Group (3. Mai 2021) („[MPQUIC]“)) zu verwenden. Solch eine Lösung ist in der Regel OS-abhängig und nur anwendungs-/verkehrsspezifisch anwendbar. Zudem arbeitet sie auf der individuellen Flussebene und leidet häufig unter hoher Komplexität und geringer Effizienz. In einigen Implementierungen können die in Zhu et al., „User-Plane Protocols for Multiple Access Management Service", Draft-zhu-intarea-mams-user-protocol-09, IETA, INTAREA (4. März 2020) („[UPMAMS]“)) erörterten Schicht-3-Multipfad-Verwaltungsmechanismen werden, um solche Beschränkungen und Nachteile zu vermeiden. Bei diesen Implementierungen werden die Steuerinformationen für die Multipfadverwaltung (z.B. Sequenznummer usw.) als Trailer am Ende eines geeigneten Netzwerkpakets (z.B. IP-Pakets) angehängt.
  • Im Beispiel von 9 ist das (R)AN 910A ein 3GPP-basiertes Zugangsnetzwerk, wie etwa ein LTE-E-UTRAN, wobei der eine oder die mehreren (R)AN-Knoten 911 A evolved NodeBs (eNBs) sind, oder ein RAN der nächsten Generation (NG-RAN), wobei der eine oder die mehreren (R)AN Knoten 911 Next Generation NodeBs (gNBs) und/oder NG-evolved-Node-Bs (NG-eNBs) sind. Zusätzlich ist im Beispiel von 9 das (R)AN 910A ein WiFi-basiertes Zugangsnetzwerk, wobei die (R)AN-Knoten 911-B WiFi-Zugangspunkte (APs) sind. Die APs können zum Beispiel drahtlose Router, Straßenrand-ITS-Stationen oder Straßenrandeinheiten, Gateway-Geräte, zentrale Hubs oder dergleichen sein. Das Multifunk-UE 901 ist in der Lage, eine 3GPP-Zugangsverbindung 905A mit dem eNB/gNB 911A (z.B. eine Uu-Schnittstelle oder dergleichen) herzustellen, und in der Lage, eine WiFi-Zugangsverbindung 905B mit dem AP 911B herzustellen. Der eNB/gNB 911A kommuniziert mit dem Server 940 über eine 3GPP-Backhaul-Verbindung 906A, und der AP 911B kommuniziert mit dem Server 940 über eine WiFi-Backhaul-Verbindung 906B. Die 3GPP-Backhaul-Verbindung 906A und die WiFi-Backhaul-Verbindung 906B können eine geeignete drahtgebundene Verbindung sein, wie etwa Ethernet, USB, Data Highway Plus (DH+), PROFINET oder dergleichen. Außerdem ist der MX-Server 940 auch mit einem Kernnetzwerk 950A über die Backhaul-Schnittstelle 907A kommunikativ gekoppelt und mit einem Fixed-Access- (FA-) Gateway (GW) und/oder einem FA-Core-Netzwerk 950B über die Backhaul-Verbindung 907B kommunikativ gekoppelt. In diesem Beispiel kann das Kernnetzwerk 950A ein 3GPP-Kernnetzwerk sein, wie etwa ein 5G-Kernnetzwerk (5GC) oder ein LTE-Evolved Packet Core (EPC). Zusätzlich oder alternativ kann das FA-GW ein Breitbandnetzwerk-Gateway (BNG) sein, und/oder der FA-Core kann ein Breitbandkern sein, der Transport bereitstellt, und verschiedene Ressourcen stellen Inhalt bereit (Anbieter-Rechenzentrum, Videokopfende usw.). Zusätzlich oder alternativ kann das FA-GW/der FA-Core ein Residential Gateway (RG), ein 5G-RG, ein Fixed-Network- (FN-) RG (FN-RG), ein FN Broadband RG (FN-BRG), ein FN Cable RG (FN-CRG), ein Wireline 5G Access Network (W-5GAN), ein Wireline 5G Cable Access Network (W-5GCAN), eine Wireline Access Gateway Function (W-AGF) und/oder ein anderes geeignetes Element/eine andere geeignete Entität sein.
  • Für Zwecke der vorliegenden Offenbarung können einzelne Links 905, 906 oder 907 als Zugangsnetzwerkverbindungen (ANCs) oder Zugangsnetzwerkpfade (ANPs) bezeichnet werden. Beispielsweise kann eine ANC oder ein ANP einen Funklink 905 zwischen dem Client 901 und dem (R)AN-Knoten 911 in einer oder beiden Richtungen umfassen. Zusätzlich oder alternativ kann eine ANC oder ein ANP sich auf eine Kombination eines Links 905 und eines Links 906 zwischen dem Client 901 und dem MX-Server 940 in einer oder beiden Richtungen beziehen. Zusätzlich oder alternativ kann eine ANC oder ein ANP sich auf eine Kombination von Links/Pfaden 905, 906 und 907 zwischen dem Client 901 und dem lokalen Dienst 970 oder dem Datennetzwerk 975 in einer oder beiden Richtungen beziehen. Sofern nichts anderes angegeben ist, können die Bezeichnungen ANC, ANP, „Link“, „Kanal“, „Pfad“, „Verbindung“ und dergleichen in der gesamten vorliegenden Offenbarung austauschbar verwendet werden.
  • Zudem ist der Client 901 dazu konfiguriert, Funkinformationen für einen oder mehrere NANs 911 und/oder ein/e oder mehrere andere Entitäten/Elemente (z.B. Edge-Server, RAN(s) 910, Kernnetzwerkfunktion(en) (NF(s)), Anwendungsfunktion(en) (AF(s)), App-Server, Cloud-Dienst(e) und/oder dergleichen) bereitzustellen. Die Funkinformationen können in Form eines oder mehrerer Messberichte vorliegen und/oder können zum Beispiel Signalstärkemessungen, Signalqualitätsmessungen und/oder dergleichen beinhalten. Jeder Messbericht wird mit einem Zeitstempel und dem Ort der Messung (z.B. dem aktuellen Standort des Clients 901) markiert. Beispielsweise können die Messungen, die durch den Client 901 gesammelt werden und/oder in den Messberichten enthalten sind, beliebige der vorliegend besprochenen beinhalten (vgl. z.B. Diskussion von 20 unten). Zusätzlich oder alternativ kann jede der zuvor erwähnten Messungen (oder Kombination von Messungen) durch einen oder mehrere NANs 911 gesammelt und für eine geeignete Entität/Element (z.B. Edge-Server, (R)AN(s) 910, NF(s), AF(s), App-Server, Cloud-Dienst(e) und/oder dergleichen) bereitgestellt werden. Die Funkinformationen können in Abhängigkeit von einem Datentransfer, der stattfinden soll, und/oder anderen Informationen über den Datentransfer entweder mit einer niedrigen Periodizität oder einer hohen Periodizität gemeldet werden. Zusätzlich oder alternativ kann das Element/die Entität die Messungen von den NANs 911 mit niedriger oder hoher Periodizität anfordern, oder die NANs 911 können die Messungen mit niedriger oder hoher Periodizität an das Element/die Entität liefern. Zusätzlich oder alternativ kann das Element/die Entität andere relevante Daten (z.B. KPIs (Key Performance Indicators), KQIs (Key Quality Indicators) und/oder dergleichen) von anderen gleichen oder ähnlichen Elementen/Entitäten mit den Messberichten oder getrennt von den Messberichten erhalten.
  • MAMS ist ein programmierbares Framework, das Mechanismen für die flexible Auswahl von Netzwerkpfaden in einer MX-Kommunikationsumgebung 900 basierend auf den Anwendungsbedürfnissen und/oder -anforderungen bereitstellt und sich an dynamische Netzwerkbedingungen anpasst, wenn mehrere Netzwerkverbindungen eine Client-Vorrichtung 901 bedienen. Das MAMS-Framework nutzt Netzwerkintelligenz und -richtlinien, um die Verkehrsverteilung über ausgewählte Pfade und UP-Behandlungen (z.B. Verschlüsselung, die für den Transport über WiFi benötigt wird, oder Tunneln, das zum Überwinden einer Netzwerkadressübersetzung (NAT) zwischen dem Client 901 und einem Mehrwege-Proxy benötigt wird) dynamisch an sich ändernde Netzwerk-/Link-Bedingungen anzupassen. Netzwerkpfadauswahl- und -konfigurationsnachrichten werden als UP-Daten zwischen den Funktionselementen im MX-Netzwerk 900B und dem Client 901 und somit mit geringem oder gar keinem Einfluss auf die Steuerebenen- (CP-) Signalisierungsschemata der zugrunde liegenden Zugangsnetze (z.B. WiFi- und 3GPP-Zugangsnetze in 9A-9B) übertragen. Im MX-Netzwerk 900B mit 3GPP- und WiFi-Technologien werden zum Beispiel bestehende LTE- und WiFi-Signalisierungsprozeduren verwendet, um die LTE- bzw. WiFi-Verbindungen aufzubauen, und MAMS-spezifische CP-Nachrichten werden als LTE- oder WiFi-UP-Daten übertragen. Das in diesem Dokument definierte MAMS-Framework stellt die Fähigkeit bereit, eine intelligente Auswahl einer flexiblen Kombination von Zugangspfaden und Kernnetzwerkspfaden zu treffen, sowie die UP-Behandlung auszuwählen, wenn der Verkehr über die ausgewählten Pfade verteilt wird. Somit ist es ein umfassendes programmierbares Framework, das Funktionen über die einfache gemeinsame Nutzung von Netzwerkrichtlinien hinaus bereitstellt, wie etwa jenen, die durch die Access Network Discovery and Selection Function (ANDSF) bereitgestellt werden, die in 3GPP TS 24.312 v15.0.0 (2018-06-21) („[TS24312]“) erörtert wird und Richtlinien und Regeln zum Unterstützen von 3GPP-Clients bei der Erkennung und Auswahl verfügbarer Zugangsnetzwerke bietet. Ferner ermöglicht es die Auswahl und Konfiguration einer UP-Behandlung für den Verkehr über die Pfade in Abhängigkeit von den Erfordernissen der Anwendung.
  • Die MAMS-Framework-Mechanismen sind von keinen spezifischen Zugangsnetzwerktypen oder UP-Protokollen abhängig (z.B. TCP, UDP, Generic Routing Encapsulation (GRE), QUIC, Multipath TCP (MPTCP), SCTP, MultiPath QUIC (MPQUIC) usw.). Das MAMS-Framework koexistiert mit den bestehenden Protokollen und ergänzt diese, indem es eine Möglichkeit bereitstellt, diese Protokolle auszuhandeln und zu konfigurieren, um ihre Verwendung basierend auf Client- und Netzwerkfähigkeiten und den spezifischen Bedürfnissen jedes Zugangsnetzwerkpfads einem gegebenen MA-Szenario anzupassen. Ferner ermöglicht das MAMS-Framework Lastausgleich der Verkehrsflüsse über die ausgewählten Zugangsnetzwerkpfade und den Austausch von Netzwerkzustandsinformationen, die für Netzwerkintelligenz verwendet werden sollen, um die Performanz solcher Protokolle zu optimieren.
  • Das MAMS-Framework basiert auf Prinzipien des UP-Interworking, das als Überlagerung bereitgestellt werden kann, ohne die zugrunde liegenden Netzwerke zu beeinflussen. MAMS koexistiert mit bestehenden Kommunikationsprotokollen und ergänzt diese, indem es eine Möglichkeit bereitgestellt, die Protokolle basierend auf Client- und Netzwerkfähigkeiten auszuhandeln und zu konfigurieren. Ferner ermöglicht es den Austausch von Netzwerkzustandsinformationen und die Nutzung der Netzwerkintelligenz, um die Performanz solcher Kommunikationsprotokolle zu optimieren. MAMS weist eine minimale oder gar keine Abhängigkeit von der tatsächlichen Zugangstechnologie der beteiligten Verbindungen auf, was die Skalierbarkeit von MAMS zur Hinzufügung neuerer Zugangstechnologien und zur unabhängigen Entwicklung der bestehenden Zugangstechnologien ermöglicht.
  • 9 stellt auch einen MAMS-Datenebenen-Protokollstapel (DPPS) zum Transportieren von Benutzer-Nutzdaten, zum Beispiel einer IP-Protokolldateneinheit (PDU), die über die IP-Schicht übertragen wird, und/oder dergleichen dar. Der DPPS 902 und 942 beinhaltet den vom Client 901 implementierten clientseitigen MAMS-DPPS 902 und den vom Server 940 implementierten serverseitigen MAMS-DPPS 942. Für Vorrichtungen, die mit mehreren Funkverbindungstechnologien (oder mehreren RAT-Schaltungsanordnungen) ausgestattet sind, wie etwa 5G/NR, LTE, WiFi usw., stellt MAMS [RFC8743] ein programmierbares Framework zum dynamischen Auswählen und gleichzeitigen Senden von Daten über mehrere Funkverbindungen für hohen Durchsatz, niedrige Latenz und verbesserte Zuverlässigkeit bereit. Der MAMS-DPPS 902, 942 beinhaltet die folgenden zwei (Teil-)Schichten: die Konvergenz-(Teil-)Schicht und die Anpassungs- (Teil-)Schicht. Die MX-Anpassungs- (Teil-)Schicht wird zu (oder auf) jeder RAT-Schaltungsanordnung hinzugefügt, und die MX-Konvergenz- (Teil-)Schicht verbindet die IP- und die MX-Anpassungs- (Teil-)Schicht.
  • Die MX-Konvergenz- (Teil-)Schicht arbeitet über der MX-Anpassungs- (Teil-)Schicht in den Protokollstapeln 902 und 942. Aus der Sicht des Senders (Tx) wird eine Benutzer-Nutzlast (z.B. IP-PDU) zuerst von der Konvergenzteilschicht und dann von der Anpassungsteilschicht verarbeitet, bevor sie über eine Zustellzugangsverbindung (z.B. Verbindung 905A oder Verbindung 905B) transportiert wird. Aus der Sicht des Empfängers (Rx) wird ein über eine Zustellverbindung empfangenes Paket (z.B. IP-Paket) zunächst von der MX-Anpassungsteilschicht und dann von der MX-Konvergenzteilschicht verarbeitet (dies ist auch in 14 dargestellt, auf die im Folgenden ausführlicher eingegangen wird).
  • Die MX-Konvergenzschicht ist konfigurierbar bzw. betreibbar, um MX-spezifische Aufgaben auf der UP durchzuführen. Die MX-Konvergenzschicht führt spezifische Mehrfachzugangsaufgaben/-funktionen durch, wie zum Beispiel Zugangs- (-pfad-) Auswahl, Multilink-(-pfad-) Aggregation, Aufteilen/Neuordnen, verlustloses Schalten, Keep-Alive, Sondierung, Fragmentierung und/oder Verkettung. Die MX-Konvergenzschicht kann durch Verwenden bestehender UP-Protokolle, wie etwa MPTCP, Multipath QUIC (MPQUIC), oder durch Anpassen von Header-/Trailer-Verkapselungsschemata, wie etwa GRE oder generischem Mehrfachzugang (GMA), implementiert sein. In einigen Implementierungen unterstützt die MX-Konvergenz GMA, MPTCP-Proxy, GRE-Aggregationsproxy und MPQUIC. Wie nachstehend ausführlicher erörtert, kann das GMA-Protokoll verwendet werden, um zusätzliche Steuerinformationen (z.B. Schlüssel, Sequenznummer, Zeitstempel usw.) auf dieser (Teil-)Schicht zu codieren.
  • Die MX-Anpassungsschicht ist konfigurierbar oder betreibbar zum Adressieren und/oder Handhaben von transportnetzwerkbezogenen Aspekten, wie beispielsweise Tunnelung, Netzwerkschichterreichbarkeit und/oder -sicherheit und NAT. Die MX-Anpassungsschicht kann unter Verwendung bestehender Protokolle (z.B. TCP, UDP, IPSec, QUIC usw.) implementiert sein. Zusätzlich oder alternativ kann die MX-Anpassungsschicht unter Verwendung von UDP-Tunnelung, IPsec, DTLS (vgl. z.B. Rescorla et al., „Datagram Transport Layer Security Version 1.2", IETF, RFC 6347 (Januar 2012) und/oder Moriarty et al., „Deprecating TLS 1.0 und TLS 1.1", IETF, RFC 8996 (März 2021) (zusammen „[DTLS]“) oder einer Client-NAT (z.B. einer Ursprungs-NAT am Client mit umgekehrter Abbildung am Server 940 und/oder des Network Multi-Access Data Proxy (N-MADP) 1037 von 10) implementiert sein. Zusätzlich oder alternativ handelt es sich bei dem Anpassungsverfahren der MX-Anpassungsschicht um UDP ohne DTLS, UDP mit DTLS, IPsec (siehe z.B. Huttunen et al., „UDP Encapsulation of IPsec ESP-Packets", IETF, Network Working Group, RFC 3948 (Januar 2005) („[RFC3948]“)) oder Client-NAT.
  • Die MX-Anpassungsschicht kann unabhängig für jeden der Zugangslinks 905A und 905B konfiguriert sein. Insbesondere können UP-Pakete der Ankerverbindung in einem UDP-Tunnel einer Zustellverbindung zwischen dem N-MADP und C-MADP verkapselt werden (siehe z.B. N-MADP 1037 und C-MADP 1007 in 10), ein IPsec-Tunnel kann zwischen dem N-MADP und C-MADP (siehe z.B. N-MADP 1037 und C-MADP 1007 in 10) auf dem Netzwerkpfad aufgebaut werden, der als nicht vertrauenswürdig angesehen wird, und/oder es kann DTLS verwendet werden, wenn UDP-Tunnelung auf dem Netzwerkpfad verwendet wird, der als „nicht vertrauenswürdig“ angesehen wird. Zum Beispiel kann in 9, die das 3GPP-(R)AN 910A (als sicher angenommen) und das WiFi-(R)AN 910B (als nicht sicher angenommen) beinhaltet, die MX-Anpassungsschicht für den 3GPP-Link 905A entfallen, ist aber mit IPsec konfiguriert, um den WiFi-Link 905B zu sichern.
  • Die MX-Konvergenzschicht arbeitet über der MX-Anpassungsteilschicht im Protokollstapel. Aus Sicht des Senders (Tx) werden Benutzer-Nutzdaten (z.B. IP-PDU) zuerst von der MX-Konvergenzschicht und dann von der MX-Anpassungsschicht verarbeitet, bevor sie über eine Zustellzugangsverbindung transportiert werden. Aus Sicht des Empfängers (Rx) wird ein über eine Zustellverbindung empfangenes IP-Paket zuerst von der MX-Anpassungsteilschicht und dann von der MX-Konvergenzteilschicht verarbeitet.
  • Wenn GMA verwendet wird, kann die MX-Konvergenzschicht durch eine „GMA-Konvergenzschicht“ oder „GMA-Konvergenzteilschicht“ ersetzt werden. Hierbei sind mehrere Zugangsnetzwerke 910 zu einer einzigen IP-Verbindung zusammengefasst. Falls der NCM (vgl. z.B. NCM 1036 von 10) bestimmt, dass N-MADP (vgl. z.B. N-MADP 1037 von 10) mit GMA als dem MX-Konvergenzprotokoll instanziiert werden soll, tauscht er die Unterstützung der GMA-Konvergenzfähigkeit in den Erkennungs- und Fähigkeitsaustauschprozeduren aus.
  • Wenn MPTCP verwendet wird, kann die MX-Konvergenzschicht durch eine MPTCP-Schicht über einzelnen TCP-Schichten ersetzt werden, wobei sich jede TCP-Schicht über einer jeweiligen MX-Anpassungsschicht befindet. Hierbei wird MPTCP als das „MX-Konvergenzteilschicht“-Protokoll wiederverwendet, und mehrere Zugangsnetzwerke werden zu einer einzigen MPTCP-Verbindung kombiniert. Somit wird in diesem Fall kein neues UP-Protokoll oder PDU-Format benötigt. Falls der NCM 1036 bestimmt, dass der N-MADP mit MPTCP als dem MX-Konvergenzprotokoll instanziiert werden soll, tauscht er die Unterstützung der MPTCP-Fähigkeit während Erkennungs- und Fähigkeitsaustauschprozeduren aus. MPTCP-Proxyprotokolle können verwendet werden, um Verkehrslenkung und -aggregation über mehrere Zustellverbindungen zu verwalten.
  • Wenn GRE verwendet wird, kann die MX-Konvergenzschicht durch eine GRE-Schicht über einer GRE-Delivery-Protocol- (z.B. IP-) Schicht ersetzt werden. Hierbei wird GRE als das „MX-Konvergenzteilschicht“-Protokoll wiederverwendet, und mehrere Zugangsnetze werden zu einer einzigen GRE-Verbindung kombiniert. Somit wird in diesem Fall kein neues UP-Protokoll oder PDU-Format benötigt. Falls der NCM 1036 bestimmt, dass N-MADP mit GRE als dem MX-Konvergenzprotokoll instanziiert werden soll, tauscht er die Unterstützung der GRE-Fähigkeit in den Erkennungs- und Fähigkeitsaustauschprozeduren aus.
  • 10 veranschaulicht eine beispielhafte MAMS-Referenzarchitektur 1000 für ein Szenario eines Clients, der von n Netzwerken bedient wird (wobei n eine Zahl ist). Das MAMS-Framework ermöglicht dynamische Auswahl und flexible Kombination von Zugangs- und Kernnetzwerkpfaden als UL und DL für eine Vorrichtung, die mit mehreren Kommunikationsnetzwerken verbunden ist. Die mehreren Kommunikationsnetzwerke arbeiten auf der UP zusammen. Die Architektur ist erweiterbar, um eine beliebige Anzahl von Netzwerken sowie eine beliebige Auswahl von teilnehmenden Netzwerk-/Zugangstypen (z.B. LTE, WLAN, MuLTEfire, DSL, 5G/NR usw.) und Bereitstellungsarchitekturen (z.B. mit UP-Gateway-Funktion an der Zugangs-Edge und/oder dergleichen) zu kombinieren.
  • 10 veranschaulicht ein Szenario eines Clients 1001, der von mehreren (1 bis n) Kernnetzen 1041-1 bis 1041-n bedient wird (wobei n eine Zahl ist). Die MAMS-Architektur 1000 beinhaltet folgende Funktionselemente: einen Client 1001 mit einem Client-Verbindungsmanager (CCM) 1006 und einem Client-Mehrfachzugangsdatenproxy (C-MADP) 1007; mehrere (1 bis n) Zugangsnetzwerke (ANs) 1031 (einschließlich AN 1031-1 bis AN 1031-n); ein MAMS-System 1035, das einen Netzwerkverbindungsmanager (NCM) 1036 und einen Netzwerk-Mehrfachzugangsdatenproxy (N-MADP) 1037 beinhaltet; und die mehreren (1 bis n) Kernnetzwerke 1041-1 bis 1041-n. Der CCM 1006 und der NCM 1036 handhaben CP-Aspekte und der C-MADP 1007 und der N-MADP 1037 handhaben UP-Aspekte. Die Kernnetzwerke (oder einfach „Kerne“) 1041-1 bis 1041-n sind Elemente, die die Netzwerkadresse des Clients 1001 (z. B. IP-Adresse oder dergleichen) verankern, die zur Kommunikation mit Anwendungen über das Netzwerk verwendet wird. Einer oder mehrere der Kerne 1041-1 bis 1041-n können Cloud-Computing-Dienst(en), 5G-Kernnetzwerk(en) (5GCs), LTE-Kernnetzwerk(en) (z.B. Evolved Packet Core (EPC)), einem DSL/FIXED-Kern, einem WLAN-Kern, einem Rechenzentrum bzw. Rechenzentren und/oder einem anderen ähnlichen Backend-System entsprechen.
  • Der Client 1001 ist eine Endbenutzervorrichtung, die Verbindungen mit mehreren Zugangsnetzwerken 1031-1 bis 1031-n (die gleich oder ähnlich wie die (R)ANs 910 und/oder (R)AN-Knoten 911 in 1 sein können) möglicherweise über verschiedene Zugangstechnologien unterstützt. Wenn der Client 1001 in der Lage ist, mehrere Netzwerkverbindungen zu handhaben, kann der Client 1001 als „Multikonnektivitätsclient“ oder dergleichen bezeichnet werden. Der Client 1001 kann derselbe wie der in 9 dargestellte Client 901 oder diesem ähnlich sein.
  • Die ANs 1031 sind Netzwerkelemente im Netzwerk, die Benutzerdatenpakete über jeweilige Punkt-zu-Punkt-Zugangsverbindungen 1011-1 bis 1011-n, die zum Beispiel WiFi-Verbindungen, zellulare LTE-Verbindungen, zellulare 5G/NR-Verbindungen, DSL-(Festzugangs- ) Verbindungen und/oder dergleichen beinhalten können, an den Client 1001 zustellen. In einigen Implementierungen können die Punkt-zu-Punkt-Zugangsverbindungen 1011-1 bis 1011-n zusätzlich oder alternativ Funkverbindungen mit kurzer Reichweite beinhalten, wie beispielsweise Bluetooth® oder BLE, IEEE 802.15.4-basierte Protokolle (z.B. 6LoWPAN, WirelessHART, MiWi, Thread usw.), WiFi-direct und/oder dergleichen. Die ANs 1031 können den (R)ANs 910 und/oder (R)AN-Knoten 911 von 9 entsprechen.
  • Ein Servermanager (z.B. NCM 1036) ist eine funktionale Entität in einem Netzwerk 1002 (z.B. Netzwerkelement, Netzwerkgerät, Gateway, Edge-Knoten, Cloud-Knoten usw.), die Steuernachrichten von einem Client-Manager (z.B. CCM 1006) verarbeitet und Mehrfachzugangsoperationen auf der Serverseite 1002 konfiguriert. Zusätzlich oder alternativ ist der NCM 1036 ein Funktionselement im Netzwerk, das MAMS-Steuernachrichten vom Client 1001 handhabt und die Verteilung von Datenpaketen über die verfügbaren Zugangs- und Kernnetzwerkpfade konfiguriert und die UP-Behandlung (z.B. Tunnelung, Verschlüsselung usw.) der Verkehrsflüsse verwaltet. Zusätzlich oder alternativ stellt der NCM 1036 die Intelligenz im Netzwerk bereit, um Netzwerkpfade und UP-Protokolle basierend auf Client-Aushandlung zu konfigurieren. Der NCM 1036 fungiert zudem als ein gemeinsames MA-Gateway für Netzwerkrichtlinieneingabe und als Schnittstelle zu Anwendungsplattformen. Eine oder mehrere NCM-1036-Instanzen können an der Zugangs-Edge (z.B. in einem oder mehreren Zugangsnetzwerken 910, an individuellen Zugangsnetzwerkknoten 911 und/oder in einem oder mehreren Edge-Rechenknoten) und/oder Kernnetzwerk-Gateways gehostet werden.
  • Der NCM 1036 konfiguriert die Netzwerk- (N-MADP- 1037) und Client- (C-MADP-1007) UP-Funktionen, wie etwa Verhandeln mit dem Client 1001 über Verwendung verfügbarer AN-Pfade 1021-1 bis 1021-n, Protokolle und Regeln zum Verarbeiten des UP-Verkehrs sowie Verbindungsüberwachungsprozeduren. Die CP-Nachrichten zwischen dem NCM 1036 und dem CCM 1006 werden als Überlagerung auf der UP transportiert, ohne die darunter liegenden Zugangsnetzwerke zu beeinflussen. Der NCM 1036 verarbeitet MAMS-CP-Nachrichten vom Client 1001 und konfiguriert die Verteilung von Datenpaketen über die mehreren verfügbaren Zugangspfade 1021-1 bis 1021-n, Zustellpfade 1022-1 bis 1022-n und/oder Kernnetzwerkpfade 1023-1 bis 1023-n sowie die UP-Behandlung von Verkehrsflüssen. Die zwischen dem NCM 1036 und dem CCM 1006 ausgetauschten CP-Nachrichten werden als Überlagerung auf der UP transportiert, ohne die darunter liegenden ANs 1031 zu beeinflussen.
  • Der CP-Pfad 1024 kann einem beliebigen UP-Zugangspfad überlagert sein. Ein „Pfad“ kann ein Fluss (z.B. ein IP-Fluss, ein UDP-Fluss usw.) zwischen zwei Hosts sein. Ein IP-Fluss oder ein UDP-Fluss kann durch ein 4-Tupel (z.B. IP-Quelladresse, IP-Zieladresse, Ursprungsport, Zielport) bezeichnet werden. Zusätzlich oder alternativ wird WebSocket zum Transportieren von Verwaltungs- und Steuernachrichten zwischen dem NCM 1036 und dem CCM 1006 verwendet, wobei MX-Steuernachrichten über (oder verkapselt in) einen WebSocket übertragen werden und der WebSocket über (oder verkapselt in) TCP/TLS übertragen wird. Aspekte von MX-Verwaltungs- und Steuernachrichten werden in [RFC8743], der nternationalen Anmeldung Nr. PCT/ US2021/038063 , eingereicht am 18. Juni 2021 („[AD0071-PCT]“), US-Anmeldung Nr. 17/358,994, eingereicht am 25. Juni 2021 („[AD7258-US]“), und US-Anmeldung Nr. 17/469,331 , eingereicht am 8. September 2021 („[AC7128-US]“), behandelt, deren Inhalte hiermit in ihrer Gesamtheit durch Bezugnahme aufgenommen werden.
  • Ein Client-Manager (z.B. CCM 1006) ist eine funktionale Entität in der Client-Vorrichtung 1001 (z.B. Desktop, Workstation, Laptop, Smartphone, Smartgerät, IoT-Vorrichtung usw.), die Steuernachrichten mit einem Server-Manager (z.B. NCM 1036) austauscht, um Mehrfachzugangsoperationen auf der Client-Seite 1001 zu konfigurieren. Zusätzlich oder alternativ ist der CCM 1006 eine funktionale Entität im Client 1001, die MAMS-Signalisierungsnachrichten mit dem NCM 1036 austauscht und die Netzwerkpfade am Client 1001 für den Transport von Benutzerdaten konfiguriert.
  • Der CCM 1006 ist ein Peer-Funktionselement im Client 1001 zur Handhabung von MAMS-CP-Prozeduren. Der CCM 1006 verwaltet mehrere Netzwerkverbindungen 1021-1 bis 1021-n am Client 1001 und konfiguriert die mehreren Netzwerkpfade 1021-1 bis 1021-n am Client 1001 zum Transport von Benutzerdaten. Der CCM 1006 tauscht MAMS-Signalisierung mit dem NCM 1036 aus, um Funktionen wie die Konfiguration des UL- und DL-Benutzernetzwerkpfads zum Transportieren von Benutzerdatenpaketen und die adaptive Auswahl des Netzwerkpfads durch den NCM 1036 durch Melden der Ergebnisse einer Link-Sondierung zu unterstützen. Link-Sondierung und -meldung können verwendet werden, um adaptive Netzwerkpfadauswahl durch den NCM 1036 zu unterstützen. Auf dem DL für Benutzerdaten, die durch den Client 1001 empfangen werden, konfiguriert der CCM 1006 den C-MADP 1007 so, dass ein Anwendungsdatenpaket, das über einen beliebigen der Zugänge empfangen wird, die geeignete Anwendung auf dem Client 1001 erreicht. Auf dem UL für die Daten, die durch den Client 1001 gesendet werden, konfiguriert der CCM 1006 den C-MADP 1007, um die besten für UL-Daten zu verwendenden Zugangslinks 1021 basierend auf einer Kombination von lokaler Richtlinie und Netzwerkrichtlinie zu bestimmen, die durch den NCM 1036 über den Link 1024 geliefert werden.
  • Der C-MADP 1007 ist eine funktionale Entität im Client 1001, die Benutzerdatenverkehrsweiterleitung über mehrere Netzwerkpfade abwickelt. Der C-MADP 1007 ist für MAMS-spezifische UP-Funktionalitäten im Client 1001 verantwortlich, wie etwa Verkapselung, Fragmentierung, Verkettung, Neuordnung, Neuübertragungen usw. Der C-MADP 1007 wird durch den CCM 1006 basierend auf Signalisierungsaustausch mit dem NCM 1036 und lokalen Richtlinien am Client 1001 konfiguriert. Der CCM 1006 konfiguriert die Auswahl von Zustellverbindungen 1022-1 bis 1022-n und die für UL-Benutzerdatenverkehr zu verwendenden UP-Protokolle basierend auf der Signalisierung, die mit dem NCM 1036 ausgetauscht wird.
  • Der N-MADP 1037 ist eine funktionale Entität im Netzwerk 1002, die die Weiterleitung von Nutzdatenverkehr über mehrere Netzwerkpfade abwickelt. Der N-MADP 1037 ist für MAMS-bezogene UP-Funktionalitäten im Netzwerk 1002 zuständig. Wie etwa Verkapselung, Fragmentierung, Verkettung, Neuordnung, Neuübertragung usw. Der N-MADP 1037 ist der Verteilungsknoten, der den UL-UP-Verkehr zur geeigneten Ankerverbindung 1023-1 bis 1023-n zu einem jeweiligen Kernnetzwerk 1041-1 bis 1041-n und den DL-Benutzerverkehr über die geeignete(n) Zustellverbindung(en) 1022-1 bis 1022-n zum Client 1001 leitet. Die Ankerverbindungen 1023-1 bis 1023-n sind Netzwerkpfade vom N-MADP 1037 zum UP-Gateway (IP-Anker), das dem Client 1001 eine Netzwerkadresse zugewiesen hat, und die Zustellverbindungen 1022-1 bis 1022-n sind Netzwerkpfade vom N-MADP 1037 zum Client 1001. Eine oder mehrere der N-MADP-1037-Instanzen können an der Zugangs-Edge (z.B. in einem oder mehreren Zugangsnetzen 910 und/oder an individuellen Zugangsnetzknoten 911) und/oder Kern-Gateways gehostet werden. Die N-MADP-1037-Instanzen können mit oder getrennt von den NCM-1036-Instanzen gehostet werden.
  • Auf dem DL konfiguriert der NCM 1036 die Verwendung von Zustellverbindungen 1022-1 bis 1022-n und UP-Protokollen am N-MADP 1037 zum Transportieren von Benutzerdatenverkehr. Der N-MADP 1037 kann Unterstützung für ECMP- (Equal-Cost Multipath) Routing für den Downlink-Verkehr implementieren. Zusätzlich oder alternativ kann der N-MADP 1037 mit einem Router oder einem anderen ähnlichen Netzwerkelement (z.B. AP XE136 von Figur XE1) mit ECMP-Funktionalität verbunden sein. Der NCM 1036 konfiguriert den N-MADP 1037 mit einem Lastausgleichsalgorithmus basierend auf statischen und/oder dynamischen Netzwerkrichtlinien. Diese Netzwerkrichtlinien können Zuweisen von Zugangs- und Kernpfaden für spezifischen Benutzerdatenverkehrstyp, datenvolumenbasierte prozentuale Verteilung, Linkverfügbarkeit und Rückmeldeinformationen vom Austausch von MAMS-Signalisierung mit dem CCM 1006 am Client 1001 und/oder dergleichen beinhalten. Der N-MADP 1037 kann mit geeigneten UP-Protokollen konfiguriert sein, um sowohl eine Pro-Flussals auch eine Pro-Paket-Verkehrsverteilung über die Zustellverbindungen zu unterstützen.
  • Auf dem UL wählt der N-MADP 1037 die geeignete Ankerverbindung 1023-1 bis 1023-n aus, über die der Benutzerdatenverkehr weiterzuleiten ist, der vom Client 1001 über eine oder mehrere Zustellverbindungen 1022-1 bis 1022-n empfangen wird. Die Weiterleitungsregeln auf dem UL am N-MADP 1037 werden vom NCM 1036 basierend auf Anwendungsanforderungen (z.B. von einem Unternehmen gehostete Anwendungsflüsse über einen LAN- oder WLAN-Anker 1041 (z.B. WiFi-, Cloud- und/oder Edge-Netzwerk), von einem Mobilbetreiber gehostete Anwendungen über ein zellulares Kernnetzwerk 1041 und/oder dergleichen) konfiguriert.
  • Der NCM 1036 und der N-MADP 1037 können entweder ortsgleich miteinander angeordnet oder auf verschiedenen Netzknoten instanziiert sein. Der NCM 1036 kann mehrere N-MADP-1037-Instanzen im Netzwerk einrichten. Der NCM 1036 steuert die Auswahl einer einzelnen N-MADP-1037-Instanz durch den Client und die Regeln zur Verteilung von Benutzerverkehr über die N-MADP-1037-Instanzen. Auf diese Weise können verschiedene N-MADP-1037-Instanzen verwendet werden, um verschiedene Sätze von Clients für Lastausgleich über Clients hinweg zu handhaben. Zusätzlich können die verschiedenen N-MADP-103 7-Instanzen für verschiedene Adressbereitstellungstopologien (z.B. N-MADP 1037, der am UP-Knoten am Zugangs-Edge oder im Kernnetzwerk gehostet wird, während der NCM 1036 am Zugangs-Edge-Knoten gehostet wird) sowie Adresszugangsnetzwerktechnologiearchitektur verwendet werden. Zum Beispiel kann eine N-MADP-1037-Instanz an einem CN-Knoten 1041 verwendet werden, um Verkehrsverteilung über LTE- und DSL-Netzwerke zu verwalten, und eine andere N-MADP-1037-Instanz an einem (R)AN-Knoten 1031-1, 1031-n kann verwendet werden, um Verkehrsverteilung über LTE- und WiFi-Verkehr zu verwalten. Des Weiteren kann ein einzelner Client 1001 dazu konfiguriert sein, mehrere N-MADP-1037-Instanzen zu verwenden, die zum Adressieren verschiedener Anwendungsanforderungen verwendet werden können. Beispielsweise können einzelne N-MADP-1037-Instanzen verwendet werden, um TCP- und UDP-Transport-basierten Verkehr abzuwickeln.
  • Der CCM 1006 und der NCM 1036 tauschen Signalisierungsnachrichten aus, um die UP-Funktionen, den C-MADP 1007 und den N-MADP 1037 am Client bzw. dem Netzwerk zu konfigurieren. Der CCM 1006 kann die CCM-1036-Berechtigungsnachweise (FQDN oder Netzwerkadresse) zum Senden der anfänglichen Erkennungsnachrichten erhalten. Als ein Beispiel kann der Client 1001 die NCM-1036-Berechtigungsnachweise unter Verwendung von Verfahren wie Bereitstellung, DNS-Abfrage erhalten. Sobald der Erkennungsprozess erfolgreich ist, kann der (anfängliche) NCM 1036 zusätzliche NCM-1036-Adressen zum Beispiel basierend auf MCC/MNC-Tupelinformationen, die in der MX-Erkennungsnachricht empfangen werden, zum Senden nachfolgender CP-Nachrichten aktualisieren und zuweisen.
  • Der CCM 1006 erkennt und tauscht Fähigkeiten mit dem NCM 1036 aus. Der NCM 1036 stellt die Berechtigungsnachweise des N-MADP-1037-Endpunkts bereit und handelt die Parameter für UP mit dem CCM 1006 aus. Der CCM 1006 konfiguriert den C-MADP 1007, um den UP-Pfad (z.B. MPTCP/UDP-Proxyverbindung) mit dem N-MADP 1037 basierend auf den Berechtigungsnachweisen (z.B. (MPTCP-/UDP-) Proxy-Netzwerkadresse (z.B. IP-Adresse und - Port), Associated Core Network Path) und den mit dem NCM 1036 ausgetauschten Parametern einzurichten. Ferner tauschen der NCM 1036 und der CCM 1006 Linkzustandsinformationen aus, um Verkehrslenkung und UP-Behandlung mit dynamischen Netzwerkbedingungen anzupassen. Die wichtigsten Prozeduren sind in den folgenden Unterabschnitten detailliert beschrieben.
  • Eine UDP- (oder QUIC-) Verbindung kann zwischen dem C-MADP 1007 und dem N-MADP 1037 konfiguriert sein, um Steuernachrichten auszutauschen. Die Steuernachrichten können zum Beispiel Keep-Alive-, Sondierungsanfrage- (REQ-)/Bestätigungs- (ACK-), Paketverlustmeldungs- (PLR-), Erste-Sequenznummer- (First Sequence Number, FSN-), Coded-MX-SDU- (CMS-), Verkehrsaufteilungsaktualisierungs- (TSU-), Verkehrsaufteilungs-ACK-(TSA-) Nachrichten und/oder Pfadqualitätsschätzungsinformationen sein oder beinhalten. Die N-MADP-1037-Endpunkt-Netzwerkadresse (z.B. IP-Adresse oder dergleichen) und -Portnummer (z.B. UDP-Portnummer der UDP-Verbindung) werden verwendet, um MX-Steuer-PDUs zu identifizieren.
  • Die verschiedenen Elemente, die im Beispiel von 10 dargestellt sind, können unter Verwendung einer Vielfalt verschiedener physischer und/oder virtualisierter Komponenten implementiert sein. Zum Beispiel können die Elemente innerhalb des MAMS-Netzwerks 1002 unter Verwendung einer oder mehrerer Komponenten eines Edge-Knotens, wie etwa eines oder mehrerer LTE- oder 5G-RANs, eines Edge-Computing-Systems/Frameworks, wie etwa [MEC], [SA6Edge], [O-RAN], [ISEO] und/oder dergleichen, implementiert sein. Zusätzlich oder alternativ kann das MAMS-System 1035 durch einen einzelnen RAN-Knoten, wie etwa einen oder mehrere der RAN-Knoten 911 in 9A-9C, oder darin implementiert sein. In einem Beispiel ist das MAMS-System 1035 als Teil des Schicht-3- (L3-) Protokollstapels (z.B. der RRC-Schicht oder dergleichen) implementiert. Bei einem anderen Beispiel ist das MAMS-System 1035 als Teil einer Schicht oberhalb von L3 implementiert, wie etwa des Netzwerkschicht- (z.B. IP-, UDP-, QUIC-, GTP-U- usw.) Datenebenen-Protokollstapels der RAN-Knoten. In einem anderen Beispiel kann das MAMS-System 1035 als eine separate Schicht zwischen der L3- und den oberen Schichten implementiert sein. In einem anderen Beispiel kann das MAMS-System 1035 in einer oder durch eine gNB-CU einer geteilten CU/DU-Architektur implementiert sein. In einem anderen Beispiel kann das MAMS-System 1035 in einem oder durch einen vBBU-Pool oder in einem oder durch ein Cloud-RAN (C-RAN) implementiert sein. Zusätzlich oder alternativ können die Funktionselemente innerhalb des MAMS-Netzwerks 1002 durch eine oder mehrere Netzwerkfunktionen (oder als eine VNF) des CN 950A in 9 implementiert sein. Zum Beispiel kann der N-MADP 1037 auf einem S-GW oder P-GW ausgeführt werden, wenn das CN 950A ein EPC ist, oder der N-MADP 1037 kann auf einer Benutzerebenenfunktion (user plane function, UPF) ausgeführt werden, wenn das CN 950A ein 5GC ist.
  • Bei Edge-basierten Implementierungen kann das MAMS-System 1035 in einem oder durch einen Edge-Rechenknoten implementiert sein, der sich in einem RAN 910 oder RAN-Knoten 911 befindet oder ortsgleich zusammen mit diesem angeordnet ist. Die Funktionen, die sich auf der Netzwerkseite befinden (z.B. NCM 1036 und N-MADP 1037), können entweder an einem zentralen Ort oder an der Edge-Cloud (vgl. z.B. Edge-Cloud 2163 von 21) gehostet werden. Sie können entweder als eine Edge-Anwendung (z.B. MEC-App(s), O-RAN xApp usw.) oder ortsgleich zusammen mit anderen Funktionen (z.B. MEC-Plattform, O-RAN-intelligente Steuerung (RIC) usw.) eingesetzt werden. Zusätzlich oder alternativ können aktuelle Informationen von den Zugangsnetzwerken dem NCM 1036 zur intelligenten Netzwerkpfadauswahl über APIs durch die Edge-Plattform auf die gleiche Weise bereitgestellt werden, wie RNI über eine RNI-API, TMS über eine TMS-API und/oder BWMS über eine BWM-API offengelegt werden. Zusätzlich oder alternativ können ähnliche Informationsebenen für 3GPP-Zugangsnetzwerke sowie für WiFi, MulteFire, DSL usw. definiert werden, entweder durch Ändern der bestehenden RNI/BWM-APIs oder durch Definieren neuer APIs, die für die neuen Zugangstechnologien spezifisch sind.
  • In zusätzlichen oder alternativen Edge-basierten Implementierungen kann der NCM 1036 auf einem Edge-Cloud-Server gehostet werden, der sich im UP-Pfad am Rand des Mehrtechnologie-Zugangsnetzwerks befindet. Der NCM 1036 und der CCM 1006 können die Netzwerkpfadkombinationen basierend auf den Bedürfnissen einer Anwendung und den notwendigen UP-Protokollen aushandeln, die über die mehreren Pfade verwendet werden sollen. Die vom CCM 1006 an den NCM 1036 gemeldeten Netzwerkbedingungen können durch eine Funkanalytikanwendung ergänzt werden, die sich am MEC-Cloud-Server befindet, um die UL- und DL-Zugangspfade gemäß sich ändernden Funk- und Überlastungsbedingungen zu konfigurieren. Zusätzlich oder alternativ kann das UP-Funktionselement (z.B. der N-MADP 1037) entweder ortsgleich mit dem NCM 1036 am MEC-Cloud-Server (z.B. MEC-gehostete Anwendungen usw.) angeordnet sein oder an einem separaten Netzwerkelement wie einem gemeinsamen UP-Gateway über die mehreren Netzwerke angeordnet sein. Selbst in Szenarien, in denen kein N-MADP 1037 bereitgestellt wird, kann der NCM 1006 verwendet werden, um die Verkehrslenkentscheidungen am Client 1001 zu erweitern. Diese Erweiterungen dienen zum Verbessern der QoE des Endbenutzers, indem der beste Netzwerkpfad basierend auf den Bedürfnissen und Netzwerkbedingungen einer Anwendung genutzt wird und auf den Vorteilen einer wesentlich reduzierten Latenz und der dynamischen Offenbarung von an der MEC verfügbaren Funknetzwerkinformationen in Echtzeit aufgebaut wird.
  • Vorliegend kann ein „GMA-Empfänger“ eine N-MADP-1037-Instanz oder eine C-MADP-1007-Instanz (vgl. z.B. 10) sein, die mit GMA als dem Konvergenzprotokoll instanziiert ist, das Pakete, die gemäß GMA-Prozeduren verkapselt oder anderweitig erzeugt werden, empfängt und die empfangenen Pakete gemäß den in Zhu et al., „Generic Multi-Access (GMA) Convergence Encapsulation Protocols", draft-zhu-intarea-gma-14, IETA, INTAREA/Network Working Group (24. April 2021) („[GMA14]“) erörterten Prozeduren verarbeitet, die hiermit in ihrer Gesamtheit durch Bezugnahme aufgenommen werden. Außerdem kann vorliegend ein „GMA-Sender“ eine N-MADP-1037-Instanz oder eine C-MADP-1007-Instanz sein, die mit GMA als dem Konvergenzprotokoll instanziiert ist und Pakete/PDUs gemäß in [GMA14] erörterten GMA-Prozeduren verarbeitet und/oder verkapselt oder anderweitig erzeugt.
  • Wie bereits erwähnt, ist MAMS ein programmierbares Framework, das Mechanismen zur flexiblen Auswahl von Netzwerkpfaden in einer Mehrfachverbindungs- (-zugangs-) Kommunikationsumgebung basierend auf Anwendungsbedürfnissen bereitstellt. Es nutzt Netzwerkintelligenz und -richtlinien, um Verkehrsverteilung über ausgewählte Pfade und Benutzerebenenbehandlung dynamisch an sich ändernde Netzwerk-/Verbindungsbedingungen anzupassen. Die Netzwerkpfadauswahl- und -konfigurationsnachrichten werden als Benutzerebenendaten zwischen den Funktionselementen im Netzwerk und der Endbenutzervorrichtung und somit ohne jegliche Auswirkung auf die Steuerebenen-Signalisierungsschemata des einzelnen Zugangsnetzwerks übertragen. Heutige MAMS-Lösungen erfordern die Bereitstellung von MAMS-Steuer- und -Datenebenen-Netzwerkfunktionen im Netzwerk [RFC8743]. Die vorliegende Offenbarung erweitert das MAMS-Framework, um OTT-MAMS (z.B. verlustloses Schalten, Aggregation usw.) ohne jegliche Änderung oder Abhängigkeit im Netzwerk zu unterstützen. Der OTT-MAMS kann als Teil eines MAMS ausgeführt werden, der auf einem Cloud-Computing-Dienst/einer Cloud-Computing-Plattform, einer Edge-Computing-Plattform/einem Edge-Computing-Dienst (z.B. ETSI-MEC und/oder dergleichen) und/oder unter Verwendung geeigneter virtueller Maschinen (VMs) und/oder Container gehostet wird, die durch solch einen Cloud-Computing-Dienst/solche eine Cloud-Computing-Plattform und/oder solche eine Edge-Computing-Plattform/solch einen Edge-Computing-Dienst bereitgestellt werden.
  • Außerdem wird klar, dass, wenn sich die Mobil- und/oder Drahtloszugangstechnologien und -netzwerke so weiterentwickeln, keine einzelne Funktechnologie alleine in der Lage sein wird, der Vielfalt von Anforderungen für Mensch- und Maschinenkommunikation gerecht zu werden. Andererseits wird das Treiben von mehr Daten durch ein knappes und endliches Funkspektrum zu einer echten Herausforderung, und die Spektrumeffizienz nähert sich einem Plateau und wird die erforderliche Zunahme der Bandbreitenverbesserung selbst nicht liefern. Zum Beispiel nutzt die zellulare 3GPP-5G-Technologie wahrscheinlich Frequenzen unter 6 Gigahertz (GHz) sowie Millimeterwellen („mmWave“ oder „MMW“) sowohl in lizenzierten als auch in unlizenzierten Bändern. Die vorliegende Offenbarung stellt außerdem eine softwaredefinierte, zugangsunabhängige, hochleistungsfähige Lösung für solche Probleme bereit, die hier als generischer Mehrfachzugang (GMA - Generic Multi-Access) bezeichnet wird, um die Integration mehrerer (heterogener oder homogener) Funkzugangsnetzwerke und RATs an der Edge zu ermöglichen, ohne bestehende RAT-Protokollstapel (z.B. PDCP, RRC, Ethernet usw.) oder bestehende Netzwerkprotokolle (z.B. Internetprotokoll (IP), Transmission Control Protocol (TCP), User Data Gram Protocol (UDP), Quick UDP Internet Connections (QUIC) usw.) zu beeinflussen. GMA kann als Schicht-2,5-Protokoll angesehen werden. Die vorliegende Offenbarung beschreibt eine GMA-e2e-Netzwerkarchitektur und verschiedene Protokolle, Prozeduren, Algorithmen und Systemfunktionalitäten sowie Bereitstellungsimplementierungen.
  • 11 stellt einen beispielhaften MAMS-Steuerebenen-Protokollstapel (CPPS) 1100 dar. Der CPPS 1100 beinhaltet eine Mehrfachzugangs- (MX-) Steuernachrichtenschicht 1103, eine WebSocket-Schicht und eine Transport-Control-Protocol- (TCP-)/Transport-Layer-Security-(TLS-) Schicht. Hierbei wird WebSocket (vgl. z.B. IETF RFC 6455 (Dez. 2011) und IETF RFC 8441 (Sept. 2018)) zum Transport von Verwaltungs- und Steuernachrichten (z.B. MX-Steuernachrichten 1103) zwischen dem NCM 1036 und dem CCM 1006 verwendet. Jede MAMS-Steuernachricht 11003 kann eines oder mehrere der folgenden Felder enthalten: Version (gibt die Version des MAMS-Steuerprotokolls an); Nachrichtentyp (gibt den Typ der Nachricht an, z.B. MX Discover, MX-Fähigkeitsanfrage (REQ)/-antwort (RSP)); und Sequenznummer (SN) (automatisch inkrementierte ganze Zahl zum eindeutigen Identifizieren eines bestimmten Nachrichtenaustauschs (z.B. MX-Fähigkeitsanfrage/-antwort).
  • 11 zeigt einen MAMS-Verwaltungsprotokollstapel 1100m. Hierbei wird ein sicherer WebSocket über einen dritten Transportschicht- (z.B. TCP, UDP, IP Security Protocol (IPSec) usw.) Tunnel eingerichtet, der über eine virtuelle Netzwerkschicht- (Anker-) Verbindung (z.B. IP oder ein anderes geeignetes Netzwerkschichtprotokoll) zum Senden von MAMS-Verwaltungsnachrichten zwischen dem CCM 1006 und dem NCM 1036 aufgebaut wird. Die virtuelle (Anker-) Verbindung befindet sich über einer Konvergenzschicht, die ein Konvergenzprotokoll (z.B. GMA oder dergleichen) implementiert, das die MAMS-Verwaltungsnachrichten in dem (den) virtuellen (Anker-) Verbindungspaket(en) (z.B. IP-Paketen) verkapselt. Die Konvergenz- (GMA-) Schicht befindet sich auf jeweiligen Transport- (z.B. UDP- oder IPSec-) Tunnelschichten für jeweilige Zugangsnetze (ANs) 1 und 2, die sich auf jeweiligen Netzwerkschichten (z.B. IP oder dergleichen) befinden, die sich auf Schicht 2 (L2) und Schicht 1 (L1) der jeweiligen Zugangsnetze/RATs 1 und 2 befinden.
  • In einigen Implementierungen kann der CCM 1006, wenn die virtuelle Verbindung nicht aufgebaut wurde, der sichere WebSocket zunächst nur über eine der IP-Zustellverbindungen (z.B. RAT-1) einrichten. Nachdem die virtuelle IP-Verbindung hergestellt ist, schließt der CCM 1006 diese und stellt eine neue über die virtuelle IP- (Anker-) Verbindung her, und die entsprechenden (virtuellen) IP-Pakete (die eine oder mehrere MAMS-Nachrichten mitführen) werden auf gleiche oder ähnliche Weise verkapselt wie Datenpakete (vgl. z.B. 18).
  • 11 zeigt auch eine MAMS-Steuerebenen- (CP-) Prozedur 1102 zur Pfadqualitätsschätzung. Pfadqualitätsabschätzungen können sowohl passiv als auch aktiv erfolgen. Verkehrsmessungen im Netzwerk können passiv durch Vergleichen des Echtzeitdatendurchsatzes des Clients 1001 mit der im Netzwerk zur Verfügung stehenden Kapazität durchgeführt werden. Bei speziellen Bereitstellungen, bei denen der NCM 1036 Schnittstellen 1022 mit Zugangsknoten 1031, 911 aufweist, können die direkten Schnittstellen verwendet werden, um Informationen bezüglich der Pfadqualität zu sammeln. Zum Beispiel könnte die Nutzung eines LTE-Zugangsknotens (eNB), an den der Client 1001 angeschlossen ist, als Daten für die Schätzung der Pfadqualität verwendet werden, ohne zusätzlichen Verkehrsaufwand zu erzeugen. Aktive Messungen durch den Client 1001 stellen eine alternative Möglichkeit zur Schätzung der Pfadqualität bereit.
  • Die Prozedur 1102 beginnt bei Operation 1102-1, wobei der NCM 1036 eine MX-Pfadschätzungsanfrage an den CCM 1006 sendet. Bei Operation 1102-2 sendet der CCM 1006 eine MX-Pfadschätzungsergebnisnachricht an den NCM 1036. Der NCM 1036 kann einen oder mehrere der folgenden Konfigurationsparameter in der MX-Pfadschätzungsanfrage (Operation 1102-1) an den CCM 1006 senden: Connection ID (Verbindungs-ID) (der Zustellverbindung 1022, deren Pfadqualität geschätzt werden muss); Init Probe Test Duration (Initialisierungssondierungstestdauer) (ms); Init Probe Test Rate (Initialisierungssondierungstestrate) (Mbps); Init Probe Size (Initialisierungssondierungsgröße) (Byte); Init Probe-ACK Required (Initialisierungssondierungs-ACK erforderlich) (0 -> Nein / 1 - > Ja); Active Probe Frequency (Aktivsondierungsfrequenz) (ms); Active Probe Size (Aktivsondierungsgröße) (Byte); Active Probe Test Duration (Aktivsondierungstestdauer) (ms); Active Probe-ACK Required (Aktivsondierungs-ACK erforderlich) (0 -> Nein / 1 -> Ja).
  • Der CCM 1026 konfiguriert den C-MADP 1007 zum Sondierungsempfang basierend auf diesen Parametern und zum Sammeln der Statistiken gemäß folgender Konfiguration: Unique Session ID (Eindeutige Sitzungs-ID) (Sitzungskennung, die für den Client in einer MX-Fähigkeitsantwort bereitgestellt wird); Init Probe Results Configuration (Initialisierungssondierungsergebniskonfiguration) (z.B. einschließlich Lost Probes (verlorener Sondierungen) (Prozent) und/oder Probe Receiving Rate (Sondierungsempfangsrate) (Pakete pro Sekunde)); Active Probe Results Configuration (Aktivsondierungsergebniskonfiguration) (z.B. einschließlich des mittleren Durchsatzes in der letzten Sondierungsdauer).
  • Die UP-Sondierung gliedert sich in zwei Phasen: die Initialisierungsphase und die Aktivphase. Für die Initialisierungsphase gilt ein Netzwerkpfad, der vom N-MADP 1037 nicht zur Übertragung von Benutzerdaten einbezogen wird, als in der Initialisierungsphase befindlich. Die Benutzerdaten können über andere verfügbare Netzwerkpfade übertragen werden. Für die Aktivphase gilt ein Netzwerkpfad, der vom N-MADP 1037 zur Übertragung von Benutzerdaten einbezogen wird, als in der Aktivphase befindlich.
  • Während der Initialisierungsphase konfiguriert der NCM 1036 den N-MADP 1037 zum Senden einer Init-Probe-REQ-Nachricht. Der CCM 1006 sammelt die Init-Probe-Statistiken vom C-MADP 1007 und sendet die MX-Pfadschätzungsergebnisnachricht (Operation 1102-2) an den NCM 1036 gemäß der Initialization-Probe-Results-Konfiguration.
  • Während der Aktivphase konfiguriert der NCM 1036 den N-MADP 1037 zum Senden einer Active-Probe-REQ-Nachricht. Der C-MADP 1007 berechnet die Metriken, wie durch die Active-Probe-Results-Konfiguration spezifiziert. Der CCM 1006 sammelt die Aktive-Probe-Statistiken vom C-MADP 1007 und sendet die MX-Pfadschätzungsergebnisnachricht gemäß der Active-Probe-Results-Konfiguration an den NCM 1036 (Operation 1102-2).
  • 11 zeigt auch ein MX-Steuernachrichtenformat 1103. Wie dargestellt, beinhaltet die MX-Steuernachricht 1103 einen IP-Header, einen UDP-Header und MX-Steuer-PDU-Nutzdaten 1113. Die MX-Steuer-PDU-Nutzdaten 1113 beinhalten ein Typenfeld, ein CID-Feld und eine MX-Steuernachricht 1110. Die MX-Steuer-PDU 1113 kann eines oder mehrere der folgenden Felder beinhalten: Typ (1 Byte) zum Angeben des Typs der MX-Steuernachricht (ein Wert von „0“ zeigt einen Keep-Alive-Typ an, und ein Wert von „1“ zeigt einen Probe-REQ/ACK-Typ an; andere: Reserviert); CID (1 Byte) zum Angeben einer Verbindungs-ID der Zustellverbindung zum Senden der MX-Steuernachricht 1103; und eine MX-Steuernachricht 1110 (variable Größe/Länge), welche die Nutzdaten der MX-Steuernachricht 1110 enthält. Die MX-Steuernachricht 1103/PDU 1110 wird als normales UP-Paket über die gewünschte Zustellverbindung gesendet, deren Qualität und Erreichbarkeit bestimmt werden muss.
  • Die Steuernachricht 1103/PDU 1110 kann als Keep-Alive- und/oder Probe-REQ/ACK-Nachrichten codiert sein, um eine Pfadqualitätsabschätzung zu unterstützen. Das Feld „Typ“ wird für Keep-Alive-Nachrichten auf „0“ gesetzt. Der C-MADP 1007 kann periodisch eine Keep-Alive-Nachricht über eine oder mehrere Zustellverbindungen 1022-1 bis 1022-n (z.B. ANCs 905, 906 und/oder 907) senden, insbesondere wenn UDP-Tunnelung als das Anpassungsverfahren für die Zustellverbindung 1022 mit NAT-Funktion auf dem Pfad verwendet wird. Eine Keep-Alive-Nachricht ist 2 Byte lang und enthält ein Keep-Alive-Sequenznummernfeld (2 Byte) zur Angabe der Sequenznummer (SN) der Keep-Alive-Nachricht. Das Feld „Typ“ wird für Probe-REQ/ACK-Nachrichten auf „1“ gesetzt. Der N-MADP 1037 kann eine Sondierungsanfrage-(Probe-REQ-) Nachricht zur Pfadqualitätsabschätzung senden. Als Reaktion kann der C-MADP 1007 eine Sondierungsbestätigungs- (Probe-ACK-) Nachricht zurücksenden.
  • Eine Probe-REQ-Nachricht kann eines oder mehrere der folgenden Felder enthalten: Probing Sequence Number (Sondierungssequenznummer) (2 Bytes), um eine SN der Probe-REQ-Nachricht anzuzeigen; Probing Flag (Sondierungsflag) (1 Byte), wobei Bit 0 ein Probe-ACK-Flag ist, um anzuzeigen, ob die Probe-ACK-Nachricht erwartet wird (1) oder nicht (0), Bit 1 ein Probe-Type-Flag ist, um anzuzeigen, ob die Probe-REQ/ACK-Nachricht während der Initialisierungsphase (0), wenn der Netzwerkpfad nicht zur Übertragung von Benutzerdaten einbezogen wird, oder während der aktiven Phase (1), wenn der Netzwerkpfad zur Übertragung von Benutzerdaten einbezogen wird, gesendet wurde, Bit 2 ein Bit-Flag ist, um das Vorhandensein des Feldes „Reverse Connection ID“ (Rückwärtsverbindung-ID (R-CID) anzuzeigen, und die Bits 3 bis 7 reserviert sind; Reverse Connection ID (R-CID) (1 Byte), um die Verbindungs-ID der Zustellverbindung zum Senden der Probe-ACK-Nachricht auf dem Rückwärtspfad anzuzeigen; und Padding (Fülldaten) (Variable). Das Feld „Padding“ wird zum Steuern der Länge der Probe-REQ-Nachricht verwendet. Das Feld „R-CID“ ist nur dann vorhanden, wenn sowohl Bit 0 als auch Bit 2 des Feldes „Probing Flag“ auf 1 gesetzt sind. Darüber hinaus sollte Bit 2 des Feldes „Probing Flag“ auf „0“ gesetzt werden, falls Bit 0 „0“ ist, was angibt, dass die Probe-ACK-Nachricht nicht erwartet wird. Falls das Feld „R-CID“ nicht vorhanden ist, aber Bit 0 des Feldes „Probing Flag“ auf „1“ gesetzt ist, sollte die Probe-ACK-Nachricht über dieselbe Zustellverbindung wie die Probe-REQ-Nachricht gesendet werden.
  • Der C-MADP 1007 sollte die Probe-ACK-Nachricht als Antwort auf eine Probe-REQ-Nachricht mit dem Probe-ACK-Flag auf „1" gesetzt senden. Eine Probe-ACK-Nachricht ist 3 Byte lang und enthält ein Feld „Probing Acknowledgement Number“ (Sondierungsbestätigungsnummer) (2 Byte), um eine Sequenznummer der entsprechenden Probe-REQ-Nachricht anzugeben/zu enthalten.
  • Der CCM 1006 und der NCM 1036 tauschen Signalisierungsnachrichten zum Konfigurieren der UP-Funktionen über den C-MADP 1007 und den N-MADP 1037 am Client bzw. dem Netzwerk aus. Die Mittel für den CCM 1006 zum Erhalten der NCM-1036-Berechtigungsnachweise (z.B. FQDN (Fully Qualified Domain Name) oder Netzwerkadresse (z.B. IP-Adresse oder dergleichen)) zum Senden der anfänglichen Erkennungsnachrichten liegen außerhalb des Umfangs des vorliegenden Dokuments. Als ein Beispiel kann der Client die NCM-1036-Berechtigungsnachweise unter Verwendung von Verfahren wie Bereitstellung (Provisioning) oder DNS-Anfragen erhalten. Sobald der Erkennungsprozess erfolgreich ist, kann der (anfängliche) NCM 1036 zusätzliche NCM-1036-Adressen aktualisieren und zuweisen (z.B. basierend auf Mobil-Landeskennzahl- (MCC-, Mobile Country Code)/Mobilnetzwerkkennzahl-(MNC-, Mobile Network Code) Tupelinformationen, die in der MX-Erkennungsnachricht empfangen werden), um nachfolgende CP-Nachrichten zu senden.
  • Der CCM 1006 erkennt und tauscht Fähigkeiten mit dem NCM 1036 aus. Der NCM 1036 stellt die Berechtigungsnachweise des N-MADP-1037-Endpunkts bereit und handelt die Parameter für die Benutzerebene mit dem CCM aus. Der CCM 1006 konfiguriert den C-MADP 1007 zum Aufbauen des UP-Pfades (z.B. MPTCP/UDP-Proxy-Verbindung) mit dem N-MADP basierend auf den Berechtigungsnachweisen (z.B. (MPTCP-/UDP-) Proxy-Netzwerkadresse (z.B. IP-Adresse oder dergleichen) und -Port, die mit dem Kernnetzwerkpfad assoziiert sind) und den mit dem NCM 1036 ausgetauschten Parametern. Ferner tauschen der NCM 1036 und der CCM 1006 Linkzustandsinformationen aus, um Verkehrslenkung und UP-Behandlung an dynamische Netzwerkbedingungen anzupassen.
  • Nach dem Senden einer MAMS-Steuernachricht wartet der MAMS-CP-Peer (NCM 1036 oder CCM 1006) für eine Dauer von MAMS_TIMEOUT ms, bevor er in Fällen, in denen eine Antwort erwartet wurde, abläuft. Der Sender der Nachricht sendet die Nachricht für MAMS_RETRY (NEUVERSUCH) Male erneut, bevor er einen Fehler meldet, wenn keine Antwort empfangen wird. Ein Fehler impliziert, dass der MAMS-Peer inaktiv oder nicht erreichbar ist, und der Sender kehrt in den nativen Nicht-Mehrfachzugangs-/Einwegmodus zurück. Der CCM 1006 kann die MAMS-Erkennungsprozedur zum Wiederaufbauen der MAMS-Sitzung initiieren.
  • MAMS-CP-Peers führen die Keep-Alive-Prozeduren zur Sicherstellung, dass die anderen Peers erreichbar sind, und Wiederherstellung aus Dead-Peer-Szenarien aus. Jeder MAMS-CP-Endpunkt unterhält einen Keep-Alive-Timer, der für eine Dauer von MAMS_KEEP_ALIVE_TIMEOUT eingestellt ist. Der Keep-Alive-Timer wird immer dann zurückgesetzt, wenn der Peer eine MAMS-Steuernachricht empfängt. Wenn der Keep-Alive-Timer abläuft, wird eine MX-Keep-Alive-Anfrage gesendet.
  • Die Werte für MAMS_RETRY- und MAMS KEEP_ALIVE_TIMEOUT-Parameter, die in Keep-Alive-Prozeduren verwendet werden, hängen vom Einsatzfall ab. Als ein Beispiel können der Client 1001 und das Netzwerk die Werte unter Verwendung von Bereitstellung erhalten. Bei Empfang einer MX-Keep-Alive-Anfrage antwortet der Empfänger mit einer MX-Keep-Alive-Antwort. Falls der Sender in Reaktion auf MAMS_RETRY Wiederholungen der MX-Keep-Alive-Anfrage keine MAMS-Steuernachricht empfängt, deklariert der MAMS-Peer, dass der Peer inaktiv oder nicht erreichbar ist. Der CCM 1006 kann die MAMS-Erkennungsprozedur zum Wiederaufbauen der MAMS-Sitzung initiieren.
  • Zusätzlich sendet der CCM 1006 sofort eine MX-Keep-Alive-Anfrage an den NCM, wann immer er eine Übergabe (Handover) von einem (R)AN-Knoten 911 an einen anderen (R)AN-Knoten 911 detektiert. Während dieser Zeit stoppt der Client 1001 die Verwendung von MAMS-UP-Funktionalität in der UL-Richtung, bis er eine MX-Keep-Alive-Antwort vom NCM 1036 empfängt.
  • Die MX Keep-Alive-Anfrage enthält folgende Informationen: Reason (Grund) (kann z.B. Timeout oder Handover sein. Handover soll vom CCM 1006 nur bei Detektion eines Handovers verwendet werden); Unique Session ID (eindeutige Sitzungskennung für den CCM 1006, der die Verbindung aufgebaut hat. Besteht die Sitzung bereits, so wird die bestehende eindeutige Sitzungskennung zurückgegeben. Eine NCM-ID ist eine eindeutige Identität des NCM 1036 im Betreibernetzwerk, und die Sitzungs-ID ist eine eindeutige Identität, die der CCM-1006-Instanz durch diese NCM-1036-Instanz zugewiesen ist); Connection ID (Verbindungs-ID) (falls der Grund ein Handover ist, kann die Einbeziehung dieses Feldes zwingend sein); und Delivery Node ID (Zustellknoten-ID) (Identität des Knotens, an den der Client angeschlossen ist. Im Falle von LTE ist dies eine globale E-UTRAN-Zellkennung (ECGI, E-UTRAN Cell Global Identifier). Im Fall von WiFi ist dies eine AP-ID oder eine Medienzugriffssteuerungs- (MAC-, Media Access Control) Adresse. Ist der Grund „Handover“, kann die Einbeziehung dieses Feldes zwingend sein).
  • Die vorliegende Offenbarung stellt neue Mechanismen bereit, um dynamische Verkehrsaufteilung/-lenkung auf der Konvergenz- (Teil-)Schicht in MAMS zu unterstützen. Bestehende Lösungen beinhalten verschiedene e2e-Protokolle, wie etwa Mehrwege-TCP (MPTCP, multi-path TCP), um mehrere Wege oder RATs zu nutzen, um einen höheren Durchsatz zu erreichen. Diese e2e-Protokolllösungen werden jedoch auf dem Server verwaltet, der weit vom Datenaufteilungspunkt entfernt ist, und führen daher zu einer relativ hohen Rückmeldungsverzögerung. Darüber hinaus können die bestehenden Lösungen nicht auf die Funkschichtinformationen zugreifen.
  • [GMA14] spezifiziert, wie Benutzerdatenverkehr dynamisch über mehrere Links auf der MX-Konvergenzteilschicht aufgeteilt werden kann. Die vorliegende Offenbarung stellt dynamische Verkehrsaufteilung für verschiedene Optimierungsziele bereit, wie etwa Reduzieren der e2e-Verzögerung (z.B. „geringe Verzögerung“) oder Minimieren der zellularen (z.B. 5G/NR, LTE usw.) Nutzung (z.B. „niedrige Kosten“). Die vorliegende Offenbarung beinhaltet GMA-basierte Verkehrsaufteilung, die in der Konvergenzschicht des MAMS-Framework funktioniert (vgl. z.B. 9 bis 11). Die GMA-basierten Verkehrsaufteilungsmechanismen sind für untere Schichten transparent und benötigen keine Informationen von diesen Schichten. Es werden zwei Mehrwegeverkehrsaufteilungsoptionen bereitgestellt, die Optionen mit geringer Verzögerung und mit niedrigen Kosten beinhalten. Verschiedene Edge-Computing-Frameworks, wie etwa das vorliegend erörterte MEC-Framework, können verwendet werden, um die GMA-basierte Verkehrsaufteilung zu betreiben/zu implementieren. Eine beispielhafte Implementierung beinhaltet ein Verwenden der Smart-Edge-/MEC-Plattform, die von Intel® bereitgestellt wird.
  • 12 stellt ein Netzwerkmodell (Protokollstapel) 1200 mit einer Konvergenzschicht dar. In 12 befindet sich eine Anwendungsschicht (die eine oder mehrere Apps umfasst) über einer Transportschicht (die mindestens ein Transportprotokoll beinhaltet), die sich über einer Netzwerkschicht (die mindestens ein Netzwerkprotokoll beinhaltet) befindet, die sich über der Konvergenzschicht befindet (die mindestens ein Konvergenzprotokoll beinhaltet, das in diesem Beispiel GMA ist), die sich über einer Link-/Verbindungssicherungsschicht befindet (die 1 bis N RAT-Protokolle beinhaltet (wobei N eine Zahl ist)). Das Transportschichtprotokoll kann ein oder mehrere Transportprotokolle, wie beispielsweise TCP, UDP, QUIC und/oder jedes andere geeignete Transportprotokoll, wie etwa die vorliegend erörterten, implementieren. Zusätzlich oder alternativ kann das Netzwerkschichtprotokoll IP und/oder jedes andere geeignete Netzwerkprotokoll, wie etwa beliebige der vorliegend erörterten, sein.
  • 13 zeigt ein Beispiel 1300 für eine GMA-Mehrfachzugangsverkehrsaufteilung für eine Downlink-Richtung. Im Beispiel 1300 werden Datenpakete 1301 von dem oder den MAMS-Servern 940 über das DN 975 (z.B. Internet) an einen GMA-Sender (Tx) 1310 gesendet. Die Datenpakete 1301 können jedes geeignete Netzwerkprotokollformat aufweisen; zum Beispiel können die Datenpakete 1301 IP-Pakete oder dergleichen sein. Der GMA-Tx 1310 sendet ein oder mehrere Pakete an einen NAN 911A zur Lieferung an einen GMA-Empfänger (Rx) 1311 (z.B. Client 901), und er sendet ein oder mehrere Pakete an einen NAN 911B zur Lieferung an den GMA-Rx 1311 (z.B. Client 901). Die NANs 911A, 911B erzeugen verkapselte Pakete 1302 aus den Paketen 1301 durch Hinzufügen eines Headers (z.B. eines IP-Headers) und eines (im Folgenden ausführlicher erörtert) GMA-Trailers zu jedem Paket 1301. Die verkapselten Pakete 1302 werden dann über die jeweiligen Zugangsnetzwerkverbindungen 905 an den Client 901 gesendet. Die Verfahren zum Verkapseln der Pakete 1301 werden in [GMA14] erörtert.
  • Die Hauptzuständigkeiten des Konvergenzprotokolls (vgl. z.B. 12) beruhen darauf, ob die Entität als GMA-Tx-Entität 1310 oder GMA-Rx-Entität 1311 agiert. Die GMA-Tx-Entität 1310 teilt oder dupliziert Verkehr über mehrere Funklinks 905 und überträgt Pakete über einen anderen Funklink 905 basierend auf e2e-Messungen erneut. Die GMA-Rx-Entität 1311 ordnet Pakete, die über verschiedene Funklinks 905 empfangen werden, neu und leitet diese Pakete nacheinander an Entitäten der höheren Schichten weiter.
  • 2.1. GENERISCHES MEHRFACHZUGANGS- (GMA-) VERKAPSELUNGSPROTOKOLL
  • Wie bereits erwähnt, ist es für MX-Vorrichtungen wünschenswert, die Mehrfachzugangs-Netzwerkverbindungen nahtlos zu kombinieren, um die Bedienerlebnisqualität zu verbessern. Eine solche Optimierung kann zusätzliche Steuerinformationen, zum Beispiel die Sequenznummer (SN), in jedem Datenpaket (z.B. IP-Paket) erfordern. Das in [GMA14] erörterte generische Mehrfachzugangs- (GMA-) Verkapselungsprotokoll ist ein neues schlankes und flexibles Verkapselungsprotokoll für diesen Zweck.
  • Wieder unter Bezugnahme auf 9 ist die Konvergenz- (Teil-)Schicht im MAMS-DPPS für Mehrfachzugangsoperationen zuständig, einschließlich Multilink- (Pfad-) Aggregation, Aufteilen/Neuordnen, verlustlosem Schalten/Neuübertragen, Fragmentieren, Verketten usw. Sie arbeitet über der Anpassungs- (Teil-)Schicht im Protokollstapel 902, 942. Aus der Tx-Perspektive werden Benutzer-Nutzdaten (z.B. IP-Paket) zuerst von der Konvergenzschicht und dann von der Anpassungsschicht verarbeitet, bevor sie über eine Zustellverbindung transportiert werden; aus der Empfänger-Perspektive wird ein IP-Paket, das über eine Zustellverbindung empfangen wird, zuerst von der Anpassungsschicht und dann von der Konvergenzschicht verarbeitet.
  • Heutzutage wird Generic Routing Encapsulation (GRE) als das Verkapselungsprotokoll auf der Konvergenzschicht zum Codieren zusätzlicher Steuerinformationen (z.B. Schlüssel, Sequenznummer) verwendet (vgl. z.B. 3GPP TS 36.361 v15.0.0 (2018-07-09) („[LWIPEP]“), Dommety, G., „Key and Sequence Number Extensions to GRE", IETF RFC 2890, (September 2000) („[GRE1]“), und Leymann et al., „Huawei's GRE Tunnel Bonding Protocol", IETF RFC 8157 (Mai 2017) („[GRE2]“). Es gibt jedoch zwei Hauptnachteile bei diesem Ansatz, die zum Beispiel umfassen, dass IP-über-IP-Tunnelung (erforderlich für GRE) insbesondere für kleine Pakete zu höherem Overhead führt, und es schwierig ist, neue Steuerfelder einzuführen. Zum Beispiel beträgt der Overhead der IP-über-IP/GRE-Tunnelung sowohl mit Schlüssel als auch Sequenznummer 32 Bytes (20 Bytes IP-Header + 12 Bytes GRE-Header), was 80 % eines 40-Byte-TCP-ACK-Pakets ausmacht.
  • Auf der Konvergenzschicht wird das GMA-Verkapselungsprotokoll implementiert. GMA unterstützt drei Verkapselungsverfahren/-formate: Trailer-basierte IP-Verkapselung, Headerbasierte IP-Verkapselung und Nicht-IP-Verkapselung. Insbesondere vermeiden die IP-Verkapselungsverfahren IP-über-IP-Tunnel-Overhead (z.B. 20 Bytes), der 50 % eines 40-Byte-TCP-ACK-Pakets ausmacht. Darüber hinaus führt GMA neue Steuerfelder ein, um Fragmentierung und Verkettung zu unterstützen, die in herkömmlichen GRE-basierten Lösungen, wie etwa in [LWIPEP], [GRE1] und [GRE2], nicht verfügbar sind.
  • GMA arbeitet zwischen Endpunkten, die zum Arbeiten mit GMA durch zusätzliche Steuernachrichten und -prozeduren konfiguriert wurden (vgl. z.B. [RFC8743]). Darüber hinaus kann UDP- oder IPSec-Tunnelung auf der Anpassungsteilschicht verwendet werden, um den GMA-Betrieb vor Zwischenknoten (z.B. Zugangsknoten, Edge-Knoten usw.) zu schützen.
  • Wie in 9 gezeigt, kann eine Client-Vorrichtung 901 (z.B. ein Smartphone, Laptop, IoT-Vorrichtung usw.) über Mehrfachzugangs-Netzwerkverbindungen 905 eine Verbindung mit dem Internet herstellen. Eine dieser Verbindungen (z.B. Verbindung 905A) kann als Ankerverbindung fungieren, und die andere Verbindung (z.B. Verbindung 905B) kann als Zustellverbindung fungieren. Die Ankerverbindung stellt die Netzwerkadresse (z.B. IP-Adresse oder dergleichen) und Konnektivität für Ende-zu-Ende- (e2e-) Internetzugang bereit, und die Zustellverbindung stellt einen zusätzlichen Pfad zwischen dem Client 901 und dem MX-Gateway (z.B. MX-Server 940) für Mehrfachzugangsoptimierungen bereit. In einigen Implementierungen kann die Ankerverbindung, wenn GMA verwendet wird, eine virtuelle IP-Verbindung ähnlich der sein, die in einem VPN verwendet wird, und es kann bis zu zwei gleichzeitige Zustellverbindungen (z.B. 5G/NR, LTE, WiFi usw.) geben, von denen jede einen dedizierten UDP-Tunnel aufweist, der zur Datenübertragung aufgebaut ist.
  • Zum Beispiel ermöglicht Pro-Paket-Aggregation, dass ein einziger IP-Fluss die kombinierte Bandbreite der zwei Verbindungen verwendet. Bei einem anderen Beispiel können Pakete, die aufgrund eines temporären Verbindungsausfalls verloren gehen, erneut übertragen werden. Darüber hinaus können Pakete über mehrere Verbindungen dupliziert werden, um eine hohe Zuverlässigkeit und niedrige Latenz zu erreichen, und duplizierte Pakete sollten von der Empfangsseite eliminiert werden. Solch eine Mehrfachzugangsoptimierung erfordert zusätzliche Steuerinformationen (z.B. SN) in jedem IP-Datenpaket, die durch das hier und/oder in [GMA14] beschriebene GMA-Verkapselungsprotokoll unterstützt werden können.
  • GMA wird üblicherweise verwendet, wenn mehrere Zugangsnetzwerkverbindungen verwendet werden, kann aber auch verwendet werden, wenn nur eine einzige Zugangsnetzwerkverbindung verwendet wird. In diesen Szenarien kann GMA für Verlustdetektions- und Wiederherstellungszwecke genutzt oder zum Verketten mehrerer kleiner Pakete verwendet werden, um Pro-Paket-Overhead/-Ressourcenverbrauch zu reduzieren.
  • 14 stellt eine OTT-GMA-E2E-Netzwerkreferenzarchitektur 1400 dar. In 14 beinhaltet der MA-Client 901 den CCM 1006, der eine Steuerebenen-Funktionsentität im Client 901 ist, die MAMS-Steuernachrichten mit dem NCM 1036 austauscht und mehrere Netzwerkpfade am Client zum Transport von Benutzerdaten konfiguriert. Der CCM 1006 ist kommunikativ mit einem GMA-Client (Gc) 1401 im MA-Client 901 gekoppelt.
  • Der Gc 1401 ist eine Datenebenen-Funktionsentität im Client 901, die Benutzerdatenweiterleitung über mehrere Netzwerkpfade 905 und MA-Konvergenzoperationen (z.B. Aufteilen, Lenken, Duplizieren, Messen usw.) abwickelt. Der Gc 1401 betreibt seinen eigenen GMA-Protokollstapel, der die GMA-Datenebenenschicht umfasst, die sich auf jeweiligen Transportschichten Trns-1 und Trns-2 (z.B. TCP, UDP usw.) befindet, die sich auf jeweiligen Netzwerkschichten Net-1 und Net-2 (z.B. IP oder dergleichen) befinden. Die jeweiligen Netzwerkschichten interagieren mit jeweiligen Zugangsschichtentitäten RAT-1 und RAT-2. In diesem Beispiel ist RAT-A eine WiFi-Station (STA), und RAT-B ist ein LTE-UE.
  • Der MA-Server 940 beinhaltet den NCM 1036, der eine Steuerebenen-Funktionsentität im Netzwerk ist, die MAMS-Steuernachrichten vom Client 901, 9 verarbeitet und eine Verteilung von Datenpaketen über mehrere Netzwerkpfade und Benutzerebenenbehandlung der Verkehrsflüsse konfiguriert. Der NCM 1036 ist kommunikativ mit einem GMA-Server (Gs) 1440 im MA-Server 940 gekoppelt. Der Gs 1440 ist eine Datenebenen-Funktionsentität im Netzwerk, die Benutzerdatenweiterleitung über mehrere Netzwerkpfade 907 und MA-Konvergenzoperationen (z.B. Aufteilen, Lenken, Duplizieren, Messen usw.) abwickelt. Der Gs 1440 beinhaltet einen GMA-Protokollstapel, der gleich oder ähnlich dem GMA-Protokollstapel im Gc 1401 ist. Außerdem können der MA-Server 940 und insbesondere der Gs 1440 kommunikativ mit einem NAT-/Firewall-Gateway 1450 gekoppelt sein. Das NAT-/Firewall-Gateway 1450 kann zwischen dem MA-Server 940 und einem DN 970, 975 (z.B. dem Internet, einem Unternehmensnetzwerk, einem Lokalbereichs-DN und/oder dergleichen) angeordnet sein.
  • Eine WebSocket-basierte (z.B. TCP, UDP usw.) sichere Verbindung wird zwischen dem CCM 1006 und dem NCM 1036 hergestellt, um MAMS-Verwaltungsnachrichten 1430 auszutauschen, die zum Konfigurieren der Datenebenenfunktionen (z.B. Gc 1401 und Gs 1440) verwendet werden. Die MAMS-Verwaltungsnachrichten 1430 werden im Folgenden ausführlicher erörtert.
  • In einem GMA-System 1400 gibt es zwei Typen von Verbindungen: Ankerverbindungen und Zustellverbindungen. Eine Ankerverbindung ist eine IP-Verbindung, die von Anwendungen für e2e-Datentransfer verwendet wird. Eine Zustellverbindung ist eine Netzwerkverbindung (z.B. IP-Verbindung), die zum Zustellen von Benutzerdaten zwischen dem Gc 1401 und dem Gs 1440 verwendet wird. Die Ankerverbindung im OTA-GMA-System 1400 ist eine virtuelle Netzwerk-(z.B. IP-) Verbindung, die ähnlich ist wie die, die in virtuellen privaten Netzwerken (VPNs) verwendet wird. In einigen Implementierungen kann es bis zu zwei gleichzeitige Zustellverbindungen (z.B. 5G/NR, LTE, WiFi usw.) geben, von denen jede einen dedizierten Tunnel (z.B. UDP-Tunnel oder dergleichen) aufweist, der zur Datenübertragung eingerichtet ist.
  • Der Gc 1401 und/oder der Gs 1440 wählen die Zustellverbindung für MAMS-Nachrichten basierend auf einem aktuellen Zustand des Gc 1401 und/oder des Gs 1440 aus, was eines oder mehreres von Folgendem beinhalten kann: Senden aller MAMS-Nachrichten über eine erste (bevorzugte) Zustellverbindung (z.B. WiFi) in Zustand 1 oder 3 (vgl. z.B. 16); und Senden aller MAMS-Nachrichten über die zweite Zustellverbindung (z.B. zellenbasiert) in Zustand 2 oder 4 (vgl. z.B. 16).
  • In einer beispielhaften Implementierung ist das NAN 911 A eine zellulare Basisstation, wie etwa ein 5G/NR-gNB, ein LTE-eNB und/oder dergleichen, und das GW 1420A umfasst einen oder mehrere Server, die als ein Evolved Packet Core (EPC) für LTE-Implementierungen oder ein 5G-System (5GS)/5G-Kernnetzwerk (5GC) für 5G/NR-Implementierungen arbeiten. Bei dieser beispielhaften Implementierung betreiben der eine oder die mehreren Server eine oder mehrere Netzwerkfunktionen (NFs), wie etwa eine UPF in 5G/NR-Implementierungen, ein bedienendes Gateway (S-GW) und/oder ein Paketdatennetzwerk-Gateway (P-GW) in LTE-Implementierungen oder dergleichen. Bei dieser beispielhaften Implementierung ist die Verbindung 906A ein/e N3-Referenzpunkt/-Schnittstelle für 5G/NR-Implementierungen oder ein/e S1-Referenzpunkt/- Schnittstelle für LTE-Implementierungen, und die Verbindung 907 A ist ein/e N6-Referenzpunkt/- Schnittstelle für 5G/NR-Implementierungen oder ein/e SGi-Referenzpunkt/-Schnittstelle für LTE-Implementierungen.
  • In einer anderen beispielhaften Implementierung (die mit der zuvor beschriebenen beispielhaften Implementierung kombiniert werden kann) ist das NAN 911B ein WLAN-Zugangspunkt (AP), wie etwa ein WiFi-AP, und das GW 1420B umfasst einen oder mehrere Server und/oder Netzwerkelemente, die als ein WLAN- (WiFi-) Zugangs-Gateway (WAG), ein Breitbandnetzwerk-Gateway (BNG) und/oder dergleichen arbeiten. In dieser beispielhaften Implementierung können sowohl die Verbindung 906B als auch die Verbindung 907B eine geeignete Tunnelschnittstelle/-verbindung sein, wie etwa ein GRE-Tunnel, ein Tunnel eines Tunnelprotokolls (GTP - GPRS Tunneling Protocol) des allgemeinen paketvermittelten Funkdienstes (GPRS - General Packet Radio Service), Mobile-IP (MIP), ein PMIP-Tunnel (PMIP - Proxy MIP), VPN-Tunnel und/oder dergleichen. Die Verbindung 906B und die Verbindung 907B können dieselben oder unterschiedliche Tunnelprotokolle und/oder Kommunikationstechnologien nutzen.
  • 15 zeigt Funktionalitäten einer GMA-Datenebenenentität 1500. Die GMA-Datenebenenentität 1500 entspricht dem Gs 1440 und/oder dem Gc 1401, die zuvor mit Bezug auf 14 erörtert wurden (oder sie entspricht der GMA-Datenebenenschicht innerhalb des Gs 1440 und/oder des Gc 1401). Die GMA-Datenebene fungiert dabei als generische Konvergenzschicht für ein beliebiges (Funk-) Zugangsnetzwerk und/oder eine beliebige (Funk-) Zugangstechnologie. Die GMA-Datenebenenentität 1500 führt verschiedene Funktionen durch, wie etwa Pfadqualitätsmessungen (QoS, Paketverlust, Latenz usw.), Multilink-Verkehrslenkung (z.B. Verkehrsaufteilung/-lenkung, Neuordnung, Neuübertragung, Duplizierung, Codierung, Fragmentierung, Verkettung usw.) und QoS-bewusste Verkehrsformung und Warteschlangenbildung (z.B. Prioritätswarteschlange (PQ), Strict Priority (SP), Weighted Round Robin (WRR) usw.).
  • Die GMA-Datenebenenentität 1500 an einem GMA-Tx bereitet Verkehr (z.B. IP, TCP, UDP usw.) zur Übertragung an einen GMA-Rx vor. Der GMA-Tx stellt Sequenznummern für Pakete bereit, führt gleichzeitig mit der Zustellung an den GMA-Rx eine Fluss- (Verkehrs-) Aufteilung durch, wobei Pakete aufgeteilt oder an verschiedene Mehrfachzugangsnetzwerke (oder RATs) verteilt werden. Der GMA-Tx führt auch eine Verkettung durch, was das Platzieren mehrerer SDUs in einer PDU umfasst, um Paketverarbeitungs- und Tunnel-Overhead zu reduzieren, wodurch die Signalisierungs- und Verarbeitungseffizienz verbessert wird. Der GMA-Tx fügt außerdem einen GMA-Header oder -Trailer zu dem/den Paket(en) hinzu und führt Tunnelung durch, indem das Paket zum Beispiel gemäß einem geeigneten GMA-Tunnelprotokoll neu verpackt wird. Das Paket bzw. die Pakete werden dann über ein geeignetes Zugangsnetzwerk (z.B. eines der verschiedenen (R)ANs/eine der verschiedenen (R)ATs, die hier erörtert werden) übertragen.
  • Der GMA-Rx empfängt das Paket bzw. die Pakete, entpackt das Paket bzw. die Pakete gemäß dem verwendeten Tunnelprotokoll und entfernt den GMA-Header/-Trailer. Der GMA-Rx setzt das oder die Pakete, die über Mehrfachzugangsnetze zugestellt werden, basierend auf den Sequenznummern, die vom GMA-Tx bereitgestellt werden, wieder zusammen und ordnet sie neu. Der GMA-Rx führt dann Duplikaterkennung durch, um Pakete zu identifizieren (und zu verwerfen) und zu duplizieren, und stellt dann der Reihe nach das/die wieder zusammengesetzte(n) und neu geordnete(n) Paket(e) an höhere Schichten zu.
  • Zusätzlich oder alternativ stellt die GMA-Datenebenenentität 1500 verlustloses Schalten bereit, was die Neuübertragung und/oder Wiederherstellung von Paketen einbezieht, die verloren gehen können, wenn von einem Netzwerkzugangspfad auf einen anderen Netzwerkzugangspfad umgeschaltet wird. Zusätzlich oder alternativ führt die GMA-Datenebenenentität 1500 Pfadqualitätsmessungen, die passive und aktive Messungen von QoS-Parametern, wie beispielsweise Paketverlustrate, Umlaufzeit, unter vielen anderen umfassen (wie etwa die verschiedenen hierin erörterten Messungen), durch oder stellt solche bereit. Zusätzlich oder alternativ führt die GMA-Datenebenenentität 1500 andere Funktionen durch, wie etwa ARQ-ähnliche Neuübertragung (ARQ - Automatic Repeat Request), Duplizierung, Netzwerkcodierung, Verkehrsformung/Warteschlangenbildung und/oder dergleichen.
  • 16 veranschaulicht eine clientbasierte GMA-Datenverkehrssteuerungs-Zustandsmaschine 1600. Die Datenverkehrssteuerungs-Zustandsmaschine 1600 beinhaltet die folgenden Zustände:
    • Zustand 0 (Ruhe): Die virtuelle (Anker-) Verbindung ist inaktiv.
    • Zustand 1 (nur RAT1): Der gesamte Datenverkehr (DL und UL) wird über die erste (bevorzugte) RAT-Verbindung (RAT1) zugestellt.
    • Zustand 2 (nur RAT2): Der gesamte Datenverkehr wird über die zweite Verbindung (RAT2) zugestellt.
    • Zustand 3 (DL über RAT1 u. RAT2, UL über RAT2): DL-Verkehr wird über beide Verbindungen zugestellt und UL-Verkehr wird über die zweite Verbindung (RAT2) zugestellt.
  • Die Datenverkehrssteuerungs-Zustandsmaschine 1600 beinhaltet die folgenden Zustandsübergangsauslöser:
    • (1) Die virtuelle (Anker-) Verbindung wird erfolgreich hergestellt. Dieser Auslöser bewirkt einen Übergang vom Zustand 0 in den Zustand 1.
    • (2) Überlastung wird über den RAT1-DL detektiert, und RAT2-Verbindungserfolg wurde deklariert/detektiert, wobei die letzte Steuernachricht über RAT2 erfolgreich war. Dieser Auslöser bewirkt einen Übergang vom Zustand 1 in den Zustand 3. In einigen Implementierungen ist eine Überlastungsdetektion (basierend auf Paketverlust) nur anwendbar, falls das RAT1-Überlastungsdetektionsflag deaktiviert ist.
    • (3) Überlastung ist über die RAT1-DL nicht mehr vorhanden (trifft nur zu, wenn das RAT1-Überlastungserkennungsflag deaktiviert ist). Dieser Auslöser bewirkt einen Übergang vom Zustand 3 in den Zustand 1.
    • (4) Die RAT1-Empfangssignalqualität (oder Empfangssignalstärke) ist relativ schlecht (z.B. < -75 Dezibel-Milliwatt (dBm)), und/oder RAT1 hat einen Verbindungsausfall (oder Funkverbindungsausfall (RLF - Radio Link Failure)) deklariert oder detektiert. Der jeweilige Mechanismus zum Detektieren und/oder Deklarieren eines Verbindungsausfalls (oder RLF) ist durch die Standards/Spezifikationen von RAT1 definiert. Dieser Auslöser bewirkt einen Übergang vom Zustand 1 in den Zustand 2 oder einen Übergang vom Zustand 3 in den Zustand 2.
    • (5) Der GMA/MAMS-Betrieb wird beendet oder unterbrochen. Die Beendigung des GMA/MAMS-Betriebs kann umfassen, dass eine Zustellverbindung (RAT2 oder RAT1) für einen vordefinierten Zeitraum (z.B. 10 Minuten oder eine andere Zeitdauer) ausfällt und/oder der Gesamtdurchsatz relativ niedrig ist (z.B. < 10 Kilobit pro Sekunde (Kbit/s)). Ein unterbrochener GMA/MAMS-Betrieb kann umfassen, dass ein Bildschirm ausgeschaltet ist und/oder der Gesamtdurchsatz niedrig ist (z.B. < 10 Kbit/s). Dieser Auslöser bewirkt einen Übergang vom Zustand 1 in den Zustand 0 oder einen Übergang vom Zustand 2 in den Zustand 1.
    • (6) Die RAT1-Empfangssignalqualität ist relativ gut (z.B. >-70 dBm), und RAT1 hat einen Verbindungserfolg detektiert/deklariert. Dieser Auslöser bewirkt einen Übergang vom Zustand 2 in den Zustand 3.
    • (7) RAT2 hat einen Verbindungsausfall (oder RLF) detektiert/deklariert. Der jeweilige Mechanismus zum Detektieren und/oder Deklarieren eines Verbindungsausfalls (oder RLF) ist durch die Standards/Spezifikationen von RAT2 definiert. Dieser Auslöser bewirkt einen Übergang vom Zustand 3 in den Zustand 1 oder einen Übergang vom Zustand 2 in den Zustand 0.
  • Falls eine Verbindung als „Link Failure“ (Verbindungsausfall) deklariert wird, sollte sie mit Ausnahme von „Probe/ACK“ nicht zum Senden von Daten- oder Steuerpaketen verwendet werden, und der „Link Failure“-Status kann nur nach erfolgreichem Senden einer Sondierungsnachricht über die Verbindung ausgeschaltet werden.
  • Für den Datenverkehr werden folgende drei Flüsse definiert:
  • Hohe Zuverlässigkeit (Fluss-ID = 1): Verkehr mit hoher Zuverlässigkeit wird durch Duplizierung sowohl über RAT1 als auch RAT2 in Zustand 1, 2 und 3 zugestellt. Es ist anzumerken, dass der Empfänger für das Detektieren und Entfernen von duplizierten Paketen basierend auf ihrer Sequenznummer (unter Verwendung des in 6.6.1 definierten Algorithmus) verantwortlich ist. Es ist anzumerken, dass ein Fluss mit hoher Zuverlässigkeit eine niedrige Datenrate (z.B. < 1 Mbit/s) aufweisen sollte.
  • Verzögerungsempfindlich (Fluss-ID = 2): Verzögerungsempfindlicher Verkehr wird nur in Zustand 1, 2 und 3 über RAT2 zugestellt.
  • Hoher Durchsatz (Fluss-ID = 3): Verkehr mit hohem Durchsatz (z.B. DL) wird durch Aggregation sowohl über RAT 1 als auch RAT2 in Zustand 3 zugestellt, und der Empfänger (Gc) ist für das Neuordnen von Paketen unter Verwendung eines Algorithmus zuständig, der in 6.6.1 oder 6.6.2 definiert ist. UL-Verkehr wird von RAT1 in Zustand 1 und von RAT2 in Zustand 2 zugestellt. In Zustand 3 wird UL-Verkehr durch RAT2 zugestellt, falls das „UL-over-RAT2-Flag“ auf „1“ gesetzt ist, und andernfalls durch RAT1. Die Standardeinstellung von „UL-over-RAT2-Flag“ ist 0 (deaktiviert).
  • Im Beispiel von 16 kann RAT1 eine WLAN-RAT (z.B. WiFi) sein, und RAT2 kann eine zellenbasierte RAT (z.B. 5G/NR, LTE, GSM, GPRS, WiMAX usw.) sein. Die spezifischen RAT-Protokolle können die Mechanismen und/oder Parameter zum Bestimmen von Verbindungsfehlern und/oder Verbindungserfolgen definieren.
  • 17 stellt einen beispielhaften GMA-Konvergenzsteuerprotokollstapel 1700 c dar. Der GMA-Konvergenzsteuerungsprotokollstapel 1700c beinhaltet eine GMA-Konvergenzsteuerungsschicht, die GMA/MAMS-Steuernachrichten beinhaltet. Zusätzlich wird ein dritter Transportschichttunnel (z.B. UDP- oder IP-Sicherheitsprotokoll (IPSec)) über eine virtuelle (Anker-) IP-Verbindung (IP-3) zum Senden von zeitempfindlichen Steuernachrichten (z.B. Sondierungen, Verkehrsaufteilungsaktualisierungen usw.) aufgebaut.
  • Die virtuelle (Anker-) IP-Verbindung befindet sich auf einer GMA-Konvergenzschicht (auch als „GMA-Verkapselungsschicht“ bezeichnet). Dies ermöglicht, dass die (virtuellen) IP-Pakete, die GMA-Steuernachricht(en) mitführen, mit einem GMA-Header verkapselt werden, der nur ein 2B-Flag-Feld (im Folgenden erörtert) umfasst, wobei das Flag-Feld auf ausschließlich „0“-en gesetzt ist. Die GMA-Verkapselungsschicht befindet sich über jeweiligen Transporttunnelschichten (z.B. UDP oder IPSec) für jeweilige Zugangsnetzwerke (ANs) 1 und 2, die sich über jeweiligen IP-Schichten befinden, die sich über Schicht 2 (L2) und Schicht 1 (L1) der jeweiligen ANs 1 und 2 befinden. Die Ankerverbindung ist nun virtuell und nicht mehr an ein spezifisches Zugangsnetzwerk (z.B. AN1 und AN2 im Beispiel der 17) gebunden.
  • 17 zeigt außerdem einen beispielhaften GMA-Konvergenzdatenprotokollstapel 1700d. Der GMA-Konvergenzdatenprotokollstapel 1700d ähnelt dem GMA-Konvergenzdatenprotokollstapel 1700c mit der Ausnahme, dass die GMA-Konvergenzsteuerschicht im Stapel 1700c durch eine Anwendungsschicht ersetzt ist.
  • In beiden Stapeln, Stapel 1700c, Stapel 1700d, wird eine neue Protokollschicht, die GMA-Konvergenzschicht (auch als Trailer-basierte MAMS-Konvergenz- [UPMAMS-] Schicht bezeichnet) eingeführt, um alle Operationen in Bezug auf Mehrwege (-Verwaltung) (z.B. Verkettung, Aufteilung, Neuordnung, Duplikation, Eliminierung, Messungen usw.) zu handhaben. Bei einigen Implementierungen verkapselt die GMA-Konvergenzschicht die Daten- und/oder Steuernachrichten unter Verwendung eines GMA-Header-basierten Verkapselungsformats, das verwendet wird, wie in 18 gezeigt ist. Das GMA-Konvergenzverkapselungsprotokoll wird in [GMA14] erörtert. Wenn ein Zugangsnetzwerk 910 keine MAMS-Netzwerkfunktionen unterstützt, wird die virtuelle Verbindung zwischen einer Endvorrichtung (z.B. Client-Vorrichtung 901) und einem Cloud-Server oder Edge-Server hergestellt. Diese virtuelle Verbindung kann dann als Ankerverbindung für Cloud-Anwendungen oder Edge-Anwendungen verwendet werden. Bei den virtuellen Ankerverbindungen kann es sich um eine IP-Verbindung handeln, die von Anwendungen zur e2e-Datenübertragung genutzt wird. Die anderen Verbindungen (z.B. Zustellverbindungen) von AN1 und AN2 können IP-Verbindungen zum Zustellen von Benutzerdaten zwischen dem Client und dem Server sein. Zusätzlich können die bestehenden MAMS-Konvergenzteilschichtfunktionalitäten [UPMAMS] so wiederverwendet werden, wie sie sind. Zusätzlich oder alternativ wird die virtuelle (Anker-) Verbindung zum Senden von zeitempfindlichen MAMS-Steuer-/Verwaltungsnachrichten (z.B. Sondierungen, Verkehrsaufteilungsaktualisierungen usw.) hergestellt. Die (virtuellen) Pakete, die GMA-Steuer-/Verwaltungsnachrichten mitführen, werden ebenfalls mit dem GMA-Header verkapselt, was auch im Folgenden ausführlicher erörtert wird.
  • 18 stellt ein Format einer GMA-Konvergenzprotokolldateneinheit (PDU) 1800 dar. Die PDU 1800 umfasst einen GMA-Header und ein IP-Paket. Der GMA-Header wird im Folgenden ausführlicher erörtert. In diesem Beispiel beinhaltet die PDU 1800 ein Flag-Feld (2 Bits (B), ein Client-ID-Feld (2B), ein Fluss-ID-Feld (1B), ein PPP-Feld (PPP - Per Packet Priority) (1B), ein SN- (Sequenznummern-) Feld (4B) und ein Zeitstempelfeld (4B) wie folgt, wobei Bit 0 das höchstwertige Bit (MSB - Most Significant Bit) ist, und Bit 15 das niedrigstwertige Bit (LSB - Least Significant Bit) ist: Bit #0 (MSB): Client-ID; Bit #1; Fluss-ID; Bit #2: Pro-Paket-Priorität (PPP); Bit #3: Sequenznummer (B0: L-SN, B1-B3: G-SN); Bit #4: Zeitstempel; und Bit #13-15: GMA-Protokoll (z.B. „0x07“).
  • Das B0 des SN-Feldes ist ein L-SN- (Teil-)Feld, und B1-B3 des SN-Feldes ist ein G-SN-(Teil-)Feld. Die G-SN dient zur Neuordnung und die L-SN dient zur Paketverlustmessung. Das (2B-) Flag-Feld gibt an, welche zusätzlichen Felder im GMA-Header enthalten sind. Die folgenden Bits im Flag-Feld können einen ersten Wert, falls das Paket 1800 Downlink-Daten (z.B. „0xF807“) mitführt, einen zweiten Wert, falls das Paket Uplink-Daten mitführt (z.B. „0x7807“), einen dritten Wert, falls das Paket 1800 eine verschlüsselte Steuernachricht mitführt (z.B. „0x800F“), oder einen vierten Wert aufweisen, falls das Paket 1800 eine unverschlüsselte Steuernachricht mitführt (z.B. „0x0000“). Zusätzlich oder alternativ ist, falls das Paket 1800 Uplink-Daten mitführt, das „Client-ID“-Feld nicht im GMA-Header enthalten. Zusätzlich oder alternativ kann das Paket 1800, falls es eine verschlüsselte Steuernachricht mitführt, die folgenden Felder beinhalten: Bit #0 (MSB): Client-ID; Bit #12: Verschlüsselung aktiviert; und Bit #13~15: GMA-Protokoll (z.B. „0x07“).
  • Wie in den 11, 17 und 18 dargestellt, gibt es drei verschiedene Netzwerkadressen (z.B. IP-Adressen) und drei Transportverbindungen (z.B. UDP, TCP usw.) für jeden Client in einem GMA-System. Die Netzwerkadresse (z.B. IP-Adresse) jeder Zustellverbindung auf dem Client wird durch ein jeweiliges Zugangsnetzwerk konfiguriert. Alle anderen Netzwerkadressen (z.B. IP-Adresse) und Transportports (z.B. UDP, TCP-Ports oder dergleichen) werden im GMA-System entweder durch Client-Konfiguration oder MAMS-Nachrichten konfiguriert.
  • 2.1.1. GMA- VERKAPSELUNGSVERFAHREN UND -FORMATE
  • Das GMA-Verkapselungsprotokoll unterstützt die folgenden drei Verfahren: Trailer-basierte IP-Verkapselung; Header-basierte IP-Verkapselung; und (Header-basierte) Nicht-IP-Verkapselung. Solange es die Implementierung zulässt, sollte eine Trailer-basierte IP-Verkapselung verwendet werden. Eine Header-basierte Verkapselung sollte verwendet werden, falls eine Trailer-basierte Verkapselung aus irgendeinem Grund (z.B. Implementierungsbedingungen) nicht durchführbar ist. In diesem Fall sollte, falls die Anpassungsschicht (z.B. UDP-Tunneln) das Nicht-IP-Paketformat unterstützt, eine Header-basierte Nicht-IP-Verkapselung verwendet werden; ansonsten sollte eine Header-basierte IP-Verkapselung verwendet werden.
  • Wenn Nicht-IP-Verkapselung konfiguriert ist, sollte in jedem Paket immer ein GMA-Header vorhanden sein. Falls dagegen IP-Verkapselung konfiguriert ist, kann der GMA-Header oder -Trailer dynamisch paketweise hinzugefügt werden und gibt das Vorhandensein des GMA-Headers (oder -Trailers) an, um den Protokolltyp der GMA-PDU auf „114“ zu setzen.
  • Die GMA-Endpunkte können das Verkapselungsverfahren durch Steuersignalisierung (vgl. z.B. 10) oder Vorkonfiguration konfigurieren. Zum Beispiel beinhaltet eine Nachricht „MX UP Setup Configuration Request“ (MX-UP-Setup-Konfigurationsanforderung), wie in [RFC8743] erörtert, die „MX Convergence Method Parameters“ (MX-Konvergenzverfahrensparameter), was die Liste von Parametern zum Konfigurieren der Konvergenzschicht bereitstellt, und kann erweitert werden, um das GMA-Verkapselungsverfahren anzugeben. Ein Parameter „GMA-Verkapselungsformat“ kann enthalten sein, um eines der drei GMA-Verkapselungsverfahren anzugeben.
  • 19 zeigt verschiedene Formate einer GMA-Protokolldateneinheit (PDU), die ein GMA-PDU-Format mit Trailer-basierter IP-Verkapselung 1901, ein GMA-PDU-Format mit Header-basierter IP-Verkapselung 1902 und ein GMA-PDU-Format mit Nicht-IP-Kapselung 1903 umfassen. Jede GMA-PDU kann (unabhängig vom jeweiligen verwendeten Format) ein oder mehrere IP-Pakete (auch als (GMA-)Dienstdateneinheiten (SDU - Service Data Unit) bezeichnet) oder ein Fragment eines IP-Pakets (oder (GMA-)SDU-Fragment) im Nutzlastabschnitt der PDU mitführen.
  • Die GMA-PDU 1901 beinhaltet einen IP-Header, IP-Nutzdaten und einen GMA-Trailer 1910. Die anderen GMA-PDUs 1902 und 1903 beinhalten einen GMA-Header 420 anstelle des GMA-Trailers 1910. Der GMA-Trailer 1910 und der GMA-Header 1920 beinhalten verschiedene GMA-Steuerfelder. Üblicherweise wird die Träger-basierte IP-Verkapselungs-GMA-PDU 1901 verwendet, solange eine Implementierung es erlaubt/zulässt. Die Header-basierten Verkapselungs-PDUs 1902 und 1903 können jedoch verwendet werden, falls die GMA-Steuerfelder am Ende der Pakete nicht hinzugefügt werden können.
  • 2.1.1.1. TRAILER-BASIERTE IP- VERKAPSELUNG
  • Für die Trailer-basierte GMA-PDU 1901 wird das Protokolltyp-Feld im IP-Header auf „114“ (ein beliebiges 0-Hop-Protokoll) geändert, um das Vorhandensein des GMA-Trailers 1910 anzugeben. Ist das ursprüngliche IP-Paket IPv4, so können die folgenden drei IP-Header-Felder geändert werden: IP-Länge-Feld: Hinzufügen der Länge des „GMA-Trailers“ zur Länge des ursprünglichen IP-Pakets); Time to Live (TTL): Setzen des TTL-Feldes auf „1“; und IP-Prüfsummenfeld: Neuberechnen einer IP-Prüfsumme nach Ändern des Feldes „Protokolltyp“, „TTL“ und „IP-Länge“.
  • Ist das ursprüngliche IP-Paket Ipv6, so können die folgenden beiden IP-Header-Felder geändert werden: IP-Längen-Feld: Hinzufügen der Länge des „GMA-Trailers“ zur Länge des ursprünglichen IP-Pakets; Hop-Limit- (HL-) Feld: Setzen des HL-Feldes auf „0“.
  • Falls UDP-Tunnelung an der Anpassungsschicht verwendet wird, um die GMA-PDU 1901, 1902 oder 1903 zu übertragen, können diese drei IP-Header-Felder unverändert bleiben und der Rx bestimmt die GMA-PDU-Länge basierend auf der UDP-Paketlänge.
  • 19 zeigt außerdem ein beispielhaftes Format des GMA-Trailers 1910, welches verschiedene vorhandene Steuerfelder zeigt. Der GMA-Trailer 1910 beinhaltet ein oder mehrere obligatorische Felder und null oder mehr optionale Felder. Die obligatorischen Felder beinhalten das Feld „Flags“ und das Feld „Nächster Header“, die die letzten 3 Bytes des GMA-Trailers 1910 sind. Das Nächster-Header-Feld (1 Byte) gibt den IP-Protokolltyp der (ersten) SDU in einer PDU an und speichert den Wert vor seinem Überschreiben in „114“. Für das Flags-Feld (2 Bytes) ist Bit 0 das höchstwertige Bit (MSB), und Bit 15 ist das niedrigstwertige Bit (LSB). Das Flags-Feld beinhaltet folgende Felder: Prüfsumme vorhanden (Bit 0): Falls das Prüfsummen-vorhanden-Bit auf 1 gesetzt ist, dann ist das Prüfsummenfeld vorhanden; Verkettung vorhanden (Bit 1): Falls das Verkettung-vorhanden-Bit auf 1 gesetzt ist, dann führt die PDU mehrere SDUs mit, und das Erste-SDU-Länge-Feld ist vorhanden; Verbindungs-ID vorhanden (Bit 2): Falls das Verbindungs-ID-vorhanden-Bit auf 1 gesetzt ist, dann ist das Verbindungs-ID-Feld vorhanden; Fluss-ID vorhanden (Bit 3): Falls das Fluss-ID-vorhanden-Bit auf 1 gesetzt ist, dann ist das Fluss-ID-Feld vorhanden; Fragmentierung vorhanden (Bit 4): Falls das Fragmentierung-vorhanden-Bit auf 1 gesetzt ist, dann führt die PDU ein Fragment der SDU mit, und das Fragmentierungssteuerfeld ist vorhanden; Zustell-SN vorhanden (Bit 5): Falls das Zustell-Sequenznummer-(SN-)vorhanden-Bit auf 1 gesetzt ist, dann ist das Zustell-SN-Feld vorhanden und enthält die gültigen Informationen; Fluss-SN vorhanden (Bit 6): Falls das Fluss-SN-vorhanden-Bit auf 1 gesetzt ist, dann ist das Sequenznummer-Feld vorhanden; Zeitstempel vorhanden (Bit 7): Falls das Zeitstempel-vorhanden-Bit auf 1 gesetzt ist, dann ist das Zeitstempel-Feld vorhanden; TTL vorhanden (Bit 8): Ist das TTL-vorhanden-Bit auf 1 gesetzt, so ist das TTL-Feld vorhanden; Reserviert (Bit 9-12): bei Empfang auf „0“ gesetzt und ignoriert; Version (Bit 13 ~ 15): GMA-Versionsnummer, die für das in [GMA14] spezifizierte GMA-Verkapselungsprotokoll auf 0 gesetzt ist. Das Flags-Feld befindet sich am Ende der PDU, und das Nächster-Header-Feld ist das vorletzte Feld. Der GMA-Rx kann das Flags-Feld zuerst decodieren, um die Länge des GMA-Trailers zu bestimmen, und dann das eine oder die mehreren optionalen Felder decodieren, die in der GMA-PDU enthalten sind (im Folgenden erörtert).
  • Der GMA-Trailer 1910 kann auch null oder mehr der folgenden optionalen Felder umfassen: Prüfsumme (1 Byte), enthält die (Einerkomplement-) Prüfsummen-Summe aller 8 Bits in dem Trailer 1910 (zum Zwecke des Berechnens der Prüfsumme ist der Wert des Prüfsummenfeldes Null; dieses Feld ist nur vorhanden, falls das Prüfsumme-vorhanden-Bit auf eins gesetzt ist); Erste-SDU-Länge (2 Byte), gibt die Länge des ersten IP-Pakets in der PDU an, wenn eine PDU mehrere IP-Pakete enthält (dieses Feld ist z.B. nur vorhanden, wenn das Verkettung-vorhanden-Bit auf eins gesetzt ist); Verbindungs-ID (1 Byte), enthält eine vorzeichenlose ganze Zahl, um die Anker- und/oder Zustellverbindung der GMA-PDU zu identifizieren (dieses Feld ist z.B. nur vorhanden, wenn das Verbindungs-ID-vorhanden-Bit auf eins gesetzt ist): das Ankerverbindungs-ID-Datenelement/-Feld (MSB, 4 Bits des Verbindungs-ID-Feldes) ist eine vorzeichenlose ganze Zahl, um die Ankerverbindung zu identifizieren, und das Zustellverbindungs-ID-Datenelement/-Feld (LSB, 4 Bits des Verbindungs-ID-Feldes) ist eine vorzeichenlose ganze Zahl, um die Zustellverbindung zu identifizieren; die Fluss-ID (1 Byte), enthält eine vorzeichenlose ganze Zahl, um den IP-Fluss zu identifizieren, zu dem eine PDU gehört, zum Beispiel eine ID eines Datenfunkträgers (DRB - Data Radio Bearer) [LWIPEP] für eine zellulare (z.B. LTE-, 5G/NR- usw.) Verbindung (dieses Feld ist z.B. nur vorhanden, wenn das Fluss-ID-vorhanden-Bit auf eins gesetzt ist); Fragmentierungssteuerung (FC) (z.B. 1 Byte), zum Bereitstellen notwendiger Informationen für die Wiederzusammensetzung, die nur benötigt werden, wenn eine PDU Fragmente mitführt (dieses Feld ist z.B. nur vorhanden, wenn das Fragmentierungs-vorhanden-Bit auf eins gesetzt ist; siehe z.B. Abschnitt 5 in [GMA14]); Zustell-SN (1 Byte), enthält eine automatisch inkrementierte ganze Zahl, um die GMA-PDU-Übertragungsreihenfolge auf einer Zustellverbindung anzugeben (die Zustell-SN kann z.B. benötigt werden, um den Paketverlust jeder Zustellverbindung zu messen, und daher pro Zustellverbindung pro Fluss erzeugt werden; dieses Feld ist z.B. nur vorhanden, falls das Zustell-SN-vorhanden-Bit auf eins gesetzt ist); Fluss-SN (3 Bytes), enthält eine automatisch inkrementierte ganze Zahl, um die Reihenfolge von GMA-SDUs (z.B. IP-Paketen) eines Flusses anzugeben (die Fluss-SN wird z.B. möglicherweise für eine Neuübertragung, Neuordnung und Fragmentierung benötigt; die Fluss-SN kann pro Fluss erzeugt werden; dieses Feld ist z.B. nur vorhanden, wenn das Fluss-SN-vorhanden-Bit auf eins gesetzt ist; Zeitstempel (4 Bytes), enthält den aktuellen Wert des Zeitstempeltakts des Tx in der Einheit von 1 Millisekunde. Dieses Feld ist nur vorhanden, wenn das Zeitstempel-vorhanden-Bit auf eins gesetzt ist; und TTL (1 Byte), enthält den TTL-Wert des ursprünglichen IP-Headers, wenn die GMA-SDU IPv4 ist, oder den Hop-Limit-Wert des IP-Headers, wenn die GMA-SDU IPv6 ist (dieses Feld ist z.B. nur vorhanden, wenn das TTL-vorhanden-Bit auf eins gesetzt ist). Die GMA-Steuerfelder folgen der Bitreihenfolge im Flags-Feld (z. B. ist Bit 0 (MSB) des Flags-Feldes das Prüfsummen-vorhanden-Bit, und das Prüfsummenfeld ist das letzte im Trailer 1910 mit Ausnahme der zwei obligatorischen Felder; Bit 1 ist das Verkettung-vorhanden-Bit und das FSL-Feld ist das zweitletzte usw.).
  • 2.1.1.2. HEADER-BASIERTE IP- VERKAPSELUNG
  • 19 zeigt außerdem das Header-basierte IP-Verkapselungsformat 1902. Hierbei wird der GMA-Header 1920 unmittelbar nach dem IP-Header der GMA-SDU eingefügt.
  • 19 zeigt auch ein beispielhaftes GMA-Header- (hdr-) Format 1920, das das Flags-Feld und die GMA-Steuerfelder beinhaltet. Im Vergleich zum GMA-Trailer 1910 besteht der einzige Unterschied darin, dass sich das Flags-Feld nun vorne befindet, so dass der Rx zuerst das Flags-Feld decodieren kann, um die GMA-Header-Länge zu bestimmen. Außerdem sollten die IP-Header-Felder der GMA-PDU in gleicher Weise geändert werden wie eine Trailer-basierte IP-Verkapselung (wie zuvor erörtert). Zusätzlich oder alternativ werden die TTL-, FSL- und Nächster-Header-Felder aus den GMA-Steuerfeldern entfernt, da die IP-Header-Felder der GMA-SDU während der Verkapselung unverändert bleiben. Die Reihenfolge der anderen GMA-Steuerfelder ist gleich wie zuvor erörtert.
  • In einigen Implementierungen kann die GMA-PDU 1902 ohne Modifikation verwendet werden, falls die Anpassungsschicht (z.B. UDP-Tunnelung oder dergleichen) ein Nicht-IP-Paketformat unterstützt. Falls die Anpassungsschicht (vgl. z.B. 9B) nur das IP-Paketformat unterstützt, kann die Header-basierte IP-Verkapselungs-GMA-PDU 1903 verwendet werden. In der Header-basierten IP-Verkapselungs-PDU 1903 wird der IP-Header der GMA-SDU (z.B. IP-Nutzdaten) zur Vorderseite des Pakets verschoben, so dass die GMA-PDU 1903 ein IP-Paket wird, und die IP-Header-Felder der GMA-PDU 1903 auf die gleiche Weise wie die Trailer-basierte IP-Verkapselungs-PDU 1901 geändert werden können.
  • Die Header- oder Trailer-basierten IP-Verkapselungs-PDUs 1902, 1901 können dynamisch paketweise verwendet werden, und das Setzen des Protokolltyps der GMA-PDU auf „114“ gibt das Vorhandensein des GMA-Headers 1920 in einem IP-Paket an.
  • 2.1.1.3. (HEADER-BASIERTE) NICHT-IP- VERKAPSELUNG
  • 19 stellt auch das Header-basierte Nicht-IP-Verkapselungsformat 1903 dar. Hierbei ist an der MX-Anpassungsschicht „UDP-Tunnelung“ konfiguriert. Außerdem werden „TTL“, „FSL“ und „Nächster Header“ nicht mehr benötigt. Außerdem bleiben die IP-Header-Felder der GMA-SDU unverändert. Wenn eine Nicht-IP-Verkapselung konfiguriert ist, ist auch der GMA-Header 1920 vorhanden.
  • 2.1.2. FRAGMENTIERUNG
  • Die Konvergenzschicht kann Fragmentierung unterstützen, wenn eine Zustellverbindung eine kleinere maximale Übertragungseinheit (MTU) aufweist als das ursprüngliche IP-Paket (SDU). Die Fragmentierungsprozedur auf der Konvergenzteilschicht ähnelt prinzipiell der IP-Fragmentierung (vgl. z.B. „DARPA Internet Program Protocol Specification", IETF RFC 791 (September 1981)), weist jedoch die folgenden zwei Unterschiede für weniger Overhead auf das Fragment-Offset-Feld wird in Anzahl von Fragmenten ausgedrückt; und die maximale Anzahl von Fragmenten pro SDU beträgt 2^7 (=128).
  • Das Feld „Fragmentierungssteuerung“ (FC) in dem GMA-Trailer (oder -Header) enthält die folgenden Bits: Bit Nr. 7: ein Mehr-Fragmente- (MF-) Flag, zeigt an, ob das Fragment das letzte (0) ist oder nicht (1); und Bit Nr. 0 ~ Nr. 6: Fragment-Offset (in Einheiten von Fragmenten) zum Spezifizieren des Offsets eines bestimmten Fragments relativ zum Anfang der SDU.
  • Eine PDU führt eine ganze SDU ohne Fragmentierung mit, wenn das FC-Feld durchgehend auf „0“-en gesetzt ist oder das FC-Feld nicht im Trailer vorhanden ist. Andernfalls enthält die PDU ein Fragment der SDU.
  • Das Fluss-SN-Feld im Trailer wird verwendet, um die Fragmente einer SDU von denen einer anderen zu unterscheiden. Das Fragment-Offset- (FO-) Feld gibt dem Empfänger die Position eines Fragments in der ursprünglichen SDU an. Das Mehr-Fragmente- (MF-) Flag zeigt das letzte Fragment an.
  • Um eine lange SDU zu fragmentieren, erzeugt der Tx n PDUs und kopiert den Inhalt der IP-Header-Felder aus der langen PDU in den IP-Header aller PDUs. Das Längenfeld im IP-Header der PDU sollte auf die Länge der PDU geändert werden, und der Protokolltyp sollte auf 114 geändert werden.
  • Die Daten der langen SDU werden basierend auf der MTU-Größe der Zustellverbindung in n Teile unterteilt. Der erste Teil der Daten wird in der ersten PDU platziert. Das MF-FLAG wird auf „1“ gesetzt, und das FO-Feld wird auf „0“ gesetzt. Der i-te Teil der Daten wird in der i-ten PDU platziert. Das MF-Flag wird auf „0“ gesetzt, wenn es das letzte Fragment ist, und andernfalls auf „1“ gesetzt. Das FO-Feld wird auf i-1 gesetzt.
  • Um die Fragmente einer SDU zusammenzusetzen, kombiniert der Empfänger PDUs, die alle die gleiche Fluss-SN aufweisen. Die Kombination erfolgt durch Platzieren des Datenteils jedes Fragments in der relativen Reihenfolge, die durch den Fragment-Offset im GMA-Trailer (oder - Header) dieses Fragments angegeben wird. Das erste Fragment weist den Fragment-Offset auf „0“ gesetzt auf, und das letzte Fragment weist das Mehr-Fragmente-Flag auf „0“ gesetzt auf.
  • Die GMA-Fragmentierung arbeitet oberhalb der IP-Schicht der individuellen Zugangsverbindung (z.B. RAT1, RAT2 usw.) und zwischen den beiden Endpunkten der Konvergenzschicht. Die Konvergenzschicht-Endpunkte (Client, Mehrfachzugangs-Gateway) sollten die MTU einer individuellen Verbindung entweder durch manuelle Konfiguration oder Implementieren von Pfad-MTU-Erkennung (PMTUD - Path MTU Discovery) erhalten, wie in Bonica et al., „IP Fragmentation Considered Fragile", IETF RFC 8900 (September 2020) vorgeschlagen.
  • 2.1.3. VERKETTUNG
  • Die Konvergenzteilschicht kann Verkettung unterstützen, wenn eine Zustellverbindung eine größere maximale Übertragungseinheit (MTU) aufweist als das ursprüngliche IP-Paket (SDU). Nur die SDUs mit derselben Client-Netzwerkadresse (z.B. IP-Adresse oder dergleichen) und derselben Fluss-ID können verkettet werden. Falls das (Trailer- oder Header-basierte) IP-Verkapselungsverfahren verwendet wird, sollte das FSL- (First SDU Length - Erste-SDU-Länge) Feld im GMA-Trailer (oder Header) enthalten sein, um die Länge der ersten SDU anzugeben. Andernfalls sollte das FSL-Feld nicht enthalten sein.
  • Um zwei oder mehr SDUs zu verketten, erzeugt der Tx eine PDU und kopiert den Inhalt des IP-Header-Felds aus der ersten SDU in den IP-Header der PDU. Die Daten der ersten SDU werden im ersten Teil der Daten der PDU platziert. Die gesamte zweite SDU wird dann im zweiten Teil der Daten der PDU platziert. Die Prozedur wird fortgesetzt, bis die PDU-Größe die MTU der Zustellverbindung erreicht. Wenn das FSL-Feld vorhanden ist, sollte das IP-Längenfeld der PDU aktualisiert werden, um alle verketteten SDUs und den Trailer (oder Header) einzubeziehen, und das IP-Prüfsummenfeld sollte neu berechnet werden, wenn das Paket IPv4 ist.
  • Um eine PDU zu zerlegen, erhält der Empfänger, falls das (Header- oder Trailer-basierte) IP-Verkapselungsverfahren verwendet wird, zuerst die Länge der ersten SDU aus dem FSL-Feld und decodiert die erste SDU. Der Empfänger erhält dann die Länge der zweiten SDU basierend auf dem Längenfeld im zweiten SDU-IP-Header und decodiert die zweite SDU. Das Verfahren wird so lange fortgesetzt, bis kein Byte mehr in der PDU vorhanden ist. Falls das Nicht-IP-Verkapselungsverfahren verwendet wird, ändert sich der IP-Header der ersten SDU während des Verkapselungsprozesses nicht, und der Empfänger sollte die Länge der ersten SDU direkt aus ihrem IP-Header erhalten.
  • Falls eine PDU mehrere SDUs enthält, ist das Fluss-SN-Feld für die letzte SDU, und die Fluss-SN einer anderen SDU, die von derselben PDU mitgeführt wird, kann gemäß ihrer Reihenfolge in der PDU erhalten werden. Falls zum Beispiel das SN-Feld 6 ist und eine PDU 3 SDUs (IP-Pakete) enthält, ist die SN 4, 5 und 6 für die erste, die zweite bzw. die letzte SDU. Die GMA-Verkettung kann zum Packen kleiner Pakete einer einzigen Anwendung, z.B. TCP-ACKS, oder aus mehreren Anwendungen verwendet werden. Es ist anzumerken, dass ein einziger GMA-Fluss mehrere Anwendungsflüsse (TCP, UDP usw.) mitführen kann.
  • 2.1.4. GMA-PROTOKOLLSTAPEL
  • 17 zeigt außerdem einen (verankerten) integrierten GMA-Konvergenzprotokollstapel 1700e. Wie bereits erwähnt, können GMA-Datenebenenfunktionen (z.B. Gc und Gs) in eine oder mehrere bestehende Netzwerkfunktionen (z.B. ein Gateway (GW), MEC usw.) integriert sein, um die Verwendung einer virtuellen Netzwerkschnittstelle (z.B. IP #3) zu vermeiden. Der integrierte GMA-Datenebenen-Protokollstapel 1700e verwendet die RAT1-Verbindung als Ankerverbindung. Infolgedessen wird nur ein UDP-Tunnel zum Zustellen von Verkehr über die Nicht-Ankerverbindung benötigt, die die RAT2-Verbindung ist.
  • In einem Beispiel ist die RAT1-Ankerverbindung eine zellulare Verbindung (z.B. 5G/NR, LTE usw.) und die RAT2-Nicht-Ankerverbindung ist eine WiFi-Verbindung. Wenn die 5G/LTE-Verbindung als Anker für Anwendungen und die WiFi-Verbindung als Zustellverbindung verwendet werden, kann UDP-Tunnelung (oder IPSec) zum Zustellen von 5G/LTE-IP-Verkehr über ein WiFi-Netzwerk verwendet werden. Die GMA-Konvergenzteilschicht (vgl. z.B. auch 9A, 9B, 9C) ist für Mehrwege-Verwaltungsoperationen (z.B. verlustloses Schalten, Aggregation/Aufteilung usw.) zuständig. In einem anderen Beispiel kann eine virtuelle IP-Verbindung als Anker verwendet werden, und der Server 940 stellt alle notwendigen Informationen durch MAMS-Signalisierung bereit, um die virtuelle IP-Verbindung auf der Client-Seite 901 zu konfigurieren. Im beispielhaften GMA-MAMS-DPPS 1700e können die GMA-Datenebenenfunktionen (Gc 1401 und Gs 1440) in eine bestehende Netzwerkfunktion (z.B. Gateway, Edge-Server/Host wie etwa einen MEC-Server/Host usw.) integriert sein, um die Verwendung einer virtuellen Netzwerkschnittstelle zu vermeiden.
  • 2.1.5. GMA-KONFIGURATIONSPARAMETER
  • Einige beispielhafte GMA-Konfigurationsparameter sind wie folgt: RAT1-Sondierungsintervall: 30 Sekunden; RAT2-Sondierungsintervall in Zustand 1 und 2: 30 Sekunden; RAT2-Sondierungsintervall in Zustand 3: 10 Sekunden; RAT2-Wiederverbindungsintervall: 60 Sekunden; Schwelle für niedrigen Durchsatz: 10kBps; Verbindungstrennungs-Timer: 10 Minuten; RAT1-Schwelle für schwache Signalqualität: 75dBm; RAT1-Schwelle für hohe Signalqualität: 70dBm; RAT1-Schwelle für geringen Paketverlust: 1 %; RAT1-Schwelle für hohen Paketverlust: 10 %; Neuordnungs-Warteschlangengröße für Hochdurchsatzfluss (Fluss-ID = 3): 1000 Pakete; Neuordnungs-Timer für Hochdurchsatzfluss (Fluss-ID = 3): 100ms; Neuordnungs-Warteschlangengröße für Fluss mit hoher Zuverlässigkeit (Fluss-ID = 1): 20 Pakete; Neuordnungs-Timer für Fluss mit hoher Zuverlässigkeit (Fluss-ID = 1): 10ms; Messintervall (MI): 30 Sekunden; Meldeintervall (RI): 50 (MIS); Standardfluss-ID (DFI): 3; Steuernachrichten-Neuübertragungsgrenze: 3; Größe virtuelle NIC-MTU: 1400 (Bytes); Ruhe-Timer: 1 Minute; Zeitstempeleinheit: 1000 (us); UL-über-LTE-Flag: 0 (deaktiviert, Standardeinstellung) / 1 (aktiviert); WiFi-Überlastungsdetektions-Flag: 0 (deaktiviert, Standardeinstellung) / 1 (aktiviert); und Energiespar-Flag: 0 (deaktiviert, Standardeinstellung) / 1 (aktiviert).
  • Sowohl Gc als auch Gs führen den/die folgenden (Pro-Client-) Parameter: Start_Time: Die Dauer zwischen jetzt und nächstem „Zeitpunkt Null“, wenn Start_Time zurückgesetzt wird (in der Einheit von 1 ms); tx_timeStamp: Zeitstempel dafür, wann ein Paket übertragen wird; rx_timeStamp: Zeitstempel dafür, wann ein Paket empfangen wird; und Sync_Guard_Time: Konfigurierbarer Parameter, der steuert, wie lange Gs oder Gs warten sollte, bevor Messungen gestartet werden (basierend auf Zeitstempelinfo in empfangenen Paket(en)).
  • Der Gc und der Gs setzen ihre jeweilige „Start_Time“ unmittelbar nach dem erfolgreichen Austausch von mx_session_resume_req/rsp zurück, und der (tx-) Zeitstempelparameter in einer Steuernachricht gibt die Dauer zwischen dem Senden der Nachricht und dem Rücksetzen von Start_Time an.
  • In dem(n) obigen Beispiel(en) ist RAT1 eine WLAN-Verbindung/-RAT (z.B. WiFi oder dergleichen), und RAT2 ist eine zellulare Verbindung/RAT (z.B. LTE, 5G/NR, GSM, WiMAX oder dergleichen).
  • 2.1.6. GMA-BEREITSTELLUNGSSZENARIEN
  • Einige beispielhafte GMA-basierte Bereitstellungen können die folgenden sein:
  • In einer ersten GMA-Bereitstellung können GMA-Client-Module (z.B. GMA-Gc und/oder CCM 1006) als „Multihome-VPN“-Anwendung implementiert werden und auf einem UE (z.B. Smartphone, Tablet, PC usw.) ohne jegliche Auswirkung auf die Plattform oder das Betriebssystem ausgeführt werden.
  • In einer zweiten GMA-Bereitstellung können die GMA-Servermodule (z.B. GMA-Gs und/oder NCM 1036) als eine „Edge-/Cloud-Server“-Anwendung (z.B. MEC-APP oder dergleichen) implementiert sein und im Edge- oder Cloud-Server ohne jegliche Auswirkung auf die Plattform oder das Betriebssystem ausgeführt werden. Falls der GMA-Server an der Edge läuft, kann die Verkehrsroutingrichtlinie auf der Edge-Plattform so konfiguriert sein, dass die folgenden drei Flüsse lokal zu der Edge-Plattform geleitet werden: TCP-Fluss (für MAMS-Verwaltungsnachrichten): IP#1 (oder IP #2) + TCP#1; UDP-Fluss (für Tunnelverkehr über die erste Zustellverbindung): IP#1 + UDP#1; UDP-Fluss (für Tunnelverkehr über die zweite Zustellverbindung): IP#2 + UDP#2.
  • Darüber hinaus kann eine DNS-Konfiguration zur Edge-Plattform hinzugefügt werden, so dass ,,gmaserver.mec.cam" über die zwei Zustellverbindungen zu IP #1 bzw. IP #2 zugeordnet wird.
  • 3. EDGE-COMPUTING-SYSTEM-KONFIGURATIONEN UND -ANORDNUNGEN
  • Edge-Computing bezieht sich auf die Implementierung, Koordination und Verwendung von Berechnung und Ressourcen an Orten näher am „Rand“ (Edge) oder der Ansammlung von „Rändern“ eines Netzwerks. Das Einsetzen von Rechenressourcen am Rand des Netzwerks kann Anwendungs- und Netzwerklatenz reduzieren, Netzwerk-Backhaul-Verkehr und assoziierten Energieverbrauch reduzieren, Dienstfähigkeiten verbessern, die Einhaltung von Sicherheits- oder Datenschutzanforderungen verbessern (insbesondere im Vergleich zu herkömmlichem Cloud-Computing) und die Gesamtbetriebskosten verbessern.
  • Individuelle Rechenplattformen oder andere Komponenten, die Edge-Rechenoperationen durchführen können (als „Edge-Rechenknoten“, „Edge-Knoten“ oder dergleichen bezeichnet), können sich an einem beliebigen Ort befinden, der von der Systemarchitektur oder dem Ad-hoc-Dienst benötigt wird. In vielen Edge-Rechenarchitekturen werden Edge-Knoten an NANs, Gateways, Netzwerkroutern und/oder anderen Vorrichtungen eingesetzt, die näher an Endpunktvorrichtungen (z.B. UEs, IoT-Vorrichtungen usw.) liegen, die Daten produzieren und verwenden. Als Beispiele können Edge-Knoten in einem Hochleistungsrechendatenzentrum oder einer Hochleistungs-Cloud-Installation; einem designierten Edge-Knoten-Server, einem Unternehmensserver, einem Straßenrandserver, einer Telekommunikationszentrale; oder einer lokalen oder Peer-at-the Edge-Vorrichtung, die bedient wird und Edge-Dienste konsumiert, implementiert werden. Edge-Rechenknoten können Ressourcen (z.B. Speicher, CPU, GPU, Interruptsteuerung, E/A-Steuerung, Speichersteuerung, Buscontroller, Netzwerkverbindungen oder -sitzungen usw.) partitionieren, wobei jeweilige Partitionierungen Sicherheits- und/oder Integritätsschutzfunktionen enthalten können. Edge-Knoten können auch eine Orchestrierung mehrerer Anwendungen durch isolierte Benutzerrauminstanzen, wie etwa Container, Partitionen, virtuelle Umgebungen (VEs), virtuelle Maschinen (VMs), Funktion-as-a-Service- (FaaS-) Engines, Servlets, Server und/oder andere ähnliche Berechnungsabstraktionen bereitstellen. Container sind begrenzte bereitstellbare Softwareeinheiten, die Code und benötigte Abhängigkeiten bieten. Verschiedene Edge-Systemanordnungen/-architekturen behandeln VMs, Container und Funktionen hinsichtlich der Anwendungszusammensetzung gleich. Die Edge-Knoten werden basierend auf Edge-Bereitstellungsfunktionen koordiniert, während der Betrieb der verschiedenen Anwendungen mit Orchestrierungsfunktionen (zum Beispiel VM oder Container-Engine usw.) koordiniert wird. Die Orchestrierungsfunktionen können verwendet werden, um die isolierten Benutzerrauminstanzen bereitzustellen, die die Verwendung spezifischer Hardware, sicherheitsbezogene Funktionen (z.B. Schlüsselverwaltung, Vertrauensankerverwaltung usw.) und andere Aufgaben in Bezug auf die Bereitstellung und den Lebenszyklus isolierter Benutzerräume identifizieren und planen.
  • Anwendungen, die für Edge-Computing angepasst wurden, beinhalten unter anderem Virtualisierung traditioneller Netzwerkfunktionen, darunter zum Beispiel softwaredefinierte Vernetzung (SDN), Netzwerkfunktionsvirtualisierung (NFV), verteilte RAN-Einheiten und/oder RAN-Clouds und dergleichen. Zusätzliche beispielhafte Verwendungsfälle für Edge-Computing beinhalten rechnerisches Offloading, Content-Data-Network- (CDN-) Dienste (z.B. Video on Demand, Content-Streaming, Sicherheitsüberwachung, Alarmsystemüberwachung, Gebäudezugang, Daten-/Content-Caching usw.), Gaming-Dienste (z.B. AR/VR usw.), beschleunigtes Browsen, IoT- und Industrieanwendungen (z.B. Fabrikautomatisierung), Medienanalytik, Live-Streaming/Transcodierung und V2X-Anwendungen (z.B. Fahrassistenz- und/oder Autonomfahranwendungen).
  • Die vorliegende Offenbarung stellt spezielle Beispiele bereit, die für verschiedene darin bereitgestellte Edge-Computing-Konfigurationen und verschiedene Zugangs-/Netzwerkimplementierungen relevant sind. Beliebige geeignete Standards und Netzwerkimplementierungen sind auf die hier erörterten Edge-Computing-Konzepte anwendbar. Zum Beispiel können viele Edge-Computing-/Netzwerktechnologien auf die vorliegende Offenbarung in verschiedenen Kombinationen und Layouts von Vorrichtungen anwendbar sein, die sich am Rand eines Netzwerks befinden. Beispiele für solche Edge-Computing-/Netzwerktechnologien beinhalten Multi-access Edge-Computing (MEC); Content Delivery Networks (CDNs) (auch als „Content Distribution Networks“ oder dergleichen bezeichnet); Mobility-Service-Provider- (MSP-) Edge-Computing- und/oder Mobility-as-a-Service-(MaaS-) Anbietersysteme (z.B. in ACC-Architekturen verwendet); Nebula-Edge-Cloud-Systeme; Fog-Computing-Systeme; Cloudlet-Edge-Cloud-Systeme; Mobile-Cloud-Computing- (MCC-) Systeme; Central Office Re-architected as a Datacenter (CORD), Mobile CORD (M-CORD) und/oder Converged-Multi-Access-and-Core- (COMAC-) Systeme; und/oder dergleichen. Ferner können sich die vorliegend offenbarten Methoden auf andere IoT-Edge-Netzwerksysteme und - Konfigurationen beziehen, und es können auch andere Zwischenverarbeitungsentitäten und - architekturen für Zwecke der vorliegenden Offenbarung verwendet werden.
  • 20 veranschaulicht eine beispielhafte Edge-Computing-Umgebung 2000. 20 veranschaulicht insbesondere die unterschiedlichen Kommunikationsschichten, die innerhalb der Umgebung 2000 auftreten, beginnend mit Endpunktsensoren- oder Ding-Schichten 2010 (zum Beispiel die in einer Internet-der-Dinge-Netzwerktopologie (IoT-Netzwerktopologie) arbeiten), die eine oder mehrere IoT-Vorrichtungen 2011 (auch als Edge-Endpunkte 2010 oder dergleichen bezeichnet) umfassen; mit wachsender Ausgereiftheit bis zu Gateways oder einer Zwischenknotenschicht 2020, die ein oder mehrere Endgeräte (UEs) 2021a und 2021b (auch als Zwischenknoten 2020 oder dergleichen bezeichnet) umfassen, die das Sammeln und Verarbeiten von Daten von Endpunkten 2010 erleichtern; mit wachsender Verarbeitungs- und Konnektivitätsausgereiftheit bis zur Zugangsknotenschicht 2030 (oder „Edge-Knotenschicht 2030“), die eine Vielzahl von Netzwerkzugangsknoten (NANs) 2031, 2032 und 2033 (gemeinsam als „NANs 2031-2033“ oder dergleichen bezeichnet) umfasst und eine Vielzahl von Edge-Rechenknoten 2036a-c (kollektiv als „Edge-Rechenknoten 2036“ oder dergleichen bezeichnet) innerhalb eines Edge-Rechensystems 2035; und wachsender Konnektivitäts- und Verarbeitungsausgereiftheit bis zu einer Backend-Schicht 2010, die ein Kernnetz (CN) 2042 und eine Cloud 2044 umfasst. Die Verarbeitung an der Backend-Schicht 2010 kann durch Netzwerkdienste, wie durch einen oder mehrere Remote-Anwendungs- (App-) Server 2050 durchgeführt, und/oder andere Cloud-Dienste verbessert werden. Einige oder alle dieser Elemente können mit einigen oder allen vorliegend besprochenen Merkmalen und/oder Funktionen ausgestattet sein oder diese anderweitig implementieren.
  • Es ist gezeigt, dass die Umgebung 2000 Endbenutzervorrichtungen, wie Zwischenknoten 2020 und Endpunkte 2010 beinhaltet, die ausgelegt sind, um sich basierend auf unterschiedlichen Zugangstechnologien (oder „Funkzugangstechnologien“) zum Zugreifen auf Anwendungsdienste mit einem oder mehreren Kommunikationsnetzwerken (auch als „Zugangsnetzwerke“, „Funkzugangsnetzwerke“ oder dergleichen bezeichnet) zu verbinden (oder kommunikativ mit diesen zu koppeln). Diese Zugangsnetzwerke können einen oder mehrere der NANs 2031, 2032 und/oder 2033 beinhalten. Die NANs 2031-2033 sind ausgelegt, den Endbenutzervorrichtungen über jeweilige Verknüpfungen 2003, 2007 zwischen den individuellen NANs und dem einen oder den mehreren UEs 2011, 2021 Netzwerkkonnektivität bereitzustellen.
  • Als Beispiele können die Kommunikationsnetzwerke und/oder Zugangstechnologien zellulare Technologie, Mobilfunktechnologie, wie LTE, MuLTEfire und/oder NR/5G (wie z.B. von Funkzugangsnetzwerkknoten (RAN-Knoten) 2031 und/oder RAN-Knoten 2032 bereitgestellt), WiFi- oder drahtlose lokale Netzwerktechnologien (WLAN-Technologien) (wie z.B. von einem Zugangspunkt (AP) 2033 und/oder RAN-Knoten 2032 bereitgestellt) und/oder dergleichen beinhalten. Unterschiedliche Technologien weisen Vorteile und Beschränkungen in unterschiedlichen Szenarien auf, und die Anwendungsleistung in unterschiedlichen Szenarien hängt von der Auswahl der Zugangsnetzwerke (z.B. WiFi, LTE usw.) und der verwendeten Netzwerk- und Transportprotokolle (z.B. Transfer Control Protocol (TCP), Virtual Private Network (VPN), Multi-Path TCP (MPTCP), Generic Routing Encapsulation (GRE) usw.) ab.
  • Die Zwischenknoten 2020 beinhalten UE 2021a und UE 2021b (kollektiv als „UE 2021“ oder „UEs 2021“ bezeichnet). In diesem Beispiel ist das UE 2021a als ein Fahrzeug-UE veranschaulicht und das UE 2021b ist als ein Smartphone (z.B. eine tragbare mobile Rechenvorrichtung mit Berührungsbildschirm, die mit einem oder mehreren Mobilfunknetzen verbindbar ist) veranschaulicht. Diese UEs 2021 können jedoch eine beliebige mobile oder nicht mobile Rechenvorrichtung, wie etwa Tablet-Computer, tragbare Vorrichtungen, PDAs, Pager, Desktop-Computer, Laptop-Computer, drahtlose Handapparate, unbemannte Fahrzeuge oder Drohnen, und/oder eine beliebige Art von Rechenvorrichtung einschließlich einer drahtlosen Kommunikationsschnittstelle umfassen.
  • Die Endpunkte 2010 beinhalten UEs 2011, die IoT-Vorrichtungen (auch als „IoT-Vorrichtungen 2011“ bezeichnet) sein können, die eindeutig identifizierbare eingebettete Rechenvorrichtungen (z.B. innerhalb der Internet-Infrastruktur) sind, die eine Netzwerkzugangsschicht umfassen, die für Niedrigenergie-IoT-Anwendungen ausgelegt ist, die kurzlebige UE-Verbindungen nutzen. Die IoT-Vorrichtungen 2011 sind beliebige physische oder virtualisierte Vorrichtungen, Sensoren oder „Dinge“, die mit Hardware- und/oder Softwarekomponenten eingebettet sind, die den Objekten, Vorrichtungen, Sensoren oder „Dingen“ ermöglichen, dass sie fähig sind, mit einem Ereignis assoziierte Daten zu erfassen und/oder aufzuzeichnen, und fähig sind, derartige Daten über ein Netzwerk mit wenig oder keinem Benutzereingriff mit einer oder mehreren anderen Vorrichtungen zu kommunizieren. Als Beispiele können die IoT-Vorrichtungen 2011 abiotische Vorrichtungen sein, wie etwa autonome Sensoren, Messgeräte, Zähler, Bilderfassungsvorrichtungen, Mikrofone, lichtemittierende Vorrichtungen, audioemittierende Vorrichtungen, Audio- und/oder Videowiedergabevorrichtungen, elektromechanische Vorrichtungen (z.B. Schalter, Aktuator usw.), EEMS, ECUs, ECMs, eingebettete Systeme, Mikrocontroller, Steuermodule, vernetzte oder „intelligente“ Geräte, MTC-Vorrichtungen, M2M-Vorrichtungen und/oder dergleichen. Die IoT-Vorrichtungen 2011 können Technologien, wie etwa M2M oder MTC, zum Austauschen von Daten mit einem MTC-Server (z.B. einem Server 2050), einem Edge-Server 2036 und/oder Edge-Rechensystem 2035 oder einer Vorrichtung über eine PLMN-, ProSe- oder D2D-Kommunikation, Sensornetzwerke oder IoT-Netzwerke nutzen. Der M2M- oder MTC-Datenaustausch kann ein maschineninitiierter Datenaustausch sein.
  • Die IoT-Vorrichtungen 2011 können Hintergrundanwendungen ausführen (z.B. Keep-Alive-Nachrichten, Statusaktualisierungen usw.), um die Verbindungen des IoT-Netzwerks zu ermöglichen. Wenn die IoT-Vorrichtungen 2011 Sensorvorrichtungen sind oder in diese eingebettet sind, kann das IoT-Netzwerk ein WSN sein. Ein IoT-Netzwerk beschreibt miteinander verbundene IoT-UEs, wie etwa die IoT-Vorrichtungen 2011, die über jeweilige direkte Verknüpfungen 2005 miteinander verbunden sind. Die IoT-Vorrichtungen können eine beliebige Anzahl von verschiedenen Typen von Vorrichtungen umfassen, die in verschiedenen Kombinationen gruppiert sind (als eine „IoT-Gruppe“ bezeichnet), die IoT-Vorrichtungen umfassen können, die einen oder mehrere Dienste für einen bestimmten Benutzer, Kunden, Organisationen usw. bereitstellen. Ein Dienstanbieter (z.B. ein Eigentümer/Betreiber des Servers 2050, des CN 2042 und/oder der Cloud 2044) kann die IoT-Vorrichtungen in der IoT-Gruppe in einem bestimmten Bereich (z.B. einer Geolokalisierung, einem Gebäude usw.) einsetzen, um den einen oder die mehreren Dienste bereitzustellen. In einigen Implementierungen kann das IoT-Netzwerk ein Mesh-Netzwerk von IoT-Vorrichtungen 2011 sein, die als Fog-Vorrichtung, Fog-System oder Fog bezeichnet werden können, die am Rand der Cloud 2044 arbeiten. Der Fog beinhaltet Mechanismen, um Cloud-Rechenfunktionalität näher an Datengeneratoren und - konsumenten zu bringen, wobei verschiedene Netzwerkvorrichtungen Cloud-Anwendungslogik auf ihrer nativen Architektur ausführen. Fog-Computing ist eine horizontale Architektur auf Systemebene, die Ressourcen und Dienste von Computing, Speicherung, Steuerung und Vernetzung überall entlang des Kontinuums von der Cloud 2044 bis hin zu Dingen (z.B. IoT-Vorrichtungen 2011) verteilt. Der Fog kann gemäß Spezifikationen eingerichtet werden, die unter anderem von der OFC, der OCF, veröffentlicht wurden. Zusätzlich oder alternativ dazu kann der Fog ein Tangle sein, wie durch die IOTA-Foundation definiert ist.
  • Der Fog kann verwendet werden, um Berechnung/Aggregation mit niedriger Latenz an den Daten durchzuführen, während sie zu einem Edge-Cloud-Rechendienst (z.B. Edge-Knoten 2030) und/oder einem zentralen Cloud-Rechendienst (z.B. Cloud 2044) geleitet werden, um komplexe Berechnungen oder rechenaufwendige Aufgaben durchzuführen. Andererseits konsolidiert Edge-Cloud-Rechnen menschlich betriebene, willkürliche Ressourcen als eine Cloud. Diese freiwilligen Ressourcen können unter anderem Zwischenknoten 2020 und/oder Endpunkte 2010, Desktop-PCs, Tablets, Smartphones, Nano-Rechenzentren und dergleichen beinhalten. In verschiedenen Implementierungen können sich Ressourcen in der Edge-Cloud in einer Nähe von einem bis zwei Hops zu den IoT-Vorrichtungen 2011 befinden, was zu einer Reduzierung von Mehraufwand in Bezug auf die Verarbeitung von Daten führen kann und Netzwerkverzögerung reduzieren kann.
  • Zusätzlich oder alternativ kann der Fog eine Konsolidierung von IoT-Vorrichtungen 2011 und/oder Vernetzungsvorrichtungen, wie etwa Routern und Switches, mit hohen Rechenfähigkeiten und der Fähigkeit sein, eine Cloud-Anwendungslogik auf ihrer nativen Architektur auszuführen. Fog-Ressourcen können von Cloud-Anbietern hergestellt, verwaltet und bereitgestellt werden, und sie können mittels zuverlässiger Hochgeschwindigkeitsverknüpfungen miteinander verbunden sein. Darüber hinaus sind die Fog-Ressourcen im Vergleich zu Edge-Systemen weiter vom Rand des Netzwerks entfernt, aber näher als eine zentrale Cloud-Infrastruktur angeordnet. Fog-Vorrichtungen werden verwendet, um rechenintensive Aufgaben oder Arbeitslasten, die von Edge-Ressourcen ausgelagert werden, effektiv zu handhaben.
  • Zusätzlich oder alternativ kann der Fog am Rand der Cloud 2044 arbeiten. Der Fog, der am Rand der Cloud 2044 arbeitet, kann mit einem Edge-Netzwerk 2030 der Cloud 2044 überlappen oder in dieses zusammengefasst werden. Das Edge-Netzwerk der Cloud 2044 kann mit dem Fog überlappen oder ein Teil des Fogs werden. Ferner kann der Fog ein Edge-Fog-Netzwerk sein, das eine Edge-Schicht und eine Fog-Schicht beinhaltet. Die Edge-Schicht des Edge-Fog-Netzwerks beinhaltet eine Sammlung lose gekoppelter, freiwilliger und vom Menschen betriebener Ressourcen (z.B. die oben erwähnten Edge-Rechenknoten 2036 oder Edge-Vorrichtungen). Die Fog-Schicht befindet sich über der Edge-Schicht und ist eine Konsolidierung von Vernetzungsvorrichtungen, wie etwa den Zwischenknoten 2020 und/oder Endpunkten 2010 von 20.
  • Daten können zwischen den IoT-Vorrichtungen 2011 oder zum Beispiel zwischen den Zwischenknoten 2020 und/oder Endpunkten 2010, die direkte Verknüpfungen 2005 miteinander aufweisen, wie in 20 gezeigt, erfasst, gespeichert/aufgezeichnet und kommuniziert werden. Eine Analyse des Verkehrsflusses und der Steuerschemata kann durch Aggregatoren implementiert werden, die über ein Mesh-Netzwerk mit den IoT-Vorrichtungen 2011 und miteinander in Kommunikation stehen. Die Aggregatoren können ein Typ von IoT-Vorrichtung 2011 und/oder ein Netzwerkgerät sein. In dem Beispiel von 20 können die Aggregatoren Edge-Knoten 2030 oder ein oder mehrere designierte Zwischenknoten 2020 und/oder Endpunkte 2010 sein. Daten können über den Aggregator in die Cloud 2044 hochgeladen werden und Befehle können von der Cloud 2044 durch Gateway-Vorrichtungen empfangen werden, die mit den IoT-Vorrichtungen 2011 und den Aggregatoren über das Mesh-Netzwerk in Kommunikation stehen. Im Gegensatz zum herkömmlichen Cloud-Rechenmodell kann die Cloud 2044 in einigen Implementierungen geringe oder keine Rechenfähigkeiten aufweisen und dient nur als ein Repositorium zum Archivieren von Daten, die durch den Fog aufgezeichnet und verarbeitet werden. Bei diesen Implementierungen zentralisiert die Cloud 2044 das Datenspeicherungssystem und stellt Zuverlässigkeit und Zugriff auf Daten durch die Rechenressourcen im Fog und/oder in Edge-Vorrichtungen bereit. Der Datenspeicher der Cloud 2044, der den Kern der Architektur bildet, ist sowohl für Edge- als auch Fog-Schichten des oben erwähnten Edge-Fog-Netzwerks zugänglich.
  • Wie zuvor erwähnt, stellen die Zugangsnetze Netzwerkkonnektivität über jeweilige NANs 2031-2033 an die Endbenutzervorrichtungen 2020, 2010 bereit. Die Zugangsnetze können Funkzugangsnetzwerke (RANs) sein, wie etwa ein NG-RAN oder ein 5G-RAN für ein RAN, das in einem 5G/NR-Mobilfunknetzwerk arbeitet, ein E-UTRAN für ein RAN, das in einem LTE- oder 4G-Mobilfunknetzwerk arbeitet, oder ein Legacy-RAN, wie etwa ein UTRAN oder GERAN für GSM- oder CDMA-Mobilfunknetzwerke. Das Zugangsnetz oder RAN kann für WiMAX Implementierungen als ein Zugangsdienstnetz bezeichnet werden. Zusätzlich oder alternativ kann das gesamte oder Teile des RAN als eine oder mehrere Softwareentitäten implementiert sein, die auf Servercomputern als Teil eines virtuellen Netzwerks laufen, das als Cloud-RAN (CRAN), Cognitive Radio (CR), virtueller Basisbandeinheitspool (vBBUP) und/oder dergleichen bezeichnet werden kann. Zusätzlich oder alternativ kann das CRAN, CR oder vBBUP eine RAN-Funktionsaufteilung implementieren, wobei eine oder mehrere Kommunikationsprotokollschichten durch das CRAN/CR/vBBUP betrieben werden und andere Kommunikationsprotokollentitäten durch einzelne RAN-Knoten 2031, 2032 betrieben werden. Dieses virtualisierte Framework ermöglicht den freigegebenen Prozessorkernen der NANs 2031, 2032, andere virtualisierte Anwendungen durchzuführen, wie etwa virtualisierte Anwendungen für verschiedene vorliegend erörterte Elemente.
  • Die UEs 2021, 2011 können jeweilige Verbindungen (oder Kanäle) 2003 nutzen, von denen jede eine physische Kommunikationsschnittstelle oder -schicht umfasst. Die Verbindungen 2003 sind als eine Luftschnittstelle veranschaulicht, um eine kommunikative Kopplung in Übereinstimmung mit Mobilfunk-Kommunikationsprotokollen, wie etwa 3GPP-LTE, 5G/NR, Push-to-Talk (PTT) und/oder PTT over Cellular (POC), UMTS, GSM, CDMA und/oder beliebigen der anderen vorliegend besprochenen Kommunikationsprotokolle, zu ermöglichen. Zusätzlich oder alternativ kommunizieren (z.B. übertragen und empfangen) die UEs 2011, 2021 und die NANs 2031-2033 Daten über ein lizenziertes Medium (auch als das „lizenzierte Spektrum“ und/oder das „lizenzierte Band“ bezeichnet) und ein unlizenziertes gemeinsam genutztes Medium (auch als das „unlizenzierte Spektrum“ und/oder das „unlizenzierte Band“ bezeichnet). Um in dem unlizenzierten Spektrum zu arbeiten, können die UEs 2011, 2021 und NANs 2031-2033 unter Verwendung von LAA-, enhanced LAA- (eLAA-) und/oder weiteren eLAA- (feLAA-) Mechanismen arbeiten. Die UEs 2021, 2011 können ferner Kommunikationsdaten direkt über jeweilige direkte Verknüpfungen 2005 austauschen, die LTE/NR-Proximity-Services- (ProSe-) Verknüpfungen oder PC5-Schnittstellen/Verknüpfungen oder WiFi-basierte Verknüpfungen oder Verknüpfungen auf persönlicher Netzwerkbasis (PAN) sein können (z.B. IEEE 802.15.4-basierte Protokolle einschließlich ZigBee, IPv6 over Low Power Wireless Personal Area Networks (6LoWPAN), WirelessHART, MiWi, Thread usw.; WiFi-direct; Bluetooth/Bluetooth-Niedrigenergie- (BLE-) Protokolle).
  • Zusätzlich oder alternativ liefern einzelne UEs 2021, 2011 Funkinformationen an ein oder mehrere NANs 2031-2033 und/oder ein oder mehrere Edge-Rechenknoten 2036 (z.B. Edge-Server/Hosts usw.). Die Funkinformationen können in Form eines oder mehrerer Messberichte vorliegen und/oder können zum Beispiel Signalstärkemessungen, Signalqualitätsmessungen und/oder dergleichen beinhalten. Jeder Messbericht wird mit einem Zeitstempel und dem Ort der Messung (z.B. der aktuelle Ort der UEs 2021, 2011) markiert. Als Beispiele können die durch die UEs 2021, 2011 gesammelten und/oder in den Messberichten enthaltenen Messungen eines oder mehrere von Folgendem beinhalten: Bandbreite (BW), Netzwerk- oder Zellenlast, Latenz, Jitter, Umlaufzeit (RTT), Anzahl an Interrupts, Out-Of-Order-Lieferung von Datenpaketen, Sendeleistung, Bitfehlerrate, Bitfehlerverhältnis (BER), Blockfehlerrate (BLER), Paketfehlerverhältnis (PER), Paketverlustrate, Paketempfangsrate (PRR), Datenrate, Spitzendatenrate, Ende-zu-Ende- (e2e-) Verzögerung, Signal-Rausch-Verhältnis (SNR), Signal-Rausch-und-Interferenz-Verhältnis (SINR), Signal-plus-Rausch-plus-Verzerrung-zu-Rauschplus-Verzerrung- (SINAD-) Verhältnis, Träger-zu-Interferenz-plus-Rausch-Verhältnis (CINR), additives weißes Gaußrauschen (AWGN), Verhältnis von Energie pro Bit zu Rauschleistungsdichte (Eb/N0), Verhältnis von Energie pro Chip zu Störleistungsdichte (Ec/I0), Verhältnis von Energie pro Chip zu Rauschleistungsdichte (Ec/N0), Spitzen-zu-Durch-Leistungsverhältnis (PAPR), Referenzsignalempfangsleistung (RSRP), Referenzsignalempfangsqualität (RSRQ), Empfangssignalstärkenindikator (RSSI), Empfangskanalleistungsindikator (RCPI), Empfangssignal-zu-Rauschen-Indikator (RSNI), Empfangssignalcodeleistung (RSCP), Durchschnittsrauschen plus Interferenz (ANPI), GNSS-Timing von Zellenrahmen zur UE-Positionierung für E-UTRAN oder 5G/NR (z.B. ein Timing zwischen einer AP- oder RAN-Knoten-Referenzzeit und einer GNSS-spezifischen Referenzzeit für ein gegebenes GNSS), GNSS-Codemessungen (z.B. die GNSS-Codephase (Ganzzahl und Bruchteile) des Spreizcodes des i-ten GNSS-Satellitensignals), GNSS-Trägerphasenmessungen (z.B. die Anzahl an Trägerphasenzyklen (Ganzzahl und Bruchteile) des i-ten GNSS-Satellitensignals, gemessen seit dem Einrasten auf das Signal; auch als akkumulierter Deltabereich (ADR) bezeichnet), Kanalinterferenzsmessungen, Thermisches-Rauschen-Leistungsmessungen, Empfangsinterferenzleistungsmessungen, Leistungshistogrammmessungen, Kanallastmessungen, STA-Statistiken und/oder andere ähnliche Messungen. Die RSRP-, RSSI- und/oder RSRQ-Messungen können RSRP-, RSSI- und/oder RSRQ-Messungen zellenspezifischer Referenzsignale, Kanalzustandsinformationsreferenzsignale (CSI-RS) und/oder Synchronisationssignale (SS) oder SS-Blöcke für 3GPP-Netzwerke (z.B. LTE oder 5G/NR) und RSRP-, RSSI-, RSRQ-, RCPI-, RSNI- und/oder ANPI-Messungen verschiedener Beacon-, Fast-Initial-Link-Setup- (FILS-) Erkennungsrahmen oder Sondierungsantwortrahmen für IEEE-802.11-WLAN/WiFi-Netzwerke beinhalten. Andere Messungen können zusätzlich oder alternativ verwendet werden, wie etwa jene, die in 3GPP TS 36.214 v16.2.0 (31.3.2021) („[TS36214]“), 3GPP TS 38.215 v16.4.0 (8.1.2021) („[TS38215]“), 3GPP TS 38.314 v16.4.0 (30.9.2021) („[TS38314]“), IEEE 802.11-2020, „IEEE Standard for Information Technology--Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks--Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications" (26.2.2021) („[IEEE80211]“) und/oder dergleichen besprochen werden. Zusätzlich oder alternativ kann eine beliebige der oben erwähnten Messungen (oder eine Kombination von Messungen) durch ein oder mehrere NANs 2031-2033 gesammelt und an den(die) Edge-Rechenknoten 2036 geliefert werden.
  • Zusätzlich oder alternativ können die Messungen eine oder mehrere der folgenden Messungen beinhalten: Messungen in Bezug auf Datenfunkträger (DRB) (z.B. Anzahl von DRBs, die versuchen, einzurichten, Anzahl von DRBs erfolgreich einzurichten, Anzahl freigegebener aktiver DRBs, Sitzungsaktivitätszeit für DRB, Anzahl von DRBs, die versucht werden, wiederaufgenommen zu werden, Anzahl von DRBs, die erfolgreich wiederaufgenommen wurden usw.); Messungen in Bezug auf Funkressourcensteuerung (RRC) (z.B. mittlere Anzahl von RRC-Verbindungen, maximale Anzahl von RRC-Verbindungen, mittlere Anzahl von gespeicherten inaktiven RRC-Verbindungen, maximale Anzahl von gespeicherten inaktiven RRC-Verbindungen, Anzahl von versuchten, erfolgreichen und/oder fehlgeschlagenen RRC-Verbindungseinrichtungen usw.); Messungen in Bezug auf UE-Kontext (UECNTX); Messungen in Bezug auf Funkressourcenausnutzung (RRU) (z. B. DL-Gesamt-PRB-Nutzung, UL-Gesamt-PRB-Nutzung, Verteilung der DL-Gesamt-PRB-Nutzung, Verteilung der UL-Gesamt-PRB-Nutzung, DL PRB, der für Datenverkehr verwendet wird, UL PRB, der für Datenverkehr verwendet wird, DL insgesamt verfügbare PRBs, UL insgesamt verfügbare PRBs usw.); Messungen in Bezug auf Registrierungsverwaltung (RM); Messungen in Bezug auf Sitzungsverwaltung (SM) (z. B. Anzahl von PDU-Sitzungen, die zum Einrichten angefordert werden; Anzahl von PDU-Sitzungen, die erfolgreich eingerichtet wurden; Anzahl von PDU-Sitzungen, die nicht eingerichtet wurden usw.); Messungen in Bezug auf GTP-Verwaltung (GTP); Messungen in Bezug auf IP-Verwaltung (IP); Messungen in Bezug auf Richtlinienassoziation (PA); Messungen in Bezug auf Mobilitätsverwaltung (MM) (z.B. für inter-RAT, intra-RAT und/oder Intra/Inter-Frequenz-Handovers und/oder bedingte Handovers: Anzahl angeforderter, erfolgreicher, und/oder fehlgeschlagener Handover-Vorbereitungen; Anzahl angeforderter, erfolgreicher und/oder fehlgeschlagener Handover-Ressourcenzuweisungen; Anzahl angeforderter, erfolgreicher und/oder fehlgeschlagener Handover-Ausführungen; mittlere und/oder maximale Zeit angeforderter Handover-Ausführungen, Anzahl erfolgreicher und/oder fehlgeschlagener Handover-Ausführungen pro Strahlpaar usw.); Messungen in Bezug auf virtualisierte Ressource(n) (VR); Messungen in Bezug auf Träger (CARR); Messungen in Bezug auf QoS-Flüsse (QF) (z.B. Anzahl von freigegebenen aktiven QoS-Flüssen, Anzahl von QoS-Flüssen, die versucht werden, freizugeben, In-Sitzung-Aktivitätszeit für QoS-Fluss, In-Sitzung-Aktivitätszeit für ein UE 2011, 2021, Anzahl von QoS-Flüssen, die versucht werden, einzurichten, Anzahl von erfolgreich eingerichteten QoS-Flüssen, Anzahl von QoS-Flüssen, die nicht eingerichtet wurden, Anzahl von anfänglichen QoS-Flüssen, die versucht wurden, einzurichten, Anzahl von anfänglichen QoS-Flüssen, die erfolgreich eingerichtet wurden, Anzahl von anfänglichen QoS-Flüssen, die nicht eingerichtet wurden, Anzahl von QoS-Flüssen, die zu modifizieren versucht wurden, Anzahl erfolgreich modifizierter QoS-Flüsse, Anzahl nicht modifizierter QoS-Flüsse usw.); Messungen in Bezug auf Anwendungsauslösung (AT); Messungen in Bezug auf Kurznachrichtendienst (SMS); Messungen in Bezug auf Leistung, Energie und Umgebung (PEE); Messungen in Bezug auf NF-Dienst (NFS); Messungen in Bezug auf Paketflussbeschreibung (PFD); Messungen in Bezug auf Direktzugangskanal (RACH); Messungen in Bezug auf Messbericht (MR); Messungen in Bezug auf Schicht-1-Messung (L1M); Messungen in Bezug auf Netzwerk-Slice-Auswahl (NSS); Messungen in Bezug auf Paging (PAG); Messungen in Bezug auf Nicht-IP-Datenlieferung (NIDD); Messungen in Bezug auf externe Parameterbereitstellung (EPP); Messungen in Bezug auf Verkehrseinfluss (TI); Messungen in Bezug auf Verbindungsherstellung (CE); Messungen in Bezug auf Dienstparameterbereitstellung (SPP); Messungen in Bezug auf Hintergrunddatenübertragungsrichtlinie (BDTP); Messungen in Bezug auf Datenmanagement (DM); und/oder beliebige andere Performanzmessungen, wie etwa jene, die in 3 GPP TS 28.552 v17.3.1 (2021-06-24) („[TS28552]"), 3 GPP TS 32.425 v17.1.0 (2021-06-24) („[TS32425]“) und/oder dergleichen erörtert werden.
  • Die Funkinformationen können in Reaktion auf ein Auslöseereignis und/oder auf periodischer Basis gemeldet werden. Zusätzlich oder alternativ melden einzelne UEs 2021, 2011 Funkinformationen entweder mit einer niedrigen Periodizität oder einer hohen Periodizität, in Abhängigkeit von einem Datentransfer, der stattfinden soll, und/oder anderen Informationen über den Datentransfer. Zusätzlich oder alternativ kann (können) der (die) Edge-Rechenknoten 2036 die Messungen von den NANs 2031-2033 mit niedriger oder hoher Periodizität anfordern, oder die NANs 2031-2033 können die Messungen an den (die) Edge-Rechenknoten 2036 mit niedriger oder hoher Periodizität liefern. Zusätzlich oder alternativ kann (können) der (die) Edge-Rechenknoten 2036 andere relevante Daten von (einem) anderen Edge-Rechenknoten 2036, Kernnetzwerkfunktionen (NFs), Anwendungsfunktionen (AFs) und/oder anderen UEs 2011, 2021, wie etwa Schlüsselperformanzindikatoren (key performance indicators, KPIs), mit den Messberichten oder getrennt von den Messberichten erhalten.
  • Zusätzlich oder alternativ können in Fällen, in denen eine Diskrepanz in den Beobachtungsdaten von einem oder mehreren UEs, einem oder mehreren RAN-Knoten und/oder Kernnetzwerk-NFs besteht (z.B. fehlende Berichte, fehlerhafte Daten, usw.), einfache Imputationen durchgeführt werden, um die erhaltenen Beobachtungsdaten zu ergänzen, wie etwa zum Beispiel Ersetzen von Werten aus vorherigen Berichten und/oder historischen Daten, Anwenden eines Extrapolationsfilters und/oder dergleichen. Zusätzlich oder alternativ können akzeptable Grenzen für die Beobachtungsdaten vorbestimmt oder konfiguriert werden. Zum Beispiel können CQI- und MCS-Messungen so konfiguriert sein, dass sie nur innerhalb von Bereichen liegen, die durch geeignete 3GPP-Standards definiert sind. In Fällen, in denen ein gemeldeter Datenwert keinen Sinn ergibt (z.B. überschreitet der Wert einen akzeptablen Bereich/akzeptable Grenzen oder dergleichen), können solche Werte für die aktuelle Lern-/Trainingsepisode oder -epoche verworfen werden. Zum Beispiel können Paketlieferverzögerungsgrenzen definiert oder konfiguriert werden, und Pakete, für die bestimmt wurde, dass sie nach der Paketlieferverzögerungsgrenze empfangen wurden, können verworfen werden.
  • Bei beliebigen der hier besprochenen Ausführungsformen können ein oder mehrere beliebige geeignete Datensammlungs- und/oder Messmechanismen verwendet werden, um die Beobachtungsdaten zu sammeln. Zum Beispiel können Datenmarkierung (z.B. Sequenznummerierung usw.), Paketverfolgung, Signalmessung, Datenabtastung und/oder Zeitstempeltechniken verwendet werden, um beliebige der zuvor genannten Metriken/Beobachtungen zu ermitteln. Die Sammlung von Daten kann auf dem Stattfinden von Ereignissen basieren, die eine Sammlung der Daten auslösen. Zusätzlich oder alternativ kann eine Datensammlung bei der Initiierung oder Beendigung eines Ereignisses erfolgen. Die Datensammlung kann kontinuierlich, diskontinuierlich sein und/oder Start- und Stoppzeiten aufweisen. Die Datensammlungstechniken/-mechanismen können für eine Hardware- (HW-) Konfiguration/Implementierung spezifisch oder nicht HW-spezifisch sein oder können auf verschiedenen Softwareparametern (z.B. OS-Typ und Version usw.) basieren. Verschiedene Konfigurationen können verwendet werden, um beliebige der zuvor genannten Datensammlungsparameter zu definieren. Solche Konfigurationen können durch geeignete Spezifikationen/Standards, wie etwa 3GPP, ETSI, O-RAN, Intel® Smart Edge Open (vormals OpenNESS) und/oder beliebige andere ähnliche Standards, wie etwa die vorliegend erörterten, definiert werden.
  • Das UE 2021b ist der Darstellung nach dazu konfiguriert, über eine Verbindung 2007 auf einen Zugangspunkt (AP) 2033 zuzugreifen. In diesem Beispiel ist gezeigt, dass der AP 2033 mit dem Internet verbunden ist, ohne mit dem CN 2042 des Drahtlossystems verbunden zu sein. Die Verbindung 2007 kann eine lokale drahtlose Verbindung umfassen, wie etwa eine Verbindung, die mit einem beliebigen IEEE 802.11-Protokoll übereinstimmt, wobei der AP 2033 einen Wireless-Fidelity(WiFi®)-Router umfassen würde. Zusätzlich oder alternativ können die UEs 2021 und IoT-Vorrichtungen 2011 dazu konfiguriert sein, unter Verwendung geeigneter Kommunikationssignale miteinander oder mit einem beliebigen des AP 2033 über einen Einzel- oder Mehrträgerkommunikationskanal gemäß verschiedenen Kommunikationstechniken zu kommunizieren, wie etwa unter anderem einer Orthogonalfrequenzmultiplex- (OFDM-) Technik, einer Einzelträger-Frequenzmultiplexzugriff- (SC-FDMA-) Kommunikationstechnik und/oder dergleichen, obgleich der Schutzumfang der vorliegenden Offenbarung in dieser Hinsicht nicht beschränkt ist. Die Kommunikationstechnik kann ein geeignetes Modulationssystem wie Complementary Code Keying (CCK); Phasenumtasten (PSK) wie binäres PSK (BPSK), Quadratur-PSK (QPSK), differentielles PSK (DPSK) usw.; oder Quadraturamplitudenmodulation (QAM) wie M-QAM; und/oder dergleichen beinhalten.
  • Das eine oder die mehreren NANs 2031 und 2032, die Verbindungen 2003 aktivieren, können als „RAN-Knoten“ oder dergleichen bezeichnet werden. Die RAN-Knoten 2031, 2032 können Bodenstationen (z.B. terrestrische Zugangspunkte) oder Satellitenstationen umfassen, die eine Abdeckung innerhalb eines geografischen Gebiets (z.B. einer Zelle) bereitstellen. Die RAN-Knoten 2031, 2032 können als eine dedizierte physische Vorrichtung, wie etwa eine Makrozellenbasisstation, und/oder eine Niederleistungsbasisstation zum Bereitstellen von Femtozellen, Pikozellen oder anderen ähnlichen Zellen mit kleineren Abdeckungsgebieten, kleineren Benutzerkapazitäten oder höheren Bandbreiten im Vergleich zu Makrozellen implementiert sein. In diesem Beispiel ist der RAN-Knoten 2031 als ein NodeB, erweiterter NodeB (eNB) oder ein NodeB der nächsten Generation (gNB) umgesetzt, und die RAN-Knoten 2032 sind als Relaisknoten, verteilte Einheiten oder Straßenrandeinheiten (RSUs) umgesetzt. Eine beliebige andere Art von NANs kann verwendet werden.
  • Beliebige der RAN-Knoten 2031, 2032 können das Luftschnittstellenprotokoll abschließen und können der erste Kontaktpunkt für die UEs 2021 und die IoT-Vorrichtungen XE111 sein. Zusätzlich oder alternativ kann jeder der RAN-Knoten 2031, 2032 verschiedene logische Funktionen für das RAN erfüllen, einschließlich unter anderem RAN-Funktion(en) (z.B. Funknetzwerksteuerungs- (RNC-) Funktionen und/oder NG-RAN-Funktionen) für Funkressourcenverwaltung, Zulassungssteuerung, dynamische UL- und DL-Ressourcenzuweisung, Funkträgerverwaltung, Datenpaketplanung usw. Zusätzlich oder alternativ können die UEs 2011, 2021 dazu konfiguriert sein, unter Verwendung von OFDM-Kommunikationssignalen miteinander oder mit einem beliebigen der NANs 2031, 2032 über einen Mehrträgerkommunikationskanal gemäß verschiedenen Kommunikationstechniken zu kommunizieren, wie etwa unter anderem einer OFDMA-Kommunikationstechnik (z.B. für DL-Kommunikationen) und/oder einer SC-FDMA-Kommunikationstechnik (z.B. für UL- und ProSe- oder Sidelink-Kommunikationen), obwohl der Schutzbereich der vorliegenden Offenbarung in dieser Hinsicht nicht beschränkt ist.
  • Für die meisten Mobilfunkkommunikationssysteme organisieren die eine oder die mehreren RAN-Funktionen, die durch das RAN oder individuelle NANs 2031-2032 betrieben werden, DL-Übertragungen (z.B. von einem beliebigen der RAN-Knoten 2031, 2032 zu den UEs 2011, 2021) und UL-Übertragungen (z.B. von den UEs 2011, 2021 zu RAN-Knoten 2031, 2032) in Funkframes (oder einfach „Frames“) mit einer Dauer von 10 Millisekunden (ms), wobei jeder Frame zehn 1-ms-Subframes beinhaltet. Jede Übertragungsrichtung weist ihr eigenes Ressourcenraster auf, das physische Ressourcen in jedem Slot anzeigt, wobei jede Spalte und jede Zeile eines Ressourcenrasters einem Symbol bzw. einem Unterträger entspricht. Die Dauer des Ressourcenrasters im Zeitbereich entspricht einem Slot in einem Funkrahmen. Die Ressourcenraster umfassen eine Reihe von Ressourcenblöcken (RBs), die eine Abbildung bestimmter physischer Kanäle auf Ressourcenelemente (REs) beschreiben. Jeder RB kann ein physischer RB (PRB) oder ein virtueller RB (VRB) sein und umfasst eine Sammlung von REs. Ein RE ist die kleinste Zeit-Frequenz-Einheit in einem Ressourcenraster. Die eine oder die mehreren RNC-Funktionen teilen jedem UE 2011, 2021 in jedem Übertragungszeitintervall (TTI) Ressourcen (z.B. PRBs und Modulations- und Codierungsschemata (MCS)) dynamisch zu. Ein TTI ist die Dauer einer Übertragung auf einer Funkverbindung 2003, 2005 und bezieht sich auf die Größe der Datenblöcke, die von höheren Netzwerkschichten an die Funkverbindungsschicht weitergeleitet werden.
  • Die NANs 2031/2032 können dazu ausgelegt sein, über jeweilige Schnittstellen oder Verknüpfungen (nicht gezeigt) miteinander zu kommunizieren, wie etwa eine X2-Schnittstelle für LTE-Implementierungen (z.B. wenn das CN 2042 ein Evolved Packet Core (EPC) ist), eine Xn-Schnittstelle für 5G-oder NR-Implementierungen (z.B. wenn das CN 2042 ein Kern der fünften Generation (5GC) ist) oder dergleichen. Die NANs 2031 und 2032 sind auch kommunikativ mit dem CN 2042 gekoppelt. Zusätzlich oder alternativ kann das CN 2042 ein Evolved-Packet-Core-(EPC-) Netzwerk, ein NextGen-Packet-Core- (NPC-) Netzwerk, ein 5G-Kern (5GC) oder irgendeine andere Art von CN sein.
  • Das CN 2042 ist ein Netzwerk aus Netzwerkelementen und/oder Netzwerkfunktionen (NFs), die sich auf einen Teil eines Kommunikationsnetzwerks beziehen, der unabhängig von der Verbindungstechnologie ist, die von einem Endgerät oder einer Benutzervorrichtung verwendet wird. Das CN 2042 umfasst mehrere Netzwerkelemente/NFs, die dazu konfiguriert sind, Kunden/Teilnehmern (z.B. Benutzern von UEs 2021 und IoT-Vorrichtungen 2011), die über ein RAN mit dem CN 2042 verbunden sind, verschiedene Daten- und Telekommunikationsdienste anzubieten. Die Komponenten des CN 2042 können in einem physischen Knoten oder separaten physischen Knoten implementiert sein, einschließlich Komponenten zum Lesen und Ausführen von Anweisungen von einem maschinenlesbaren oder computerlesbaren Medium (z.B. einem nichttransitorischen maschinenlesbaren Speichermedium). Zusätzlich oder alternativ kann eine Netzwerkfunktionsvirtualisierung (NFV) genutzt werden, um eine oder alle der vorstehend beschriebenen Netzwerkknotenfunktionen über ausführbare Anweisungen, die in einem oder mehreren computerlesbaren Speicherungsmedien gespeichert sind (nachstehend ausführlicher beschrieben), zu virtualisieren. Eine logische Instanziierung des CN 2042 kann als ein Netzwerksegment bezeichnet werden und eine logische Instanziierung eines Teils des CN 2042 kann als ein Netzwerk-Subsegment bezeichnet werden. NFV-Architekturen und -Infrastrukturen können verwendet werden, um eine oder mehrere Netzwerkfunktionen, die alternativ durch proprietäre Hardware durchgeführt werden, auf physischen Ressourcen zu virtualisieren, die eine Kombination aus Industriestandard-Serverhardware, Speicherhardware oder Switches umfassen. Anders ausgedrückt können NFV-Systeme verwendet werden, um virtuelle oder rekonfigurierbare Implementierungen einer oder mehrerer Komponenten/Funktionen des CN 2042 auszuführen.
  • Das CN 2042 ist als kommunikativ mit einem Anwendungsserver 2050 und einem Netzwerk 2050 über eine IP-Kommunikationsschnittstelle 2055 gekoppelt gezeigt. Der eine oder die mehreren Server 2050 umfassen ein oder mehrere physische und/oder virtualisierte Systeme zum Bereitstellen von Funktionalität (oder Diensten) an einen oder mehrere Clients (z.B. die UEs 2021 und IoT-Vorrichtungen 2011) über ein Netzwerk. Der eine oder die mehreren Server 2050 können verschiedene Computervorrichtungen mit einer oder mehreren Rack-Rechenarchitekturkomponenten, Turm-Rechenarchitekturkomponenten, Blade-Rechenarchitekturkomponenten und/oder dergleichen beinhalten. Der eine oder die mehreren Server 2050 können ein Cluster von Servern, eine Serverfarm, einen Cloud-Rechendienst oder eine andere Gruppierung oder einen anderen Serverbestand darstellen, die sich in einem oder mehreren Datenzentren befinden können. Der eine oder die mehreren Server 2050 können auch mit einer oder mehreren Datenspeicherungsvorrichtungen (nicht gezeigt) verbunden oder anderweitig mit diesen assoziiert sein. Darüber hinaus können der eine oder die mehreren Server 2050 ein Betriebssystem (OS) beinhalten, das ausführbare Programmanweisungen für die allgemeine Verwaltung und den allgemeinen Betrieb der individuellen Servercomputervorrichtungen bereitstellt, und können ein computerlesbares Medium beinhalten, das Anweisungen speichert, die, wenn sie durch einen Prozessor der Server ausgeführt werden, den Servern ermöglichen können, ihre beabsichtigten Funktionen durchzuführen. Geeignete Implementierungen für das OS und die allgemeine Funktionalität von Servern sind bekannt oder kommerziell erhältlich und werden von Durchschnittsfachleuten leicht implementiert. Allgemein bieten der eine oder die mehreren Server 2050 Anwendungen oder Dienste an, die IP/Netzwerkressourcen verwenden. Als Beispiele können der eine oder die mehreren Server 2050 Verkehrsverwaltungsdienste, Cloud-Analytik, Inhalts-Streaming-Dienste, immersive Spiel erfahrungen, soziales Networking und/oder Mikroblogging-Dienste und/oder andere ähnliche Dienste bereitstellen. Zusätzlich dazu können die verschiedenen Dienste, die durch den einen oder die mehreren Server 2050 bereitgestellt werden, Initiieren und Steuern von Software- und/oder Firmware-Aktualisierungen für Anwendungen oder individuelle Komponenten, die durch die UEs 2021 und IoT-Vorrichtungen 2011 implementiert werden, beinhalten. Der eine oder die mehreren Server 2050 können zudem dazu konfiguriert sein, einen oder mehrere Kommunikationsdienste (z.B. Voice-over-Internet-Protocol- (VoIP-) Sitzungen, PTT-Sitzungen, Gruppenkommunikationssitzungen, soziale Netzwerkdienste usw.) für die UEs 2021 und IoT-Vorrichtungen 2011 über das CN 2042 zu unterstützen.
  • Die Funkzugangstechnologien (RATs), die von den NANs 2031-2033, den UEs 2021, 2011 und den anderen Elementen in 20 eingesetzt werden, können zum Beispiel beliebige der Kommunikationsprotokolle und/oder RATs beinhalten, die hier erörtert werden. Unterschiedliche Technologien weisen Vorteile und Beschränkungen in unterschiedlichen Szenarien auf, und die Anwendungsleistung in unterschiedlichen Szenarien hängt von der Auswahl der Zugangsnetzwerke (z.B. WiFi, LTE usw.) und der verwendeten Netzwerk- und Transportprotokolle (z.B. Transfer Control Protocol (TCP), Virtual Private Network (VPN), Multi-Path TCP (MPTCP), Generic Routing Encapsulation (GRE) usw.) ab. Diese RATs können eine oder mehrere V2X-RATs beinhalten, die diesen Elementen ermöglichen, direkt miteinander, mit Infrastrukturausrüstung (z.B. NANs 2031-2033) und anderen Vorrichtungen zu kommunizieren. In einigen Implementierungen können wenigstens zwei distinkte V2X-RATs verwendet werden, einschließlich WLAN-V2X- (W-V2X-) RAT basierend auf IEEE-V2X-Technologien (z.B. DSRC für die USA und ITS-G5 für Europa) und 3GPP-C-V2X-RAT (z.B. LTE, 5G/NR und darüber hinaus). In einem Beispiel kann die C-V2X-RAT eine C-V2X-Luftschnittstelle nutzen und kann die WLAN-V2X-RAT eine W-V2X-Luftschnittstelle nutzen.
  • Die W-V2X-RATs beinhalten zum Beispiel IEEE 1609.0-2019, „IEEE Guide for Wireless Access in Vehicular Environments (WAVE) Architecture" (10.4.2019) („[IEEE16090]“), SAE Int'l, „V2X Communications Message Set Dictionary“ (früher „Dedicated Short Range Communication (DSRC) Message Set Dictionary") (23.07.2020) ([J2735_202007]"), intelligente Transportsysteme im 5-GHz-Frequenzband (ITS-G5), das IEEE-802.11p-Protokoll (das der Schicht-1- (L1-) und Schicht-2- (L2-) Teil von WAVE, DSRC und ITS-G5 ist) und manchmal IEEE-802.16-2017, „IEEE Standard for Air Interface for Broadband Wireless Access Systems“ (manchmal als „Worldwide Interoperability for Microwave Access“ oder „WiMAX“ bezeichnet) (2.3.2018) („[WiMAX]“). Der Begriff „DSRC“ bezieht sich auf Fahrzeugkommunikationen im 5,9-GHz-Frequenzband, das im Allgemeinen in den Vereinigten Staaten verwendet wird, während sich „ITS-G5“ auf Fahrzeugkommunikationen im 5,9-GHz-Frequenzband in Europa bezieht. Da eine beliebige Anzahl unterschiedlicher RATs anwendbar ist (einschließlich IEEE-802.11p-basierter RATs), die in einem beliebigen geografischen oder politischen Gebiet verwendet werden können, können die Begriffe „DSRC“ (unter anderen Gebieten in den USA verwendet) und „ITS-G5“ (unter anderen Gebieten in Europa verwendet) in der gesamten vorliegenden Offenbarung austauschbar verwendet werden. Die Zugangsschicht für die ITS-G5-Schnittstelle ist in ETSI EN 302 663 V1.3.1 (01-2020) (im Folgenden „[EN302663]“) umrissen und beschreibt die Zugangsschicht der ITS-S-Referenzarchitektur. Die ITS-G5-Zugangsschicht umfasst [IEEE80211] (was jetzt IEEE 802.11p miteinbezieht) und IEEE 802.2 Logical Link Control (LLC) („[IEEE8022]“) und/oder IEEE/ISO/IEC-8802-2-1998-Protokolle sowie Merkmale für DCC-(Decentralized Congestion Control) Verfahren, die in ETSI TS 102 687 V1.2.1 (04-2018) („[TS102687]“) erörtert werden. Die Zugangsschicht für (eine) 3GPP-LTE-V2X-basierte Schnittstell(en) ist unter anderem in ETSI EN 303 613 V1.1.1 (01-2020), 3GPP TS 23.285 v16.2.0 (12-2019) umrissen; und 3GPP 5G/NR-V2X ist unter anderem in 3GPP TR 23.786 v16.1.0 (06-2019) und 3GPP TS 23.287 v16.2.0 (03-2020) umrissen.
  • Die Cloud 2044 kann eine Cloud-Rechenarchitektur/-Plattform darstellen, die einen oder mehrere Cloud-Rechendienste bereitstellt. Cloud-Computing bezieht sich auf ein Paradigma zum Ermöglichen von Netzwerkzugriff auf einen skalierbaren und elastischen Bestand von gemeinsam nutzbaren Rechenressourcen mit Selbstbedienungsbereitstellung und -verwaltung bei Bedarf und ohne aktives Management durch Benutzer. Rechenressourcen (oder einfach „Ressourcen“) sind eine beliebige physische oder virtuelle Komponente oder Verwendung solcher Komponenten mit eingeschränkter Verfügbarkeit innerhalb eines Computersystems oder Netzwerks. Beispiele für Ressourcen beinhalten Nutzung/Zugriff auf Server, Prozessor(en), Speicherungsgeräte, Speichervorrichtungen, Speicherbereiche, Netzwerke, elektrische Leistung, Eingabe/Ausgabe-(Peripherie-) Vorrichtungen, mechanische Vorrichtungen, Netzwerkverbindungen (z.B. Kanäle/Verknüpfungen, Anschlüsse, Netzwerksockelusw.), Betriebssysteme, virtuelle Maschinen (VMs), Software/Anwendungen, Computerdateien und/oder dergleichen. Cloud-Computing stellt Cloud-Computing-Dienste (oder Cloud-Dienste) bereit, bei denen es sich um eine oder mehrere über Cloud-Computing angebotene Fähigkeiten handelt, die unter Verwendung einer definierten Schnittstelle (z.B. einer API oder dergleichen) aufgerufen werden. Einige Fähigkeiten der Cloud 2044 beinhalten einen Anwendungsfähigkeitentyp, Infrastrukturfähigkeitentyp und Plattformfähigkeitentyp. Ein Cloud-Fähigkeitentyp ist eine Klassifizierung der Funktionalität, die einem Cloud-Dienstkunden (z.B. einem Benutzer der Cloud 2044) durch einen Cloud-Dienst bereitgestellt wird, basierend auf den verwendeten Ressourcen. Der Anwendungsfähigkeitentyp ist ein Cloud-Fähigkeitentyp, bei dem der Cloud-Dienstkunde die Anwendungen des Cloud-Dienstanbieters verwenden kann; der Infrastrukturfähigkeitentyp ist ein Cloud-Fähigkeitentyp, bei dem der Cloud-Dienstkunde Verarbeitungs-, Speicherungs- oder Vernetzungsressourcen bereitstellen und verwenden kann; und der Plattformfähigkeitentyp ist ein Cloud-Fähigkeitentyp, bei dem der Cloud-Dienstkunde vom Kunden erstellte oder vom Kunden erworbene Anwendungen unter Verwendung einer oder mehrerer Programmiersprachen und einer oder mehrerer Ausführungsumgebungen, die vom Cloud-Dienstanbieter unterstützt werden, einsetzen, verwalten und ausführen kann. Cloud-Dienste können in Kategorien gruppiert werden, die eine gemeinsame Gruppe von Qualitäten besitzen. Einige Cloud-Dienstkategorien, die die Cloud 2044 bereitstellen kann, beinhalten zum Beispiel Communications as a Service (CaaS), was eine Cloud-Dienstkategorie ist, die Echtzeitinteraktions- und -kollaborationsdienste involviert; Compute as a Service (CompaaS), was eine Cloud-Dienstkategorie ist, die die Bereitstellung und Verwendung von Verarbeitungsressourcen beinhaltet, die zum Einsetzen und Ausführen von Software benötigt werden; Database as a Service (DaaS), was eine Cloud-Dienstkategorie ist, die die Bereitstellung und Verwendung von Datenbanksystemverwaltungsdiensten involviert; Data Storage as a Service (DSaaS), was eine Cloud-Dienstkategorie ist, die die Bereitstellung und Verwendung von Datenspeicherung und zugehöriger Fähigkeiten involviert; Firewall as a Service (FaaS), was eine Cloud-Dienstkategorie ist, die das Bereitstellen von Firewall- und Netzwerkverkehrsverwaltungsdiensten beinhaltet; Infrastructure as a Service (IaaS), was eine Cloud-Dienstkategorie ist, die den Infrastrukturfähigkeitstyp beinhaltet; Network as a Service (NaaS), was eine Cloud-Dienstkategorie ist, die Transportkonnektivität und zugehörige Netzwerkfähigkeiten beinhaltet; Plattform as a Service (PaaS), was eine Cloud-Dienstkategorie ist, die den Plattformfähigkeitstyp involviert; Software as a Service (SaaS), was eine Cloud-Dienstkategorie ist, die den Anwendungsfähigkeitstyp involviert; Security as a Service, was eine Cloud-Dienstkategorie ist, die das Bereitstellen von Netzwerk- und Informationssicherheits-(Infosec-) Diensten beinhaltet, und/oder andere ähnliche Cloud-Dienste.
  • Zusätzlich oder alternativ kann die Cloud 2044 einen oder mehrere Cloud-Server, Anwendungsserver, Webserver und/oder irgendeine andere ferne Infrastruktur repräsentieren. Die fernen/Cloud-Server können einen beliebigen einer Anzahl an Diensten und Fähigkeiten beinhalten, wie etwa zum Beispiel beliebige der vorliegend besprochenen.
  • Zusätzlich oder alternativ kann die Cloud 2044 ein Netzwerk repräsentieren, wie etwa das Internet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), ein drahtloses lokales Netzwerk (WLAN) oder ein drahtloses Weitverkehrsnetzwerk (WWAN), einschließlich proprietärer und/oder Unternehmensnetzwerke für eine Firma oder Organisation oder Kombinationen davon. Die Cloud 2044 kann ein Netzwerk sein, das Computer, Netzwerkverbindungen zwischen den Computern und Softwareroutinen zum Ermöglichen einer Kommunikation zwischen den Computern über Netzwerkverbindungen umfasst. In dieser Hinsicht umfasst die Cloud 2044 ein oder mehrere Netzwerkelemente, die einen oder mehrere Prozessoren, Kommunikationssysteme (z.B. einschließlich Netzwerkschnittstellensteuerungen, eines oder mehrerer Sender/Empfänger, die mit einer oder mehreren Antennen verbunden sind usw.) und computerlesbare Medien beinhalten können. Beispiele für derartige Netzwerkelemente können drahtlose Zugangspunkte (WAPs), Heim-/Geschäftsserver (mit oder ohne HF-Kommunikationsschaltungsanordnung), Router, Switches, Hubs, Funk-Beacons, Basisstationen, Pikozellen- oder Kleinzellenbasisstationen, Backbone-Gateways und/oder eine beliebige andere ähnliche Netzwerkvorrichtung beinhalten. Eine Verbindung mit der Cloud 2044 kann über eine drahtgebundene oder eine drahtlose Verbindung unter Verwendung der verschiedenen im Folgenden erörterten Kommunikationsprotokolle erfolgen. Mehr als ein Netzwerk kann an einer Kommunikationssitzung zwischen den veranschaulichten Vorrichtungen beteiligt sein. Eine Verbindung mit der Cloud 2044 kann erfordern, dass die Computer Softwareroutinen ausführen, die zum Beispiel die sieben Schichten des OSI-Modells einer Computervernetzung oder eines Äquivalents in einem drahtlosen (Mobilfunk-) Telefonnetzwerk ermöglichen. Die Cloud 2044 kann verwendet werden, um eine Kommunikation mit relativ großer Reichweite, wie etwa zum Beispiel zwischen dem einen oder den mehreren Servern 2050 und einem oder mehreren UEs 2021 und IoT-Vorrichtungen 2011, zu ermöglichen. Zusätzlich oder alternativ kann die Cloud 2044 das Internet, ein oder mehrere zellulare Netzwerke, lokale Netzwerke oder Weitverkehrsnetzwerke einschließlich proprietärer und/oder Unternehmensnetzwerke, eines TCP/Internet-Protocol- (IP-) basierten Netzwerks oder Kombinationen davon repräsentieren. In diesen Implementierungen kann die Cloud 2044 mit einem Netzwerkbetreiber assoziiert sein, der Ausrüstung und andere Elemente besitzt oder steuert, die notwendig sind, um netzwerkbezogene Dienste bereitzustellen, wie etwa eine oder mehrere Basisstationen oder Zugangspunkte, einen oder mehrere Server zum Routen digitaler Daten oder Telefonanrufe (z.B. ein Kernnetzwerk oder Backbone-Netzwerk) usw. Die Backbone-Links 2055 können eine beliebige Anzahl drahtgebundener oder drahtloser Technologien beinhalten und können Teil eines LAN, eines WAN oder des Internets sein. In einem Beispiel sind die Backbone-Verknüpfungen 2055 Backbone-Faserverknüpfungen, die niedrigere Ebenen von Dienstanbietern mit dem Internet, wie etwa dem CN 2012 und der Cloud 2044, koppeln.
  • Die Edge-Rechenknoten 2036 können ein Edge-System 2035 (oder Edge-Netzwerk 2035) beinhalten oder Teil davon sein. Die Edge-Rechenknoten 2036 können auch als „Edge-Hosts 2036“ oder „Edge-Server 2036“ bezeichnet werden. Das Edge-System 2035 beinhaltet eine Sammlung von Edge-Servern 2036 und Edge-Verwaltungssystemen (in 20 nicht gezeigt), die notwendig sind, um Edge-Computing-Anwendungen innerhalb eines Betreibernetzwerks oder einer Teilmenge eines Betreibernetzwerks auszuführen. Die Edge-Server 2036 sind physische Computersysteme, die eine Edge-Plattform und/oder Virtualisierungsinfrastruktur beinhalten können, und stellen Rechen-, Speicherungs- und Netzwerkressourcen für Edge-Computing-Anwendungen bereit. Jeder der Edge-Server 2036 ist an einem Rand eines entsprechenden Zugangsnetzwerks angeordnet und dazu eingerichtet, Rechenressourcen und/oder verschiedene Dienste (z.B. Rechenaufgaben- und/oder Arbeitslastauslagerung, Cloud-Rechenfähigkeiten, IT-Dienste und andere ähnliche Ressourcen und/oder Dienste, wie vorliegend erörtert) in relativ enger Nähe zu Zwischenknoten 2020 und/oder Endpunkten 2010 bereitzustellen. Die VI der Edge-Server 2036 stellen virtualisierte Umgebungen und virtualisierte Ressourcen für die Edge-Hosts bereit, und die Edge-Rechenanwendungen können als VMs und/oder Anwendungscontainer über den VI laufen.
  • In einer beispielhaften Implementierung kann das Edge-System 2035 gemäß dem MEC-Framework arbeiten, wie in ETSI GS MEC 003 v2.1.1 (01-2019), ETSI GS MEC 009 V2.1.1 (2019-01), ETSI GS MEC 010-1 v1.1.1 (10-2017), ETSI GS MEC 010-2 v2.1.1 (11-2019), ETSI GS MEC 011 V1.1.1 (7-2017); ETSI GS MEC 012 V2.1.1 (12-2019), ETSI GS MEC 013 v2.1.1 (9-2019); ETSI GS MEC 014 V1.1.1 (2-2018); ETSI GS MEC 015 v2.1.1 (6-2020), ETSI GS MEC 016 V2.2.1 (4-2020), ETSI GS MEC 021 V2.1.1 (1-2020), ETSI GS MEC 028 v2.1.1 (6-2020), ETSI GS MEC 029 v2.1.1 (7-2019), ETSI MEC GS 030 v2.1.1 (4-2020), ETSI GS NFV-MAN 001 v1.1.1 (12-2014), vorläufige US-Anmeldung. Nr. 63/003,834 , eingereicht am 1. April 2020 („[AC6833Z]“) und Internationale Anmeldung Nr. PCT/ US20/066969 , eingereicht am 23. Dezember 2020 („[AC6833PCT]“) (hier gemeinsam als „[MEC]“ bezeichnet), deren Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen sind.
  • In einer anderen beispielhaften Implementierung arbeitet das Edge-System 2035 gemäß dem O-RAN-Framework. Typischerweise haben Frontend- und Backend-Vorrichtungsanbieter und -träger eng zusammengearbeitet, um Kompatibilität sicherzustellen. Die Kehrseite eines solchen Arbeitsmodells besteht darin, dass Plug-and-Play mit anderen Vorrichtungen recht schwierig wird, und dies kann Innovation behindern. Um dem entgegenzuwirken und Offenheit und Interoperabilität auf jeder Ebene zu fördern, bildeten mehrere Hauptakteure, die an der Drahtlosdomäne interessiert sind (z.B. Träger, Vorrichtungshersteller, akademische Institutionen usw.), in 2018 die Open RAN Alliance („O-RAN“). Die O-RAN-Netzwerkarchitektur ist ein Baustein zum Gestalten eines virtualisierten RAN auf programmierbarer Hardware mit Funkzugangssteuerung, die durch KI gespeist wird. Verschiedene Aspekte der O-RAN-Architektur sind in Folgendem beschrieben: O-RAN Alliance Working Group (WG) 1, „O-RAN Architecture Description" v04.00 (März 2021), O-RAN Alliance WG1, „O-RAN Operations and Maintenance Interface Specification" v04.00 (November 2020), O-RAN Alliance WG1, „O-RAN Operations and Maintenance Architecture Specification" v04.00 (November 2020), O-RAN Alliance WG1, „Near-Real-time RAN Intelligent Controller, E2 Application Protocol (E2AP)" v01.01 (Juli 2020), O-RAN Alliance WG2, „O-RAN A1 Interface: General Aspects and Principles 2.02" v02.02 (März 2021), O-RAN Alliance WG3, „O-RAN Near-Real-time RAN Intelligent Controller Architecture & E2 General Aspects and Principles" v01.01 (Juli 2020), O-RAN Near-Real-time RAN Intelligent Controller E2 Service Model 1.0 (Februar 2020), O-RAN WG3, „Near-Real-time RAN Intelligent Controller E2 Service Model (E2SM) KPM" v01.00 (Februar 2020), O-RAN WG3, „O-RAN Near-Real-time RAN Intelligent Controller E2 Service Model (E2SM), RAN Function Network Interface (NI)" v1.0 (Februar 2020), E2SM RAN Control (E2SM-RC), O-RAN Alliance WG4, O-RAN Fronthaul Management Plane Specification, Version 2.0 (Juli 2019), O-RAN Alliance WG4, „O-RAN Fronthaul Control, User and Synchronization Plane Specification 6.0" v06.00 (März 2021), O-RAN Alliance WG6, „Cloud Architecture and Deployment Scenarios for O-RAN Virtualized RAN" v02.01 (Juli 2020), und U.S.-Anm. Nr. 17/484,743, eingereicht am 24. September 2021 („[AD2644-US]“) (gemeinsam als „[O-RAN]“ bezeichnet), deren Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen sind.
  • In einer anderen beispielhaften Implementierung arbeitet das Edge-System 2035 gemäß 3rd Generation Partnership Project (3GPP) System Aspects Working Group 6 (SA6) Architecture for enabling Edge Applications (als „3GPP-Edge-Computing“ bezeichnet), wie in 3GPP TS 23.558 v17.1.0 (24.9.2021) („[TS23558]“), 3GPP TS 23.501 v17.2.0 (24.9.2021) („[TS23501]“) und US-Anm. Nr. 17/484,719, eingereicht am 24. September 2021 („[AD4420-US]“) (gemeinsam als „[SA6Edge]“ bezeichnet), deren Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen sind.
  • In einer anderen beispielhaften Implementierung arbeitet das Edge-System 2035 gemäß dem Intel® Smart Edge Open Framework (vormals als OpenNESS bekannt), wie in Intel® Smart Edge Open Developer Guide, Version 21,09 (30. September 2021), verfügbar unter: <https://smart-edge-open.github.io/> („[ISEO]“), dessen Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird.
  • Es versteht sich, dass die vorstehend erwähnten Edge-Computing-Frameworks und Diensteinsatzbeispiele nur ein veranschaulichendes Beispiel für Edge-Computing-Systeme/Netzwerke 2035 sind, und dass die vorliegende Offenbarung auf viele andere Edge-Computing-/Netzwerktechnologien in verschiedenen Kombinationen und Layouts von Vorrichtungen anwendbar sein kann, die sich am Rand eines Netzwerks befinden, einschließlich der verschiedenen hier beschriebenen Edge-Computing-Netzwerke/Systeme. Ferner können sich die vorliegend offenbarten Methoden auf andere IoT-Edge-Netzwerksysteme und - Konfigurationen beziehen, und es können auch andere Zwischenverarbeitungsentitäten und - architekturen auf die vorliegende Offenbarung anwendbar sein.
  • Wie durch 20 dargestellt, ist jeder der NANs 2031, 2032 und 2033 ortsgleich mit den Edge-Rechenknoten (oder „Edge-Servern“) 2036a, 2036b bzw. 2036c angeordnet. Diese Implementierungen können Kleinzellen-Clouds (SCCs) sein, bei denen ein Edge-Rechenknoten 2036 ortsgleich mit einer Kleinzelle (z.B. Pikozelle, Femtozelle usw.) angeordnet ist, oder sie können mobile Mikro-Clouds (MCCs) sein, bei denen ein Edge-Rechenknoten 2036 ortsgleich mit einer Makrozelle (z.B. einem eNB, gNB usw.) angeordnet ist. Der Edge-Rechenknoten 2036 kann in einer Vielzahl anderer Anordnungen als der in 20 gezeigten bereitgestellt werden. In einem ersten Beispiel sind mehrere NANs 2031-2033 ortsgleich mit einem Edge-Rechenknoten 2036 angeordnet oder anderweitig damit kommunikativ gekoppelt. In einem zweiten Beispiel können die Edge-Server 2036 ortsgleich angeordnet sein oder durch RNCs betrieben werden, was für Alt-Netzwerkbereitstellungen, wie etwa 3G-Netzwerke, der Fall sein kann. In einem dritten Beispiel können die Edge-Server 2036 an Zellenaggregationsstellen oder an Multi-RAT-Aggregationspunkten eingesetzt werden, die sich entweder innerhalb eines Unternehmens befinden oder in öffentlichen Abdeckungsgebieten befinden können. In einem vierten Beispiel können die Edge-Server 2036 am Rand des CN 2042 bereitgestellt werden. Diese Implementierungen können in Follow-Me-Clouds (FMC) verwendet werden, wobei Cloud-Dienste, die an verteilten Rechenzentren laufen, den UEs 2021 folgen, während sie durch das Netzwerk roamen.
  • In jeder der vorstehend erörterten Implementierungen stellen die Edge-Server 2036 eine verteilte Rechenumgebung für Anwendungs- und Diensthosting bereit, und sie stellen auch Speicher- und Verarbeitungsressourcen bereit, so dass Daten und/oder Inhalt in unmittelbarer Nähe zu Teilnehmern (z.B. Benutzern von UEs 2021, 2011) für schnellere Antwortzeiten verarbeitet werden können. Die Edge-Server 2036 unterstützen unter anderem auch Mehrmandantenfähigkeits-Laufzeit- und Hosting-Umgebung(en) für Anwendungen, einschließlich virtueller Geräteanwendungen, die als verpackte Bilder einer virtuellen Maschine (VM) geliefert werden können, Middleware-Anwendungs- und -Infrastrukturdienste, Inhaltslieferdienste einschließlich Inhalts-Caching, Mobile-Big-Data-Analytik und Abladen von Berechnungen. Das Auslagern von Berechnungen involviert das Auslagern von Berechnungen, Arbeitslasten, Anwendungen und/oder Diensten von den UEs 2011/2021, dem CN 2042, der Cloud 2044 und/oder dem oder den Servern 2050 auf die Edge-Server 2036 oder umgekehrt. Zum Beispiel kann eine Vorrichtungsanwendung oder Client-Anwendung, die in einem UE 2021, 2011 betrieben wird, Anwendungsaufgaben oder Arbeitslasten an einen oder mehrere Edge-Server 2036 auslagern. In einem anderen Beispiel kann ein Edge-Server 2036 Anwendungsaufgaben oder Arbeitslasten an ein oder mehrere UEs 2021, 2011 auslagern (zum Beispiel für verteilte MI,-Berechnung oder dergleichen).
  • 4. HARDWAREKOMPONENTEN, KONFIGURATIONEN UND ANORDNUNGEN
  • 21 veranschaulicht ein Beispiel für Komponenten, die in einem Rechenknoten 2150 zum Implementieren der vorliegend beschriebenen Methoden (z.B. Operationen, Prozesse, Verfahren und Methodologien) vorhanden sein können. Der Rechenknoten 2150 stellt eine nähere Ansicht der jeweiligen Komponenten des Knotens 2100 bereit, wenn er als oder als Teil einer Rechenvorrichtung (z.B. als eine Mobilvorrichtung, eine Basisstation, ein Server, ein Gateway usw.) implementiert wird. Der Rechenknoten 2150 kann beliebige Kombinationen der hier referenzierten Hardware oder Logikkomponenten beinhalten, und er kann eine beliebige Vorrichtung beinhalten oder mit dieser gekoppelt sein, die mit einem Edge-Kommunikationsnetzwerk oder einer Kombination solcher Netzwerke verwendbar ist. Die Komponenten können als integrierte Schaltungsanordnung (ICs), ein Ein-Chip-System (SoC), Teile davon, diskrete elektronische Vorrichtungen oder andere Module, Anweisungssätze, programmierbare Logik oder Algorithmen, Hardware, Hardwarebeschleuniger, Software, Firmware oder eine Kombination davon, die in dem Rechen-Knoten 2150 angepasst sind, oder als Komponenten, die anderweitig in einem Chassis eines größeren Systems integriert sind, implementiert werden.
  • In einigen Ausführungsformen kann der Rechenknoten 2150 dem Client 901, dem NAN 910A-B, dem Server 940, den Netzwerkfunktionen (NFs) in dem CN 950A, dem FA-GW 950B, den Netzwerkelementen und/oder Vorrichtungen in DN 970 und/oder DN 975 von 9; dem Client 1001, dem Zugangsnetzwerk 1031, dem MAMS-System 1035, dem Kernnetzwerk 1041; den GWs 1420A, 1420B, 1450 von Figur 14; den UEs 2011, 2021a, den NANs 2031-2033, den Edge-Rechenknoten 2036, dem CN 2042 (oder Rechenknoten darin) und/oder der Cloud 2044 (oder Rechenknoten darin) von 20; der Softwareverteilungsplattform 2205 und/oder der(n) Prozessorplattform(en) 2200 von 22; und/oder einer beliebigen anderen Komponente, Vorrichtung und/oder einem beliebigen anderen System, die/das hier besprochen wird/werden, entsprechen. Der Rechenknoten 2150 kann als ein Typ von Vorrichtung, Gerät, Computer oder anderem „Ding“ umgesetzt sein, das in der Lage ist, mit anderen Edge-, Netzwerk- oder Endpunktkomponenten zu kommunizieren. Der Rechenknoten 2150 kann zum Beispiel als ein Smartphone, eine mobile Rechenvorrichtung, ein Smartgerät, ein fahrzeuginternes Rechensystem (z.B. ein Navigationssystem), ein Edge-Rechenknoten, ein NAN, ein Switch, ein Router, eine Brücke, ein Hub und/oder eine andere Vorrichtung oder ein anderes System umgesetzt sein, die/das zum Durchführen der beschriebenen Funktionen in der Lage ist.
  • Der Rechenknoten 2150 beinhaltet eine Verarbeitungsschaltungsanordnung in Form eines oder mehrerer Prozessoren 2152. Die Prozessorschaltungsanordnung 2152 beinhaltet eine Schaltungsanordnung, wie etwa unter anderem einen oder mehrere Prozessorkerne und eines oder mehrere von Cache-Speicher, Low-Drop-Out-Spannungsreglern (LDOs), Interrupt-Steuerungen, seriellen Schnittstellen, wie etwa SPI, I2C oder universelle programmierbare serielle Schnittstellenschaltung, Echtzeituhr (RTC), Timer-Zähler einschließlich Intervall- und Watchdog-Timern, Allzweck-E/A, Speicherkartensteuerungen, wie etwa Secure Digital/Multimedia Card (SD/MMC) oder dergleichen, Schnittstellen, Mobile-Industry-Processor-Interface- (MIPI-) Schnittstellen und Joint-Test-Access-Group- (JTAG-) Testzugangsports. In einigen Implementierungen kann die Prozessorschaltungsanordnung 2152 einen oder mehrere Hardwarebeschleuniger (z.B. gleich oder ähnlich der Beschleunigungsschaltungsanordnung 2164) beinhalten, die Mikroprozessoren, programmierbare Verarbeitungsvorrichtungen (z.B. FPGA, ASIC usw.) oder dergleichen sein können. Der eine oder die mehreren Beschleuniger können zum Beispiel Computervision- und/oder Deep-Learning-Beschleuniger beinhalten. In einigen Implementierungen kann die Prozessorschaltungsanordnung 2152 eine On-Chip-Speicherschaltungsanordnung beinhalten, die einen beliebigen geeigneten flüchtigen und/oder nichtflüchtigen Speicher, wie DRAM, SRAM, EPROM, EEPROM, Flash-Speicher, Festkörperspeicher und/oder einen beliebigen anderen Typ von Speichervorrichtungstechnologie, wie die vorliegend erörterten, beinhalten kann
  • Die Prozessorschaltungsanordnung 2152 kann zum Beispiel ein oder mehrere Prozessorkerne (CPUs), Anwendungsprozessoren, GPUs, RISC-Prozessoren, Acorn-RISC-Maschine- (ARM-) Prozessoren, CISC-Prozessoren, ein oder mehrere DSPs, ein oder mehrere FPGAs, eine oder mehrere PLDs, eine oder mehrere ASICs, ein oder mehrere Basisbandprozessoren, eine oder mehrere integrierte Hochfrequenzschaltungen (RFIC), ein oder mehrere Mikroprozessoren oder Steuerungen, ein Mehrkernprozessor, ein Multi-Thread-Prozessor, ein Ultraniederspannungsprozessor, ein eingebetteter Prozessor, eine Spezialverarbeitungseinheit und/oder spezialisierte Verarbeitungseinheit oder beliebige andere bekannte Verarbeitungselemente oder eine beliebige geeignete Kombination daraus sein. In einigen Implementierungen kann die Prozessorschaltungsanordnung 2152 als eine spezialisierte x-Verarbeitungseinheit (xPU) umgesetzt sein, die auch als eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU) oder Netzwerkverarbeitungseinheit (NPU) bekannt ist. Eine xPU kann als eine eigenständige Schaltung oder ein eigenständiges Schaltungs-Package umgesetzt sein, innerhalb eines SoC integriert sein oder mit einer Vernetzungsschaltungsanordnung (z.B. in einer SmartNIC oder erweiterten SmartNIC), einer Beschleunigungsschaltungsanordnung, Speicherungsvorrichtungen, Speicherungsplatten und/oder KI-Hardware (z.B. GPUs oder programmierten FPGAs) integriert sein. Die xPU kann dazu gestaltet sein, eine Programmierung zu empfangen, um einen oder mehrere Datenströme zu verarbeiten und spezielle Aufgaben und Aktionen für die Datenströme (z.B. Hosten von Mikrodiensten, Durchführen von Dienstverwaltung oder Orchestrierung, Organisieren oder Verwalten von Server- oder Datenzentrumshardware, Verwalten von Dienstnetzen oder Sammeln und Verteilen von Telemetrie) außerhalb einer CPU oder Mehrzweckverarbeitungshardware durchzuführen. Eine xPU, ein SoC, eine CPU und andere Varianten der Prozessorschaltungsanordnung 2152 können jedoch koordiniert miteinander arbeiten, um viele Arten von Operationen und Anweisungen innerhalb des und für den Rechenknoten 2150 auszuführen.
  • Die Prozessoren (oder Kerne) 2152 können mit Speicher/Speicherung gekoppelt sein oder diesen aufweisen und können konfiguriert sein, im Speicher/Speicherung gespeicherte Anweisungen auszuführen, um verschiedenen Anweisungen oder Betriebssystemen zu ermöglichen, auf der Plattform 2150 zu laufen. Der Prozessor (oder die Kerne) 2152 ist dazu konfiguriert, Anwendungssoftware zu betreiben, um einen spezifischen Dienst für einen Benutzer des Knotens 2150 bereitzustellen. Zusätzlich oder alternativ kann(können) der(die) Prozessor(en) 2152 (ein)(e) Spezialprozessor(en)/-steuerung(en) sein, der/die dazu konfiguriert (oder konfigurierbar) ist (sind), gemäß den vorliegend besprochenen Elementen, Merkmalen und Implementierungen zu arbeiten.
  • Als Beispiele können der eine oder die mehreren Prozessoren 2152 einen Intel® Architecture Core™-basierten Prozessor, wie etwa einen i3-, einen i5-, einen i7-, einen i9-basierten Prozessor, einen Intel® Mikrocontroller-basierten Prozessor, wie etwa einen Quark™-, einen Atom™- oder einen anderen MCU-basierten Prozessor; einen oder mehrere Pentium®-Prozessoren, einen oder mehrere Xeon®-Prozessoren oder einen anderen solchen Prozessor, der von der Intel® Corporation, Santa Clara, Kalifornien, erhältlich ist, beinhalten. Eine beliebige Anzahl anderer Prozessoren kann jedoch verwendet werden, wie eines oder mehrere aus einer AMD- (Advanced Micro Devices) Zen®-Architektur, wie (einem) Ryzen®- oder EPYC®-Prozessor(en), beschleunigten Verarbeitungseinheiten (APUs), MxGPUs, (einem) Epyc®-Prozessor(en) oder dergleichen; (einem) A5-A12- und/oder S1-S4-Prozessor(en) von Apple® Inc., (einem) Snapdragon™- oder Centriq™-Prozessor(en) von Qualcomm® Technologies, Inc., (einem) Texas Instruments, Inc.® Open Multimedia Applications Platform(OMAP)™-Prozessor(en); einem MIPS-basierten Design von MIPS Technologies, Inc., wie Prozessoren der MIPS Warrior M-Klasse, Warrior I-Klasse und Warrior P-Klasse; einem ARM-basierten Design, lizenziert von ARM Holdings, Ltd., wie der ARM Cortex-A-, Cortex-R- und Cortex-M-Prozessorfamilie; dem von Cavium™, Inc. bereitgestellten ThunderX2® oder dergleichen. In einigen Implementierungen können der eine oder die mehreren Prozessoren 2152 ein Teil eines Ein-Chip-Systems (SoC), System-in-Package (SiP), eines Multi-Chip-Gehäuses (MCP) und/oder dergleichen sein, wobei der eine oder die mehreren Prozessoren 2152 und andere Komponenten in einer einzigen integrierten Schaltung oder einem einzigen Gehäuse, wie den Edison™- oder Galileo™-SoC-Platinen von der Intel® Corporation, gebildet sind. Andere Beispiele für den einen oder die mehreren Prozessoren 2152 sind an anderer Stelle der vorliegenden Offenbarung erwähnt.
  • Der eine oder die mehreren Prozessoren 2152 können über eine Zwischenverbindung (IX) 2156 mit einem Systemspeicher 2154 kommunizieren. Jegliche Anzahl von Speichergeräten kann verwendet werden, um eine gegebene Menge an Systemspeicher bereitzustellen. Beispielsweise kann der Speicher Direktzugriffsspeicher (RAM) in Übereinstimmung mit einem Design des Joint Electron Devices Engineering Council (JEDEC) sein, wie etwa den DDR- oder mobilen DDR-Standards (z.B. LPDDR, LPDDR2, LPDDR3 oder LPDDR4). In bestimmten Beispielen kann eine Arbeitsspeicherkomponente einen von JEDEC veröffentlichten DRAM-Standard erfüllen, wie JESD79F für DDR-SDRAM, JESD79-2F für DDR2-SDRAM, JESD79-3F für DDR3-SDRAM, JESD79-4A für DDR4-SDRAM, JESD209 für Niedrigenergie-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4. Andere RAM-Typen, wie etwa dynamischer RAM (DRAM), synchroner DRAM (SDRAM) und/oder dergleichen, können ebenfalls enthalten sein. Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden und Kommunikationsschnittstellen der Speicherungsvorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden. In verschiedenen Implementierungen können die individuellen Speichervorrichtungen aus einer beliebigen Anzahl von verschiedenen Gehäusetypen sein, wie ein Ein-Rohchip-Gehäuse (SDP), Doppel-Rohchip-Gehäuse (DDP) oder Quad-Rohchip-Gehäuse (Q17P). Diese Vorrichtungen können in einigen Beispielen direkt auf eine Hauptplatine gelötet werden, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Vorrichtungen in anderen Beispielen als ein oder mehrere Speichermodule konfiguriert sind, die der Reihe nach durch einen gegebenen Verbinder mit der Hauptplatine gekoppelt sind. Eine beliebige Anzahl anderer Speicherimplementierungen kann verwendet werden, wie etwa andere Typen von Speichermodulen, z.B. Dual-Inline-Speichermodule (DIMMs) verschiedener Varianten, einschließlich unter anderem microDIMMs oder MiniDIMMs.
  • Um eine dauerhafte Speicherung von Informationen, wie etwa Daten, Anwendungen, Betriebssystemen und so weiter, bereitzustellen, kann eine Speicherung 2158 auch über das IX 2156 an den Prozessor 2152 gekoppelt sein. In einem Beispiel kann die Speicherung 2158 über ein Festkörperplattenlaufwerk (SSDD) und/oder einen elektrisch löschbaren Hochgeschwindigkeitsspeicher (allgemein als „Flash-Speicher“ bezeichnet) implementiert sein. Andere Vorrichtungen, die für die Speicherung 2158 verwendet werden können, beinhalten Flash-Speicherkarten, wie etwa SD-Karten, microSD-Karten, eXtreme-Digital- (XD-) Bildkarten und dergleichen und USB-Flash-Laufwerke. In einem Beispiel kann die Speichervorrichtung eine Speichervorrichtung sein oder umfassen, die Chalkogenidglas, NAND-Flash-Speicher mit mehreren Schwellenpegeln, NOR-Flash-Speicher, Phasenwechselspeicher (PCM - Phase Change Memory) mit einer oder mehreren Ebenen, einen resistiven Speicher, einen Nanodrahtspeicher, einen ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM - Ferroelectric Transistor Random Access Memory), einen antiferroelektrischen Speicher, einen magnetoresistiven Direktzugriffsspeicher (MRAM), der Memristor-Technologie umfasst, einen Phasenwechsel-RAM (PRAM - Phase Change RAM), einen resistiven Speicher auf Metalloxidbasis, Sauerstoffleerstellenbasis und Conductive-Brige-Direktzugriffsspeicher (CB-RAM) oder Spin-Transfer-Torque- (STT-) MRAM, eine Vorrichtung auf der Basis eines Spintronik-Speichers mit magnetischem Übergang, eine Vorrichtung auf der Basis eines magnetischen Tunnelübergangs (MTJ - Magnetic Tunneling Junction), eine Vorrichtung auf Domänenwand- und SOT- (Spin Orbit Transfer-) Basis, eine Speichervorrichtung Thyristorbasis oder eine Kombination beliebiger der vorstehenden oder anderen Speicher einsetzt. Die Speicherschaltungsanordnung 2154 und/oder die Speicherungsschaltungsanordnung 2158 können auch dreidimensionale (3D-) Crosspoint-Speicher (XPOINT-Speicher) von Intel® und Micron® beinhalten.
  • Bei Niedrigleistungsimplementierungen kann die Speicherung 2158 ein chipinterner Speicher oder Register sein, die mit dem Prozessor 2152 assoziiert sind. In einigen Beispielen kann die Speicherung 2158 jedoch unter Verwendung eines Mikro-Festplattenlaufwerks (HDD) implementiert werden. Ferner kann eine beliebige Anzahl neuer Technologien für die Speicherung 2158 zusätzlich zu den, oder anstelle der, beschriebenen Technologien verwendet werden, wie etwa unter anderem Widerstandswechselspeicher, Phasenwechselspeicher, holografische Speicher oder chemische Speicher.
  • Die Komponenten der Edge-Computing-Vorrichtung 2150 können über ein Interconnect (IX) 2156 kommunizieren. Das IX 2156 kann eine beliebige geeignete Art von Verbindung oder Schnittstelle repräsentieren, wie etwa zum Beispiel Metall oder Metalllegierungen (z.B. Kupfer, Aluminium usw.), Faser und/oder dergleichen. Das IX 2156 kann eine beliebige Anzahl an IX-, Fabric- und/oder Schnittstellentechnologien beinhalten, einschließlich Befehlssatzarchitektur (ISA), erweiterte ISA (eISA), Inter-Integrated-Circuit (I2C), serielle Peripherieschnittstelle (SPI), Punkt-zu-Punkt-Schnittstellen, Leistungsverwaltungsbus (PMBus), Peripheral Component Interconnect (PCI), PCI express (PCIe), PCI extended (PCIx), Intel® Ultra Path Interconnect (UPI), Intel® Accelerator Link, Intel® QuickPath Interconnect (QPI), Intel® Omni-Path Architecture (OPA), Compute Express Link™ (CXL™) IX-Technologie, RapidIO™-IX, Coherent Accelerator Processor Interface (CAPI), OpenCAPI, Cache-kohärentes Interconnect für Beschleuniger (CCIX), Gen-Z Consortium IXs, HyperTransport IXs, NVLink, bereitgestellt von NVIDIA®, eines TTP- (Time-Trigger Protocol) Systems, eines FlexRay-Systems, PROFIBUS, ARM® Advanced eXtensible Interface (AXI), ARM® Advanced Microcontroller Bus Architecture (AMBA) IX, HyperTransport, Infinity Fabric (IF) und/oder einer beliebigen Anzahl anderer IX-Technologien. Das IX 2156 kann ein proprietärer Bus sein, der zum Beispiel in einem SoC-basierten System verwendet wird.
  • Das IX 2156 koppelt den Prozessor 2152 mit einer Kommunikationsschaltungsanordnung 2166 zur Kommunikation mit anderen Vorrichtungen, wie etwa einem entfernten Server (nicht gezeigt) und/oder den angebundenen Edge-Vorrichtungen 2162. Die Kommunikationsschaltungsanordnung 2166 ist ein Hardwareelement oder eine Sammlung von Hardwareelementen, das/die zum Kommunizieren über ein oder mehrere Netzwerke (z.B. die Cloud 2163) und/oder mit anderen Vorrichtungen (z.B. den Edge-Vorrichtungen 2162) verwendet wird/werden.
  • Der Sendeempfänger 2166 kann eine beliebige Anzahl von Frequenzen und Protokollen verwenden, wie etwa unter anderem Übertragungen auf 2,4 Gigahertz (GHz) unter dem IEEE 802.15.4-Standard unter Verwendung des Bluetooth®-Niederenergie- (BLE-) Standards, wie durch die Bluetooth® Special Interest Group definiert, oder des ZigBee®-Standards. Eine beliebige Anzahl von Funkgeräten, die für ein bestimmtes Drahtloskommunikationsprotokoll konfiguriert sind, kann für die Verbindungen mit den verbundenen Edge-Vorrichtungen 2162 verwendet werden. Zum Beispiel kann eine Drahtlos-Lokalnetz- (WLAN-) Einheit verwendet werden, um Wi-Fi®-Kommunikationen gemäß dem 802.11-Standard des Institute of Electrical and Electronic Engineers (IEEE) zu implementieren. Außerdem können Funkfernnetzkommunikationen, z.B. in Übereinstimmung mit einem Mobilfunk- oder anderen Funkfernnetzprotokoll über eine Funkfernnetz- (WWAN-) Einheit stattfinden.
  • Der Drahtlosnetzwerk-Sendeempfänger 2166 (oder mehrere Sendeempfänger) kann unter Verwendung mehrerer Standards oder Funkgeräte für Kommunikationen in einer anderen Reichweite kommunizieren. Zum Beispiel kann der Rechenknoten 2150 mit nahen Vorrichtungen, z.B. innerhalb von etwa 10 Metern, unter Verwendung eines lokalen Sendeempfängers basierend auf BLE oder eines anderen Niederleistungsfunkgeräts kommunizieren, um Leistung zu sparen. Weiter entfernte verbundene Edge-Vorrichtungen 2162, z.B. innerhalb von etwa 50 Metern, können über ZigBee® oder andere Funkgeräte mit mittlerer Leistung erreicht werden. Beide Kommunikationstechniken können über ein einziges Funkgerät mit unterschiedlichen Leistungspegeln stattfinden oder können über separate Sendeempfänger stattfinden, zum Beispiel einen lokalen Sendeempfänger, der BLE verwendet, und einen separaten Mesh-Sendeempfänger, der ZigBee® verwendet.
  • Ein Drahtlosnetzwerk-Sendeempfänger 2166 (zum Beispiel ein Funk-Sendeempfänger) kann enthalten sein, um mit Geräten oder Diensten in Edge-Cloud 2163 über Local oder Wide Area Network-Protokolle zu kommunizieren. Der Drahtlosnetzwerk-Sendeempfänger 2166 kann unter anderem ein LPWA-Sendeempfänger sein, der den Standards IEEE 802.15.4 oder IEEE 802.15.4g folgt. Der Rechenknoten 2163 kann über einen weiten Bereich unter Verwendung von LoRaWAN™ (Long Range Wide Area Network) kommunizieren, das von Semtech und der LoRa Alliance entwickelt wird. Die hierin beschriebenen Techniken sind nicht auf diese Technologien beschränkt, sondern können mit einer beliebigen Anzahl von anderen Cloud-Sendeempfängern verwendet werden, die Kommunikationen mit großer Reichweite und niedriger Bandbreite implementieren, wie etwa Sigfox und andere Technologien. Ferner können andere Kommunikationstechniken verwendet werden, wie etwa Zeitschlitz-Kanalspringen, das in der IEEE 802.15.4e-Spezifikation beschrieben ist.
  • Eine beliebige Anzahl anderer Funkkommunikationen und Protokolle kann zusätzlich zu den für den Drahtlosnetzwerk-Sendeempfänger 2166 erwähnten Systemen verwendet werden, wie hier beschrieben. Der Sendeempfänger 2166 kann zum Beispiel einen Mobilfunk-Sendeempfänger beinhalten, der Frequenzspreiz- (SPA/SAS-) Kommunikationen zum Implementieren von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl anderer Protokolle verwendet werden, wie etwa Wi-Fi®-Netzwerke für Mittelgeschwindigkeitskommunikationen und Bereitstellung von Netzwerkkommunikationen. Der Sendeempfänger 2166 kann Funkgeräte beinhalten, die mit einer beliebigen Anzahl von 3GPP-Spezifikationen kompatibel sind, wie etwa LTE- und SG/NR-Kommunikationssystemen, die am Ende der vorliegenden Offenbarung ausführlicher besprochen werden. Eine Netzwerkschnittstellensteuerung (NIC) 2168 kann enthalten sein, um eine drahtgebundene Kommunikation zu Knoten der Edge-Cloud 2163 oder zu anderen Vorrichtungen bereitzustellen, wie etwa den angebundenen Edge-Vorrichtungen 2162 (die z.B. in einem vermaschten Netz arbeiten). Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen oder kann auf anderen Arten von Netzwerken basieren, wie etwa Controller Area Network (CAN), Local Interconnect Network (LIN), DeviceNet, ControlNet, Data Highway+ oder PROFINET unter vielen anderen. Eine zusätzliche NIC 2168 kann enthalten sein, um das Verbinden mit einem zweiten Netzwerk zu ermöglichen, wobei zum Beispiel eine erste NIC 2168 Kommunikationen mit der Cloud über Ethernet bereitstellt und eine zweite NIC 2168 Kommunikationen mit anderen Vorrichtungen über einen anderen Typ von Netzwerk bereitstellt.
  • Angesichts der Vielfalt von Typen anwendbarer Kommunikationen von der Vorrichtung zu einer anderen Komponente oder einem anderen Netzwerk können anwendbare Kommunikationsschaltungsanordnungen, die von der Vorrichtung verwendet werden, eine beliebige oder mehrere beliebige der Komponenten 2164, 2166, 2168 oder 2170 beinhalten oder durch diese realisiert sein. Dementsprechend können in verschiedenen Beispielen anwendbare Mittel zum Kommunizieren (z.B. Empfangen, Übertragen usw.) durch eine derartige Kommunikationsschaltungsanordnung ausgebildet sein.
  • Der Rechenknoten 2150 kann eine Beschleunigungsschaltungsanordnung 2164 beinhalten oder mit dieser gekoppelt sein, die durch einen oder mehrere KI-Beschleuniger, einen neuronalen Rechenstick, neuromorphe Hardware, ein FPGA, eine Anordnung von GPUs, einen oder mehrere SoCs (einschließlich programmierbarer SoCs), eine oder mehrere CPUs, einen oder mehrere Digitalsignalprozessoren, dedizierte ASICs (einschließlich programmierbarer ASICs), PLDs, wie etwa CPLDs oder HCPLDs, und/oder andere Formen spezialisierter Prozessoren oder Schaltungsanordnung, die zum Erfüllen einer oder mehrerer spezialisierter Aufgaben ausgelegt sind, umgesetzt werden können. Diese Aufgaben können KI-Verarbeitung (einschließlich Maschinenlern-, Trainings-, Inferenz- und Klassifizierungsoperationen), visuelle Datenverarbeitung, Netzdatenverarbeitung, Objektdetektion, Regelanalyse oder dergleichen beinhalten. Bei FPGA-basierten Implementierungen kann die Beschleunigungsschaltungsanordnung 2164 Logikblöcke oder Logik-Fabric und andere miteinander verbundene Ressourcen umfassen, die dazu programmiert (konfiguriert) werden können, verschiedene Funktionen durchzuführen, wie etwa die hier besprochenen Prozeduren, Verfahren, Funktionen usw. Bei solchen Implementierungen kann die Beschleunigungsschaltungsanordnung 2164 auch Speicherzellen (z.B. EPROM, EEPROM, Flash-Speicher, statischen Speicher (z.B. SRAM, Anti-Fuses usw.) beinhalten, die zum Speichern von Logikblöcken, Logik-Fabric, Daten usw. in LUTs und dergleichen verwendet werden.
  • Das IX 2156 koppelt auch den Prozessor 2152 an einen Sensor-Hub oder eine externe Schnittstelle 2170, der bzw. die zum Verbinden zusätzlicher Vorrichtungen oder Subsysteme verwendet wird. Die zusätzlichen/externen Vorrichtungen können Sensoren 2172, Aktuatoren 2174 und eine Positionierungsschaltungsanordnung 2175 beinhalten.
  • Die Sensorschaltungsanordnung 2172 beinhaltet Vorrichtungen, Module oder Teilsysteme, deren Zweck es ist, Ereignisse oder Änderungen in ihrer Umgebung zu detektieren und die Informationen (Sensordaten) über die detektierten Ereignisse an eine andere Vorrichtung, ein anderes Modul, ein anderes Teilsystem usw. zu senden. Beispiele für solche Sensoren 2172 beinhalten unter anderem Trägheitsmesseinheiten (IMU), die Beschleunigungsmesser, Gyroskope und/oder Magnetometer umfassen; mikroelektromechanische Systeme (MEMS) oder nano elektromechanische Systeme (NEMS), die 3-Achsen-Beschleunigungsmesser, 3-Achsen-Gyroskope und/oder Magnetometer umfassen; Niveausensoren; Durchflusssensoren; Temperatursensoren (z.B. Thermistoren, die Sensoren zum Messen der Temperatur interner Komponenten und Sensoren zum Messen einer Temperatur außerhalb des Rechenknotens 2150 beinhalten); Drucksensoren; barometrische Drucksensoren; Gravimeter; Höhenmesser, Bildaufnahmevorrichtungen (z.B. Kameras); Lichtdetektions- und Entfernungsmesssensoren (LiDAR-Sensoren); Näherungssensoren (z.B. einen Infrarotstrahlungsdetektor und dergleichen); Tiefensensoren, Umgebungslichtsensoren; optische Lichtsensoren; Ultraschallsendeempfänger; Mikrofone und dergleichen.
  • Die Aktuatoren 2174 ermöglichen es der Plattform 2150, ihren Zustand, ihre Position und/oder ihre Orientierung zu ändern oder einen Mechanismus oder ein System zu bewegen oder zu steuern. Die Aktuatoren 2174 umfassen elektrische und/oder mechanische Vorrichtungen zum Bewegen oder Steuern eines Mechanismus oder Systems und wandeln Energie (z.B. elektrischen Strom oder sich bewegende Luft und/oder Flüssigkeit) in irgendeine Art von Bewegung um. Die Aktuatoren 2174 können eine oder mehrere elektronische (oder elektrochemische) Vorrichtungen beinhalten, wie etwa piezoelektrische Biomorphe, Festkörperaktuatoren, Festkörperrelais (SSRs), Aktuatoren auf Basis einer Formgedächtnislegierung, Aktuatoren auf Basis eines elektroaktiven Polymers, integrierte Relaistreiberschaltungen (ICs) und/oder dergleichen. Die Aktuatoren 2174 können eine oder mehrere elektromechanische Vorrichtungen umfassen, wie etwa pneumatische Aktuatoren, hydraulische Aktuatoren, elektromechanische Schalter einschließlich elektromechanischer Relais (EMRs), Motoren (z.B. DC-Motoren, Schrittmotoren, Servomechanismen usw.), Leistungsschalter, Ventilaktuatoren, Räder, Schubdüsen, Propeller, Klauen, Klemmen, Haken, Generatoren hörbaren Schalls, optische Warnvorrichtungen und/oder andere ähnliche elektromechanische Komponenten. Die Plattform 2150 kann dazu konfiguriert sein, einen oder mehrere Aktoren 2174 basierend auf einem oder mehreren erfassten Ereignissen und/oder Anweisungen oder Steuersignalen, die von einem Dienstanbieter und/oder verschiedenen Client-Systemen empfangen werden, zu betreiben.
  • Die Positionierungsschaltungsanordnung 2175 beinhaltet eine Schaltungsanordnung zum Empfangen und Decodieren von Signalen, die durch ein Positionierungsnetzwerk eines globalen Navigationssatellitensystems (GNSS) übertragen/rundgesendet werden. Beispiele für Navigationssatellitenkonstellationen (oder GNSS) beinhalten das globale Positionierungssystem (GPS) der Vereinigten Staaten, das globale Navigationssystem (GLONASS) Russlands, das Galileo-System der Europäischen Union, das Navigationssatellitensystem BeiDou Chinas, ein regionales Navigationssystem oder GNSS-Erweiterungssystem (z.B. Navigation with Indian Constellation (NAVIC), Quasi-Zenit-Satellite-System (QZSS) Japans, Doppler Orbitography and Radiopositioning Integrated by Satellite (DORIS) Frankreichs usw.) oder dergleichen. Die Positionierungsschaltungsanordnung 2175 umfasst verschiedene Hardwareelemente (z.B. einschließlich Hardwarevorrichtungen, wie etwa Schalter, Filter, Verstärker, Antennenelemente und dergleichen, um OTA-Kommunikationen zu ermöglichen), um mit Komponenten eines Positionierungsnetzwerks, wie etwa Navigationssatellitenkonstellationsknoten, zu kommunizieren. Zusätzlich oder alternativ kann die Positionierungsschaltungsanordnung 2175 eine Micro-PNT- (Mikrotechnologie für Positionierung, Navigation und Timing) IC beinhalten, die einen Master-Timing-Takt verwendet, um eine Positionsverfolgung/-schätzung ohne GNSS-Unterstützung durchzuführen. Die Positionierungsschaltungsanordnung 2175 kann auch Teil der Kommunikationsschaltungsanordnung 2166 sein oder mit dieser interagieren, um mit den Knoten und Komponenten des Positionierungsnetzwerks zu kommunizieren. Die Positionierungsschaltungsanordnung 2175 kann auch Positionsdaten und/oder Zeitdaten an die Anwendungsschaltungsanordnung liefern, die die Daten verwenden kann, um Operationen mit verschiedenen Infrastrukturen (z.B. Funkbasisstationen) zur Navigation mit Routenführung oder dergleichen zu synchronisieren. Wenn kein GNSS-Signal verfügbar ist oder wenn eine GNSS-Positionsgenauigkeit für eine spezielle Anwendung oder einen speziellen Dienst nicht ausreicht, kann eine Positionsbestimmungserweiterungstechnologie verwendet werden, um erweiterte Positionsbestimmungsinformationen und -daten für die Anwendung oder den Dienst bereitzustellen. Eine derartige Positionierungserweiterungstechnologie kann zum Beispiel satellitenbasierte Positionierungserweiterung (z.B. EGNOS) und/oder bodenbasierte Positionierungserweiterung (z.B. DGPS) beinhalten. In einigen Implementierungen ist oder beinhaltet die Positionierungsschaltungsanordnung 2175 ein INS, das ein System oder eine Vorrichtung ist, das/die eine Sensorschaltungsanordnung 2172 (zum Beispiel Bewegungssensoren, wie etwa Beschleunigungsmesser, Rotationssensoren, wie etwa Gyroskope, und Höhenmesser, Magnetsensoren, und/oder dergleichen) verwendet, um (zum Beispiel unter Verwenden von Koppelnavigation, Triangulation oder dergleichen) eine Position, Orientierung und/oder Geschwindigkeit (einschließlich Richtung und Geschwindigkeit der Bewegung) der Plattform 2150 ohne die Notwendigkeit externer Referenzen kontinuierlich zu berechnen.
  • In einigen optionalen Beispielen können verschiedene Eingabe/Ausgabe- (E/A-) Vorrichtungen innerhalb des Rechenknotens 2150 vorhanden oder mit diesem verbunden sein, die in 21 als Eingabeschaltungsanordnung 2186 und Ausgabeschaltungsanordnung 2184 bezeichnet werden. Die Eingabeschaltungsanordnung 2186 und die Ausgabeschaltungsanordnung 2184 beinhalten eine oder mehrere Benutzerschnittstellen, die konfiguriert sind, um eine Benutzerinteraktion mit der Plattform 2150 zu ermöglichen, und/oder Peripheriekomponentenschnittstellen, die konfiguriert sind, um eine Peripheriekomponenteninteraktion mit der Plattform 2150 zu ermöglichen. Die Eingabeschaltungsanordnung 2186 kann ein beliebiges physisches oder virtuelles Mittel zum Annehmen einer Eingabe beinhalten, einschließlich unter anderem einer oder mehrerer physischer oder virtueller Tasten (z.B. einer Rücksetztaste), einer physischen Tastatur, eines Tastenfelds, einer Maus, eines Touchpads, eines Touchscreens, Mikrofonen, eines Scanners, eines Headsets und/oder dergleichen. Die Ausgabeschaltungsanordnung 2184 kann enthalten sein, um Informationen zu zeigen oder anderweitig Informationen zu übermitteln, wie etwa Sensorablesungen, Aktuatorposition(en) oder andere ähnliche Informationen. Daten und/oder Grafiken können auf einer oder mehreren Benutzeroberflächenkomponenten der Ausgabeschaltungsanordnung 2184 angezeigt werden. Die Ausgabeschaltungsanordnung 2184 kann eine beliebige Anzahl und/oder Kombinationen von Audio- oder visueller Anzeige umfassen, einschließlich unter anderem einer oder mehrerer einfacher visueller Ausgaben/Indikatoren (z.B. binäre Statusindikatoren (z.B. Leuchtdioden (LEDs)) und visueller Mehrzeichenausgaben, oder komplexere Ausgaben, wie etwa Anzeigevorrichtungen oder Touchscreens (Flüssigkristallanzeigen (LCD), LED-Anzeigen, Quantenpunktanzeigen, Projektoren usw.) umfassen, wobei die Ausgabe von Zeichen, Grafiken, Multimediaobjekten und dergleichen anhand des Betriebs der Plattform 2150 erzeugt oder erzeugt wird. Die Ausgabeschaltungsanordnung 2184 kann auch Lautsprecher oder andere audioemittierende Vorrichtungen, einen oder mehrere Drucker und/oder dergleichen beinhalten. Zusätzlich oder alternativ kann die Sensorschaltungsanordnung 2172 als die Eingabeschaltungsanordnung 2184 (z.B. eine Bilderfassungsvorrichtung, Bewegungserfassungsvorrichtung oder dergleichen) verwendet werden, und ein oder mehrere Aktoren 2174 können als die Ausgabevorrichtungsschaltungsanordnung 2184 (z.B. ein Aktor zum Bereitstellen einer haptischen Rückmeldung oder dergleichen) verwendet werden. In einem anderen Beispiel kann eine Nahfeldkommunikations- (NFC-) Schaltungsanordnung, die eine NFC-Steuerung umfasst, die mit einem Antennenelement und einer Verarbeitungsvorrichtung gekoppelt ist, enthalten sein, um elektronische Tags zu lesen und/oder eine Verbindung mit einer anderen NFC-fähigen Vorrichtung herzustellen. Peripheriekomponentenschnittstellen können unter anderem einen nichtflüchtigen Speicheranschluss, einen USB-Anschluss, eine Audio-Buchse, eine Stromversorgungsschnittstelle usw. umfassen. Eine Anzeige- oder Konsolenhardware kann im Kontext des vorliegenden Systems verwendet werden, um Ausgaben bereitzustellen und Eingaben eines Edge-Computing-Systems zu empfangen; Komponenten oder Dienste eines Edge-Computing-Systems zu verwalten; einen Zustand einer Edge-Computing-Komponente oder eines Edge-Computing-Dienstes zu identifizieren; oder eine beliebige andere Anzahl von Management- oder Verwaltungsfunktionen oder Dienstanwendungsfällen durchzuführen.
  • Eine Batterie 2176 kann den Rechenknoten 2150 mit Leistung versorgen, obwohl er bei Beispielen, bei denen der Rechenknoten 2150 an einem festen Ort montiert ist, eine Leistungsversorgung aufweisen kann, die mit einem Stromnetz gekoppelt ist, oder die Batterie als Backup oder für temporäre Fähigkeiten verwendet werden kann. Die Batterie 2176 kann eine Lithiumionenbatterie oder eine Metall-Luft-Batterie, wie etwa eine Zink-Luft-Batterie, eine Aluminium-Luft-Batterie, eine Lithium-Luft-Batterie und dergleichen, sein.
  • Eine Batterieüberwachungsgerät/-ladevorrichtung 2178 kann in dem Rechenknoten 2150 enthalten sein, um den Ladezustand (SoCh) der Batterie 2176, falls enthalten, zu verfolgen. Die Batterieüberwachungs-/-ladevorrichtung 2178 kann verwendet werden, um andere Parameter der Batterie 2176 zu überwachen, um Ausfallvorhersagen bereitzustellen, wie etwa den Gesundheitszustand (SoH) und den Funktionszustand (SoF) der Batterie 2176. Die Batterieüberwachungsvorrichtung/Ladevorrichtung 2178 kann eine integrierte Batterieüberwachungsschaltung beinhalten, wie etwa einen LTC4020 oder einen LTC2990 von Linear Technologies, einen ADT7488A von ON Semiconductor in Phoenix, Arizona, oder einen IC der UCD90xxx-Familie von Texas Instruments in Dallas, TX. Die Batterieüberwachungsvorrichtung/Ladevorrichtung 2178 kann die Informationen über die Batterie 2176 über die IX 2156 an den Prozessor 2152 kommunizieren. Die Batterieüberwachungsvorrichtung/-ladevorrichtung 2178 kann auch einen Analog-DigitalWandler (ADC) beinhalten, der es dem Prozessor 2152 ermöglicht, die Spannung der Batterie 2176 oder den Stromfluss von der Batterie 2176 direkt zu überwachen. Die Batterieparameter können verwendet werden, um Aktionen zu bestimmen, die der Rechenknoten 2150 durchführen kann, wie etwa Übertragungsfrequenz, Mesh-Netzwerkoperation, Erfassungsfrequenz und dergleichen.
  • Ein Leistungsblock 2180 oder eine andere Leistungsversorgung, die an ein Stromnetz gekoppelt ist, kann mit der Batterieüberwachungs-/-ladevorrichtung 2178 gekoppelt werden, um die Batterie 2176 zu laden. In einigen Beispielen kann der Leistungsblock 2180 durch einen Drahtlosleistungsempfänger ersetzt werden, um die Leistung drahtlos, zum Beispiel über eine Schleifenantenne in dem Rechenknoten 2150, zu erhalten. Eine Drahtlosbatterieladeschaltung, wie unter anderem ein LTC4020-Chip von Linear Technologies aus Milpitas, Kalifornien, kann in der Batterieüberwachungs-/-ladevorrichtung 2178 enthalten sein. Die spezifischen Ladeschaltungen können basierend auf der Größe der Batterie 2176 und somit dem erforderlichen Strom ausgewählt werden. Das Laden kann unter anderem durch Verwenden des durch die AirFuel Alliance veröffentlichten AirFuel-Standards, des durch das Wireless Power Consortium veröffentlichten Qi-Drahtlosladestandards oder des durch die Alliance for Wireless Power veröffentlichten Rezence-Ladestandards ausgeführt werden.
  • Die Speicherung 2158 kann Anweisungen 2183 in Form von Software-, Firmware- oder Hardwarebefehlen enthalten, um die vorliegend beschriebenen Methoden zu implementieren. Wenngleich solche Anweisungen 2182, 2183 als Codeblöcke gezeigt sind, die in dem Speicher 2154 und der Speicherung 2158 enthalten sind, können beliebige der Codeblöcke 2182, 2183 durch festverdrahtete Schaltungen ersetzt werden, die zum Beispiel in eine anwendungsspezifische integrierte Schaltung (ASIC) eingebaut oder in ein FPGA programmiert werden oder dergleichen.
  • Bei einem Beispiel können die Anweisungen 2181, 2182, 2183, die über den Speicher 2154, die Speicherung 2158 oder den Prozessor 2152 bereitgestellt werden, als ein nichtflüchtiges maschinenlesbares Medium (NTMRM) 2160 umgesetzt sein, das Code beinhaltet, um den Prozessor 2152 anzuweisen, elektronische Operationen in dem Rechenknoten 2150 durchzuführen. Der Prozessor 2152 kann über das IX 2156 auf das NTMRM 2160 zugreifen. Beispielsweise kann das NTMRM 2160 durch Vorrichtungen umgesetzt werden, die für die Speicherung 2158 beschrieben sind, oder kann spezifische Speicherungseinheiten beinhalten, wie etwa Speicherungsvorrichtungen und/oder Speicherungsplatten, die optische Platten (z.B. Digital Versatile Disk (DVD), Compact Disk (CD), CD-ROM, Blu-Ray-Disk), Flash-Laufwerke, Disketten, Festplatten (z.B. SSDs) oder eine beliebige Anzahl anderer Hardwarevorrichtungen beinhalten, in denen Informationen für eine beliebige Dauer (z.B. für längere Zeiträume, permanent, für kurze Fälle, zum temporären Puffern und/oder Caching) gespeichert sind. Das NTMRM 2160 kann Anweisungen beinhalten, um den Prozessor 2152 anzuweisen, eine spezifische Sequenz oder einen spezifischen Fluss von Aktionen durchzuführen, wie zum Beispiel mit Bezug auf das (die) Flussdiagramm(e) und Blockdiagramm(e) von Operationen und Funktionalität, die oben dargestellt sind, beschrieben. Wie hierin verwendet, sind die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ austauschbar. Wie hier verwendet, ist der Begriff nichttransientes/nichttransitorisches computerlesbares Medium ausdrücklich definiert, alle Typen von computerlesbarer Speichervorrichtung und/oder Speicherplatte zu beinhalten und sich ausbreitende Signale auszuschließen und Übertragungsmedien auszuschließen.
  • Computerprogrammcode zum Ausführen von Operationen der vorliegenden Offenbarung (z.B. Rechenlogik und/oder Anweisungen 2181, 2182, 2183) kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, die Folgendes beinhalten: eine objektorientierte Programmiersprache, wie etwa Python, Ruby, Scala, Smalltalk, Java™, C++, C# oder dergleichen; eine prozedurale Programmiersprache, wie etwa die Programmiersprache „C“, die Programmiersprache Go (oder „Golang“) oder dergleichen; eine Skriptsprache, wie etwa JavaScript, Server-Side JavaScript (SSJS), JQuery, PHP, Pearl, Python, Ruby on Rails, Accelerated Mobile Pages Script (AMPskript), Mustache Template Language, Handlebar Template Language, Guide Template Language (GTL), PHP, Java und/oder Java Server Pages (JSP), Node.js, ASP.NET, JAMskript und/oder dergleichen; eine Markup-Sprache, wie etwa Hypertext Markup Language (HTML), Extensible Markup Language (XML), Java Script Object Notion (JSON), Apex®, Cascading Stylesheets (CSS), JavaServer Pages (JSP), MessagePack™, Apache® Thrift, Abstract Syntax Notation One (ASN. 1), Google® Protocol Buffers (protobuf) oder dergleichen; manche andere geeignete Programmiersprachen, einschließlich proprietärer Programmiersprachen und/oder Entwicklungswerkzeuge, oder beliebige andere Sprachwerkzeuge. Der Computerprogrammcode 2181, 2182, 2183 zum Ausführen von Operationen der vorliegenden Offenbarung kann auch in einer beliebigen Kombination der hier besprochenen Programmiersprachen geschrieben werden. Der Programmcode kann vollständig auf dem System 2150, teilweise auf dem System 2150, als ein eigenständiges Softwarepaket, teilweise auf dem System 2150 und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Szenario kann der ferne Computer über eine beliebige Art von Netzwerk, einschließlich eines LAN oder WAN, mit dem System 2150 verbunden sein, oder die Verbindung kann mit einem externen Computer (z.B. über das Internet unter Verwendung eines Internetdienstanbieters) hergestellt werden.
  • In einem Beispiel können die Anweisungen 2181, 2182, 2183 auf der Prozessorschaltungsanordnung 2152 (separat oder in Kombination mit den Anweisungen 2181, 2182, 2183) die Ausführung oder Operation einer vertrauenswürdigen Ausführungsumgebung (TEE) 2190 konfigurieren. Die TEE 2190 arbeitet als ein geschützter Bereich, der für die Prozessorschaltungsanordnung 2102 zugänglich ist, um einen sicheren Zugriff auf Daten und eine sichere Ausführung von Anweisungen zu ermöglichen. In einigen Ausführungsformen kann die TEE 2190 eine physische Hardwarevorrichtung sein, die von anderen Komponenten des Systems 2150 getrennt ist, wie eine sicher eingebettete Steuerung, ein dediziertes SoC oder ein manipulationssicherer Chipsatz oder Mikrocontroller mit eingebetteten Verarbeitungsvorrichtungen und Speichervorrichtungen. Beispiele für solche Ausführungsformen beinhalten Desktop-and-mobile-Architecture-Hardware(DASH)-konforme Netzwerkschnittstellenkarte (NIC), Intel® Management/Manageability Engine, Intel® Converged Security Engine (CSE) oder Converged Security Management/Manageability Engine (CSME), Trusted Execution Engine (TXE), bereitgestellt von Intel®, welche jeweils zusammen mit Intel® Active Management Technology (AMT) und/oder Intel® vPro™ Technology betrieben werden können; AMD® Platform Security coProcessor (PSP), AMD® PRO A-Series Accelerated Processing Unit (APU) mit DASH-Verwaltbarkeit, Apple® Secure Enclave-Coprozessor; IBM® Crypto Express3®, IBM® 4807, 4808, 4809 und/oder 4765 Cryptographic Coprocessors, IBM® Baseboard Management Controller (BMC) mit Intelligent Platform Management Interface (IPMI), Dell™ Remote Assistant Card II (DRAC II), integrated Dell™ Remote Assistant Card (iDRAC) und dergleichen.
  • Zusätzlich oder alternativ kann die TEE 2190 als sichere Enklaven implementiert sein, die isolierte Code- und/oder Datengebiete innerhalb des Prozessors und/oder der Speicher-/Speicherungsschaltungsanordnung des Systems 2150 sind. Nur Code, der innerhalb einer sicheren Enklave ausgeführt wird, kann auf Daten innerhalb derselben sicheren Enklave zugreifen, und die sichere Enklave kann nur unter Verwendung der sicheren Anwendung zugänglich sein (die durch einen Anwendungsprozessor oder einen manipulationssicheren Mikrocontroller implementiert werden kann). Verschiedene Implementierungen der TEE 2190 und eines begleitenden sicheren Bereichs in der Prozessorschaltungsanordnung 2152 oder der Speicherschaltungsanordnung 2154 und/oder der Speicherschaltungsanordnung 2158 können beispielsweise durch Verwendung von Intel® Software Guard Extensions (SGX), ARM®-TrustZone®-Hardwaresicherheitserweiterungen, Keystone Enclaves, die durch Oasis Labs™ bereitgestellt werden, und/oder dergleichen bereitgestellt werden. Andere Aspekte von Sicherheitshärtung, Hardware-Vertrauenswurzeln und vertrauenswürdigen oder geschützten Operationen können in der Vorrichtung 2100 durch die TEE 2190 und die Prozessorschaltungsanordnung 2152 implementiert werden. Zusätzlich oder alternativ können die Speicherschaltungsanordnung 2154 und/oder die Speicherschaltungsanordnung 2158 in isolierte Benutzerrauminstanzen, wie etwa Container, Partitionen, virtuelle Umgebungen (VEs) usw., unterteilt werden. Die isolierten Benutzerrauminstanzen können unter Verwendung einer geeigneten Virtualisierungstechnologie auf OS-Ebene implementiert werden, wie etwa Docker®-Container, Kubernetes®-Container, Solaris®-Container und/oder -Zonen, virtuelle OpenVZ®-Privatserver, virtuelle DragonFly-BSD®-Kernels und/oder -Jails, Chroot-Jacils und/oder dergleichen. Bei manchen Implementierungen könnten auch virtuelle Maschinen verwendet werden. In einigen Ausführungsformen können die Speicherungsschaltungsanordnung 2104 und/oder die Speicherungsschaltungsanordnung 2108 in eine oder mehrere vertrauenswürdige Speicherregionen zum Speichern von Anwendungen oder Softwaremodulen der TEE 2190 unterteilt sein.
  • In weiteren Beispielen beinhaltet ein maschinenlesbares Medium ein beliebiges greifbares Medium, das dazu in der Lage ist, Anweisungen zur Ausführung durch eine Maschine zu speichern, zu codieren oder zu tragen, welche bewirken, dass die Maschine eine oder mehrere der Methodologien der vorliegenden Offenbarung durchführt, oder das dazu in der Lage ist, Datenstrukturen, die durch solche Anweisungen genutzte oder mit diesen assoziiert sind, zu speichern, zu codieren oder zu tragen. Ein „maschinenlesbares Medium“ kann dementsprechend unter anderem Festkörperspeicher und optische und magnetische Medien beinhalten. Spezifische Beispiele maschinenlesbarer Medien beinhalten nichtflüchtigen Speicher, einschließlich unter anderem beispielsweise von Halbleiter-Speichervorrichtungen (z.B. elektrisch programmierbarer schreibgeschützter Speicher (EPROM), elektrisch löschbarer programmierbarer schreibgeschützter Speicher (EEPROM)) und Flashspeichervorrichtungen; Magnetplatten, wie z.B. interne Festplatten und Wechselplatten; magneto-optischen Platten; und CD-ROM- und DVD-ROM-Platten. Die durch ein maschinenlesbares Medium verkörperten Anweisungen können ferner über ein Kommunikationsnetzwerk unter Verwendung eines Übertragungsmediums über eine Netzwerkschnittstelleneinrichtung übertragen oder empfangen werden, die ein beliebiges einer Anzahl von Übertragungsprotokollen (z.B. HTTP) nutzt.
  • Ein maschinenlesbares Medium kann durch eine Speicherungsvorrichtung oder eine andere Einrichtung bereitgestellt werden, die geeignet ist, Daten in einem nichttransienten Format zu hosten. In einem Beispiel können auf einem maschinenlesbaren Medium gespeicherte oder anderweitig bereitgestellte Informationen Anweisungen repräsentieren, wie etwa Anweisungen selbst oder ein Format, aus dem die Anweisungen abgeleitet werden können. Dieses Format, aus dem die Anweisungen abgeleitet werden können, kann Quellcode, codierte Anweisungen (z.B. in komprimierter oder verschlüsselter Form), verpackte Anweisungen (z.B. in mehrere Pakete aufgeteilt) oder dergleichen beinhalten. Die Informationen, die Anweisungen in dem maschinenlesbaren Medium repräsentieren, können durch eine Verarbeitungsschaltungsanordnung zu den Anweisungen verarbeitet werden, um beliebige der vorliegend besprochenen Operationen zu implementieren. Zum Beispiel kann das Ableiten der Anweisungen aus den Informationen (z.B. Verarbeiten durch die Verarbeitungsschaltungsanordnung) Folgendes beinhalten: Kompilieren (z.B. aus Quellcode, Objektcode usw.), Interpretieren, Laden, Organisieren (z.B. dynamisches oder statisches Linken), Codieren, Decodieren, Verschlüsseln, Entschlüsseln, Verpacken, Entpacken oder anderweitiges Manipulieren der Informationen in die Anweisungen.
  • In einem Beispiel kann das Ableiten der Anweisungen Assemblieren, Kompilieren oder Interpretieren der Informationen (z.B. durch die Verarbeitungsschaltungsanordnung) beinhalten, um die Anweisungen aus irgendeinem Zwischenformat oder irgendeinem vorverarbeiteten Format zu erzeugen, das durch das maschinenlesbare Medium bereitgestellt wird. Die Informationen können, wenn sie in mehreren Teilen bereitgestellt werden, kombiniert, entpackt und modifiziert werden, um die Anweisungen zu erzeugen. Zum Beispiel können sich die Informationen in mehreren komprimierten Quellcodepaketen (oder Objektcode oder binärer ausführbarer Code usw.) auf einem oder mehreren entfernten Servern befinden. Die Quellcodepakete können verschlüsselt sein, wenn sie über ein Netzwerk übertragen werden, und können an einer lokalen Maschine falls notwendig entschlüsselt, dekomprimiert, zusammengesetzt (z.B. verknüpft) und kompiliert oder interpretiert (z.B. in eine Bibliothek, alleinstehende ausführbare Datei usw.) werden und durch die lokale Maschine ausgeführt werden.
  • 21 stellt eine Ansicht auf hoher Ebene von Komponenten einer variierenden Vorrichtung, eines variierenden Subsystems oder einer variierenden Anordnung eines Rechenknotens dar. Jedoch können einige der gezeigten Komponenten weggelassen werden, können zusätzliche Komponenten vorhanden sein und kann eine andere Anordnung der gezeigten Komponenten bei anderen Implementierungen auftreten. Ferner sind diese Anordnungen in einer Vielzahl von Anwendungsfällen und Umgebungen verwendbar, einschließlich jener, die hierin erörtert werden (z.B. ein mobiles UE in industriellen Rechenanwendungen für intelligente Städte oder Fabriken, neben vielen anderen Beispielen).
  • Der Rechenknoten 2150 kann als Benutzer-/Client-Vorrichtungen, Server, Geräte, Netzwerkinfrastruktur, Maschinen, Roboter, Drohnen, Edge-Vorrichtungen, Internet-der-Dinge-(IoT-) Vorrichtungen und/oder eine beliebige andere Art von Rechenvorrichtung, wie etwa die vorliegend erörterten, implementiert sein. Zum Beispiel kann der Rechenknoten 2150 eine eigenständige elektronische Vorrichtung sein, die ein Gehäuse, ein Gestell, einen Behälter oder eine Hülle beinhaltet. Unter Umständen kann das Gehäuse für Portabilität dimensioniert sein, sodass sie von einem Menschen getragen und/oder versandt werden kann. Alternativ kann es zum Beispiel ein kleineres Modul sein, das zum Installation in einem Fahrzeug geeignet ist. Beispielhafte Gehäuse können Materialien beinhalten, die eine oder mehrere Außenflächen bilden, die Inhalte des Geräts teilweise oder vollständig schützen, wobei der Schutz Wetterschutz, Schutz in gefährlichen Umgebungen (z.B. EMI, Vibration, extreme Temperaturen) beinhalten kann und/oder Eintauchbarkeit ermöglichen kann. Beispielhafte Gehäuse können Leistungsschaltungsanordnungen beinhalten, um Leistung für stationäre und/oder transportierbare Implementierungen bereitzustellen, wie etwa Wechselstromleistungseingänge, Gleichstromleistungseingänge, AC/DC- oder DC/AC-Wandler, Leistungsregler, Transformatoren, Ladeschaltungsanordnungen, Batterien, drahtgebundene Eingänge und/oder drahtlose Leistungseingänge. Kleinere modulare Implementierungen können auch eine erweiterbare oder eingebettete Antennenanordnung zur drahtlosen Kommunikation beinhalten. Beispielhafte Gehäuse und/oder Oberflächen davon können Montagehardware beinhalten oder mit dieser verbunden sein, um eine Befestigung an Strukturen, wie etwa Gebäuden, Telekommunikationsstrukturen (z.B. Masten, Antennenstrukturen usw.) und/oder Racks (z.B. Server-Racks, Bladebefestigungen usw.), zu ermöglichen. Beispielhafte Gehäuse und/oder Oberflächen davon können einen oder mehrere Sensoren (z.B. Temperatursensoren, Vibrationssensoren, Lichtsensoren, Akustiksensoren, Kapazitive Sensoren, Näherungssensoren usw.) tragen. Ein oder mehrere derartige Sensoren können in der Oberfläche enthalten, von dieser getragen oder anderswie eingebettet und/oder an der Oberfläche des Geräts montiert sein. Beispielhafte Gehäuse und/oder Oberflächen davon können mechanische Konnektivität unterstützen, wie etwa Antriebshardware (z.B. Räder, Propeller usw.) und/oder Gelenkhardware (z.B. Roboterarme, schwenkbare Glieder usw.). Unter Umständen können die Sensoren eine beliebige Art von Eingabevorrichtungen beinhalten, wie etwa Benutzerschnittstellenhardware (z.B. Tasten, Schalter, Wählscheiben, Schieber usw.). Unter Umständen beinhalten beispielhafte Gehäuse Ausgabeeinrichtungen, die in diesen enthalten, durch diese getragen, in diese eingebettet und/oder an diesen angebracht sind. Ausgabevorrichtungen können Anzeigen, Touchscreens, Leuchten, LEDs, Lautsprecher, E/A-Anschlüsse (z.B. USB) usw. beinhalten. Unter Umständen ist der Rechenknoten 2150 im Netzwerk für einen spezifischen Zweck (z.B. eine Verkehrsampel) vorhanden, kann aber Verarbeitungs- und/oder andere Kapazitäten aufweisen, die für andere Zwecke genutzt werden können. Zusätzlich oder alternativ kann der Rechenknoten 2150 unabhängig von anderen vernetzten Vorrichtungen sein und kann mit einem Gehäuse versehen sein, das einen Formfaktor aufweist, der für seinen primären Zweck geeignet ist; aber er kann dennoch für andere Rechenaufgaben verfügbar sein, die seine primäre Aufgabe nicht stören. Zusätzlich oder alternativ kann die Geräterechenvorrichtung Hardware- und Softwarekomponenten beinhalten, um lokale Probleme, wie etwa Vorrichtungstemperatur, Vibration, Ressourcennutzung, Aktualisierungen, Stromprobleme, physische und Netzwerksicherheit usw. zu verwalten. Zusätzlich oder alternativ kann der Rechenknoten 2150 als ein oder mehrere Server und/oder ein oder mehrere Server mit mehreren Mandanten implementiert sein. Ein solcher Server kann ein Betriebssystem enthalten und eine virtuelle Rechenumgebung implementieren. Eine virtuelle Datenverarbeitungsumgebung kann einen Hypervisor beinhalten, der eine oder mehrere virtuelle Maschinen, einen oder mehrere Container usw. verwaltet (z.B. Erzeugen, Einsetzen, Zerstören usw.). Solche virtuellen Datenverarbeitungsumgebungen stellen eine Ausführungsumgebung bereit, in der eine oder mehrere Anwendungen und/oder andere Software, Code oder Skripte ausgeführt werden können, während sie von einer oder mehreren anderen Anwendungen, Software, Code oder Skripten isoliert sind.
  • 22 veranschaulicht eine beispielhafte Software- (SW-) Verteilungsplattform (SDP) 2205 zum Verteilen von Software 2260, wie etwa der beispielhaften computerlesbaren Anweisungen 2181, 2182, 2183 aus 21, an eine oder mehrere Vorrichtungen, wie etwa beispielhafte Prozessorplattform(en) (pp) 2200, verbundene Edge-Vorrichtungen 2162 (siehe z.B. 21) und/oder beliebige der anderen vorliegend erörterten Rechensysteme/-vorrichtungen. Die SDP 2205 (oder Komponenten davon) kann durch einen beliebigen Computerserver, eine beliebige Datenanlage, einen beliebigen Cloud-Dienst, ein beliebiges CDN, ein beliebiges Edge-Computing-Framework usw. implementiert werden, der/die/das dazu in der Lage ist, Software (z.B. Code, Skripte, ausführbare Binärdateien, Container, Pakete, komprimierte Dateien und/oder Ableitungen davon) zu speichern und an andere Rechenvorrichtungen (z.B. Drittparteien, die beispielhaften verbundene Edge-Vorrichtungen 2162 aus 11) zu übertragen. Die SDP 2205 (oder Komponenten davon) kann sich in einer Cloud (z.B. Datenzentrum usw.), einem lokalen Netzwerk, einem Edge-Netzwerk, einem Weitverkehrsnetzwerk, im Internet und/oder einem beliebigen anderen Ort befinden, der kommunikativ mit der pp 2200 gekoppelt ist.
  • Die pp 2200 und/oder die verbundenen Edge-Vorrichtungen 2162, die mit den Edge-Vorrichtungen 2162 verbunden sind, können Kunden, Clients, Verwaltungsvorrichtungen (z.B. Server), Drittparteien (z.B. Kunden einer Entität, die die SDP 2205 besitzt und/oder betreibt), IoT-Vorrichtungen und dergleichen beinhalten. Die pp 2200/verbundenen Edge-Vorrichtungen 2162 können in kommerziellen und/oder Heimautomatisierungsumgebungen arbeiten. In einigen Beispielen ist eine Drittpartei ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber von Software, wie etwa der beispielhaften computerlesbaren Medien 2181, 2182, 2183 aus 21. Die Drittparteien können Verbraucher, Benutzer, Einzelhändler, OEMs usw. sein, die die Software zur Verwendung und/oder zum Wiederverkaufen und/oder Sublizenzieren kaufen und/oder lizenzieren. In einigen Beispielen bewirkt verteilte Software, dass eine Anzeige einer oder mehrerer Benutzeroberflächen (UIs) und/oder grafischer Benutzeroberflächen (GUIs) die eine oder die mehreren Vorrichtungen (z.B. verbundene Edge-Vorrichtungen) identifiziert, die geographisch und/oder logisch voneinander getrennt sind (z.B. physisch getrennte IoT-Vorrichtungen, denen die Verantwortung von Wasserverteilungssteuerung (z.B. Pumpen), Stromverteilungssteuerung (z.B. Relais) usw. erteilt ist). In einigen Beispielen können sich die pp 2200/verbundenen Edge-Vorrichtungen 2162 physisch an unterschiedlichen geografischen Orten, gesetzlichen Zuständigkeiten usw. befinden.
  • In 22 beinhaltet die SDP 2205 einen oder mehrere Server (als „Server 2205“ bezeichnet) und eine oder mehrere Speicherungsvorrichtungen (als „Speicherung 2205“ bezeichnet). Die Speicherung 2205 speichert die computerlesbaren Anweisungen 2260, die den Anweisungen 2181, 2182,2183 aus 21 entsprechen können. Die Server 2205 stehen in Kommunikation mit einem Netzwerk 2210, das einem beliebigen oder mehreren beliebigen des Internets und/oder beliebigen der beispielhaften Netzwerke, wie hier beschrieben, entsprechen kann. Die Server 2205 reagieren auf Anforderungen, die Software als Teil einer kommerziellen Transaktion an eine anfordernde Partei zu übertragen. Die Zahlung für die Lieferung, den Verkauf und/oder die Lizenz der Software kann durch die Server 2205 und/oder über eine Drittparteizahlungsentität abgewickelt werden. Die Server 2205 ermöglichen Käufern und/oder Lizenzgebern, die computerlesbaren Anweisungen 2260 von der SDP 2205 herunterzuladen.
  • Die Server 2205 sind kommunikativ mit einer oder mehreren Sicherheitsdomänen und/oder Sicherheitsvorrichtungen verbunden, durch die Anfragen und Übertragungen der beispielhaften computerlesbaren Anweisungen 2260 passieren müssen. Zusätzlich oder alternativ bieten die Server 2205 periodisch Updates an, übertragen und/oder erzwingen diese an bzw. für die Software 2260, um sicherzustellen, dass Verbesserungen, Patches, Updates usw. verteilt und auf die Software an den Endbenutzervorrichtungen angewandt werden. Die computerlesbaren Anweisungen 2260 werden auf der Speicherung 2205 in einem speziellen Format gespeichert. Ein Format computerlesbarer Anweisungen beinhaltet unter anderem eine spezielle Codesprache (z.B. Java, JavaScript, Python, C, C#, SQL, HTMI, usw.) und/oder einen speziellen Codezustand (z.B. unkompilierter Code (z.B. ASCII), interpretierter Code, verknüpfter Code, ausführbarer Code (z.B. Binär) usw.) und/oder ein beliebiges anderes Format, wie etwa jene hier erörterten. In einigen Beispielen befinden sich die computerlesbaren Anweisungen 2260, die in der SDP 2205 gespeichert sind, in einem ersten Format, wenn sie an die pp 2200 übertragen werden. Zusätzlich oder alternativ ist das erste Format ein ausführbares Binärformat, wobei bestimmte Typen durch die pp 2200 ausgeführt werden können. Zusätzlich oder alternativ ist das erste Format unkompilierter Code, der eine oder mehrere Vorbereitungsaufgaben erfordert, um das erste Format in ein zweites Format umzuwandeln, um eine Ausführung auf der pp 2200 zu ermöglichen. Zum Beispiel muss die empfangende pp 2200 möglicherweise die computerlesbaren Anweisungen 2260 in dem ersten Format kompilieren, um ausführbaren Code in einem zweiten Format zu erzeugen, der dazu in der Lage ist, auf der pp 2200 ausgeführt zu werden. Zusätzlich oder alternativ ist das erste Format interpretierter Code, der beim Erreichen der pp 2200 durch einen Interpreter interpretiert wird, um die Ausführung von Anweisungen zu ermöglichen. Zusätzlich oder alternativ können unterschiedliche Komponenten der computerlesbaren Anweisungen 2182 von unterschiedlichen Quellen und/oder an unterschiedliche Prozessorplattformen verteilt werden; zum Beispiel können unterschiedliche Bibliotheken, Plug-ins, Komponenten und andere Arten von Rechenmodulen, ob kompiliert oder interpretiert, von unterschiedlichen Quellen und/oder an unterschiedliche Prozessorplattformen verteilt werden. Zum Beispiel kann ein Teil der Softwareanweisungen (z.B. ein Skript, das an sich nicht ausführbar ist) von einer ersten Quelle verteilt werden, während ein Interpreter (der dazu in der Lage ist, das Skript auszuführen) von einer zweiten Quelle verteilt werden kann.
  • 5. BEISPIELHAFTE IMPLEMENTIERUNGEN
  • Zusätzliche Beispiele für die vorliegend beschriebenen Systeme, Vorrichtungen und Verfahren umfassen die folgenden, nicht einschränkenden Implementierungsbeispiele. Jedes der folgenden nicht einschränkenden Beispiele kann für sich allein stehen oder kann in einer beliebigen Permutation oder Kombination mit einem oder mehreren der anderen Beispiele, die unten oder in der gesamten vorliegenden Offenbarung bereitgestellt werden, kombiniert werden.
  • Beispiel A01 beinhaltet ein Verfahren zur Mehrwarteschlangenverwaltung, umfassend: Unterhalten eines Ringpuffers in einem Speicherbereich mit einer festen Größe, wobei der Ringpuffer eine Vielzahl von Slots umfasst und jedem Slot ein Slot-Index einer Vielzahl von Slot-Indizes zugewiesen wird; Unterhalten eines Satzes virtueller Warteschlangen, wobei jede virtuelle Warteschlange des Satzes virtueller Warteschlangen einer Instanz eines Satzes von Instanzen und einem Link eines Satzes von Links zugeteilt wird; Speichern eines zu verarbeitenden Pakets in einem betreffenden Slot der Vielzahl von Slots, wobei das Paket einer betreffenden Instanz des Satzes von Instanzen und einem betreffenden Link des Satzes von Links zugewiesen wird, und dem betreffenden Slot ein betreffender Slot-Index der Vielzahl von Slot-Indizes zugewiesen wird; Speichern des betreffenden Slot-Index in einer betreffenden virtuellen Warteschlange des Satzes von Warteschlangen, wobei die betreffende virtuelle Warteschlange der betreffenden Instanz und dem betreffenden Link zugeteilt wird; und Erhalten des gespeicherten Pakets aus dem betreffenden Slot unter Verwendung des betreffenden Slot-Index, wenn das Paket für Verarbeitung geplant ist.
  • Beispiel A02 beinhaltet das Verfahren nach Beispiel A01, wobei das Verarbeiten des gespeicherten Pakets Übermitteln des gespeicherten Pakets über den betreffenden Link umfasst.
  • Beispiel A03 beinhaltet das Verfahren nach Beispiel A02, ferner umfassend: Senden des erhaltenen Pakets über den betreffenden Link.
  • Beispiel A04 beinhaltet das Verfahren der Beispiele A01 bis A03, wobei das Speichern des zu verarbeitenden Pakets in dem betreffenden Slot umfasst: Durchführen einer Push-Funktion, um das Paket in den betreffenden Slot zu schieben.
  • Beispiel A05 beinhaltet das Verfahren nach Beispiel A04, wobei das Durchführen der Push-Funktion umfasst: Bestimmen eines unbelegten Slots der Vielzahl von Slots als betreffenden Slot basierend auf einem Schreibindex.
  • Beispiel A06 beinhaltet das Verfahren nach Beispiel A05, wobei das Durchführen der Push-Funktion ferner umfasst: Inkrementieren eines Warteschlangengrößenzählers nach dem Schieben des Pakets in den betreffenden Slot, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist.
  • Beispiel A07 beinhaltet das Verfahren nach Beispiel A06, wobei jedem Slot ferner ein Elementzählungsparameterzugewiesen wird und das Durchführen der Push-Funktion ferner umfasst: Aktualisieren eines Elementzählungsparameters des betreffenden Slots basierend auf einer Gesamtanzahl virtueller Warteschlangen der Vielzahl virtueller Warteschlangen, die den betreffenden Slot-Index speichern.
  • Beispiel A08 beinhaltet das Verfahren nach Beispiel A07, wobei das Durchführen der Push-Funktion ferner umfasst: Aktualisieren des Schreibindex nach dem Schieben des Pakets in den betreffenden Slot derart, dass der Schreibindex auf einen unbelegten Slot der Vielzahl von Slots verweist.
  • Beispiel A09 beinhaltet das Verfahren nach Beispiel A08, wobei das Aktualisieren des Schreibindex umfasst: Inkrementieren des Schreibindex.
  • Beispiel A10 beinhaltet das Verfahren nach Beispiel A08, wobei das Aktualisieren des Schreibindex umfasst: Einstellen des Schreibindex auf einen Modul eines Inkrements des Schreibindex und einer Gesamtanzahl an Slots der Vielzahl von Slots.
  • Beispiel A11 beinhaltet das Verfahren nach Beispiel A09, wobei das Aktualisieren des Schreibindex ferner umfasst: Aktualisieren des Schreibindex, wenn der Elementzählungsparameter des betreffenden Slots größer als null ist.
  • Beispiel A12 beinhaltet das Verfahren der Beispiele A05 bis A11, wobei das Durchführen der Push-Funktion ferner umfasst: Einfügen des betreffenden Slot-Index in die betreffende virtuelle Warteschlange nach dem Speichern des Pakets in dem betreffenden Slot.
  • Beispiel A13 beinhaltet das Verfahren der Beispiele A01 bis A12, wobei das Erhalten des gespeicherten Pakets aus dem betreffenden Slot umfasst: Durchführen einer Pop-Funktion, um das Paket aus dem betreffenden Slot zu entfernen.
  • Beispiel A14 beinhaltet das Verfahren nach Beispiel A13, wobei das Durchführen der Pop-Funktion umfasst: Identifizieren oder Erhalten des betreffenden Slot-Index aus der virtuellen Warteschlange; und Erhalten des Pakets aus dem betreffenden Slot unter Verwendung des betreffenden Slot-Index.
  • Beispiel A15 beinhaltet das Verfahren der Beispiele A13 bis A14, wobei das Durchführen der Pop-Funktion ferner umfasst: Entfernen oder Löschen des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange nach dem Identifizieren oder Erhalten des betreffenden Slot-Index.
  • Beispiel A16 beinhaltet das Verfahren nach Beispiel A15, wobei jedem Slot ferner ein Elementzählungsparameterzugewiesen wird und das Durchführen der Pop-Funktion ferner umfasst: Aktualisieren des Elementzählungsparameters der betreffenden virtuellen Warteschlange nach dem Entfernen oder Löschen des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange.
  • Beispiel A17 beinhaltet das Verfahren nach Beispiel A16, wobei das Aktualisieren des Elementzählungsparameters der betreffenden virtuellen Warteschlange umfasst: Dekrementieren des Elementzählungsparameters der betreffenden virtuellen Warteschlange.
  • Beispiel A18 beinhaltet das Verfahren der Beispiele A16 bis A17, wobei das Durchführen der Pop-Funktion ferner umfasst: Dekrementieren eines Warteschlangengrößenzählers nach dem Entnehmen (Popping) des Pakets aus dem betreffenden Slot, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist.
  • Beispiel A19 beinhaltet das Verfahren der Beispiele A01 bis A18, ferner umfassend: wenn alle Slots der Vielzahl von Slots belegt sind, Verwerfen eines oder mehrerer Slot-Indizes aus einer oder mehreren virtuellen Warteschlangen gemäß einer Verwurfsrichtlinie.
  • Beispiel A20 beinhaltet das Verfahren der Beispiele A01 bis A19, wobei einzelne virtuelle Warteschlangen des Satzes virtueller Warteschlangen in dem Ringpuffer derart gespeichert werden, dass jedes Element in den einzelnen virtuellen Warteschlangen einem Slot der Vielzahl von Slots entspricht.
  • Beispiel A21 beinhaltet das Verfahren der Beispiele A01 bis A19, wobei der Satz virtueller Warteschlangen getrennt von dem Ringpuffer unterhalten wird.
  • Beispiel A22 beinhaltet das Verfahren der Beispiele A01 bis A21, wobei jede Instanz des Satzes von Instanzen ein Thread, ein Prozess, ein Objekt, eine Datenbankentität, ein Benutzer, eine Anwendungsinstanz, eine Sitzung, ein Dienst, ein Kommunikationslink oder eine Vorrichtung ist.
  • Beispiel A23 beinhaltet das Verfahren der Beispiele A01 bis A22, wobei jeder Link des Satzes von Links eine Funkzugangstechnologie (RAT), ein drahtgebundener Kommunikationslink, ein drahtloser Kommunikationslink, ein Kommunikationspfad, der zwei oder mehr Kommunikationslinks beinhaltet, ein Interconnect zwischen zwei oder mehr Hardwareelementen; eine Anwendungssitzung, eine Netzwerksitzung oder ein Dienst ist.
  • Beispiel A24a beinhaltet ein Verfahren für Mehrwarteschlangenverwaltung, umfassend: Speichern zu verarbeitender Pakete in jeweiligen Slots einer Vielzahl von Slots, wobei die Vielzahl von Slots einen Ringpuffer bildet, der in einem Speicherbereich mit einer festen Größe implementiert ist, und der Vielzahl von Slots jeweilige Slot-Indizes einer Vielzahl von Slot-Indizes zugewiesen werden und die jeweiligen Slot-Indizes auf einen Speicherort eines entsprechenden Slots der Vielzahl von Slots verweisen; Speichern eines oder mehrerer Slot-Indizes in jeweiligen virtuellen Warteschlangen einer Vielzahl virtueller Warteschlangen, wobei die jeweiligen virtuellen Warteschlangen einer entsprechenden Instanz und einem entsprechenden Link zugeteilt werden und der eine oder die mehreren Slot-Indizes, die in jeweiligen virtuellen Warteschlangen gespeichert sind, gespeicherten Paketen entsprechen, die mit der entsprechenden Instanz assoziiert sind, die über den entsprechenden Link übermittelt werden soll; und wenn die gespeicherten Pakete zur Übermittlung über den entsprechenden Link geplant sind, Erhalten der gespeicherten Pakete, die mit der entsprechenden Instanz assoziiert sind, unter Verwendung des einen oder der mehreren Slot-Indizes.
  • Beispiel A24b beinhaltet ein Verfahren für Mehrwarteschlangenverwaltung, umfassend: Speichern zu verarbeitender Pakete in jeweiligen Slots einer Vielzahl von Slots, wobei die Vielzahl von Slots einen Ringpuffer bildet, der in einem Speicherbereich mit einer festen Größe implementiert wird, wobei der Vielzahl von Slots jeweilige Slot-Indizes einer Vielzahl von Slot-Indizes zugewiesen werden und die jeweiligen Schlitzindizes auf einen Speicherort eines entsprechenden Slots der Vielzahl von Slots verweisen; Speichern eines oder mehrerer Slot-Indizes in einer oder mehreren virtuellen Warteschlangen einer Vielzahl virtueller Warteschlangen, wobei jede virtuelle Warteschlange der Vielzahl virtueller Warteschlangen einer Instanz eines Satzes von Instanzen und einem Link eines Satzes von Links zugeteilt wird; und Verarbeiten einzelner virtueller Warteschlangen der einen oder der mehreren virtuellen Warteschlangen durch Erhalten der gespeicherten Pakete aus ihren jeweiligen Slots unter Verwendung des einen oder der mehreren Slot-Indizes, die in der einen oder den mehreren virtuellen Warteschlangen gespeichert sind.
  • Beispiel A24c beinhaltet ein Verfahren für Mehrwarteschlangenverwaltung, umfassend: Speichern zu verarbeitender Pakete in jeweiligen Slots einer Vielzahl von Slots, wobei die Vielzahl von Slots einen Ringpuffer bildet, der in einem Speicherbereich mit einer festen Größe implementiert wird, wobei der Vielzahl von Slots jeweilige Slot-Indizes einer Vielzahl von Slot-Indizes zugewiesen werden und die jeweiligen Slot-Indizes auf einen Speicherort eines entsprechenden Slots der Vielzahl von Slots verweisen; Schieben der jeweiligen Slot-Indizes in eine Vielzahl virtueller Warteschlangen, wobei jede virtuelle Warteschlange der Vielzahl virtueller Warteschlangen einer Instanz eines Satzes von Instanzen und einem Link eines Satzes von Links zugeteilt wird; Entnehmen eines Satzes der jeweiligen Slot-Indizes aus einer oder mehreren virtuellen Warteschlangen der Vielzahl virtueller Warteschlangen; und Erhalten eines Satzes der gespeicherten Pakete aus ihren jeweiligen Slots unter Verwendung der entnommenen Slot-Indizes.
  • Beispiel A25 beinhaltet das Verfahren der Beispiele A24a, A24b und A24c, ferner umfassend: Durchführen des Verfahrens nach einem oder mehreren der Beispiele A01 bis A23.
  • Beispiel B01 beinhaltet das Verfahren der Beispiele A01 bis A25, ferner umfassend: durch einen ersten Rechenknoten erfolgendes Empfangen eines ersten Pakets über eine erste Verbindung zwischen dem ersten Rechenknoten und einem zweiten Rechenknoten; durch den ersten Rechenknoten erfolgendes Empfangen eines zweiten Pakets über eine zweite Verbindung zwischen dem ersten Rechenknoten und dem zweiten Rechenknoten, wobei sich die zweite Verbindung von der ersten Verbindung unterscheidet; und durch den ersten Rechenknoten erfolgendes Initiieren eines Paketneuordnungsprozesses, um einen Satz von Paketen einschließlich des ersten und zweiten Pakets neu zu ordnen.
  • Beispiel B02 beinhaltet das Verfahren nach Beispiel B01 sowie Initiieren des Paketneuordnungsprozesses in Reaktion auf den Empfang des zweiten Pakets und wenn das zweite Paket nach Empfang des ersten Pakets empfangen wird.
  • Beispiel B03 beinhaltet das Verfahren nach Beispiel B02, ferner umfassend: Stoppen des Paketneuordnungsprozesses in Reaktion auf Empfang eines Endmarkierungspakets über die erste Verbindung.
  • Beispiel B04 umfasst das Verfahren nach Beispiel B03, ferner umfassend: durch den ersten Rechenknoten erfolgendes Senden einer Verkehrslenkungsanfrage an den zweiten Rechenknoten; und durch den ersten Rechenknoten erfolgendes Initiieren des Paketneuordnungsprozesses in Reaktion auf Senden der Verkehrslenkungsanfrage.
  • Beispiel B05 beinhaltet das Verfahren nach Beispiel B04, wobei die Verkehrslenkungsanfrage bewirken soll, dass der zweite Rechenknoten ein Endmarkierungspaket über die erste Verbindung sendet und das zweite Paket über die zweite Verbindung sendet.
  • Beispiel B06 beinhaltet das Verfahren nach Beispiel, wobei die Verkehrslenkungsanfrage eine Kennung der zweiten Verbindung beinhaltet, um den zweiten Rechenknoten anzuweisen, das zweite Paket über die zweite Verbindung zu senden.
  • B07 beinhaltet das Verfahren der Beispiele B04 bis B06, wobei die Verkehrslenkungsanfrage eine Mehrfachzugangsverwaltungsdienst- (MAMS-) Verkehrslenkungsanfragenachricht, eine MAMS-Verkehrslenkungsantwortnachricht, eine MAMS-Sondierungsanfragenachricht oder eine MAMS-Verkehrsaufteilungsaktualisierungs-(TSU-) Nachricht ist.
  • B08 beinhaltet das Verfahren der Beispiele B02 bis B07, wobei das erste Paket ein Datenpaket oder ein Steuerpaket ist, das zweite Paket ein Datenpaket oder ein Steuerpaket ist und das Endmarkierungspaket ein Datenpaket oder ein Steuerpaket ist.
  • B09 beinhaltet das Verfahren nach Beispiel B08, wobei das Endmarkierungspaket einen Indikator beinhaltet, um anzugeben, dass der Paketneuordnungsprozess ein Intra-Funkzugangstechnologie- (RAT-) Paketneuordnungsprozess oder ein Inter-RAT-Paketneuordnungsprozess ist.
  • B 10 beinhaltet das Verfahren nach Beispiel B09, wobei der Indikator Ein-Bit-Feld in dem Endmarkierungspaket ist und das Verfahren ferner umfasst: Bestimmen, dass der Paketneuordnungsprozess ein Intra-RAT-Paketneuordnungsprozess ist, wenn der Indikator einen ersten Wert aufweist, und Bestimmen, dass der Paketneuordnungsprozess ein Inter-RAT-Paketneuordnungsprozess ist, wenn der Indikator einen zweiten Wert aufweist, der sich von dem ersten Wert unterscheidet.
  • Beispiel B 11 beinhaltet das Verfahren der Beispiele B01 bis B10, wobei das erste Paket eine erste Sequenznummer (SN) beinhaltet und das zweite Paket eine zweite SN beinhaltet und das Verfahren ferner umfasst: Stoppen des Paketneuordnungsprozesses, wenn die zweite SN größer als die erste SN ist, ungeachtet einer Reihenfolge, in der das erste und das zweite Paket empfangen werden.
  • Beispiel B12 beinhaltet das Verfahren nach Beispiel B 11, wobei sich das erste und das zweite Paket in einem Satz empfangener Pakete befinden und das Stoppen des Paketneuordnungsprozesses ferner umfasst: Stoppen des Paketneuordnungsprozesses, wenn die zweite SN größer als eine SN in jedem empfangenen Paket in dem Satz empfangener Pakete ist.
  • Beispiel B13 beinhaltet das Verfahren der Beispiele B01 bis B12, ferner umfassend: Stoppen des Paketneuordnungsprozesses, wenn ein Neuordnungs-Timeout- (RTO-) Timer abläuft.
  • Beispiel B14 beinhaltet das Verfahren nach Beispiel B13, ferner umfassend: Bestimmen eines RTO-Werts für den RTO-Timer basierend auf einer ersten Einwegverzögerungs- (OWD-) Messung der ersten Verbindung und einer zweiten OWD-Messung der zweiten Verbindung; und Einstellen oder Aktualisieren des RTO-Timers mit dem bestimmten RTO-Wert.
  • Beispiel B 15 beinhaltet das Verfahren nach Beispiel B 14, wobei das Bestimmen des Werts für den RTO-Timer ferner umfasst: Bestimmen des RTO-Werts für den RTO-Timer ferner basierend auf einem vorbestimmten oder konfigurierten RTO-Parameter.
  • Beispiel B16 beinhaltet das Verfahren der Beispiele A01 bis B15, wobei die erste Verbindung und die zweite Verbindung jeweilige Links in dem Satz von Links sind und das erste Paket oder das zweite Paket das Paket ist, das in dem betreffenden Slot gespeichert ist.
  • Beispiel B 17 beinhaltet das Verfahren der Beispiele A01 bis B 16, ferner umfassend: durch den ersten Rechenknoten erfolgendes Durchführen des Verfahrens für Mehrwarteschlangenverwaltung gemäß einem oder mehreren der Beispiele A01 bis A25.
  • Beispiel X01 beinhaltet ein Verfahren, das mehrere Übertragungswarteschlangenoperationen für mehrere virtuelle Übertragungswarteschlangen unter Verwendung einer physischen Warteschlange erreicht.
  • Beispiel X02 beinhaltet das Verfahren nach Beispiel X01 und/oder einigen anderen vorliegenden Beispiele, wobei die eine physische Warteschlange einem statischen Speicherraum zugeteilt wird.
  • Beispiel X03 beinhaltet das Verfahren der Beispiele X01 und X02 und/oder einigen anderen vorliegenden Beispielen, wobei die eine physische Warteschlange als eine Multi-Thread-Sicherheitsringwarteschlangendatenstruktur zum Speichern von Paketen und Indizes implementiert wird.
  • Beispiel X04 beinhaltet das Verfahren der Beispiele X01 bis X03 und/oder einigen anderen vorliegenden Beispielen, ferner umfassend: Speichern eines duplizierten Pakets in mehreren virtuellen Warteschlangen.
  • Beispiel X05 beinhaltet das Verfahren nach Beispiel X04 und/oder einigen anderen vorliegenden Beispielen, wobei das duplizierte Paket eine Broadcast-Nachricht ist, die an mehrere Empfängerknoten rundgesendet werden soll.
  • Beispiel X06 beinhaltet ein Verfahren, umfassend: Speichern duplizierter Pakete in mehrere virtuelle Warteschlangen, wobei mindestens eines der duplizierten Pakete für Broadcast-Nachrichten ist.
  • Beispiel X07 beinhaltet eine Multi-Thread-Sicherheitsringwarteschlangendatenstruktur zum Speichern von Paketen und Indizes.
  • Beispiel C01 beinhaltet das Verfahren der Beispiele A01 bis X07, wobei es sich bei dem Satz von Links um Kommunikationslinks in einer Mehrfachzugangs- (MX-) Kommunikationsumgebung handelt, die gemäß einem MAMS-Framework arbeitet, der erste Rechenknoten ein erster MX-Knoten ist und der zweite Rechenknoten ein zweiter MX-Knoten ist.
  • Beispiel C02 beinhaltet das Verfahren nach Beispiel C01, wobei das Verfahren durch eine Konvergenzschicht durchgeführt wird, die durch den ersten MX-Knotenbetrieben wird.
  • Beispiel C03 beinhaltet das Verfahren nach Beispiel C02, wobei die Konvergenzschicht ein Mehrfachzugangs- (MX-) Konvergenzschichtteil eines MAMS-Protokollstapels ist.
  • Beispiel C04 beinhaltet das Verfahren nach Beispiel C03, wobei die MX-Konvergenzschicht ein MX-Konvergenzverfahren implementiert, wobei das MX-Konvergenzverfahren entweder generischen Mehrfachzugang (GMA) oder Multipath Transmission Control Protocol (MPTCP) oder Generic Routing Encapsulation (GRE) Aggregation Proxy oder MultiPath QUIC (MPQUIC) beinhaltet.
  • Beispiel C05 beinhaltet das Verfahren der Beispiele C03 und C04, wobei die MX-Konvergenzschicht eine GMA-Entität implementiert, wenn das MX-Konvergenzverfahren das GMA-Konvergenzverfahren ist.
  • Beispiel C06 beinhaltet das Verfahren nach Beispiel C05, wobei der erste MX-Knoten eine Client-Vorrichtung ist, die GMA-Entität des ersten MX-Knotens eine GMA-Client- (GC-) Entität ist und die Client-Vorrichtung ferner einen Client-Verbindungsmanager (CCM) umfasst, der kommunikativ mit der Gc-Entität gekoppelt ist.
  • Beispiel C07 beinhaltet das Verfahren nach Beispiel C06, wobei der zweite MX-Knoten ein Server ist.
  • Beispiel C08 beinhaltet das Verfahren nach Beispiel C05, wobei der erste MX-Rechenknoten ein Server ist, die GMA-Entität eine GMA-Server- (Gs-) Entität ist und der Server ferner einen Netzwerkverbindungsmanager (NCM) umfasst, der kommunikativ mit der Gc-Entität gekoppelt ist.
  • Beispiel C09 beinhaltet das Verfahren nach Beispiel C06, wobei der zweite MX-Knoten eine Client-Vorrichtung ist.
  • Beispiel C10 beinhaltet das Verfahren der Beispiele C06 bis C09, wobei die Client-Vorrichtung ein Desktop-Computer, eine Workstation, ein Smartphone, ein Tablet-Computer, eine Wearable-Vorrichtung, eine IoT- (Internet der Dinge) Vorrichtung oder ein Smartgerät ist.
  • Beispiel C11 beinhaltet das Verfahren der Beispiele C06 bis C10, wobei der Server eine Gateway-Vorrichtung, ein Funkzugangsnetzwerkknoten, ein Netzwerkgerät, eine Netzwerkfunktion innerhalb eines Kernnetzwerks, ein Anwendungsserver, ein Edge-Server eines Edge-Computing-Netzwerks oder ein Server eines Cloud-Computing-Dienstes ist.
  • Beispiel C12 beinhaltet das Verfahren nach Beispiel C11, wobei der Server ein Edge-Server eines Edge-Computing-Netzwerks ist.
  • Beispiel C13 beinhaltet das Verfahren der Beispiele C01 bis C12, wobei das in dem betreffenden Slot gespeicherte Paket eine Internetprotokoll- (IP-) Protokolldateneinheit (PDU) ist.
  • Beispiel C14 beinhaltet das Verfahren der Beispiele C01 bis C13, wobei das in dem betreffenden Slot gespeicherte Paket eine MX-Steuerprotokolldateneinheit (PDU) oder eine MX-Benutzerebenen-PDU mit einem IP-Paket ist.
  • Beispiel C15 beinhaltet das Verfahren der Beispiele C01 bis C14, wobei das in dem betreffenden Slot gespeicherte Paket eine GMA- (Generic Multi-Access, generischer Mehrfachzugang) PDU ist, die einen GMA-Header oder einen GMA-Trailer beinhaltet.
  • Beispiel z01 beinhaltet ein oder mehrere computerlesbare Medien, die Anweisungen umfassen, wobei eine Ausführung der Anweisungen durch eine Prozessorschaltungsanordnung bewirken soll, dass die Prozessorschaltungsanordnung das Verfahren der Beispiele A01 bis A25, B01 bis B17, C01 bis C15 und X01 bis X07 durchführt.
  • Beispiel z02 beinhaltet ein Computerprogramm, das die Anweisungen nach Beispiel z01 umfasst.
  • Beispiel z03 beinhaltet eine Anwendungsprogrammierschnittstelle, die Funktionen, Verfahren, Variablen, Datenstrukturen und/oder Protokolle für das Computerprogramm nach Beispiel z01 definiert.
  • Beispiel z04 beinhaltet eine Einrichtung, die eine Schaltungsanordnung umfasst, die mit den Anweisungen nach Beispiel z01 geladen ist.
  • Beispiel z05 beinhaltet eine Einrichtung, die eine Schaltungsanordnung umfasst, die betreibbar ist, um die Anweisungen nach Beispiel z01 auszuführen.
  • Beispiel z06 beinhaltet eine integrierte Schaltung, die die Prozessorschaltungsanordnung aus Beispiel z01 und/oder das eine oder die mehreren computerlesbaren Medien aus Beispiel z01 umfasst.
  • Beispiel z07 beinhaltet ein Rechensystem, das das eine oder die mehreren computerlesbaren Medien und die Prozessorschaltungsanordnung nach Beispiel z01 umfasst.
  • Beispiel z08 beinhaltet eine Einrichtung, die Mittel zum Ausführen der Anweisungen nach Beispiel z01 umfasst.
  • Beispiel z09 beinhaltet ein Signal, das als Ergebnis eines Ausführens der Anweisungen nach Beispiel z01 erzeugt wird.
  • Beispiel z10 beinhaltet eine Dateneinheit, die als Ergebnis eines Ausführens der Anweisungen nach Beispiel z01 erzeugt wird.
  • Beispiel z11 beinhaltet die Dateneinheit nach Beispiel z10, wobei die Dateneinheit ein Datagramm, ein Netzwerkpaket, ein Datenrahmen, ein Datensegment, eine PDU, eine Dienstdateneinheit (SDU), eine Nachricht oder ein Datenbankobjekt ist.
  • Beispiel z12 beinhaltet ein Signal, das mit der Dateneinheit nach Beispiel z10 oder z11 codiert ist.
  • Beispiel z13 beinhaltet ein elektromagnetisches Signal, das die Anweisungen nach Beispiel z01 trägt.
  • Beispiel z14 beinhaltet eine Einrichtung, die Mittel zum Durchführen des Verfahrens der Beispiele A01 bis A25, B01 bis B17, C01 bis C15 und X01 bis X07 umfasst.
  • 6. TERMINOLOGIE
  • Wie hierin verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es versteht sich ferner, dass die Begriffe „umfasst“ und/oder „umfassend“, wenn in dieser Beschreibung verwendet, das Vorhandensein aufgeführter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifiziert, aber nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operation, Elemente, Komponenten und/oder Gruppen davon ausschließt. Der Ausdruck „A und/oder B“ bedeutet (A), (B) oder (A und B). Für die Zwecke der vorliegenden Offenbarung bedeutet die Formulierung „A, B und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C). Die Beschreibung kann die Ausdrücke „in einer Ausführungsform“ oder „in einigen Ausführungsformen“ verwenden, die sich jeweils auf eine oder mehrere der gleichen oder unterschiedlicher Ausführungsformen beziehen können. Weiterhin sind die Begriffe „umfassend“, „beinhaltend“, „aufweisend“ und dergleichen, wie sie mit Bezug auf die vorliegende Offenbarung verwendet werden, synonym.
  • Die Begriffe „gekoppelt“, „kommunikativ gekoppelt“ werden, zusammen mit Ableitungen davon, hierin verwendet. Der Begriff „gekoppelt“ kann bedeuten, dass sich zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander befinden, kann bedeuten, dass sich zwei oder mehr Elemente indirekt berühren, aber immer noch miteinander zusammenwirken oder interagieren, und/oder kann bedeuten, dass ein oder mehrere andere Elemente zwischen den Elementen gekoppelt oder verbunden sind, die als miteinander gekoppelt bezeichnet werden. Der Begriff „direkt gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem Kontakt miteinander stehen. Der Begriff „kommunikativ gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente durch ein Kommunikationsmittel, einschließlich über einen Draht oder eine andere Zusammenschaltungsverbindung, über einen Drahtloskommunikationskanal oder -Link und/oder dergleichen, miteinander in Kontakt stehen können.
  • Der Begriff „Herstellen“ oder „Herstellung“ verweist zumindest in einigen Ausführungsformen auf (partielle oder vollständig) Aktionen, Aufgaben, Operationen usw. in Bezug auf das Herbeiführen oder die Vorbereitung auf das Herbeiführen von etwas, entweder aktiv oder passiv (z.B. Offenlegen einer Vorrichtungsidentität oder Entitätsidentität). Zusätzlich oder alternativ verweist der Begriff „Herstellen“ oder „Herstellung“ zumindest in einigen Ausführungsformen auf (partielle oder vollständig) Aktionen, Aufgaben, Operationen usw. in Bezug auf Initiieren, Starten oder Aufwärmen einer Kommunikation oder Initiieren, Starten oder Aufwärmen einer Beziehung zwischen zwei Entitäten oder Elementen verweisen (z.B. Herstellen einer Sitzung, Herstellen einer Sitzung usw.). Zusätzlich oder alternativ verweist der Begriff „Herstellen“ oder „Herstellung“ zumindest in einigen Ausführungsformen auf das Initiieren von etwas in einen Zustand der Arbeitsbereitschaft. Der Begriff „hergestellt“ verweist zumindest in einigen Ausführungsformen auf einen betriebsbereiten oder gebrauchsfertigen Zustand (zum Beispiel vollständige Herstellung). Darüber hinaus kann eine beliebige Definition für den Begriff „Herstellen“ oder „Herstellung“, die in einer beliebigen Spezifikation oder einem beliebigen Standard definiert ist, für Zwecke der vorliegenden Offenbarung verwendet werden, und derartige Definitionen werden nicht von einer der oben genannten Definitionen verworfen.
  • Der Begriff „Erhalten“ verweist zumindest in einigen Ausführungsformen auf (partielle oder vollständige) Aktionen, Aufgaben, Operationen usw. zum Abfangen, Verschieben, Kopieren, Abrufen oder Erfassen (z.B. aus einem Speicher, einer Schnittstelle oder einem Puffer), auf den ursprünglichen Paketstrom oder auf eine Kopie (z.B. eine neue Instanz) des Paketstroms. Andere Aspekte des Erhaltens oder Empfangens können Instanziieren, Aktivieren oder Steuern der Fähigkeit zum Erhalten oder Empfangen des Stroms von Paketen (oder der folgenden Parameter und Vorlagen oder Vorlagenwerte) beinhalten.
  • Der Begriff „Empfang“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Aktion (oder einen Satz von Aktionen), die beim Empfangen oder Erhalten eines Objekts, von Daten, einer Dateneinheit usw. und/oder der Tatsache, dass das Objekt, die Daten, die Dateneinheit usw. empfangen werden, involviert sind. Der Begriff „Empfang“ verweist zumindest in einigen Ausführungsformen darauf, dass ein Objekt, Daten, eine Dateneinheit usw. zu einer Vorrichtung, einem System, einem Element usw. gepusht werden (z.B. oft als ein Push-Modell bezeichnet), durch eine Vorrichtung, ein System, ein Element usw. gezogen werden (z.B. oft als ein Pull-Modell bezeichnet) und/oder dergleichen.
  • Der Begriff „Element“ verweist zumindest in einigen Ausführungsformen auf eine Einheit, die auf einem gegebenen Abstraktionsniveau unteilbar ist und eine klar definierte Grenze aufweist, wobei ein Element eine beliebige Art von Entität sein kann, einschließlich zum Beispiel einer/eines oder mehrerer Vorrichtungen, Systeme, Steuerungen, Netzwerkelemente, Module usw. oder Kombinationen davon.
  • Der Begriff „Messung“ verweist zumindest in einigen Ausführungsformen auf die Beobachtung und/oder Quantifizierung von Attributen eines Objekts, Ereignisses oder Phänomens.
  • Der Begriff „Signal“ verweist zumindest in einigen Ausführungsformen auf eine beobachtbare Änderung einer Qualität und/oder Quantität. Zusätzlich oder alternativ verweist der Begriff „Signal“ zumindest in einigen Ausführungsformen auf eine Funktion, die Informationen über ein Objekt, ein Ereignis oder ein Phänomen vermittelt. Zusätzlich oder alternativ verweist der Begriff „Signal“ zumindest in einigen Ausführungsformen auf eine beliebige zeitlich variierende Spannung, einen beliebigen zeitlich variierenden Strom oder eine beliebige zeitlich variierende elektromagnetische Welle, die/der Informationen tragen kann oder nicht. Der Begriff „digitales Signal“ verweist zumindest in einigen Ausführungsformen auf ein Signal, das aus einem diskreten Satz von Wellenformen einer physikalischen Größe konstruiert ist, um eine Sequenz diskreter Werte zu repräsentieren.
  • Die Begriffe „Ego“ (wie in z.B. „Ego-Gerät“) und „Subjekt“ (wie z.B. „Datenobjekt“) beziehen sich zumindest in einigen Ausführungsformen auf eine Entität, ein Element, eine Vorrichtung, ein System usw., die in Betracht gezogen oder in Betracht gezogen wird. Die Begriffe „Nachbar“ und „nahe“ (wie in z.B. „nahe Vorrichtung“) verweisen wenigstens in einigen Ausführungsformen auf eine Entität, ein Element, eine Vorrichtung, ein System usw., die/das sich von einer Ego-Vorrichtung oder einem Subjekt unterscheidet.
  • Der Begriff „Schaltungsanordnung“ verweist zumindest in einigen Ausführungsformen auf eine Schaltung oder ein System aus mehreren Schaltungen, die bzw. das dazu konfiguriert ist, eine bestimmte Funktion in einer elektronischen Vorrichtung durchzuführen. Die Schaltung oder das System von Schaltungen kann Teil einer oder mehrerer Hardwarekomponenten sein oder diese beinhalten, wie etwa eine Logikschaltung, ein Prozessor (gemeinsam genutzt, dediziert oder Gruppe) und/oder Speicher (gemeinsam genutzt, dediziert oder Gruppe), eine anwendungsspezifische integrierte Schaltung (ASIC), feldprogrammierbares Gate-Array (FPGA), programmierbare Logiksteuerung (PLC), System-on-Chip (SoC), System-in-Package (SiP), Multi-Chip-Package (MCP), Digitalsignalprozessor (DSP) usw., die dazu konfiguriert sind, die beschriebene Funktionalität bereitzustellen. Außerdem kann der Begriff „Schaltungsanordnung“ auf eine Kombination eines oder mehrerer Hardwareelemente mit dem Programmcode verweisen, der zum Ausführen der Funktionalität dieses Programmcodes verwendet wird. Einige Arten von Schaltungsanordnungen können ein oder mehrere Software- oder Firmware-Programme ausführen, um zumindest einen Teil der beschriebenen Funktionalität bereitzustellen. Eine solche Kombination aus Hardwareelementen und Programmcode kann als ein bestimmter Typ von Schaltungsanordnung bezeichnet werden.
  • Es versteht sich, dass die in dieser Beschreibung beschriebenen Funktionseinheiten oder Fähigkeiten als Komponenten oder Module bezeichnet oder gekennzeichnet worden sein können, um ihre Implementierungsunabhängigkeit genauer hervorzuheben. Solche Komponenten können durch eine beliebige Anzahl von Software- oder Hardwareformen umgesetzt werden. Zum Beispiel kann eine Komponente oder ein Modul als eine Hardwareschaltung implementiert werden, die angepasste Integrationsschaltungen in sehr großem Maßstab (VLSI, Very Large Scale Integration) oder Gate-Arrays, handelsübliche Halbleiter, wie Logikchips, Transistoren oder andere diskrete Komponenten, umfasst. Eine Komponente oder ein Modul kann auch in programmierbaren Hardwarevorrichtungen implementiert werden, wie frei programmierbaren Gate-Arrays, programmierbarer Arraylogik, programmierbaren Logikvorrichtungen oder dergleichen. Komponenten oder Module können auch in Software zur Ausführung durch verschiedene Arten von Prozessoren implementiert werden. Eine identifizierte Komponente oder ein identifiziertes Modul aus ausführbarem Code kann beispielsweise einen oder mehrere physische oder logische Blöcke von Computeranweisungen umfassen, die beispielsweise als ein Objekt, eine Prozedur oder eine Funktion organisiert sein können. Nichtsdestotrotz müssen die ausführbaren Elemente einer identifizierten Komponente oder eines identifizierten Moduls nicht physisch zusammen lokalisiert sein, sondern können unterschiedliche Anweisungen umfassen, die an verschiedenen Orten gespeichert sind, die, wenn sie logisch miteinander verbunden sind, die Komponente oder das Modul umfassen und den angegebenen Zweck für die Komponente oder das Modul erfüllen.
  • Tatsächlich kann eine Komponente oder ein Modul eines ausführbaren Codes eine einzige Anweisung oder viele Anweisungen sein und kann sogar über mehrere verschiedene Codesegmente, unter verschiedenen Programmen und über einige Speichervorrichtungen oder Verarbeitungssysteme hinweg verteilt sein. Insbesondere können einige Aspekte des beschriebenen Prozesses (wie etwa Codeumschreiben und Codeanalyse) auf einem anderen Verarbeitungssystem (z.B. in einem Computer in einem Datenzentrum) als jenem stattfinden, in dem der Code eingesetzt wird (z.B. in einem Computer, der in einen Sensor oder Roboter eingebettet ist). Auf ähnliche Weise können Betriebsdaten hier innerhalb von Komponenten oder Modulen identifiziert und veranschaulicht werden und können in einer beliebigen geeigneten Form umgesetzt und in einer beliebigen geeigneten Art von Datenstruktur organisiert sein. Die Betriebsdaten können als ein einziger Datensatz gesammelt sein oder können über verschiedene Orte, einschließlich über verschiedene Speichervorrichtungen, verteilt sein und können zumindest teilweise nur als elektronische Signale in einem System oder Netzwerk bestehen. Die Komponenten oder Module können passiv oder aktiv sein, einschließlich Agenten, die betrieben werden können, um gewünschte Funktionen durchzuführen.
  • Der Begriff „Prozessorschaltungsanordnung“ verweist zumindest in einigen Ausführungsformen auf eine Schaltungsanordnung, ist ein Teil davon oder beinhaltet diese, welche dazu in der Lage ist, sequenziell und automatisch eine Sequenz arithmetischer oder logischer Operationen oder Aufzeichnen, Speichern und/oder Übertragen digitaler Daten auszuführen. Der Begriff „Prozessorschaltungsanordnung“ verweist zumindest in einigen Ausführungsformen auf einen oder mehrere Anwendungsprozessoren, einen oder mehrere Basisbandprozessoren, eine physische CPU, einen Einzelkernprozessor, einen Doppelkernprozessor, einen Dreikernprozessor, einen Vierkernprozessor und/oder eine beliebige andere Vorrichtung, die dazu in der Lage ist, computerausführbare Anweisungen, wie etwa Programmcode, Softwaremodule und/oder funktionale Prozesse, auszuführen oder anderweitig zu betreiben. Die Begriffe „Anwendungsschaltungsanordnung“ und/oder „Basisbandschaltungsanordnung“ können als synonym zu „Prozessorschaltungsanordnung“ angesehen werden und können als solche bezeichnet werden.
  • Der Begriff „Speicher“ und/oder „Speicherschaltungsanordnung“ verweist zumindest in einigen Ausführungsformen auf eine oder mehrere Hardwarevorrichtungen zum Speichern von Daten, einschließlich RAM, MRAM, PRAM, DRAM und/oder SDRAM, Kernspeicher, ROM, Magnetplattenspeicherungsmedien, optische Speicherungsmedien, Flash-Speichervorrichtungen oder andere maschinenlesbare Medien zum Speichern von Daten. Der Begriff „computerlesbares Medium“ kann unter anderem Speicher, portable oder feste Speicherungsvorrichtungen, optische Speicherungsvorrichtungen und verschiedene andere Medien beinhalten, die dazu in der Lage sind, Anweisungen oder Daten zu speichern, zu halten oder zu tragen.
  • Der Begriff „Schnittstellenschaltungsanordnung“ verweist zumindest in einigen Ausführungsformen auf eine Schaltungsanordnung, ist Teil davon oder beinhaltet diese, welche den Austausch von Informationen zwischen zwei oder mehr Komponenten oder Vorrichtungen ermöglicht. Der Begriff „Schnittstellenschaltungsanordnung“ verweist zumindest in einigen Ausführungsformen auf eine oder mehrere Hardwareschnittstellen, zum Beispiel Busse, E/A-Schnittstellen, Peripheriekomponentenschnittstellen, Netzwerkschnittstellenkarten und/oder dergleichen.
  • Der Begriff „Vorrichtung“ verweist zumindest in einigen Ausführungsformen auf eine physische Entität, die innerhalb einer anderen physischen Entität in ihrer Nähe eingebettet oder an dieser angebracht ist, mit Fähigkeiten, digitale Informationen von oder zu dieser physischen Entität zu übertragen.
  • Der Begriff „Entität“ verweist zumindest in einigen Ausführungsformen auf eine distinkte Komponente einer Architektur oder Vorrichtung, oder Informationen, die als Nutzdaten übertragen werden.
  • Der Begriff „Steuerung“ verweist zumindest in einigen Ausführungsformen auf ein Element oder eine Entität, das/die die Fähigkeit aufweist, eine physische Entität zu beeinflussen, wie etwa durch Ändern ihres Zustands oder Bewirken, dass sich die physische Entität bewegt.
  • Der Begriff „Anschluss“ verweist zumindest in einigen Ausführungsformen auf einen Punkt, an dem ein Leiter von einer Komponente, einer Vorrichtung oder einem Netzwerk endet. Zusätzlich oder alternativ verweist der Begriff „Anschluss“ zumindest in einigen Ausführungsformen auf einen elektrischen Verbinder, der als eine Schnittstelle zu einem Leiter fungiert und einen Punkt erzeugt, an dem externe Schaltungen verbunden werden können. In einigen Ausführungsformen können Anschlüsse elektrische Zuleitungen, elektrische Verbinder, elektrische Verbinder, Lötbecher oder -kelche und/oder dergleichen beinhalten.
  • Der Begriff „Rechenknoten“ oder „Rechenvorrichtung“ verweist zumindest in einigen Ausführungsformen auf eine identifizierbare Entität, die einen Aspekt von Rechenoperationen implementiert, sei es Teil eines größeren Systems, einer verteilten Sammlung von Systemen oder einer eigenständigen Einrichtung. In einigen Beispielen kann ein Rechenknoten als eine „Datenverarbeitungsvorrichtung“, ein „Datenverarbeitungssystem“ oder dergleichen bezeichnet werden, sei es im Betrieb als ein Client, ein Server oder eine Zwischenentität. Spezielle Implementierungen eines Rechenknotens können in einen Server, eine Basisstation, ein Gateway, eine Straßenrandeinheit, eine Vor-Ort-Einheit, ein Benutzergerät, eine Endverbrauchervorrichtung, ein Gerät oder dergleichen integriert sein.
  • Der Begriff „Computersystem“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Art von miteinander verbundenen elektronischen Vorrichtungen, Computervorrichtungen oder Komponenten davon. Zusätzlich verweisen die Begriffe „Computersystem“ und/oder „System“ zumindest in einigen Ausführungsformen auf verschiedene Komponenten eines Computers, die kommunikativ miteinander gekoppelt sind. Ferner verweist der Begriff „Computersystem“ und/oder „System“ zumindest in einigen Ausführungsformen auf mehrere Computervorrichtungen und/oder mehrere Rechensysteme, die kommunikativ miteinander gekoppelt und dazu konfiguriert sind, Rechen- und/oder Vernetzungsressourcen gemeinsam zu nutzen.
  • Der Begriff „Architektur“ verweist zumindest in einigen Ausführungsformen auf eine Computerarchitektur oder eine Netzwerkarchitektur. Eine „Computerarchitektur“ ist eine physische und logische Gestaltung oder Anordnung von Software- und/oder Hardwareelementen in einem Datenverarbeitungssystem oder einer Datenverarbeitungsplattform einschließlich Technologiestandards für Interaktionen dazwischen. Eine „Netzwerkarchitektur“ ist eine physische und logische Gestaltung oder Anordnung von Software- und/oder Hardwareelementen in einem Netzwerk einschließlich Kommunikationsprotokollen, Schnittstellen und Medienübertragung.
  • Der Begriff „Gerät“, „Computergerät“ oder dergleichen verweist zumindest in einigen Ausführungsformen auf eine Computervorrichtung oder ein Computersystem mit Programmcode (z.B. Software oder Firmware), der speziell dazu gestaltet ist, eine spezielle Rechenressource bereitzustellen. Ein „virtuelles Gerät“ ist ein virtuelles Maschinenabbild, das durch eine Hypervisor-ausgestattete Vorrichtung zu implementieren ist, die ein Computergerät virtualisiert oder emuliert oder anderweitig dediziert ist, eine spezifische Rechenressource bereitzustellen.
  • Der Begriff „Benutzergerät“ oder „UE“ verweist zumindest in einigen Ausführungsformen auf eine Vorrichtung mit Funkkommunikationsfähigkeiten und kann einen fernen Benutzer von Netzwerkressourcen in einem Kommunikationsnetzwerk beschreiben. Der Begriff „Benutzergerät“ oder „UE“ kann als Synonym für Client, Mobilteil, Mobilvorrichtung, Mobilendgerät, Benutzerendgerät, Mobileinheit, Station, Mobilstation, Mobilbenutzer, Teilnehmer, Benutzer, Fernstation, Zugangsagent, Benutzeragent, Empfänger, Funkgerät, rekonfigurierbares Funkgerät, rekonfigurierbare Mobilvorrichtung usw. angesehen und als solche bezeichnet werden. Des Weiteren kann der Begriff „Benutzergerät“ oder „UE“ eine beliebige Art von drahtloser/drahtgebundener Vorrichtung oder eine beliebige Rechenvorrichtung mit einer Drahtloskommunikationsschnittstelle beinhalten. Beispiele für UEs, Client-Vorrichtungen usw. beinhalten Desktop-Computer, Workstations, Laptop-Computer, mobile Datenendgeräte, Smartphones, Tablet-Computer, Wearable-Vorrichtungen, Maschine-zu-Maschine- (M2M-) Vorrichtungen, Maschinentyp-Kommunikation- (MTC-) Vorrichtungen, Internet-der-Dinge-(IoT-) Vorrichtungen, eingebettete Systeme, Sensoren, autonome Fahrzeuge, Drohnen, Roboter, fahrzeuginterne Infotainmentsysteme, Instrumentencluster, Onboard-Diagnosevorrichtungen, Dashtop-Mobilgeräte, elektronische Motorverwaltungssysteme, Elektronik-/Motorsteuereinheiten/-module, Mikrocontroller, Steuermodul, Servervorrichtungen, Netzwerkgeräte, Head-Up-Display- (HUD-) Vorrichtungen, Helm-montierte Anzeigevorrichtungen, Augmented-Reality- (AR-) Vorrichtungen, Virtual-Reality- (VR-) Vorrichtungen, Mixed-Reality- (MR-) Vorrichtungen und/oder andere ähnliche Systeme oder Vorrichtungen.
  • Der Begriff „Station“ oder „STA“ verweist wenigstens in einigen Ausführungsformen auf eine logische Entität, die eine einzeln adressierbare Instanz einer Medienzugriffssteuerungs-(MAC-) und Bitübertragungsschicht- (PHY-) Schnittstelle zu dem drahtlosen Medium (WM) ist. Der Begriff „drahtloses Medium“ oder „WM“ verweist zumindest in einigen Ausführungsformen auf das Medium, das verwendet wird, um die Übertragung von Protokolldateneinheiten (PDUs) zwischen Peer-Bitübertragungsschicht- (PHY-) Entitäten eines drahtlosen lokalen Netzwerks (LAN) zu implementieren.
  • Der Begriff „Netzwerkelement“ verweist zumindest in einigen Ausführungsformen auf ein physisches oder virtualisiertes Gerät und/oder eine physische oder virtualisierte Infrastruktur, die verwendet werden, um drahtgebundene oder drahtlose Kommunikationsnetzwerkdienste bereitzustellen. Der Begriff „Netzwerkelement“ kann als synonym zu einem vernetzten Computer, einer vernetzten Hardware, einem Netzwerkgerät, einem Netzwerkknoten, einem Router, einem Switch, einem Hub, einer Brücke, einer Funknetzwerksteuerung, einem Netzwerkzugangsknoten (NAN), einer Basisstation, einem Zugangspunkt (AP), einer RAN-Vorrichtung, einem RAN-Knoten, einem Gateway, einem Server, einem Netzwerkgerät, einer Netzwerkfunktion (NF), einer virtualisierten NF (VNF) und/oder dergleichen angesehen und/oder als diese bezeichnet werden.
  • Der Begriff „Zugangspunkt“ oder „AP“ verweist zuminest in einigen Ausführungsformen auf eine Entität, die eine Station (STA) enthält und Zugang zu den Verteilungsdiensten über das drahtlose Medium (WM) für assoziierte STAs bereitstellt. Ein AP umfasst eine STA und eine Verteilsystemzugangsfunktion (DSAF).
  • Der Begriff „Basisstation“ verweist zumindest in einigen Ausführungsformen auf ein Netzwerkelement in einem Funkzugangsnetzwerk (RAN), wie etwa einem Mobilkommunikationsnetzwerk der vierten Generation (4G) oder der fünften Generation (5G), das für die Übertragung und den Empfang von Funksignalen in einer oder mehreren Zellen zu oder von einem (UE) zuständig ist. Eine Basisstation kann eine integrierte Antenne aufweisen oder über Feeder-Kabel mit einem Antennenarray verbunden sein. Eine Basisstation verwendet spezialisierte digitale Signalverarbeitung und Netzwerkfunktionshardware. In einigen Beispielen kann die Basisstation für Flexibilität, Kosten und Performanz in mehrere Funktionsblöcke aufgeteilt sein, die in Software arbeiten. In einigen Beispielen kann eine Basisstation einen evolved Node B (eNB) oder einen Next Generation Node B (gNB) beinhalten. In einigen Beispielen kann die Basisstation Rechenhardware betreiben oder umfassen, um als ein Rechenknoten zu arbeiten. In vielen der hier besprochenen Szenarien kann jedoch ein RAN-Knoten mit einem Zugangspunkt (zum Beispiel Drahtlosnetzwerkzugangspunkt) oder einer anderen Netzwerkzugangs-Hardware ersetzt werden.
  • Der Begriff „E-UTEAN-NodeB“, „eNodeB“ oder „eNB“ verweist zumindest in einigen Ausführungsformen auf einen RAN-Knoten, der E-UTRA-Benutzerebenen-(PDCP/RLC/MAC/PHY-) und Steuerebenen- (RRC-) Protokollabschlüsse zu einem UE bereitstellt und über eine S 1-Schnittstelle mit dem Evolved Packet Core (EPC) verbunden ist. Zwei oder mehr eNBs sind mittels eines X2-Interconnect miteinander (und/oder mit einem oder mehreren en-gNBs) verbunden.
  • Der Begriff „next generation eNB“ oder „ng-eNB“ verweist zumindest in einigen Ausführungsformen auf einen RAN-Knoten, der E-UTRA-Benutzerebenen- und Steuerebenenprotokollabschlüsse zu einem UE bereitstellt und über die NG-Schnittstelle mit dem 5GC verbunden ist. Zwei oder mehr ng-eNBs sind mittels einer Xn-Schnittstelle miteinander (und/oder mit einem oder mehreren gNBs) verbunden.
  • Der Begriff „next generation NodeB“, „gNodeB“ oder „gNB“ verweist zumindest in einigen Ausführungsformen auf einen RAN-Knoten, der NR-Benutzerebenen- und Steuerebenenprotokollabschlüsse zu einem UE bereitstellt und über die NG-Schnittstelle mit dem 5GC verbunden ist. Zwei oder mehr gNBs sind mittels einer Xn-Schnittstelle miteinander (und/oder mit einem oder mehreren ng-eNBs) verbunden.
  • Der Begriff „E-UTRA-NR-gNB“ oder „en-gNB“ verweist wenigstens in einigen Ausführungsformen auf einen RAN-Knoten, der NR-Benutzerebenen- und Steuerebenenprotokollabschlüsse gegenüber einem UE bereitstellt und als ein Sekundärknoten in E-UTRA-NR-Dual-Connectivity(EN-DC)-Szenarien fungiert (vgl. z.B. 3GPP TS 37.340 v16.6.0 (9.7.2021)). Zwei oder mehr en-gNBs sind mittels eines X2-Interconnect miteinander (und/oder mit einem oder mehreren eNBs) verbunden.
  • Der Begriff „Next Generation RAN-Knoten“ oder „NG-RAN-Knoten“ verweist zumindest in einigen Ausführungsformen auf entweder einen gNB oder einen ng-eNB.
  • Der Begriff „Zentraleinheit“ oder „CU“ verweist zumindest in einigen Ausführungsformen auf einen logischen Knoten, der Funkressourcensteuerungs- (RRC-), Service-Data-Adaptation-Protocol- (SDAP-) und/oder Packet-Data-Convergence-Protocol- (PDCP-) Protokolle/Schichten eines NG-RAN-Knotens, oder RRC- und PDCP-Protokolle des en-gNB hostet, die den Betrieb einer oder mehrerer DUs steuern; eine CU schließt eine F1-Schnittstelle ab, die mit einer DU verbunden ist, und kann mit mehreren DUs verbunden sein.
  • Der Begriff „verteilte Einheit“ oder „DU“ verweist zumindest in einigen Ausführungsformen auf einen logischen Knoten, der Funk-Link-Steuerungs- (RLC-), Medienzugriffssteuerungs- (MAC-) und Bitübertragungs- (PHY-) Schichten des NG-RAN-Knotens oder en-gNB hostet, und ihr Betrieb wird teilweise von einer CU gesteuert; eine DU unterstützt eine oder mehrere Zellen, und eine Zelle wird von nur einer DU unterstützt; und eine DU schließt die F1-Schnittstelle ab, die mit einer CU verbunden ist.
  • Der Begriff „Residential Gateway“ oder „RG“ verweist zumindest in einigen Ausführungsformen auf eine Vorrichtung, die zum Beispiel Sprache, Daten, Rundfunkvideo, Video auf Abruf an andere Vorrichtungen an Kundenstandorten liefert. Der Begriff „Wireline 5G Access Network“ oder „W-5GAN“ verweist zumindest in einigen Ausführungsformen auf ein Wireline-AN, das über N2- und N3-Referenzpunkte mit einem 5GC verbunden ist. Das W-5GAN kann ein W-5GBAN oder ein W-5GCAN sein. Der Begriff „Wireline 5G Cable Access Network“ oder „W-5GCAN“ bezieht sich zumindest in einigen Ausführungsformen auf ein Zugangsnetzwerk, das in/durch CableLabs definiert ist. tDer Begriff „Wireline BBF Cable Access Network“ oder „W-5GBAN“ verweist zumindest in einigen Ausführungsformen auf ein Zugangsnetzwerk, das in/durch Broadband Forum (BBF) definiert ist. Der Begriff „Wireline Access Gateway Function“ oder „W-AGF“ verweist zumindest in einigen Ausführungsformen auf eine Netzwerkfunktion in W-5GAN, die Konnektivität zu einem 3GPP-5G-Kernnetzwerk (5GC) mit 5G-RG und/oder FN-RG bereitstellt. Der Begriff „5G-RG“ bezieht sich zumindest in einigen Ausführungsformen auf ein RG, das dazu in der Lage ist, sich mit einem 5GC zu verbinden, das die Rolle eines Benutzergeräts mit in Bezug auf das 5GC spielt; es unterstützt ein sicheres Element und tauscht eine N1-Signalisierung mit dem 5GC aus. Das 5G-RG kann ein 5G-BRG oder ein 5G-CRG sein.
  • Der Begriff „Edge-Computing“ umfasst viele Implementierungen verteilter Datenverarbeitung, die Verarbeitungsaktivitäten und -Ressourcen (z.B. Berechnung, Speicherung, Beschleunigungsressourcen) in Richtung des Randes („Edge“) des Netzwerks bewegen, in einem Bestreben, Latenz zu reduzieren und den Durchsatz für Endpunktbenutzer (Client-Vorrichtungen, Benutzergeräte usw.) zu erhöhen. Solche Edge-Computing-Implementierungen umfassen typischerweise das Anbieten solcher Aktivitäten und Ressourcen in Cloud-ähnlichen Diensten, Funktionen, Anwendungen und Teilsystemen von einem oder mehreren Orten, auf die über drahtlose Netzwerke zugegriffen werden kann. Somit sind die Verweise auf ein „Edge“ eines Netzwerks, Clusters, einer Domäne, eines Systems oder einer Rechenanordnung, die hier verwendet werden, Gruppen oder Gruppierungen funktioneller verteilter Rechenelemente und stehen daher allgemein nicht in Beziehung zu „Kanten“ (Links oder Verbindungen), wie sie in der Graphentheorie verwendet werden.
  • Der Begriff „Zentrale“ (oder CO) gibt einen Aggregationspunkt für eine Telekommunikationsinfrastruktur innerhalb eines zugänglichen oder definierten geographischen Bereichs an, wo oft Telekommunikationsdienstanbieter traditionell oft Vermittlungsausrüstung für einen oder mehrere Typen von Zugangsnetzwerken angeordnet haben. Die CO kann physisch so ausgestaltet sein, dass sie Telekommunikationsinfrastrukturausrüstung oder Rechen-, Datenspeicherungs- und Netzwerkressourcen beherbergt. Die CO muss jedoch kein designierter Ort eines Telekommunikationsdienstleisters sein. Die CO kann eine beliebige Anzahl an Rechenvorrichtungen für Edge-Anwendungen und -Dienste oder sogar lokale Implementierungen von Cloud-ähnlichen Diensten hosten.
  • Der Begriff „Cloud-Computing“ oder „Cloud“ bezieht sich zumindest in einigen Ausführungsformen auf ein Paradigma zum Ermöglichen von Netzwerkzugriff auf einen skalierbaren und elastischen Pool von gemeinsam nutzbaren Rechenressourcen mit Selbstbedienungsbereitstellung und -Verwaltung bei Bedarf und ohne aktive Verwaltung durch Benutzer. Cloud-Computing stellt Cloud-Computing-Dienste (oder Cloud-Dienste) bereit, bei denen es sich um eine oder mehrere über Cloud-Computing angebotene Fähigkeiten handelt, die unter Verwendung einer definierten Schnittstelle (z.B. einer API oder dergleichen) aufgerufen werden.
  • Der Begriff „Rechenressource“ oder einfach „Ressource“ verweist zumindest in einigen Ausführungsformen auf eine beliebige physische oder virtuelle Komponente oder Verwendung solcher Komponenten mit eingeschränkter Verfügbarkeit innerhalb eines Computersystems oder Netzwerks. Beispiele für Ressourcen umfassen Nutzung von/Zugang zu Servern, Prozessor(en), Speichergeräten, Speichervorrichtungen, Speicherbereichen, Netzwerken, elektrischer Leistung, (periphere) Eingabe-/Ausgabevorrichtungen, mechanischen Vorrichtungen, Netzwerkverbindungen (z.B. Kanäle/Links, Ports, Netzwerkbuchsen usw.), Betriebssystemen, virtuellen Maschinen (VMs), Software/Anwendungen, Computerdateien und/oder dergleichen für eine Zeitdauer. Eine „Hardwareressource“ verweist zumindest in einigen Ausführungsformen auf Rechen-, Speicherungs- und/oder Netzwerkressourcen, die durch ein oder mehrere physische Hardwareelemente bereitgestellt werden. Eine „virtualisierte Ressource“ bezieht sich zumindest in einigen Ausführungsformen auf Rechen-, Speicherungs- und/oder Netzwerkressourcen, die durch eine Virtualisierungsinfrastruktur für eine Anwendung, eine Vorrichtung, ein System usw. bereitgestellt werden. Der Begriff „Netzwerkressource“ oder „Kommunikationsressource“ bezieht sich zumindest in einigen Ausführungsformen auf Ressourcen, auf die Computervorrichtungen/- systeme über ein Kommunikationsnetzwerk zugreifen können. Der Begriff „Systemressourcen“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Art gemeinsam genutzter Entitäten zum Bereitstellen von Diensten und kann Rechen- und/oder Netzwerkressourcen beinhalten. Systemressourcen können als ein Satz von kohärenten Funktionen, Netzwerkdatenobjekten oder Diensten betrachtet werden, auf die durch einen Server zugegriffen werden kann, wenn sich solche Systemressourcen auf einem einzigen Host oder mehreren Hosts befinden und eindeutig identifizierbar sind.
  • Der Begriff „Kern“ bezieht sich zumindest in einigen Ausführungsformen auf ein Funktionselement, das eine Client-Netzwerkadresse (z.B. IP-Adresse) verankert, die zur Kommunikation mit Anwendungen über das Netzwerk verwendet wird. Der Begriff „Ankerverbindung“ bezieht sich zumindest in einigen Ausführungsformen auf den Netzwerkpfad von einem Netzwerkelement (z.B. einem N-MADP) zu einem UP-Gateway (z.B. IP-Anker), das einem Client eine Netzwerkadresse (z.B. IP-Adresse) zugewiesen hat. Der Begriff „Zustellverbindung“, wie hier verwendet, bezieht sich auf einen Netzwerkpfad von einem Netzwerkelement (z.B. einem N-MADP) zu einem Client.
  • Der Begriff „Arbeitslast“ verweist zumindest in einigen Ausführungsformen auf eine Menge an Arbeit, die durch ein Rechensystem, eine Vorrichtung, eine Entität usw. während eines Zeitraums oder zu einem bestimmten Zeitpunkt durchgeführt wird. Eine Arbeitslast kann als ein Benchmark repräsentiert werden, wie etwa eine Reaktionszeit, ein Durchsatz (z.B. wie viel Arbeit über einen Zeitraum erreicht wird) und/oder dergleichen. Zusätzlich oder alternativ kann die Arbeitslast als eine Speicherarbeitslast (z.B. eine Menge an Speicherplatz, der zur Programmausführung benötigt wird, um temporäre oder permanente Daten zu speichern und Zwischenberechnungen durchzuführen), eine Prozessorarbeitslast (z.B. eine Anzahl an Anweisungen, die von einem Prozessor während einer gegebenen Zeitdauer oder zu einem bestimmten Zeitpunkt ausgeführt werden), eine E/A-Arbeitslast (z.B. eine Anzahl an Ein- und Ausgaben oder Systemzugriffen während einer gegebenen Zeitdauer oder zu einem bestimmten Zeitpunkt), Datenbankarbeitslasten (z.B. eine Anzahl an Datenbankabfragen während einer Zeitdauer), eine netzwerkbezogene Arbeitslast (z.B. eine Anzahl an Netzwerkanhängen, eine Anzahl an Mobilitätsaktualisierungen, eine Anzahl an Funk-Link-Ausfällen, eine Anzahl an Handovers, eine Menge an über eine Luftschnittstelle zu übertragenden Daten usw.) und/oder dergleichen repräsentiert werden. Verschiedene Algorithmen können verwendet werden, um eine Arbeitslast und/oder Arbeitslastmerkmale zu bestimmen, die auf einem beliebigen der zuvor genannten Arbeitslasttypen basieren können.
  • Der Begriff „Cloud-Dienstanbieter“ (oder CSP) bezeichnet eine Organisation, die typischerweise umfangreiche „Cloud“-Ressourcen betreibt, die zentralisierte, regionale und Edge-Datenzentren (z.B. wie im Kontext der öffentlichen Cloud verwendet) umfassen. In anderen Beispielen kann ein CSP auch als ein Cloud-Dienstbetreiber (CSO) bezeichnet werden. Verweise auf „Cloud-Computing“ beziehen sich allgemein auf Rechenressourcen und -dienste, die von einem CSP oder einem CSO an fernen Orten mit wenigstens etwas erhöhter Latenz, Entfernung oder Beschränkungen relativ zu Edge-Computing angeboten werden.
  • Der Begriff „Datenzentrum“ verweist zumindest in einigen Ausführungsformen auf eine zweckgestaltete Struktur, die mehrere Hochleistungsrechen- und -datenspeicherungsknoten beherbergen soll, sodass eine große Menge an Rechen-, Datenspeicherungs- und Netzwerkressourcen an einem einzigen Standort vorhanden ist. Dabei handelt es sich häufig um spezialisierte Rack- und Gehäusesysteme, geeignete Heiz-, Kühl-, Lüftungs-, Sicherheits-, Brandschutz- und Stromversorgungssysteme. Der Begriff kann in einigen Zusammenhängen auch auf einen Rechen- und Datenspeicherungsknoten verweisen. Ein Datenzentrum kann im Maßstab zwischen einem zentralisierten oder Cloud-Datenzentrum (z.B. größtes), einem regionalen Datenzentrum und einem Edge-Datenzentrum (z.B. kleinstes) variieren.
  • Der Begriff „Zugangs-Edge-Schicht“ gibt die Unterschicht des Infrastruktur-Edge an, die dem Endbenutzer oder der Endvorrichtung am nächsten ist. Eine solche Schicht kann zum Beispiel durch ein Edge-Datenzentrum umgesetzt werden, das an einem zellularen Netzwerkstandort bereitgestellt wird. Die Zugangs-Edge-Schicht fungiert als die vordere Linie des Infrastruktur-Edge und kann mit einer Aggregations-Edge-Schicht verbunden sein, die in der Hierarchie höher ist.
  • Der Begriff „Aggregations-Edge-Schicht“ gibt die Schicht des Infrastruktur-Edge einen Hop von der Zugangs-Edge-Schicht entfernt an. Diese Schicht kann entweder als ein Rechenzentrum im mittleren Maßstab an einem einzigen Ort existieren oder kann aus mehreren miteinander verbundenen Mikrodatenzentren gebildet sein, um eine hierarchische Topologie mit dem Zugriffs-Edge zu bilden, um eine größere Kollaboration, eine größere Arbeitslastausfallsicherheit und Skalierbarkeit als das Zugriffs-Edge allein zu ermöglichen.
  • Der Begriff „Netzwerkfunktionsvirtualisierung“ (oder NFV) gibt die Migration von NFs von eingebetteten Diensten innerhalb proprietärer Hardwaregeräte zu softwarebasierten virtualisierten NFs (oder VNFs) an, die auf standardisierten CPUs (z.B. innerhalb standardmäßiger x86®- und ARM®-Server, wie etwa jener einschließlich Intel®-Xeon™- oder AMD®-Epyc™- oder Opteron™-Prozessoren) unter Verwendung von Virtualisierungs- und Cloud-Rechentechnologien nach Industriestandard laufen. Zusätzlich oder alternativ werden NFV-Verarbeitung und Datenspeicherung an den Edge-Datenzentren, die direkt mit dem lokalen Zellularstandort verbunden sind, innerhalb des Infrastruktur-Edge stattfinden.
  • Der Begriff „virtualisierte NF“ (oder VNF) gibt eine softwarebasierte NF an, die auf Multifunktions-Mehrzweckrechenressourcen (z. B. x86-, ARM-Verarbeitungsarchitektur) arbeitet, die von der NFV anstelle dedizierter physischer Geräte verwendet werden. Zusätzlich oder alternativ werden einige VNFs in einem Edge-Datenzentrum an dem Infrastruktur-Edge arbeiten.
  • Der Begriff „Edge-Computing-Knoten“ oder „Edge-Computing-Vorrichtung“ verweist mindestens bei einigen Ausführungsformen auf eine identifizierbare Entität, die einen Aspekt von Edge-Computing-Operationen implementiert, sei es als Teil eines größeren Systems, einer verteilten Sammlung von Systemen oder eine eigenständige Einrichtung. In einigen Beispielen kann ein Rechenknoten als ein „Edge-Knoten“, eine „Edge-Vorrichtung“, ein „Edge-System“ bezeichnet werden, sei es im Betrieb als ein Client, Server oder eine Zwischenentität. Zusätzlich oder alternativ verweist der Begriff „Edge-Computing-Knoten“ mindestens in einigen Ausführungsformen auf eine reale, logische oder virtualisierte Implementierung eines rechenfähigen Elements in der Form einer Vorrichtung, eines Gateways, einer Brücke, eines Systems oder eines Teilsystems, einer Komponente, egal ob er in einem Server-, Client-, Endpunkt- oder Peer-Modus arbeitet, und ob er sich an einem „Rand“ eines Netzwerks oder an einem verbundenen Ort weiter innerhalb des Netzwerks befindet. Bezugnahmen auf einen „Knoten“, die hierin verwendet werden, sind im Allgemeinen mit „Vorrichtung“, „Komponente“ und „Subsystem“ austauschbar; Bezugnahmen auf ein „Edge-Rechensystem“ verweisen jedoch im Allgemeinen auf eine verteilte Architektur, Organisation oder Sammlung mehrerer Knoten und Vorrichtungen, die organisiert ist, um einen gewissen Aspekt von Diensten oder Ressourcen in einer Edge-Rechenumgebung zu erreichen oder anzubieten.
  • Der Begriff „Cluster“ verweist zumindest in einigen Ausführungsformen auf einen Satz oder eine Gruppierung von Entitäten als Teil eines Edge-Computing-Systems (oder -Systemen) in der Form physischer Entitäten (zum Beispiel unterschiedlicher Rechensysteme, Netzwerke oder Netzwerkgruppen), logischer Entitäten (zum Beispiel Anwendungen, Funktionen, Sicherheitskonstrukte, Container) und dergleichen. An einigen Stellen wird ein „Cluster“ auch als eine „Gruppe“ oder eine „Domäne“ bezeichnet. Die Zugehörigkeit des Clusters kann basierend auf Bedingungen oder Funktionen modifiziert oder beeinflusst werden, einschließlich aus dynamischer oder eigenschaftsbasierter Mitgliedschaft, aus Netzwerk- oder Systemverwaltungsszenarien oder aus verschiedenen nachstehend besprochenen beispielhaften Techniken, die eine Entität in einem Cluster hinzufügen, modifizieren oder entfernen können. Cluster können auch mehrere Schichten, Ebenen oder Eigenschaften, einschließlich Variationen von Sicherheitsmerkmalen und Ergebnissen basierend auf solchen Schichten, Ebenen oder Eigenschaften, beinhalten oder damit assoziiert sein.
  • Der Begriff „Datennetzwerk“ oder „DN“ verweist zumindest in einigen Ausführungsformen auf ein Netzwerk, das datenzentrische Dienste hostet, wie etwa zum Beispiel Betreiberdienste, das Internet, Dienste von Drittparteien oder Unternehmensnetzwerke. Zusätzlich oder alternativ verweist ein DN zumindest in einigen Ausführungsformen auf Dienstnetzwerke, die einem Betreiber oder einer Drittpartei gehören und die einem Client oder einem Benutzergerät (UE) als ein Dienst angeboten werden. DNs werden manchmal als „Paketdatennetzwerke“ oder „PDNs“ bezeichnet. Der Begriff „lokales Datennetz“ oder „LADN“ verweist zumindest in einigen Ausführungsformen auf ein DN, auf das das UE nur an speziellen Orten zugreifen kann, das Konnektivität mit einem speziellen DNN bereitstellt und dessen Verfügbarkeit dem UE bereitgestellt wird.
  • Der Begriff „Internet der Dinge“ oder „loT“ verweist zumindest in einigen Ausführungsformen auf ein System von miteinander in Beziehung stehenden Rechenvorrichtungen, mechanischen und digitalen Maschinen, die dazu in der Lage sind, Daten mit geringer oder keiner menschlichen Interaktion zu übertragen, und kann Technologien, wie etwa Echtzeitanalytik, Maschinenlernen und/oder AI, eingebettete Systeme, Drahtlossensornetzwerke, Steuersysteme, Automatisierung (z.B. Smart-Home-, Smart-Gebäude- und/oder Smart-Stadt-Technologien) und dergleichen beinhalten. IoT-Vorrichtungen sind üblicherweise Niedrigleistungsvorrichtungen ohne schwere Rechen- oder Speicherungsfähigkeiten. Der Begriff „Edge-IoT-Vorrichtungen“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Art von IoT-Vorrichtungen, die am Edge eines Netzwerks eingesetzt werden.
  • Der Begriff „Funktechnologie“ verweist zumindest in einigen Ausführungsformen auf eine Technologie zum drahtlosen Senden und/oder Empfangen elektromagnetischer Strahlung zur Informationsübertragung.
  • Der Begriff „Funkzugangstechnologie“ oder „RAT“ verweist zumindest in einigen Ausführungsformen auf die Technologie, die für die zugrundeliegende physische Verbindung mit einem funkbasierten Kommunikationsnetzwerk verwendet wird.
  • Der Begriff „Kommunikationsprotokoll“ (entweder drahtgebunden oder drahtlos) verweist zumindest in einigen Ausführungsformen auf einen Satz standardisierter Regeln oder Anweisungen, die durch eine Kommunikationsvorrichtung und/oder ein Kommunikationssystem implementiert werden, um mit anderen Vorrichtungen und/oder Systemen zu kommunizieren, einschließlich Anweisungen zum Paketieren/Depaketieren von Daten, Modulieren/Demodulieren von Signalen, Implementieren von Protokollstapeln und/oder dergleichen. Beispiele für Kommunikationsprotokolle beinhalten eine GSM- (Global System for Mobile Communications) Funkkommunikationstechnologie, eine GPRS- (General Packet Radio Service) Funkkommunikationstechnologie, eine EDGE- (Enhanced Data Rates for GSM Evolution) Funkkommunikationstechnologie und/oder eine 3GPP- (Third Generation Partnership Project) Funkkommunikationstechnologie, einschließlich zum Beispiel 3GPP der fünften Generation (5G) oder New Radio (NR), Universal Mobile Telecommunications System (UMTS), Freedom of Multimedia Access (FOMA), Long Term Evolution (LTE), LTE-Advanced (LTE Advanced), LTE-Extra, LTE-A Pro, cdmaOne (2G), Code Division Multiple Access 2000 (CDMA 2000), Cellular Digital Packet Data (CDPD), Mobitex, Circuit Switched Data (CSD), High Speed CSD (HSCSD), Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (W-CDM), High Speed Packet Access (HSPA), HSPA Plus (HSPA+), Time Division-Code Division Multiple Access (TD-CDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), LTE LAA, MuLTEfire, UMTS Terrestrial Radio Access (UTRA), Evolved UTRA (E-UTRA), Evolution-Data Optimized oder Evolution-Data Only (EV-DO), Advanced Mobile Phone System (AMPS), Digital AMPS (D-AMPS), Total Access Communication System/Extended Total Access Communication System (TACS/ETACS), Pushto-talk (PTT), Mobile Telephone System (MTS), Improved Mobile Telephone System (IMTS), Advanced Mobile Telephone System (AMTS), Cellular Digital Packet Data (CDPD), DataTAC, Integrated Digital Enhanced Network (iDEN), Personal Digital Cellular (PDC), Personal Handy - phone System (PHS), Wideband Integrated Digital Enhanced Network (WiDEN), iBurst, Unlicensed Mobile Access (UMA), auch als 3GPP Generic Access Network oder GAN-Standard bezeichnet), Bluetooth®, Bluetooth Low Energy (BLE), IEEE 802.15.4 basierte Protokolle (z.B. IPv6 over Low Power Wireless Personal Area Networks (6LoWPAN), WirelessHART, MiWi, Thread, 802.11a usw.), WiFi-direct, ANT/ANT+, ZigBee, Z-Wave, 3GPP-Gerät-zu-Gerät (D2D) oder Proximity Services (ProSe), Universal Plug and Play (UPnP), Low-Power Wide-Area-Network (LPWAN), Long Range Wide Area Network (LoRA) oder LoRaWAN™, entwickelt von Semtech und der LoRa Alliance, Digital Enhanced Cordless Telecommunications (DECT), DECT Ultra Low Energy (DECT ULE), DECT-2020, Sigfox, Wireless Gigabit Alliance (WiGig)-Standard, Worldwide Interoperability for Microwave Access (WiMAX), mmWave-Standards im Allgemeinen (z.B. drahtlose Systeme, die bei 10-300 GHz und darüber arbeiten, wie etwa WiGig, IEEE 802.11ad, IEEE 802.11ay usw.), V2X-Kommunikationstechnologien (einschließlich C-V2X), Dedicated Short Range Communications (DSRC)-Kommunikationssysteme, wie etwa intelligente Transportsysteme (ITS) einschließlich der europäischen ITS-G5, ITS-G5B, ITS-G5C usw. Zusätzlich zu den vorstehend aufgelisteten Standards kann unter anderem eine beliebige Anzahl von Satelliten-Uplink-Technologien für Zwecke der vorliegenden Offenbarung verwendet werden, einschließlich zum Beispiel Funkgeräten, die Standards entsprechen, die von der International Telecommunication Union (ITU) oder dem European Telecommunications Standards Institute (ETSI) ausgegeben werden. Die hier bereitgestellten Beispiele sind somit so zu verstehen, dass sie auf verschiedene andere Kommunikationstechnologien, sowohl existierende als auch noch nicht formulierte, anwendbar sind.
  • Der Begriff „RAT-TYP“ bezieht sich zumindest in einigen Ausführungsformen auf eine Übertragungstechnologie und/oder ein Kommunikationsprotokoll, die/das in einem Zugangsnetzwerk verwendet wird, zum Beispiel New Radio (NR), Long Term Evolution (LTE), Schmalband-IoT (NB-IOT), nicht vertrauenswürdiges Nicht-3GPP, vertrauenswürdiges Nicht-3GPP, vertrauenswürdiges IEEE 802.11, Nicht-3GPP-Zugang, MuLTEfire, WiMAX, Wireline, Wireline-Kabel, Wireline-Breitbandforum (Wireline-BBF) usw.
  • Der Begriff „Kanal“ verweist zumindest in einigen Ausführungsformen auf ein beliebiges Übertragungsmedium, entweder greifbar oder nicht, das verwendet wird, um Daten oder einen Datenstrom zu kommunizieren. Der Begriff „Kanal“ kann synonym mit und/oder äquivalent zu „Kommunikationskanal“, „Datenkommunikationskanal“, „Übertragungskanal“, „Datenübertragungskanal“, „Zugangskanal“, „Datenzugangskanal“, „Link“, „Datenlink“, „Träger“, „Funkfrequenzträger“ und/oder einem beliebigen anderen ähnlichen Begriff sein, der einen Pfad oder ein Medium bezeichnet, über den/das Daten kommuniziert werden. Zusätzlich verweist der Begriff „Link“ zumindest in einigen Ausführungsformen auf eine Verbindung zwischen zwei Vorrichtungen durch eine RAT zum Zweck des Übertragens und Empfangens von Informationen.
  • Der Begriff „Zuverlässigkeit“ verweist zumindest in einigen Ausführungsformen auf die Fähigkeit einer computerbezogenen Komponente (zum Beispiel Software, Hardware oder Netzwerkelement/Entität), konsistent eine gewünschte Funktion durchzuführen und/oder gemäß einer Spezifikation zu arbeiten. Zuverlässigkeit im Kontext von Netzwerkkommunikationen (z.B. „Netzwerkzuverlässigkeit“) kann sich auf die Fähigkeit eines Netzwerks zum Durchführen von Kommunikation beziehen. Der Begriff „Netzwerkzuverlässigkeit“ verweist zumindest in einigen Ausführungsformen auf eine Wahrscheinlichkeit oder ein Maß des Lieferns einer spezifizierten Datenmenge von einer Quelle an ein Ziel (oder einer Senke).
  • Der Begriff „Fluss“ verweist zumindest in einigen Ausführungsformen auf eine Sequenz von Daten und/oder Dateneinheiten (z.B. Datagramme, Pakete oder dergleichen) von einer Quellenentität/einem Quellenelement zu einer Zielentität/einem Zielelement. Zusätzlich oder alternativ verweisen die Begriffe „Fluss“ oder „Verkehrsfluss“ zumindest in einigen Ausführungsformen auf ein künstliches und/oder logisches Äquivalent zu einem Anruf, einer Verbindung oder einem Link. Zusätzlich oder alternativ verweisen die Begriffe „Fluss“ oder „Verkehrsfluss“ zumindest in einigen Ausführungsformen auf eine Sequenz von Paketen, die von einer bestimmten Quelle zu einem bestimmten Unicast-, Anycast- oder Multicast-Ziel gesendet werden, die die Quelle als einen Fluss kennzeichnen möchte; von einem Blickpunkt einer oberen Schicht kann ein Fluss alle Pakete in einer speziellen Transportverbindung oder einem Medienstrom beinhalten, jedoch wird ein Fluss nicht notwendigerweise 1:1 auf eine Transportverbindung abgebildet. Zusätzlich oder alternativ verweisen die Begriffe „Fluss“ oder „Verkehrsfluss“ zumindest in einigen Ausführungsformen auf einen Satz von Daten und/oder Dateneinheiten (z.B. Datagramme, Pakete oder dergleichen), die einen Beobachtungspunkt in einem Netzwerk während eines gewissen Zeitintervalls passieren. Zusätzlich oder alternativ verweist der Begriff „Fluss“ zumindest in einigen Ausführungsformen auf einen Benutzerebenendaten-Link, der an eine Assoziation angehängt ist. Beispiele sind leitungsvermittelter Telefonanruf, Voice-Over-IP-Anruf, Empfang einer SMS, Senden einer Kontaktkarte, PDP-Kontext für Internetzugang, Demultiplexen eines Tv-Kanals aus einem Kanalmultiplex, Berechnen von Positionskoordinaten aus Geopositionierungssatellitensignalen usw. Für Zwecke der vorliegenden Offenbarung können die Begriffe „Verkehrsfluss“, „Daten-Fluss“, „Datenfluss“, „Paketfluss“, „Netzwerkfluss“ und/oder „Fluss“ austauschbar verwendet werden, wenngleich sich diese Begriffe zumindest in einigen Ausführungsformen auf unterschiedliche Konzepte beziehen.
  • Der Begriff „Strom“ verweist zumindest in einigen Ausführungsformen auf eine Sequenz von Datenelementen, die mit der Zeit zur Verfügung gestellt werden. Funktionen, die an einen Datenstrom arbeiten, was einen anderen Strom erzeugen kann, werden zumindest in einigen Ausführungsformen als „Filter“ bezeichnet und können in Analogie zur Funktionszusammensetzung in Pipelines verbunden werden. Filter können jeweils an einem Element eines Datenstroms arbeiten oder können ein Ausgabeelement auf mehreren Eingabeelementen basieren, wie etwa einem gleitenden Mittelwert.
  • Der Begriff „verteiltes Rechnen“ verweist zumindest in einigen Ausführungsformen auf Rechenressourcen, die geografisch in der Nähe von Abschlüssen eines oder mehrerer lokalisierter Netzwerke verteilt sind.
  • Der Begriff „verteilte Berechnungen“ bezieht sich zumindest in einigen Ausführungsformen auf ein Modell, in dem Komponenten, die sich auf vernetzten Computern befinden, kommunizieren und ihre Aktionen koordinieren, indem sie Nachrichten weiterleiten, die miteinander interagieren, um ein gemeinsames Ziel zu erreichen.
  • Der Begriff „Dienst“ verweist zumindest in einigen Ausführungsformen auf die Bereitstellung einer diskreten Funktion innerhalb eines Systems und/oder einer Umgebung. Zusätzlich oder alternativ verweist der Begriff „Dienst“ zumindest in einigen Ausführungsformen auf eine Funktionalität oder einen Satz von Funktionalitäten, die wiederverwendet werden können.
  • Der Begriff „Mikrodienst“ verweist zumindest in einigen Ausführungsformen auf einen oder mehrere Prozesse, die über ein Netzwerk kommunizieren, um ein Ziel unter Verwendung technologieagnostischer Protokolle (z.B. HTTP oder dergleichen) zu erfüllen. Zusätzlich oder alternativ bezieht sich der Begriff „Mikrodienst“ zumindest in einigen Ausführungsformen auf Dienste, die relativ klein bezüglich der Größe, nachrichtenfähig, durch Kontexte begrenzt, autonom entwickelt, unabhängig einsetzbar, dezentralisiert und/oder mit automatisierten Prozessen aufgebaut und freigegeben sind. Zusätzlich oder alternativ bezieht sich der Begriff „Mikrodienst“ zumindest in einigen Ausführungsformen auf ein in sich geschlossenes Stück an Funktionalität mit klaren Schnittstellen, und kann eine Schichtarchitektur durch seine eigenen internen Komponenten implementieren. Zusätzlich oder alternativ verweist der Begriff „Mikrodienstarchitektur“ zumindest in einigen Ausführungsformen auf eine Variante des strukturellen Typs der dienstorientierten Architektur (SOA), bei dem Anwendungen als eine Sammlung lose gekoppelter Dienste (z.B. feinkörnige Dienste) angeordnet sind und leichtgewichtige Protokolle verwenden können.
  • Der Begriff „Sitzung“ verweist zumindest in einigen Ausführungsformen auf einen temporären und interaktiven Informationsaustausch zwischen zwei oder mehr Kommunikationsvorrichtungen, zwei oder mehr Anwendungsinstanzen, zwischen einem Computer und einem Benutzer und/oder zwischen zwei oder mehr beliebigen Entitäten oder Elementen. Zusätzlich oder alternativ verweist der Begriff „Sitzung“ zumindest in einigen Ausführungsformen auf einen Konnektivitätsdienst oder einen anderen Dienst, der den Austausch von Daten zwischen zwei Entitäten oder Elementen bereitstellt oder ermöglicht. Der Begriff „Netzwerksitzung“ verweist zumindest in einigen Ausführungsformen auf eine Sitzung zwischen zwei oder mehr Kommunikationsvorrichtungen über ein Netzwerk. Der Begriff „Web-Sitzung“ verweist zumindest in einigen Ausführungsformen auf eine Sitzung zwischen zwei oder mehr Kommunikationsvorrichtungen über das Internet oder ein anderes Netzwerk. Der Begriff „Sitzungskennung“, „Sitzungs-ID“ oder „Sitzungs-Token“ verweist zumindest in einigen Ausführungsformen auf ein Datenelement, das in Netzwerkkommunikationen verwendet wird, um eine Sitzung und/oder eine Reihe von Nachrichtenaustauschen zu identifizieren.
  • Der Begriff „Qualität“ verweist zumindest in einigen Ausführungsformen auf eine Eigenschaft, einen Charakter, ein Attribut oder ein Merkmal von etwas als positiv oder negativ und/oder einen Gütegrad von etwas. Zusätzlich oder alternativ verweist der Begriff „Qualität“ zumindest in einigen Ausführungsformen im Kontext von Datenverarbeitung auf einen Zustand qualitativer und/oder quantitativer Aspekte von Daten, Prozessen und/oder einiger anderer Aspekte von Datenverarbeitungssystemen.
  • Der Begriff „Dienstgüte/-qualität“ oder „QoS“ bezieht sich zumindest in einigen Ausführungsformen auf eine Beschreibung oder Messung der Gesamtperformanz eines Dienstes (z.B. Telefonie und/oder Zellulardienst, Netzwerkdienst, Drahtloskommunikations-/- konnektivitätsdienst, Cloud-Computing-Dienst usw.). In einigen Fällen kann die QoS aus der Perspektive der Benutzer dieses Dienstes beschrieben oder gemessen werden, und entsprechend kann QoS der kollektive Effekt der Dienstperformanz sein, die den Grad der Zufriedenheit eines Benutzers dieses Dienstes bestimmt. In anderen Fällen verweist QoS zumindest in einigen Ausführungsformen auf Verkehrspriorisierungs- und Ressourcenreservierungssteuermechanismen anstelle der erzielten Wahrnehmung der Dienstqualität. In diesen Fällen ist QoS die Fähigkeit, für verschiedene Anwendungen, Benutzer oder Flüsse unterschiedliche Prioritäten bereitzustellen oder für einen Fluss ein gewisses Performanzniveau zu garantieren. In beiden Fällen ist QoS durch die kombinierten Aspekte von Leistungsfaktoren gekennzeichnet, die auf einen oder mehrere Dienste anwendbar sind, wie beispielsweise Dienstoperabilitätsleistung, Dienstzugänglichkeitsleistung, Dienstbeibehaltungsfähigkeitsleistung, Dienstzuverlässigkeitsleistung, Dienstintegritätsleistung und andere Faktoren, die für jeden Dienst spezifisch sind. Mehrere verwandte Aspekte des Dienstes können berücksichtigt werden, wenn die QoS quantifiziert wird, einschließlich Paketverlustraten, Bitraten, Durchsatz, Übertragungsverzögerung, Verfügbarkeit, Zuverlässigkeit, Jitter, Signalstärke und/oder Qualitätsmessungen und/oder anderer Messungen, wie etwa der hierin erörterten. Zusätzlich oder alternativ verweist der Begriff „Dienstgüte/-qualität“ oder „QoS“ zumindest in einigen Ausführungsformen auf Mechanismen, die eine Verkehrsweiterleitungsbehandlung basierend auf flussspezifischer Verkehrsklassifikation bereitstellen. In einigen Implementierungen kann der Begriff „Dienstgüte/-qualität“ oder „QoS“ austauschbar mit dem Begriff „Dienstklasse“ oder „CoS“ verwendet werden.
  • Der Begriff „Dienstklasse“ oder „CoS“ verweist zumindest in einigen Ausführungsformen auf Mechanismen, die eine Verkehrsweiterleitungsbehandlung basierend auf einer nichtflussspezifischen Verkehrsklassifikation bereitstellen. In einigen Implementierungen kann der Begriff „Dienstklasse“ oder „CoS“ austauschbar mit dem Begriff „Dienstgüte/-qualität“ oder „QoS“ verwendet werden.
  • Der Begriff „QoS-Fluss“ verweist zumindest in einigen Ausführungsformen auf die feinste Granularität für QoS-Weiterleitungsbehandlung in einem Netzwerk. Der Begriff „5G-QoS-Fluss“ verweist zumindest in einigen Ausführungsformen auf die feinste Granularität für QoS-Weiterleitungsbehandlung in einem 5G-System (5GS). Verkehr, der demselben QoS-Fluss (oder 5G-QoS-Fluss) zugeordnet ist, empfängt die gleiche Weiterleitungsbehandlung.
  • Der Begriff „Zuverlässigkeitsfluss“ verweist zumindest in einigen Ausführungsformen auf die feinste Granularität zur Zuverlässigkeitsweiterleitungsbehandlung in einem Netzwerk, wobei Verkehr, der dem gleichen Zuverlässigkeitsfluss zugeordnet wird, die gleiche Zuverlässigkeitsbehandlung empfängt. Zusätzlich oder alternativ verweist der Begriff „Zuverlässigkeitsfluss“ zumindest in einigen Ausführungsformen auf eine Zuverlässigkeitsbehandlung, die Paketen eines Datenflusses zugewiesen ist.
  • Der Begriff „Zuverlässigkeitsweiterleitungsbehandlung“ oder „Zuverlässigkeitsbehandlung“ verweist auf die Art und Weise, auf die Pakete, die zu einem Datenfluss gehören, behandelt werden, um für diesen Datenfluss ein bestimmtes Zuverlässigkeitsniveau bereitzustellen, darunter zum Beispiel eine Erfolgswahrscheinlichkeit der Paketlieferung, QoS oder Erfahrungsqualität (QoE) über einen Zeitraum (oder eine Zeiteinheit), Zulassungssteuerungsfähigkeiten, ein spezielles Codierungsschema und/oder Codierungsrate für Ankunftsdaten-Bursts.
  • Der Begriff „Weiterleitungsbehandlung“ verweist zumindest in einigen Ausführungsformen auf die Präzedenz, Präferenzen und/oder Priorisierung, die ein Paket, das zu einem bestimmten Datenfluss gehört, in Bezug auf anderen Verkehr anderer Datenflüsse empfängt. Zusätzlich oder alternativ verweist der Begriff „Weiterleitungsbehandlung“ zumindest in einigen Ausführungsformen auf eine(n) oder mehrere Parameter, Charakteristiken und/oder Konfigurationen, die auf Pakete anzuwenden sind, die zu einem Datenfluss gehören, wenn die Pakete zur Weiterleitung verarbeitet werden. Beispiele für solche Charakteristiken können Folgendes beinhalten: Ressourcentyp (z.B. nichtgarantierte Bitrate (GBR), GBR, verzögerungskritische GBR usw.); Prioritätsstufe; Klasse oder Klassifizierung; Paketverzögerungsbudget; Paketfehlerrate; Mittelungsfenster; maximales Daten-Burst-Volumen; minimales Daten-Burst-Volumen; Planungsrichtlinie/-gewichtungen; Warteschlangenverwaltungsrichtlinie; Ratenformungsrichtlinie; Verbindungs-Link-Protokoll und/oder RLC-Konfiguration; Zulassungsschwellen usw. In einigen Implementierungen kann der Begriff „Weiterleitungsbehandlung“ als „Pro-Hop-Verhalten“ oder „PHB“ bezeichnet werden.
  • Der Begriff „Zulassungssteuerung“ verweist zumindest in einigen Ausführungsformen auf eine Funktion oder einen Prozess, die/der entscheidet, ob neue Pakete, Nachrichten, Arbeit, Aufgaben usw., die in ein System eintreten, dazu zugelassen werden sollten, in das System einzutreten, oder nicht. Zusätzlich oder alternativ verweist der Begriff „Zulassungssteuerung“ zumindest in einigen Ausführungsformen auf einen Validierungsprozess, bei dem eine Prüfung durchgeführt wird, bevor eine Verbindung hergestellt wird, um zu sehen, ob aktuelle Ressourcen für die vorgeschlagene Verbindung ausreichend sind.
  • Der Begriff „QoS-Kennung“ verweist zumindest in einigen Ausführungsformen auf einen Skalar, der als eine Referenz für ein spezifisches QoS-Weiterleitungsverhalten (z.B. Paketverlustrate, Paketverzögerungsbudget usw.) verwendet wird, das einem QoS-Fluss bereitzustellen ist. Dies kann in einem Zugangsnetzwerk implementiert werden, indem knotenspezifische Parameter referenziert werden, die eine QoS-Weiterleitungsbehandlung steuern (z.B. Planungsgewichte, Zulassungsschwellen, Warteschlangenverwaltungsschwellen, Link-Schichtprotokollkonfiguration usw.).
  • Der Begriff „Lebensdauer“ (oder „TTL“) oder „Hop-Grenze“ verweist zumindest in einigen Ausführungsformen auf einen Mechanismus, der die Lebensspanne oder Lebenszeit von Daten in einem Computer oder Netzwerk begrenzt. TTL kann als ein Zähler oder Zeitstempel implementiert sein, der an die Daten angehängt oder in diese eingebettet ist. Sobald die vorgeschriebene Ereigniszählung oder Zeitspanne abgelaufen ist, werden Daten verworfen oder erneut validiert.
  • Der Begriff „Datenpuffer“ oder „Puffer“ verweist zumindest einigen Ausführungsformen auf einen Bereich eines physischen oder virtuellen Speichers, der verwendet wird, um Daten vorübergehend zu speichern, zum Beispiel wenn Daten von einem Speicherort oder Speicherraum zu einem anderen Speicherort oder Speicherraum verschoben werden, Daten zwischen Prozessen innerhalb eines Computers verschoben werden, Timingkorrekturen an einem Datenstrom vorgenommen werden, empfangene Datenpakete neu geordnet werden, die Übertragung von Datenpaketen verzögert wird und dergleichen. Zumindest in einigen Ausführungsformen kann ein „Datenpuffer“ oder „Puffer“ eine Warteschlange implementieren.
  • Der Begriff „Kreispuffer“, „kreisförmige Warteschlange“, „zyklischer Puffer“ oder „Ringpuffer“ verweist zumindest in einigen Ausführungsformen auf eine Datenstruktur, die einen einzelnen Puffer fester Größe oder einen anderen Speicherbereich verwendet, als ob er Ende-zu-Ende verbunden wäre oder als ob er eine kreisförmige oder elliptische Form aufwiese.
  • Der Begriff „Warteschlange“ verweist zumindest in einigen Ausführungsformen auf eine Sammlung von Entitäten (z.B. Daten, Objekte, Ereignisse usw.), die gespeichert und gehalten werden, um später verarbeitet zu werden, und die in einer Sequenz beibehalten werden und durch Hinzufügen von Entitäten an einem Ende der Sequenz und Entfernen von Entitäten von dem anderen Ende der Sequenz modifiziert werden können; das Ende der Sequenz, an dem Elemente hinzugefügt werden, kann als „Rückseite“, „Schwanz“ oder „Ende“ der Warteschlange bezeichnet werden, und das Ende, an dem Elemente entfernt werden, kann als der „Kopf‟ oder die „Vorderseite“ der Warteschlange bezeichnet werden. Zusätzlich kann eine Warteschlange die Funktion eines Puffers durchführen und die Begriffe „Warteschlange“ und „Puffer“ können in der gesamten vorliegenden Offenbarung austauschbar verwendet werden. Der Begriff „Einreihen in eine Warteschlange“ verweist zumindest in einigen Ausführungsformen auf eine oder mehrere Operationen zum Hinzufügen eines Elements zum Ende einer Warteschlange. Der Begriff „Entfernen aus der Warteschlange“ verweist zumindest in einigen Ausführungsformen auf eine oder mehrere Operationen zum Entfernen eines Elements von der Vorderseite einer Warteschlange.
  • Der Begriff „Warteschlangenverwaltung“ verweist zumindest in einigen Ausführungsformen auf ein System, einen Mechanismus, eine Richtlinie, einen Prozess, einen Algorithmus oder eine Methode, die zum Steuern einer oder mehrerer Warteschlangen verwendet wird. Der Begriff „aktive Warteschlangenverwaltung“ oder „AQM“ bezieht sich zumindest in einigen Ausführungsformen auf ein System, einen Mechanismus, eine Richtlinie, einen Prozess, einen Algorithmus oder eine Methode zum Verwerfen von Paketen in einer Warteschlange oder einem Puffer, bevor die Warteschlange oder der Puffer voll wird. Der Begriff „AQM-Entität“ kann sich vorliegend auf einen Netzwerkplaner, eine Konvergenzschichtentität, eine Netzwerkeinrichtung, eine Netzwerkfunktion und/oder eine andere ähnliche Entität beziehen, die AQM-Aufgaben durchführt/ausführt.
  • Der Begriff „Warteschlangenverwaltungsmethode“ verweist zumindest in einigen Ausführungsformen auf ein bestimmtes Warteschlangenverwaltungssystem, einen bestimmten Mechanismus, eine bestimmte Richtlinie, einen bestimmten Prozess und/oder einen bestimmten Algorithmus, die eine „Verwurfsrichtlinie“ beinhalten können. Der Begriff „aktive Warteschlangenverwaltungsmethode“ oder „AQM-Methode“ verweist zumindest in einigen Ausführungsformen auf ein bestimmtes AQM-System, einen bestimmten Mechanismus, eine bestimmte Richtlinie, einen bestimmten Prozess und/oder einen bestimmten Algorithmus.
  • Der Begriff „Verwurfsrichtlinie“ verweist zumindest in einigen Ausführungsformen auf einen Satz von Richtlinien oder Regeln, die von einer Warteschlangenverwaltungsmethode oder ARM-Methode verwendet werden, um zu bestimmen, wann Daten oder Pakete aus einer Warteschlange oder einem Puffer oder Daten oder Pakete, die zur Speicherung in einer Warteschlange oder einem Puffer ankommen, verworfen, entfernt, gelöscht oder anderweitig fallen gelassen werden sollen.
  • Der Begriff „Stapel“ bezieht sich zumindest in einigen Ausführungsformen auf einen abstrakten Datentyp, der als eine Sammlung von Elementen dient und eine Push-Operation oder - Funktion, eine Pop-Operation oder -Funktion und manchmal eine Peek-Operation oder -Funktion beinhalten kann.
  • Der Begriff „Push“ verweist im Kontext von Datenstrukturen, wie etwa Stapeln, Puffern und Warteschlangen, zumindest in einigen Ausführungsformen auf eine Operation oder Funktion, die ein oder mehrere Elemente zu einer Sammlung oder einem Satz von Elementen hinzufügt.
  • Der Begriff „Pop“ bezieht sich im Kontext von Datenstrukturen, wie etwa Stapeln, Puffern und Warteschlangen, zumindest in einigen Ausführungsformen auf eine Operation oder Funktion, die ein oder mehrere Elemente aus einer Sammlung oder einem Satz von Elementen entnimmt oder diese anderweitig erhält.
  • Der Begriff „Peek“ verweist im Kontext von Datenstrukturen, wie etwa Stapeln, Puffern und Warteschlangen, zumindest in einigen Ausführungsformen auf eine Operation oder Funktion, die Zugriff auf ein oder mehrere Elemente aus einer Sammlung oder einem Satz von Elementen bereitstellt.
  • Der Begriff „Netzwerkplaner“ bezieht sich zumindest in einigen Ausführungsformen auf einen Knoten, ein Element oder eine Entität, der/die Netzwerkpakete in Übertragungs- und/oder Empfangswarteschlangen eines oder mehrerer Protokollstapel einer Netzwerkzugangsschaltungsanordnung (z.B. einer Netzwerkschnittstellensteuerung (NIC), eines Basisbandprozessors und dergleichen) verwaltet. Der Begriff „Netzwerkplaner“ kann zumindest in einigen Ausführungsformen austauschbar mit den Begriffen „Paketplaner“, „Warteschlangendisziplin“ oder „QDisc“ oder „Warteschlangenalgorithmus“ verwendet werden.
  • Der Begriff „Netzwerkcodierung“ verweist zumindest in einigen Ausführungsformen auf Prozesse und/oder Techniken, in denen übertragene Daten codiert und decodiert werden, um die Netzwerkperformanz zu verbessern
  • Der Begriff „Coderate“ verweist zumindest in einigen Ausführungsformen auf den Anteil eines Datenstroms oder Datenflusses, der nützlich oder nicht redundant ist (z.B. für eine Coderate von kln erzeugt der (die) Codierer für alle k Bits nützlicher Informationen insgesamt n Bits an Daten, von denen n - k redundant sind).
  • Der Begriff „systematischer Code“ verweist zumindest in einigen Ausführungsformen auf einen beliebigen Fehlerkorrekturcode, in dem die Eingabedaten in der codierten Ausgabe eingebettet sind. Der Begriff „nichtsystematischer Code“ verweist zumindest in einigen Ausführungsformen auf einen beliebigen Fehlerkorrekturcode, bei dem die Eingabedaten nicht in die codierte Ausgabe eingebettet sind.
  • Der Begriff „Verschachteln“ verweist zumindest in einigen Ausführungsformen auf einen Prozess zum Umordnen von Codesymbolen, um Fehler-Bursts über mehrere Codewörter zu verteilen, die durch ECCs korrigiert werden können.
  • Der Begriff „Code-Wort“ oder „Codewort“ verweist zumindest in einigen Ausführungsformen auf ein Element eines Codes oder Protokolls, das gemäß speziellen Regeln des Codes oder Protokolls zusammengesetzt wird.
  • Der Begriff „Huckepack“ (piggyback) oder „Huckepacknehmen“ (piggybacking) bezieht sich im Kontext von Computerkommunikationen und/oder Networking auf das Anhängen, Anfügen oder Einhaken einer ersten Dateneinheit an eine zweite Dateneinheit, die als nächstes oder irgendwann vor der ersten Dateneinheit übertragen werden soll; auf diese Weise erhält die erste Dateneinheit eine „Mitfahrgelegenheit“ in dem Datenpaket oder Frame, das/der die zweite Dateneinheit trägt.
  • Der Begriff „PDU-Verbindungsdienst“ verweist zumindest in einigen Ausführungsformen auf einen Dienst, der einen Austausch von Protokolldateneinheiten (PDUs) zwischen einem UE und einem Datennetzwerk (DN) bereitstellt. Der Begriff „PDU-Sitzung“ verweist zumindest in einigen Ausführungsformen auf eine Assoziation zwischen einem UE und einem DN, das einen PDU-Konnektivitätsdienst bereitstellt. Ein PDU-Sitzungstyp kann IPv4, IPv6, IPv4v6, Ethernet, Unstructured oder ein beliebiger anderer Netzwerk-/Verbindungstyp, wie etwa die vorliegend besprochenen, sein. Der Begriff „MA-PDU-Sitzung“ verweist zumindest in einigen Ausführungsformen auf eine PDU-Sitzung, die einen PDU-Konnektivitätsdienst bereitstellt, der jeweils ein Zugangsnetzwerk oder mehrere Zugangsnetzwerke simultan verwenden kann.
  • Der Begriff „Verkehrsformen“ verweist zumindest in einigen Ausführungsformen auf eine Bandbreitenverwaltungstechnik, die eine Datenübertragung verwaltet, um einem gewünschten Verkehrsprofil oder einer gewünschten Dienstklasse zu entsprechen. Das Verkehrsformen stellt eine ausreichende Netzwerkbandbreite für zeitsensitive kritische Anwendungen unter Verwendung von Richtlinienregeln, Datenklassifizierung, Warteschlangen, QoS und anderen Methoden sicher. Der Begriff „Drosseln“ verweist zumindest in einigen Ausführungsformen auf die Regelung von Flüssen in ein Netzwerk oder aus diesem heraus oder in eine spezielle Vorrichtung oder ein spezielles Element oder daraus heraus.
  • Der Begriff „Zugangsverkehrslenkung“ oder „Verkehrslenkung“ verweist zumindest in einigen Ausführungsformen auf eine Prozedur, die ein Zugangsnetzwerk für einen neuen Datenfluss auswählt und den Verkehr eines oder mehrerer Datenflüsse über das ausgewählte Zugangsnetzwerk überträgt. Zugangsverkehrslenkung ist zwischen einem 3GPP-Zugang und einem Nicht-3GPP-Zugang anwendbar.
  • Der Begriff „Zugangsverkehrsvermittlung“ oder „Verkehrsvermittlung“ verweist zumindest in einigen Ausführungsformen auf eine Prozedur, die einen Teil oder den gesamten Verkehr eines andauernden Datenflusses von wenigstens einem Zugangsnetzwerk zu wenigstens einem anderen Zugangsnetzwerk auf eine Weise bewegt, die die Kontinuität des Datenflusses beibehält.
  • Der Begriff „Zugangsverkehrsaufteilung“ oder „Verkehrsaufteilung“ verweist zumindest in einigen Ausführungsformen auf eine Prozedur, die den Verkehr wenigstens eines Datenflusses über mehrere Zugangsnetzwerke aufteilt. Wenn eine Verkehrsaufteilung auf einen Datenfluss angewandt wird, wird ein Teil des Verkehrs des Datenflusses über wenigstens einen Zugangskanal, -link oder -pfad übertragen, und ein anderer Teil des Verkehrs desselben Datenflusses wird über einen anderen Zugangskanal, -link oder -pfad übertragen.
  • Der Begriff „Netzwerkadresse“ verweist zumindest in einigen Ausführungsformen auf eine Kennung für einen Knoten oder Host in einem Computernetzwerk und kann eine eindeutige Kennung über ein Netzwerk hinweg sein und/oder kann für einen lokal verwalteten Teil des Netzwerks eindeutig sein. Beispiele für Netzwerkadressen beinhalten eine geschlossene Zugangsgruppenkennung (CAG-ID), eine Bluetooth-Hardwarevorrichtungsadresse (BDADDR), eine Mobilfunknetzadresse (z.B. einen Zugangspunktnamen (APN), eine AMF-Kennung (AMF-ID), eine AF-Dienstkennung, eine Edge-Anwendungsserver- (EAS-) ID, eine Datennetzwerkzugangskennung (DNAI), einen Datennetzwerknamen (DNN), eine EPS-Trägerkennung (EBI), ein Geräteidentitätsregister (EIR) und/oder 5G-EIR, eine erweiterte eindeutige Kennung (EUI), eine Gruppen-ID zur Netzwerkauswahl (GIN), eine generische öffentliche Teilnehmerkennung (GPSI), eine globale eindeutige AMF-Kennung (GUAMI), eine globale eindeutige temporäre Kennung (GUTI) und/oder 5G-GUTI, eine International Mobile Equipment Identity (IMEI), einen IMEI-Typ-Zuordnungscode (IMEA/TAC), eine internationale Mobilfunk-Teilnehmerkennung (IMSI), eine Lokaldatennetz- (LADN-) DNN, eine Mobilteilnehmeridentifikationsnummer (MSIN), eine Mobilteilnehmer/-stations-ISDN-Nummer (MSISDN), eine Netzwerkkennung (NID), eine Netzwerk-Slice-Instanz- (NSI-) ID, eine Permanentgerätekennung (PEI), eine öffentliche terrestrische Mobilfunknetz- (PLMN-) ID, eine QOS-Fluss-ID (QFI) und/oder 5G-QoS-Kennung (5QI), eine RAN-ID, einen Routing-Indikator, eine SMS-Funktions- (SMSF-) ID, eine eigenständige nichtöffentliche Netzwerk- (SNPN-) ID, eine verdeckte Teilnehmerkennung (SUCI), eine permanente Teilnehmerkennung (SUPI), eine temporäre mobile Teilnehmerkennung (TMSI) und Varianten davon, UE-Zugriffskategorie und - kennung und/oder andere mobilfunknetzbezogene Kennungen), eine E-Mail-Adresse, eine Unternehmensanwendungsserver- (EAS-) ID, eine Endpunktadresse, einen elektronischen Produktcode (EPC), wie durch den EPCglobal Tag Data Standard definiert, einen Fully Qualified Domain Name (FQDN), eine Internetprotokoll- (IP-) Adresse in einem IP-Netzwerk (z.B. IP-Version 4 (Ipv4), IP-Version 6 (IPv6) usw.), eine Internet-Packet-Exchange- (IPX-) Adresse, eine ID eines lokalen Netzes (LAN), eine Media-Access-Control- (MAC-) Adresse, eine ID eines persönlichen Netzwerks, eine Anschlussnummer (z.B. eine Transmission-Control-Protocol-(TCP-) Anschlussnummer, eine User-Datagram-Protocol- (UDP-) Anschlussnummer), eine QUIC-Verbindungs-ID, einen RFID-Tag, einen Service Set Identifier (SSID) und Varianten davon, Telefonnummern in einem öffentlichen Telefonnetz (PTSN), einen Universally Unique Identifier (UUID) (wie z.B. in ISO/IEC 11578:1996 spezifiziert), einen Uniform Resource Locator (URL) und/oder Uniform Resource Identifier (URI), eine virtuelle LAN- (VLAN-) ID, eine X.21-Adresse, eine X.25-Adresse, eine Zigbee®-ID, eine Zigbee®-Vorrichtungsnetz-ID und/oder eine beliebige geeignete Netzwerkadresse oder Komponenten davon.
  • Der Begriff „Anwendungskennung“, „Anwendungs-ID“ oder „App-ID“ verweist zumindest in einigen Ausführungsformen auf eine Kennung, die einer speziellen Anwendung oder Anwendungsinstanz zugeordnet werden kann; im Kontext von 3GPP-SG/NR-Systemen verweist eine „Anwendungskennung“ zumindest in einigen Ausführungsformen auf eine Kennung, die einer speziellen Anwendungsverkehrsdetektionsregel zugeordnet werden kann.
  • Der Begriff „Endpunktadresse“ verweist zumindest in einigen Ausführungsformen auf eine Adresse, die verwendet wird, um den Host -/Autoritätsteil einer Ziel-URI zu bestimmen, wobei die Ziel-URI verwendet wird, um auf einen NF-Dienst eines NF-Diensterzeugers zuzugreifen (z.B. um Dienstoperationen aufzurufen), oder für Benachrichtigungen an einen NF-Dienstverbraucher.
  • Der Begriff „geschlossene Zugangsgruppe“ oder „CAG“ verweist zumindest in einigen Ausführungsformen auf eine Gruppe einer Liste von Benutzern, denen erlaubt ist, sich mit einem speziellen Netzwerk, einem speziellen Zugangsnetzwerk zu verbinden und/oder darauf zuzugreifen und/oder einer Anbindung an eine spezielle Zelle oder einen speziellen Netzwerkzugangsknoten vorzunehmen. Geschlossene Zugangsgruppen (CAGs) werden manchmal als Zugangskontrolllisten (ACLs), geschlossene Teilnehmergruppen (CSGs), geschlossene Benutzergruppen (CUGs) und dergleichen bezeichnet. Der Begriff „CAG-ID“ verweist zumindest in einigen Ausführungsformen auf eine Kennung eines CAG.
  • Der Begriff „Port“ verweist im Kontext von Computernetzwerken zumindest in einigen Ausführungsformen auf einen Kommunikationsendpunkt, eine virtuelle Datenverbindung zwischen zwei oder mehr Entitäten und/oder einen virtuellen Punkt, an dem Netzwerkverbindungen beginnen und enden. Zusätzlich oder alternativ ist ein „Port“ zumindest in einigen Ausführungsformen mit einem speziellen Prozess oder Dienst assoziiert.
  • Der Begriff „Subnetzwerk“ oder „Subnetz“ verweist zumindest in einigen Ausführungsformen auf eine logische Untergliederung eines Netzwerks, wie etwa eines IP-Netzwerks. Die Praxis des Aufteilens eines Netzwerks in zwei oder mehr Netzwerke wird als „Subnetting“ bezeichnet.
  • Der Begriff „Netzmaske“ oder „Subnetzmaske“ verweist zumindest in einigen Ausführungsformen auf eine Bitmaske, die durch bitweise UND-Operationen auf eine Netzwerkadresse (z.B. eine IP-Adresse in einem IP-Netzwerk) angewandt wird, um ein Routing-Präfix zu erhalten, und/oder ist eine 32-Bit-„Maske“, die verwendet wird, um eine IP-Adresse in Subnetze aufzuteilen und die verfügbaren Hosts des Netzwerks zu spezifizieren.
  • Der Begriff „lokalisiertes Netzwerk“ verweist zumindest in einigen Ausführungsformen auf ein lokales Netzwerk, das eine begrenzte Anzahl verbundener Fahrzeuge in einem bestimmten Bereich oder Gebiet abdeckt.
  • Der Begriff „lokale Datenintegrationsplattform“ verweist zumindest in einigen Ausführungsformen auf eine Plattform, eine Vorrichtung, ein System, ein Netzwerk oder (ein) Element(e), die lokale Daten durch Nutzen einer Kombination von (einem) lokalisierten Netzwerk(en) und verteilter Berechnung integrieren.
  • Der Begriff „Clear Channel Assessment-Funktion (CCA-Funktion)“ verweist zumindest in einigen Ausführungsformen auf eine logische Funktion in der Bitübertragungsschicht (PHY), die den aktuellen Nutzungszustand eines drahtlosen Mediums bestimmt.
  • Der Begriff „Bandbreite“ verweist zumindest in einigen Ausführungsformen auf die maximale Datenübertragungsrate über einen gegebenen Pfad. Zusätzlich oder alternativ verweist der Begriff „Bandbreite“ zumindest in einigen Ausführungsformen auf Kapazität zum Tragen von Daten eines Netzwerks oder Übertragungsmediums.
  • Der Begriff „Bitrate“ verweist zumindest in einigen Ausführungsformen auf die Anzahl an Bits, die pro Zeiteinheit übermittelt oder verarbeitet werden.
  • Der Begriff „Kanalkapazität“ verweist zumindest in einigen Ausführungsformen auf eine Obergrenze der Rate, mit der Daten zuverlässig über einen Kommunikationskanal und/oder bei gegebenem Rauschen auf einem Kanal übertragen werden können.
  • Der Begriff „Datenrate“ verweist zumindest in einigen Ausführungsformen auf eine Übertragungsgeschwindigkeit eines Netzwerks. Zusätzlich oder alternativ verweist der Begriff „Datenrate“ zumindest in einigen Ausführungsformen auf die Datenmenge, die während eines spezifizierten Zeitraums übertragen wird, und/oder die Geschwindigkeit, mit der Daten von einer Entität oder einem Element zu einer anderen Entität oder einem anderen Element übertragen werden. Zusätzlich oder alternativ kann der Begriff „Datenrate“ zumindest in einigen Ausführungsformen austauschbar mit der „Bitrate“, „Datensignalisierungsrate“, „Symbolrate“, dem „Durchsatz“ und/oder der „Datenübertragungsrate“ verwendet werden.
  • Der Begriff „Verzögerung“ verweist zumindest in einigen Ausführungsformen auf ein Zeitintervall zwischen zwei Ereignissen. Zusätzlich oder alternativ verweist der Begriff „Verzögerung“ zumindest in einigen Ausführungsformen auf ein Zeitintervall zwischen der Propagation eines Signals und seinem Empfang.
  • Der Begriff „Verzögerungsgrenze“ verweist zumindest in einigen Ausführungsformen auf einen vorbestimmten oder konfigurierten akzeptablen Verzögerungsbetrag. Der Begriff „Verzögerungsgrenze pro Paket“ verweist zumindest in einigen Ausführungsformen auf einen vorbestimmten oder konfigurierten akzeptablen Verzögerungsbetrag, wobei Pakete, die nicht innerhalb der Verzögerungsgrenze verarbeitet und/oder übertragen werden, als Lieferausfälle betrachtet werden und verworfen oder fallen gelassen werden.
  • Der Begriff „Datendurchsatz“ (Goodput) verweist zumindest in einigen Ausführungsformen auf eine Anzahl an nützlichen Informationsbits, die durch das Netzwerk pro Zeiteinheit an ein bestimmtes Ziel geliefert werden.
  • Der Begriff „Latenz“ verweist zumindest in einigen Ausführungsformen auf die Zeitdauer, die benötigt wird, um eine erste/anfängliche Dateneinheit in einem Daten-Burst von einem Punkt zu einem anderen zu übertragen.
  • Der Begriff „Netzwerkverzögerung“ verweist zumindest in einigen Ausführungsformen auf die Verzögerung einer Dateneinheit innerhalb eines Netzwerks (zum Beispiel eines IP-Pakets innerhalb eines IP-Netzwerks).
  • Der Begriff „Paketverzögerung“ verweist zumindest in einigen Ausführungsformen auf die Zeit, die benötigt wird, um ein beliebiges Paket von einem Punkt zu einem anderen zu übertragen. Zusätzlich oder alternativ verweist der Begriff „Paketverzögerung“ oder „Verzögerung pro Paket“ zumindest in einigen Ausführungsformen auf die Differenz zwischen einer Paketempfangszeit und einer Paketübertragungszeit. Zusätzlich oder alternativ kann die „Paketverzögerung“ oder „Verzögerung pro Paket“ gemessen werden, indem die Paketsendezeit von der Paketempfangszeit subtrahiert wird, wobei der Sender und der Empfänger wenigstens zu einem gewissen Grad synchronisiert sind.
  • Der Begriff „Paket-Drop-Rate“ (Paketverwurfsrate bzw. Rate fallen gelassener Pakete) verweist zumindest in einigen Ausführungsformen auf einen Anteil an Paketen, die aufgrund hoher Verkehrslast oder Verkehrsverwaltung nicht an das Ziel gesendet wurden, und sollte als Teil der Paketverlustrate angesehen werden.
  • Der Begriff „Paketverlustrate“ verweist zumindest in einigen Ausführungsformen auf einen Anteil an Paketen, die nicht durch das Ziel empfangen werden konnten, einschließlich Paketen, die fallen gelassen werden, Paketen, die bei der Übertragung verloren gehen, und Paketen, die in falschem Format empfangen werden.
  • Der Begriff „Performanzindikator“ verweist zumindest in einigen Ausführungsformen auf über eine Gruppe von Netzwerkfunktionen (NFs) aggregierte Performanzdaten, die aus an den NFs, die zu der Gruppe gehören, gesammelten Performanzmessungen gemäß dem in einer Performanzindikatordefinition identifizierten Aggregationsverfahren abgeleitet werden.
  • Der Begriff „Bitübertragungs-/physische Rate“ oder „PHY-Rate“ verweist zumindest in einigen Ausführungsformen auf eine Geschwindigkeit, mit der ein oder mehrere Bits tatsächlich über ein Übertragungsmedium gesendet werden. Zusätzlich oder alternativ verweist der Begriff „Bitübertragungs-/physische Rate“ oder „PHY-Rate“ zumindest in einigen Ausführungsformen auf eine Geschwindigkeit, mit der sich Daten über einen drahtgebundenen oder drahtlosen Link zwischen einem Sender und einem Empfänger bewegen können.
  • Der Begriff „Verarbeitungsverzögerung“ verweist zumindest in einigen Ausführungsformen auf eine Zeitdauer, die benötigt wird, um ein Paket in einem Netzwerkknoten zu verarbeiten.
  • Der Begriff „Propagationsverzögerung“ verweist zumindest in einigen Ausführungsformen auf die Zeitdauer, die der Header eines Signals benötigt, um sich von einem Sender zu einem Empfänger zu bewegen.
  • Der Begriff „Warteschlangenverzögerung“ verweist zumindest in einigen Ausführungsformen auf eine Zeitdauer, für die ein Auftrag in einer Warteschlange wartet, bis dieser Auftrag ausgeführt werden kann. Zusätzlich oder alternativ verweist der Begriff „Warteschlangenverzögerung“ zumindest in einigen Ausführungsformen auf eine Zeitdauer, für die ein Paket in einer Warteschlange wartet, bis es verarbeitet und/oder übertragen werden kann.
  • Der Begriff „Übertragungsverzögerung“ verweist zumindest in einigen Ausführungsformen auf eine Zeitdauer, die benötigt wird (oder notwendig ist), um ein Paket (oder alle Bits eines Pakets) in ein Übertragungsmedium zu schieben („pushen“).
  • Der Begriff „Durchsatz“ oder „Netzwerkdurchsatz“ verweist zumindest in einigen Ausführungsformen auf eine Produktionsrate oder die Rate, mit der etwas verarbeitet wird. Zusätzlich oder alternativ verweist der Begriff „Durchsatz“ oder „Netzwerkdurchsatz“ zumindest in einigen Ausführungsformen auf eine Rate einer erfolgreichen Datenlieferung über einen Kommunikationskanal.
  • Der Begriff „Anwendung“ verweist zumindest in einigen Ausführungsformen auf ein Computerprogramm, das dazu ausgelegt ist, eine spezielle Aufgabe außer einer, die den Betrieb des Computers selbst betrifft, auszuführen. Zusätzlich oder alternativ verweist der Begriff „Anwendung“ zumindest in einigen Ausführungsformen auf ein(e) vollständige(s) und einsetzbares Package, Umgebung, um eine gewisse Funktion in einer Betriebsumgebung zu erreichen.
  • Der Begriff „Algorithmus“ verweist zumindest in einigen Ausführungsformen auf eine eindeutige Spezifikation davon, wie ein Problem oder eine Klasse von Problemen durch Durchführen von Berechnungen, Eingabe/Ausgabe-Operationen, Datenverarbeitung, automatisierten Schlussfolgerungsaufgaben und/oder dergleichen zu lösen ist.
  • Der Begriff „Instanz“ verweist zumindest in einigen Ausführungsformen auf ein konkretes Auftreten eines Objekts, das zum Beispiel während der Ausführung von Programmcode auftreten kann. Zusätzlich oder alternativ verweist der Begriff „Instanz“ zumindest in einigen Ausführungsformen auf einen laufenden Prozess oder auf ein Objekt als eine Instanz einer Klasse. Zusätzlich oder alternativ verweist der Begriff „Instanz“ zumindest in einigen Ausführungsformen auf ein Objekt oder die Erstellung eines Objekts, wobei sich das „Objekt“ zumindest in einigen Ausführungsformen auf einen Ort in einem Speicher bezieht, der einen Wert aufweist und möglicherweise durch eine Kennung oder Referenz referenziert wird, oder einen Speicherbereich, der einen oder mehrere Werte aufweist und möglicherweise durch eine oder mehrere Kennungen oder Referenzen referenziert wird. Zusätzlich oder alternativ verweist der Begriff „Instanz“ zumindest in einigen Ausführungsformen auf eine individuelle virtuelle Maschine (VM) oder einen Container in einer virtualisierten Umgebung (zum Beispiel Cloud-Computing- oder Edge-Computing-System/Dienst), die eine Virtualisierung auf Benutzerebene und/oder Betriebssystemebene bereitstellt. Zusätzlich oder alternativ verweist der Begriff „Anwendungsinstanz“ zumindest in einigen Ausführungsformen auf eine Sammlung von Diensten und/oder Dienstgruppen. Die Begriffe „Instanziieren“, „Instanziierung“ und dergleichen verweisen zumindest in einigen Ausführungsformen auf die Erstellung einer Instanz. Zusätzlich oder alternativ verweist der Begriff „Instanziieren“ oder „Instanziierung“ zumindest in einigen Ausführungsformen auf das Repräsentieren (bzw. eine Repräsentation) einer Instanz.
  • Der Begriff „Unterhaltung/Pflege“ oder „unterhalten/pflegen“ bezieht sich zumindest in einigen Ausführungsformen auf (teilweise oder vollständige) Handlungen, Aufgaben, Operationen usw. zum Aufrechterhalten oder anderweitigen Beibehalten eines Objekts, einer Entität, eines Elements usw. in einem bestehenden Zustand (z.B. hinsichtlich Reparatur, Effizienz oder Gültigkeit). Zusätzlich oder alternativ bezieht sich der Begriff „Unterhaltung/Pflege“ oder „unterhalten/pflegen“ zumindest in einigen Ausführungsformen auf (teilweise oder vollständige) Handlungen, Aufgaben, Operationen usw. zum Bewahren eines Objekts, einer Entität, eines Elements usw. vor einem Ausfall oder Verfall.
  • Der Begriff „Datenverarbeitung“ oder „Verarbeitung“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Operation oder einen beliebigen Satz von Operationen, die/der an Daten oder an Sätzen von Daten durchgeführt werden/wird, unabhängig davon, ob durch automatisierte Mittel, wie etwa Sammlung, Aufzeichnung, Schreiben, Organisation, Strukturierung, Speicherung, Anpassung, Änderung, Abruf, Konsultation, Verwendung, Offenbarung durch Übertragung, Verbreitung oder anderweitige Bereitstellung, Ausrichtung oder Kombination, Beschränkung, Löschung und/oder Vernichtung.
  • Der Begriff „Softwareagent“ verweist zumindest in einigen Ausführungsformen auf ein Computerprogramm, das für einen Benutzer oder ein anderes Programm in einer Agenturbeziehung agiert.
  • Der Begriff „Verwendungsfall“ verweist zumindest in einigen Ausführungsformen auf eine Beschreibung eines Systems aus der Perspektive eines Benutzers. Verwendungsfälle behandeln manchmal ein System als eine Blackbox, und die Interaktionen mit dem System, einschließlich Systemantworten, werden als von außerhalb des Systems wahrgenommen. Verwendungsfälle vermeiden typischerweise technischen Jargon, wobei stattdessen die Sprache des Endbenutzers oder Domänenfachmanns bevorzugt wird.
  • Der Begriff „Analytik“ verweist zumindest in einigen Ausführungsformen auf die Erkennung, Interpretation und Kommunikation bedeutungstragender Muster in Daten.
  • Der Begriff „Anwendungsprogrammierungsschnittstelle“ oder „API“ verweist zumindest in einigen Ausführungsformen auf einen Satz von Subroutinedefinitionen, Kommunikationsprotokollen und Werkzeugen zum Aufbauen von Software. Zusätzlich oder alternativ verweist der Begriff „Anwendungsprogrammierungsschnittstelle“ oder „API“ zumindest in einigen Ausführungsformen auf einen Satz klar definierter Verfahren zur Kommunikation zwischen verschiedenen Komponenten. Eine API kann für ein webbasiertes System, Betriebssystem, Datenbanksystem, Computerhardware oder Softwarebibliothek sein.
  • Der Begriff „Datenbank“ bezieht sich zumindest in einigen Ausführungsformen auf eine organisiert Sammlung von Daten, die unter Verwendung einer Datenverarbeitungsvorrichtung elektronisch gespeichert und abgerufen wird. Eine Datenbank (DB) kann ein oder mehrere DB-Objekte beinhalten, die durch ein DB-Verwaltungssystem (DB management system, DBMS) verwaltet werden. Jedes DB-Objekt beinhaltet eine Anzahl von Datensätzen, und jeder Datensatz kann einen Satz von Feldern beinhalten. Ein Datensatz kann basierend auf dem verwendeten DB-Modell und/oder dem spezifischen DB-Objekt, zu dem er gehört, unterschiedliche Formen annehmen; zum Beispiel kann ein Datensatz eine Zeile in einer Tabelle einer relationalen DB; ein JSON- (JavaScript Object Notation) Objekt; ein Datenelement in einem XML-Dokument; ein Schlüsselwertpaar; ein Eintrag in einer Hash-Tabelle; und/oder dergleichen sein.
  • Der Begriff „Index“ bezieht sich zumindest in einigen Ausführungsformen auf ein Objekt, das einen Wert auf ein gespeichertes Objekt oder Datenelement abbildet. Zusätzlich oder alternativ verweist der Begriff „Index“ zumindest in einigen Ausführungsformen auf eine beliebige Datenstruktur, die den Zugriff oder das Abrufen von Daten in einer Datenstruktur unterstützt. Zusätzlich oder alternativ verweist der Begriff „Index“ zumindest in einigen Ausführungsformen auf eine Datenstruktur, die auf Datenelemente oder Datensätze in einer Datenbank verweist oder sich auf diese bezieht.
  • Der Begriff „Datagramm“ verweist zumindest in einigen Ausführungsformen auf eine Basisübertragungseinheit, die mit einem paketvermittelten Netzwerk assoziiert ist; ein Datagramm kann so strukturiert sein, dass es Header- und Nutzdatenabschnitte aufweist. Der Begriff „Datagramm“ kann zumindest in einigen Ausführungsformen als eine „Dateneinheit“, eine „Protokolldateneinheit“ oder „PDU“, eine „Dienstdateneinheit“ oder „SDU“, ein Rahmen, ein Paket und/oder dergleichen bezeichnet werden.
  • Der Begriff „Informationselement“ verweist zumindest in einigen Ausführungsformen auf ein Strukturelement, das ein oder mehrere Felder enthält.
  • Der Begriff „Feld“ verweist zumindest in einigen Ausführungsformen auf individuelle Inhalte eines Informationselements oder eines Datenelements, das Inhalte enthält.
  • Der Begriff „Datenelement“ oder „DE“ verweist zumindest in einigen Ausführungsformen auf einen Datentyp, der ein einziges Datenstück enthält.
  • Der Begriff „Datenrahmen“ oder „DF“ (data frame) verweist zumindest in einigen Ausführungsformen auf einen Datentyp, der mehr als ein Datenelement in einer vordefinierten Reihenfolge enthält.
  • Der Begriff „Referenz“ verweist zumindest in einigen Ausführungsformen auf Daten, die verwendet werden können, um andere Daten zu lokalisieren, und kann auf vielfältige Weise implementiert werden (z.B. ein Zeiger, ein Index, ein Handle, ein Schlüssel, eine Kennung, ein Hyperlink, eine Speicheradresse usw.).
  • Auch wenn viele der vorstehenden Beispiele unter Verwendung von spezieller Zellular-/Mobilnetzwerkterminologie bereitgestellt sind, einschließlich unter Verwendung von 4G/5G-3 GPP-Netzwerkkomponenten (oder erwarteten terahertzbasierten Technologien von 6G/6G+), versteht es sich, dass diese Beispiele auf viele andere Anwendungen von Weitverkehrs- und Lokaldrahtlosnetzwerken sowie die Integration drahtgebundener Netzwerke (einschließlich optischer Netzwerke und assoziierter Fasern, Sendeempfänger usw.) angewandt werden können. Ferner können verschiedene Standards (z.B. 3GPP, ETSI usw.) verschiedene Nachrichtenformate, PDUs, Container, Rahmen usw. als eine Sequenz von optionalen oder obligatorischen Datenelementen (DEs), Datenrahmen (DFs), Informationselementen (IEs) und/oder dergleichen umfassend definieren. Es versteht sich jedoch, dass die Anforderungen eines beliebigen bestimmten Standards die vorliegend besprochenen Ausführungsformen nicht einschränken sollen und daher eine beliebige Kombination von Containern, Frames, DFs, DEs, IEs, Werten, Aktionen und/oder Merkmalen in verschiedenen Ausführungsformen möglich ist, einschließlich einer beliebigen Kombination von Containern, DEs, Werten, Aktionen und/oder Merkmalen, die streng befolgt werden müssen, um derartige Standards einzuhalten, oder einer beliebigen Kombination von Containern, Frames, DFs, DEs, IEs, Werten, Aktionen und/oder Merkmalen, die stark empfohlen werden und/oder mit oder in Anwesenheit/Abwesenheit optionaler Elemente verwendet werden.
  • Auch wenn diese Implementierungen unter Bezugnahme auf spezifische beispielhafte Aspekte beschrieben wurden, ist es offensichtlich, dass verschiedene Modifikationen und Änderungen an diesen Aspekten vorgenommen werden können, ohne vom breiteren Schutzumfang der vorliegenden Offenbarung abzuweichen. Viele der vorliegend beschriebenen Anordnungen und Prozesse können in Kombination oder in Parallelen Implementierungen verwendet werden, um eine größere Bandbreite/einen größeren Durchsatz bereitzustellen und um Edge-Dienstauswahlen zu unterstützen, die den zu versorgenden Edge-Systemen zur Verfügung gestellt werden können. Dementsprechend sind die Spezifikation und die Zeichnungen eher in einem veranschaulichenden statt in einem einschränkenden Sinne aufzufassen. Die begleitenden Zeichnungen, die einen Teil hiervon bilden, zeigen zur Veranschaulichung, aber nicht zur Einschränkung, spezifische Aspekte, in denen der Gegenstand der Erfindung in die Praxis umgesetzt werden kann. Die veranschaulichten Aspekte sind hinreichend detailliert beschrieben, um einen Fachmann zu befähigen, die hier offenbarten Lehren in die Praxis umzusetzen. Andere Aspekte können genutzt und daraus abgeleitet werden, so dass strukturelle und logische Substitutionen und Änderungen vorgenommen werden können, ohne vom Schutzumfang dieser Offenbarung abzuweichen. Diese ausführliche Beschreibung ist daher nicht in einem beschränkenden Sinne aufzufassen und der Schutzumfang verschiedener Aspekte ist nur durch die angehängten Ansprüche, zusammen mit dem vollen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigt sind, definiert.
  • Auf solche Aspekte des erfindungsgemäßen Gegenstands kann hier einzeln und/oder kollektiv lediglich der Einfachheit halber Bezug genommen werden, und ohne zu beabsichtigen, den Schutzumfang dieser Anmeldung freiwillig auf einen beliebigen einzelnen Aspekt oder einen beliebigen einzelnen Erfindungsgedanken zu beschränken, falls tatsächlich mehr als einer offenbart ist. Auch wenn vorliegend konkrete Aspekte veranschaulicht und beschrieben wurden, versteht es sich daher, dass eine beliebige Anordnung, die berechnet ist, um denselben Zweck zu erfüllen, die gezeigten speziellen Aspekte ersetzen kann. Diese Offenbarung ist so zu verstehen, dass sie alle Anpassungen oder Variationen der zahlreichen Aspekte samt und sonders abdecken. Kombinationen der vorstehenden Aspekte und anderer Aspekte, die vorliegend nicht speziell beschrieben sind, ergeben sich für den Fachmann bei Durchsicht der vorstehenden Beschreibung.
  • 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 2021038063 [0088]
    • US 17469331 [0088]
    • US 63003834 [0234]
    • US 20066969 [0234]
  • Zitierte Nicht-Patentliteratur
    • IETF RFC 6824 (Januar 2013) („[RFC6824 [0066]
    • De Coninck et al., „Multipath Extensions for QUIC (MP-QUIC)“,draft-decaninck-quic-multipath-07, IETA, QUIC Working Group (3. Mai 2021 [0066]
    • Zhu et al., „User-Plane Protocols for Multiple Access Management Service“, Draft-zhu-intarea-mams-user-protocol-09, IETA, INTAREA (4. März 2020 [0066]
    • 3GPP TS 24.312 v15.0.0 (2018-06-21 [0070]
    • Rescorla et al., „Datagram Transport Layer Security Version 1.2“, IETF, RFC 6347 (Januar 2012 [0076]
    • Moriarty et al., „Deprecating TLS 1.0 und TLS 1.1“, IETF, RFC 8996 (März 2021 [0076]
    • Huttunen et al., „UDP Encapsulation of IPsec ESP-Packets“, IETF, Network Working Group, RFC 3948 (Januar 2005 [0076]
    • („[AD0071-PCT] [0088]
    • , US-Anmeldung Nr. 17/358,994, eingereicht am 25. Juni 2021 („[AD7258-US [0088]
    • Zhu et al., „Generic Multi-Access (GMA) Convergence Encapsulation Protocols“, draft-zhu-intarea-gma-14, IETA, INTAREA/Network Working Group (24. April 2021) [0102]
    • IETF RFC 6455 (Dez. 2011 [0105]
    • IETF RFC 8441 (Sept. 2018 [0105]
    • 3GPP TS 36.361 v15.0.0 [0132]
    • Dommety, G., „Key and Sequence Number Extensions to GRE“, IETF RFC 2890, (September 2000 [0132]
    • Leymann et al., „Huawei's GRE Tunnel Bonding Protocol“, IETF RFC 8157 (Mai 2017 [0132]
    • DARPA Internet Program Protocol Specification“, IETF RFC 791 (September 1981 [0179]
    • Bonica et al., „IP Fragmentation Considered Fragile“, IETF RFC 8900 (September 2020 [0186]
    • Edge-Knotenschicht [0204]
    • NANs 2031 [0205]
    • Transfer Control Protocol (TCP), Virtual Private Network (VPN), Multi-Path TCP (MPTCP), Generic Routing Encapsulation (GRE) [0206]
    • Die Endpunkte 2010 beinhalten UEs [0208]
    • IoT-Vorrichtungen 2011 [0211]
    • 3GPP TS 38. [0216]
    • , „IEEE Standard for Information Technology--Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks--Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications“ (26.2.2021 [0216]
    • 3 GPP TS 28.552 v17.3.1 (2021-06-24) („[TS28552]“), 3 GPP TS 32.425 v17.1.0 (2021-06-24) („ [0217]
    • UEs 2011, 2021 [0224]
    • Benutzern von UEs 2021 und IoT-Vorrichtungen 2011 [0226]
    • UEs 2021 und IoT-Vorrichtungen 2011 [0227]
    • IEEE Guide for Wireless Access in Vehicular Environments (WAVE) Architecture“ (10.4.2019) („[ [0229]
    • Dedicated Short Range Communication (DSRC) Message Set Dictionary“) (23.07.2020) ( [0229]
    • 3GPP TS 23.285 v16.2.0 (12-2019 [0229]
    • ETSI GS MEC 003 v2.1.1 (01-2019 [0234]
    • ETSI GS MEC 009 V2.1.1 (2019-01), ETSI GS MEC 010-1 v1.1.1 (10-2017 [0234]
    • ETSI GS MEC 010-2 v2.1.1 (11-2019 [0234]
    • ETSI GS MEC 011 V1.1.1 (7-2017 [0234]
    • „O-RAN Architecture Description" v04.00 (März 2021 [0235]
    • O-RAN Alliance WG1, „O-RAN Operations and Maintenance Interface Specification“ v04.00 (November 2020 [0235]
    • O-RAN Operations and Maintenance Architecture Specification“ v04.00 (November 2020 [0235]
    • O-RAN Alliance WG1, „Near-Real-time RAN Intelligent Controller, E2 Application Protocol (E2AP)“ v01.01 (Juli 2020 [0235]
    • O-RAN Alliance WG2, „O-RAN A1 Interface: General Aspects and Principles 2.02“ v02.02 (März 2021 [0235]
    • O-RAN Alliance WG3, „O-RAN Near-Real-time RAN Intelligent Controller Architecture & E2 General Aspects and Principles“ v01.01 (Juli 2020 [0235]
    • O-RAN Near-Real-time RAN Intelligent Controller E2 Service Model 1.0 (Februar 2020 [0235]
    • Near-Real-time RAN Intelligent Controller E2 Service Model (E2SM) KPM“ v01.00 (Februar 2020 [0235]
    • O-RAN Near-Real-time RAN Intelligent Controller E2 Service Model (E2SM), RAN Function Network Interface (NI)“ v1.0 (Februar 2020), E2SM RAN Control (E2SM-RC), O-RAN Alliance WG4, O-RAN Fronthaul Management Plane Specification, Version 2.0 (Juli 2019) [0235]
    • O-RAN Fronthaul Control, User and Synchronization Plane Specification 6.0“ v06.00 (März 2021), O-RAN Alliance WG6, „Cloud Architecture and Deployment Scenarios for O-RAN Virtualized RAN“ v02.01 (Juli 2020 [0235]
    • U.S.-Anm. Nr. 17/484,743, eingereicht am 24. September 2021 („[AD2644-US [0235]
    • 3GPP TS 23.558 v17.1.0 (24.9.2021) [0236]
    • 3GPP TS 23.501 v17.2.0 (24.9.2021 [0236]
    • Intel® Smart Edge Open Developer Guide, Version 21,09 (30. September 2021 [0237]
    • GWs 1420A, 1420B, 1450 von Figur 14 [0242]
    • UEs 2011, 2021a, den NANs 2031-2033 [0242]
    • Template Language, Handlebar Template Language, Guide Template Language (GTL), PHP, Java und/oder Java Server Pages (JSP), Node.js, ASP.NET [0268]
    • Der Computerprogrammcode 2181, 2182, 2183 [0268]
    • ; IBM® Crypto Express3®, IBM® 4807, 4808, 4809 [0269]
    • 3GPP TS 37.340 v16.6.0 (9.7.2021 [0392]
    • ), IEEE 802.15.4 basierte Protokolle (z.B. IPv6 over Low Power Wireless Personal Area Networks (6LoWPAN), WirelessHART, MiWi, Thread, 802.11a [0415]
    • LoRa Alliance, Digital Enhanced Cordless Telecommunications (DECT), DECT Ultra Low Energy (DECT [0415]
    • ISO/IEC 11578:1996 [0458]

Claims (25)

  1. Rechenknoten, umfassend: eine Speicherschaltungsanordnung zum: Instantiieren eines Ringpuffers in einem Bereich der Speicherschaltungsanordnung mit einer festen Größe, wobei der Ringpuffer eine Vielzahl von Slots beinhaltet, wobei jedem Slot ein Slot-Index einer Vielzahl von Slot-Indizes zugewiesen wird, und Instantiieren eines Satzes virtueller Warteschlangen, wobei jede virtuelle Warteschlange des Satzes virtueller Warteschlangen einer Instanz eines Satzes von Instanzen und einem Link eines Satzes von Links zugeteilt wird; und eine Prozessorschaltungsanordnung, die mit der Speicherschaltungsanordnung verbunden ist, wobei die Prozessorschaltungsanordnung Anweisungen für eine Mehrwarteschlangenverwaltung ausführen soll, die bei Ausführung die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Speichern eines zu verarbeitenden Pakets in einem betreffenden Slot der Vielzahl von Slots, wobei das Paket einer betreffenden Instanz des Satzes von Instanzen und einem betreffenden Link des Satzes von Links zugewiesen wird und dem betreffenden Slot ein betreffender Slot-Index der Vielzahl von Slot-Indizes zugewiesen wird, Speichern des betreffenden Slot-Index in einer betreffenden virtuellen Warteschlange des Satzes virtueller Warteschlangen, wobei die betreffende virtuelle Warteschlange der betreffenden Instanz und dem betreffenden Link zugeteilt wird, und Erhalten des gespeicherten Pakets aus dem betreffenden Slot unter Verwendung des betreffenden Slot-Index, wenn das Paket zur Verarbeitung geplant ist.
  2. Rechenknoten nach Anspruch 1, wobei zum Verarbeiten des gespeicherten Pakets die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Senden des gespeicherten Pakets über den betreffenden Link.
  3. Rechenknoten nach Anspruch 1 oder 2, wobei zum Speichern des zu verarbeitenden Pakets in dem betreffenden Slot die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Durchführen einer Push-Funktion, um das Paket in den betreffenden Slot zu schieben, wobei zum Durchführen der Push-Funktion die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Bestimmen eines unbelegten Slots der Vielzahl von Slots als betreffenden Slot basierend auf einem Schreibindex; Einfügen des betreffenden Slot-Index in die betreffende virtuelle Warteschlange, nachdem das Paket in den betreffenden Slot geschoben wurde; Inkrementieren eines Warteschlangengrößenzählers, nachdem das Paket in den betreffenden Slot geschoben wurde, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist; Aktualisieren eines Elementzählungsparameters des betreffenden Slots basierend auf einer Gesamtanzahl virtueller Warteschlangen der Vielzahl von Warteschlangen, die den betreffenden Slot-Index speichern; und Aktualisieren des Schreibindex derart, dass der Schreibindex auf einen unbelegten Slot der Vielzahl von Slots verweist, der sich von dem betreffenden Slot unterscheidet, wobei zum Aktualisieren des Schreibindex die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Inkrementieren des Schreibindex; und Bestimmen eines Moduls des inkrementierten Schreibindex und einer Gesamtanzahl von Slots der Vielzahl von Slots.
  4. Rechenknoten nach den Ansprüchen 1 bis 3, wobei zum Erhalten des gespeicherten Pakets aus dem betreffenden Slot die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Durchführen einer Pop-Funktion zum Entfernen des Pakets aus dem betreffenden Slot, wobei zum Durchführen der Pop-Funktion die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Erhalten des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange; Erhalten des Pakets aus dem betreffenden Slot unter Verwendung des betreffenden Slot-Index; und Entfernen oder Löschen des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange nach Identifizieren oder Erhalten des betreffenden Slot-Index.
  5. Rechenknoten nach Anspruch 4, wobei die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Dekrementieren eines Elementzählungsparameters der betreffenden virtuellen Warteschlange nach der Entfernung oder Löschung des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange; und Dekrementieren eines Warteschlangengrößenzählers, nachdem das Paket aus dem betreffenden Slot entnommen wurde, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist.
  6. Rechenknoten nach den Ansprüchen 1 bis 5, wobei die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: wenn alle Slots der Vielzahl von Slots belegt sind, Verwerfen eines oder mehrerer Slot-Indizes aus einer oder mehreren virtuellen Warteschlangen gemäß einer Verwurfsrichtlinie.
  7. Rechenknoten nach den Ansprüchen 1 bis 6, wobei: jede Instanz des Satzes von Instanzen entweder ein Thread, ein Prozess, ein Objekt, eine Datenbankentität, ein Benutzer, eine Anwendungsinstanz, eine Sitzung, ein Dienst, ein Kommunikationslink oder eine Hardwarevorrichtung ist; und jeder Link des Satzes von Links entweder eine Funkzugangstechnologie (RAT), ein Kommunikationslink in einer Mehrfachzugangs- (MX-) Kommunikationsumgebung, die gemäß einem Mehrfachzugangsverwaltungsdienst- (MAMS-) Framework arbeitet, ein Interconnect zwischen zwei oder mehr Hardwareelementen, eine Anwendungssitzung, eine Netzwerksitzung oder ein Dienst ist.
  8. Rechenknoten nach den Ansprüchen 1 bis 7, wobei der Rechenknoten ein erster Rechenknoten ist und die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Empfangen eines ersten Pakets über eine erste Verbindung zwischen dem ersten Rechenknoten und einem zweiten Rechenknoten; Empfangen eines zweiten Pakets über eine zweite Verbindung zwischen dem ersten Rechenknoten und dem zweiten Rechenknoten, wobei sich die zweite Verbindung von der ersten Verbindung unterscheidet; und Initiieren eines Paketneuordnungsprozesses zum Neuordnen eines Satzes von Paketen einschließlich des ersten und des zweiten Pakets.
  9. Rechenknoten nach Anspruch 8, wobei die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Stoppen des Paketneuordnungsprozesses in Reaktion auf entweder einen Empfang eines Endmarkierungspakets über die erste Verbindung, Ablauf eines Neuordnungs-Timeout- (RTO-) Timers, oder wenn eine zweite Sequenznummer (SN) in dem zweiten Paket größer als SNs in anderen Paketen in dem Satz von Paketen ist, ungeachtet einer Reihenfolge, in der das erste und das zweite Paket empfangen werden.
  10. Rechenknoten nach Anspruch 9, wobei die Ausführung der Anweisungen die Prozessorschaltungsanordnung zu Folgendem veranlassen soll: Initiieren des Paketneuordnungsprozesses in Reaktion auf Empfang des zweiten Pakets über die zweite Verbindung; oder Initiieren des Paketneuordnungsprozesses in Reaktion auf Senden einer Verkehrslenkungsanfrage an den zweiten Rechenknoten, wobei die Verkehrslenkungsanfrage bewirken soll, dass der zweite Rechenknoten das Endmarkierungspaket über die erste Verbindung sendet und das zweite Paket über das zweite Paket sendet.
  11. Rechenknoten nach den Ansprüchen 9 und 10, wobei das Endmarkierungspaket einen Indikator beinhaltet, um anzugeben, dass der Paketneuordnungsprozess ein Intra-Funkzugangstechnologie- (RAT-) Paketneuordnungsprozess oder ein Inter-RAT-Paketneuordnungsprozess ist.
  12. Verfahren, umfassend: Unterhalten eines Ringpuffers in einem Bereich der Speicherschaltungsanordnung mit einer festen Größe, wobei der Ringpuffer eine Vielzahl von Slots beinhaltet, wobei jedem Slot ein Slot-Index einer Vielzahl von Slot-Indizes zugewiesen wird, und Unterhalten eines Satzes virtueller Warteschlangen, wobei jede virtuelle Warteschlange des Satzes virtueller Warteschlangen einer Instanz eines Satzes von Instanzen und einem Link eines Satzes von Links zugeteilt wird; Speichern eines zu verarbeitenden Pakets in einem betreffenden Slot der Vielzahl von Slots, wobei das Paket einer betreffenden Instanz des Satzes von Instanzen und einem betreffenden Link des Satzes von Links zugewiesen wird und dem betreffenden Slot ein betreffender Slot-Index der Vielzahl von Slot-Indizes zugewiesen wird; Speichern des betreffenden Slot-Index in einer betreffenden virtuellen Warteschlange des Satzes virtueller Warteschlangen, wobei die betreffende virtuelle Warteschlange der betreffenden Instanz und dem betreffenden Link zugeteilt wird; und Erhalten des gespeicherten Pakets aus dem betreffenden Slot unter Verwendung des betreffenden Slot-Index, wenn das Paket zur Verarbeitung geplant ist.
  13. Verfahren nach Anspruch 12, wobei das Verarbeiten des gespeicherten Pakets umfasst: Senden des gespeicherten Pakets über den betreffenden Link.
  14. Verfahren nach den Ansprüchen 12 und 13, wobei das Speichern des zu verarbeitenden Pakets in dem betreffenden Slot umfasst: Durchführen einer Push-Funktion, um das Paket in den betreffenden Slot zu schieben, und wobei das Durchführen der Push-Funktion umfasst: Bestimmen eines unbelegten Slots der Vielzahl von Slots als betreffenden Slot basierend auf einem Schreibindex; Einfügen des betreffenden Slot-Index in die betreffende virtuelle Warteschlange, nachdem das Paket in den betreffenden Slot geschoben wurde; Inkrementieren eines Warteschlangengrößenzählers, nachdem das Paket in den betreffenden Slot geschoben wurde, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist; Aktualisieren eines Elementzählungsparameters des betreffenden Slots basierend auf einer Gesamtanzahl virtueller Warteschlangen der Vielzahl von Warteschlangen, die den betreffenden Slot-Index speichern; und Aktualisieren des Schreibindex derart, dass der Schreibindex auf einen unbelegten Slot der Vielzahl von Slots verweist, der sich von dem betreffenden Slot unterscheidet, wobei das Aktualisieren des Schreibindex umfasst: Inkrementieren des Schreibindex; und Bestimmen eines Moduls des inkrementierten Schreibindex und einer Gesamtanzahl von Slots der Vielzahl von Slots.
  15. Verfahren nach den Ansprüchen 12 bis 14, wobei das Erhalten des gespeicherten Pakets aus dem betreffenden Slot umfasst: Durchführen einer Pop-Funktion, um das Paket aus dem betreffenden Slot zu entfernen.
  16. Verfahren nach Anspruch 15, wobei das Durchführen der Pop-Funktion umfasst: Erhalten des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange; Erhalten des Pakets aus dem betreffenden Slot unter Verwendung des betreffenden Slot-Index; und Löschen des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange nach Identifizieren oder Erhalten des betreffenden Slot-Index; Dekrementieren eines Elementzählungsparameters der betreffenden virtuellen Warteschlange nach Entfernung oder Löschung des betreffenden Slot-Index aus der betreffenden virtuellen Warteschlange; und Dekrementieren eines Warteschlangengrößenzählers, nachdem das Paket aus dem betreffenden Slot entnommen wurde, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist.
  17. Verfahren nach den Ansprüchen 12 bis 16, ferner umfassend: wenn alle Slots der Vielzahl von Slots belegt sind, Verwerfen eines oder mehrerer Slot-Indizes aus einer oder mehreren virtuellen Warteschlangen gemäß einer Verwurfsrichtlinie.
  18. Verfahren nach den Ansprüchen 12 bis 17, wobei: jede Instanz des Satzes von Instanzen entweder ein Thread, ein Prozess, ein Objekt, eine Datenbankentität, ein Benutzer, eine Anwendungsinstanz, eine Sitzung, ein Dienst, ein Kommunikationslink oder eine Hardwarevorrichtung ist; und jeder Link des Satzes von Links entweder eine Funkzugangstechnologie (RAT), ein Kommunikationslink in einer Mehrfachzugangs- (MX-) Kommunikationsumgebung, die gemäß einem Mehrfachzugangsverwaltungsdienst- (MAMS-) Framework arbeitet, ein Interconnect zwischen zwei oder mehr Hardwareelementen, eine Anwendungssitzung, eine Netzwerksitzung oder ein Dienst ist.
  19. Computerlesbares Speicherungsmedium, das Anweisungen zum Durchführen von Mehrwarteschlangenverwaltung umfasst, wobei die Ausführung der Anweisungen durch einen oder mehrere Prozessoren eines Rechenknotens bewirken soll, dass der Rechenknoten das Verfahren nach den Ansprüchen 12 bis 18 durchführt.
  20. Einrichtung zum Durchführen von Mehrwarteschlangenverwaltung, umfassend: Mittel zum Speichern eines Satzes zu verarbeitender Pakete in jeweiligen Slots einer Vielzahl von Slots, wobei die Vielzahl von Slots einen Ringpuffer bildet, der in einem Speicherbereich mit einer festen Größe implementiert wird, der Vielzahl von Slots jeweilige Slot-Indizes einer Vielzahl von Slot-Indizes zugewiesen werden und die jeweiligen Slot-Indizes auf einen Speicherort eines entsprechenden Slots der Vielzahl von Slots verweisen; Mittel zum Schieben der jeweiligen Slot-Indizes in eine Vielzahl virtueller Warteschlangen, wobei jede virtuelle Warteschlange der Vielzahl virtueller Warteschlangen einer Instanz eines Satzes von Instanzen und einem Link eines Satzes von Links zugeteilt wird; Mittel zum Entnehmen eines Satzes der jeweiligen Slot-Indizes aus einer oder mehreren virtuellen Warteschlangen der Vielzahl virtueller Warteschlangen; und Mittel zum Erhalten eines Teilsatzes der gespeicherten Pakete aus ihren jeweiligen Slots unter Verwendung der entnommenen Slot-Indizes.
  21. Einrichtung nach Anspruch 20, wobei: das Mittel zum Speichern der zu verarbeitenden Pakete in den jeweiligen Slots Mittel für für jedes Paket des Satzes von Paketen erfolgendes Bestimmen eines unbelegten Slots der Vielzahl von Slots basierend auf einem Wert eines Schreibindex beinhaltet; und das Mittel zum Schieben der jeweiligen Slot-Indizes in die Vielzahl virtueller Warteschlangen beinhaltet: Mittel zum Einfügen eines Slot-Index, der einem einzelnen Slot der Vielzahl von Slots entspricht, in dem das einzelne Paket gespeichert ist, in mindestens eine virtuelle Warteschlange der Vielzahl virtueller Warteschlangen; Mittel zum Inkrementieren eines Warteschlangengrößenzählers, nachdem das einzelne Paket in dem einzelnen Slot gespeichert wurde, wobei ein Wert des Warteschlangengrößenzählers eine Anzahl belegter Slots der Vielzahl von Slots ist; Mittel zum Aktualisieren eines Elementzählungsparameters des einzelnen Slots basierend auf einer Anzahl virtueller Warteschlangen der Vielzahl von Warteschlangen, die den betreffenden Slot-Index speichern; und Mittel zum Aktualisieren des Schreibindex derart, dass der Schreibindex auf einen unbelegten Slot der Vielzahl von Slots verweist, der sich von dem einzelnen Slot unterscheidet.
  22. Einrichtung nach Anspruch 21, wobei das Mittel zum Entnehmen des Satzes der jeweiligen Slot-Indizes aus der einen oder den mehreren virtuellen Warteschlangen beinhaltet: Mittel zum Erhalten jedes Slot-Index des Satzes der jeweiligen Slot-Indizes aus der einen oder den mehreren virtuellen Warteschlangen; Löschen jedes erhaltenen Slot-Index aus einer virtuellen Warteschlange der einen oder der mehreren virtuellen Warteschlangen, aus denen sie erhalten werden; Dekrementieren eines Elementzählungsparameters der virtuellen Warteschlange nach der Löschung jedes erhaltenen Slot-Index; und Dekrementieren eines Warteschlangengrößenzählers, nachdem das Paket aus seinem jeweiligen Slot erhalten wurde.
  23. Einrichtung nach den Ansprüchen 20 bis 22, wobei: jede Instanz des Satzes von Instanzen entweder ein Thread, ein Prozess, ein Objekt, eine Datenbankentität, ein Benutzer, eine Anwendungsinstanz, eine Sitzung, ein Dienst, ein Kommunikationslink oder eine Hardwarevorrichtung ist; und jeder Link des Satzes von Links entweder eine Funkzugangstechnologie (RAT), ein Kommunikationslink in einer Mehrfachzugangs- (MX-) Kommunikationsumgebung, die gemäß einem Mehrfachzugangsverwaltungsdienst- (MAMS-) Framework arbeitet, ein Interconnect zwischen zwei oder mehr Hardwareelementen, eine Anwendungssitzung, eine Netzwerksitzung oder ein Dienst ist.
  24. Einrichtung nach den Ansprüchen 20 bis 23, die beinhaltet: Mittel zum über einen ersten Link des Satzes von Links erfolgenden Empfangen eines Teilsatzes von Paketen des Satzes von Paketen; Mittel zum über einen zweiten Link des Satzes von Links erfolgenden Empfangen mindestens eines Pakets des Satzes von Paketen, das sich nicht in dem Teilsatz befindet; Mittel zum Initiieren eines Paketneuordnungsprozesses zum Neuordnen des Satzes von Paketen unter Verwendung der jeweiligen Slot-Indizes.
  25. Einrichtung nach Anspruch 24, die beinhaltet: Mittel zum Stoppen des Paketneuordnungsprozesses in Reaktion auf entweder Empfang: eines Endmarkierungspakets über den ersten Link, Ablauf eines Neuordnungs-Timeout- (RTO-) Timers, oder wenn eine zweite Sequenznummer (SN) in dem zweiten Paket größer als SNs in anderen Paketen in dem Satz von Paketen ist, ungeachtet einer Reihenfolge, in der das erste und das zweite Paket empfangen werden; und Mittel zum Initiieren des Paketneuordnungsprozesses in Reaktion auf entweder: Empfang des zweiten Pakets über den zweiten Link oder Übertragung einer Verkehrslenkungsanfrage an einen anderen Rechenknoten, wobei die Verkehrslenkungsanfrage den anderen Rechenknoten veranlassen soll, das Endmarkierungspaket über den ersten Link zu senden und das zweite Paket über das zweite Paket zu senden.
DE102022211529.5A 2021-12-22 2022-10-31 Methoden zum einreihen und neuordnen für mehrfachzugangsverwaltungsdienste Pending DE102022211529A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/560,181 US20220116334A1 (en) 2021-12-22 2021-12-22 Multi-access management service queueing and reordering techniques
US17/560,181 2021-12-22

Publications (1)

Publication Number Publication Date
DE102022211529A1 true DE102022211529A1 (de) 2023-06-22

Family

ID=81077975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022211529.5A Pending DE102022211529A1 (de) 2021-12-22 2022-10-31 Methoden zum einreihen und neuordnen für mehrfachzugangsverwaltungsdienste

Country Status (3)

Country Link
US (1) US20220116334A1 (de)
DE (1) DE102022211529A1 (de)
NL (1) NL2033587B1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020081555A1 (en) * 2018-10-17 2020-04-23 Google Llc Choosing core network types
GB2581836B (en) * 2019-03-01 2021-08-04 Advanced Risc Mach Ltd Handling ring buffer updates
US11722561B2 (en) * 2020-12-22 2023-08-08 Telefonaktiebolaget Lm Ericsson (Publ) DTLS/SCTP enhancements for RAN signaling purposes
US11606317B1 (en) * 2021-04-14 2023-03-14 Xilinx, Inc. Table based multi-function virtualization
US11838172B2 (en) * 2021-08-31 2023-12-05 Juniper Networks, Inc. Identifying root cause of failures through detection of network scope failures
US20230413076A1 (en) * 2022-06-15 2023-12-21 Microsoft Technology Licensing, Llc Calculating and exposing network capacity and congestion to applications
CN115114000B (zh) * 2022-06-28 2024-05-10 重庆大学 一种边缘计算中多任务并行计算实现方法及装置
CN115314439B (zh) * 2022-08-11 2023-10-24 迈普通信技术股份有限公司 数据存储io请求的流控方法和相关装置
US11729142B1 (en) * 2022-08-25 2023-08-15 Google Llc System and method for on-demand edge platform computing
TWI826194B (zh) * 2022-12-20 2023-12-11 明泰科技股份有限公司 相容於雲原生虛擬網路層的使用者層功能(upf)封包處理方法及計算裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210038063A1 (en) 2016-02-29 2021-02-11 Covidien Lp Surgical system having a guide catheter including a fluid passageway

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949501B1 (en) * 2010-10-31 2015-02-03 Integrated Device Technology, Inc. Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
US8904067B2 (en) * 2012-03-13 2014-12-02 Microsoft Corporation Adaptive multi-threaded buffer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210038063A1 (en) 2016-02-29 2021-02-11 Covidien Lp Surgical system having a guide catheter including a fluid passageway

Non-Patent Citations (58)

* Cited by examiner, † Cited by third party
Title
(„[AD0071-PCT]
), IEEE 802.15.4 basierte Protokolle (z.B. IPv6 over Low Power Wireless Personal Area Networks (6LoWPAN), WirelessHART, MiWi, Thread, 802.11a
, „IEEE Standard for Information Technology--Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks--Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications" (26.2.2021
, US-Anmeldung Nr. 17/358,994, eingereicht am 25. Juni 2021 („[AD7258-US
; IBM® Crypto Express3®, IBM® 4807, 4808, 4809
„O-RAN Architecture Description" v04.00 (März 2021
3 GPP TS 28.552 v17.3.1 (2021-06-24) („[TS28552]"), 3 GPP TS 32.425 v17.1.0 (2021-06-24) („
3GPP TS 23.285 v16.2.0 (12-2019
3GPP TS 23.501 v17.2.0 (24.9.2021
3GPP TS 23.558 v17.1.0 (24.9.2021)
3GPP TS 24.312 v15.0.0 (2018-06-21
3GPP TS 36.361 v15.0.0
3GPP TS 37.340 v16.6.0 (9.7.2021
3GPP TS 38.
Benutzern von UEs 2021 und IoT-Vorrichtungen 2011
Bonica et al., „IP Fragmentation Considered Fragile", IETF RFC 8900 (September 2020
DARPA Internet Program Protocol Specification", IETF RFC 791 (September 1981
De Coninck et al., „Multipath Extensions for QUIC (MP-QUIC)",draft-decaninck-quic-multipath-07, IETA, QUIC Working Group (3. Mai 2021
Dedicated Short Range Communication (DSRC) Message Set Dictionary") (23.07.2020) (
Der Computerprogrammcode 2181, 2182, 2183
Die Endpunkte 2010 beinhalten UEs
Dommety, G., „Key and Sequence Number Extensions to GRE", IETF RFC 2890, (September 2000
Edge-Knotenschicht
ETSI GS MEC 003 v2.1.1 (01-2019
ETSI GS MEC 009 V2.1.1 (2019-01), ETSI GS MEC 010-1 v1.1.1 (10-2017
ETSI GS MEC 010-2 v2.1.1 (11-2019
ETSI GS MEC 011 V1.1.1 (7-2017
GWs 1420A, 1420B, 1450 von Figur 14
Huttunen et al., „UDP Encapsulation of IPsec ESP-Packets", IETF, Network Working Group, RFC 3948 (Januar 2005
IEEE Guide for Wireless Access in Vehicular Environments (WAVE) Architecture" (10.4.2019) („[
IETF RFC 6455 (Dez. 2011
IETF RFC 6824 (Januar 2013) („[RFC6824
IETF RFC 8441 (Sept. 2018
Intel® Smart Edge Open Developer Guide, Version 21,09 (30. September 2021
IoT-Vorrichtungen 2011
ISO/IEC 11578:1996
Leymann et al., „Huawei's GRE Tunnel Bonding Protocol", IETF RFC 8157 (Mai 2017
LoRa Alliance, Digital Enhanced Cordless Telecommunications (DECT), DECT Ultra Low Energy (DECT
Moriarty et al., „Deprecating TLS 1.0 und TLS 1.1", IETF, RFC 8996 (März 2021
NANs 2031
Near-Real-time RAN Intelligent Controller E2 Service Model (E2SM) KPM" v01.00 (Februar 2020
O-RAN Alliance WG1, „Near-Real-time RAN Intelligent Controller, E2 Application Protocol (E2AP)" v01.01 (Juli 2020
O-RAN Alliance WG1, „O-RAN Operations and Maintenance Interface Specification" v04.00 (November 2020
O-RAN Alliance WG2, „O-RAN A1 Interface: General Aspects and Principles 2.02" v02.02 (März 2021
O-RAN Alliance WG3, „O-RAN Near-Real-time RAN Intelligent Controller Architecture & E2 General Aspects and Principles" v01.01 (Juli 2020
O-RAN Fronthaul Control, User and Synchronization Plane Specification 6.0" v06.00 (März 2021), O-RAN Alliance WG6, „Cloud Architecture and Deployment Scenarios for O-RAN Virtualized RAN" v02.01 (Juli 2020
O-RAN Near-Real-time RAN Intelligent Controller E2 Service Model (E2SM), RAN Function Network Interface (NI)" v1.0 (Februar 2020), E2SM RAN Control (E2SM-RC), O-RAN Alliance WG4, O-RAN Fronthaul Management Plane Specification, Version 2.0 (Juli 2019)
O-RAN Near-Real-time RAN Intelligent Controller E2 Service Model 1.0 (Februar 2020
O-RAN Operations and Maintenance Architecture Specification" v04.00 (November 2020
Rescorla et al., „Datagram Transport Layer Security Version 1.2", IETF, RFC 6347 (Januar 2012
Template Language, Handlebar Template Language, Guide Template Language (GTL), PHP, Java und/oder Java Server Pages (JSP), Node.js, ASP.NET
Transfer Control Protocol (TCP), Virtual Private Network (VPN), Multi-Path TCP (MPTCP), Generic Routing Encapsulation (GRE)
U.S.-Anm. Nr. 17/484,743, eingereicht am 24. September 2021 („[AD2644-US
UEs 2011, 2021
UEs 2011, 2021a, den NANs 2031-2033
UEs 2021 und IoT-Vorrichtungen 2011
Zhu et al., „Generic Multi-Access (GMA) Convergence Encapsulation Protocols", draft-zhu-intarea-gma-14, IETA, INTAREA/Network Working Group (24. April 2021)
Zhu et al., „User-Plane Protocols for Multiple Access Management Service", Draft-zhu-intarea-mams-user-protocol-09, IETA, INTAREA (4. März 2020

Also Published As

Publication number Publication date
NL2033587A (en) 2023-06-29
NL2033587B1 (en) 2024-01-04
US20220116334A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
US20210409335A1 (en) Multi-access management service packet classification and prioritization techniques
EP4203428A1 (de) Verbesserungen eines mehrfachzugangsverwaltungsdienstes für dienstqualität und zeitempfindliche anwendungen
US20240163030A1 (en) Multi-access management services packet recovery mechanisms
DE102022211529A1 (de) Methoden zum einreihen und neuordnen für mehrfachzugangsverwaltungsdienste
US11627444B2 (en) Vehicle-to-everything session and service continuity in automotive edge computing systems
US20220303331A1 (en) Link performance prediction and media streaming technologies
US20220232423A1 (en) Edge computing over disaggregated radio access network functions
DE102022200847A1 (de) Bestärkendes lernen für mehrfachzugriffsverkehrsverwaltung
DE102021211176A1 (de) Interoperables framework für sicheren verbrauch von dual-modus-edge-anwendungsprogrammierungsschnittstellen in hybriden edge-computing-plattformen
DE102022211605A1 (de) Zuverlässigkeitsverbesserungen für mehrfachzugangsverkehrsverwaltung
US12022306B2 (en) Systems and methods for performance data streaming, performance data file reporting, and performance threshold monitoring
US20210021664A1 (en) Streaming of volumetric point cloud content based on session description protocols and real time protocols
DE102022202963A1 (de) Verkehrsaufteilungs- und neuübertragungsmechanismen mit schichtübergreifender und zugangsübergreifender technologie
DE112020004736T5 (de) Edge-computing-technologien für transportschichtüberlastregelung und point-of-presence-optimierungen auf grundlage erweiterter vorab-dienstgüte-benachrichtigungen
DE102022202872A1 (de) Neuronales graphennetzwerk und bestärkendes-lernen-techniken zur verbindungsverwaltung
DE102023200988A1 (de) Dynamische latenz-responsive cache-verwaltung
US20230006889A1 (en) Flow-specific network slicing
DE112019002913T5 (de) Verwaltung von zuweisungen bevorzugter kanäle zwischendrahtloskommunikationsbändern
US20220124588A1 (en) Traffic steering and cross-layer and cross-link mobility management techniques for multi-access management services
DE112020007003T5 (de) Multi-funkzugangstechnologie-verkehrsverwaltung
US20240235984A1 (en) Traffic engineering in fabric topologies with deterministic services
US20220124548A1 (en) Technologies for network path and topology management
DE112022004419T5 (de) Auslösungsbasierter keep-alive- und sondierungsmechanismus für mehrfachzugriffsverwaltungsdienste
DE112022004403T5 (de) Dynamische verkehrsverwaltung für mehrfachzugangsverwaltungsdienste
WO2024220280A1 (en) Technologies to support the instantiation of edge enabler server and edge configuration server