DE102023200988A1 - Dynamische latenz-responsive cache-verwaltung - Google Patents

Dynamische latenz-responsive cache-verwaltung Download PDF

Info

Publication number
DE102023200988A1
DE102023200988A1 DE102023200988.9A DE102023200988A DE102023200988A1 DE 102023200988 A1 DE102023200988 A1 DE 102023200988A1 DE 102023200988 A DE102023200988 A DE 102023200988A DE 102023200988 A1 DE102023200988 A1 DE 102023200988A1
Authority
DE
Germany
Prior art keywords
storage
cache
network
latency
caching
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
DE102023200988.9A
Other languages
English (en)
Inventor
Kshitij Arun Doshi
Francesc Guim Bernat
Ned M. Smith
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 DE102023200988A1 publication Critical patent/DE102023200988A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die vorliegende Offenbarung bezieht sich auf das Verwalten eines Caching-Systems basierend auf Objektabrufkosten, wobei die Abrufkosten auf der Zugriffslatenz, Cache-Fehltreffern und Zeit zur Wiederverwendung einzelner Objekte basieren. Das Caching-System kann ein mehrstufiges Caching-System sein, das mehrere Speicherungsstufen beinhaltet, wobei ein Objektverwaltungssystem basierend auf den Abrufkosten des Objekts bestimmt, ob ein Objekt in einem Cache einer bestimmten Speicherungsstufe beibehalten oder daraus geräumt werden soll. Zusätzlich dazu kann das Räumen das Bewegen von Objekten von einer aktuellen Speicherungsstufe zu einer anderen Speicherungsstufe basierend auf der aktuellen Speicherungsstufe und den Abrufkosten beinhalten.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft allgemein Edge-Computing, Cloud-Computing, Netzwerkkommunikation, Datenzentren, Netzwerktopologien und Kommunikationssystemimplementierungen und insbesondere eine dynamische Latenz-responsive Verwaltung von Objekt-Caching und -Replikation in Hardware, Software, Speicherungs- und Netzwerkhierarchien.
  • HINTERGRUND
  • Cache bezieht sich oftmals auf eine Hardware- und/oder Softwarekomponente oder ein Hardware- und/oder Softwaresystem, die/das Daten in einem Cache (z. B. Cache-Speicher, Puffer oder dergleichen) speichert, der verwendet wird, um zukünftige Anforderungen für diese Daten schneller und/oder mit verbesserter Zugriffseffizienz zu versorgen. Angeforderte Objekte werden in einem Cache beispielsweise basierend auf einer vorherigen Berechnung oder einem vorherigen Zugriff auf Daten gespeichert, die in einem lokalen Speicher oder einer entfernten Speicherung gespeichert sind. Ein Cache-Treffer tritt auf, wenn ein angefordertes Objekt in einem Cache gefunden werden kann, und ein Cache-Fehltreffer tritt auf, wenn ein angefordertes Objekt nicht in einem Cache gefunden werden kann. Cache-Treffer werden durch Lesen eines angeforderten Objekts aus dem Cache bedient, was schneller ist als das Durchführen der Berechnung oder das Zugreifen auf das angeforderte Objekt aus einem langsameren Datenspeicher (oder einem Datenspeicher, der weiter entfernt von der anfordernden Entität liegt). Üblicherweise kommt es zu einer schnelleren Systemleistungsfähigkeit, umso mehr Anforderungen aus dem Cache bedient werden können.
  • Typische Computeranwendungen greifen auf Daten mit einem hohen Grad an Referenzlokalität zu, was die Tendenz einer Anwendung oder eines Prozessors ist, wiederholt über einen kurzen Zeitraum auf denselben Satz von Speicherorten zuzugreifen. Solche Zugriffsmuster weisen eine zeitliche Lokalität, bei der Daten, die bereits vor Kurzem angefordert wurden, angefordert werden, und eine räumliche Lokalität auf, bei der Daten angefordert werden, die physisch nahe an Daten gespeichert sind, die bereits angefordert wurden. Caching ist eine übliche Technik zum Erreichen von Lokalität, was bedeutet, dass Objekte, auf die häufig zugegriffen wird, an einem Ort gehalten werden, der näher am Zugriffspunkt liegt. Hardware(HW)- und Software(SW)-Caching-Systeme führen Caching entweder autonom oder mit Anleitung von Anwendungs-SW durch. Für autonomes Caching wird üblicherweise ein Cache-Algorithmus in SW, Firmware (FW), HW oder Mikrocode programmiert.
  • Wenn eine Anwendung ein Objekt anfordert (oder versucht, auf das Objekt zuzugreifen), wird üblicherweise auf das Objekt von einer Speichervorrichtung oder einer externen Speicherung zugegriffen, wenn ein Cache-Fehltreffer auftritt. Der Speicher-/Speicherungszugriff benötigt eine nicht vernachlässigbare Menge an Zeit, um abgeschlossen zu werden, was zu einer erhöhten Latenz zum Zugreifen auf das angeforderte Objekt aus dem Speicher/der Speicherung anstatt aus dem Cache führt.
  • Typischerweise behält ein Caching-System angeforderte Objekte für eine vorbestimmte Menge an Zeit bei, falls das Objekt erneut angefordert wird. Wenn der Benutzer oder die Anwendung dieses Objekt erneut anfordert, wird somit das Objekt anstelle aus dem Speicher/der Speicherung aus dem Cache aufgerufen, wodurch die Menge an Zeit reduziert wird, die zum Laden/Verarbeiten des angeforderten Objekts benötigt wird (zumindest im Vergleich zum Nichtverwenden eines Caching-Systems).
  • Die Kapazität eines Caches ist beschränkt, und es ist üblich, die Kapazität des Caches durch Räumen von Objekten zu verwalten, auf die weniger häufig oder weniger kürzlich als andere Objekte zugegriffen wird. Dies ermöglicht, dass häufiger angeforderte Objekte (zeitlich oder in Anzahl von Anforderungen) in dem Cache beibehalten werden. Falls jedoch der Zugriff auf ein Objekt, das nicht im Cache zu finden ist, eine relativ lange Zeit dauert, um es aus dem Speicher oder der Speicherung zu erhalten, dann können während des Cache-Fehltreffer-Intervalls andere Zugriffe auftreten, unabhängig davon, ob die anderen Zugriffe mit dem anfänglichen Objektzugriff korreliert sind oder nicht. Dies kann zu einer kaskadierenden (d. h. zunehmenden) Verzögerung führen. Das Ausmaß der Verzögerung/Latenz, die aus Cache-Fehltreffern resultiert, wird bei Edge-Computing, verteilten Diensten und Einsätzen anderer Größenordnung verstärkt, da die Ausführung Abhängigkeit von netzwerkverbundener Speicherung und netzwerkverbundenen FaaS-Pipelines (FaaS: Function-as-a-Service - Funktion als ein Dienst) aufweisen kann.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen, die nicht unbedingt maßstabsgetreu gezeichnet sind, können gleiche Bezugszeichen ähnliche Komponenten in verschiedenen Ansichten beschreiben. Gleiche Ziffern mit verschiedenen angehängten Buchstaben können verschiedene Instanzen ähnlicher Komponenten repräsentieren. Einige Ausführungsformen sind beispielhaft und nicht einschränkend in den Figuren der begleitenden Zeichnungen veranschaulicht, in denen gilt:
    • 1 zeigt eine beispielhafte mehrstufige Caching-Architektur. 2 stellt eine beispielhafte Caching-System-Prozedur dar. 3a, 3b, 3c und 3d stellen beispielhafte Caching-Statistiken-Sammelprozesse dar. 4 stellt einen beispielhaften Cache-Skalierungsprozess dar. 5 stellt einen beispielhaften Speicherungsstufen-Auswahlprozess dar. 6 stellt einen beispielhaften Speicherungsstufen-Räumungsprozess dar. 7 stellt einen beispielhaften Infrastrukturinteraktionsprozess dar.
    • 8 veranschaulicht eine beispielhafte Edge-Computing-Umgebung. 9 veranschaulicht einen Überblick über eine Edge-Cloud-Konfiguration für Edge-Computing. 10 veranschaulicht eine beispielhafte Netzwerkkonnektivität für nicht-terrestrische und terrestrische Umgebungen. 11 veranschaulicht ein beispielhaftes informationszentrisches Netzwerk (ICN). 12 veranschaulicht eine beispielhafte Softwareverteilungsplattform. 13 stellt beispielhafte Komponenten eines Rechenknotens dar, der in einem oder mehreren Edge-Computing-Systemen verwendet werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Offenbarung betrifft allgemein Datenverarbeitung, Dienstverwaltung, Ressourcenzuweisung, Rechenverwaltung, Netzwerkkommunikation, Anwendungspartitionierung und Kommunikationssystemimplementierungen, und insbesondere Caching-Techniken zum Auswählen von Objekten zur Beibehaltung, um Cache-Fehltreffer-Latenzen zu reduzieren.
  • 1. CACHING-MECHANISMEN
  • Manche Caching-Systeme, egal ob Hardware oder Software, setzen Heuristiken zum Maximieren der Cache-Trefferrate ein. Die meisten Caching-Systeme nehmen an, dass es zwei Ergebnisse gibt, wenn ein Objekt angefordert wird: einen Cache-Treffer oder einen Cache-Fehltreffer. In diesen Systemen führt ein Cache-Treffer zu einer niedrigeren Latenz als ein Cache-Fehltreffer (siehe z. B. Atre et al., Caching with Delayed Hits, TAGUNGSBERICHT DER JAHRESTAGUNG DER ACM SPECIAL INTEREST GROUP FÜR DATENKOMMUNIKATION ZU DEN ANWENDUNGEN, TECHNOLOGIEN, ARCHITEKTUREN UND PROTOKOLLEN FÜR DIE COMPUTERKOMMUNIKATION (SIGCOMM '20), S. 495 - 513 (30. Juli 2020), https://dl.acm.org/doi/pdf/10.1145/3387514.3405883 („[Atre]“), deren Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird). Ein drittes Ergebnis ist jedoch ein „verzögerter Treffer“, der in Systemen mit hohem Durchsatz auftritt, wenn mehrere Anforderungen für dasselbe Objekt auftreten, bevor das angeforderte Objekt aus einem Datenspeicher abgerufen wird (siehe [Atre]). Die Maximierung der Cache-Trefferrate ist nicht immer der beste Ansatz zum Auswählen von Objekten zur Cache-Beibehaltung (siehe z. B. [Atre]). Herkömmliche Beibehaltungsalgorithmen konzentrieren sich nicht auf das Minimieren der Latenz von Cache-Fehltreffern und der „Shadow-Latenz-Ansammlung“, die bei anderen Akzessoren auftritt, während ein angefordertes Objekt abgerufen wird.
  • Die Daten für Berechnungen werden aufgrund aufkommender Klassen von Problemen in dem Datenzentrum (oft als „Big Data“-Anwendungen bezeichnet) immer mehr verteilt. Währenddessen hat Edge-Computing gemischte Zugriffsszenarien, die sich von Cloud (z. B. Cloud 844 in 8) zu Edge (z. B. ECT 835 in 8 und/oder Edge-Cloud 910 in 9) und/oder von Edge zu Endbenutzervorrichtungen (z. B. UEs 810 in 8) erstrecken. In diesen Fällen verschlimmern die Latenzkosten und der zusätzliche Overhead, die aus Langstreckenabrufen/-zugriffen resultieren, sowie Latenzen basierend auf Shadow-Fehltreffern (z. B. Cache-Fehltreffer, die während des Abrufs auftreten oder anderweitig stattfinden, die auch als „verzögerte Treffer“ oder dergleichen bezeichnet werden) Cache-Fehltreffer-Strafen, wenn traditionelle Caching-Algorithmen verwendet werden. Zum Beispiel zeigt die letzte Spalte in Tabelle 1 die geschätzte Anzahl von Anforderungen, die während eines ausstehenden Abrufs für einen Cache-Fehltreffer angesammelt werden können, die variierende Anteile einer Shadow-Fehltreffer-Latenz erleiden, während die Abrufe im Gange sind. Tabelle 1: Cache-System-Latenzen für verschiedene Verwendungsfälle
    Szenario Verwendungsfall Latenz Geschätzte Anzahl ausstehender Cache-Anforderungen
    CDN Intra-Datenzentrum-Proxy 1 ms 1K (Inter-Anf.-Zeit = 1 µs)
    Fwd-Proxy zu einem Remote 200 ms 200K (Inter-Anf.-Zeit = 1 µs)
    Netzwerk Einzel-DRAM-Lookup 100 ns <1 (Inter-Anf.-Zeit in µs)
    Reverse-DNS-Lookup in einem IDS 200 ms 67K (Inter-Anf.-Zeit = 3 µs)
    Speicherung Dateizugriff über Datenzentren hinweg 150 ms 5K (Inter-Anf.-Zeit = 30 µs)
  • Es wird angemerkt, dass die Latenz in Tabelle 1 in Millisekunden (ms) oder Nanosekunden (ns) ausgedrückt wird. Zusätzlich dazu erzeugen höhere Latenzen des Abschließens eines Abrufs, für eine kleine Inter-Anforderung-Latenz, die durch die Rate des Handhabens einer Anforderung an einem Verarbeitungsknoten bestimmt wird, häufige konkomitierende (assoziierte) Anforderungen, die darauf warten müssen, dass die angeforderten Daten ankommen. Ähnliche Latenzansammlungsprobleme können ein Problem für Datenzentrum-Computing-Szenarien sowie für Edge-Computing-Szenarien sein.
  • Außerdem beeinflussen verzögerte Treffer direkt Tail-Latenzen, da Tail-Latenzen die Worst-Case-Effekte widerspiegeln. Tail-Latenzen (auch als „Hochperzentil-Latenz“ bezeichnet) sind Latenzen, die am Ende (Tail) einer Verteilungskurve auftreten, die häufig als eine Schlüsselperformanzmetrik für manche Anwendungen oder Arbeitslasten verwendet wird. Tail-Latenzen können auch verwendet werden, um sichere Durchsatzniveaus zu bestimmen, zum Beispiel um zu bestimmen, ob eine Anforderungsrate von X Frames pro Sekunde (wobei X eine Zahl ist) gehandhabt werden soll, vorausgesetzt, dass die P99-Latenz unter einer Schwelle Y liegt (wobei Y eine Zahl ist), und somit haben Tail-Latenzen einen einschränkenden Effekt auf die Zulassungssteuerung. Für einige andere Arbeitslasten spielen Tail-Latenzen aufgrund einer der obigen Überlegungen möglicherweise keine Rolle, aber während mediane Latenzen ansteigen, Scheduler-Overheads ansteigen und Prozessor-Caches kälter werden, nehmen Möglichkeiten zum Amortisieren von Batch-Arbeit ab. Für viele Operationen gibt es natürliche Timeouts, die ausgelöst werden, Pakete werden fallen gelassen und die Zuverlässigkeit nimmt ab, und ein System erscheint langsam oder nicht verfügbar. Darüber hinaus sind Latenzansammlungen besonders nachteilig für Edge-Computing-Systeme/-Netzwerke, da Edge-Stufen und Edge-Cloud-Links (z. B. Edge-Cloud 910 in 9) begrenzte und fluktuierende Bandbreiten aufweisen. Getrennte Operationen sind üblich, was ordnungsgemäße Flüsse von Audio-, Video- und anderem Streaming-Inhalt unterbricht, wenn zu viele Aufgaben ins Stocken geraten sind. Ein Beispiel ist in 2 gezeigt.
  • 1 zeigt eine beispielhafte mehrstufige Caching-Architektur 100, die eine Benutzervorrichtung 110, einen Satz von Edge-Rechenknoten 136 (einschließlich Edge-Rechenknoten 136a, 136b und 136c), die mit jeweiligen Netzwerkzugangsknoten (NANs) 130 (einschließlich NANs 130a, 130b und 130c) kolokalisiert sind, einen Satz von Anwendungs(App)-Servern (oder Clustern) 150 (einschließlich App-Server 150a und 150b), eine Cloud-Speicherung 140 und ein Objektverwaltungssystem (OMS) 160 beinhaltet. Die Benutzervorrichtung 110 kann die gleiche oder ähnlich wie die UEs 810 von 8 sein, die NANs 130 können die gleichen oder ähnlich wie die NANs 830 von 8 sein, die Edge-Rechenknoten 136 können die gleichen oder ähnlich wie die Edge-Rechenknoten 836 von 8 sein, die Cloud-Speicherung 140 kann die gleiche oder ähnlich wie die Cloud 844 von 8 sein und der bzw. die App-Server 150 können die gleichen oder ähnlich wie der App-Server 850 von 8 sein. Die Cloud-Speicherung 140 kann ein kommerzieller Cloud-Speicherungsdienst sein, der von der Benutzervorrichtung 110 subskribiert wird, und/oder die Cloud-Speicherung 140 kann ein Cloud-Speicherungsdienst sein, der von einem Inhaltsanbieter oder Netzwerkdienstanbieter verwendet wird. Jede der in 1 dargestellten Vorrichtungen kann die gleiche oder eine ähnliche Schaltungsanordnung aufweisen, wie im Folgenden mit Bezug auf den Rechenknoten 1350 von 13 erörtert.
  • Die Benutzervorrichtung 110 beinhaltet einen Anforderer 210 und Anforderer-Caching-Elemente 215. Der Anforderer 210 kann ein Prozess, eine Aufgabe, eine Arbeitslast, ein Teilnehmer in einem Veröffentlichen-und-Subskribieren(Pub/Sub)-Datenmodell, ein Dienst, eine App, ein Virtualisierungscontainer und/oder OS-Container, eine virtuelle Maschine (VM), ein Hardwareuntersystem der Benutzervorrichtung 110 oder die Benutzervorrichtung 110 selbst sein. In anderen Implementierungen kann der Anforderer 210 eine App, ein Dienst, ein Container, eine VM und/oder dergleichen sein, die auf einem App-Server, einem Edge-Rechenknoten, einem Cluster von Rechenknoten und/oder einer anderen Entität oder einem anderen Element arbeiten. Die Anforderungen nach Objekten, die durch den Anforderer 210 gesendet werden, können eine beliebige geeignete Form von Anforderung sein, wie etwa zum Beispiel ein Format, das durch ein beliebiges der hierin erörterten Protokolle definiert ist. Die Anforderer-Caching-Elemente 215 können lokalen Cache, Systemspeicher und/oder Speicherungsvorrichtungen der Benutzervorrichtung 110 beinhalten. Zum Beispiel können die Anforderer-Caching-Elemente 215 Cache-Speicher (z. B. innerhalb des einen oder der mehreren Prozessoren 1352 in 13), Speichervorrichtung(en) (z. B. Speicher 1354 in 13) und/oder Speicherungsvorrichtung(en) (z. B. Speicherung 1358 in 13) innerhalb oder Teil der Benutzervorrichtung 110 und/oder kommunikativ mit der Benutzervorrichtung 110 gekoppelt (z. B. Peripheriespeicherungsvorrichtungen und dergleichen) repräsentieren. Zusätzlich oder alternativ können die Anforderer-Caching-Elemente 215 einen reservierten Speicherabschnitt für clientseitige Caching-Mechanismen (z. B. Web-Browser-Cache und/oder dergleichen) aufweisen.
  • Jeder der NANs 130, der Edge-Rechenknoten 136 und des bzw. der App-Server(s) 150 beinhaltet einen Cache 131 (einschließlich Caches 131a, 131b und 131c), einen Cache 137 (einschließlich Caches 137a, 137b und 137c) bzw. einen Cache 151 (einschließlich Caches 151a und 151b). Die Caching-Elemente 215, die Caches 131, 137, 151 und die Cloud-Speicherung 140 können spezifische Speicher- und/oder Speicherungsvorrichtungen sein, die für Caching-Objekte reserviert sind, und/oder jeweilige Abschnitte von Speicher und/oder Speicherung, die für mehrere Zwecke verwendet werden, die für Caching-Objekte reserviert sind. Hier können die Objekte eine beliebige Art von Daten in einem beliebigen geeigneten Datenformat sein, wie etwa zum Beispiel elektronische Dokumente, Datenbankobjekte (z. B. ein Feld, ein Eintrag, eine Assoziation oder eine Beziehung und/oder dergleichen), Datenstrukturen, Datendateien, Archivdateien, Ressourcen, Webseiten, Webformulare, Anwendungen (z. B. Web-Apps und dergleichen), Dienste, Webdienste, Medien oder Inhalt, Dateneinheiten und/oder dergleichen. Zusätzlich können einzelne Objekte eine Größe, die in einer Dateneinheit (z. B. Bytes oder dergleichen) spezifiziert ist, eine oder mehrere Kennungen und/oder ein(en) oder mehrere Werte, Parameter, Attribute und/oder dergleichen aufweisen.
  • In verschiedenen Implementierungen sind die Caching-Elemente 215, die Caches 131, 137, 151 und die Cloud-Speicherung 140 (kollektiv als „Speicherungsstufen“ oder „Caches“ bezeichnet) Teil eines gestuften Caching-Systems, das einen Satz von Speicherungsstufen (z. B. Speicherungsstufen 220, 230 und 240 von 2) beinhaltet. Die Caches sind SW- und/oder HW-Komponente(n), die verwendet wird/werden, um zugegriffene Objekte vorübergehend zu speichern, um zukünftige Zugriffsanfragen von dem Anforderer 210 zu erfüllen. Die Caches können ein beliebiger Speicherungsort sein, an dem Kopien von Daten temporär für einen schnelleren nachfolgenden Zugriff auf diese Daten und/oder ohne zusätzlichen Zugriff auf eine persistente Datenspeicherung gespeichert werden. In einigen Implementierungen kann der hierin erörterte Cache ein beliebiger dedizierter (physischer oder logischer) Speicherbereich oder ein beliebiges dediziertes (physisches oder logisches) Speichergebiet sein, der/das verwendet werden kann, um gecachte Daten zu speichern, einschließlich eines reservierten Abschnitts einer lokalen Speicher- oder Speicherungsvorrichtung und/oder einer beliebigen der Speicherungsstufen.
  • Das OMS 160 verwaltet die Caching-Richtlinie an jedem der Caches und/oder jeder der Speicherungsstufen. Wie unten ausführlicher erörtert, handhabt und/oder verwaltet das OMS 160 die Räumung von Objekten zwischen und/oder unter den verschiedenen Speicherungsstufen (siehe z. B. 3a-7). Wenn beispielsweise der Anforderer 210 ein Objekt von einem beliebigen der NANs 130, der Edge-Rechenknoten 136, des einen oder der mehreren App-Server 150 und/oder des Cloud-Dienstes 140 anfordert, falls sich der Inhalt in den lokalen Caching-Elementen 215 befindet, lädt der Anforderer 210 den Inhalt direkt aus seinem Cache. Andernfalls, falls sich der Inhalt nicht in den lokalen Caching-Elementen 215 befindet, dann wird er direkt von einem der NANs 130, der Edge-Rechenknoten 136, des einen oder der mehreren App-Server 150 und/oder des Cloud-Dienstes 140 aufgerufen. Wenn der Anforderer 210 ein Objekt anfordert, das sich nicht in den lokalen Caching-Elementen 215 befindet, erhält der Anforderer 210 das Objekt und speichert eine Kopie des Objekts in den lokalen Caching-Elementen 215, die dann verwendet werden können, um zukünftige Anforderungen für dieses Objekt zu erfüllen. Die Objekte können für ein Time-to-Live(TTL)-Intervall oder bis der Cache voll ist in einem Cache gespeichert werden. Nach dem TTL eines Objekts wird das Objekt üblicherweise aus dem Cache geräumt oder entfernt. Cache-Räumung ist ein Merkmal, bei dem Objekte und/oder Datenblöcke in einem Cache gemäß einer Cache-Richtlinie freigegeben, entfernt oder aus dem Cache gelöscht werden, was Platz für neue oder alternative Objekte erzeugt, die im Cache gespeichert werden sollen. In verschiedenen Ausführungsformen verwendet das OMS 160 mehrere Caching-Strategien zum Verwalten des Caching von Objekten in der mehrstufigen Caching-Architektur 100. Die mehreren Caching-Strategien sind adaptiv und basieren zumindest teilweise auf Zugriffslatenz-basierten Caching-Richtlinien, anstatt nur Trefferquoten zu verwenden, wie dies bei herkömmlichen Caching-Algorithmen der Fall ist, die dynamische Situationen, die fluktuierende Bandbreiten, Latenzen und/oder transiente Ausfälle/Fehler beinhalten, nicht berücksichtigen. Die Zugriffslatenz wird als Kosten sowohl von Cache-Fehltreffern als auch von verzögerten Treffern (DHs: Delayed Treffern) auf einer speziellen Speicherungsstufe gemessen. Infolgedessen stellt das OMS 160 eine direkte Rückmeldung in die genutzten Caching-Strategien bereit, wobei die Nettoeffekte mehrerer Ursachen der Latenzdilatation implizit berücksichtigt werden, nicht nur die von Treffer- oder Fehltrefferquoten.
  • Das OMS 160 trifft Beibehaltungsrichtlinienentscheidungen, die durch Latenzmetriken informiert werden, die aus verteilter Ausführung (oder verteilten Anwendungen) bezogen und über diese aggregiert werden, einschließlich der Ausführung von Networking-Software in Netzwerkelementen, wie etwa SmartNICs und/oder Koordinationssoftware in IPUs. Diese Aspekte können in Spezifikationen, Standards und/oder einer anderen Dokumentation von Softwaresystemen, SmartNIC, IPUs, Netzwerkgeräten und/oder anderen ähnlichen SW- und/oder HW-Implementierungen bereitgestellt werden. In manchen Implementierungen können Steuerelemente (z. B. grafische Benutzeroberflächen (GUIs) und/oder physische Eingabevorrichtungen, wie etwa die hierin besprochenen) verwendet werden, um aggregierte Latenzschwellen zu steuern, die bestimmen, welche Objekte welchen Networking-/Speicherungsstufen zugewiesen werden. In manchen Implementierungen können die Speicherungsstufen durch einen Netzwerkbetreiber, einen Caching-Dienstanbieter, einen Edge-Netzwerk-Eigentümer/-Betrieb und/oder dergleichen definiert oder spezifiziert werden (z. B. durch entsprechendes Konfigurieren des OMS 160). In einigen Implementierungen können Protokoll-Traces und Timing-Analysen verwendet werden, um Objektzugriffsdichten, Abruflatenzen und Objektbehandlung basierend auf den Zugriffsdichten und Abruflatenzen zu messen, das zur weiteren Verfeinerung von Objektbeibehaltungs-/-ersetzungsrichtlinien für eine gegebene Speicherungsstufe oder Caching-Stufe zurück in das OMS 160 eingespeist werden kann.
  • In einigen Implementierungen erfolgt Caching in Edge-Computing-Netzwerken an mehreren Punkten, einschließlich in oder an Edge-Rechenknoten 136, in einer anderen kolokalisierten Infrastruktur (z. B. NANs 130) und/oder verschiedener Speicherungsstufen über das Cloud-zu-Edge-Kontinuum (z. B. Speicherungselemente zwischen den kolokalisierten Infrastruktur-NANs 130 und/oder dem Edge-Rechenknoten 136 und einem Datenzentrum (Cloud-Speicherung 140). Zusätzlich oder alternativ erfolgt eine Objektreplikation über mehrere Speicherungsstufen und innerhalb einzelner Speicherungsstufen in Einsätzen mit hoher Verfügbarkeit und Lebensdauer.
  • Zusätzlich oder alternativ dazu können Fernspeicher-Pools mit großer Kapazität Objekte selektiv cachen, für die die verstärkten Verzögerungen aufgrund hoher Abruflatenzen übertrieben sind. Dies ist besonders zum Koordinieren satellitenvermittelter Transfers notwendig, da ein verzögerter Treffer sehr kostspielig sein kann, falls sich der ausstehende Transport für den ersten Fehltreffer aufgrund langer Dauern zwischen der Wiederherstellung der Kommunikationskanäle mit LEO- (LEO: Low-Earth-Orbit - niedriger Erdorbit) und/oder NEO-Satelliten (NEO: Near-Earth-Orbit - naher Erdorbit) und ihren Bodenlinks ausdehnt (siehe z. B. 10).
  • Zusätzlich oder alternativ dazu kann das OMS 160 verwendet werden, um die Sammlung von Telemetrie über Verzögerungen zu automatisieren, die durch anstehende Anforderungen akkumuliert werden. In diesen Implementierungen wird die Telemetrie verwendet, um Objekte in unterschiedliche Klassen zum Zuweisen unterschiedlicher Speicherungsstufen in lokalen Speicher-/Speicherungshierarchien für alternde unterschiedliche Objektklassen zu sortieren.
  • Zusätzlich oder alternativ nutzt das Räumungszuschneidung aggregierte Kapazität, die an einem lokalen Infrastrukturknoten verfügbar ist, anstatt die individuelle Kapazität eines Servers zum Caching zu nutzen. In einigen Implementierungen ist dies eine zweite Rolle, die an das OMS 160 delegiert werden kann.
  • Zusätzlich oder alternativ dazu kann das Caching von auf entfernten Direktspeicherzugriff (RDMA) zugegriffenen Objekten durch mit dem OMS 160 verbundene Caches und/oder durch das OMS 160 verwaltete Shadow-Caches in dynamischem Direktzugriffsspeicher (DRAM) automatisiert werden, ohne Anwendungssoftware oder RDMA-SW-Stapel zu komplizieren.
  • Zusätzlich oder alternativ dazu kann das OMS 160 verwendet werden, um dynamische Hochbelegungsbus(HOB)-Leitungen/-Spuren von dem Ziel oder zwischen einem Zwischenpunkt und dem Ziel einzurichten, wenn latenzkritische Anforderungen wahrscheinlich nicht erfüllt werden. Die Idee besteht darin, die Netzwerk-e2e-Telemetrie zu verwenden, um Routen erneut zu berücksichtigen und potenziell alternative Routen mit Bandbreiten- und Latenzdurchsetzung zu entdecken und einzurichten. Die HOB-Leitungen/-Spuren können dynamisch eingestellt werden, indem die Energie- und Fehlerkorrekturcodierungsbudgets neu priorisiert werden, um mehr Verkehr als üblich an stark genutzten (z. B. mehr geforderten) Ketten von Sprüngen zu packen. Falls hier ein vorbestimmtes oder vordefiniertes Latenzziel (z. B. wie durch eine SLA oder dergleichen spezifiziert) wahrscheinlich auf einer aktuellen Verkehrsroute verfehlt wird, wird eine alternative Route zugewiesen, die für eine hohe Belegung priorisiert ist, um eine Latenz zum Transferieren des Objekts zu reduzieren. Diese neu zugewiesene HOB-Leitung/-Spur kann mehr Energie und/oder mehr Fehlerkorrekturbudget erfordern.
  • 2 zeigt ein beispielhaftes Caching-System-Szenario 200, das einen Anforderer 210 und mehrere Speicherungsstufen einschließlich einer lokalen Speicherungsstufe 220, einer nahegelegenen Speicherungsstufe 230 und einer entfernten Speicherungsstufe 240 einschließt. Die lokale Speicherungsstufe 220 kann Caching-Elemente 215 und/oder andere Speicherungselemente repräsentieren, die lokal und/oder relativ nahe an dem Anforderer 210 liegen. Zum Beispiel kann der Anforderer 210 eine Client-Anwendung sein, die durch die Benutzervorrichtung 110 (oder den Rechenknoten 1350 von 13) betrieben wird, und die lokale Speicherungsstufe 220 kann die Anforderer-Caching-Elemente 215 repräsentieren. Zusätzlich oder alternativ kann die lokale Speicherungsstufe 220 andere zugängliche Datenspeicher repräsentieren, wie etwa Speicherungsvorrichtungen, die (entweder drahtgebunden oder drahtlos) an den Anforderer 210 als eine separate Peripherievorrichtung und/oder dergleichen angebracht sind.
  • Die nahegelegene Speicherungsstufe 230 (auch als „Edge-Speicherungsstufe 230“ oder dergleichen bezeichnet) kann eine Speicherungsvorrichtung oder ein Speicherungssystem repräsentieren, die/das weiter vom Anforderer 210 entfernt liegt als die lokale Speicherungsstufe 220. Zum Beispiel kann die nahegelegene Speicherungsstufe 230 ein Clique-Peer in einem Clique-Netzwerk (oder ein Peer-Knoten in einem Peer-to-Peer-Netzwerk, wie etwa Peer-Endpunktvorrichtungen 960 in 9), eine netzwerkverbundene Speicherung (NAS), ein Speicherungsbereichsnetzwerk (SAN), Caching-Elemente 131 an NANs 130, Caching-Elemente 137 an einem oder mehreren Edge-Rechenknoten 136, einem oder mehreren CDN-Knoten (CDN: Content Delivery Network - Inhaltslieferungsnetzwerk), einem oder mehreren informationzentrischen Networking-Knoten (ICN-Knoten) (siehe z. B. ICN-Knoten 1110, 1115 und 1120 in 11) und/oder dergleichen sein. In einigen Implementierungen werden die NAS, das SAN, die Caching-Elemente 131, die Caching-Elemente 137, die CDN-Knoten und/oder die ICN-Knoten als Teil der nahegelegenen Speicherungsstufe 230 angesehen, wenn sie weniger als ein Schwellenabstand von dem Anforderer 210 entfernt und/oder weniger als eine Schwellenanzahl von Netzwerksprüngen von dem Anforderer 210 entfernt sind.
  • Die entfernte Speicherungsstufe 240 (auch als „Cloud-Speicherungsstufe 240“ oder dergleichen bezeichnet) kann eine Speicherungsvorrichtung oder ein Speicherungssystem repräsentieren, die/das weiter vom Anforderer 210 entfernt ist als die nahegelegene Speicherungsstufe 230. Zum Beispiel kann die entfernte Speicherungsstufe 240 die Caching-Elemente 131 an den NANs 130, die Caching-Elemente 137 an einem oder mehreren Edge-Rechenknoten 136, einem oder mehreren CDN-Knoten, einem oder mehreren ICN-Knoten (siehe z. B. ICN-Knoten 1110, 1115 und 1120 in 11), ein SAN, die Caching-Elemente 151 an einem oder mehreren App-Servern 150, die Cloud-Speicherung 140 und/oder dergleichen sein, die mehr als ein Schwellenabstand und/oder eine Schwellenanzahl von Netzwerksprüngen von dem Anforderer 210 entfernt sind. In einem anderen Beispiel kann die entfernte Speicherungsstufe 240 gemäß dem Abstand zwischen dem Anforderer 110, unterschiedlichen (logischen oder physischen) Speicherungssystemen in der entfernten Speicherungsstufe 240, der verfügbaren Gesamtspeicherungskapazität oder des verfügbaren Gesamtspeicherungsplatzes unterschiedlicher (logischer oder physischer) Speicherungssysteme, Subskriptionen, die der Anforderer 210 mit unterschiedlichen Cloud-Speicherungsdiensten hat, und/oder dergleichen in mehrere Unterspeicherungsstufen unterteilt werden.
  • Zusätzlich oder alternativ dazu können eine oder mehrere der Speicherungsstufen ferner in zwei oder mehr zusätzliche Speicherungsstufen (oder Unterspeicherungsstufen) unterteilt werden, die gemäß Leistungsfähigkeitsmetriken klassifiziert werden können, wie etwa zum Beispiel Zugangsgeschwindigkeit, Kommunikationsgeschwindigkeit, Speicherungsplatz und/oder andere ähnliche Kriterien. Zum Beispiel kann die lokale Speicherungsstufe 220 ferner in eine erste Unterspeicherungsstufe, die internen Speicher (z. B. Prozessorregister des Anforderers 210 und/oder Cache-Speicher) beinhaltet, eine zweite Unterspeicherungsstufe, die Systemspeicher (z. B. Hauptspeicher und/oder Primärspeicherung) beinhaltet, eine dritte Unterspeicherungsstufe, die interne/eingebettete Speicherungsvorrichtung(en) (z. B. Platten- und/oder Sekundärspeicherung) beinhaltet, und eine vierte Unterspeicherungsstufe, die peripheriebasierte Speicherungsvorrichtungen (z. B. direkt angehängte Speicherung (DAS), Nearline- und/oder Tertiärspeicherung) beinhaltet, unterteilt werden. Zusätzlich oder alternativ kann die erste Unterspeicherungsstufe ferner in zusätzliche Unterspeicherungsstufen für unterschiedliche Ebenen oder Cache-Speicher (z. B. Level-0(L0)-Cache bis Level-4(L4)-Cache) und/oder dergleichen aufgeteilt werden. Die Speicherungsstufen 220, 230 und/oder 240 können basierend auf der bestimmten beteiligten Implementierung und/oder dem bestimmten beteiligten Verwendungsfall in mehrere Unterspeicherungsstufen auf zusätzliche oder alternative Weisen unterteilt werden. In verschiedenen Implementierungen kann das OMS 160 für das Zuweisen unterschiedlicher Caches zu unterschiedlichen Speicherungsstufen verantwortlich sein.
  • In dem Szenario 200 wird eine Anforderung 201 für ein Objekt durch den Anforderer 210 an eine lokale Speicherungsstufe 220 gesendet, die in der lokalen Speicherungsstufe 220 verfehlt und von der nahegelegenen Speicherungsstufe 230 erfüllt wird. Die nahegelegene Speicherungsstufe 230 stellt eine Antwort 201' an den Anforderer 210 bereit, die das angeforderte Objekt enthält (auch als „zugegriffenes Objekt 201''' bezeichnet). Zusätzlich dazu verfehlt eine Anforderung 208 sowohl in der lokalen Speicherungsstufe 220 als auch in der nahegelegenen Speicherungsstufe 230 und muss durch die entfernte Speicherungsstufe 240 erfüllt werden. Die entfernte Speicherungsstufe 240 stellt eine Antwort 208' an den Anforderer 210 bereit, die das zugegriffene Objekt 208' beinhaltet. Während die Anforderung 201 ausstehend ist, sind die Anforderungen 202, 203 und 204 Treffer auf der lokalen Speicherungsstufe 220 und kommen für dasselbe Objekt 201' an, wie durch die Anforderung 201 angefordert (z. B. sind die zugegriffenen Objekte 202', 203' und 204' dieselben Daten wie das zugegriffene Objekt 201'), und werden jeweils kurz nachdem der Abruf für die Anforderung 201 abgeschlossen wurde erfüllt. Anschließend kommen die Anforderungen 205, 206 und 207 bei der lokalen Speicherungsstufe 220 an, von denen jede ihre Daten lokal als die zugegriffenen Objekte 205', 206' und 207' erhält. Obwohl das zugegriffene Objekt 201' nicht so weit vom Anforderer 210 wie das zugegriffene Objekt 208' entfernt ist, summieren sich aufgrund der Abhängigkeiten der zugegriffenen Objekte 202', 203' und 204' von den gleichen Daten die Gesamtleistungsfähigkeitsverschlechterungen aufgrund der zugegriffenen Objekte 201', 202', 203' und 204' auf oder akkumulieren sich anderweitig. Umgekehrt, obwohl die Frequenz des Zugriffs auf das zugegriffene Objekt 208' relativ niedrig sein kann und die zugegriffenen Objekte 205', 206' und 207' heiße Daten sind (z. B. relevant oder Objekte, die wahrscheinlich angefordert werden), die beibehalten werden und niedrige Zugriffslatenzen aufweisen, wird die Berechnung, die die zugegriffenen Objekte 205', 206' und 207' verwendet, aufgrund ihrer Abhängigkeit von dem zugegriffenen Objekt 208' gezwungen, sich selbst heraus zu schieben. Wie unten ausführlicher erörtert, billigen die hierin erörterten Caching-Mechanismen einem Objekt 208' mehr zu, dass es sich eine längere Entfernung fortbewegen muss, um beim Anforderer 210 anzukommen, wobei es während dieser Zeit einen Nachweis gab, dass andere Anforderungen und/oder andere Anforderer 210 verzögerte Treffer erfuhren.
  • Wie bereits erwähnt, verbessert das Caching die Leistungsfähigkeit, indem kürzliche oder häufig verwendete Datenelemente an Speicherorten gehalten werden, auf die schneller oder rechnerisch kostengünstiger zugegriffen werden kann als andere Speicher-/Speicherungsorte oder -vorrichtungen. Wenn der Cache voll ist, wählt ein Caching-Algorithmus aus, welche Elemente im Cache zu verwerfen sind, um Platz für neue Objekte zu schaffen. Herkömmliche Caching-Algorithmen basieren auf Variationen von LRU (Least-Recently Used), was eine praktikable Weise zum Verlagern oder Ersetzen von Objekten ist, die wahrscheinlich die höchste Zeit zur Wiederverwendung aufweisen. Variationen von LRU beinhalten ungefähre LRU, Taktersetzung, gewichtete LRU, satzassoziative LRU, zeitbewusste LRU (TLRU) und dergleichen. Andere Caching-Algorithmen beinhalten LRU(Least Frequency Used)-Algorithmen, die gecachte Objekte basierend auf der Popularität oder Häufigkeit von Zugriffen ersetzen. Verschiedene andere Caching-Systeme verwenden kostenbasierte Verlagerung, wobei die Kosten ein Maß für die Latenz, die Bandbreite und den Rechenaufwand sind, die beim Erlangen eines Objekts auftreten. In diesen Systemen werden Objekte mit höchsten Kosten am längsten beibehalten und Heuristiken werden verwendet, um jedem Faktor ein Gewicht zu geben, sodass Neuheit, Frequenz, Kosten und andere Faktoren. Für Zwecke der vorliegenden Offenbarung werden die verschiedenen Metriken oder Faktoren (oder Kombination von Metriken/Faktoren), die zum Beibehalten oder Räumen von Objekten aus einem Cache verwendet werden, als eine „Leistungszahl“ zum Beibehalten eines Objekts bezeichnet (oder als eine „Cache-Leistungszahl“ bezeichnet). Diese herkömmlichen Cache-Ersetzungsalgorithmen erfordern jedoch eine konstante, nicht offensichtliche Abstimmung und/oder Profilerzeugung, die basierend auf Änderungen in der Rechenumgebung fehleranfällig oder nicht optimal sein kann. Zusätzlich berücksichtigen die herkömmlichen Caching-Algorithmus-Strategien das komplexe Problem verzögerter Treffer nicht.
  • [Atre] bespricht einen MAD-Caching-Algorithmus (MAD: Minimum Aggregate Delay - minimale aggregierte Verzögerung), der Latenzen berücksichtigt, unter denen Anforderungen leiden, die unter dem Shadow eines Fehltreffers ankommen, wenn die Objektverlagerungsentscheidungen an einem gegebenen Server geformt werden. Insbesondere leitet der MAD-Caching-Algorithmus eine Einstufungsfunktion aus Belatedly durch Modellieren einer zukünftigen „aggregierten Verzögerung‟ eines Objekts ab. Diese Einstufungsfunktion approximiert empirisch Entscheidungen, die durch einen Caching-Algorithmus getroffen werden, der „Belatedly“ genannt wird, wobei es sich um einen Offline-Caching-Algorithmus handelt, der durch [Atre] designt ist, um Latenz bei verzögerten Treffern zu minimieren. MAD verwendet dann eine Verzögerungsheuristik, die verwendet werden kann, um traditionelle Caching-Algorithmen auf verzögerte Treffer aufmerksam zu machen.
  • Die hierin erörterten Ausführungsformen verwenden mehrere Caching-Strategien bei verteilter Verarbeitung, verteilten Berechnungen und/oder dergleichen. Die mehreren Caching-Strategien reichen von adaptiven zu latenzbasierten (z. B. den direkt auftretenden Kosten sowohl von Fehltreffern als auch verzögerten Treffern) Caching-Richtlinien, anstatt nur Trefferquoten zu verwenden, wie es bei herkömmlichen Caching-Algorithmen der Fall ist, die dynamische Situationen, die fluktuierende Bandbreiten, Latenzen und/oder transiente Ausfälle/Fehler einschließen, nicht berücksichtigen. Infolgedessen stellt das OMS 160 eine direkte Rückmeldung in die genutzten Caching-Strategien bereit, wobei die Nettoeffekte mehrerer Ursachen der Latenzdilatation implizit berücksichtigt werden, nicht nur die von Treffer- oder Fehltrefferquoten.
  • 1.1. BEISPIELHAFTES LATENZ-RESPONSIVES CACHING
  • 3a, 3b, 3c und 3d stellen beispielhafte Caching-Statistiken-Sammelprozesse dar. 3a veranschaulicht einen ersten Caching-Statistiken-Sammelprozess 3a00, der bei Operation 301 beginnt, bei der das OMS 160 Zugriff auf ein Objekt K anfordert (oder einen Befehl zum Zugreifen auf das Objekt K ausgibt). Die Anforderung kann für eine beliebige Art von Daten sein, einschließlich eines Datenbankobjekts, eines Informationsobjekts und/oder dergleichen. Bei Operation 302 bestimmt das OMS 160, ob das Objekt K in einem Cache vorhanden ist. Falls das Objekt K im Cache vorhanden ist, wird auf das Objekt K vom Cache aus zugegriffen und bei Operation 303 wird ein Trefferzähler für das Objekt K (z. B. „HK“) aktualisiert, und ein Zugriffsbit entsprechend dem Objekt K (z. B. „AK“) wird gesetzt, um anzugeben, dass kürzlich auf dieses zugegriffen wurde. In einigen Implementierungen kann HK die Anzahl von Treffern für das Objekt K oder eine Trefferquote des Objekts K repräsentieren. In manchen Implementierungen ist HK ein Sättigungszähler. Bei Operation 304 wird das Objekt K an die anfordernde Entität geliefert. In einem Beispiel kann jedes Objekt oder jeder Speicherslot im Cache mit einem entsprechenden Bit assoziiert sein, das angibt, dass auf ein entsprechendes Objekt (oder ein Objekt im entsprechenden Slot) zugegriffen wird oder nicht zugegriffen wird. Die Sammlung dieser Zugriffsbits kann als eine „Zugriffs-Bitmap“ oder dergleichen bezeichnet werden. Zusätzlich kann ein Takt oder Timer verwendet werden, um periodisch alle Zugriffsbits (erneut) auf null zu setzen, wobei Objekte oder Slots, deren Zugriffsbits bereits auf null gesetzt sind, vor Ablauf des Takts oder Timers aus dem Cache geräumt werden können, wenn der Takt oder Timer abläuft. Das liegt daran, dass nicht innerhalb einer Schwellenzeitdauer (z. B. der Wert des Timers/Takts) auf diese Objekte zugegriffen wurde.
  • Falls bei Operation 302 das OMS 160 bestimmt, dass das Objekt K nicht im Cache vorhanden ist, dann bestimmt das OMS 160 bei Operation 305, ob ein Abruf/eine Anforderung für das Objekt K bevorstehend oder ausstehend ist. Falls kein Abruf oder keine Anforderung ausstehend ist, dann gibt das OMS 160 bei Operation 306 eine Anforderung für das Objekt K und/oder einen Abruf- oder Zugriffsbefehl aus, und geht dann zu Operation 307 über, um zu warten, bis das Objekt K abgerufen wird. Dann geht das OMS 160 zu Operation 304 über, um das Objekt K an die anfordernde Entität zu liefern. Falls bei Operation 305 das OMS 160 bestimmt, dass ein Abruf/eine Anforderung für das Objekt K ausstehend ist (oder bereits im Gange ist), dann geht das OMS 160 zu Operation 307 über, um zu warten, bis das Objekt K abgerufen wird, und geht dann zu den Operationen 307 und 304 über.
  • 3b zeigt einen zweiten Caching-Statistiken-Sammelprozess 3b00, der Operationen 301-307 beinhaltet und einige zusätzliche Operationen hinzufügt. Im Prozess 3b00 werden die Operationen 301-306 durch das OMS 160 durchgeführt, wie zuvor mit Bezug auf den Prozess 3a00 von 3a erörtert. Im Prozess 3b00 geht das OMS 160, nachdem der Abruf/die Anforderung bei Operation 306 ausgegeben wurde, zu Operation 316 über, um die Zeit des Starts des Abrufs aufzuzeichnen (z. B. Setzen einer Variablen TK0 auf die aktuelle Zeit (Tcurrent)), und geht dann zu Operation 307 über, um zu warten, bis das Objekt K abgerufen wird. Nach Operation 307 geht das OMS 160 zu Operation 317 über, um die Abrufzeit zu messen, und aggregiert sie in Abrufkosten für das Objekt (z. B. FCK), wie durch Gleichung 1 gezeigt, wodurch effektiv ein fortlaufender Indikator der Latenz für das zugegriffene Objekt K gemessen wird. Die Abrufzeit ist die Menge an Zeit, die benötigt wird, um den Abruf abzuschließen (z. B. eine Differenz zwischen einer aktuellen Zeit und der Zeit, zu der der Abrufbefehl ausgegeben wurde). Mit anderen Worten, falls der ausgegebene Abruf ein erster Abruf ist (z. B. Operationen 305 bis 306), dann wird eine Zeit aufgezeichnet, zu der das Objekt K zuerst verfehlt wurde (z. B. Operation 316). Die gesamte Zeitdauer, für die das Objekt K verfehlt wurde, ist die Differenz in der Zeit, zu der das Objekt K zuerst verfehlt wurde, und der Zeit, zu der das Objekt K erhalten wurde. In manchen Implementierungen sind die Abrufkosten (Fetch Cost, FC) mittlere gewichtete durchschnittliche Kosten (Mean Weighted Average Cost, MWAC) (z. B. MWACK). Als Beispiele können die MWAC unter Verwendung eines einfachen gleitenden Durchschnitts (SMA: Simple Moving Average), eines kumulativen Durchschnitts (CA: Cumulative Average), eines gewichteten gleitenden Durchschnitts (WMA: Weighted Moving Average) eines exponentiellen gleitenden Durchschnitts (EMA: Exponential Moving Average), eines exponentiell gewichteten gleitenden Durchschnitts (EWMA: Exponentially Weighted Moving Average), eines modifizierten gleitenden Durchschnitts (MMA: Modified Moving Average), eines laufenden gleitenden Durchschnitts (RMA: Running Moving Average), eines geglätteten gleitenden Durchschnitts (SMMA: Smoothed Moving Average), eines Regressionsmodells mit gleitendem Durchschnitt und/oder dergleichen berechnet werden. Eine solche Aggregation, obwohl sie hier für ein einziges Objekt K gezeigt ist, kann tatsächlich gegen irgendeine distinkte Sammlung oder Klasse durchgeführt werden, zu der das Objekt gehört. C = T current T K 0 FC K = ( FC K , C )
    Figure DE102023200988A1_0001
  • In Gleichung 1 ist C die Abrufdauer (z. B. die Menge an Zeit, die benötigt wurde, um den Abruf abzuschließen), Tcurrent ist die aktuelle Zeit, TK0 ist eine Zeit (Zeitstempel), zu der der Abruf/die Anforderung für Objekt K ausgegeben wurde, FCK sind die Abrufkosten des Objekts K, und das Symbol „⊕“ repräsentiert einen gleitenden Durchschnitt oder einen gleitenden Fensterdurchschnitt (z. B. EMWA und/oder dergleichen), in den ein neuer Wert von C aggregiert wird. Zusätzlich oder alternativ ist das Symbol „⊕“ ein Aggregationsoperator über die Abrufkosten (FCK). Nach Operation 317 geht das OMS 160 zu Operation 304 über, um das Objekt K an die anfordernde Entität zu liefern.
  • 3c zeigt einen dritten Caching-Statistiken-Sammelprozess 3c00, der Operationen 301-307 beinhaltet und einige zusätzliche Operationen hinzufügt. Im Prozess 3c00 werden die Operationen 301-305 durch das OMS 160 durchgeführt, wie zuvor mit Bezug auf den Prozess 3a00 von 3a erörtert. In Prozess 3c00, falls bei Operation 305 das OMS 160 bestimmt, dass ein Abruf/eine Anforderung für das Objekt K ausstehend ist (oder bereits im Gange ist), dann geht das OMS 160 zu Operation 325 über, um die Anzahl ausstehender oder bevorstehender Anforderungen oder verzögerter Treffer (DH) für das Objekt K zu zählen, und dann geht das OMS 160 zu Operation 307 über. Zusätzlich oder alternativ zählt das OMS 160 bei Operation 325 die Gesamtanzahl an Fehltreffern, nachdem ein erster Abruf/eine erste Anforderung ausgegeben wurde. Wenn bei Operation 305 keine ausstehenden Abrufe vorhanden sind, und nachdem der Abruf/die Anforderung bei Operation 306 ausgegeben wurde, geht das OMS 160 zu Operation 326 über, um einen DH-Zähler auf 1 zu setzen, die Zeit des Starts des Abrufs auf gleiche oder ähnliche Weise aufzuzeichnen, wie zuvor mit Bezug auf Operation 316 von 3b erörtert, und geht dann zu Operation 307 über. Nach dem Warten, bis das Objekt Kbei Operation 307 abgerufen wird, geht das OMS 160 zu Operation 327 über. Bei Operation 327 aktualisiert das OMS 160 die FC mit einer durchschnittlichen Menge an Zeit, die bei jeder/jedem der nachfolgenden Anforderungen/Anforderer 210 auftritt, wie in Gleichung 2 gezeigt ist. C = T current T K 0 C = C ( ( 1 + D ( H K ) ) 2 ) FC K = ( FC K , C )
    Figure DE102023200988A1_0002
  • In Gleichung 2 ist D(HK) die Anzahl von DHs für das Objekt K (oder ein Wert des DH-Zählers für das Objekt K). In diesem Beispiel wird eine durchschnittliche Menge an Zeit verwendet, die bei jeder/jedem der nachfolgenden Anforderungen/Anforderern 210 auftritt, um die FC zu aktualisieren. In anderen Implementierungen können eine oder mehrere andere Metriken verwendet werden, wie etwa zum Beispiel eine probabilistische Stichprobe aus einem Maß, die um den Mittelwert verteilt ist, und/oder andere ähnliche Metriken oder Messungen, wie etwa die hierin besprochenen. Bei Operation 327 aggregiert das OMS 160, anstatt nur die FC (z. B. SMA, CA, WMA, EMA, EWMA, MMA, RMA, SMMA und/oder dergleichen) über Abruflatenzen zu akkumulieren, wie in Prozess 3b00 von 3b, eine FC über die Latenzen, die sowohl beim ersten Fehltreffer als auch bei anschließenden DHs auftreten. Der Operationspfad 305-325-307-327 berücksichtigt Anforderungen/Abrufe, die stattfinden, nachdem ein anfänglicher Abruf/eine anfängliche Anforderung wahrscheinlich einen DH zwischen einer maximalen Verzögerung und einer minimalen Verzögerung erfährt. Bei Operation 327 weist der Ausdruck „C = C ((1 + D(HK))/2)“ von Gleichung 2 dem ersten Fehltreffer einen Einheitsmultiplikator und allen nachfolgenden DHs einen fraktionalen Multiplikator zu. Dies liegt daran, dass der erste Fehltreffer in Operation 326 D(H) auf 1 setzt. Nach Operation 327 geht das OMS 160 zu Operation 304 über, um das Objekt K an die anfordernde Entität zu liefern.
  • 3d zeigt einen vierten Caching-Statistiken-Sammelprozess 3d00, der die Operationen 301-307 und die Operationen 325-327 beinhaltet, die zuvor mit Bezug auf 3c besprochen wurden, und auch zusätzliche Operationen zum Berechnen einer mittleren Zeit zur Wiederverwendung (MTR: Mean Time To Reuse) beinhaltet. In Prozess 3d00 geht der Caching-Mechanismus, nachdem bei Operation 3 06 ein Abruf/eine Anforderung ausgegeben wurde, zu Operation 336 über, um eine MTR basierend auf der aktuellen Zeit (Tcurrent) und einem Zeitstempel dafür, wann das Objekt K in den Cache (TK1) eingegeben (z. B. darin gespeichert) wurde, wie durch Gleichung 3gezeigt, zu berechnen. M T R = T current T K 1 MTR K = ( MTR K , M T R )
    Figure DE102023200988A1_0003
  • In Gleichung 3 ist MTR die mittlere Zeit zur Wiederverwendung, Tcurrent ist die aktuelle Zeit, TK1 ist die Zeit (Zeitstempel), zu der das Objekt K im Cachegespeichert wurde, MTRK ist die MTR des Objekts K, und das Symbol „⊕“ ist ein Operator eines gleitenden Durchschnitts oder eines gleitenden Fensterdurchschnitts (z. B. eine Zeitreihenaggregationsoperation für einen Durchschnitt und/oder dergleichen), in den ein neuer Wert von MTRK aggregiert wird. Hier wird die MTR nicht für jedes Objekt im Cache gezählt, da jedes gecachte Objekt als verwendet betrachtet wird, während es sich im Cache befindet. Stattdessen wird die MTR für das erste Objekt berechnet, um einen Cache-Fehltreffer zu erhalten, gleich nachdem dieses Objekt aus dem Cache geräumt wurde.
  • Die MTR wird für Objekt K berechnet, indem die Zeit zwischen der letzten Zeit, zu der auf das Objekt K zugegriffen wurde, und einer darauffolgenden Zeit, zu der auf dieses zugegriffen wurde, nachdem es nicht gefunden wurde, verfolgt wird (Operation 336). Diese Zeitdifferenz wird in MTRK aggregiert, um die MTR des Objekts K und insbesondere die Sammlung der MTR des Objekts K zu verfolgen. In manchen Implementierungen wird die Zeitdifferenz zwischen der letzten Zeit, zu der auf das Objekt K zugegriffen wurde, und der anschließenden Zeit, zu der auf dieses zugegriffen wurde, nachdem es nicht gefunden wurde, unter Verwendung von SMA, CA, WMA, EMA, EWMA, MMA, RMA, SMMA und/oder dergleichen aggregiert.
  • Die Prozesse der 3a, 3b, 3c und 3d ermöglichen dem OMS 160, Caching-Statistiken zu sammeln, nämlich die FCs, DHs und MTRs angeforderter Objekte. Dies beinhaltet Bestimmen von FC der ursprünglichen Fehltreffer-Latenzen, die mit DH-Latenzen für jede Fehltreffer-Latenz zusammengesetzt sind, und Bestimmen von FC über MTR. Zusätzlich kann das OMS 160 separat die Anzahl von Treffern oder eine Trefferquote für Zugriffe sammeln, die das OMS 160 aufgrund der lokal erfüllen Treffer nicht erreichen. Die gesammelten Statistiken der 3a-3d werden im Caching-Prozess von 4 verwendet.
  • 4 zeigt einen beispielhaften Cache-Skalierungsprozess 400. Das OMS 160 führt den Cache-Skalierungsprozess 400 durch, um den Caching-Ansatz zu skalieren, da die Anzahl von gecachten Objekten im Laufe der Zeit relativ groß werden kann. Anstatt eine Räumungsstrategie auf einer Objekt-für-Objekt-Basis zu verwenden, wird der Cache-Skalierungsprozess 400 verwendet, um Objekte zu gruppieren oder zu clustern und Kapazität in unterschiedlichen Speicherstufen zu unterschiedlichen Objektgruppen oder -clustern zuzuweisen. Außerdem wird der Cache-Skalierungsprozess 400 verwendet, um Objekte zu replizieren, die aufgrund verzögerter Treffer und erster Cache-Fehltreffer hohe Kosten von Cache-Fehltreffern aufweisen.
  • Der Prozess 400 beginnt bei Operation 401, bei der für jedes Objekt K das OMS 160 FCK (z. B. 3b-3c), MTRK (z. B. 3d) und HK sammelt, was eine Anzahl von Cache-Treffern für das Objekt K und/oder eine Trefferquote für das Objekt K sein kann (z. B. 3a-3d). Bei Operation 402 stuft das OMS 160 die Objekte gemäß ihrer Zugriffsdichte, Latenz- und/oder DH-Kosten und MTR ein. Die Zugriffsdichte ist ein Verhältnis der Größe eines Objekts zu der Frequenz, mit der auf das Objekt zugegriffen wird oder dieses angefordert wird. In einem Beispiel ist die Zugriffsdichte eines Objekts die Anzahl von Zugriffen pro Byte des Objekts (z. B. number of accesses/byte). Die Art und Weise, wie die Objekte unter Verwendung dieser Metriken eingestuft werden, kann implementierungsspezifisch sein. In manchen Implementierungen kann eine Richtlinienfunktion verwendet werden, um Objekten unterschiedliche Ränge gemäß ihrer Zugriffsdichte, Latenz- und/oder DH-Kosten und MTR zu geben. In einem Beispiel können die Zugriffsdichte, die Latenz-/DH-Kosten und die MTR jedes Objekts normiert und mit jeweiligen Gewichten kombiniert werden, um einen Wert zu erhalten, der mit anderen Objekten vergleichbar ist (z. B. rank = α(accessDensity) × β(DHcost) × γ(MTR)). In einem anderen Beispiel kann ein Verhältnis der Latenz-/DH-Kosten zu der MTR als Teil des Einstufungsprozesses verwendet werden. In diesem Beispiel ist ein Verhältnis der Latenz-/DH-Kosten zu der MTR eines Objekts ein Maß der Latenz-Leistungszahl zum Beibehalten (FLMR: Figure of Latency Merit for Retention) des Objekts, das wie durch Gleichung 4 gezeigt ausgedrückt werden kann. FLMR = DH c MTR
    Figure DE102023200988A1_0004
  • In Gleichung 4 ist DHC die Latenz-/DH-Kosten. Hier bevorzugt ein höheres MTR (z. B. Nenner in Gleichung 4) das Nichtbeibehalten des Objekts im Cache, während höhere mittlere zusammengesetzte Kosten von Fehltreffer und DHs (z. B. Zähler in Gleichung 4) das Beibehalten des Objekts im Cache bevorzugt. Das Einstufen der Objekte ermöglicht das Priorisieren lokaler oder nahegelegener Caching-Ressourcen (z. B. Stufen 220 und/oder 230 in 2) gemäß ihrer relativen FLMR (siehe z. B. Operation 403). In manchen Implementierungen wird diese Einstufung jedoch nicht zum separaten Zuordnen von Cache-Raum in jedem Computerknoten angewendet, wie im Folgenden besprochen.
  • Bei Operation 403 weist das OMS 160 ein flaches Cache-Budget in absteigender Reihenfolge der Ränge zu. Bei Operation 403 werden die am höchsten eingestuften Objekte vor den Cache platziert und die am niedrigsten eingestuften Objekte gehen gemäß ihren Gesamtkapazitätsbedürfnissen zu dem Boden/Ende des Caches.
  • Bei Operation 404 aggregiert das OMS 160 eine Gesamt-Caching-Kapazität über die Speicherungsstufen 220, 230 und 240 hinweg, wobei eine Gruppen-Caching-Kapazität in relativ nahen Speicherungsstufen (z. B. der lokalen Speicherungsstufe 220 und/oder der nahegelegenen Speicherungsstufe 230) zurückgestellt wird. Hier fügt und/oder aggregiert das OMS 160 die Gesamt-Caching-Kapazität zusammen und weist sie dann über die gecachten Objekte K hinweg zu. Dies ermöglicht ein kooperatives Caching über die aggregierte Kapazität, die in einer gegebenen Speicherungsstufe verfügbar ist, unter einem Satz proximaler Rechenknoten (z. B. Servern, Client-Vorrichtungen und dergleichen), die einen entfernten Speicherpool (z. B. die entfernte Speicherungsstufe 240) gemeinsam nutzen können. Eine kleine Menge an Kapazität wird jedoch aus dieser aggregierten Kapazität als eine Zuweisung für lokales Caching (z. B. die oben erwähnte Gruppen-Caching-Kapazität) herausgenommen. Dies soll sicherstellen, dass jeder Rechenknoten seine Objekte, auf die kürzlich oder häufig zugegriffen wurde, über seine eigene lokale Caching-Hierarchie cacht, um die Zeit zum Bedienen jedes Cache-Treffers zu minimieren. Mit anderen Worten beinhaltet die Operation 404 Bestimmen einer Präferenz für unterschiedliche Speicherungsstufen für jedes eingestufte Objekt.
  • Bei Operation 405 weist das OMS 160 Caching-Kapazität basierend auf den Objekträngen zu. In manchen Implementierungen wird die Kapazität einzelnen Anforderern 210 gemäß den Rängen der Objekte, die sie anfordern, zugewiesen. Das OMS 160 kann eine Optimierungsfunktion (z. B. eine Kostenfunktion oder Verlustfunktion) verwenden, um die Objektränge in die Menge an Kapazität aufzulösen, die für einzelne Anforderer 210 reserviert ist, die auf Objekte zugreifen, deren Ränge unterschiedliche Prioritäten gegenüber den lokalen Speicherungsstufen 220 und den nahegelegenen Speicherungsstufen 230 aufweisen. Zusätzlich oder alternativ maximiert das OMS 160 eine Best-Match-Funktion, um einen proportional höheren Anteil in oberen Speicherungsstufen zu hochrangigen gecachten Objekten zuzuweisen.
  • Bei Operation 406 identifiziert das OMS 160 nicht private verteilte Objekte K, die ein relativ hohes FCK aufweisen. Hier bezieht sich „nicht privat“ auf Objekte, die durch mehrere Anforderer 210 (z. B. mehrere Maschinen) angefordert werden, die wahrscheinlich mit der Zeit mehrere Pfade zu den mehreren Anforderern 210 durchlaufen werden, und von daher neigen nicht private verteilte Objekte dazu, hohe Ersetzungskosten aufzuweisen. In diesem Beispiel werden die hohen Ersetzungskosten in FCK widergespiegelt, das sowohl Kosten des ersten Fehltreffers als auch DHC einschließen. Bei Operation 407 erhöht das OMS 160 die Replikationsfaktoren der in Operation 406 identifizierten nicht privaten verteilten Objekte K. In manchen Implementierungen erhöht das OMS 160 die Far-Edge- und Near-Edge-Replikationsfaktoren für die identifizierten nicht privaten verteilten Objekte K mit einem relativ hohen FCK. Das „Near Edge“ ist die Speicherungsstufe am nächsten zu der Cloud 844 (z. B. Speicherungsstufen 230 oder 240), und „Far Edge“ ist das Edge am nächsten zu den Anforderern 210 (z. B. Speicherungsstufe 220).
  • Die Operationen 406 und 407 beinhalten Identifizieren von Objekten, die über verschiedene Anforderer 210 gemeinsam genutzt werden, die hohe Ersetzungskosten (z. B. relativ hohen FCK und/oder relativ hohe FLMR) aufweisen, und Zuweisen eines hohen Replikationsfaktors zu diesen Objekten K. Die Cache-Replikation beinhaltet das Erzeugen und Kopieren (oder Replizieren) von Daten und Speichern dieser Kopien (Replikationen) zu anderen Speicherungselementen in einer oder mehreren Speicherungsstufen (oder Clustern). Der Replikationsfaktor ist die Anzahl von Kopien (oder Replikationen) eines Objekts, die in einer oder mehreren Speicherungsstufen gespeichert wird. Die in Operation 406 identifizierten Objekte erfahren nicht nur eine sehr hohe Räumungsmenge, sondern sie weisen auch eine große Anzahl korrelierter Zugriffe auf. Das heißt, diese Objekte werden möglicherweise nicht für eine lange Zeit angefordert, was zu einer Räumung führt, aber wenn sie erneut angefordert werden, kommen zahlreiche Anforderungen ein, und sie leiden alle unter den Kosten, das Objekt zurück in den Cache zu bringen. Wenn das OMS 160 Objekte K von nahegelegenen Speicherungsstufen 230 und/oder entfernten Speicherungsstufen 240 basierend auf Fehltreffern der lokalen Speicherungsstufe 220 erhält, erhält das OMS 160 auch neueste FCK und/oder FLMR-Werte von den Quellen, von denen es diese Objekte K erhält, zusammen mit den Replikationsfaktoren, die auf diese Objekte K angewendet werden. Das Erhöhen der Replikationsfaktoren ermöglicht, dass diese Objekte länger beibehalten werden, um ihre dynamischen Replikatanzahlen in Near-Edge- und Far-Edge-Puffer-Pools effektiv zu erhöhen.
  • Bei Operation 408 erhöht das OMS 160 Komprimierungsfaktoren für die Objekte K mit relativ hohem FCK. Das Erhöhen des Komprimierungsfaktors kann das Verwenden eines anspruchsvolleren Komprimierungsalgorithmus oder das Komprimieren der Objekte mehr als andere Objekte beinhalten. Hier verwendet das OMS 160 hohe Komprimierungsfaktoren für Objekte mit einem relativ hohen FCK und/oder FLMR, sodass mehr dieser Objekte K in verfügbare lokale Speicherungsstufen 220 und/oder nahegelegene Speicherungsstufen 230 gepackt werden können.
  • Zusätzlich dazu kann das OMS 160 diese Objekte K mit konsistentem Hashing über eine zurückgestellte Gruppen-Caching-Kapazität verteilen. Konsistentes Caching wird verwendet, um Last unter einem Satz von Caching-Knoten einer oder mehrerer Speicherungsstufen (z. B. Caching-Server und/oder dergleichen) zu verteilen. Das heißt, unter Annahme der zu cachenden Daten, verwendet konsistentes Hashing einen Cache-Schlüssel, um den oder die Caching-Knoten zu bestimmen, der/die die gecachten Daten speichert.
  • 5 zeigt einen Speicherungsstufen-Auswahlprozess 500, der durch das OMS 160 durchgeführt werden kann. Das OMS 160 führt den Speicherungsstufen-Auswahlprozess 500 durch, um die spezifischen Speicherungsstufen für Caching-Objekte auszuwählen. Ähnlich wie bei dem Prozess 300 clustert das OMS 160 im Prozess 500 Objekte in verschiedene Ranggruppen (z. B. 1 bis N Ranggruppen, wobei N eine Zahl ist) und bestimmt dann eine dynamische Scanrate für jede Objektranggruppe.
  • Der Prozess 500 beginnt bei Operation 501, bei der das OMS 160 Objekte K in 1 bis N Cluster oder Gruppen gruppiert (wobei N eine Anzahl von Gruppen oder Clustern ist). Die Cluster oder Gruppen können auch als Ranggruppen bezeichnet werden, da die Objekte in Bezug aufeinander eingestuft werden. Den Objekten K werden unterschiedliche Ränge zugewiesen und werden gemäß ihren neu zugewiesenen Rängen in eine kleinere Anzahl von Rängen platziert (z. B. neu zugewiesen im Vergleich zu den Rängen, die den Objekten im Prozess 400 von 4 zugewiesen sind). Die Einstufungen in diesem Beispiel werden verwendet, um zu bestimmen, wie lange ein Objekt in dem Cache beibehalten werden sollte, sodass Objekte, die zu Gruppen höherer Einstufung gehören, länger im Cache beibehalten werden als Objekte, die zu Gruppen niedrigerer Einstufung gehören.
  • Bei Operation 502 bestimmt das OMS 160 eine dynamische Scanrate für jede Objektgruppe/jedes Objektcluster. Eine Scanrate ist die Rate, mit der das OMS 160 Objekte K zur Räumung aus dem Cache identifiziert, und kann in einigen Implementierungen auch den Prozess der Räumung selbst beinhalten. Die dynamische Scanrate ist eine Scanrate, die sich mit der Zeit und/oder als Reaktion auf ein Ereignis ändert. In manchen Implementierungen ist die dynamische Scanrate die mittlere Zeit zwischen dem Scannen desselben Objekts K. In einem Beispiel erfolgt das Scannen gemäß einem Taktalgorithmus, wobei das OMS 160 alle Objekte in jeder Ranggruppe auf eine Round-Robin-Weise überprüft oder analysiert, um die Objekte zu identifizieren, die geräumt werden sollten. Hier werden Objekte in einer Gruppe/einem Cluster periodisch zur Räumung gescannt. In manchen Implementierungen werden die nicht verwendeten Objekte in höheren Leistungsfähigkeitsniveaus früher in eine niedrigere Speicherungsstufe oder eine äußere Stufe (z. B. weiter vom Anforderer 210 entfernt) geräumt, falls sie nicht heiß (hot) genug sind.
  • Die Operationen 503-513 beinhalten das Analysieren jedes Objekts K in jeder Ranggruppe gemäß der Scanrate jeder Ranggruppe, um zu bestimmen, welche Objekte K aus dem Cache geräumt werden sollten. Bei Operation 503 mit offener Schleife verarbeitet das OMS 160 wiederum jedes Objekt K und führt Operationen 504, 505 und 506 für jedes Objekte durch, das zu einer gegebenen Zeit untersucht wird (z. B. gemäß der dynamischen Scanrate der Gruppe/des Clusters, zu der/dem das Objekt gehört). In einigen Implementierungen wählt das OMS 160 bei jedem Schritt in einem Taktalterungsalgorithmus Objekte, auf die nicht kürzlich zugegriffen wurde, zu der Zeit des Scans als potenzielle Verlagerungs(Ersetzungs)-Kandidaten aus. Die Operationen 504, 505 und 506 werden zum Auswählen von Objekten K, auf die nicht kürzlich zugegriffen wurde, zur Zeit eines Scans als potentielle Verlagerungs(Ersetzungs)-Kandidaten durchgeführt. Bei Operation 504 bestimmt das OMS 160, ob das Zugriffsbit eines Objekts K (AK) gesetzt oder aktiviert ist (z. B. einen Wert von 1 aufweist). Falls das Zugriffsbit des Objekts K aktiviert ist, dann wird das Zugriffsbit bei Operation 505 deaktiviert oder inaktiviert (z. B. so gesetzt, dass es einen Wert von 0 aufweist). Falls das Zugriffsbit des Objekts K (AK) nicht gesetzt ist (z. B. einen Wert von 0 aufweist), dann wählt das OMS 160 bei Operation 506 das Objekt K als einen Ersetzungskandidaten aus. Bei Operation 507 mit geschlossener Schleife geht das OMS 160 zu Operation 503 zurück, um ein nächstes Objekt K, falls vorhanden, zu verarbeiten.
  • Nachdem alle Objekte K verarbeitet wurden, geht das OMS 160 zu Operation 508 mit offener Schleife über, um wiederum jeden Ersetzungskandidaten zu verarbeiten, und führt Operationen 510, 511 und 512 für jeden Ersetzungskandidaten durch. Die Operationen 510, 511 und 512 werden zum Prüfen eines Verlagerungs(Ersetzungs)-Kandidaten gegen eine Schwelle für den Zeitpunkt, zu dem er zuletzt referenziert wurde (z. B. eine dynamische Gruppenzeitschwelle (Th)) durchgeführt. Die dynamische Gruppenzeitschwelle kann sich für unterschiedliche Ranggruppen unterscheiden, sodass Gruppen mit höheren Rängen eine höhere dynamische Gruppenzeitschwelle als Gruppen mit niedrigeren Rängen aufweisen. Diese Überprüfung wird verwendet, um entgegenzuwirken, dass Objekte zu früh geräumt werden, indem ihre Ranggruppe berücksichtigt wird. In manchen Implementierungen ist die Schwelle selbst nicht fest, da sie möglicherweise gemäß Konkurrenz um Kapazität in einer gegebenen Speicherungsstufe dynamisch variieren muss. Da die Schwelle zum Prüfen aller Objekte in einer gegebenen Ranggruppe verwendet wird, verringert dies die Wahrscheinlichkeit, dass übermäßiger Bias gegen irgendein gegebenes Objekt K angewendet wird, nur weil es keinen kürzlichen Zugriff registrierte.
  • Bei Operation 510 bestimmt das OMS 160, ob die MTR des Ersetzungskandidaten (z. B. Differenz zwischen der aktuellen Zeit (Tcurrent) und einem Zeitstempel, wann der Ersetzungskandidat in den Cache eintrat (z. B. zuerst gespeichert wurde) (TK1)), größer als die Differenz zwischen einer dynamischen Gruppenzeitschwelle (Th) ist. Falls die MTR des Ersetzungskandidaten größer als die dynamische Gruppenzeitschwelle ist (Th), dann wird das Ersetzungskandidatenobjekt bei Operation 511 geräumt (siehe z. B. 6). Falls die MTR des Ersetzungskandidaten niedriger als die dynamische Gruppenzeitschwelle ist (Th), dann wird das Ersetzungskandidatenobjekt bei Operation 512 nicht geräumt (z. B. beibehalten). Bei Operation 513 mit geschlossenemr Schleife geht das OMS 160 zurück zur Operation 509, um, falls vorhanden, einen nächsten Ersetzungskandidaten zu verarbeiten. Nachdem alle Ersetzungskandidaten verarbeitet wurden, kann das OMS 160 den Prozess nach Bedarf beenden oder wiederholen.
  • 6 zeigt einen beispielhaften Speicherungsstufen-Räumungsprozess 600, der durch das OMS 160 für jedes Objekt K durchgeführt werden kann, das als ein Ersetzungskandidat zur Räumung ausgewählt wird (siehe z. B. Operationen 509-511 von 5). In dem Prozess 600 bestimmt das OMS 160, wohin ein Objekt K geräumt werden soll. Basierend auf den aggregierten Latenzkosten des Objekts K wird das Objekt K entweder zu einer nahegelegenen Speicherungsstufe oder zu einer Best-Effort-Speicherungsstufe geräumt. Dies stellt sicher, dass Objekte, deren Wert zum Beibehalten im Laufe der Zeit abklingt, nicht Objekte mit relativ hohen oder steigenden FCs und/oder FLMRs verdrängen.
  • Der Prozess 600 beginnt bei Operation 601, bei der das OMS 160 bestimmt, ob sich das Objekt K (z. B. von Operation 511 von 5) in einer äußersten Speicherungsstufe (z. B. der entfernten Speicherungsstufe 240) befindet. Falls sich das Objekt K nicht in der äußersten Speicherungsstufe befindet, dann geht das OMS 160 zu Operation 602 über, um das Objekt K zu einer nächsten äußeren Speicherungsstufe zu räumen. Hier bezieht sich „äußerste“ auf einen Abstand von dem Anforderer 210 zu der Speicherungsstufe. Falls sich zum Beispiel das Objekt K in der lokalen Speicherungsstufe 220 befindet, dann kann das Objekt K zu einer nächsten äußeren Speicherungsstufe geräumt werden, was die nahegelegene Speicherungsstufe 230 in dem Beispiel von 2 ist.
  • Falls sich das Objekt K in der äußersten Speicherungsstufe (z. B. der entfernten Speicherungsstufe 240) befindet, dann geht das OMS 160 zu Operation 603 über, um zu bestimmen, ob die FC des Objekts K (FCK) kleiner oder gleich einer Schwelle sind, die gleich oder verschieden von der dynamischen Gruppenzeitschwelle (Th) sein kann. Falls FCK kleiner oder gleich der Schwelle ist, dann geht das OMS 160 zu Operation 604 über, um das Objekt K zu einer beliebigen Best-Effort-Speicherungsstufe zu räumen. Die Best-Effort-Speicherungsstufe kann eine erste verfügbare Speicherungsstufe sein, die Platz zum Speichern des Objekts hat. Falls FCK mehr als die Schwelle ist, geht das OMS 160 zu Operation 605 über, um das Objekt K in eine nächste verfügbare Speicherungsstufe zu räumen. Die nächste verfügbare Speicherungsstufe kann eine beliebige Speicherungsstufe sein, die weiter von dem Anforderer 210 als die gegenwärtige Speicherungsstufe entfernt ist, die verfügbare Kapazität zum Speichern des Objekts aufweist. Nach den Operationen 604 und 605 kehrt das OMS 160 zum Caching-Prozess 500 zurück.
  • 7 stellt einen beispielhaften Infrastrukturinteraktionsprozess 700 dar. In verschiedenen Implementierungen können Infrastrukturgeräte (z. B. Netzwerkzugangsknoten (NANs), SmartNICs, DPUs/IPUs, Switches und/oder dergleichen) verwendet werden, um dynamische HOB-Leitungen von einem Ziel(Bestimmungsort)-Knoten und/oder zwischen einem Zwischenknoten (z. B. einem Sprung zwischen dem Ziel- und Quellknoten) und dem Zielknoten einzurichten, wenn latenzkritische Anforderungen wahrscheinlich nicht erfüllt werden. In diesen Implementierungen verwendet das Infrastrukturgerät Netzwerk-Ende-zu-Ende(e2e)-Telemetrie, um bestehende Verkehrsrouten/-pfade erneut zu berücksichtigen und potenziell alternative Routen mit Bandbreiten- und Latenzdurchsetzung zu entdecken und einzurichten. Wie zuvor erwähnt, können die HOB-Leitungen/-Spuren dynamisch eingestellt werden, indem die Energie- und Fehlerkorrekturcodierungsbudgets neu priorisiert werden, um mehr Verkehr als üblich auf stark genutzte (mehr geforderte) Ketten von Sprüngen zu packen. In verschiedenen Implementierungen werden HOB-Spuren durch eine Switch-Hierarchie (die die Speicherstufenhierarchie sein kann oder Teil davon sein kann) implementiert. Hier können einige oder alle Switches auf der Architektur Echtzeittelemetrie über die Belegung bereitstellen, die sie für jede der Verbindungen erfährt, die sie aufweist. Diese Telemetrie kann zu den anderen Switches der Architektur mittels Broadcasting oder Multicasting übermittelt werden. Es ist zu beachten, dass Broadcasting oder Multicasting auf föderierte Weise implementiert werden können. In einem Beispiel wird die Telemetrie durch einen individuellen Switch an einen Satz von Switches mittels Broadcasting übermittelt, die Teil (oder innerhalb) eines gewissen Radius von einem Ort des einzelnen Switches sind. Wenn ein gegebenes Paket einen bestimmten Switch durchquert, wählt der bestimmte Switch einen nächsten Switch basierend auf einer Routing-Tabelle aus, die unterschiedliche Routen zum Ankommen bei einem gewissen Ziel und die Nutzung der Links angibt, die durchquert werden müssen, um zu diesem Bestimmungsort zu gelangen. Zusätzlich oder alternativ dazu Antreiben von Pfadfindungsaktivitäten innerhalb eines Teams, um neue Richtungen aus der Systemarchitekturperspektive anzutreiben. Das Paket kann die verschiedenen Sprünge verfolgen, durch oder über die es Pakete leitet. Sobald ein Paket von einem Ursprung zu einem Ziel durchläuft, sind das Paket und die Latenz, die erreicht wurde, in einer SLA oder irgendeiner anderen Datenstruktur enthalten. Die Rückmeldung über die Route wird dann an den ursprünglichen Sender geliefert. Daher werden die nächsten Pakete die vorab entdeckte HOB-Spur enthalten. Es kann sich dynamisch ändern, falls die aktuelle HOB-Spur diese Verschlechterung der SLA erfährt, was an dem Ziel identifiziert werden würde. Das Ziel würde erfordern, dass der Sender die HOB-Spur schont und die HOB-Erzeugung basierend auf der aktuellen Telemetrie erneut durchführt.
  • Der Infrastrukturinteraktionsprozess 700 beginnt bei Operation 701, bei der ein Eintrittspaket (eingehendesPacket) an einem Infrastrukturgerät ankommt. Das Eintrittspaket beinhaltet zum Beispiel eine Anforderung (z. B. eine Anforderung zum Zugreifen auf ein gecachtes Objekt), eine erforderliche Latenz (erjLatenz), einen aktuellen Latenzwert (aktuelleLatenz), eine Zielnetzwerkadresse (DST), Routenkennungen (IDs) für einen oder mehrere Sprünge entlang der Paketroute und/oder andere ähnliche Informationen. Die erforderliche Latenz (erfLatenz) kann die erforderlichen Timing-Erfordernissen zum Liefern des Eintrittspakets sein. In manchen Implementierungen kann die erforderliche Latenz (erfLatenz) zum Beispiel QoS-Klasse, Weiterleitungsbehandlungsinformationen, minimale und/oder maximale garantierte Bitrate (GBR), Zuverlässigkeitsdaten, Konfigurationen/Daten für ultrazuverlässige Kommunikationen mit niedriger Latenz (URLLC) und/oder dergleichen beinhalten oder auf diesen basieren. Als Beispiele beinhalten Objekte, die Latenzerfordernisse aufweisen können, eine intelligente Werks-/Industrieautomatisierung (z. B. industrielle Steuerung, Prozesssteuerung, Robotik, Maschine-zu-Maschine-Kommunikationen und dergleichen), Herstellung (z. B. Bewegungssteuerung, Fernsteuerung, erweiterte Realität (AR), virtuelle Realität (VR) und dergleichen), Gesundheitsdienste (z. B. Ferndiagnose, Notfalleinsatzkommunikationen, ferngesteuerte Chirurgie und dergleichen), Unterhaltung (z. B. immersives Gaming, wie etwa AR, VR, online und/oder interaktives Gaming, isochrones Video und dergleichen), Transport (z. B. Fahrerassistenzanwendungen, Anwendungen für autonomes Fahren, verbesserte Sicherheit, Verkehrsverwaltung und dergleichen), Energiesektor (z. B. intelligentes Stromnetz, intelligente Energielieferung und dergleichen) und Finanzsektor (z. B. Echtzeit-Handel und dergleichen). Bei Operation 702 ruft das Infrastrukturgerät die letzte bekannte Latenz zwischen einzelnen Sprüngen entlang der Route des Pakets teilweise basierend auf den Informationen, die in dem Eintrittspaket enthalten sind, auf oder identifiziert diese anderweitig.
  • Bei Operation 703 bestimmt das Infrastrukturgerät, ob die aktuelle Latenz und eine geschätzte verbleibende Latenz (z. B. aktuelleLatenz + gesch.verblLatenz) größer als die erforderliche Latenz (erfLatenz) ist, die durch das Eingangspaket angegeben wird. Falls die aktuelle Latenz und die geschätzte verbleibende Latenz (z. B. aktuelleLatenz + gesch.verblLatenz) niedriger als die erforderliche Latenz (erfLatenz) ist, dann geht das Infrastrukturelement zu Operation 709 über, um mit dem Austritt fortzufahren (z. B. das Eintrittspaket an einen Austrittsknoten und/oder zu dem Zielknoten weiterzuleiten).
  • Falls bei Operation 703 die aktuelle Latenz und die geschätzte verbleibende Latenz (z. B. aktuelleLatenz + gesch.verblLatenz) größer als die erforderliche Latenz (erfLatenz) ist, dann geht das Infrastrukturelement zu Operation 704 über, um eine oder mehrere alternative Routen auszuwählen, die wahrscheinlich die Latenzerfordernisse des Eintrittspakets basierend auf aktueller Telemetrie/aktuellen Statistiken erfüllen. Dann bestimmt das Infrastrukturgerät bei Operation 705, ob eine neue projizierte Latenz (projLatenz) größer als ein Prozentsatz (X%, wobei X eine Zahl ist) bezüglich (bzgl.) der erforderlichen Latenz (erfLatenz) ist. Falls die neue projizierte Latenz (projLatenz) größer als der Prozentsatz (X%) der erforderlichen Latenz (erfLatenz) ist, dann geht das Infrastrukturelement zu Operation 708 über, um die neue Route für das Paket zu konfigurieren, und fährt dann bei Operation 709 mit dem Austritt fort.
  • Falls bei Operation 705 die neue projizierte Latenz (projLatenz) nicht größer als der Prozentsatz (X%) der erforderlichen Latenz (erfLatenz) ist, dann geht das Infrastrukturelement zu Operation 706 über, um e2e-HOB für den Rest des/der Paket(Anforderungs)-Laufs/Route anzufordern. Bei Operation 707 bestimmt das Infrastrukturgerät, ob der e2e-HOB erstellt wird. Falls der e2e-HOB nicht erstellt wird/wurde, dann geht der Infrastrukturknoten zu Operation 704 zurück. Falls der e2e-HOB erstellt wird/wurde, dann geht das Infrastrukturelement zu Operation 708 über, um die neue Route für das Paket zu konfigurieren, und fährt dann bei Operation 709 mit dem Austritt fort.
  • Der Infrastrukturinteraktionsprozess 700 wird verwendet, um umzuleiten und/oder zu überdenken, wie Pakete von einem Quellknoten zu einem Zielknoten in Abhängigkeit von der aktuellen Latenz, die erfahren wurde, und einer erforderlichen Latenz (z. B. minimal zulässigen Latenz, wie durch relevante Service Level Agreements (SLAs) definiert) durchlaufen werden. Hier können die Pakete entweder einer Anforderung entsprechen, die von einem Anforderer 210 (z. B. Vorrichtung/Benutzer) oder von einer Antwort von einer Speicherungsstufe, die dem Anforderer 210 Caching-Dienste bereitstellt, kommt. Pakete, die einer bestimmten Datenzugriffsanforderung entsprechen, beinhalten Latenzerfordernisse, aktuelle Latenz, die von dem Ursprung (Quelle) erfahren wird, und eine aktuelle Route oder einen aktuellen Pfad, der/dem das Paket folgen muss. Während Pakete unterschiedliche Netzwerksprünge durchlaufen (z. B. Gateway-Geräte, HW-Switches, SDN(Software-definiertes Networking)-Technologie, MPLS (Multiprotocol Label Switching) und/oder dergleichen), kann die aktuelle Route des Pakets basierend auf der Wahrscheinlichkeit, dass eine Latenzerfordernis/-frist verfehlt wird, überdacht werden (z. B. kann das Paket umgeleitet werden). Dazu verfolgt das Infrastrukturgerät (z. B. unter Verwendung eines Best-Effort- oder Echtzeit-Verfolgungsmechanismus basierend auf dem Einsatzmodell) Latenzen zwischen den verschiedenen Elementen des Netzwerks (702). Unter Verwendung dieser Informationen (702) schätzt der aktuelle Sprung (Infrastrukturgerät), bei jedem Sprung, ob die aktuelle Route die aktuellen Latenzerfordernisse verletzt (703). Im positiven Fall überdenkt das Infrastrukturgerät andere alternative Routen unter Berücksichtigung der aktuellen bekannten Infrastrukturtelemetrie, der Bandbreiten- und Latenzerfordernisse (704).
  • In einigen Fällen können die verfügbaren Routen sehr knappe Chancen haben, die erforderliche Latenz zu erfüllen (705). Beispielsweise kann eine ausgewählte Route R1 eine geschätzte Latenz von 1000 Mikrosekunden (µs) aufweisen, wobei die erforderliche Latenz 1100 µs beträgt. Das Infrastrukturgerät kann Verfahren bereitstellen, um Ressourcen spezifischen Paketen zuzuweisen, die das Netzwerk für einen bestimmten Zeitraum durchlaufen. Somit kann der aktuelle Sprung basierend auf der ausgewählten Route rekursiv anfordern, Ressourcen für die Anforderung zuzuweisen (706). Sobald der letzte Sprung den HOB bestätigt (707), kann die Anforderungsroute aktualisiert werden (708), und die Anforderung kann fortgesetzt werden. Um dieses Verfahren zu implementieren, kann das Infrastrukturgerät erfordern, dass spezifische Kanäle verwendet werden, um die HOB-Spuren zwischen allen Sprüngen einzurichten, sodass sie mit niedriger Latenz eingerichtet werden können. Wie zuvor erwähnt, können die HOB-Spuren verwendet werden, um eine alternative Route zwischen zwei Punkten bereitzustellen, wobei alle Zwischensprünge (z. B. Punkt-zu-Punkt-Links) auf dieser Route die garantierte e2e-Priorität und Bandbreite für einen bestimmten Kanal unterstützen müssen. Dafür kann die Networking-Infrastruktur erfordern, dass spezifische Kanaleinrichtungsmechanismen verwendet werden, die sich von einer normalen Kanaleinrichtung unterscheiden. Diese spezifischen Kanaleinrichtungsmechanismen können in Notfallsituationen verwendet werden und sind an vorreservierte beiseite gelegte Frequenzen gebunden, sodass sie schnell zugewiesen (und dann nach Verwendung freigegeben) werden können. In manchen Implementierungen kann der e2e-HOB (706) mit einer Anforderung assoziiert sein, die mit einem spezifischen Paket übermittelt wird, oder kann mit einer Stream-ID (die z. B. dem Inhalt entspricht, der der Antwort entspricht) assoziiert sein, die in mehrere Pakete abgebildet wird. In letzterem Fall beinhaltet die HOB-Spurerzeugung eine Zeit für die HOB-Dauer und die Menge an Verkehr, die mit der Antwort assoziiert sein wird. Diese Informationen werden von den Sprüngen verwendet, um die erforderlichen Ressourcen richtig zuzuweisen.
  • 1.2. BEISPIELHAFTE OBJEKTVERWALTUNGSSYSTEM-IMPLEMENTIERUNGEN
  • Das OMS 160 ist eine Vorrichtung, eine Komponente, ein Untersystem und/oder ein beliebiges HW-Element, SW-Element und/oder eine Kombination davon, die/das den Cache und/oder gecachte Daten steuert und/oder verwaltet. Beispielsweise steuert und/oder managt das OMS 160 die Speicherung von Daten in den Caches, ruft Daten aus den Caches auf oder greift auf diese zu und räumt Daten aus den Caches gemäß den hierin erörterten Techniken. Im Beispiel von 1 ist das OMS 160 als eine Entität dargestellt, die von den anderen Elementen in der mehrstufigen Caching-Architektur 100 getrennt ist. Das OMS 160, das als eine eigenständige Entität oder ein eigenständiges Element implementiert ist, ist eine von einer Mehrzahl von Implementierungen, die möglich sind. Insbesondere gibt es drei Implementierungskategorien des OMS 160, die möglich sind, einschließlich Netzwerkfunktions(NF)-Implementierungen, Speicherungsverwaltungsimplementierungen und Serverimplementierungen.
  • Die NF-Implementierungskategorie beinhaltet ein beliebiges Netzwerkelement, das entlang eines Netzwerkpfads eingesetzt werden kann, das geeignete Verarbeitungsfähigkeiten aufweist, um die Prozesse der 3a-7 zu betreiben. In diesen Implementierungen können die Caching-Techniken von einem Host oder einer Anwendungsplattform an das NF-Element ausgelagert werden. Beispiele für die NF-Implementierungen beinhalten das Verwenden von Netzwerkschnittstellensteuerungen (NICs) eines oder mehrerer in 1 dargestellter Elemente, Router, Switches, Gateway-Vorrichtungen, Netzwerkgeräte, Lastausgleicher, Firewall-Geräte, Datenverarbeitungseinheiten (DPUs) und/oder andere ähnliche Netzwerkelemente oder -geräte. Die NF-Implementierungen können beliebige der im Folgenden mit Bezug auf die Netzwerkschnittstelle 1368 und/oder die Beschleunigungsschaltungsanordnung 1364 von 13 erörterten HW- und/oder SW-Elemente beinhalten. Bei einem Beispiel wird das OMS 160 unter Verwendung einer SmartNIC (z. B. Intel® FPGA SmartNIC N6000-PL-Plattform, Intel® FPGA PAC N3000, Silicom FPGA SmartNIC N5010, NVIDIA® ConnectX, NVIDIA® Mellanox® Innova™) implementiert. Bei einem anderen Beispiel wird das OMS 160 unter Verwendung einer DPU implementiert, wie etwa einer Intel® IPU (z. B. Intel® IPU C5000X-PL-Plattform, Intel® IPU-Plattform mit dem Codenamen Oak Springs Canyon, Intel® IPU-SoC, mit dem Codenamen Mount Evans oder dergleichen), NVIDIA® BlueField® DPU, Fungible DPU™, Broadcom® Stingray™, Kalray MPPA® DPUs, Marvell® OCTEON™ und ARMADA® und/oder dergleichen. Bei einem anderen Beispiel wird das OMS 160 unter Verwendung eines Switches implementiert, wie etwa eines IFP (z. B. Intel® Tofino™ IFP), eines Smart-Edge-Switches (z. B. NVIDIA® Spectrum®, Broadcom® Trident 4™ und dergleichen). In beliebigen dieser Beispiele kann das OMS 160 unter Verwendung des IPDK (Infrastructure Programmer Development Kit) (siehe z. B. IPDK-Dokumentation, https://ipdk.io/documentation/), Open Computing Language (OpenCL), CUDA, Open Programmable Acceleration Engine (OPAE) API und/oder eines anderen geeigneten Frameworks, wie etwa eines beliebigen der hierin erörterten, erstellt werden.
  • Zusätzlich oder alternativ dazu kann das OMS 160 unter Verwendung von SW-Elementen implementiert werden, wie etwa zum Beispiel Protokollstapelschichten, Netzwerk-/Speicherstapelelementen auf einer DPU, SDN(Software-definiertes Networking)-Switches, Netzwerkfunktionsvirtualisierungs(NFV)-Elementen und/oder virtualisierter Netzwerkfunktion (VNF), einer In-Server-Bibliothek, eines Caching-Agenten eines Nachrichtenbroker-Frameworks (z. B. ein MPX-Cache-Agent im ActiveMQ MPX Veröffentlichen/Subskribieren-Framework und/oder dergleichen), eines Benutzeragenten-Caching-Mechanismus (z. B. Browser-Cache oder dergleichen), eines Web-Cache- oder CDN-Cache-Mechanismus (z. B. Cache-Server, Zwischen-Caching-Proxys und/oder dergleichen).
  • Die Speicherungsverwaltungsimplementierungen beinhalten das Verwenden von Rechenressourcen, die in einer speicherungsproximalen HW-Plattform erstellt oder eingesetzt werden. Dies kann Implementieren des OMS 160 an oder auf einer Speicherungssteuerung, in oder verbunden mit Low-Level-Speicherungsverwaltungs-SW (z. B. Dateiverwaltungssystemen, Datenbankverwaltungssystemen und/oder dergleichen) oder eine Kombination davonbeinhalten. In einem ersten Beispiel kann das OMS 160 Teil einer Cache-Steuerung oder eines Caching-Agenten einer Interconnect(IX)-Schnittstellenschaltungsanordnung (z. B. IX-Schaltungsanordnung 1356 und/oder externe Schnittstellenschaltungsanordnung 1370 von 13) sein. In einem zweiten Beispiel ist das OMS 160 Teil einer Speichersteuerung einer oder mehrerer Speichervorrichtungen (z. B. Speicherschaltungsanordnung 1354 von 13), wie etwa eine integrierte Speichersteuerung (IMC: Integrated Memory Controller), eine Speicherchipsteuerung (MCC: Memory Chip Controller), eine Speichersteuerungseinheit (MCU: Memory Controller Unit), eine Speicherverwaltungseinheit (MUU: Memory Management Unit), eine Flash-Speichersteuerung und/oder dergleichen. In einem dritten Beispiel ist das OMS 160 Teil einer speicherinternen Caching-Engine, wie etwa jenen, die für memcached, memcacheDB, Objekt-Cache (früher „Redis“), RDMA (Remote-Direct-Memory-Access - entfernter Direktspeicherzugriff) und/oder dergleichen verwendet werden. In einem vierten Beispiel ist das OMS 160 Teil einer Speicherungssteuerung einer oder mehrerer Speicherungsvorrichtungen (z. B. Speicherungsschaltungsanordnung 1358 von 13), wie etwa einer Plattenarraysteuerung (oder RAID-Steuerung), einer Flash-Steuerung (oder SSD-Steuerung) und/oder dergleichen.
  • In einem fünften Beispiel wird das OMS 160 als Teil einer Speicherungsvorrichtung oder eines Speicherungssystems mit großer Kapazität und der Fähigkeit implementiert, Daten persistent zu halten, die verwendet werden, um einen großen Fernspeicher (z. B. entfernte Speicherungsstufe 240 oder dergleichen) bereitzustellen. Hier sind die Leistungsfähigkeitskosten des Zugreifens auf Objekte größer als andere Speicherungsvorrichtungen/ein anderes Speicherungssystem, stellt aber andere Vorteile bereit, wie etwa eine kostengünstige Speicherung, Persistenz und/oder die Fähigkeit, Objekte zwischen dem Fernspeicherpool und lokalen und verteilten Pools von nichtflüchtigen Speicherplatten und/oder in VM-Platten neu zu organisieren. In diesem Beispiel kann das OMS 160 verwendet werden, um eine Art eines Speicherungsnetzwerks zu erzeugen, da das OMS 160 die Fähigkeit aufweist, Caching autonom innerhalb und unter Speicherungs- und/oder Speicherpools unter seiner Steuerung zu verwalten.
  • Die Serverimplementierungen können Implementieren des OMS 160 unter Verwendung von Serverprozessoren oder Server-Host-Prozessorplattformen (z. B. Multi-Chip Package (MCP) oder dergleichen) beinhalten, wie etwa jene, die für Edge-Computing-Systeme (z. B. Intel® Xeon® D- und/oder Xeon® E-Prozessoren, die die Fähigkeit aufweisen, mit niedrigerer Leistung zu arbeiten), Verkehrskoordination, Sicherheitsverarbeitung (z. B. kryptografische Beschleuniger und/oder dergleichen) ausgebildet sind. Die Serverimplementierungen können beliebige der im Folgenden mit Bezug auf die Prozessorschaltungsanordnung 1352 und/oder die Beschleunigungsschaltungsanordnung 1364 von 13 erörterten HW- und/oder SW-Elemente beinhalten.
  • 2. 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 „Edge“ (Rand) oder einer Ansammlung von „Edges“ eines Netzwerks. Das Einsetzen von Rechenressourcen am Edge des Netzwerks kann Anwendungs- und Netzwerklatenz reduzieren, Netzwerk-Backhaul-Verkehr und assoziierten Energieverbrauch reduzieren, Dienstfähigkeiten verbessern, die Einhaltung von Sicherheits- oder Datenschutzerfordernissen verbessern (insbesondere im Vergleich zu herkömmlichem Cloud-Computing) und die Gesamtbetriebskosten verbessern.
  • Einzelne Rechenplattformen oder andere Komponenten, die Edge-Computing-Operationen ausführen können (als „Edge-Computing-Knoten“, „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-Computing-Architekturen 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 konsumieren. 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, Interrupt-Steuerung, E/A-Steuerung, Speichersteuerung, Bussteuerung, Netzwerkverbindungen oder -sitzungen usw.) partitionieren, wobei jeweilige Partitionierungen Sicherheits- und/oder Integritätsschutzfunktionen enthalten können. Edge-Knoten können auch Orchestrierung mehrerer Anwendungen über isolierte Benutzerrauminstanzen, wie etwa Container, Partitionen, virtuelle Umgebungen (VEs), virtuelle Maschinen (VMs), FaaS(Function-as-a-Service)-Engines, Servlets, Server und/oder andere ähnliche Rechenabstraktionen, bereitstellen. Container sind begrenzte einsetzbare Softwareeinheiten, die Code und benötigte Abhängigkeiten bereitstellen. 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 (z. B. VM oder Container-Engine usw.) koordiniert wird. Die Orchestrierungsfunktionen können verwendet werden, um die isolierten Benutzerrauminstanzen einzusetzen, 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 SDN, NFV, verteilte RAN-Einheiten und/oder RAN-Clouds und dergleichen. Zusätzliche beispielhafte Verwendungsfälle für Edge-Computing beinhalten Rechen-Offloading, CDN-Dienste (z. B. Video-On-Demand, Inhalts-Streaming, Sicherheitsobservation, Warnsystemüberwachung, Gebäudezugang, Daten-/Inhalts-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 hierin erörterten Edge-Computing-Konzepte anwendbar. Zum Beispiel können viele Edge-Computing-/Networking-Technologien 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-/Networking-Technologien beinhalten [MEC]; [O-RAN]; [ISEO]; [SA6Edge]; Inhaltslieferungsnetzwerke (CDNs) (auch als „Inhaltsverteilungsnetzwerke“ oder dergleichen bezeichnet); Mobilitätsdienstanbieter(MSP)-Edge-Computing und/oder MaaS(Mobility-as-a-Service)-Anbietersysteme (die z. B. in AECC-Architekturen verwendet werden); Nebula-Edge-Cloud-Systeme; Fog-Computing-Systeme; Cloudlet-Edge-Cloud-Systeme; Mobile-Cloud-Computing(MCC)-Systeme; CORD (Central Office Re-architected as a Datacenter), Mobil-CORD (M-CORD) und/oder COMAC(Converged Multi-Access and Core)-Systeme; und/oder dergleichen. Ferner können sich die hierin offenbarten Techniken 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.
  • 8 veranschaulicht eine beispielhafte Edge-Computing-Umgebung 800, die unterschiedliche Kommunikationsschichten beinhaltet, beginnend von einer Endpunktschicht 810a (auch als „Sensorschicht 810a“, „Dinge-Schicht 810a“ oder dergleichen bezeichnet), einschließlich einer oder mehrerer IoT-Vorrichtungen 811 (auch als „Endpunkte 810a“ oder dergleichen bezeichnet) (z. B. in einem Internet-der-Dinge(IoT)-Netzwerk, einem Drahtlossensornetzwerk (WSN), einer Fog- und/oder Mesh-Netzwerktopologie); mit zunehmender Komplexität zu einer Zwischenschicht 810b (auch als „Client-Schicht 810b“, „Gateway-Schicht 810b“ oder dergleichen bezeichnet), einschließlich verschiedener Benutzergeräte (UEs) 812a, 812b und 812c (auch als „Zwischenknoten 810b“ oder dergleichen bezeichnet), was die Sammlung und Verarbeitung von Daten von den Endpunkten 810a erleichtern kann; mit zunehmender Verarbeitungs- und Konnektivitätskomplexität zu einer Zugangsschicht 830, einschließlich eines Satzes von Netzwerkzugangsknoten (NANs) 831, 832 und 833 (kollektiv als „NANs 830“ oder dergleichen bezeichnet); mit zunehmender Verarbeitungs- und Konnektivitätskomplexität zu einer Edge-Schicht 837, einschließlich eines Satzes von Edge-Rechenknoten 836a-c (kollektiv als „Edge-Rechenknoten 836“ oder dergleichen bezeichnet) innerhalb eines Edge-Computing-Frameworks 835 (auch als „ECT 835“ oder dergleichen bezeichnet); und mit zunehmender Konnektivitäts- und Verarbeitungskomplexität zu einer Backend-Schicht 840, einschließlich eines Kernnetzwerks (CN) 842, einer Cloud 844 und eines oder mehrerer Server 850. Die Verarbeitung an der Backend-Schicht 840 kann durch Netzwerkdienste, wie durch einen oder mehrere Fernserver 850 durchgeführt, verbessert werden, die eine oder mehrere CN-Funktionen, Cloud-Rechenknoten oder -Cluster, Anwendungs(App-)Server und/oder andere ähnliche Systeme und/oder Vorrichtungen sein oder beinhalten können. Manche oder alle dieser Elemente können mit manchen oder allen hierin besprochenen Merkmalen und/oder Funktionen ausgestattet sein oder diese anderweitig implementieren.
  • Es ist gezeigt, dass die Umgebung 800 Endbenutzervorrichtungen, wie etwa Zwischenknoten 810b und Endpunktknoten 810a (kollektiv als „Knoten 810“, „UEs 810“ oder dergleichen bezeichnet) beinhaltet, die dazu ausgelegt sind, sich basierend auf unterschiedlichen Zugangstechnologien (oder „Funkzugangstechnologien“) zum Zugreifen auf Anwendungs-, Edge- und/oder Cloud-Dienste mit einem oder mehreren Kommunikationsnetzwerken (auch als „Zugangsnetzwerke“, „Funkzugangsnetzwerke“ oder dergleichen bezeichnet) zu verbinden (oder kommunikativ damit zu koppeln). Diese Zugangsnetzwerke können einen oder mehrere NANs 830 beinhalten, die dazu eingerichtet sind, den UEs 810 über jeweilige Links 803a und/oder 803b (kollektiv als „Kanäle 803“, „Links 803“, „Verbindungen 803“ und/oder dergleichen bezeichnet) zwischen einzelnen NANs 830 und jeweiligen UEs 810 Netzwerkkonnektivität bereitzustellen.
  • Als Beispiele können die Kommunikationsnetzwerke und/oder Zugangstechnologien zellulare Technologie, wie etwa LTE, MuLTEfire und/oder NR/5G (wie z. B. von Funkzugangsnetzwerkknoten (RAN-Knoten) 831 und/oder RAN-Knoten 832 bereitgestellt), WiFi- oder Drahtlos-Lokalnetzwerk(WLAN)-Technologien (wie z. B. von einem Zugangspunkt (AP) 833 und/oder RAN-Knoten 832 bereitgestellt) und/oder dergleichen beinhalten. Unterschiedliche Technologien weisen Vorteile und Beschränkungen in unterschiedlichen Szenarien auf, und die Anwendungsleistungsfähigkeit in unterschiedlichen Szenarien wird von der Auswahl der Zugangsnetzwerke (z. B. WiFi, LTE usw.) und den verwendeten Netzwerk- und Transportprotokollen, wie beliebigen der hierin erörterten, abhängig.
  • Die Zwischenknoten 810b beinhalten UE 812a, UE 812b und UE 812c (kollektiv als „UE 812“ oder „UEs 812“ bezeichnet). In diesem Beispiel ist das UE 812a als ein Fahrzeugsystem (auch als ein Fahrzeug-UE oder eine Fahrzeugstation bezeichnet) veranschaulicht, wobei das UE 812b als ein Smartphone (z. B. eine handgehaltene mobile Rechenvorrichtung mit Touchscreen, die mit einem oder mehreren zellularen Netzwerken verbunden werden kann) veranschaulicht ist und das UE 812c als eine fliegende Drohne oder ein unbemanntes Luftfahrzeug (UAV) veranschaulicht ist. Die UEs 812 können jedoch eine beliebige mobile oder nicht-mobile Rechenvorrichtung sein, wie etwa Desktop-Computer, Workstations, Laptop-Computer, Tablets, Wearable-Vorrichtungen, PDAs, Pager, drahtlose Handapparate, Smart-Geräte, Einzelplatinencomputer (SBCs) (z. B. Raspberry Pi, Arduino, Intel Edison usw.), Plug-Computer und/oder eine beliebige Art von Rechenvorrichtung, wie etwa beliebige der hierin erörterten.
  • Die Endpunkte 810 beinhalten UEs 811, die IoT-Vorrichtungen (auch als „IoT-Vorrichtungen 811“ bezeichnet) sein können, die eindeutig identifizierbare eingebettete Rechenvorrichtungen (z. B. innerhalb der Internet-Infrastruktur) sind, die eine Netzwerkzugangsschicht umfassen, die für Niedrigleistung-IoT-Anwendungen ausgelegt ist, die kurzlebige UE-Verbindungen nutzen. Die IoT-Vorrichtungen 811 sind beliebige physische oder virtualisierte Vorrichtungen, Sensoren oder „Dinge“, in denen HW- und/oder SW-Komponenten eingebettet sind, die die Objekte, Vorrichtungen, Sensoren oder „Dinge“ ermöglichen, die in der Lage sind, Daten, die mit einem Ereignis assoziiert sind, zu erfassen und/oder aufzuzeichnen, und in der Lage, solche Daten mit einer oder mehreren anderen Vorrichtungen über ein Netzwerk mit geringem oder keinem Benutzereingriff zu kommunizieren. Als Beispiele können die IoT-Vorrichtungen 811 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 811 können Technologien, wie etwa M2M oder MTC, zum Austauschen von Daten mit einem MTC-Server (z. B. einem Server 850), einem Edge-Server 836 und/oder ECT 835 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 811 können Hintergrundanwendungen (z. B. Keep-Alive-Nachrichten, Statusaktualisierungen usw.) ausführen, um die Verbindungen des IoT-Netzwerks zu ermöglichen. Wenn die IoT-Vorrichtungen 811 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 811, die über jeweilige direkte Links 805 miteinander verbunden sind. Die IoT-Vorrichtungen können eine beliebige Anzahl unterschiedlicher Typen von Vorrichtungen beinhalten, die in verschiedenen Kombinationen gruppiert sind (als eine „IoT-Gruppe“ bezeichnet), die IoT-Vorrichtungen beinhalten 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 einen oder der mehreren Server 850, des CN 842 und/oder der Cloud 844) kann die IoT-Vorrichtungen in der IoT-Gruppe in einem bestimmten Bereich (z. B. einer Geolokalisierung, einem Gebäude usw.) bereitstellen, um den einen oder die mehreren Dienste bereitzustellen. In einigen Implementierungen kann das IoT-Netzwerk ein Mesh-Netzwerk von IoT-Vorrichtungen 811 sein, die als Fog-Vorrichtung, Fog-System oder Fog bezeichnet werden können, die am Edge der Cloud 844 arbeiten. Der Fog beinhaltet Mechanismen, um Cloud-Computing-Funktionalität näher an Datengeneratoren und -verbraucher 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 Berechnung, Speicherung, Steuerung und Vernetzung überall entlang des Kontinuums von der Cloud 844 zu Dingen (z. B. IoT-Vorrichtungen 811) 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(z. B. Edge-Cloud 910)-Rechendienst (z. B. Edge-Knoten 830) und/oder einem zentralen Cloud-Computing-Dienst (z. B. Cloud 844) geleitet werden, um schwierige Berechnungen oder rechnerisch aufwändige Aufgaben durchzuführen. Andererseits konsolidiert Edge-Cloud-Computing von Menschen betriebene, freiwillige Ressourcen als eine Cloud. Diese freiwillige Ressource kann unter anderem Zwischenknoten 820 und/oder Endpunkte 810, Desktop-PCs, Tablets, Smartphones, Nano-Datenzentren und dergleichen beinhalten. In verschiedenen Implementierungen können Ressourcen in der Edge-Cloud ein bis zwei Sprüngen von den IoT-Vorrichtungen 811 entfernt sein, was zu einem Reduzieren von Overhead in Bezug auf die Verarbeitung von Daten führen kann und die Netzwerkverzögerung reduzieren kann.
  • Zusätzlich oder alternativ dazu kann der Fog eine Konsolidierung von IoT-Vorrichtungen 811 und/oder Networking-Vorrichtungen sein, wie etwa Routern und Switches, mit hohen Rechenfähigkeiten und der Fähigkeit, eine Cloud-Anwendungslogik auf ihrer nativen Architektur auszuführen. Fog-Ressourcen können von Cloud-Anbietern hergestellt, verwaltet und eingesetzt werden, und sie können mittels zuverlässiger Hochgeschwindigkeitslinks miteinander verbunden sein. Darüber hinaus sind die Fog-Ressourcen im Vergleich zu Edge-Systemen weiter vom Edge 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 Edge der Cloud 844 arbeiten. Der Fog, der am Edge der Cloud 844 arbeitet, kann mit einem Edge-Netzwerk 830 der Cloud 844 überlappen oder in dieses subsumiert werden. Das Edge-Netzwerk der Cloud 844 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 von Menschen betriebener Ressourcen (z. B. die oben erwähnten Edge-Computing-Knoten 836 oder Edge-Vorrichtungen). Die Fog-Schicht befindet sich über der Edge-Schicht und ist eine Konsolidierung von Networking-Vorrichtungen, wie etwa den Zwischenknoten 820 und/oder Endpunkten 810 von 8.
  • Daten können zwischen den IoT-Vorrichtungen 811 oder zum Beispiel zwischen den Zwischenknoten 820 und/oder Endpunkten 810, die direkte Links 805 miteinander aufweisen, wie in 8 gezeigt, erfasst, gespeichert/aufgezeichnet und kommuniziert werden. Eine Analyse des Verkehrsflusses und der Steuerschemen kann durch Aggregatoren implementiert werden, die über ein Mesh-Netzwerk mit den IoT-Vorrichtungen 811 und miteinander in Kommunikation stehen. Die Aggregatoren können ein Typ von IoT-Vorrichtung 811 und/oder ein Netzwerkgerät sein. In dem Beispiel von 8 können die Aggregatoren Edge-Knoten 830 oder ein oder mehrere designierte Zwischenknoten 820 und/oder Endpunkte 810 sein. Daten können über den Aggregator in die Cloud 844 hochgeladen werden und Befehle können von der Cloud 844 über Gateway-Vorrichtungen empfangen werden, die mit den IoT-Vorrichtungen 811 und den Aggregatoren über das Mesh-Netzwerk in Kommunikation stehen. Im Gegensatz zu dem traditionellen Cloud-Computing-Modell kann die Cloud 844 in manchen 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. In diesen Implementierungen zentralisiert die Cloud 844 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 844, 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 Zugangsnetzwerke Netzwerkkonnektivität über jeweilige NANs 830 für die Endbenutzervorrichtungen 820, 810 bereit. Die Zugangsnetzwerke können Funkzugangsnetzwerke (RANs) sein, wie etwa ein NG-RAN oder ein 5G-RAN für ein RAN, das in einem 5G/NR-Zellularnetzwerk arbeitet, ein E-UTRAN für ein RAN, das in einem LTE- oder 4G-Zellularnetzwerk arbeitet, oder ein Legacy-RAN, wie etwa ein UTRAN oder GERAN für GSM- oder CDMA-Zellularnetzwerke. Das Zugangsnetzwerk oder RAN kann für WiMAX-Implementierungen als ein Zugangsdienstnetzwerk bezeichnet werden. Zusätzlich oder alternativ dazu kann das gesamte oder Teile des RAN als eine oder mehrere Softwareentitäten implementiert sein, die auf Servercomputern als Teil eines virtuellen Netzwerks ausgeführt werden, das als ein Cloud-RAN (CRAN), Cognitive Radio (CR), ein virtueller Basisbandeinheitspool (vBBUP) und/oder dergleichen bezeichnet werden kann. Zusätzlich oder alternativ dazu 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 831, 832 betrieben werden. Dieses virtualisierte Framework ermöglicht den freigegebenen Prozessorkernen der NANs 831, 832, andere virtualisierte Anwendungen durchzuführen, wie etwa virtualisierte Anwendungen für verschiedene hierin erörterte Elemente.
  • Die UEs 810 können jeweilige Verbindungen (oder Kanäle) 803a nutzen, die jeweils eine physische Kommunikationsschnittstelle oder -schicht umfassen. Die Verbindungen 803a sind als eine Luftschnittstelle veranschaulicht, um eine kommunikative Kopplung im Einklang mit zellularen 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 hierin erörterten Kommunikationsprotokolle, zu ermöglichen. Zusätzlich oder alternativ kommunizieren (z. B. übertragen und empfangen) die UEs 810 und die NANs 830 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 810 und NANs 830 unter Verwendung von LAA-, Enhanced-LAA- (eLAA) und/oder Further-eLAA(feLAA)-Mechanismen arbeiten. Die UEs 810 können ferner direkt Kommunikationsdaten über jeweilige direkte Links 805 austauschen, die LTE/NR-Proximitätsdienst(ProSe)-Link oder PC5-Schnittstellen/-Links sein können, oder WiFi-basierte Links oder PAN(persönliches Netzwerk)-basierte Links (z. B. [IEEE802154]-basierte Protokolle, einschließlich ZigBee, 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks), WirelessHART, MiWi, Thread usw.; WiFi-direct; Bluetooth-/Bluetooth-Low-Energy(BLE)-Protokolle).
  • Zusätzlich oder alternativ dazu liefern einzelne UEs 810 Funkinformationen an ein oder mehrere NANs 830 und/oder einen oder mehrere Edge-Rechenknoten 836 (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 markiert (z. B. dem aktuellen Standort der UEs 810). Als Beispiele können die Messungen, die durch die UEs 810 gesammelt werden und/oder in den Messberichten enthalten sind, eines oder mehrere des Folgenden beinhalten: Bandbreite (BW), Netzwerk- oder Zellenlast, Latenz, Jitter, Umlaufzeit (RTT), Anzahl von Interrupts, Außer-Reihenfolge-Lieferung von Datenpaketen, Übertragungsleistung, Bitfehlerrate, Bitfehlerverhältnis (BER), Blockfehlerrate (BLER), Paketfehlerverhältnis (PER), Paketverlustrate, Paketempfangsrate (PRR), Datenrate, Spitzendatenrate, e2e-Verzögerung, Signal-Rausch-Verhältnis (SNR), Signal-Rausch-und-Störung-Verhältnis (SINR), Signal-plus-Rauschen-plus-Verzerrung-zu-Rauschen-plus-Verzerrung(SINAD)-Verhältnis, Träger-zu-Störung-plus-Rauschen-Verhältnis (CINR), additives weißes Gaußsches Rauschen (AWGN), Energie-pro-Bit-zu-Rauschleistungsdichte-Verhältnis (Eb/N0), Energie-pro-Chip-zu-Störungsleistungsdichte-Verhältnis (Ec/I0), Energie-pro-Chip-zu-Rauschleistungsdichte-Verhältnis (Ec/N0), Spitzen-zu-Durchschnittsleistungs-Verhältnis (PAPR), Referenzsignalempfangsleistung (RSRP), Referenzsignalempfangsqualität (RSRQ), Empfangssignalstärkenindikator (RSSI), Empfangskanalleistungsindikator (RCPI), Empfangssignal-zu-Rauschen-Indikator (RSNI), Empfangssignalcodeleistung (RSCP), Durchschnittsrauschen-plus-Störung (ANPI), GNSS-Timing von Zellframes für 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 von Trägerphasenzyklen (Ganzzahl- und Bruchteile) des i-ten GNSS-Satellitensignals, gemessen seit dem Einrasten auf das Signal; auch als akkumulierter Deltabereich (ADR) bezeichnet), Kanalstörmessungen, Messungen der thermischen Rauschleistung, Messungen der empfangenen Störleistung, Leistungshistogrammmessungen, Kanallastmessungen, STA-Statistiken und/oder andere ähnliche Messungen. Die RSRP-, RSSI- und/oder RSRQ-Messungen können RSRP-, RSSI- und/oder RSRQ-Messungen von zellenspezifischen Referenzsignalen, Kanalzustandsinformationen-Referenzsignalen (CSI-RS) und/oder Synchronisationssignalen (SS) oder SS-Blöcken für 3GPP-Netzwerke (z. B. LTE oder 5G/NR) und RSRP-, RSSI-, RSRQ-, RCPI-, RSNI- und/oder ANPI-Messungen verschiedener Beacon-, FILS(Fast Initial Link Setup)-Entdeckungsframes oder Sondierungsantwortframes für WLAN/WiFi(z. B. [IEEE80211])-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-03-2021) („[TS36214]“), 3GPP TS 38.215 v16.4.0 (08-01-2021) („[TS38215]“), 3GPP TS 38.314 v16.4.0 (30-09-2021) („[TS38314]“), 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, IEEE Std 802.11-2020, S. 1 bis 4379 (26. Februar 2021) („[IEEE80211]“) und/oder dergleichen besprochen werden. Zusätzlich oder alternativ dazu kann eine beliebige der oben erwähnten Messungen (oder Kombination von Messungen) durch einen oder mehrere NANs 830 gesammelt und an den einen oder die mehreren Edge-Rechenknoten 836 geliefert werden.
  • Zusätzlich oder alternativ dazu können die Messungen eine oder mehrere der folgenden Messungen beinhalten: Messungen in Bezug auf DRB (Data Radio Bearer - Daten-Funkträger) (z. B. Anzahl von DRBs, die versucht wurden, einzurichten, Anzahl von DRBs, die erfolgreich eingerichtet wurden, Anzahl von freigegebenen aktiven DRBs, In-Sitzung-Aktivitätszeit für DRB, Anzahl von DRBs, die versucht wurden, wiederaufgenommen zu werden, Anzahl von DRBs, die erfolgreich wiederaufgenommen wurden usw.); Messungen in Bezug auf RRC (Radio Resource Control - Funkressourcensteuerung) (z. B. mittlere Anzahl an RRC-Verbindungen, maximale Anzahl an RRC-Verbindungen, mittlere Anzahl an gespeicherten inaktiven RRC-Verbindungen, maximale Anzahl an gespeicherten inaktiven RRC-Verbindungen, Anzahl an versuchten, erfolgreichen und/oder gescheiterten RRC-Verbindungseinrichtungen usw.); Messungen in Bezug auf UE-Kontext (UECNTX); Messungen in Bezug auf RRU (Radio Resource Utilization - Funkressourcennutzung) (z. B. DL-Gesamt-PRB-Nutzung, UL-Gesamt-PRB-Nutzung, Verteilung der DL-Gesamt-PRB-Nutzung, Verteilung der UL-Gesamt-PRB-Nutzung, für Datenverkehr verwendete DL-PRB, für Datenverkehr verwendete UL-PRB, insgesamt verfügbare DL-PRBs, insgesamt verfügbare UL-PRBs usw.); Messungen in Bezug auf RM (Registration Management - Registrierungsverwaltung); Messungen in Bezug auf SM (Session Management - Sitzungsverwaltung) (z. B. Anzahl von PDU-Sitzungen, die zum Einrichten angefordert werden; Anzahl von PDU-Sitzungen, die erfolgreich eingerichtet werden; Anzahl von PDU-Sitzungen, deren Einrichtung gescheitert ist, usw.); Messungen in Bezug auf GTP-Verwaltung (GTP); Messungen in Bezug auf IP-Verwaltung (IP); Messungen in Bezug auf PA (Policy Association - Richtlinienassoziation); Messungen in Bezug auf MM (Mobility Management - Mobilitätsverwaltung) (z. B. für Inter-RAT-, Intra-RAT- und/oder Intra-/Inter-Frequenz-Handovers und/oder bedingte Handovers: Anzahl an angeforderten, erfolgreichen und/oder gescheiterten Handover-Vorbereitungen; Anzahl an angeforderten, erfolgreichen und/oder gescheiterten Handover-Ressourcenzuweisungen; Anzahl an angeforderten, erfolgreichen und/oder gescheiterten Handover-Ausführungen; mittlere und/oder maximale Zeit angeforderter Handover-Ausführungen; Anzahl erfolgreicher und/oder gescheiterter 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 freigegebener aktiver QoS-Flüsse, Anzahl von QoS-Flüssen, die versucht wurden, freigegeben zu werden, In-Sitzungs-Aktivitätszeit für den QoS-Fluss, In-Sitzungs-Aktivitätszeit für ein UE 810, Anzahl von QoS-Flüssen, die versucht wurden, eingerichtet zu werden, Anzahl von QoS-Flüssen, die erfolgreich eingerichtet wurden, Anzahl von QoS-Flüssen, deren Einrichtung gescheitert ist, Anzahl von anfänglichen QoS-Flüssen, die versucht wurden, eingerichtet zu werden, Anzahl von anfänglichen QoS-Flüssen, die erfolgreich eingerichtet wurden, Anzahl von anfänglichen QoS-Flüssen, deren Einrichtung gescheitert ist, Anzahl von QoS-Flüssen, die versucht wurden, modifiziert zu werden, Anzahl von QoS-Flüssen, die erfolgreich modifiziert wurden, Anzahl von QoS-Flüssen, deren Modifizierung gescheitert ist, usw.); Messungen in Bezug auf AT (Application Triggering - Anwendungsauslösung); Messungen in Bezug auf SMS (Short Message Service - Kurznachrichtendienst); Messungen in Bezug auf PEE (Power, Energy and Environment - Leistung, Energie und Umwelt); Messungen in Bezug auf NF-Dienst (NFS); Messungen in Bezug auf PFD (Packet Flow Description - Paketflussbeschreibung); Messungen in Bezug auf RACH (Random Access Channel - Zufallszugangskanal); Messungen in Bezug auf MR (Measurement Report - Messbericht); Messungen in Bezug auf L1M (Layer 1 Measurement - Schicht-1-Messung); Messungen in Bezug auf NSS (Network Slice Selection - Netzwerk-Slice-Auswahl); Messungen in Bezug auf Paging (PAG); Messungen in Bezug auf NIDD ( Non-IP Data Delivery - Nicht-IP-Datenlieferung); Messungen in Bezug auf EPP (External Parameter Provisioning - externe Parameterbereitstellung); Messungen in Bezug auf TI (traffic influence - Verkehrseinfluss); Messungen in Bezug auf CE (Connection Establishment - Verbindungsherstellung); Messungen in Bezug auf SPP (Service Parameter Provisioning - Dienstparameterbereitstellung); Messungen in Bezug auf BDTP (Background Data Transfer Policy - Hintergrunddatentransferrichtlinie); Messungen in Bezug auf DM (Data Management - Datenverwaltung); und/oder beliebige andere Leistungsfähigkeitsmessungen, wie etwa jene, die in 3GPP TS 28.552 v17.3.1 (24-06-2021) („[TS28552]“), 3GPP TS 32.425 v17.1.0 (24-06-2021) („[TS32425]“) erörtert werden, und/oder dergleichen.
  • Die Funkinformationen können in Reaktion auf ein Auslöseereignis und/oder auf periodischer Basis gemeldet werden. Zusätzlich oder alternativ melden einzelne UEs 810 Funkinformationen entweder mit einer niedrigen Periodizität oder einer hohen Periodizität in Abhängigkeit von einem Datentransfer, der stattfinden soll, und/oder von anderen Informationen über den Datentransfer. Zusätzlich oder alternativ können der oder die Edge-Rechenknoten 836 die Messungen von den NANs 830 mit niedriger oder hoher Periodizität anfordern, oder die NANs 830 können die Messungen dem einen oder den mehreren Edge-Rechenknoten 836 mit niedriger oder hoher Periodizität bereitstellen. Zusätzlich oder alternativ dazu können der eine oder die mehreren Rechenknoten 836 andere relevante Daten von einem oder mehreren anderen Edge-Rechenknoten 836, Kernnetzwerkfunktionen (NFs), Anwendungsfunktionen (AFs) und/oder anderen UEs 810, wie etwa Leistungskennzahlen (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.
  • In beliebigen der hierin 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 bestimmen. Die Sammlung von Daten kann auf dem Stattfinden von Ereignissen basieren, die eine Sammlung der Daten auslösen. Zusätzlich oder alternativ dazu 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 spezifisch für eine HW-Konfiguration/-Implementierung 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 definiert sein, wie etwa 3GPP (z. B. [SA6Edge]), ETSI (z. B. [MEC]), O-RAN (z. B. [O-RAN]), Intel® Smart Edge Open (vormals OpenNESS) (z. B. [ISEO]), IETF (z. B. [MAMS]), IEEE/WiFi (z. B.[IEEE802], [IEEE80211], [WiMAX], [IEEE16090] usw.) und/oder beliebige andere ähnliche Standards, wie etwa die hierin erörterten.
  • Es ist gezeigt, dass das UE 812b in der Lage ist, über eine Verbindung 803b auf einen Zugangspunkt (AP) 833 zuzugreifen. In diesem Beispiel ist gezeigt, dass der AP 833 mit dem Internet verbunden ist, ohne mit dem CN 842 des Drahtlossystems verbunden zu sein. Die Verbindung 803b kann eine lokale Drahtlosverbindung beinhalten, wie etwa eine einem beliebigen [IEEE802]-Protokoll (z. B. [IEEE80211] und Varianten davon) entsprechende Verbindung, wobei der AP 833 einen WiFi-Router umfassen würde. Zusätzlich oder alternativ dazu können die UEs 810 dazu ausgelegt sein, unter Verwendung geeigneter Kommunikationssignale miteinander oder mit einem beliebigen des AP 833 über einen Einzel- oder Mehrträger-Kommunikationskanal gemäß verschiedenen Kommunikationstechniken zu kommunizieren, wie etwa, ohne darauf beschränkt zu sein, eine OFDM-Kommunikationstechnik, eine Einzelträger-Frequenzmultiplex-Zugang(SC-FDMA)-Kommunikationstechnik und/oder dergleichen, obwohl der Schutzumfang der vorliegenden Offenbarung in dieser Hinsicht nicht beschränkt ist. Die Kommunikationstechnik kann ein geeignetes Modulationsschema wie etwa Complementary Code Keying (CCK); Phasenumtastung (PSK) wie etwa binäre PSK (BPSK), Quadratur-PSK (QPSK), differentielle PSK (DPSK) usw.; oder Quadraturamplitudenmodulation (QAM) wie etwa M-QAM; und/oder dergleichen beinhalten.
  • Der eine oder die mehreren NANs 831 und 832, die die Verbindungen 803a ermöglichen, können als „RAN-Knoten“ oder dergleichen bezeichnet werden. Die RAN-Knoten 831, 832 können Bodenstationen (z. B. terrestrische Zugangspunkte) oder Satellitenstationen umfassen, die Abdeckung innerhalb eines geografischen Gebiets (z. B. einer Zelle) bereitstellen. Die RAN-Knoten 831, 832 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 Abdeckungsbereichen, kleineren Benutzerkapazitäten oder höheren Bandbreiten im Vergleich zu Makrozellen implementiert sein. In diesem Beispiel ist der RAN-Knoten 831 als eine NodeB, evolved NodeB (eNB) oder eine NodeB der nächsten Generation (gNB) umgesetzt, und die RAN-Knoten 832 sind als Relaisknoten, verteilte Einheiten oder Straßenrandeinheiten (RSUs) umgesetzt. Eine beliebige andere Art von NANs kann verwendet werden.
  • Jeder der RAN-Knoten 831, 832 kann das Luftschnittstellenprotokoll abschließen und kann der erste Kontaktpunkt für die UEs 812 und die IoT-Vorrichtungen 811 sein. Zusätzlich oder alternativ kann jeder der RAN-Knoten 831, 832 verschiedene logische Funktionen für das RAN erfüllen, einschließlich unter anderem RAN-Funktion(en) (z. B. Funknetzwerksteuerung(RNC)-Funktionen und/oder NG-RAN-Funktionen) für Funkressourcenverwaltung, Zulassungssteuerung, dynamische UL- und DL-Ressourcenzuweisung, Funkträgerverwaltung, Datenpaketplanung usw. Zusätzlich oder alternativ dazu können die UEs 810 dazu ausgelegt sein, unter Verwendung von OFDM-Kommunikationssignalen miteinander oder mit einem beliebigen der NANs 831, 832 über einen Mehrträger-Kommunikationskanal 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 Schutzumfang der vorliegenden Offenbarung in dieser Hinsicht nicht beschränkt ist.
  • Für die meisten zellularen Kommunikationssysteme organisieren die RAN-Funktion(en), die durch das RAN oder einzelne NANs 831-832 betrieben werden, DL-Übertragungen (z. B. von einem beliebigen der RAN-Knoten 831, 832 zu den UEs 810) und UL-Übertragungen (z. B. von den UEs 810 zu den RAN-Knoten 831, 832) in Funkframes (oder einfach „Frames“) mit Dauern 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 angibt, wobei jede Spalte und jede Zeile eines Ressourcenrasters einem Symbol bzw. einem Unterträger entspricht. Die Dauer des Ressourcenrasters in der Zeitdomäne entspricht einem Slot in einem Funkframe. Die Ressourcenraster umfassen eine Anzahl von Ressourcenblöcken (RBs), die die 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 RNC-Funktion(en) weist (weisen) Ressourcen (z. B. PRBs und Modulations- und Codierungsschemen (MCS)) jedem UE 810 in jedem Übertragungszeitintervall (TTI) dynamisch zu. Ein TTI ist die Dauer einer Übertragung auf einem Funkverbindung 803 a, 805 und bezieht sich auf die Größe der Datenblöcke, die von höheren Netzwerkschichten an die Funkverbindungsschicht weitergeleitet werden.
  • Die NANs 831/832 können dazu ausgelegt sein, über jeweilige Schnittstellen oder Links (nicht gezeigt) miteinander zu kommunizieren, wie etwa eine X2-Schnittstelle für LTE-Implementierungen (z. B. wenn das CN 842 ein Evolved Packet Core (EPC) ist), eine Xn-Schnittstelle für 5G- oder NR-Implementierungen (z. B. wenn das CN 842 ein Kern der fünften Generation (5GC) ist) oder dergleichen. Die NANs 831 und 832 sind auch kommunikativ mit dem CN 842 gekoppelt. Zusätzlich oder alternativ dazu kann das CN 842 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 842 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 842 umfasst mehrere Netzwerkelemente/NFs, die dazu ausgelegt sind, Kunden/Teilnehmern (z. B. Benutzern von UEs 812 und IoT-Vorrichtungen 811), die über ein RAN mit dem CN 842 verbunden sind, verschiedene Daten- und Telekommunikationsdienste anzubieten. Die Komponenten des CN 842 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 Speicherungsmedium). Zusätzlich oder alternativ kann eine Netzwerkfunktionsvirtualisierung (NFV) genutzt werden, um beliebige 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 842 kann als ein Netzwerk-Slice bezeichnet werden und eine logische Instanziierung eines Teils des CN 842 kann als ein Netzwerk-Subslice 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, Speicherungshardware oder Switches umfassen. Anders ausgedrückt können NFV-Systeme verwendet werden, um virtuelle oder rekonfigurierbare Implementierungen einer oder mehrerer Komponenten/Funktionen des CN 842 auszuführen.
  • Das CN 842 ist als kommunikativ mit einem Anwendungsserver 850 und einem Netzwerk 850 über eine IP-Kommunikationsschnittstelle 855 gekoppelt gezeigt. Der eine oder die mehreren Server 850 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 812 und IoT-Vorrichtungen 811) über ein Netzwerk. Der eine oder die mehreren Server 850 können verschiedene Computervorrichtungen mit einer oder mehreren Rack-Rechenarchitekturkomponenten, Turm-Rechenarchitekturkomponenten, Blade-Rechenarchitekturkomponenten und/oder dergleichen beinhalten. Der eine oder die mehreren Server 850 können ein Cluster von Servern, eine Serverfarm, einen Cloud-Rechendienst oder eine andere Gruppierung oder einen anderen Pool von Servern repräsentieren, die sich in einem oder mehreren Datenzentren befinden können. Der eine oder die mehreren Server 850 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 850 ein Betriebssystem (OS) beinhalten, das ausführbare Programmanweisungen für die allgemeine Administration 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 850 Anwendungen oder Dienste an, die IP-/Netzwerkressourcen verwenden. Als Beispiele können der eine oder die mehreren Server 850 Verkehrsverwaltungsdienste, Cloud-Analytik, Inhalts-Streaming-Dienste, immersive Gaming-Erfahrungen, soziale Netzwerkdienste 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 850 bereitgestellt werden, Initiieren und Steuern von Software- und/oder Firmware-Aktualisierungen für Anwendungen oder individuelle Komponenten, die durch die UEs 812 und IoT-Vorrichtungen 811 implementiert werden, beinhalten. Der eine oder die mehreren Server 850 können zudem dazu ausgelegt sein, einen oder mehrere Kommunikationsdienste (z. B. Voice-over-Internet-Protocol(VoIP)-Sitzungen, PTT-Sitzungen, Gruppenkommunikationssitzungen, soziale Netzwerkdienste usw.) für die UEs 812 und IoT-Vorrichtungen 811 über das CN 842 zu unterstützen.
  • Die Funkzugangstechnologien (RATs), die von den NANs 830, den UEs 810 und den anderen Elementen in 8 eingesetzt werden, können zum Beispiel beliebige der hierin erörterten Kommunikationsprotokolle und/oder RATs beinhalten. Unterschiedliche Technologien weisen Vorteile und Beschränkungen in unterschiedlichen Szenarien auf, und die Anwendungsleistungsfähigkeit in unterschiedlichen Szenarien wird 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.) abhängen. Diese RATs können eine oder mehrere V2X RATs beinhalten, die diesen Elementen ermöglichen, direkt miteinander, mit Infrastrukturgeräten (z. B. NANs 830) und anderen Vorrichtungen zu kommunizieren. In manchen Implementierungen können mindestens 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 Guide for Wireless Access in Vehicular Environments (WAVE) Architecture, IEEE STANDARDS ASSOCIATION, IEEE 1609.0-2019 (10. April 2019) („[IEEE16090]“), V2X Communications Message Set Dictionary, SAE INT'L (23. Juli 2020) („[J2735_202007]“), intelligente Transportsysteme im 5-GHz-Frequenzband (ITS-G5), die [IEEE80211p] (die der Schicht-1(L1)- und Schicht-2(L2)-Teil von WAVE, DSRC und ITS-G5 ist), und/oder IEEE Standard for Air Interface for Broadband Wireless Access Systems, IEEE Std 802.16-2017, S. 1-2726 (2. März 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 [IEEE80211p] RATs), die in einem beliebigen geographischen 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) durch diese Offenbarung hindurch 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] (die nun [IEEE80211p] beinhaltet) sowie Merkmale für DCC(Decentralized Congestion Control)-Verfahren, die in ETSI TS 102 687 V1.2.1 (04-2018) („[TS102687]“) erörtert sind. 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 844 kann eine Cloud-Computing-Architektur/-Plattform repräsentieren, die einen oder mehrere Cloud-Computing-Dienste bereitstellt. Cloud-Computing bezieht sich auf ein Paradigma zum Ermöglichen von Netzwerkzugriff auf einen skalierbaren und elastischen Pool von gemeinsam nutzbaren Rechenressourcen mit Selbstbedienungsbereitstellung und -administration 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, für einen Zeitraum, Server, Prozessor(en), Speicherungsausrüstung, Speichervorrichtungen, Speicherbereiche, Netzwerke, elektrische Leistung, Eingabe/Ausgabe(Peripherie)-Vorrichtungen, mechanische Vorrichtungen, Netzwerkverbindungen (z. B. Kanäle/Links, Ports, Netzwerk-Sockets usw.), Betriebssysteme (OS), 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 844 beinhalten einen Anwendungsfähigkeitstyp, Infrastrukturfähigkeitstyp und Plattformfähigkeitstyp. Ein Cloud-Fähigkeitstyp ist eine Klassifizierung der Funktionalität, die einem Cloud-Dienst-Kunden (z. B. einem Benutzer der Cloud 844) durch einen Cloud-Dienst bereitgestellt wird, basierend auf den verwendeten Ressourcen. Der Anwendungsfähigkeitentyp ist ein Cloud-Fähigkeitentyp, bei dem der Cloud-Dienst-Kunde die Anwendungen des Cloud-Dienstanbieters verwenden kann; der Infrastrukturfähigkeitentyp ist ein Cloud-Fähigkeitentyp, bei dem der Cloud-Dienst-Kunde Verarbeitungs-, Speicherungs- oder Networking-Ressourcen bereitstellen und verwenden kann; und der Plattformfähigkeitentyp ist ein Cloud-Fähigkeitentyp, bei dem der Cloud-Dienst-Kunde 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 einen gemeinsamen Satz von Qualitäten besitzen. Manche Cloud-Dienstkategorien, die die Cloud 844 bereitstellen kann, beinhalten zum Beispiel Communications-as-a-Service (CaaS), die eine Cloud-Dienstkategorie ist, die Echtzeit-Interaktions- und -Kollaborationsdienste involviert; Compute-as-a-Service (CompaaS), die 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), die eine Cloud-Dienstkategorie ist, die die Bereitstellung und Verwendung von Datenbanksystemverwaltungsdiensten involviert; Data-Storage-as-a-Service (DSaaS), die eine Cloud-Dienstkategorie ist, die die Bereitstellung und Verwendung von Datenspeicherung und zugehörigen Fähigkeiten involviert; Firewall-as-a-Service, die eine Cloud-Dienstkategorie ist, die das Bereitstellen von Firewall- und Netzwerkverkehrsverwaltungsdiensten involviert; Infrastructure-as-a-Service (IaaS), die eine Cloud-Dienstkategorie ist, die einen Infrastrukturfähigkeitentyp involviert; Network-as-a-Service (NaaS), die eine Cloud-Dienstkategorie ist, die Transportkonnektivitäts- und zugehörige Netzwerkfähigkeiten involviert; Platform-as-a-Service (PaaS), die eine Cloud-Dienstkategorie ist, die den Plattformfähigkeitentyp involviert; Software-as-a-Service (SaaS), die eine Cloud-Dienstkategorie ist, die den Anwendungsfähigkeitentyp involviert; Security-as-a-Service, die eine Cloud-Dienstkategorie ist, die das Bereitstellen von Netzwerk- und Informationssicherheits(infosec)-Diensten involviert; und/oder andere ähnliche Cloud-Dienste.
  • Zusätzlich oder alternativ kann die Cloud 844 einen oder mehrere Cloud-Server, Anwendungsserver, Webserver und/oder irgendeine andere entfernte Infrastruktur repräsentieren. Die Fern-/Cloud-Server können eine(n) beliebigen einer Anzahl an Diensten und Fähigkeiten beinhalten, wie etwa zum Beispiel beliebige der hierin besprochenen. Zusätzlich oder alternativ kann die Cloud 844 ein Netzwerk repräsentieren, wie etwa das Internet, ein lokales Netzwerk (LAN), ein Weitbereichsnetzwerk (WAN), ein drahtloses lokales Netzwerk (WLAN) oder ein drahtloses Weitbereichsnetzwerk (WWAN), einschließlich proprietärer und/oder Unternehmensnetzwerke für eine Firma oder Organisation, oder Kombinationen davon. Die Cloud 844 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 844 ein oder mehrere Netzwerkelemente, die einen oder mehrere Prozessoren, Kommunikationssysteme (die z. B. Netzwerkschnittstellensteuerungen, einen oder mehrere Sender/Empfänger, die mit einer oder mehreren Antennen verbunden sind, usw. beinhalten) und computerlesbare Medien beinhalten können. Beispiele für derartige Netzwerkelemente können drahtlose Zugangspunkte (WAPs), Heim-/Geschäftsserver (mit oder ohne RF-Kommunikationsschaltungsanordnung), Router, Switches, Hubs, Funk-Beacons, Basisstationen, Pikozellen- oder Kleinzellen-Basisstationen, Backbone-Gateways und/oder eine beliebige andere ähnliche Netzwerkvorrichtung beinhalten. Eine Verbindung mit der Cloud 844 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 844 kann erfordern, dass die Computer Softwareroutinen ausführen, die zum Beispiel die sieben Schichten des OSI-Modells von Computer-Networking oder eines Äquivalents in einem drahtlosen (zellularen) Telefonnetzwerk ermöglichen. Die Cloud 844 kann verwendet werden, um Kommunikation mit relativ großer Reichweite, wie etwa zum Beispiel zwischen dem einen oder den mehreren Servern 850 und einem oder mehreren UEs 810, zu ermöglichen. Zusätzlich oder alternativ kann die Cloud 844 das Internet, ein oder mehrere zellulare Netzwerke, lokale Netzwerke oder Weitbereichsnetzwerke 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 844 mit einem Netzwerkbetreiber assoziiert sein, der Ausrüstung und andere Elemente besitzt oder steuert, die notwendig sind, um netzwerkbezogene Dienste bereitzustellen, wie etwa ein(e) 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 855 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 855 Backbone-Faserverknüpfungen, die niedrigere Ebenen von Dienstanbietern mit dem Internet, wie etwa dem CN 812 und der Cloud 844, koppeln.
  • Wie durch 8 gezeigt, ist jeder der NANs 831, 832 und 833 mit den Edge-Rechenknoten (oder „Edge-Servern“) 836a, 836b bzw. 836c kolokalisiert. Diese Implementierungen können Kleinzellen-Clouds (SCCs) sein, bei denen ein Edge-Rechenknoten 836 mit einer Kleinzelle (z. B. Pikozelle, Femtozelle usw.) kolokalisiert ist, oder sie können mobile Mikro-Clouds (MCCs) sein, bei denen ein Edge-Rechenknoten 836 mit einer Makrozelle (z. B. einer eNB, gNB usw.) kolokalisiert ist. Der Edge-Rechenknoten 836 kann in einer Mehrzahl anderer Anordnungen als der in 8 gezeigten eingesetzt werden. In einem ersten Beispiel sind mehrere NANs 830 mit einem Edge-Rechenknoten 836 kolokalisiert oder anderweitig damit kommunikativ gekoppelt. In einem zweiten Beispiel können die Edge-Server 836 kolokalisiert sein oder durch RNCs betrieben werden, was für Legacy-Netzwerkeinsätze, wie etwa 3G-Netzwerke, der Fall sein kann. In einem dritten Beispiel können die Edge-Server 836 an Zellenaggregationsstellen oder an Multi-RAT-Aggregationspunkten eingesetzt werden, die sich entweder innerhalb eines Unternehmens befinden oder in öffentlichen Abdeckungsbereichen befinden können. In einem vierten Beispiel können die Edge-Server 836 am Edge des CN 842 eingesetzt werden. Diese Implementierungen können in Follow-Me-Clouds (FMC) verwendet werden, bei denen Cloud-Dienste, die an verteilten Datenzentren ausgeführt werden, den UEs 810 folgen, während sie durch das Netzwerk roamen.
  • In jeder der hierin erörterten Implementierungen stellen die Edge-Server 836 eine verteilte Rechenumgebung für Anwendungs- und Dienst-Hosting bereit, und sie stellen auch Speicherungs- und Verarbeitungsressourcen bereit, sodass Daten und/oder Inhalt in unmittelbarer Nähe zu Teilnehmern (z. B. Benutzern von UEs 810) für schnellere Antwortzeiten verarbeitet werden können. Die Edge-Server 836 unterstützen unter anderem auch Mehrmandantenfähigkeits-Laufzeit- und -Hosting-Umgebung(en) für Anwendungen, einschließlich virtueller Geräteanwendungen, die als verpackte Abbilder einer virtuellen Maschine (VM) geliefert werden können, Middleware-Anwendungs- und -Infrastrukturdienste, Inhaltslieferdienste einschließlich Inhalts-Caching, Mobile-Big-Data-Analytik und Offloading von Berechnungen. Das Offloading von Berechnungen beinhaltet das Offloading rechnerischer Aufgaben, Arbeitslasten, Anwendungen und/oder Dienste von den UEs 810, dem CN 842, der Cloud 844 und/oder dem (den) Server(n) 850 auf die Edge-Server 836, oder umgekehrt. Zum Beispiel kann eine Vorrichtungsanwendung oder Client-Anwendung, die in einem UE 810 arbeitet, Anwendungsaufgaben oder Arbeitslasten auf einen oder mehrere Edge-Server 836 abladen. In einem anderen Beispiel kann ein Edge-Server 836 Anwendungsaufgaben oder Arbeitslasten auf ein oder mehrere UEs 810 abladen (z. B. für verteilte ML-Berechnung oder dergleichen).
  • Die Edge-Rechenknoten 836 können ein Edge-System 835, das ein oder mehrere ECTs 835 einsetzt, beinhalten oder Teil davon sein. Die Edge-Rechenknoten 836 können auch als „Edge-Hosts 836“ oder „Edge-Server 836“ bezeichnet werden. Das Edge-System 835 beinhaltet eine Sammlung von Edge-Servern 836 und Edge-Verwaltungssystemen (in 8 nicht gezeigt), die notwendig sind, um Edge-Computing-Anwendungen innerhalb eines Betreibernetzwerks oder eines Teilsatzes eines Betreibernetzwerks auszuführen. Die Edge-Server 836 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 836 ist an einem Rand (Edge) eines entsprechenden Zugangsnetzwerks angeordnet und dazu eingerichtet, Rechenressourcen und/oder verschiedene Dienste (z. B. Rechenaufgaben- und/oder Arbeitslast-Offloading, Cloud-Computing-Fähigkeiten, IT-Dienste und andere ähnliche Ressourcen und/oder Dienste, wie hierin besprochen) in relativ enger Nähe zu den UEs 810 bereitzustellen. Die VI der Edge-Server 836 stellen virtualisierte Umgebungen und virtualisierte Ressourcen für die Edge-Hosts bereit, und die Edge-Computing-Anwendungen können als VMs und/oder Anwendungscontainer über der VI laufen.
  • In einer beispielhaften Implementierung ist und/oder arbeitet das ECT 835 gemäß dem MEC-Framework, wie in ETSI GR MEC 001 v3.1.1 (01-2022), ETSI GS MEC 003 v3.1.1 (03-2022), ETSI GS MEC 009 v3.1.1 (06-2021), ETSI GS MEC 010-1 v1.1.1 (10-2017), ETSI GS MEC 010-2 v2.2.1 (02-2022), ETSI GS MEC 011 v2.2.1 (12-2020), ETSI GS MEC 012 V2.2.1 (02-2022), ETSI GS MEC 013 V2.2.1 (01-2022), ETSI GS MEC 014 v2.1.1 (03-2021), ETSI GS MEC 015 v2.1.1 (06-2020), ETSI GS MEC 016 v2.2.1 (04-2020), ETSI GS MEC 021 v2.2.1 (02-2022), ETSI GR MEC 024 v2.1.1 (11-2019), ETSI GS MEC 028 V2.2.1 (07-2021), ETSI GS MEC 029 v2.2.1 (01-2022), ETSI MEC GS 030 v2.1.1 (04-2020), ETSI GR MEC 031 v2.1.1 (10-2020), der vorläufigen US-Anmeldung Nr. 63/003,834 , eingereicht am 1. April 2020 („[US'834]“), und der internationalem Anmeldung mit Nr. PCT/US2020/066969 , eingereicht am 23. Dezember 2020 („[PCT'696]“) (hierin kollektiv als „[MEC]“ bezeichnet), besprochen, deren Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden. Diese beispielhafte Implementierung (und/oder in einer beliebigen anderen hierin erörterten beispielhaften Implementierung) kann auch NFV und/oder andere ähnliche Virtualisierungstechnologien beinhalten, wie etwa jene, die in ETSI GR NFV 001 V1.3.1 (03-2021), ETSI GS NFV 002 V1.2.1 (12-2014), ETSI GRNFV 003 V1.6.1 (03-2021), ETSI GS NFV 006 V2.1.1 (01-2021), ETSI GS NFV-INF 001 V1.1.1 (01-2015), ETSI GS NFV-INF 003 V1.1.1 (12-2014), ETSI GS NFV-INF 004 V1.1.1 (01-2015), ETSI GS NFV-MAN 001 v1.1.1 (12-2014), und/oder Israel et al., OSM Release FIVE Technical Overview, ETSI OPEN SOURCE MANO, OSM White Paper, 1. Auflage (Januar 2019), https://osm.etsi.org/images/OSM-Whitepaper-TechContent-ReleaseFIVE-FINAL.pdf (kollektiv als „[ETSINFV]“ bezeichnet), deren Inhalte hiermit in ihrer Gesamtheit durch Bezugnahme aufgenommen werden. Andere Virtualisierungstechnologien und/oder Dienstorchestrierungs- und Automatisierungsplattformen können verwendet werden, wie etwa zum Beispiel jene, die in E2E Network Slicing Architecture, GSMA, offizielles Dok. NG.127, v1.0 (3. Juni 2021), https://www.gsma.com/newsroom/wp-content/uploads//NG.127-v1.0-2.pdf, Open Network Automation Platform (ONAP) documentation, Release Istanbul, v9.0.1 (17. Februar 2022), https://docs.onap.org/en/latest/index.html („[ONAP]“) erläutert sind, 3GPP Service Based Management Architecture (SBMA), wie in 3GPP TS 28.533 v17.1.0 (23-12-2021) („[TS28533]“) erläutert, deren jeweilige Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden.
  • In einer anderen beispielhaften Implementierung ist und/oder arbeitet das ECT 835 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 dies zu bekämpfen und um Offenheit und Interoperabilität auf jeder Ebene zu fördern, haben in 2018 mehrere Hauptbeteiligte, die an dem drahtlosen Bereich interessiert sind (z. B. Träger, Vorrichtungshersteller, akademische Einrichtungen und/oder dergleichen) die Open RAN Alliance („O-RAN“) gebildet. Die O-RAN-Netzwerkarchitektur ist ein Baustein zum Gestalten eines virtualisierten RAN auf programmierbarer Hardware mit Funkzugangssteuerung, die durch KI gestützt wird. Verschiedene Aspekte der O-RAN-Architektur sind beschrieben in O-RANArchitecture Description v05.00, O-RAN ALLIANCE WG1 (Juli 2021); O-RAN Operations and Maintenance Architecture Specification v04.00, O-RAN ALLIANCE WG1 (November 2020); O-RAN Operations and Maintenance Interface Specification v04.00, O-RAN ALLIANCE WG1 (November 2020); O-RAN Information Model and Data Models Specification v01.00, O-RAN ALLIANCE WG1 (November 2020); O-RAN Working Group 1 Slicing Architecture v05.00, O-RAN ALLIANCE WG1 (Juli 2021) („[O-RAN.WG1.Slicing-Architektur]“); O-RAN Working Group 2 (Non-RTRIC and A1 interface WG) A1 interface: Application Protocol v03.01, O-RAN ALLIANCE WG2 (März 2021); O-RAN Working Group 2 (Non-RT RIC and A1 interface WG) A1 interface: Type Definitions v02.00, O-RAN ALLIANCE WG2 (Juli 2021); O-RAN Working Group 2 (Non-RTRIC and A1 interface WG) A1 interface: Transport Protocol v01.01, O-RAN ALLIANCE WG2 (März 2021); O-RAN Working Group 2 AIIML workflow description and requirements v01.03 O-RAN ALLIANCE WG2 (Juli 2021); O-RAN Working Group 2 Non-RTRIC: Functional Architecture v01.03 O-RAN ALLIANCE WG2 (Juli 2021); O-RAN Working Group 3, Near-Real-time Intelligent Controller, E2 Application Protocol (E2AP) v02.00, O-RAN ALLIANCE WG3 (Juli 2021); O-RAN Working Group 3 Near-Real-time Intelligent Controller Architecture & E2 General Aspects and Principles v02.00, O-RAN ALLIANCE WG3 (Juli 2021); O-RAN Working Group 3 Near-Real-time Intelligent Controller E2 Service Model (E2SM) v02.00, O-RAN ALLIANCE WG3 (Juli 2021); O-RAN Working Group 3 Near-Real-time Intelligent Controller E2 Service Model (E2SM) KPM v02.00, O-RAN ALLIANCE WG3 (Juli 2021); O-RAN Working Group 3 Near-Real-time Intelligent Controller E2 Service Model (E2SM) RAN Function Network Interface (NI) v01.00, O-RAN ALLIANCE WG3 (Februar 2020); O-RAN Working Group 3 Near-Real-time Intelligent Controller E2 Service Model (E2SM) RAN Control v01.00, O-RAN ALLIANCE WG3 (Juli 2021); O-RAN Working Group 3 Near-Real-time Intelligent Controller Near-RT RIC Architecture v02.00, O-RAN ALLIANCE WG3 (März 2021); O-RAN Fronthaul Working Group 4 Cooperative Transport Interface Transport Control Plane Specification v02.00, O-RAN ALLIANCE WG4 (März 2021); O-RAN Fronthaul Working Group 4 Cooperative Transport Interface Transport Management Plane Specification v02.00, O-RAN ALLIANCE WG4 (März 2021); O-RAN Fronthaul Working Group 4 Control, User, and Synchronization Plane Specification v07.00, O-RAN ALLIANCE WG4 (Juli 2021) („[O-RAN.WG4.CUS]“); O-RAN Fronthaul Working Group 4 Management Plane Specification v07.00, O-RAN ALLIANCE WG4 (Juli 2021); O-RAN Open F1/W1/E1/X2/Xn Interfaces Working Group Transport Specification v01.00, O-RAN ALLIANCE WG5 (April 2020); O-RAN Alliance Working Group 5 O1 Interface specification for O-DU v02.00, O-RAN ALLIANCE WGX (Juli 2021); Cloud Architecture and Deployment Scenarios for O-RAN Virtualized RAN v02.02, O-RAN ALLIANCE WG6 (Juli 2021); O-RAN Acceleration Abstraction Layer General Aspects and Principles v01.01, O-RAN ALLIANCE WG6 (Juli 2021); Cloud Platform Reference Designs v02.00, O-RAN ALLIANCE WG6 (November 2020); O-RAN O2 Interface General Aspects and Principles v01.01, O-RAN ALLIANCE WG6 (Juli 2021); O-RAN White Box Hardware Working Group Hardware Reference Design Specification for Indoor Pico Cell with Fronthaul Split Option 6 v02.00, O-RAN ALLIANCE WG7 (Juli 2021) („[O-RAN.WG7.IPC-HRD-Opt6]“); O-RAN WG7 Hardware Reference Design Specificationfor Indoor Picocell (FRI) with Split Option 7-2 v03.00, O-RAN ALLIANCE WG7 (Juli 2021) („[O-RAN.WG7.IPC-HRD-Opt7]“); O-RAN WG7 Hardware Reference Design Specification for Indoor Picocell (FRI) with Split Option 8 v03.00, O-RAN ALLIANCE WG7 (Juli 2021) („[O-RAN.WG7.IPC-HRD-Opt8]“); O-RAN Open Transport Working Group 9 Xhaul Packet Switched Architectures and Solutions v02.00, O-RAN ALLIANCE WG9 (Juli 2021) („[ORAN-WG9.XPAAS]“); O-RAN Open X-haul Transport Working Group Management interfaces for Transport Network Elements v02.00, O-RAN ALLIANCE WG9 (Juli 2021) („[ORAN-WG9.XTRP-MGT]“); O-RAN Open X-haul Transport WG9 WDM-based Fronthaul Transport v01.00, O-RAN ALLIANCE WG9 (November 2020) („[ORAN-WG9.WDM]“); O-RANOpen X-haul Transport Working Group Synchronization Architecture and Solution Specification v01.00, O-RAN ALLIANCE WG9 (März 2021) („[ORAN-WG9.XTRP-SYN]“); O-RAN Operations and Maintenance Interface Specification v05.00, O-RAN ALLIANCE WG10 (Juli 2021); O-RAN Operations and Maintenance Architecture v05.00, O-RAN ALLIANCE WG10 (Juli 2021); O-RAN: Towards an Open and Smart RAN, O-RAN ALLIANCE, White Paper (Oktober 2018), https://static1.squarespace.com/static/5ad774cce74940d7115044b0/t/5bc79b371905f4197055e8c 6/1539808057078/O-RAN+WP+FInal+181017.pdf(„[ORANWP]“), und US-Anmeldung mit Nr. 17/484,743 , eingereicht am 24. September 2021 („[US'743]“) (kollektiv bezeichnet als „[O-RAN]“); deren jeweilige Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden.
  • In einer anderen beispielhaften Implementierung ist und/oder arbeitet das ECT 835 gemäß der 3rd Generation Partnership Project (3GPP) System Aspects Working Group 6 (SA6)-Architektur zum Ermöglichen von Edge-Anwendungen (als „3GPP-Edge-Computing“ bezeichnet), wie in 3GPP TS 23.558 v17.2.0 (31-12-2021), 3GPP TS 23.501 v17.3.0 (31-12-2021), 3GPP TS 28.538 v0.4.0 (08-12-2021) und der US-Anmeldung mit Nr. 17/484,719 , eingereicht am 24. September 2021 („[US'719]“) (kollektiv als „[SA6Edge]“ bezeichnet) erörtert, deren jeweilige Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden.
  • In einer anderen beispielhaften Implementierung ist und/oder arbeitet das ECT 835 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) besprochen, verfügbar unter: https://smart-edge-open.github.io/ („[ISEO]“), deren Inhalte hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen werden.
  • In einer anderen beispielhaften Implementierung arbeitet das Edge-System 835 gemäß dem MAMS-Framework (MAMS: Multi-Access Management Services - Mehrfachzugriff-Verwaltungsdienste), wie in Kanugovi et al., Multi-Access Management Services (MAMS), INTERNET ENGINEERING TASK FORCE (IETF), Request for Comments (RFC) 8743 (März 2020) („[RFC8743]“), Ford et al., TCP Extensions for Multipath Operation with Multiple Addresses, IETF RFC 8684, (März 2020), De Coninck et al., Multipath Extensions for QUIC (MP-QUIC), IETF DRAFT-DECONINCK-QUIC-MULTIPATH-07, IETA, QUIC Working Group (3. Mai 2021), Zhu et al., User-Plane Protocols for Multiple Access Management Service, IETF DRAFT-ZHU-INTAREA-MAMS-USER-PROTOCOL-09, IETA, INTAREA (4. März 2020) und Zhu et al., Generic Multi-Access (GMA) Convergence Encapsulation Protocols, IETF DRAFT-ZHU-INTAREA-GMA-14, IETA, INTAREA/Network Working Group (24. November 2021) (kollektiv als „[MAMS]“ bezeichnet) besprochen, deren Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden. In diesen Implementierungen können ein Edge-Rechenknoten 835 und/oder ein oder mehrere Cloud-Computing-Knoten/-Cluster ein oder mehrere MAMS-Server sein, die einen Netzwerkverbindungsmanager (Network Connection Manager, NCM) für Downstream-/DL-Verkehr beinhalten oder betreiben, und die einzelnen UEs 810 beinhalten oder betreiben einen Client-Verbindungsmanager (Client Connection Manager, CCM) für Upstream-/UL-Verkehr. Ein NCM ist eine Funktionsentität, die MAMS-Steuernachrichten von Clients handhabt (z. B. einzelne UEs 810 konfigurieren die Verteilung von Datenpaketen über verfügbare Zugangspfade und (Kern-)Netzwerkpfade und verwalten Benutzerebenenbehandlung (z. B. Tunnelung, Verschlüsselung und/oder dergleichen) der Verkehrsflüsse) (siehe z. B. Fehler! Verweisquelle konnte nicht gefunden werden., [MAMS]). Der CCM ist das Peer-Funktionselement in einem Client (z. B. einzelne UEs 810, die MAMS-Steuerebenenprozeduren handhaben, MAMS-Signalisierungsnachrichten mit dem NCM austauschen und die Netzwerkpfade am Client für den Transport von Benutzerdaten (z. B. Netzwerkpakete, und/oder dergleichen) konfigurieren) (siehe z. B. Fehler! Verweisquelle konnte nicht gefunden werden., [MAMS]).
  • Es versteht sich, dass die oben erwähnten Edge-Computing-Frameworks/-ECTS und Diensteinsatzbeispiele nur veranschaulichende Beispiele für ECTs sind, und dass die vorliegende Offenbarung auf viele andere oder zusätzliche Edge-Computing-/Networking-Technologien in verschiedenen Kombinationen und Layouts von Vorrichtungen anwendbar sein kann, die sich am Rand eines Netzwerks befinden, einschließlich der verschiedenen hierin beschriebenen Edge-Computing-Netzwerke/-Systeme. Ferner können sich die hierin offenbarten Techniken auf andere IoT-Edge-Netzwerksysteme und -Konfigurationen beziehen, und es können auch andere Zwischenverarbeitungsentitäten und -architekturen auf die vorliegende Offenbarung anwendbar sein.
  • 9 ist ein Blockdiagramm 900, das einen Überblick einer Konfiguration für Edge-Computing zeigt, die eine Verarbeitungsschicht beinhaltet, die in vielen der folgenden Beispiele als eine „Edge-Cloud“ bezeichnet wird. Wie gezeigt, ist die Edge-Cloud 910 an einem Edge-Ort, wie etwa einem NAN 940 (z. B. Zugangspunkt, Basisstation oder dergleichen), einem lokalen Verarbeitungs-Hub 950 oder einer Zentrale 920 kolokalisiert, und kann somit mehrere Entitäten, Vorrichtungen und Ausrüstungsinstanzen beinhalten. Die Edge-Cloud 910 befindet sich viel näher an den Endpunkt(Verbraucher und Erzeuger)-Datenquellen 960 (z. B. autonome Fahrzeuge 961, Benutzergeräte 962, Unternehmens- und Industrieausrüstung 963, Videoaufnahmevorrichtungen 964, Drohnen 965, Smart-Städte- und -Gebäude-Vorrichtungen 966, Sensoren und IoT-Vorrichtungen 967 usw.) als das Cloud-Datenzentrum 930. Rechen-, Speicher- und Speicherungsressourcen, die an den Edges in der Edge-Cloud 910 angeboten werden, sind kritisch für das Bereitstellen von Antwortzeiten mit ultraniedriger Latenz für Dienste und Funktionen, die durch die Endpunktdatenquellen 960 verwendet werden, sowie für das Reduzieren von Netzwerk-Backhaul-Verkehr von der Edge-Cloud 910 zu dem Cloud-Datenzentrum 930, wodurch Energieverbrauch und Gesamtnetzwerknutzungen unter anderen Vorteilen verbessert werden.
  • Berechnung, Speicher und Speicherung sind knappe Ressourcen und nehmen im Allgemeinen in Abhängigkeit von dem Edge-Ort ab (wobei z. B. weniger Verarbeitungsressourcen an Verbraucherendpunktvorrichtungen verfügbar sind als an einer Basisstation als an einer Zentrale). Je näher sich der Edge-Ort jedoch am Endpunkt (z. B. Benutzergerät (UE)) befindet, desto mehr sind Raum und Leistung häufig eingeschränkt. Somit versucht Edge-Computing die Menge an Ressourcen, die für Netzwerkdienste benötigt werden, durch die Verteilung von mehr Ressourcen, die sich sowohl geographisch als auch in der Netzwerkzugriffszeit näher befinden, zu reduzieren. Auf diese Weise versucht Edge-Computing, die Rechenressourcen gegebenenfalls zu den Arbeitslastdaten zu bringen oder die Arbeitslastdaten zu den Rechenressourcen zu bringen.
  • Das Folgende beschreibt Aspekte einer Edge-Cloud-Architektur, die mehrere potenzielle Einsätze abdeckt und Einschränkungen anspricht, die manche Netzwerkbetreiber oder Dienstanbieter in ihren eigenen Infrastrukturen aufweisen können. Diese beinhalten Variation von Konfigurationen basierend auf dem Edge-Ort (weil Edges auf einer Basisstationsebene zum Beispiel mehr eingeschränkte Leistungsfähigkeit und Fähigkeiten in einem Multi-Mandanten-Szenario aufweisen können); Konfigurationen basierend auf der Art von Berechnung, Speicher, Speicherung, Fabric, Beschleunigung oder ähnlichen Ressourcen, die Edge-Orten, Stufen von Orten oder Gruppen von Orten zur Verfügung stehen; die Dienst-, Sicherheits- und Verwaltungs- und Orchestrierungsfähigkeiten; und zugehörige Ziele zum Erreichen der Nutzbarkeit und Leistungsfähigkeit von Enddiensten. Diese Einsätze können ein Verarbeiten in Netzwerkschichten bewerkstelligen, die in Abhängigkeit von Latenz-, Distanz- und Timing-Charakteristiken als „Near Edge“-, „Close Edge“-, „Local Edge“-, „Middle Edge“- oder „Far Edge“-Schichten angesehen werden können.
  • Edge-Computing ist ein sich entwickelndes Paradigma, bei dem das Computing an oder näher am „Edge“ (Rand) eines Netzwerks durchgeführt wird, typischerweise durch die Verwendung einer angemessen angeordneten Rechenplattform (z. B. x86-, ARM-, Nvidia- oder einer anderen CPU/GPU-basierten Rechenhardwarearchitektur), die an Basisstationen, Gateways, Netzwerkroutern oder anderen Vorrichtungen implementiert ist, die sich viel näher an Endpunktvorrichtungen befinden, die Daten erzeugen und verbrauchen. Edge-Gateway-Server können zum Beispiel mit Pools von Speicher- und Speicherungsressourcen ausgestattet sein, um Rechenaufgaben in Echtzeit für Anwendungsfälle mit niedriger Latenz (z. B. autonomes Fahren oder Videoüberwachung) für verbundene Client-Vorrichtungen durchzuführen. Oder als ein Beispiel können Basisstationen mit Rechen- und Beschleunigungsressourcen erweitert werden, um Dienstarbeitslasten für verbundene Benutzergeräte direkt zu verarbeiten, ohne ferner Daten über Backhaul-Netzwerke zu kommunizieren. Oder als ein anderes Beispiel kann Zentralen-Netzwerkverwaltungshardware durch standardisierte Rechenhardware ersetzt werden, die virtualisierte Netzwerkfunktionen durchführt und Rechenressourcen für die Ausführung von Diensten und Verbraucherfunktionen für verbundene Vorrichtungen anbietet. Alternativ kann auch eine Anordnung mit Hardware kombiniert mit virtualisierten Funktionen, allgemein als eine Hybrid-Anordnung bezeichnet, erfolgreich implementiert werden. Innerhalb von Edge-Rechennetzwerken kann es Szenarien in Diensten geben, in denen die Rechenressource zu den Daten „verschoben“ wird, sowie Szenarien geben, in denen die Daten zur Rechenressource „verschoben“ werden. Oder als ein Beispiel können Rechen-, Beschleunigungs- und Netzwerkressourcen an der Basisstation Dienste bereitstellen, um die Arbeitslastanforderungen nach Bedarf zu skalieren, indem nicht genutzte Kapazität (Subskription, Capacity on Demand) aktiviert wird, um Eckfälle, Notfälle zu verwalten oder Langlebigkeit für eingesetzte Ressourcen über einen wesentlich längeren implementierten Lebenszyklus bereitzustellen.
  • Die Netzwerkkomponenten der Edge-Cloud 910 können Server, Multi-Mandanten-Server, Geräterechenvorrichtungen und/oder eine beliebige andere Art von Rechenvorrichtungen sein. Zum Beispiel kann die Edge-Cloud 910 eine Geräterechenvorrichtung beinhalten, die eine eigenständige elektronische Einrichtung mit einer Einhausung, einem Chassis, einem Gehäuse oder einer Schale ist. Unter manchen Umständen kann die Einhausung für eine Tragbarkeit dimensioniert sein, sodass sie von einem Menschen getragen und/oder versandt werden kann. Alternativ kann es sich beispielsweise um ein kleineres Modul handeln, das zum Einbau in ein Fahrzeug geeignet ist. Beispielhafte Einhausungen 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 Einhausungen können Leistungsschaltungsanordnungen beinhalten, um Leistung für stationäre und/oder tragbare Implementierungen bereitzustellen, wie etwa AC-Leistungseingänge, DC-Leistungseingä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 Einhausungen 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 Einhausungen und/oder Oberflächen davon können einen oder mehrere Sensoren (z. B. Temperatursensoren, Vibrationssensoren, Lichtsensoren, Akustiksensoren, kapazitive Sensoren, Näherungssensoren usw.) unterstützen. Ein oder mehrere derartige Sensoren können in der Oberfläche enthalten, von dieser getragen oder anderweitig eingebettet und/oder an der Oberfläche des Geräts montiert sein. Beispielhafte Einhausungen 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 Anhänge usw.). Unter manchen Umständen können die Sensoren eine beliebige Art von Eingabevorrichtungen beinhalten, wie etwa Benutzerschnittstellenhardware (z. B. Tasten, Schalter, Wählscheiben, Schieber usw.). Unter manchen Umständen beinhalten beispielhafte Einhausungen Ausgabevorrichtungen, die darin enthalten sind, dadurch getragen werden, darin eingebettet und/oder daran angebracht sind. Ausgabevorrichtungen können Anzeigen, Touchscreens, Leuchten, LEDs, Lautsprecher, E/A-Ports (z. B. USB) usw. beinhalten. Unter manchen Umständen sind Edge-Vorrichtungen Vorrichtungen, die im Netzwerk für einen spezifischen Zweck (z. B. eine Verkehrsampel) präsentiert werden, können aber Verarbeitungs- und/oder andere Kapazitäten aufweisen, die für andere Zwecke genutzt werden können. Solche Edge-Vorrichtungen können unabhängig von anderen vernetzten Vorrichtungen sein und können mit einer Einhausung ausgestattet sein, die einen Formfaktor aufweist, der für seinen primären Zweck geeignet ist; aber dennoch für andere Rechenaufgaben verfügbar ist, die ihre primäre Aufgabe nicht stören. Edge-Vorrichtungen beinhalten Internet-der-Dinge-Vorrichtungen. Die Geräterechenvorrichtung kann Hardware- und Softwarekomponenten beinhalten, um lokale Probleme, wie etwa Vorrichtungstemperatur, Vibration, Ressourcenausnutzung, Aktualisierungen, Leistungsprobleme, physische Sicherheit und Netzwerksicherheit usw., zu verwalten. Beispielhafte Hardware zum Implementieren einer Geräterechenvorrichtung ist in Verbindung mit 13 beschrieben. Die Edge-Cloud 910 kann auch einen oder mehrere Server und/oder einen oder mehrere Multi-Mandanten-Server beinhalten. Ein solcher Server kann ein OS beinhalten und/oder eine virtuelle Rechenumgebung implementieren. Eine virtuelle Rechenumgebung kann einen Hypervisor beinhalten, der eine oder mehrere virtuelle Maschinen, einen oder mehrere Container usw. verwaltet (z. B. spawnt, einsetzt, zerstört usw.). Derartige virtuelle Rechenumgebungen stellen eine Ausführungsumgebung bereit, in der eine oder mehrere Anwendungen und/oder andere Software, anderer Code oder andere Skripte ausgeführt werden können, während sie von einer oder mehreren anderen Anwendungen, Software, Code oder Skripten isoliert sind.
  • 10 veranschaulicht ein Beispiel für Netzwerkkonnektivität in nicht-terrestrischen (z. B. Satellit) und terrestrischen (z. B. mobiles zellulares Netzwerk) Umgebungen. In 10 beinhaltet eine Satellitenkonstellation 1000 (z. B. die Konstellation an Orbitalpositionen 1000A und 1000B in 10) mehrere Satellitenfahrzeuge (SVs) 1001 (und zahlreiche andere SVs 1001, die in 10 nicht gezeigt sind), die miteinander und mit einem oder mehreren terrestrischen Netzwerken verbunden sind. Jedes SV 1001 in der Konstellation 1000 führt einen Orbit um die Erde herum mit einer Orbit-Geschwindigkeit, die zunimmt, wenn sich das SV 1001 näher an der Erde befindet, durch. LEO-Konstellationen (LEO: Low Earth Orbit - niedriger Erdorbit) (z. B. Konstellation 1000) werden allgemein als SVs (z. B. SVs 1001) beinhaltend betrachtet, die sich in einem Orbit mit einer Höhe zwischen 160 und 1000 Kilometern (km) befinden, und in dieser Höhe umkreist jedes SV die Erde etwa alle 90 bis 120 Minuten. Die Konstellation 1000 verwendet ein oder mehrere SVs 1001, um eine Kommunikationsabdeckung für ein geografisches Gebiet auf der Erde bereitzustellen. Die Konstellation 1000 kann auch mit anderen (nicht gezeigten) Satellitenkonstellationen und mit terrestrisch-basierten Netzwerken koordinieren, um selektiv Konnektivität und Dienste für einzelne Vorrichtungen (z. B. UEs 1020, 1025) oder terrestrische Netzwerksysteme (z. B. Netzwerkausrüstung) bereitzustellen.
  • Bei diesem Beispiel ist die Satellitenkonstellation 1000 über einen Satelliten-Link 1070 mit einem Backhaul-Netzwerk 1060 verbunden, das im Gegenzug mit einem CN 1040 verbunden ist, das das gleiche oder ähnlich wie das zuvor besprochene CN 842 sein kann. Das CN 1040 wird verwendet, um zellulare (z. B. 5G und/oder dergleichen) Kommunikationsoperationen mit dem Satellitennetzwerk (z. B. Konstellation 1000) und bei einem terrestrischen RAN 1030 zu unterstützen, das das gleiche oder ähnlich wie ein zuvor besprochenes RAN einschließlich NANs 830 sein kann. In einem ersten Beispiel befindet sich das CN 1040 an einem entfernten Standort und verwendet die Satellitenkonstellation 1000 als den exklusiven Mechanismus, um Weitbereichsnetzwerke (WANs) und/oder das Internet zu erreichen. In einem zweiten Beispiel verwendet das CN 1040 die Satellitenkonstellation 1000 als einen redundanten Link, um auf die WANs und/oder das Internet zuzugreifen. In einem dritten Beispiel verwendet das CN 1040 die Satellitenkonstellation 1000 als einen alternativen Pfad, um auf die WANs und/oder das Internet zuzugreifen (z. B. um mit Netzwerken auf anderen Kontinenten und dergleichen zu kommunizieren).
  • 10 stellt auch ein terrestrisches RAN 1030 dar, das eine Funkkonnektivität für ein Benutzergerät (UE) einschließlich eines Benutzergeräts 1020 oder eines Fahrzeugsystems 1025 am Boden über eine Massiv-Mehrfacheingang-Mehrfachausgang(MIMO)-Antenne 1050 bereitstellt. Die UEs 1020, 1025 können die gleichen oder ähnlich wie die zuvor besprochenen UEs 810 sein. Eine Vielfalt von 5G- und/oder anderen Netzwerkkommunikationskomponenten und -einheiten ist in 10 der Einfachheit/Klarheit halber nicht dargestellt. In einigen Beispielen kann jedes UE 1020, 1025 zudem seine eigene Satellitenkonnektivitätshardware (z. B. Empfängerschaltungsanordnung und Antenne) aufweisen, um sich über den Satelliten-Link 1080 direkt mit der Satellitenkonstellation 1000 zu verbinden. Obwohl hierin eine zellulare (z. B. 5G) Netzwerkeinstellung dargestellt und besprochen ist, können auch andere Variationen von 3GPP, O-RAN, WiFi und anderen Netzwerkspezifikationen anwendbar sein.
  • Andere Permutationen (nicht gezeigt) können eine direkte Verbindung des RAN 1030 mit der Satellitenkonstellation 1000 (z. B. wobei auf das CN 1040 über einen Satelliten-Link 1070, 1080 zugegriffen werden kann); Koordination mit anderen drahtgebundenen (z. B. Faser), Laser- oder optischen und drahtlosen Links und Backhaul; Mehrfachzugangsfunkgeräte zwischen dem UE, dem RAN und anderen UEs; und andere Permutationen von terrestrischer und nichtterrestrischer Konnektivität beinhalten. Satellitennetzwerkverbindungen können mit 5G-Netzwerkausrüstung und Benutzergeräten basierend auf Satellitenorbitabdeckung, verfügbaren Netzwerkdiensten und -ausrüstung, Kosten und Sicherheit und geografischen oder geopolitischen Erwägungen und dergleichen koordiniert werden. Unter Berücksichtigung dieser Grundentitäten und bei den sich ändernden Zusammensetzungen von Mobilbenutzern und In-Orbit-Satelliten beschreiben die folgenden Techniken Weisen, auf denen terrestrische und Satellitennetzwerke für verschiedene Edge-Computing-Szenarien erweitert werden können.
  • Zusätzlich oder alternativ ermöglicht die Bereitstellung eines RAN 1030 von den SVs 1001 und die erheblich reduzierte Latenz von LEO-Fahrzeugen viel robustere Verwendungsfälle, einschließlich der direkten Verbindung von Vorrichtungen (z. B. UEs 1020, 1025) unter Verwendung von 5G-Satellitenantennen an der Vorrichtung, und der Kommunikation zwischen einem (nicht gezeigten) Edge-Gerät und der Satellitenkonstellation 1000 unter Verwendung von standardmäßigen und/oder proprietären Protokollen. Als ein Beispiel kann in manchen LEO-Umgebungen ein 5G-LEO-Satelliten einen Radius von 500 km für 8 Minuten alle 12 Stunden abdecken. Die Konnektivitätslatenz zu LEO-Satelliten kann so klein wie eine ms sein. Ferner hängt die Konnektivität zwischen der Satellitenkonstellation und den UEs 1020, 1025 oder dem RAN 1030 von der Anzahl und Fähigkeit von Satelliten-Bodenstationen ab. Zum Beispiel können ein oder mehrere SVs 1001 mit einer Bodenstation (z. B. Satellitenschüssel 1060 und/oder einem RAN-Knoten) kommunizieren, die Edge-Computing-Verarbeitungsfähigkeiten hosten kann. Die Bodenstation kann im Gegenzug über ein CN 1040 (nicht gezeigt) zur zusätzlichen Verarbeitung mit einem Datenzentrum verbunden sein. Mit der niedrigen Latenz, die durch 5G-Kommunikationen angeboten wird, können sich Datenverarbeitung, Berechnung und Speicherung an einer beliebigen Anzahl von Orten (am Edge, im Satelliten, am Boden, im Kernnetzwerk, in einem Datenzentrum mit niedriger Latenz) befinden.
  • Zusätzlich oder alternativ dazu kann sich, obwohl dies in 10 nicht gezeigt ist, ein Edge-Gerät bei einem SV 1001 befinden. Hier können verschiedene Edge-Rechenoperationen direkt unter Verwendung von Hardware durchgeführt werden, die sich an dem SV 1001 befindet, wodurch die Latenz und Übertragungszeit reduziert werden, die ansonsten zum Kommunizieren mit der Bodenstation oder dem Datenzentrum benötigt werden würden. Gleichermaßen können bei diesen Szenarien Edge-Rechenfähigkeiten unter spezialisierter Verarbeitungsschaltungsanordnung (z. B. der Beschleunigungsschaltungsanordnung 1364 von 13, wie etwa FPGAs, ASICs und dergleichen) oder Universalverarbeitungsschaltungsanordnung (z. B. Prozessorschaltungsanordnung 1352 von 13, wie etwa x86-CPUs und/oder dergleichen), die sich an dem SV 1001, der Bodenstation, den UEs/Vorrichtungen und/oder anderen nicht gezeigten Edge-Geräten befinden, und/oder Kombinationen davon implementiert oder koordiniert werden. Zusätzlich oder alternativ können, obwohl dies in 10 nicht gezeigt ist, andere Arten von Orbit-basierter Konnektivität und Edge-Computing an diesen Architekturen beteiligt sein. Diese beinhalten Konnektivität und Berechnung, die über Ballone, Drohnen, Luftschiffe und ähnliche Typen von nicht-terrestrischen Elementen bereitgestellt werden. Derartige Systeme stehen ähnlichen zeitlichen Einschränkungen und Konnektivitätsherausforderungen (wie etwa jenen, die in einem Satellitenorbit auftreten) gegenüber.
  • Die Notwendigkeit, verzögerte Treffer (DHs) zu behandeln, kann minimiert werden, indem Meshes von Zwischenverarbeitung aufgebaut werden, die lokalen Kontext aufweist. Daher werden Cache-Treffer lokalisiert, wodurch verzögerte Treffer vermieden werden. Dies gilt für den Satellitenkontext durch Erstellen eines NF-Mesh auf jeder Satellitenstufe (z. B. terrestrischer Satellit 1060, NEO(erdnahe Objekte), LEO-, MEO(mittlerer Erdorbit)-, HEO(hoher Erdorbit)- und/oder GEO(geostationärer Erdorbit)-Satelliten 1001 in 10). Unter Verwendung der hierin erörterten Caching-Mechanismen würde ein angefordertes Objekt, für das das Risiko besteht, dass ein verzögerter Treffer empfangen wird, zu einer geeigneten Mesh-Schicht mit einer Funktionsaufgabe, die angesichts verfügbarer Daten abgeschlossen werden kann, migrieren. Die Arbeitslast kann an einer unteren Mesh-Schicht blockiert werden, damit das Mesh der oberen Schicht abgeschlossen wird. Dies ist wie ein verzögertes Trefferszenario, aber die Arbeitslast blockiert bei Aufgabenabschluss von einer anderen Mesh-Schicht. Daher kann der Cache gelöscht werden, wenn der Kontext im Speicher verbleibt. Zusätzlich oder alternativ dazu wählt der Cache-Algorithmus mit verzögerten Treffern, den Funktionskontext im Cache zu halten, um den Kontextwechsel-Overhead zu vermeiden. Dies ist jedoch wahrscheinlich in Anbetracht erwarteter Latenzen zwischen Meshes (z. B. NEO-, LEO-, MEO-, HEP- und/oder GEO-Meshes und dergleichen) gegenüber Kontextwechsellatenz unüblich.
  • 11 veranschaulicht ein beispielhaftes informationszentrisches Netzwerk (ICN) 1100. ICNs arbeiten anders als traditionelle Host-basierte (z. B. adressbasierte) Kommunikationsnetzwerke. ICN ist ein Oberbegriff für ein Netzwerkparadigma, bei dem Informationen und/oder Funktionen selbst benannt und von dem Netzwerk anstelle von Hosts (z. B. Maschinen, die Informationen bereitstellen) angefordert werden. In ICN erfolgt der Zugriff auf den Inhalt durch ein Pull-basiertes Modell, wobei eine Client(Verbraucher)-Vorrichtung 1105 Interessenpakete 1130 zu dem Netzwerk sendet, die Inhalt laut seinem Namen anfordern, und das Netzwerk antwortet (z. B. sendet Datenpakete 1145) mit dem angeforderten Inhalt. In einem Hostbasierten Netzwerkparadigma (z. B. Internetprotokoll (IP) oder dergleichen) lokalisiert eine Vorrichtung einen Host und fordert Inhalt von dem Host an. Das Netzwerk versteht, wie Pakete basierend auf der in dem Paket spezifizierten Adresse zu routen (z. B. zu leiten) sind. Im Gegensatz dazu beinhaltet das ICN 1100 keine Anforderung für eine bestimmte Maschine und verwendet keine Adressen. Stattdessen fordert eine Vorrichtung 1105 (z. B. Teilnehmer), um Inhalt zu erhalten, benannten Inhalt von dem Netzwerk selbst an. Die Inhaltsanforderung wird als „Interesse“ bezeichnet und das Interesse wird über ein Interessenpaket 1130 übermittelt.
  • Während das Interessenpaket 1130 Netzwerkvorrichtungen (z. B. Netzwerkelemente, Router, Switches, Hubs usw.) - wie etwa die Netzwerkelemente 1110, 1115 und 1120 - durchläuft, wird ein Datensatz des Interesses zum Beispiel in einer Bevorstehendes-Interesse-Tabelle (PIT) 1135 an jedem Netzwerkelement gehalten. In diesem Beispiel behält das Netzwerkelement 1110 einen Eintrag in seiner PIT 1135a für das Interessenpaket 1130, behält das Netzwerkelement 1115 den Eintrag in seiner PIT 1135b für das Interessenpaket 1130 aufrecht und behält das Netzwerkelement 1120 den Eintrag in seiner PIT 1135c für das Interessenpaket 1130 bei. Wenn ein Knoten ein Interessenpaket 1130 empfängt, prüft der Knoten seinen Inhaltsspeicher (CS), um zu ermitteln, ob er bereits den Inhalt gecacht hat. Falls der Knoten den Inhalt nicht in seinem Cache hat, wird das Interessenpaket 1130 an die PIT 1135 des Knotens weitergeleitet, um einen übereinstimmenden Namen zu finden. Falls in der PIT 1135 keine Übereinstimmung gefunden wird, zeichnet der Knoten das Interesse in seiner PIT 1135 auf und leitet das Interessenpaket 1130 basierend auf den Informationen in seiner Weiterleitungsinformationsdatenbank (FIB) 1125 an den nächsten Sprung bzw. die nächsten Sprünge in Richtung des angeforderten Inhalts weiter.
  • Wenn eine Vorrichtung, wie etwa der Publisher 1140, angetroffen wird, die Inhalt aufweist, der mit dem Namen in dem Interessenpaket 1130 übereinstimmt, kann diese Vorrichtung 1140 ein Datenpaket 1145 als Antwort auf das Interessenpaket 1130 senden. Das Datenpaket 1145 wird durch das Netzwerk zu der Quelle (z. B. Vorrichtung 1105) zurückverfolgt, indem den Traces des Interessenpakets 1130 gefolgt wird, die in den Netzwerkelement-PITs 1135 verbleiben. Somit legt die PIT 1135 an jedem Netzwerkelement einen Pfad zurück zum Teilnehmer 1105 fest, dem das Datenpaket 1145 folgt.
  • Der Abgleich der benannten Daten in einem ICN kann mehreren Strategien folgen. Allgemein werden die Daten hierarchisch benannt, wie etwa mit einem Universalressourcenidentifikator (URI). Zum Beispiel kann ein Video www.einedomäne.com oder Videos oder v8675309 genannt werden. Hier kann die Hierarchie als der Publisher „www.einedomäne.com“, eine Unterkategorie „Videos“ und die kanonische Identifikation „v8675309“ ermittelt werden. Wenn ein Interesse 1130 das ICN durchläuft, werden ICN-Netzwerkelemente im Allgemeinen versuchen, dass der Name zu einem größten Grad übereinstimmt. Falls also ein ICN-Element ein gecachtes Element oder eine gecachte Route sowohl für „www.einedomäne.com oder Videos“ als auch für „www.einedomäne.com oder Videos oder v8675309“ aufweist, stimmt das ICN-Element mit letzterem für ein Interessenpaket 1130 überein, das „www.einedomäne.com oder Videos oder v8675309“ spezifiziert. In einem Beispiel kann ein Ausdruck beim Abgleich durch die ICN-Vorrichtung verwendet werden. Beispielsweise kann das Interessenpaket „www.einedomäne.com oder Videos oder v8675*“ spezifizieren, wobei , *' ein Platzhalter ist. Somit wird ein beliebiges gecachtes Element oder eine beliebige gecachte Route, die die anderen Daten außer dem Platzhalter beinhalten, abgeglichen.
  • Der Elementabgleich beinhaltet Abgleichen des Interesses 1130 mit Daten, die im ICN-Element gecacht sind. Falls also zum Beispiel die im Interesse 1130 genannten Daten 1145 in dem Netzwerkelement 1115 gecacht sind, dann wird das Netzwerkelement 1115 die Daten 1145 über das Netzwerkelement 1110 an den Teilnehmer 1105 zurückgeben. Falls die Daten 1145 jedoch nicht im Netzwerkelement 1115 gecacht sind, routet das Netzwerkelement 1115 das Interesse 1130 weiter (z. B. an das Netzwerkelement 1120). Um Routing zu ermöglichen, können die Netzwerkelemente eine Weiterleitungsinformationsdatenbank (FIB) 1125 verwenden, um benannte Daten mit einer Schnittstelle (z. B. physischen Port) für die Route abzugleichen. In diesem Beispiel behält das Netzwerkelement 1110 eine FIB 1125a bei, das Netzwerkelement 1115 behält eine FIB 1125b bei und das Netzwerkelement 1120 behält eine FIB 1125c bei. Die FIB 1125 arbeitet ähnlich wie eine Routingtabelle auf einer traditionellen Netzwerkvorrichtung.
  • In einem Beispiel können zusätzliche Metadaten an das Interessenpaket 1130, die gecachten Daten und/oder die Route (z. B. in der FIB 1125) angehängt werden, um einen zusätzlichen Übereinstimmungsgrad bereitzustellen. Zum Beispiel kann der Datenname als „www.einedomäne.com oder Videos oder v8675309“ spezifiziert sein, aber auch eine Versionsnummer - oder einen Zeitstempel, einen Zeitbereich, eine Bestätigung usw. - beinhalten. In diesem Beispiel kann das Interessenpaket 1130 den gewünschten Namen, die Versionsnummer oder den Versionsbereich spezifizieren. Der Abgleich kann dann Routen oder gecachte Daten lokalisieren, die mit dem Namen übereinstimmen, und den zusätzlichen Vergleich von Metadaten oder dergleichen durchführen, um zu einer endgültigen Entscheidung darüber zu gelangen, ob Daten oder eine Route mit dem Interessenpaket 1130 übereinstimmen, um jeweils mit dem Datenpaket 1145 auf das Interessenpaket 1130 zu antworten oder das Interessenpaket 1130 weiterzuleiten.
  • ICN hat Vorteile gegenüber Host-basiertem Networking, da die Datensegmente einzeln benannt werden. Dies ermöglicht aggressives Caching im gesamten Netzwerk, da ein Netzwerkelement ein Datenpaket 1130 als Reaktion auf ein Interesse 1130 so einfach wie ein ursprünglicher Autor 1140 bereitstellen kann. Dementsprechend ist es weniger wahrscheinlich, dass dasselbe Segment des Netzwerks Duplikate derselben Daten übertragen wird, die durch unterschiedliche Vorrichtungen angefordert werden.
  • Eine feinkörnige Verschlüsselung ist ein weiteres Merkmal vieler ICN-Netzwerke. Ein typisches Datenpaket 1145 beinhaltet einen Namen für die Daten, die mit dem Namen in dem Interessenpaket 1130 übereinstimmen. Ferner beinhaltet das Datenpaket 1145 die angeforderten Daten und kann zusätzliche Informationen zum Filtern ähnlich benannter Daten (z. B. nach Erzeugungszeit, Ablaufzeit, Version usw.) beinhalten. Für den Umgang mit bösartigen Entitäten, die falsche Informationen unter demselben Namen bereitstellen, kann das Datenpaket 1145 zudem seine Inhalte mit einem Publisher-Schlüssel verschlüsseln oder einen kryptografischen Hash der Daten und des Namens bereitstellen. Somit ermöglicht die Kenntnis des Schlüssels (z. B. aus einem Zertifikat eines erwarteten Publishers 1140) dem Empfänger, festzustellen, ob die Daten von diesem Publisher 1140 stammen. Diese Technik ermöglicht zudem das aggressive Caching der Datenpakete 1145 im gesamten Netzwerk, da jedes Datenpaket 1145 in sich geschlossen und sicher ist. Im Gegensatz dazu beruhen viele Host-basierte Netzwerke auf dem Verschlüsseln einer Verbindung zwischen zwei Hosts, um Kommunikationen zu sichern. Dies kann die Latenzen erhöhen, während Verbindungen aufgebaut werden, und verhindert Daten-Caching durch Verbergen der Daten gegenüber den Netzwerkelementen.
  • Beispielhafte ICN-Netzwerke beinhalten CCN (Content Centric Networking - inhaltszentrisches Networking) (siehe z. B. Mosko et al., Content-Centric Networking (CCNx) Semantics, INTERNET RESEARCH TASK FORCE (IRTF) REQUEST FOR COMMENTS (RFC) 8569 (Juli 2019) und Wissingh et al., Information-Centric Networking (ICN): Content-Centric Networking (CCNx) and Named Data Networking (NDN) Terminology, INTERNET RESEARCH TASK FORCE (IRTF) REQUEST FOR COMMENTS (RFC) 8793 (Juni 2020) („[RFC8793]“), deren Inhalte hiermit in ihrer Gesamtheit durch Bezugnahme aufgenommen werden), NDN (Named Data Networking - Networking mit benannten Daten), (siehe z. B. Zhang et al., Named Data Networking (NDN) Project, Technischer Bericht NDN-0001 (31. Oktober 2010), https://named-data.net/wpcontent/uploads/TR001ndn-proj.pdf, deren Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird) und ICN-Caching-Systeme (siehe z. B. US-Patent mit Nr. 11,184,457, eingereicht am 27. Juni 2019, dessen Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird).
  • 12 veranschaulicht eine beispielhafte Softwareverteilungsplattform 1205 zum Verteilen von Software 1260, wie etwa der beispielhaften computerlesbaren Anweisungen 1360 von 13, an eine oder mehrere Vorrichtungen, wie etwa an eine oder mehrere beispielhafte Prozessorplattformen 1200 und/oder beispielhafte verbundene Edge-Vorrichtungen 1362 (siehe z. B. 13) und/oder beliebige der anderen hierin erörterten Rechensysteme/Vorrichtungen. Die beispielhafte Softwareverteilungsplattform 1205 kann durch einen beliebigen Computerserver, eine beliebige Datenanlage, einen beliebigen Cloud-Dienst usw. implementiert werden, der bzw. die in der Lage ist, Software zu speichern und zu anderen Rechenvorrichtungen (z. B. Drittparteien, die beispielhaften verbundenen Edge-Vorrichtungen 1362 von 13) zu übertragen. Beispielhafte verbundene Edge-Vorrichtungen können Kunden, Clients, Verwaltungsvorrichtungen (z. B. Server), Drittparteien (z. B. Kunden einer Entität, die die Softwareverteilungsplattform 1205 besitzt und/oder betreibt) sein. Beispielhafte verbundene Edge-Vorrichtungen können in kommerziellen und/oder Heimautomatisierungsumgebungen arbeiten. In manchen Beispielen ist eine Drittpartei ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber von Software, wie etwa den beispielhaften computerlesbaren Anweisungen 1360 von 13. Die Drittparteien können Verbraucher, Benutzer, Einzelhändler, OEMs usw. sein, die die Software zur Verwendung kaufen und/oder lizenzieren und/oder wiederverkaufen und/oder sublizenzieren. In manchen 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) geographisch und/oder logisch voneinander getrennt (z. B. physisch getrennte IoT-Vorrichtungen, beauftragt mit der Verantwortung zur Wasserverteilungssteuerung (z. B. Pumpen), Stromverteilungssteuerung (z. B. Relais) usw.) identifiziert.
  • Bei dem veranschaulichten Beispiel von 12 beinhaltet die Softwareverteilungsplattform 1205 einen oder mehrere Server und eine oder mehrere Speicherungsvorrichtungen. Die Speicherungsvorrichtungen speichern die computerlesbaren Anweisungen 1260, die den beispielhaften computerlesbaren Anweisungen 1360 von 13 entsprechen können, wie oben beschrieben. Der eine oder die mehreren Server der beispielhaften Softwareverteilungsplattform 1205 stehen in Kommunikation mit einem Netzwerk 1210, das einem oder mehreren beliebigen des Internets und/oder beliebigen der beispielhaften Netzwerke entsprechen kann, wie hierin beschriebenen. In einigen Beispielen reagieren der eine oder die mehreren Server auf Anforderungen zur Übertragung der Software an eine anfordernde Partei als Teil einer kommerziellen Transaktion. Die Zahlung für die Zustellung, den Verkauf und/oder die Lizenz der Software kann durch den einen oder die mehreren Server der Softwareverteilungsplattform und/oder über eine Drittpartei-Zahlungsentität gehandhabt werden. Die Server ermöglichen Käufern und/oder Lizenzgebern, die computerlesbaren Anweisungen 1260 von der Softwareverteilungsplattform 1205 herunterzuladen. Zum Beispiel kann die Software 1260, die den beispielhaften computerlesbaren Anweisungen 1360 von 13 entsprechen kann, auf die beispielhafte(n) Prozessorplattform(en) 1200 heruntergeladen werden, die die computerlesbaren Anweisungen 1260 ausführen soll(en), um Funk-Apps zu implementieren.
  • In manchen Beispielen sind ein oder mehrere Server der Softwareverteilungsplattform 1205 kommunikativ mit einer oder mehreren Sicherheitsdomänen und/oder Sicherheitsvorrichtungen verbunden, durch die Anforderungen und Übertragungen der beispielhaften computerlesbaren Anweisungen 1260 laufen müssen. In einigen Beispielen bieten ein oder mehrere Server der Softwareverteilungsplattform 1205 periodisch Aktualisierungen für die Software (z. B. die beispielhaften computerlesbaren Anweisungen 1360 von 13) an, übertragen und/oder setzen diese durch, um sicherzustellen, dass Verbesserungen, Patches, Aktualisierungen usw. verteilt und auf die Software an den Endbenutzervorrichtungen angewendet werden.
  • In dem veranschaulichten Beispiel von 12 sind die computerlesbaren Anweisungen 1260 auf Speicherungsvorrichtungen der Softwareverteilungsplattform 1205 in einem bestimmten Format gespeichert. Ein Format von computerlesbaren Anweisungen beinhaltet unter anderem eine spezielle Codesprache (z. B. Java, JavaScript, Python, C, C#, SQL, HTML usw.) und/oder einen speziellen Codezustand (z. B. unkompilierter Code (z. B. ASCII), interpretierter Code, verknüpfter Code, ausführbarer Code (z. B. ein Binärobjekt) usw.). In manchen Beispielen befinden sich die computerlesbaren Anweisungen 1381, 1382, 1383, die in der Softwareverteilungsplattform 1205 gespeichert sind, in einem ersten Format, wenn sie an die beispielhafte(n) Prozessorplattform(en) 1200 übertragen werden. In manchen Beispielen ist das erste Format ein ausführbares Binärobjekt, in dem bestimmte Arten der Prozessorplattform(en) 1200 ausgeführt werden können. In manchen Beispielen ist das erste Format jedoch unkompilierter Code, der eine oder mehrere Vorbereitungsaufgaben erfordert, um das erste Format in ein zweites Format zu transformieren, um eine Ausführung auf der (den) beispielhaften Prozessorplattform(en) 1200 zu ermöglichen. Beispielsweise müssen die empfangende(n) Prozessorplattform(en) 1200 die computerlesbaren Anweisungen 1260 in dem ersten Format kompilieren, um ausführbaren Code in einem zweiten Format zu erzeugen, der in der Lage ist, auf der (den) Prozessorplattform(en) 1200 ausgeführt zu werden. In noch anderen Beispielen ist das erste Format interpretierter Code, der beim Erreichen der Prozessorplattform(en) 1200 durch einen Interpreter interpretiert wird, um die Ausführung von Anweisungen zu ermöglichen.
  • 3. HARDWAREKOMPONENTEN
  • 13 veranschaulicht ein Beispiel für Komponenten, die in einem Edge-Computing-Knoten 1350 zum Implementieren der hierin beschriebenen Techniken (z. B. Operationen, Prozesse, Verfahren und Methodiken) vorhanden sein können. Dieser Edge-Computing-Knoten 1350 stellt eine nähere Ansicht der jeweiligen Komponenten des Knotens 1350 bereit, wenn er als oder als Teil einer Rechenvorrichtung (z. B. als eine Mobilvorrichtung, eine Basisstation, ein Server, ein Gateway usw.) implementiert wird. Der Edge-Computing-Knoten 1350 kann beliebige Kombinationen der hierin genannten Hardware- oder Logikkomponenten beinhalten, und er kann eine beliebige Vorrichtung, die mit einem Edge-Kommunikationsnetzwerk oder einer Kombination solcher Netzwerke verwendbar ist, beinhalten oder mit dieser gekoppelt sein. Die Komponenten können als ICs, Abschnitte davon, diskrete elektronische Vorrichtungen oder andere Module, Befehlssätze, programmierbare Logik oder Algorithmen, Hardware, Hardwarebeschleuniger, Software, Firmware oder eine Kombination davon, die im Edge-Computing-Knoten 1350 angepasst sind, oder als Komponenten, die anderweitig in einem Gehäuse eines größeren Systems integriert sind, implementiert sein.
  • Der Edge-Computing-Knoten 1350 beinhaltet eine Verarbeitungsschaltungsanordnung in Form eines oder mehrerer Prozessoren 1352. Die Prozessorschaltungsanordnung 1352 beinhaltet eine Schaltungsanordnung, wie etwa zum Beispiel einen oder mehrere Prozessorkerne und einen oder mehrere von Cache-Speicher, Low-Dropout-Spannungsregler (LDOs), Interrupt-Steuerungen, serielle Schnittstellen, wie etwa SPI, I2C oder universelle programmierbare serielle Schnittstellenschaltung, Echtzeit-Takt (RTC), Timer-Zähler, einschließlich Intervall- und Watchdog-Timer, Universal-E/A, Speicherkartensteuerungen, wie etwa Secure Digital/Multi-Media Card (SD/MMC) oder ähnliches, Schnittstellen, MIPI(Mobile Industry Processor Interface)-Schnittstellen und JTAG(Joint Test Access Group)-Testzugriffsports. In manchen Implementierungen kann die Prozessorschaltungsanordnung 1352 einen oder mehrere Hardwarebeschleuniger (z. B. gleich oder ähnlich der Beschleunigungsschaltungsanordnung 1364) 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 Computer-Vision- und/oder Deep-Learning-Beschleuniger beinhalten. In manchen Implementierungen kann die Prozessorschaltungsanordnung 1352 eine On-Chip-Speicher-Schaltungsanordnung beinhalten, die einen beliebigen geeigneten flüchtigen und/oder nichtflüchtigen Speicher beinhalten kann, wie etwa DRAM, SRAM, EPROM, EEPROM, Flash-Speicher, Solid-State-Speicher und/oder einen beliebigen anderen Typ von Speichervorrichtungstechnologie, wie etwa jene hierin erörterten.
  • Die Prozessorschaltungsanordnung 1352 kann zum Beispiel ein oder mehrere Prozessorkerne (CPUs), Anwendungsprozessoren, Grafikverarbeitungseinheiten (GPUs), RISC-Prozessoren, Acorn-RISC-Maschine(ARM)-Prozessoren, CISC-Prozessoren, ein oder mehrere DSPs, FPGAs, PLDs, eine oder mehrere ASICs, Basisbandprozessoren, integrierte Funkfrequenzschaltungen (RFIC: Radio-Frequency Integrated Circuits), Mikroprozessoren oder -controller, ein Mehrkernprozessor, ein Multithread-Prozessor, ein Untraniedrigspannungs-Prozessor, ein eingebetteter Prozessor, eine spezialisierte x-Verarbeitungseinheit (xPU) oder eine Datenverarbeitungseinheit (DPU) (z. B. Infrastrukturverarbeitungseinheit (IPU), Netzwerkverarbeitungseinheit (NPU) und dergleichen) und/oder beliebige andere bekannte Verarbeitungselemente oder eine beliebige geeignete Kombination davon sein. Die Prozessoren (oder Kerne) 1352 können mit einem Speicher/einer Speicherung gekoppelt sein oder diese(n) beinhalten und dazu ausgelegt sein, Anweisungen auszuführen, die im Speicher/in der Speicherung gespeichert sind, um zu ermöglichen, dass verschiedene Anwendungen oder OSs auf der Plattform 1350 ausgeführt werden. Die Prozessoren (oder Kerne) 1352 sind dazu ausgelegt, Anwendungssoftware zu betreiben, um einem Benutzer der Plattform 1350 einen spezifischen Dienst bereitzustellen. Zusätzlich oder alternativ können der eine oder die mehreren Prozessoren 1352 ein(e) oder mehrere Spezialprozessoren/-steuerungen sein, die dazu ausgelegt (oder konfigurierbar) sind, gemäß den hierin besprochenen Elementen, Merkmalen und Implementierungen zu arbeiten. In manchen Implementierungen beinhaltet oder betreibt die Prozessorschaltungsanordnung 1352 ein OMS 160, das in der Lage ist, die hierin besprochenen µEnclave-Implementierungen und -Techniken auszuführen.
  • Als Beispiele können der eine oder die mehreren Prozessoren 1352 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; Pentium® Prozessor(en), Xeon® Prozessor(en) oder einen anderen derartigen Prozessor, der von Intel® Corporation, Santa Clara, Kalifornien, erhältlich ist, beinhalten. Eine beliebige Anzahl anderer Prozessoren kann jedoch verwendet werden, wie etwa eines oder mehrere von: Advanced-Micro-Devices(AMD)-Zen®-Architekturen, wie etwa Ryzen®- oder EPYC®-Prozessor(en), beschleunigte Verarbeitungseinheiten (APUs), MxGPUs, Epyc®-Prozessor(en) oder dergleichen; A5-A12- und/oder S1-S4-Prozessor(en) von Apple® Inc., Snapdragon™- oder Centriq™-Prozessor(en) von Qualcomm® Technologies, Inc., Texas Instruments, Inc.® Open-Multimedia-Applications-Platform(OMAP)™-Prozessor(en); ein MIPS-basiertes Design von MIPS Technologies, Inc., wie etwa Prozessoren der MIPS Warrior M-Klasse, Warrior I-Klasse und Warrior P-Klasse; ein ARMbasiertes Design, lizenziert von ARM Holdings, Ltd., wie die ARM Cortex-A-, Cortex-R- und Cortex-M-Prozessorfamilie; das von Cavium™, Inc. bereitgestellte ThunderX2®; oder dergleichen. Bei manchen Implementierungen kann (können) der (die) Prozessor(en) 1352 ein Teil eines System-on-Chip (SoC), System-in-Package (SiP), eines Mehrchip-Package (MCP) und/oder dergleichen sein, wobei der (die) Prozessor(en) 1352 und andere Komponenten in einer einzigen integrierten Schaltung oder einem einzigen Package, wie etwa den Edison™- oder Galileo™-SoC-Platinen von Intel® Corporation, gebildet sind. Andere Beispiele für den (die) Prozessor(en) 1352 sind an anderer Stelle in der vorliegenden Offenbarung erwähnt.
  • Der eine oder die mehreren Prozessoren 1352 können über ein Interconnect (IX) 1356 mit einem Systemspeicher 1354 kommunizieren. Eine beliebige Anzahl von Speichervorrichtungen kann verwendet werden, um eine gegebene Menge an Systemspeicher bereitzustellen. Als Beispiele kann der Speicher Direktzugriffsspeicher (RAM) gemäß einem JEDEC-Design (JEDEC: Joint Electron Devices Engineering Council) sein, wie etwa den DDR- oder mobilen DDR-Standards (z. B. LPDDR, LPDDR2, LPDDR3 oder 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. Bei diversen Implementierungen können die einzelnen Speichervorrichtungen von einer beliebigen Anzahl von verschiedenen Package-Typen sein, wie etwa Single Die Package (SDP), Dual Die Package (DDP) oder Quad Die Package (Q17P). Diese Vorrichtungen können bei manchen Beispielen direkt auf eine Hauptplatine gelötet werden, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Vorrichtungen bei 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 Memory Modules (DIMMs) verschiedener Varianten, einschließlich unter anderem microDIMMs oder MiniDIMMs. Zusätzlich oder alternativ dazu ist oder beinhaltet die Speicherschaltungsanordnung 1354 eine oder mehrere blockadressierbare Speichervorrichtungen, wie etwa jene, die auf NAND- oder NOR-Technologien basieren (z. B. Single-Level-Cell („SLC“), Multi-Level-Cell („MLC“), Quad-Level-Cell („QLC“), Tri-Level-Cell („TLC“) oder irgendein anderes NAND).
  • Um eine persistente Speicherung von Informationen, wie etwa Daten, Anwendungen, OSs und so weiter, bereitzustellen, kann eine Speicherung 1358 auch über das IX 1356 mit dem Prozessor 1352 gekoppelt sein. Bei einem Beispiel kann die Speicherung 1358 über ein Solid-State-Plattenlaufwerk (SSDD) und/oder einen elektrisch löschbaren Hochgeschwindigkeitsspeicher (allgemein als „Flash-Speicher“ bezeichnet) implementiert sein. Andere Vorrichtungen, die für die Speicherung 1358 verwendet werden können, beinhalten Flash-Speicherkarten, wie etwa SD-Karten, microSD-Karten, eXtreme-Digital(XD)-Bildkarten und dergleichen und USB-Flash-Laufwerke. Zusätzlich oder alternativ dazu können die Speicherschaltungsanordnung 1354 und/oder die Speicherungsschaltungsanordnung 1358 Speichervorrichtungen, die Chalkogenidglas verwenden, NAND-Flash-Speicher mit mehreren Schwellenpegeln, NOR-Flash-Speicher, Einzel- oder Mehrpegel-Phasenwechselspeicher (PCM) und/oder Phasenwechselspeicher mit einem Schalter (PCMS), NVM-Vorrichtungen, die Chalkogenid-Phasenwechselmaterial (z. B. Chalkogenidglas) verwenden, ein resistiver Speicher, Nanodrahtspeicher, ferroelektrischer Transistor-Direktzugriffsspeicher (FeTRAM), antiferroelektrischer Speicher, magnetoresistiver Direktzugriffsspeicher(MRAM)-Speicher, der Memristortechnologie beinhaltet, Phasenwechsel-RAM (PRAM), resistiver Speicher einschließlich der Metalloxidbasis, der Sauerstoffleerstellenbasis und des Leitfähige-Brücke-Direktzugriffsspeichers (CB-RAM) oder Spin-Transfer-Torque(STT)-MRAM, eine Vorrichtung auf Basis eines Spintronik-Magnetübergangsspeichers, eine Vorrichtung auf Basis eines Magnettunnelübergang (MTJ), eine Vorrichtung auf Basis von DW (Domänenwand) und SOT (Spin Orbit Transfer), eine Speichervorrichtung auf Thyristorbasis, oder einer Kombination von einem beliebigen des Obigen oder ein anderer Speicher sein oder diese beinhalten. Zusätzlich oder alternativ dazu können die Speicherschaltungsanordnung 1354 und/oder die Speicherungsschaltungsanordnung 1358 widerstandsbasierte und/oder transistorlose Speicherarchitekturen beinhalten. Die Speicherschaltungsanordnung 1354 und/oder die Speicherungsschaltungsanordnung 1358 können auch dreidimensionale (3D) Crosspoint(XPOINT)-Speichervorrichtungen (z. B. Intel® 3D XPoint™-Speicher) und/oder einen anderen byteadressierbaren Write-in-Place-NVM beinhalten. Die Speicherschaltungsanordnung 1354 und/oder die Speicherungsschaltungsanordnung 1358 können sich auf den Die selbst und/oder auf ein Package-Speicherprodukt beziehen.
  • In Niederleistungsimplementierungen kann die Speicherung 1358 ein On-Die-Speicher oder Register sein, die mit dem Prozessor 1352 assoziiert sind. Bei manchen Beispielen kann die Speicherung 1358 jedoch unter Verwendung eines Mikro-Festplattenlaufwerks (HDD) implementiert werden. Ferner kann eine beliebige Anzahl neuer Technologien für die Speicherung 1358 zusätzlich zu den, oder anstelle der, beschriebenen Technologien verwendet werden, wie etwa unter anderem Widerstandswechselspeicher, Phasenwechselspeicher, holografische Speicher oder chemische Speicher.
  • Das OS, das durch die Speicherschaltungsanordnung 1354 und/oder die Speicherungsschaltungsanordnung 1358 gespeichert wird, ist Software zum Steuern des Rechenknotens 1350. Das OS kann einen oder mehrere Treiber beinhalten, die dazu dienen, bestimmte Vorrichtungen zu steuern, die in dem Rechenknoten 1350 eingebettet, an dem Rechenknoten 1350 angebracht und/oder anderweitig kommunikativ mit dem Rechenknoten 1350 gekoppelt sind. Beispielhafte OSs beinhalten verbraucherbasierte Betriebssysteme (z. B. Microsoft® Windows® 10, Google® Android®, Apple® macOS®, Apple® iOS®, KaiOS™, bereitgestellt von KaiOS Technologies Inc., Unix oder ein Unix-artiges OS wie etwa Linux, Ubuntu oder dergleichen), industriefokussierte OSs, wie etwa RTOS (Echtzeit-OS) (z. B. Apache® Mynewt, Windows® IoT®, Android Things®, Micrium® Micro-Controller OSs („MicroC/OS“ oder „µC/OS“), VxWorks®, FreeRTOS und/oder dergleichen), Hypervisoren (z. B. Xen® Hypervisor, Real-Time Systems® RTS Hypervisor, Wind River Hypervisor, VMware® vSphere® Hypervisor und/oder dergleichen) und/oder dergleichen. Das OS kann alternative Software aufrufen, um eine oder mehrere Funktionen und/oder Operationen zu ermöglichen, die nicht nativ für das OS sind, wie etwa bestimmte Kommunikationsprotokolle und/oder Interpreter. Zusätzlich oder alternativ instanziiert das OS verschiedene Funktionalitäten, die nicht nativ für das OS sind. In manchen Beispielen beinhalten OSs variierende Grade an Komplexität und/oder Fähigkeiten. In einigen Beispielen kann ein erstes OS auf einem ersten Rechenknoten 1350 gleich oder verschieden von einem zweiten OS auf einem zweiten Rechenknoten 1350 sein. Beispielsweise kann das erste OS ein RTOS sein, das bestimmte Leistungsfähigkeitserwartungen der Ansprechempfindlichkeit gegenüber dynamischen Eingabebedingungen aufweist, und das zweite OS kann GUI-Fähigkeiten beinhalten, um Endbenutzer-E/A und dergleichen zu ermöglichen.
  • Die Speicherung 1358 kann Anweisungen 1383 in Form von Software-, Firmware- oder Hardwarebefehlen enthalten, um die hierin beschriebenen Techniken zu implementieren. In einigen Implementierungen können die Anweisungen 1383 ein oder mehrere Codeblöcke sein, wobei einer oder mehrere der Codeblöcke dem zuvor besprochenen OMS 160 entsprechen. Obwohl solche Anweisungen 1383 als Codeblöcke gezeigt sind, die in dem Speicher 1354 und der Speicherung 1358 enthalten sind, können beliebige der Codeblöcke durch festverdrahtete Schaltungen ersetzt werden, die zum Beispiel in eine anwendungsspezifische integrierte Schaltung (ASIC), FPGA-Speicherblöcke und/oder dergleichen eingebaut sind. In einem Beispiel können die Anweisungen 1381, 1382, 1383, die über den Speicher 1354, die Speicherung 1358 oder den Prozessor 1352 bereitgestellt werden, als ein nichttransitorisches maschinenlesbares Medium 1360 umgesetzt sein, das Code beinhaltet, um den Prozessor 1352 anzuweisen, elektronische Operationen in dem Edge-Computing-Knoten 1350 durchzuführen. Der Prozessor 1352 kann über das IX 1356 auf das nichttransitorische maschinenlesbare Medium 1360 (auch als „computerlesbares Medium 1360“ oder „CRM 1360“ bezeichnet) zugreifen. Beispielsweise kann das nichttransitorische CRM 1360 durch Vorrichtungen umgesetzt sein, die für die Speicherung 1358 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 gespeichert werden (z. B. für erweiterte Zeiträume, permanent, für kurze Instanzen, zum temporären Puffern und/oder Caching). Das nichttransitorische CRM 1360 kann Anweisungen beinhalten, um den Prozessor 1352 anzuweisen, eine spezifische Sequenz oder einen spezifischen Fluss von Aktionen durchzuführen, wie zum Beispiel mit Bezug auf das eine oder die mehreren hierin dargestellten Flussdiagramme und/oder Blockdiagramme von Operationen und Funktionalität beschrieben.
  • Die Komponenten der Edge-Computing-Vorrichtung 1350 können über ein Interconnect (IX) 1356 kommunizieren. Das IX 1356 kann eine beliebige Anzahl von Technologien beinhalten, einschließlich Befehlssatzarchitektur (ISA), erweiterte ISA (eISA), I2C (Inter-Integrated-Circuit), SPI (Serial Peripheral Interface), Punkt-zu-Punkt-Schnittstellen, PMBus (Power Management Bus), PCI (Peripheral Component Interconnect), PCI Express (PCIe), PCI Extended (PCIx), Intel® Ultra Path Interconnect (UPI), Intel® Accelerator Link, Intel® QuickPath Interconnect (QPI), Intel® Omni-Path Architecture (OPA), CXL™(Compute-Express-Link™)-IX, RapidIO™-IX, CAPI (Coherent Accelerator Processor Interface), OpenCAPI, AMBA(Advanced Microcontroller Bus Architecture)-IX, CCIX (cache coherent interconnect for accelerators), Gen-Z-Consortium-IXs, ein HyperTransport-IX, NVLink, bereitgestellt durch NVIDIA®, ARM Advanced eXtensible Interface (AXI), ein TTP(Time-Trigger Protocol)-System, ein FlexRay-System, PROFIBUS, Ethernet, USB, IOSF (On-Chip System Fabric), Infinity Fabric (IF) und/oder eine beliebige Anzahl anderer IX-Technologien. Das IX 1356 kann ein proprietärer Bus sein, der zum Beispiel in einem SoC-basierten System verwendet wird. In verschiedenen Implementierungen beinhaltet das 1356 eine IX-Schnittstellenschaltungsanordnung, die eine Cache-Steuerung oder ein Caching-Agent (CA) sein oder diese beinhalten kann. In diesen Implementierungen kann die IX-Schnittstellenschaltungsanordnung dem zuvor besprochenen OMS 160 entsprechen.
  • Das IX 1356 koppelt den Prozessor 1352 mit einer Kommunikationsschaltungsanordnung 1366 zur Kommunikation mit anderen Vorrichtungen, wie etwa einem entfernten Server (nicht gezeigt) und/oder den angebundenen Edge-Vorrichtungen 1362. Die Kommunikationsschaltungsanordnung 1366 ist ein Hardwareelement oder eine Sammlung von Hardwareelementen, das/die zum Kommunizieren über ein oder mehrere Netzwerke (z. B. die Cloud 1363) und/oder mit anderen Vorrichtungen (z. B. Edge-Vorrichtungen 1362) verwendet wird/werden. Die Kommunikationsschaltungsanordnung 1366 beinhaltet eine Modemschaltungsanordnung 1366x, die eine Schnittstelle mit einer Anwendungsschaltungsanordnung des Systems 800 (z. B. eine Kombination der Prozessorschaltungsanordnung 802 und des CRM 860) zum Erzeugen und Verarbeiten von Basisbandsignalen und zum Steuern von Operationen des TRx 812 bilden kann. Die Modemschaltungsanordnung 1366x kann verschiedene Funksteuerfunktionen handhaben, die eine Kommunikation mit einem oder mehreren (R)ANs über die Sendeempfänger (TRx) 1366y und 1366z gemäß einem oder mehreren Drahtloskommunikationsprotokollen und/oder RATs ermöglichen. Die Modemschaltungsanordnung 1366x kann eine Schaltungsanordnung beinhalten, wie etwa unter anderem einen oder mehrere Einzelkern- oder Mehrkernprozessoren (z. B. einen oder mehrere Basisbandprozessoren) oder eine Steuerlogik zum Verarbeiten von Basisbandsignalen, die von einem Empfangssignalpfad der mehreren TRx 1366y, 1366z empfangen werden, und zum Erzeugen von Basisbandsignalen, die den mehreren TRx 1366y, 1366z über einen Sendesignalpfad bereitzustellen sind. Die Modemschaltungsanordnung 1366x kann ein Echtzeit-OS (RTOS) implementieren, um Ressourcen der Modemschaltungsanordnung 1366x zu verwalten, Aufgaben zu planen, die verschiedenen Funksteuerfunktionen durchzuführen, die Sende-/Empfangssignalpfade zu verarbeiten und dergleichen. In manchen Implementierungen beinhaltet oder betreibt die Modemschaltungsanordnung 1366x ein OMS 160, das in der Lage ist, die hierin besprochenen µEnclave-Implementierungen und Techniken auszuführen.
  • Der TRx 1366y 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®-Low-Energy(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 zu den verbundenen Edge-Vorrichtungen 1362 verwendet werden. Zum Beispiel kann eine WLAN(Drahtlos-Lokalnetzwerk)-Einheit verwendet werden, um Wi-Fi®-Kommunikationen gemäß einem [IEEE802]-Standard (z. B. [IEEE80211] und/oder dergleichen) zu implementieren. Außerdem können Drahtlos-Weitbereichskommunikationen, z. B. gemäß einem zellularen oder anderen Drahtlos-Weitbereichsprotokoll über eine Drahtlos-Weitbereichsnetzwerk(WWAN)-Einheit stattfinden.
  • Der TRx 1366y (oder mehrere Sendeempfänger 1366y) kann unter Verwendung mehrerer Standards oder Funkgeräte für Kommunikationen mit unterschiedlicher Reichweite kommunizieren. Beispielsweise kann der Rechenknoten 1350 mit relativ 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. Entferntere verbundene Edge-Vorrichtungen 1362, z. B. innerhalb von etwa 50 Metern, können über ZigBee® oder andere Zwischenleistungsfunkgeräte 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 TRx 1366z (z. B. ein Funksendeempfänger) kann enthalten sein, um mit Vorrichtungen oder Diensten in der Edge-Cloud 1363 über Lokal- oder Weitbereichsnetzwerkprotokolle zu kommunizieren. Der TRx 1366z kann ein LPWA-Sendeempfänger sein, der unter anderem [IEEE802154]- oder IEEE 802.15.4g-Standards folgt. Der Edge-Computing-Knoten 1363 kann über einen weiten Bereich unter Verwendung von LoRaWAN™ (Long Range Wide Area Network), das von Semtech und der LoRa Alliance entwickelt wurde, kommunizieren. 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, niedriger Bandbreite implementieren, wie etwa Sigfox, und anderen Technologien. Ferner können andere Kommunikationstechniken, wie beispielsweise Kanalspringen mit Zeitschlitzen, das in der Spezifikation IEEE 802.15.4e beschrieben ist, verwendet werden. Eine beliebige Anzahl anderer Funkkommunikationen und -protokolle kann zusätzlich zu den für den TRx 1366z erwähnten Systemen, wie hierin beschrieben, verwendet werden. Zum Beispiel kann der TRx 1366z einen zellularen Sendeempfänger beinhalten, der Spreizspektrum(SPA/SAS)-Kommunikationen zum Implementieren von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl anderer Protokolle verwendet werden, wie etwa WiFi®-Netzwerke für Mittelgeschwindigkeitskommunikationen und Bereitstellung von Netzwerkkommunikationen. Der TRx 1366z kann Funkgeräte beinhalten, die mit einer beliebigen Anzahl von 3GPP-Spezifikationen kompatibel sind, wie etwa LTE- und 5G/NR-Kommunikationssysteme.
  • Eine Netzwerkschnittstellensteuerung (NIC) 1368 kann enthalten sein, um eine drahtgebundene Kommunikation zu Knoten der Edge-Cloud 1363 oder zu anderen Vorrichtungen, wie etwa den verbundenen Edge-Vorrichtungen 1362 (die z. B. in einem Mesh, Fog und/oder dergleichen arbeiten), bereitzustellen. Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen (siehe z. B. Ethernet (z. B. IEEE Standard für Ethernet, IEEE Standard 802.3-2018, S. 1-5600 (31. August 2018) („[IEEE8023]“)) oder kann auf anderen Arten von Netzwerken basieren, wie etwa CAN (Controller Area Network), LIN (Local Interconnect Network), DeviceNet, ControlNet, Data Highway+ oder PROFINET, eine SmartNIC, IFP(s) (Intelligent Fabric Processor(s)) unter vielen anderen. Eine zusätzliche NIC 1368 kann enthalten sein, um eine Verbindung mit einem zweiten Netzwerk zu ermöglichen, beispielsweise eine erste NIC 1368, die Kommunikationen zu der Cloud über Ethernet bereitstellt, und eine zweite NIC 1368, die Kommunikationen zu anderen Vorrichtungen über einen anderen Netzwerktyp bereitstellt. In manchen Implementierungen beinhaltet oder betreibt die NIC 1368 ein OMS 160, das in der Lage ist, die hierin besprochenen µEnclave-Implementierungen und -Techniken auszuführen.
  • Angesichts der Vielfalt von Arten anwendbarer Kommunikationen von der Vorrichtung zu einer anderen Komponente oder einem anderen Netzwerk kann zutreffende Kommunikationsschaltungsanordnung, die von der Vorrichtung verwendet wird, eine oder mehrere der Komponenten 1364, 1366, 1368 oder 1370 beinhalten oder durch diese verkörpert sein. Dementsprechend können bei verschiedenen Beispielen anwendbare Mittel zum Kommunizieren (z. B. Empfangen, Senden usw.) durch eine solche Kommunikationsschaltungsanordnung verkörpert werden.
  • Der Rechenknoten 1350 kann eine Beschleunigungsschaltungsanordnung 1364 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 Schaltungsanordnungen, die zum Erfüllen einer oder mehrerer spezialisierter Aufgaben ausgelegt sind, umgesetzt werden können. Zusätzlich oder alternativ dazu kann die Beschleunigungsschaltungsanordnung 1364 xPUs und/oder DPUs, IPUs, NPUs und/oder dergleichen beinhalten. Diese Aufgaben können KI/MI,-Aufgaben (z. B. Training, Inferenz/Vorhersage, Klassifizierung und dergleichen), visuelle Datenverarbeitung, Netzwerkdatenverarbeitung, Infrastrukturfunktionsverwaltung, Objektdetektion, Regelanalyse oder dergleichen beinhalten. In FPGA-basierten Implementierungen kann die Beschleunigungsschaltungsanordnung 1364 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 hierin besprochenen Prozeduren, Verfahren, Funktionen usw. Bei solchen Implementierungen kann die Beschleunigungsschaltungsanordnung 1364 auch Speicherzellen (z. B. EPROM, EEPROM, Flash-Speicher, statischer 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 1356 koppelt auch den Prozessor 1352 an einen Sensor-Hub oder eine externe Schnittstelle 1370, der bzw. die zum Verbinden zusätzlicher Vorrichtungen oder Untersysteme verwendet wird. Die zusätzlichen/externen Vorrichtungen können Sensoren 1372, Aktoren 1374 und eine Positionierungsschaltungsanordnungen 1345 beinhalten.
  • Die Sensorschaltungsanordnung 1372 beinhaltet Vorrichtungen, Module oder Untersysteme, 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 Untersystem usw. zu senden. Beispiele für derartige Sensoren 1372 beinhalten unter anderem Inertialmesseinheiten (IMU), die Beschleunigungsmesser, Gyroskope und/oder Magnetometer umfassen; mikroelektromechanische Systeme (MEMS) oder nanoelektromechanische Systeme (NEMS), die 3-Achsen-Beschleunigungsmesser, 3-Achsen-Gyroskope und/oder Magnetometer umfassen; Niveausensoren; Durchflusssensoren; Temperatursensoren (z. B. Thermistoren, einschließlich Sensoren zum Messen der Temperatur interner Komponenten und Sensoren zum Messen einer Temperatur außerhalb des Rechenknotens 1350); Drucksensoren; barometrische Drucksensoren; Gravimeter; Höhenmesser; Bilderfassungsvorrichtungen (z. B. Kameras); LiDAR(Lichtdetektions- und -entfernungsmessung)-Sensoren; Näherungssensoren (z. B. Infrarotstrahlungsdetektor und dergleichen); Tiefensensoren, Umgebungslichtsensoren; optische Lichtsensoren; Ultraschallsendeempfänger; Mikrofone; und dergleichen.
  • Die Aktoren 1374 ermöglichen es der Plattform 1350, ihren Zustand, ihre Position und/oder ihre Orientierung zu ändern oder einen Mechanismus oder ein System zu bewegen oder zu steuern. Die Aktoren 1374 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 Aktoren 1374 können eine oder mehrere elektronische (oder elektrochemische) Vorrichtungen beinhalten, wie etwa piezoelektrische Biomorphe, Solid-State-Aktoren, Solid-State-Relais (SSRs), Aktoren auf Basis einer Formgedächtnislegierung, Aktoren auf Basis eines elektroaktiven Polymers, Relaistreiber-Integrierte-Schaltungen (ICs) und/oder dergleichen. Die Aktoren 1374 können eine oder mehrere elektromechanische Vorrichtungen beinhalten, wie etwa pneumatische Aktoren, hydraulische Aktoren, elektromechanische Schalter einschließlich elektromechanischer Relais (EMRs), Motoren (z. B. DC-Motoren, Schrittmotoren, Servomechanismen usw.), Leistungsschalter, Ventilaktoren, Räder, Schubdüsen, Propeller, Klauen, Klemmen, Haken, Generatoren mit hörbarem Ton, visuelle Warnvorrichtungen und/oder andere ähnliche elektromechanische Komponenten. Die Plattform 1350 kann dazu ausgelegt sein, einen oder mehrere Aktoren 1374 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 1345 beinhaltet eine Schaltungsanordnung zum Empfangen und Decodieren von Signalen, die durch ein Positionierungsnetzwerk eines globalen Satellitennavigationssystems (GNSS) übertragen/rundgesendet werden. Beispiele für Satellitennavigationskonstellationen (oder GNSS) beinhalten das globale Positionierungssystem (GPS) der Vereinigten Staaten, das globale Navigationssystem (GLONASS) Russlands, das Galileo-System der Europäischen Union, das Satellitennavigationssystem BeiDou Chinas, ein regionales Navigationssystem oder GNSS-Erweiterungssystem (z. B. Navigation with Indian Constellation (NAVIC), Quasi-Zenith-Satellite-System (QZSS) Japans, Doppler Orbitography and Radiopositioning Integrated by Satellite (DORIS) Frankreichs usw.) oder dergleichen. Die Positionierungsschaltungsanordnung 1345 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 Satellitennavigationskonstellationsknoten, zu kommunizieren. Zusätzlich oder alternativ kann die Positionierungsschaltungsanordnung 1345 eine Micro-PNT-IC (Micro-PNT: Mikrotechnologie für Positionierung, Navigation und Timing) beinhalten, die einen Master-Timing-Takt verwendet, um eine Positionsverfolgung/-schätzung ohne GNSS-Unterstützung durchzuführen. Die Positionierungsschaltungsanordnung 1345 kann auch Teil der Kommunikationsschaltungsanordnung 1366 sein oder mit dieser interagieren, um mit den Knoten und Komponenten des Positionierungsnetzwerks zu kommunizieren. Die Positionierungsschaltungsanordnung 1345 kann auch Positionsdaten und/oder Zeitdaten für die Anwendungsschaltungsanordnung bereitstellen, welche die Daten verwenden kann, um Operationen mit verschiedener Infrastruktur (z. B. Funkbasisstationen) für die Navigation mit detaillierter Wegbeschreibung oder dergleichen zu synchronisieren. Wenn kein GNSS-Signal verfügbar ist oder wenn eine GNSS-Positionsgenauigkeit für eine bestimmte Anwendung oder einen bestimmten Dienst nicht ausreicht, kann eine Positionierungserweiterungstechnologie verwendet werden, um erweiterte Positionierungsinformationen 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 1345 ein INS, das ein System oder eine Vorrichtung ist, das/die eine Sensorschaltungsanordnung 1372 (z. B. Bewegungssensoren wie etwa Beschleunigungsmesser, Rotationssensoren wie etwa Gyroskope und Höhenmesser, Magnetsensoren, und/oder dergleichen) verwendet, um kontinuierlich (z. B. unter Verwendung von Dead-by-Dead-Reckoning, Triangulation oder dergleichen) eine Position, Orientierung und/oder Geschwindigkeit (einschließlich Richtung und Geschwindigkeit der Bewegung) der Plattform 1350 ohne die Notwendigkeit externer Referenzen zu berechnen.
  • In einigen optionalen Beispielen können verschiedene Eingabe/Ausgabe(E/A)-Vorrichtungen innerhalb des Edge-Computing-Knotens 1350 vorhanden oder mit diesem verbunden sein, die in 13 als Eingabeschaltungsanordnung 1386 und Ausgabeschaltungsanordnung 1384 bezeichnet werden. Die Eingabeschaltungsanordnung 1386 und die Ausgabeschaltungsanordnung 1384 beinhalten eine oder mehrere Benutzerschnittstellen, die dazu ausgelegt sind, eine Benutzerinteraktion mit der Plattform 1350 zu ermöglichen, und/oder Peripheriekomponentenschnittstellen, die dazu ausgelegt sind, eine Peripheriekomponenteninteraktion mit der Plattform 1350 zu ermöglichen. Die Eingabeschaltungsanordnung 1386 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 Tastenfeldes, einer Maus, eines Touchpads, eines Touchscreens, Mikrofone, eines Scanners, eines Headsets und/oder dergleichen. Die Ausgabeschaltungsanordnung 1384 kann enthalten sein, um Informationen zu zeigen oder anderweitig Informationen zu übermitteln, wie etwa Sensorlesewerte, Aktorposition(en) oder andere ähnliche Informationen. Daten und/oder Grafiken können auf einer oder mehreren Benutzeroberflächenkomponenten der Ausgabeschaltungsanordnung 1384 angezeigt werden. Die Ausgabeschaltungsanordnung 1384 kann eine beliebige Anzahl und/oder Kombinationen einer Audio- oder visuellen Anzeige beinhalten, einschließlich unter anderem einer/eines oder mehrerer einfacher visueller Ausgaben/Indikatoren (z. B. binärer Statusindikatoren (z. B. Leuchtdioden (LEDs)) und visueller Mehrzeichenausgaben, oder komplexere Ausgaben, wie etwa Anzeigevorrichtungen oder Touchscreens (z. B. Flüssigkristallanzeigen (LCD), LED-Anzeigen, Quantenpunktanzeigen, Projektoren usw.), wobei die Ausgabe von Zeichen, Grafiken, Multimediaobjekten und dergleichen aus dem Betrieb der Plattform 1350 erzeugt oder produziert wird. Die Ausgabeschaltungsanordnung 1384 kann auch Lautsprecher oder andere audioemittierende Vorrichtungen, einen oder mehrere Drucker und/oder dergleichen beinhalten. Zusätzlich oder alternativ kann die Sensorschaltungsanordnung 1372 als die Eingabeschaltungsanordnung 1384 (z. B. eine Bilderfassungsvorrichtung, Bewegungserfassungsvorrichtung oder dergleichen) verwendet werden, und ein oder mehrere Aktoren 1374 können als die Ausgabevorrichtungsschaltungsanordnung 1384 (z. B. ein Aktor zum Bereitstellen einer haptischen Rückmeldung oder dergleichen) verwendet werden. In einem anderen Beispiel kann eine Nahfeldkommunikation(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 Speicherport, einen USB-Port, eine Audiobuchse, eine Leistungsversorgungsschnittstelle usw. beinhalten. Eine Anzeigen- oder Konsolenhardware kann im Kontext des vorliegenden Systems verwendet werden, um eine Ausgabe bereitzustellen und eine Eingabe eines Edge-Computing-Systems zu empfangen; Komponenten oder Dienste eines Edge-Computing-Systems zu verwalten; einen Zustand einer Edge-Computing-Komponente oder eines Edge-Dienstes zu identifizieren; oder eine beliebige andere Anzahl von Verwaltungs- oder Administrationsfunktionen oder Dienstanwendungsfällen durchzuführen.
  • Eine Batterie 1376 kann den Edge-Computing-Knoten 1350 mit Leistung versorgen, wobei sie in Beispielen, in denen der Edge-Computing-Knoten 1350 an einem festen Ort montiert ist, eine Leistungsversorgung aufweisen kann, die mit einem Stromnetz gekoppelt ist, oder die Batterie kann als ein Backup oder für temporäre Funktionen verwendet werden. Die Batterie 1376 kann eine Lithium-Ionen-Batterie oder eine Metall-Luft-Batterie, wie beispielsweise eine Zink-Luft-Batterie, eine Aluminium-Luft-Batterie, eine Lithium-Luft-Batterie und dergleichen sein.
  • Ein Batterieüberwachungs-/-ladegerät 1378 kann in dem Edge-Computing-Knoten 1350 enthalten sein, um den Ladezustand (SoCh: State of Charge) der Batterie 1376, falls enthalten, zu verfolgen. Das Batterieüberwachungs-/-ladegerät 1378 kann dazu verwendet werden, andere Parameter der Batterie 1376 zu überwachen, um Ausfallvorhersagen bereitzustellen, wie etwa den Gesundheitszustand (SoH: State of Health) und den Funktionszustand (SoF: State of Function) der Batterie 1376. Das Batterieüberwachungs-/-ladegerät 1378 kann eine integrierte Batterieüberwachungsschaltung beinhalten, wie etwa einen LTC4020 oder einen LTC2990 von Linear Technologies, einen ADT7488A von ON Semiconductor aus Phoenix, Arizona, USA, oder einen IC der UCD90xxx-Familie von Texas Instruments aus Dallas, TX, USA. Das Batterieüberwachungs-/-ladegerät 1378 kann die Informationen über die Batterie 1376 über das IX 1356 an den Prozessor 1352 kommunizieren. Das Batterieüberwachungs-/-ladegerät 1378 kann auch einen Analog-Digital-Umsetzer (ADC) beinhalten, der es dem Prozessor 1352 ermöglicht, die Spannung der Batterie 1376 oder den Stromfluss von der Batterie 1376 direkt zu überwachen. Die Batterieparameter können verwendet werden, um Aktionen zu bestimmen, die der Edge-Computing-Knoten 1350 ausführen kann, wie etwa Übertragungsfrequenz, Mesh-Netzwerkoperation, Erfassungsfrequenz und dergleichen.
  • Ein Leistungsblock 1380 oder eine andere Leistungsversorgung, die an ein Stromnetz gekoppelt ist, kann mit dem Batterieüberwachungs-/-ladegerät 1378 gekoppelt werden, um die Batterie 1376 zu laden. Bei einigen Beispielen kann der Leistungsblock 1380 durch einen drahtlosen Leistungsempfänger ersetzt werden, um die Leistung drahtlos, zum Beispiel durch eine Schleifenantenne im Edge-Computing-Knoten 1350, zu erhalten. Eine Drahtlosbatterieladeschaltung, wie etwa unter anderem ein LTC4020-Chip von Linear Technologies aus Milpitas, Kalifornien, kann im Batterieüberwachungs-/-ladegerät 1378 enthalten sein. Die spezifischen Ladeschaltungen können basierend auf der Größe der Batterie 1376 und somit dem erforderlichen Strom ausgewählt werden. Das Aufladen kann unter anderem unter Verwendung des von der Airfuel Alliance veröffentlichten Airfuel-Standard, dem vom Wireless Power Consortium veröffentlichten Qi-Ladestandard oder dem von der Alliance for Wireless Power veröffentlichten Rezence-Ladestandard durchgeführt werden.
  • Das Beispiel von 13 soll eine Ansicht hoher Ebene von Komponenten einer variierenden Vorrichtung, eines variierenden Untersystems oder einer variierenden Anordnung eines Edge-Computing-Knotens darstellen. In anderen Implementierungen können jedoch manche der gezeigten Komponenten weggelassen werden, zusätzliche Komponenten können vorhanden sein und in anderen Implementierungen kann eine andere Anordnung der gezeigten Komponenten auftreten. Ferner sind diese Anordnungen in einer Vielfalt von Verwendungsfällen und Umgebungen verwendbar, einschließlich jener, die unten erörtert werden (z. B. ein mobiles UE beim industriellen Rechnen für Smart-Städte oder Smart-Fabriken, unter vielen anderen Beispielen).
  • 4. BEISPIELE
  • Zusätzliche Beispiele für die vorliegend beschriebenen Verfahren, Vorrichtungen, Systeme und Netzwerke, die hierin besprochen sind, beinhalten die folgenden nichtbeschränkenden Implementierungen. 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 beliebigen der anderen Beispiele, die unten oder in der gesamten vorliegenden Offenbarung bereitgestellt werden, kombiniert werden.
  • Beispiel 1 beinhaltet ein Verfahren zum Verwalten eines mehrstufigen Caching-Systems einschließlich mehrerer Speicherungsstufen, wobei das Verfahren umfasst: Messen, durch ein Objektverwaltungssystem (OMS), von Abrufkosten zum Zugreifen auf ein Objekt aus einem ersten Cache einer ersten Speicherungsstufe der Vielzahl von Speicherungsstufen, in denen das Objekt gegenwärtig gespeichert ist, wobei die Abrufkosten auf einer Abruflatenz basieren, und die Abruflatenz eine Latenzmenge dafür ist, dass das Objekt an einen Anforderer des Objekts geliefert wird; Bestimmen, durch das OMS, einer zweiten Speicherungsstufe der Vielzahl von Speicherungsstufen, in denen das Objekt geräumt werden soll, wenn die Abrufkosten eine Schwelle überschreiten; Bewirken einer Räumung, durch das OMS, des Objekts aus dem ersten Cache; und Speichern oder Veranlassen der Speicherung, durch das OMS, des räumten Objekts in dem zweiten Cache.
  • Beispiel 2 beinhaltet das Verfahren des Beispiels 1 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Bestimmen, durch das OMS, der Abrufkosten basierend auf einer Abruflatenz, wobei die Abruflatenz auf einer Abrufzeit basiert, und die Abrufzeit eine Menge an Zeit zwischen dem Ausgeben eines Abrufbefehls zum Zugriff auf das Objekt aus dem ersten Cache und der Lieferung des Objekts an den Anforderer ist.
  • Beispiel 3 beinhaltet das Verfahren des Beispiels 2 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Bestimmen, durch das OMS, einer Anzahl verzögerter Treffer beim Zugreifen auf das Objekt; und Bestimmen, durch das OMS, der Abrufkosten basierend auf der Abrufzeit und der Anzahl verzögerter Treffer.
  • Beispiel 4 beinhaltet das Verfahren des Beispiels 3 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Bestimmen, durch das OMS, der Abrufkosten basierend auf einem mittleren gewichteten Durchschnitt (MWA) der Abrufzeit, mit der Anzahl verzögerter Treffer zusammengefasst.
  • Beispiel 5 beinhaltet das Verfahren des Beispiels 4 und/oder eines oder mehrerer anderer Beispiele hierin, wobei der MWA eines oder mehrere von einem einfachen gleitenden Durchschnitt (SMA), einem kumulativen Durchschnitt (CA), einem gewichteten gleitenden Durchschnitt (WMA), einem exponentiellen gleitenden Durchschnitt (EMA), einem exponentiell gewichteten gleitenden Durchschnitt (EWMA), einem modifizierten gleitenden Durchschnitt (MMA), einem laufenden gleitenden Durchschnitt (RMA), einem geglätteten gleitenden Durchschnitt (SMMA) oder einem Regressionsmodell mit gleitendem Durchschnitt ist.
  • Beispiel 6 beinhaltet das Verfahren des Beispiels 5 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Bestimmen, durch das OMS, einer mit dem Objekt assoziierten Wiederverwendungszeit, wobei die Wiederverwendungszeit eine Zeit zwischen einem vorherigen Zugriff auf das Objekt und einem aktuellen Zugriff auf das Objekt ist.
  • Beispiel 7 beinhaltet das Verfahren des Beispiels 6 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Bestimmen, durch das OMS, einer mittleren Zeit zur Wiederverwendung (MTR) des Objekts basierend auf einer Zeitreihenaggregation der bestimmten Wiederverwendungszeit.
  • Beispiel 8 beinhaltet das Verfahren des Beispiels 7 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Aggregieren, durch das OMS, von Cache-Raum zwischen Caches der Speicherungsstufen der Vielzahl von Speicherungsstufen; und Zuweisen, durch das OMS, einer Menge des aggregierten Cache-Raums zu dem Objekt basierend auf den Abrufkosten, der MTR und einer Zugriffsdichte des Objekts.
  • Beispiel 9 beinhaltet das Verfahren der Beispiele 7-8 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Erhöhen, durch das OMS, eines Replikationsfaktors des Objekts, wenn das Objekt höhere Abrufkosten aufweist als andere Objekte, die in dem ersten Cache oder anderen Caches anderer Speicherungsstufen der Vielzahl von Speicherungsstufen gespeichert sind.
  • Beispiel 10 beinhaltet das Verfahren der Beispiele 7-9 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Erhöhen, durch das OMS, eines Komprimierungsfaktors für das Objekt, wenn das Objekt höhere Abrufkosten aufweist als andere Objekte, die in dem ersten Cache oder anderen Caches anderer Speicherungsstufen der Vielzahl von Speicherungsstufen gespeichert sind; und Verteilen oder Veranlassen der Verteilung, durch das OMS, des Objekts mit konsistentem Hashing über den aggregierten Cache-Raum hinweg.
  • Beispiel 11 beinhaltet das Verfahren der Beispiele 1-10 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Detektieren, durch das OMS, einer Anforderung für das Objekt, das durch den Anforderer ausgegeben wird; Ausgeben oder Veranlassen der Ausgabe, durch das OMS, des Abrufbefehls, um auf das Objekt aus dem ersten Cache zuzugreifen, wenn es keinen ausstehenden Abrufbefehl für das Objekt gibt; Warten, durch das OMS, bis das Objekt aus dem ersten Cache abgerufen wird, wenn ein ausstehender Abrufbefehl für das Objekt vorhanden ist; und Liefern oder Veranlassen der Lieferung, durch das OMS, des Objekts an den Anforderer, wenn das Objekt aus dem ersten Cache abgerufen wird.
  • Beispiel 12 beinhaltet das Verfahren der Beispiele 1-11 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das Verfahren beinhaltet: Bestimmen, durch das OMS, einer Latenzerfordernis zur Lieferung des Objekts vom ersten Cache an den Anforderer, einer aktuellen Latenz der Lieferung von Daten vom ersten Cache an den Anforderer und einer aktuellen Netzwerkroute zwischen dem ersten Cache und dem Anforderer; und Routen des Objekts oder Veranlassen des Routing des Objekts, durch das OMS, sodass es über eine neue Netzwerkroute an den Anforderer geliefert wird, wenn die aktuelle Latenz und eine geschätzte verbleibende Latenz größer als die Latenzerfordernis sind.
  • Beispiel 13 beinhaltet das Verfahren der Beispiele 1-12 und/oder eines oder mehrerer anderer Beispiele hierin, wobei die zweite Speicherungsstufe eine Best-Effort-Speicherungsstufe im Vergleich zu anderen Speicherungsstufen der Vielzahl von Speicherungsstufen ist, wenn: die Abrufkosten kleiner oder gleich der Schwelle sind, und die erste Speicherungsstufe eine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist.
  • Beispiel 14 beinhaltet das Verfahren der Beispiele 1-13 und/oder eines oder mehrerer anderer Beispiele hierin, wobei die zweite Speicherungsstufe eine nächste verfügbare Speicherungsstufe in Bezug auf die erste Speicherungsstufe ist, wenn: die Abrufkosten größer als die Schwelle sind, und die erste Speicherungsstufe eine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist.
  • Beispiel 15 beinhaltet das Verfahren der Beispiele 1-14 und/oder eines oder mehrerer anderer Beispiele hierin, wobei die zweite Speicherungsstufe eine Speicherungsstufe der Vielzahl von Speicherungsstufen weiter entfernt von dem Anforderer als die erste Speicherungsstufe ist, wenn: die erste Speicherungsstufe keine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist.
  • Beispiel 16 beinhaltet das Verfahren der Beispiel 1-15 und/oder eines oder mehrerer anderer Beispiele hierin, wobei der Anforderer eines von einer Benutzervorrichtung, einem Router, einem Switch, einem Smart-Edge-Switch, einer Gateway-Vorrichtung, eines Netzwerkgeräts, einem Lastausgleichsserver, einem Firewall-Gerät, einer DPU, einer IPU, einer NIC, einer Smart-NIC, einer Speicherungssteuerung, einer Cache-Steuerung oder einem Caching-Agent einer Interconnect-Schnittstellenschaltungsanordnung, einer Speichersteuerung, einer speicherinternen Caching-Engine, einer Server-Host-Prozessorplattform, einem Hardwarebeschleuniger und einem Cloud-Computing-Dienst ist.
  • Beispiel 17 beinhaltet das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin, wobei das OMS als eine Protokollstapelschicht eines Kommunikationsprotokolls, ein Netzwerkspeicherungsstapel-Softwareelement auf einer DPU, ein softwaredefinierter Netzwerk-Switch, eine virtualisierte Netzwerkfunktion, eine serverinterne Bibliothek, ein Caching-Agent eines Nachrichtenbroker-Frameworks, ein Benutzeragent-Caching-Mechanismus, ein Web-Caching-System, ein Router, ein Switch, ein Smart-Edge-Switch, eine Gateway-Vorrichtung, ein Netzwerkgerät, ein Lastausgleichsserver, ein Firewall-Gerät, eine DPU, eine IPU, eine NIC, eine Smart-NIC, eine Speicherungssteuerung, eine Cache-Steuerung oder ein Caching-Agent einer Interconnect-Schnittstellenschaltungsanordnung, eine Speichersteuerung, eine speicherinterne Caching-Engine, eine Server-Host-Prozessorplattform, ein Hardwarebeschleuniger und ein Cloud-Computing-Dienst implementiert wird oder Teil davon ist.
  • Beispiel 18 beinhaltet einen Router, der dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 19 beinhaltet ein Switch, das dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 20 beinhaltet ein Smart-Edge-Switch, das dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 21 beinhaltet eine Gateway-Vorrichtung, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 22 beinhaltet ein Netzwerkgerät, das dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 23 beinhaltet einen Lastausgleichsserver, der dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 24 beinhaltet ein Firewall-Gerät, das dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 25 beinhaltet eine DPU, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 26 beinhaltet eine IPU, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 27 beinhaltet eine NIC, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 28 beinhaltet eine Smart-NIC, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 29 beinhaltet eine Speicherungssteuerung, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 30 beinhaltet eine Cache-Steuerung oder einen Caching-Agenten einer Interconnect-Schnittstellenschaltungsanordnung, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 31 beinhaltet eine Speichersteuerung, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 32 beinhaltet eine speicherinterne Caching-Engine, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 33 beinhaltet eine Server-Host-Prozessorplattform, die dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 34 beinhaltet einen Hardwarebeschleuniger, der dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 35 beinhaltet einen Cloud-Computing-Dienst, der dazu ausgelegt ist, das Verfahren der Beispiele 1-16 und/oder eines oder mehrerer anderer Beispiele hierin durchzuführen.
  • Beispiel 36 beinhaltet ein oder mehrere computerlesbare Medien, die Anweisungen umfassen, wobei die Ausführung der Anweisungen durch eine Prozessorschaltungsanordnung bewirken soll, dass die Prozessorschaltungsanordnung das Verfahren der Beispiele 1-17 und/oder eines oder mehrerer anderer Beispiele hierin durchführt.
  • Beispiel 37 beinhaltet ein Computerprogramm, das die Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin umfasst.
  • Beispiel 38 beinhaltet eine Anwendungsprogrammierschnittstelle, die Funktionen, Verfahren, Variablen, Datenstrukturen und/oder Protokolle für das Computerprogramm des Beispiels 37 und/oder eines oder mehrerer anderer Beispiele hierin definiert.
  • Beispiel 39 beinhaltet eine Einrichtung, die eine Schaltungsanordnung umfasst, die mit den Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin geladen ist.
  • Beispiel 40 beinhaltet eine Einrichtung, die eine Schaltungsanordnung umfasst, die funktionsfähig ist, die Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin auszuführen.
  • Beispiel 41 beinhaltet eine integrierte Schaltung, die die Prozessorschaltungsanordnung des Beispiels 36 und/oder das eine oder die mehreren computerlesbaren Medien des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin umfasst.
  • Beispiel 42 beinhaltet ein Rechensystem, das das eine oder die mehreren computerlesbaren Medien und die Prozessorschaltungsanordnung des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin umfasst.
  • Beispiel 43 beinhaltet eine Einrichtung, die Mittel zum Ausführen der Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin umfasst.
  • Beispiel 44 beinhaltet ein Signal, das infolge des Ausführens der Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin erzeugt wird.
  • Beispiel 45 beinhaltet eine Dateneinheit, die infolge des Ausführens der Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin erzeugt wird.
  • Beispiel 46 beinhaltet die Dateneinheit des Beispiels 45, wobei es sich bei der Dateneinheit um ein Datagramm, ein Netzwerkpaket, einen Datenframe, ein Datensegment, eine PDU, eine SDU, eine Nachricht oder ein Datenbankobjekt handelt.
  • Beispiel 47 beinhaltet ein Signal, das mit der Dateneinheit der Beispiele 45-46 und/oder eines oder mehrerer anderer Beispiele hierin codiert ist.
  • Beispiel 48 beinhaltet ein elektromagnetisches Signal, das die Anweisungen des Beispiels 36 und/oder eines oder mehrerer anderer Beispiele hierin führt.
  • Beispiel 49 beinhaltet eine Einrichtung, die Mittel zum Durchführen des Verfahrens der Beispiele 1-17 und/oder eines oder mehrerer anderer Beispiele hierin umfasst.
  • 5. 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 der Ausdruck „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 manchen Ausführungsformen“ verwenden, die sich jeweils auf eine oder mehrere der gleichen oder unterschiedlichen 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, dass zwei oder mehr Elemente einander indirekt kontaktieren, aber dennoch miteinander zusammenwirken oder wechselwirken, und/oder kann bedeuten, dass ein oder mehrere andere Elemente zwischen die Elemente, die als miteinander gekoppelt gelten, gekoppelt oder zwischen diesen verbunden sind. Der Begriff „direkt gekoppelt“ kann bedeuten, dass sich zwei oder mehr Elemente in direktem Kontakt miteinander befinden. Der Begriff „kommunikativ gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente durch ein Kommunikationsmittel, einschließlich über einen Draht oder eine andere Interconnect-Verbindung, über einen Drahtloskommunikationskanal oder -Link und/oder dergleichen, miteinander in Kontakt stehen können.
  • Der Begriff „Herstellen“ oder „Herstellung“ verweist zumindest in manchen 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. Aufdecken einer Vorrichtungsidentität oder Entitätsidentität). Zusätzlich oder alternativ dazu verweist der Begriff „Herstellen“ oder „Herstellung“ zumindest in manchen 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 dazu verweist der Begriff „Herstellen“ oder „Herstellung“ zumindest in manchen Ausführungsformen auf das Initiieren von etwas in einen Zustand der Arbeitsbereitschaft. Der Begriff „hergestellt“ verweist zumindest in manchen 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 manchen Ausführungsformen auf (partielle oder vollständig) 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 eines 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. gepullt werden (z. B. oft als ein Pull-Modell bezeichnet) und/oder dergleichen.
  • Der Begriff „Element“ verweist zumindest in manchen 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 manchen Ausführungsformen auf die Beobachtung und/oder Quantifizierung von Attributen eines Objekts, Ereignisses oder Phänomens. Zusätzlich oder alternativ verweist der Begriff „Messung“ zumindest in einigen Ausführungsformen auf einen Satz von Operationen, die das Ziel des Bestimmens eines gemessenen Werts oder Messergebnisses aufweisen, und/oder die tatsächliche Instanz oder Ausführung von Operationen, die zu einem gemessenen Wert führen.
  • Der Begriff „Metrik“ verweist zumindest in einigen Ausführungsformen auf eine Standarddefinition einer Größe, die in einer Beurteilung der Leistungsfähigkeit und/oder Zuverlässigkeit des Netzwerks erzeugt wird, das einen beabsichtigten Nutzen aufweist und sorgfältig spezifiziert wird, um die genaue Bedeutung eines gemessenen Werts zu vermitteln.
  • Der Begriff „Leistungszahl“ oder „FOM“ bezieht sich zumindest in einigen Ausführungsformen auf eine Größe, die verwendet wird, um die Leistungsfähigkeit und/oder Effektivität einer Vorrichtung, eines Systems oder eines Verfahrens relativ zu ihren/seinen Alternativen zu charakterisieren oder zu messen. Zusätzlich oder alternativ verweist der Begriff „Leistungszahl“ oder „FOM“ zumindest in einigen Ausführungsformen auf eine oder mehrere Charakteristiken, die etwas für einen spezifischen Zweck geeignet machen.
  • Der Begriff „Signal“ verweist zumindest in manchen Ausführungsformen auf eine beobachtbare Änderung einer Qualität und/oder Quantität. Zusätzlich oder alternativ dazu verweist der Begriff „Signal“ zumindest in manchen Ausführungsformen auf eine Funktion, die Informationen über ein Objekt, ein Ereignis oder ein Phänomen vermittelt. Zusätzlich oder alternativ dazu verweist der Begriff „Signal“ zumindest in manchen 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 manchen 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-Vorrichtung“) und „Subjekt“ (wie z. B. „Datensubjekt“) beziehen sich zumindest in einigen Ausführungsformen auf eine Entität, ein Element, eine Vorrichtung, ein System usw., die in Betracht gezogen oder berücksichtigt wird. Die Begriffe „Nachbar“ und „nahe“ (wie in z. B. „nahe Vorrichtung“) verweisen zumindest in einigen Ausführungsformen auf eine Entität, ein Element, eine Vorrichtung, ein System usw., die/das sich von einer Ego-Vorrichtung oder einer Subjektvorrichtung unterscheidet.
  • Der Begriff „Kennung“ verweist zumindest in einigen Ausführungsformen auf einen Wert oder einen Satz von Werten, der eine Identität in einem bestimmten Umfang eindeutig identifiziert. Zusätzlich oder alternativ verweist der Begriff „Kennung“ zumindest in einigen Ausführungsformen auf eine Folge von Zeichen, die die Identität eines eindeutigen Objekts, eines eindeutigen Elements oder einer eindeutigen Entität oder einer eindeutigen Klasse von Objekten, Elementen oder Entitäten identifiziert oder anderweitig angibt. Zusätzlich oder alternativ verweist der Begriff „Kennung“ zumindest in einigen Ausführungsformen auf eine Folge von Zeichen, die verwendet wird, um eine Anwendung, ein Programm, eine Sitzung, ein Objekt, ein Element, eine Entität, eine Variable, einen Satz von Daten und/oder dergleichen zu identifizieren oder auf diese zu verweisen. Die zuvor erwähnte „Folge von Zeichen“ verweist zumindest in einigen Ausführungsformen auf ein oder mehrere Namen, Bezeichnungen, Wörter, Zahlen, Buchstaben, Symbole und/oder eine beliebige Kombination davon. Zusätzlich oder alternativ verweist der Begriff „Kennung“ zumindest in einigen Ausführungsformen auf einen Namen, eine Adresse, eine Bezeichnung, einen Unterscheidungsindex und/oder ein Attribut. Zusätzlich oder alternativ verweist der Begriff „Kennung“ zumindest in einigen Ausführungsformen auf eine Identifizierungsinstanz. Der Begriff „persistente Kennung“ verweist zumindest in einigen Ausführungsformen auf eine Kennung, die von einer Vorrichtung oder von einer anderen Vorrichtung, die mit derselben Person oder Gruppe von Personen assoziiert ist, für einen unbestimmten Zeitraum wiederverwendet wird.
  • Der Begriff „Identifikation“ bezieht sich zumindest in einigen Ausführungsformen auf einen Prozess zum Erkennen einer Identität als von anderen Identitäten in einem bestimmten Umfang oder Kontext distinkt, was Verarbeiten von Kennungen zum Referenzieren einer Identität in einer Identitätsdatenbank beinhalten kann.
  • Der Begriff „lightweight“ oder „lite“ bezieht sich zumindest in einigen Ausführungsformen auf eine Anwendung oder ein Computerprogramm, die/das dazu gestaltet ist, eine relativ kleine Menge an Ressourcen zu verwenden, wie etwa eine relativ kleine Speichergrundfläche, eine geringe Prozessornutzung und/oder eine insgesamt geringe Nutzung von Systemressourcen aufweisend. Der Begriff „Lightweight-Protokoll“ bezieht sich zumindest in einigen Ausführungsformen auf ein Kommunikationsprotokoll, das durch einen relativ kleinen Overhead gekennzeichnet ist. Zusätzlich oder alternativ verweist der Begriff „Lightweight-Protokoll“ zumindest in einigen Ausführungsformen auf ein Protokoll, das die gleichen oder erweiterte Dienste wie ein Standardprotokoll bereitstellt, allerdings schneller als Standardprotokolle funktioniert, eine geringere Gesamtgröße hinsichtlich der Speichergrundfläche aufweist, Datenkomprimierungstechniken zum Verarbeiten und/oder Transferieren von Daten verwendet, Daten, die als nicht wesentlich oder unnötig angesehen werden, verwirft oder eliminiert und/oder andere Mechanismen verwendet, um das Gesamt-Overhead und/oder die Gesamtgrundfläche zu reduzieren.
  • Der Begriff „Schaltungsanordnung“ verweist zumindest in manchen 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), ein feldprogrammierbares Gate-Array (FPGA), eine programmierbare Logiksteuerung (PLC), ein System-on-Chip (SoC), ein System-in-Package (SiP), ein Multi-Chip-Package (MCP), ein Digitalsignalprozessor (DSP) usw., die dazu ausgelegt 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 Spezifikation beschriebenen funktionalen Einheiten oder Fähigkeiten als Komponenten oder Module bezeichnet oder beschriftet worden sein können, um insbesondere ihre Implementierungsunabhängigkeit hervorzuheben. Solche Komponenten können durch eine beliebige Anzahl von Software- oder Hardwareformen umgesetzt werden. Beispielsweise kann eine Komponente oder ein Modul als eine Hardwareschaltung implementiert werden, die angepasste VLSI(Very-Large-Scale-Integration)-Schaltungen oder Gate-Arrays, handelsübliche Halbleiter, wie etwa Logikchips, Transistoren oder andere diskrete Komponenten, umfasst. Eine Komponente oder ein Modul kann auch in programmierbaren Hardwarevorrichtungen implementiert werden, wie etwa feldprogrammierbaren 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 manche 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 hierin 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 werden oder können über verschiedene Orte, einschließlich über verschiedene Speicherungsvorrichtungen, verteilt werden und können zumindest teilweise lediglich als elektronische Signale in einem System oder Netzwerk existieren. Die Komponenten oder Module können passiv oder aktiv sein, einschließlich Agenten, die dazu betreibbar sind, gewünschte Funktionen auszuführen.
  • Der Begriff „Prozessorschaltungsanordnung“ verweist zumindest in manchen 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 manchen 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 manchen 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.
  • Die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ beziehen sich auf ein greifbares Medium, das zum Speichern, Codieren oder Führen von Anweisungen zur Ausführung durch eine Maschine imstande ist und die bewirken, dass die Maschine eine oder mehrere beliebige der Methodiken der vorliegenden Offenbarung durchführt, oder das zum Speichern, Codieren oder Führen von Datenstrukturen imstande ist, die von solchen Anweisungen genutzt werden oder mit diesen assoziiert sind. Ein „maschinenlesbares Medium“ kann somit Solid-State-Speicher und optische und magnetische Medien umfassen, ist jedoch nicht darauf beschränkt. Zu spezifischen Beispielen für maschinenlesbare Medien zählen nichtflüchtiger Speicher, wie zum Beispiel Halbleiterspeichervorrichtungen (z. B. elektrisch programmierbarer Nurlesespeicher (Electrically Programmable Read-Only Memory, EPROM), elektrisch löschbarer programmierbarer Nurlesespeicher (Electrically Erasable Programmable Read-Only Memory, EEPROM)) und Flash-Speichervorrichtungen, Magnetplatten, wie zum Beispiel interne Festplatten und austauschbare Speicherplatten, magnetooptische Speicherplatten und CD-ROM- und DVD-ROM-Speicherplatten. Die durch ein maschinenlesbares Medium verkörperten Anweisungen können ferner über ein Kommunikationsnetzwerk unter Verwendung eines Übertragungsmediums über eine Netzwerkschnittstellenvorrichtung übertragen oder empfangen werden, die ein beliebiges einer Anzahl von Transferprotokollen (z. B. HTTP) nutzt. Ein maschinenlesbares Medium kann durch eine Speicherungsvorrichtung oder eine andere Einrichtung bereitgestellt werden, die dazu in der Lage ist, Daten in einem nichtflüchtigen Format zu hosten. Bei einem Beispiel können auf einem maschinenlesbaren Medium gespeicherte oder anderweitig bereitgestellte Informationen die Anweisungen repräsentieren, wie etwa die 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 die Anweisungen repräsentierenden Informationen im maschinenlesbaren Medium können durch eine Verarbeitungsschaltungsanordnung in die Anweisungen zum Implementieren beliebige der hierin besprochenen Operationen verarbeitet werden. Das Ableiten der Anweisungen aus den Informationen (z. B. Verarbeitung durch die Verarbeitungsschaltungsanordnung) kann beispielsweise beinhalten: Kompilieren (z. B. aus Quellcode, Objektcode usw.), Interpretieren, Laden, Organisieren (z. B. dynamisches oder statisches Verknüpfen), Codieren, Decodieren, Verschlüsseln, Entschlüsseln, Verpacken, Entpacken oder anderweitig Manipulieren der Informationen in die Anweisungen. Bei einem Beispiel kann die Ableitung der Anweisungen Zusammenstellung, Kompilierung oder Interpretation der Informationen (z. B. durch die Verarbeitungsschaltungsanordnung) beinhalten, um die Anweisungen aus einem Zwischenformat oder vorverarbeiteten Format, das durch das maschinenlesbare Medium bereitgestellt wird, zu erzeugen. Wenn die Informationen in mehreren Teilen bereitgestellt werden, können sie kombiniert, entpackt und modifiziert werden, um die Anweisungen zu erzeugen. Die Informationen können sich zum Beispiel in mehreren komprimierten Quellcodepaketen (oder Objektcode oder ausführbarer Binär-Code usw.) auf einem oder mehreren Fernservern 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, selbständige ausführbare Datei usw.) werden und durch die lokale Maschine ausgeführt werden. Die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ können für Zwecke der vorliegenden Offenbarung austauschbar sein. Der Begriff „nichttransitorisches computerlesbares Medium“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Art von Speicher, computerlesbarer Speicherungsvorrichtung und/oder Speicherungsplatte und schließt das Propagieren von Signalen und Übertragungsmedien möglicherweise aus.
  • Der Begriff „Schnittstellenschaltungsanordnung“ verweist zumindest in manchen 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 manchen Ausführungsformen auf eine oder mehrere Hardwareschnittstellen, zum Beispiel Busse, E/A-Schnittstellen, Peripheriekomponentenschnittstellen, Netzwerkschnittstellenkarten und/oder dergleichen.
  • Der Begriff „Vorrichtung“ verweist zumindest in manchen 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 manchen Ausführungsformen auf eine distinkte Komponente einer Architektur oder Vorrichtung, oder Informationen, die als Nutzdaten übertragen werden.
  • Der Begriff „Steuerung“ verweist zumindest in manchen 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 manchen 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. Bei manchen Beispielen kann ein Rechenknoten als eine „Rechenvorrichtung“, ein „Rechensystem“ oder dergleichen bezeichnet werden, sei es im Betrieb als ein Client, ein Server oder eine Zwischenentität. Spezifische 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 manchen 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 manchen Ausführungsformen auf verschiedene Komponenten eines Computers, die kommunikativ miteinander gekoppelt sind. Ferner verweist der Begriff „Computersystem“ und/oder „System“ zumindest in manchen Ausführungsformen auf mehrere Computervorrichtungen und/oder mehrere Rechensysteme, die kommunikativ miteinander gekoppelt und dazu konfiguriert sind, Computing- und/oder Networking-Ressourcen gemeinsam zu nutzen.
  • Der Begriff „Architektur“ verweist zumindest in manchen 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 Rechensystem oder einer Rechenplattform 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 manchen 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 manchen 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ät, 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 zumindest in einigen Ausführungsformen auf eine logische Entität, die eine einzeln adressierbare Instanz einer Medienzugriffssteuerung(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 den Transfer von Protokolldateneinheiten (PDUs) zwischen Peer-Bitübertragungsschicht(PHY)-Entitäten eines drahtlosen lokalen Netzwerks (LAN) zu implementieren.
  • Der Begriff „Netzwerkelement“ verweist zumindest in manchen 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 „SmartNIC“ bezieht sich zumindest in einigen Ausführungsformen auf eine Netzwerkschnittstellensteuerung (NIC), einen Netzwerkadapter oder eine programmierbare Netzwerkadapter-Karte mit programmierbaren Hardwarebeschleunigern und Netzwerkkonnektivität (z. B. Ethernet oder dergleichen), die verschiedene Aufgaben oder Arbeitslasten von anderen Rechenknoten oder Rechenplattformen, wie etwa Servern, Anwendungsprozessoren und/oder dergleichen abladen und diese Aufgaben oder Arbeitslasten beschleunigen kann. Eine SmartNIC weist ähnliche Networking- und Offload-Fähigkeiten wie eine IPU auf, bleibt aber unter der Steuerung des Hosts als eine Peripherievorrichtung.
  • Der Begriff „Infrastrukturverarbeitungseinheit“ oder „IPU“ bezieht sich zumindest in einigen Ausführungsformen auf eine fortschrittliche Networking-Vorrichtung mit gehärteten Beschleunigern und Netzwerkkonnektivität (z. B. Ethernet oder dergleichen), die Infrastrukturfunktionen unter Verwendung eng gekoppelter, dedizierter programmierbarer Kerne beschleunigt und verwaltet. In manchen Implementierungen bietet eine IPU ein vollständiges Infrastruktur-Offload und stellt eine zusätzliche Sicherheitsschicht bereit, indem sie als ein Steuerpunkt eines Hosts zum Ausführen von Infrastrukturanwendungen dient. Eine IPU ist in der Lage, den gesamten Infrastrukturstapel vom Host abzuladen, und kann steuern, wie sich der Host an diese Infrastruktur anschließt. Dies gibt Dienstanbietern eine zusätzliche Schicht an Sicherheit und Steuerung, die in Hardware durch die IPU durchgesetzt wird.
  • Der Begriff „Netzwerkzugangsknoten“ oder „NAN“ verweist zumindest in einigen Ausführungsformen auf ein Netzwerkelement in einem Funkzugangsnetzwerk (RAN), das für die Übertragung und den Empfang von Funksignalen in einer oder mehreren Zellen oder einem oder mehreren Abdeckungsbereichen zu oder von einem UE oder einer Station zuständig ist. Ein „Netzwerkzugangsknoten“ oder „NAN“ kann eine integrierte Antenne aufweisen oder kann durch Zubringerkabel mit einem Antennenarray verbunden sein. Zusätzlich oder alternativ dazu kann ein „Netzwerkzugangsknoten“ oder „NAN“ spezialisierte digitale Signalverarbeitung, Netzwerkfunktionshardware und/oder Rechenhardware beinhalten, um als ein Rechenknoten zu arbeiten. Bei manchen Beispielen kann ein „Netzwerkzugangsknoten“ oder „NAN“ in mehrere Funktionsblöcke aufgeteilt sein, die in Software für Flexibilität, Kosten und Leistungsfähigkeit arbeiten. Bei einigen Beispielen kann ein „Netzwerkzugangsknoten“ oder „NAN“ eine Basisstation (z. B. eine evolved Node B (eNB) oder eine Node B der nächsten Generation (gNB)), ein Zugangspunkt und/oder ein drahtloser Netzwerkzugangspunkt, ein Router, ein Switch, ein Hub, eine Funkeinheit oder ein entfernter Funkkopf, ein Übertragungsempfangspunkt (TRxP), eine Gateway-Vorrichtung (z. B. ein Residential Gateway, Wireline-5G-Zugangsnetzwerk, Wireline-5G-Kabelzugangsnetzwerk, Wireline-BBF-Zugangsnetzwerk und dergleichen), ein Netzwerkgerät und/oder irgendeine andere Netzwerkzugangshardware sein.
  • Der Begriff „Zugangspunkt“ oder „AP“ verweist zumindest 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 Verteilungssystemzugangsfunktion (DSAF).
  • Der Begriff „Edge-Computing“ umfasst viele Implementierungen von verteiltem Computing, die Verarbeitungsaktivitäten und -ressourcen (z. B. Berechnungs-, Speicherungs-, 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-artigen Diensten, Funktionen, Anwendungen und Untersystemen von einem oder mehreren Orten, auf die über drahtlose Netzwerke zugegriffen werden kann. Somit sind die Verweise auf ein „Edge“ eines Netzwerks, eines Clusters, einer Domäne, eines Systems oder einer Rechenanordnung, die hierin 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 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-artigen Diensten hosten.
  • Der Begriff „Cloud-Computing“ oder „Cloud“ bezieht sich zumindest in einigen Ausführungsformen auf ein Paradigma zum Ermöglichen von Netzwerkzugang 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 die Verwendung solcher Komponenten mit eingeschränkter Verfügbarkeit innerhalb eines Computersystems oder Netzwerks. Beispiele für Rechenressourcen beinhalten Nutzung/Zugriff auf, für einen Zeitraum, Server, Prozessor(en), Speicherungsausrüstung, Speichervorrichtungen, Speicherbereiche, Netzwerke, elektrische Leistung, Eingabe/Ausgabe-(Peripherie)Vorrichtungen, mechanische Vorrichtungen, Netzwerkverbindungen (z. B. Kanäle/Links, Ports, Netzwerk-Sockets usw.), OSs, virtuelle Maschinen (VMs), Software/Anwendungen, Computerdateien und/oder dergleichen. 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“ verweist 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 kohärenter Funktionen, Netzwerkdatenobjekte oder Dienste angesehen werden, auf die durch einen Server zugegriffen werden kann, wobei sich solche Systemressourcen auf einem einzigen Host oder mehreren Hosts befinden und eindeutig identifizierbar sind.
  • 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 eines gegebenen Zeitraums oder zu einem bestimmten Zeitpunkt ausgeführt werden), eine E/A-Arbeitslast (z. B. eine Anzahl an Ein- und Ausgaben oder Systemzugriffen während eines gegebenen Zeitraums oder zu einem bestimmten Zeitpunkt), Datenbankarbeitslasten (z. B. eine Anzahl an Datenbankabfragen während eines Zeitraums), 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 Arbeitslastcharakteristiken zu bestimmen, die auf einem beliebigen der zuvor genannten Arbeitslasttypen basieren können.
  • Der Begriff „Cloud-Dienstanbieter“ oder „CSP“ bezieht sich zumindest in einigen Ausführungsformen auf eine Organisation, die typischerweise große „Cloud“-Ressourcen betreibt, die aus zentralisierten, regionalen und Edge-Datenzentren (z. B. wie im Kontext der öffentlichen Cloud verwendet) bestehen. Verweise auf „Cloud-Computing“ beziehen sich im Allgemeinen auf Rechenressourcen und -dienste, die von einem CSP an entfernten Standorten mit zumindest etwas erhöhter Latenz, Entfernung oder Beschränkung im Vergleich zum Edge-Computing angeboten werden.
  • Der Begriff „Cloud-Speicherung“ bezieht sich zumindest in einigen Ausführungsformen auf ein Modell von Computerdatenspeicherung, in dem Daten in logischen Pools gespeichert werden, die als die „Cloud“ bezeichnet werden. Zusätzlich oder alternativ verweist der Begriff „Cloud-Speicherung“ zumindest in einigen Ausführungsformen auf Datenspeicherungsdienste, die von einem Cloud-Computing-Dienst oder CSP bereitgestellt werden oder anderweitig über diesen zugänglich sind.
  • 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 „Netzwerkfünktion“ oder „NF“ bezieht sich zumindest in einigen Ausführungsformen auf einen Funktionsblock innerhalb einer Netzwerkinfrastruktur, der eine oder mehrere externe Schnittstellen und ein definiertes Funktionsverhalten aufweist. Der Begriff „Netzwerkdienst“ oder „NS“ bezieht sich zumindest in einigen Ausführungsformen auf eine Zusammensetzung von Netzwerkfunktion(en) und/oder Netzwerkdienst(en), die durch ihre Funktions- und Verhaltensspezifikation(en) definiert sind.
  • Der Begriff „Netzwerkfünktionsvirtualisierung“ oder „NFV“ verweist zumindest in einigen Ausführungsformen auf das Prinzip des Trennens von Netzwerkfunktionen von der Hardware, auf der sie ausgeführt werden, durch Verwenden von Virtualisierungstechniken und/oder Virtualisierungstechnologien. Der Begriff „virtualisierte Netzwerkfunktion“ oder „VNF“ verweist zumindest in einigen Ausführungsformen auf eine Implementierung einer NF, die auf einer Netzwerkfunktionsvirtualisierungsinfrastruktur (NFVI) eingesetzt werden kann. Der Begriff „Netzwerkfünktionsvirtualisierungsinfrastrukturmanager“ oder „NFVI“ verweist zumindest in einigen Ausführungsformen auf eine Gesamtheit aller Hardware- und Softwarekomponenten, die die Umgebung aufbauen, in der VNFs eingesetzt werden. Der Begriff „virtualisierter Infrastrukturmanager“ oder „VIM“ verweist zumindest in einigen Ausführungsformen auf einen Funktionsblock, der für die Steuerung und Verwaltung der NFVI-Rechen-, -Speicherungs- und -Netzwerkressourcen zuständig ist, üblicherweise innerhalb der Infrastrukturdomäne eines Betreibers.
  • Der Begriff „Virtualisierungscontainer“ oder „Container“ verweist zumindest in einigen Ausführungsformen auf eine Partition eines Rechenknotens, die eine isolierte virtualisierte Rechenumgebung bereitstellt. Der Begriff „OS-Container“ verweist zumindest in einigen Ausführungsformen auf einen Virtualisierungscontainer, der einen gemeinsam genutzten Betriebssystem-Kernel (OS-Kernel) seines Hosts nutzt, wobei der Host, der den gemeinsam genutzten OS-Kernel bereitstellt, ein physischer Rechenknoten oder ein anderer Virtualisierungscontainer sein kann.
  • Der Begriff „virtuelle Maschine“ oder „VM“ verweist zumindest in einigen Ausführungsformen auf eine virtualisierte Rechenumgebung, die sich auf eine gleiche oder ähnliche Weise wie ein physischer Computer und/oder ein Server verhält. Der Begriff „Hypervisor“ bezieht sich zumindest in einigen Ausführungsformen auf ein Softwareelement, das die zugrundeliegenden physischen Ressourcen eines Rechenknotens partitioniert, VMs erzeugt, Ressourcen für VMs verwaltet und einzelne VMs voneinander isoliert
  • Der Begriff „Edge-Rechenknoten“ oder „Edge-Rechenvorrichtung“ verweist zumindest in 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 manchen Beispielen kann ein Rechenknoten als ein „Edge-Knoten“, eine „Edge-Vorrichtung“, ein „Edge-System“ bezeichnet werden, ob er nun als ein Client, ein Server oder eine Zwischenentität in Betrieb ist. Zusätzlich oder alternativ verweist der Begriff „Edge-Rechenknoten“ zumindest in einigen Ausführungsformen auf eine reale, logische oder virtualisierte Implementierung eines rechenfähigen Elements in der Form einer Vorrichtung, eines Gateways, einer Bridge, eines Systems oder eines Untersystems, einer Komponente, egal ob es in einem Server-, Client-, Endpunkt- oder Peer-Modus arbeitet, und ob es sich an einem „Edge“ 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 „Untersystem“ austauschbar; Bezugnahmen auf ein „Edge-Computing-System“ 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-Computing-Umgebung zu erreichen oder anzubieten.
  • 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 für ein spezifisches DNN bereitstellt und dessen Verfügbarkeit dem UE bereitgestellt wird.
  • Der Begriff „Internet der Dinge“ oder „IoT“ 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 KI, 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 Übertragen und/oder Empfangen elektromagnetischer Strahlung zum Informationstransfer.
  • 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 Paketisieren/Entpaketisieren von Daten, Modulieren/Demodulieren von Signalen, Implementieren von Protokollstapeln und/oder dergleichen.
  • Der Begriff „Anwendungsschicht“ verweist zumindest in einigen Ausführungsformen auf eine Abstraktionsschicht, die gemeinsam genutzte Kommunikationsprotokolle und -schnittstellen spezifiziert, die von Hosts in einem Kommunikationsnetzwerk verwendet werden. Zusätzlich oder alternativ verweist der Begriff „Anwendungsschicht“ zumindest in einigen Ausführungsformen auf eine Abstraktionsschicht, die mit Softwareanwendungen interagiert, die eine Kommunikationskomponente implementieren, und kann Identifizieren von Kommunikationspartnern, Bestimmen von Ressourcenverfügbarkeit und Synchronisieren der Kommunikation beinhalten. Beispiele für Anwendungsschichtprotokolle beinhalten HTTP, HTTPs, FTP (File Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), IMAP (Internet Message Access Protocol), LDAP (Lightweight Directory Access Protocol), MQTT, RADIUS (Authentication Dial-In User Service), Diameter-Protokoll, EAP (Extensible Authentication Protocol), RoCEv2 (RDMA over Converged Ethernet version 2), RTP (Real-time Transport Protocol), RTCP (RTP Control Protocol), RTSP (Real Time Streaming Protocol), SCCP (Skinny Client Control Protocol), SIP (Session Initiation Protocol), SDP (Session Description Protocol), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), SSDP (Simple Service Discovery Protocol), SCSI (Small Computer System Interface), Internet-SCSI (iSCSI), iSER (iSCSI Extensions for RDMA), TLS (Transport Layer Security), VoIP (Voice over IP), VPN (Virtual Private Network), XMPP (Extensible Messaging and Presence Protocol), ITU-T (Telecommunication Standardization Sector of the International Telecommunication Union) X.500 (oder ISO/IEC 9594) und/oder dergleichen.
  • Der Begriff „Sitzungsschicht“ bezieht sich zumindest in einigen Ausführungsformen auf eine Abstraktionsschicht, die Dialoge und/oder Verbindungen zwischen Entitäten oder Elementen steuert, und kann Herstellen, Verwalten und Beenden der Verbindungen zwischen den Entitäten oder Elementen beinhalten.
  • Der Begriff „Transportschicht“ verweist zumindest in einigen Ausführungsformen auf eine Protokollschicht, die e2e-Kommunikationsdienste bereitstellt, wie etwa zum Beispiel verbindungsorientierte Kommunikation, Zuverlässigkeit, Flusssteuerung und Multiplexing. Beispiele für Transportschichtprotokolle beinhalten DCCP (Datagram Congestion Control Protocol), FBC (Fibre Channel Protocol), GRE (Generic Routing Encapsulation), GTP (GPRS-Tunneling), µTP (Micro Transport Protocol), MPTCP (Multipath TCP), MPQUIC (Multipath QUIC), MPUDP (Multipath UDP), QUIC (Quick UDP Internet Connections), RDMA (Remote Direct Memory Access), RSVP (Resource Reservation Protocol), SCTP (Stream Control Transmission Protocol), TCP (Transmission Control Protocol), UDP (User Datagram Protocol) und/oder dergleichen.
  • Der Begriff „Netzwerkschicht“ verweist zumindest in einigen Ausführungsformen auf eine Protokollschicht, die Mittel zum Transferieren von Netzwerkpaketen von einer Quelle zu einem Ziel über ein oder mehrere Netzwerke beinhaltet. Zusätzlich oder alternativ verweist der Begriff „Netzwerkschicht“ zumindest in einigen Ausführungsformen auf eine Protokollschicht, die für Paketweiterleitung und/oder -routing durch Zwischenknoten verantwortlich ist. Zusätzlich oder alternativ verweist der Begriff „Netzwerkschicht“ oder „Internetschicht“ zumindest in einigen Ausführungsformen auf eine Protokollschicht, die Zusammenarbeitsverfahren, -protokolle und -spezifikationen beinhaltet, die zum Transportieren von Netzwerkpaketen über ein Netzwerk verwendet werden. Als Beispiele beinhalten die Netzwerkschichtprotokolle IP (Internetprotokoll), Ipsec (IP security), ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol), OSPF (Open Shortest Path First Protocol), RIP (Routing Information Protocol), RoCEv2 (RDMA over Converged Ethernet version 2), SNAP (Subnetwork Access Protocol) und/oder irgendeine andere Internet- oder Netzwerkprotokollschicht.
  • Der Begriff „Sicherungsschicht“ oder „Datensicherungsschicht“ verweist zumindest in einigen Ausführungsformen auf eine Protokollschicht, die Daten zwischen Knoten auf einem Netzwerksegment über eine Bitübertragungsschicht transferiert. Beispiele für Sicherungsschichtprotokolle beinhalten LLC (Logical Link Control), MAC (Medienzugangssteuerung), Ethernet, RoCEv1 (RDMA over Converged Ethernet version 1) und/oder dergleichen.
  • Der Begriff „Medienzugangssteuerungsprotokoll“, „MAC-Protokoll“ oder „MAC“ verweist zumindest in einigen Ausführungsformen auf ein Protokoll, das den Zugriff auf das Übertragungsmedium in einem Netzwerk regelt, um den Austausch von Daten zwischen Stationen in einem Netzwerk zu ermöglichen. Zusätzlich oder alternativ verweist der Begriff „Medienzugangssteuerungsschicht“, „MAC-Schicht“ oder „MAC“ zumindest in einigen Ausführungsformen auf eine Protokollschicht oder Teilschicht, die Funktionen durchführt, um Frame-basierten Datentransfer im verbindungslosen Modus (z. B. Datagramm-Typ) zwischen Stationen oder Vorrichtungen bereitzustellen. Zusätzlich oder alternativ verweist der Begriff „Medienzugangssteuerungsschicht“, „MAC-Schicht“ oder „MAC“ zumindest in einigen Ausführungsformen auf eine Protokollschicht oder Teilschicht, die durchführt: Abbildung zwischen logischen Kanälen und Transportkanälen; Multiplexing/Demultiplexing von MAC-SDUs, die zu einem oder unterschiedlichen logischen Kanälen gehören, in/von Transportblöcken (TB), die zu/von der Bitübertragungsschicht auf Transportkanälen geliefert werden; Planung von Informationsmeldung; Fehlerkorrektur durch HARQ (eine HARQ-Entität pro Zelle im Fall von CA); Prioritätsbehandlung zwischen UEs mittels dynamischer Planung; Prioritätsbehandlung zwischen logischen Kanälen eines UE mittels logischer Kanalpriorisierung; Prioritätsbehandlung zwischen überlappenden Ressourcen eines UE; und/oder Auffüllung (siehe z. B. [IEEE802], 3GPP TS 38.321 v16.7.0 (23-12-2021) und 3GPP TS 36.321 v16.6.0 (27-09-2021) (kollektiv als „[TSMAC]“ bezeichnet)).
  • Der Begriff „Bitübertragungsschicht“, „PHY-Schicht“ oder „PHY“ bezieht sich zumindest in einigen Ausführungsformen auf eine Protokollschicht oder Teilschicht, die Fähigkeiten zum Übertragen und Empfangen modulierter Signale zur Kommunikation in einem Kommunikationsnetzwerk beinhaltet (siehe z. B. [IEEE802], 3GPP TS 38.201 v16.0.0 (11-01-2020) und 3GPP TS 36.201 v16.0.0 (14-07-2020)).
  • Der Begriff „RAT-Typ“ kann zumindest in einigen Ausführungsformen eine Übertragungstechnologie und/oder ein Kommunikationsprotokoll identifizieren, die in einem Zugangsnetzwerk verwendet werden, zum Beispiel New Radio (NR), Long Term Evolution (LTE), Schmalband-IoT (NB-IOT), nicht vertrauenswürdiges Nicht-3GPP, vertrauenswürdiges Nicht-3GPP, vertrauenswürdiges Institute of Electrical and Electronics Engineers (IEEE) 802 (z. B. [IEEE80211]; siehe auch IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture, IEEE Standard 802-2014, S. 1-74 (30. Juni 2014) („[IEEE802]“), dessen Inhalt hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird), Nicht-3GPP-Zugang, MuLTEfire, WiMAX, Wireline, Wireline-Kabel, Wireline-Breitbandforum (Wireline-BBF) und dergleichen. Beispiele für RATs und/oder Drahtloskommunikationsprotokolle beinhalten AMPS(Advanced Mobile Phone System)-Technologien, wie etwa D-AMPS (Digital AMPS), TACS (Total Access Communication System) (und Varianten davon, wie etwa ETACS (Extended TACS) usw.); GSM(Global System for Mobile Communications)-Technologien, wie etwa CSD (Circuit Switched Data), HSCSD (High-Speed CSD), GPRS (General Packet Radio Service) und EDGE (Enhanced Data Rates for GSM Evolution); 3GPP(Third Generation Partnership Project)-Technologien, einschließlich zum Beispiel UMTS (Universal Mobile Telecommunications System) (und Varianten davon, wie etwa UTRA (UMTS Terrestrial Radio Access), W-CDMA (Wideband Code Division Multiple Access), FOMA (Freedom of Multimedia Access), TD-CDMA (Time Division-Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access) usw.), GAN (Generic Access Network) / UMA (Unlicensed Mobile Access), HSPA (High Speed Packet Access) (und Varianten davon, wie etwa HSPA Plus (HSPA+) usw.), LTE (Long Term Evolution) (und Varianten davon, wie etwa LTE-A (LTE-Advanced), E-UTRA (Evolved UTRA), LTE Extra, LTE-A Pro, LTE-LAA, MuLTEfire usw.), Fünftgeneration (5G) oder New Radio (NR) usw.; ETSI-Technologien, wie etwa HiperMAN (High Performance Radio Metropolitan Area Network) und dergleichen; IEEE-Technologien, wie etwa [IEEE802] und/oder WiFi (z. B. [IEEE80211] und Varianten davon), WiMAX (Worldwide Interoperability for Microwave Access) (z. B. [WiMAX] und Varianten davon), MBWA (Mobile Broadband Wireless Access)/iBurst (z. B. IEEE 802.20 und Varianten davon) usw.; iDEN (Integrated Digital Enhanced Network) (und Varianten davon, wie etwa WiDEN (Wideband Integrated Digital Enhanced Network); Millimeterwellen(mmWave)-Technologien/-Standards (z. B. Drahtlossysteme, die bei 10-300 GHz und darüber arbeiten, wie etwa 3GPP-5G, WiGig(Wireless Gigabit Alliance)-Standards (z. B. IEEE 802.11ad, IEEE 802.11ay und dergleichen); Kurzstrecken- und/oder WPAN(Wireless Personal Area Network)-Technologien/-Standards, wie etwa Bluetooth (und Varianten davon, wie etwa Bluetooth 5.3, Bluetooth Low Energy (BLE) usw.), IEEE 802.15-Technologien/-Standards (z. B. IEEE-Standard für Drahtlosnetzwerke mit niedriger Rate, IEEE Standard 802.15.4-2020, S. 1-800 (23. Juli 2020) („[IEEE802154]“), ZigBee, Thread, 6LoWPAN (IPv6 over Low power WPAN), WirelessHART, MiWi, ISA100. 1 1a, IEEE Standard for Local and metropolitan area networks - Part 15.6: Wireless Body Area Networks, IEEE Standard 802.15.6-2012, S. 1-271 (29. Februar 2012), WiFi-direct, ANT/ANT+, Z-Wave, 3GPP ProSe (Proximity Services), UPnP (Universal Plug and Play), LPWANs (Low Power Wide Area Networks), LoRa oder LoRaWAN™ (Long Range Wide Area Network) und dergleichen; Technologien/Standards für optische und/oder sichtbare Kommunikation (VLC), wie etwa IEEE Standard for Local and metropolitan area networks - Part 15.7: Short-Range Optical Wireless Communications, IEEE Standard 802.15.7-2018, S. 1 - 407 (23. April 2019) und dergleichen; V2X-Kommunikation einschließlich 3GPP Cellular-V2X (C-V2X), WAVE (Wireless Access in Vehicular Environments) (Standard for Information technology-- Local and metropolitan area networks - Standard for Information technology-- Local and metropolitan area networks - Part 11: Standard for Information technology-- Local and metropolitan area networks, Amendment 6: Wireless Access in Vehicular Environments, IEEE Standard 802.11p-2010, S. 1 - 51 (15. Juli 2010) („[IEEE80211p]“), der jetzt Teil von [IEEE80211] ist), IEEE 802.11bd (z. B. für Fahrzeug-Ad-hoc-Umgebungen), DSRC (Dedicated Short Range Communications), ITS (Intelligent-Transport-Systems) (einschließlich der europäischen ITS-G5, ITS-G5B, ITS-G5C usw.); Sigfox; Mobitex; 3GPP2-Technologien, wie etwa cdmaOne (2G), CDMA 2000 (Code Division Multiple Access 2000) und EV-DO (Evolution-Data Optimized oder Evolution-Data Only); PTT (Push-to-Talk), MTS (Mobile Telephone System) (und Varianten davon, wie etwa IMTS (Improved MTS), AMTS (Advanced MTS) usw.); PDC (Personal Digital Cellular); PHS (Personal Handy-phone System), CDPD (Cellular Digital Packet Data); CDPD (Cellular Digital Packet Data); DataTAC; DECT (Digital Enhanced Cordless Telecommunications) (und Varianten davon, wie etwa DECT-ULE (DECT Ultra Low Energy), DECT-2020, DECT-5G usw.); UHF(Dezimeterwellen)-Kommunikation; VHF(Ultrakurzwellen)-Kommunikation; und/oder eine beliebige andere geeignete RAT oder ein beliebiges anderes geeignetes Protokoll. Zusätzlich zu den oben erwähnten RATs/Standards kann eine beliebige Anzahl an Satelliten-Uplink-Technologien für Zwecke der vorliegenden Offenbarung verwendet werden, einschließlich zum Beispiel Funkgeräte, die unter anderem mit Standards konform sind, die von der International Telecommunication Union (ITU) oder der ETSI publiziert werden. Die hierin bereitgestellten Beispiele werden somit als auf verschiedene andere Kommunikationstechnologien anwendbar verstanden, sowohl existierende als auch noch nicht formulierte.
  • Der Begriff „Kanal“ verweist zumindest in einigen Ausführungsformen auf ein beliebiges Übertragungsmedium, entweder greifbar oder nicht greifbar, das verwendet wird, um Daten oder einen Datenstream zu kommunizieren. Der Begriff „Kanal“ kann synonym mit und/oder äquivalent zu „Kommunikationskanal“, „Datenkommunikationskanal“, „Übertragungskanal“, „Datenübertragungskanal“, „Zugangskanal“, „Datenzugangskanal“, „Link“, „Datenlink“, „Träger“, „Hochfrequenzträ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 (z. B. 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“) bezieht sich zumindest in einigen Ausführungsformen auf die Fähigkeit eines Netzwerks, Kommunikationen auszuführen. 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 Standpunkt oberer Schicht kann ein Fluss alle Pakete in einer spezifischen 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“, „Datenfluss“, „Paketfluss“, „Netzwerkfluss“ und/oder „Fluss“ austauschbar verwendet werden, wenngleich sich diese Begriffe zumindest in einigen Ausführungsformen auf unterschiedliche Konzepte beziehen.
  • Der Begriff „Datenfluss“ bezieht sich zumindest in einigen Ausführungsformen auf die Bewegung von Daten durch ein System, das Softwareelemente, Hardwareelemente oder eine Kombination von sowohl Software- als auch Hardwareelementen aufweist. Zusätzlich oder alternativ verweist der Begriff „Datenfluss“ zumindest in einigen Ausführungsformen auf einen Pfad, der von einem Satz von Daten von einem Ursprung oder einer Quelle zu einem Ziel genommen wird, der alle Knoten einschließt, durch die der Satz von Daten läuft.
  • Der Begriff „Stream“ verweist zumindest in einigen Ausführungsformen auf eine Sequenz von Datenelementen, die mit der Zeit zur Verfügung gestellt werden. Funktionen, die an einem Stream arbeiten, der einen anderen Stream erzeugen kann, werden zumindest in einigen Ausführungsformen als „Filter“ bezeichnet und können analog zur Funktionszusammensetzung in Pipelines verbunden sein; Filter können jeweils an einem Element eines Streams arbeiten oder können ein Ausgabeelement auf mehreren Eingabeelementen basieren, wie etwa einem gleitenden Mittelwert. Zusätzlich oder alternativ verweist der Begriff „Stream“ oder „Streaming“ zumindest in einigen Ausführungsformen auf eine Art der Verarbeitung, bei der ein Objekt nicht durch eine vollständige logische Datenstruktur von Knoten repräsentiert wird, die Speicher proportional zu einer Größe dieses Objekts belegen, aber „on the fly“ als eine Sequenz von Ereignissen verarbeitet werden.
  • Der Begriff „verteiltes Computing“ 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 erstellt 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 Stils 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 „Netzwerkdienst“ bezieht sich zumindest in einigen Ausführungsformen auf eine Zusammensetzung von Netzwerkfunktion(en) und/oder Netzwerkdienst(en), die durch ihre Funktions- und Verhaltensspezifikation definiert sind.
  • 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 manchen 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 Leistungsfähigkeitsniveau zu garantieren. In beiden Fällen ist QoS durch die kombinierten Aspekte von Leistungsfähigkeitsfaktoren gekennzeichnet, die auf einen oder mehrere Dienste anwendbar sind, wie beispielsweise Dienstoperabilitätsleistungsfähigkeit, Dienstzugänglichkeitsleistungfähigkeit, Dienstbeibehaltungsfähigkeitsleistungsfähigkeit, Dienstzuverlässigkeitsleistungsfähigkeit, Dienstintegritätsleistungsfähigkeit 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 andere 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 „Weiterleitungsbehandlung“ bezieht sich zumindest in einigen Ausführungsformen auf den Vorrang, Präferenzen und/oder die 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 einen oder mehrere Parameter, eine oder mehrere Charakteristiken und/oder eine oder mehrere 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 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; Sicherungsschichtprotokoll und/oder RLC-Konfiguration; Zulassungsschwellen usw. In einigen Implementierungen kann der Begriff „Weiterleitungsbehandlung“ als „Pro-Sprung-Verhalten“ oder „PHB“ bezeichnet werden.
  • Der Begriff „Best-Effort-Lieferung“ oder „Best-Effort“ bezieht sich zumindest in einigen Ausführungsformen auf einen Netzwerkdienst oder eine Weiterleitungsbehandlung, bei dem/der es keine Garantie gibt, dass Daten (oder einzelne Pakete) geliefert werden oder dass die Daten-/Paketlieferung eine bestimmte QoS- oder CoS-Behandlung erfüllen. Unter Best-Effort hängen Netzwerkleistungsfähigkeitscharakteristiken (z. B. Netzwerkverzögerung, Paketverlust, Latenz und dergleichen) von der aktuellen Netzwerkverkehrslast und/oder der Netzwerkhardwarekapazität ab, sodass die Wahrscheinlichkeit einer Paketverzögerungsvariation, einer Netzwerkverzögerung, eines Paketverlusts, einer Neuübertragung, eines Timeouts, einer Sitzungstrennung und dergleichen mit zunehmender Netzwerklast zunimmt.
  • Der Begriff „Echtzeit“ verweist zumindest in einigen Ausführungsformen auf verschiedene Operationen beim Computing und/oder in anderen Prozessen, die Antwortzeiten innerhalb einer spezifizierten Zeit (z. B. einer Frist), üblicherweise eine relativ kurze Zeit, garantieren. Der Begriff „Echtzeit“ bezieht sich zumindest in einigen Ausführungsformen auf Hardware- und Softwaresysteme, die einer spezifizierten Zeitbeschränkung unterliegen.
  • 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“, „Tail“ 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 „Lebensdauer“ (oder „TTL“) oder „Sprunggrenze“ 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 „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 führt.
  • Der Begriff „Kanalcodierung“ verweist zumindest in einigen Ausführungsformen auf Prozesse und/oder Techniken, um Redundanz zu Nachrichten oder Paketen hinzuzufügen, um diese Nachrichten oder Pakete robuster gegenüber Rauschen, Kanalstörung, begrenzter Kanalbandbreite und/oder anderen Fehlern zu machen. Für Zwecke der vorliegenden Offenbarung kann der Begriff „Kanalcodierung“ austauschbar mit den Begriffen „Vorwärtsfehlerkorrektur“ oder „FEC“; „Fehlerkorrekturcodierung“, „Fehlerkorrekturcode“ oder „ECC“; und/oder „Netzwerkcodierung“ oder „NC“ 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 Datenstreams oder Datenflusses, der nützlich oder nicht redundant ist (z. B. für eine Coderate von k/n erzeugt der Codierer (Encoder) 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 „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 „PDU-Konnektivitätsdienst“ 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“ bezieht sich zumindest in einigen Ausführungsformen auf eine Assoziation zwischen einem UE und einem DN, die einen PDU-Konnektivitätsdienst bereitstellt (siehe z. B. 3GPP TS 38.415 v16.6.0 (23-12-2021) („[TS38415]“) und 3GPP TS 38.413 v16.8.0 (23-12-2021) („[TS38413]“), deren Inhalte jeweils hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden); ein PDU-Sitzungstyp kann IPv4, IPv6, IPv4v6, Ethernet, unstrukturiert, oder einen beliebigen anderen Netzwerk-/Verbindungstyp sein, wie etwa die hierin erörterten. Der Begriff „PDU-Sitzungsressource“ bezieht sich zumindest in einigen Ausführungsformen auf eine NG-RAN-Schnittstelle (z. B. NG-, Xn- und/oder E1-Schnittstellen) und Funkressourcen, die bereitgestellt werden, um eine PDU-Sitzung zu unterstützen. Der Begriff „Mehrfachzugriffs-PDU-Sitzung“ oder „MA-PDU-Sitzung“ bezieht sich zumindest in einigen Ausführungsformen auf eine PDU-Sitzung, die einen PDU-Konnektivitätsdienst bereitstellt, der jeweils ein Zugangsnetzwerk oder mehrere Zugangsnetzwerke gleichzeitig verwenden kann.
  • Der Begriff „Verkehrsformung“ 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. Die Verkehrsformung stellt eine ausreichende Netzwerkbandbreite für zeitempfindliche kritische Anwendungen unter Verwendung von Richtlinienregeln, Datenklassifizierung, Warteschlangen, QoS und anderen Techniken sicher. Der Begriff „Drosselung“ 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 transferiert. 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 laufenden Datenflusses von mindestens einem Zugangsnetzwerk zu mindestens 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 mindestens eines Datenflusses über mehrere Zugangsnetzwerke aufteilt. Wenn eine Verkehrsaufteilung auf einen Datenfluss angewendet wird, wird ein Teil des Verkehrs des Datenflusses über mindestens einen Zugangskanal, -link oder -pfad transferiert, und ein anderer Teil des Verkehrs desselben Datenflusses wird über einen anderen Zugangskanal, -link oder -pfad transferiert.
  • 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 CAG-ID (Closed Access Group Identifier), BD_ADDR (Bluetooth hardware device address), eine zellulare Netzwerkadresse (z. B. Zugangspunktname (APN), AMF-Kennung (ID), AF-Dienst-Kennung, EAS (Edge Application Server)-ID, DNAI (Data Network Access Identifier), DNN (Data Network Name), EBI (EPS Bearer Identity), EIR (Equipment Identity Register) und/oder 5G-EIR, EUI (Extended Unique Identifier), GIN (Group ID for Network Selection), GPSI (Generic Public Subscription Identifier), GUAMI (Globally Unique AMF Identifier), GUTI (Globally Unique Temporary Identifier) und/oder 5G-GUTI, RNTI (Radio Network Temporary Identifier), IMEI (International Mobile Equipment Identity), IMEA/TAC (IMEI Type Allocation Code), IMSI (International Mobile Subscriber Identity), IMSISV (IMSI software version), PEI (Permanent Equipment Identifier), LADN(Local Area Data Network)-DNN, MSIN (Mobile Subscriber Identification Number), MSISDN (Mobile Subscriber/Station ISDN Number), NID (Network identifier), NSI(Network Slice Instance)-ID, PEI (Permanent Equipment Identifier), PLMN(Public Land Mobile Network)-ID, QFI (QoS Flow ID) und/oder 5QI (5G QoS Identifier), RAN-ID, Routing-Indikator, SMS-Funktion(SMSF)-ID, SNPN( Stand-alone Non-Public Network)-ID, SUCI (Subscription Concealed Identifier), SUPI (Subscription Permanent Identifier), TMSI (Temporary Mobile Subscriber Identity) und Varianten davon, UE-Zugangskategorie und -Identität und/oder andere zellulare netzwerkbezogene Kennungen), eine E-Mail-Adresse, EAS(Enterprise Application Server)-ID, eine Endpunktadresse, einen EPC (Electronic Produkt Code), wie durch den EPCglobal Tag Data Standard definiert, einen FQDN (Fully Qualified Domain Name), eine Internetprotokoll(IP)-Adresse in einem IP-Netzwerk (z. B. IP-Version 4 (IPv4), IP-Version 6 (IPv6) usw.), eine Internetpaketaustausch(IPX)-Adresse, LAN(Local Area Network)-ID, eine Medienzugangssteuerung(MAC)-Adresse, PAN(Personal Area Network)-ID, eine Portnummer (z. B. TCP(Transmission Control Protocol)-Portnummer, UDP(User Datagram Protocol)-Portnummer), QUIC-Verbindungs-ID, RFID-Tag, SSID (service set identifier) und Varianten davon, Telefonnummern in einem öffentlichen Telefonnetzwerk (PTSN), einer Socket-Adresse, UUID (Universally Unique Identifier) (z. B. wie in ISO/IEC 11578:1996 spezifiziert), URL (Universal Resource Locator) und/oder URI (Universal Resource Identifier), VLAN(Virtual LAN)-ID, eine X.21-Adresse, eine X.25-Adresse, ZigBee®-ID, ZigBee®-Device-Network-ID, und/oder eine beliebige andere geeignete Netzwerkadresse und Komponenten davon.
  • Der Begriff „Anwendungskennung“, „Anwendungs-ID“ oder „App-ID“ verweist zumindest in einigen Ausführungsformen auf eine Kennung, die auf eine spezifische Anwendung oder Anwendungsinstanz abgebildet werden kann; im Kontext von 3GPP-5G/NR-Systemen verweist eine „Anwendungskennung“ zumindest in einigen Ausführungsformen auf eine Kennung, die auf eine spezifische Anwendungsverkehrsdetektionsregel abgebildet 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 spezifischen Netzwerk, einem spezifischen Zugangsnetzwerk zu verbinden und/oder darauf zuzugreifen und/oder eine Anbindung an eine spezifische Zelle oder einen spezifischen 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 spezifischen Prozess oder Dienst assoziiert.
  • Der Begriff „Bitübertragungsrate/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übertragungsrate/physische Rate“ oder „PHY-Rate“ zumindest in einigen Ausführungsformen auf eine Geschwindigkeit, mit der sich Daten über einen drahtlosen Link zwischen einem Sender und einem Empfänger bewegen können.
  • 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 „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 „Pro-Paket-Verzögerung“ zumindest in einigen Ausführungsformen auf die Differenz zwischen einer Paketempfangszeit und einer Paketübertragungszeit. Zusätzlich oder alternativ kann die „Paketverzögerung“ oder „Pro-Paket-Verzögerung“ gemessen werden, indem die Paketsendezeit von der Paketempfangszeit subtrahiert wird, wobei der Sender und der Empfänger zumindest zu einem gewissen Grad synchronisiert sind.
  • 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 „Ü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 „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 „Netzwerkverzögerung“ verweist zumindest in einigen Ausführungsformen auf die Verzögerung einer Dateneinheit innerhalb eines Netzwerks (z. B. eines IP-Pakets innerhalb eines IP-Netzwerks).
  • Der Begriff „Warteschlangenverzögerung“ verweist zumindest in einigen Ausführungsformen auf eine Zeitdauer, 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, die ein Paket in einer Warteschlange wartet, bis es verarbeitet und/oder übertragen werden kann.
  • Der Begriff „Verzögerungsgrenze“ verweist zumindest in einigen Ausführungsformen auf einen vorbestimmten oder konfigurierten akzeptablen Verzögerungsbetrag. Der Begriff „Pro-Paket-Verzögerungsgrenze“ 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 Lieferfehlschläge betrachtet werden und verworfen oder fallen gelassen werden.
  • Der Begriff „Paketverwerfungsrate“ 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 „Latenz“ bezieht sich zumindest in einigen Ausführungsformen auf eine Zeitverzögerung zwischen der Ursache und der Auswirkung irgendeiner physischen Änderung in einem beobachteten System. Zusätzlich oder alternativ verweist der Begriff „Latenz“ 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. Zusätzlich oder alternativ verweist der Begriff „Latenz“ zumindest in einigen Ausführungsformen auf ein Intervall zwischen zwei Zeitpunkten. Zusätzlich oder alternativ verweist der Begriff „Latenz“ zumindest in einigen Ausführungsformen auf ein Zeitintervall oder eine Zeitdauer eines Ereignisses.
  • Der Begriff „P99-Latenz“ oder „99.-Perzentil-Latenz“ verweist zumindest in einigen Ausführungsformen auf die schlechteste Latenz, die bei 99 % aller Anforderungen beobachtet wird.
  • Der Begriff „Bandbreite“ bezieht sich zumindest in einigen Ausführungsformen auf eine Messung der Bitrate verfügbarer oder verbrauchter Datenkommunikationsressourcen, die in Bits pro Sekunde (Bit/s) oder Vielfachen davon (z. B. kBit/s, MBit/s, GBit/s und dergleichen) ausgedrückt werden können.
  • 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 Nachrichtenlieferung (Datumslieferung) über einen Kommunikationskanal. 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 „Anwendung“ verweist zumindest in einigen Ausführungsformen auf ein Computerprogramm, das dazu ausgebildet ist, eine spezifische Aufgabe außer einer, die den Betrieb des Computers selbst betrifft, auszuführen. Zusätzlich oder alternativ dazu verweist der Begriff „Anwendung“ zumindest in manchen 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 manchen 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 „Anwendungsprogrammierungsschnittstelle“ oder „API“ verweist zumindest in einigen Ausführungsformen auf einen Satz von Subroutinendefinitionen, Kommunikationsprotokollen und Werkzeugen zum Erstellen 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, ein Betriebssystem, ein Datenbanksystem, eine Computerhardware oder eine Softwarebibliothek sein.
  • Die Begriffe „Instanziieren“, „Instanziierung“ und dergleichen verweisen zumindest in manchen Ausführungsformen auf die Erzeugung einer Instanz. Eine „Instanz“ verweist auch zumindest in manchen Ausführungsformen auf ein konkretes Auftreten eines Objekts, das zum Beispiel während der Ausführung von Programmcode auftreten kann.
  • Der Begriff „Datenverarbeitung“ oder „Verarbeitung“ verweist zumindest in einigen Ausführungsformen auf eine beliebige Operation oder einen beliebigen Satz von Operationen, die an Daten oder an Sätzen von Daten durchgeführt wird/werden, unabhängig davon, ob durch automatisierte Mittel, wie etwa Sammlung, Aufzeichnung, Schreiben, Organisation, Strukturierung, Speicherung, Anpassung, Änderung, Abruf, Konsultation, Verwendung, Offenlegung durch Übertragung, Verbreitung oder anderweitige Bereitstellung, Ausrichtung oder Kombination, Beschränkung, Löschung und/oder Zerstörung.
  • Der Begriff „Daten-Pipeline“ oder „Pipeline“ verweist zumindest in einigen Ausführungsformen auf einen Satz von Datenverarbeitungselementen (oder Datenprozessoren), die in Reihe und/oder parallel verbunden sind, wobei die Ausgabe eines Datenverarbeitungselements die Eingabe eines oder mehrerer anderer Datenverarbeitungselemente in der Pipeline ist; die Elemente einer Pipeline können parallel oder zeitversetzt ausgeführt werden und/oder eine gewisse Menge an Pufferspeicherung kann zwischen Elementen eingefügt werden.
  • Der Begriff „Paketprozessor“ bezieht sich zumindest in einigen Ausführungsformen auf ein oder mehrere Software- und/oder Hardwareelemente, die einen Stream von Eingabepaketen in Ausgabepakete transformieren (oder einen Stream von Eingabedaten in Ausgabedaten transformieren); Beispiele für die Transformationen beinhalten Hinzufügen, Entfernen und Modifizieren von Feldern in einem Paket-Header, einem Trailer und/oder Nutzdaten.
  • 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 „Benutzer“ bezieht sich zumindest in einigen Ausführungsformen auf eine abstrakte Repräsentation einer beliebigen Entität, die Befehlsanforderungen an einen Dienstanbieter ausgibt und/oder Dienste von einem Dienstanbieter empfängt.
  • Der Begriff „Cache“ bezieht sich zumindest in einigen Ausführungsformen auf eine Hardware- und/oder Softwarekomponente, die Daten speichert, sodass zukünftige Anforderungen für diese Daten schneller bedient werden können. Der Begriff „Cache-Treffer“ verweist zumindest in einigen Ausführungsformen auf das Ereignis, dass angeforderte Daten in einem Cache gefunden werden; Cache-Treffer werden durch Lesen von Daten aus dem Cache bedient, was schneller ist als das Vorberechnen eines Ergebnisses oder Lesen aus einem langsameren Datenspeicher. Der Begriff „Cache-Fehltreffer“ bezieht sich zumindest in einigen Ausführungsformen auf das Ereignis, dass angeforderte Daten nicht in einem Cache gefunden werden.
  • Der Begriff „Cache-Ersetzungsalgorithmus“, „Cache-Ersetzungsrichtlinie“, „Cache-Räumungsalgorithmus“, „Cache-Algorithmus“ oder „Caching-Algorithmus“ verweist zumindest in einigen Ausführungsformen auf Optimierungsanweisungen oder -algorithmen, die von einem Caching-System verwendet werden, um von dem Caching-System gespeicherte gecachte Daten zu verwalten. Beispiele für Cache-Algorithmen beinhalten Belädy-Algorithmus, zufällige Ersetzung (Random Replacement, RR), FIFO (First-in-First-Out), LIFO (Last-in-First-Out), FILO (First-in-Last-Out), LRU (Least Recently Used), TLRU (Time-Aware LRU), PLRU (Pseudo-LRU), MRU (Most Recently Used), LFU (Least Frequently Used), LFUDA (LFU with dynamic aging), LFRU (Least Frequent Recently Used), RRIP (Re-Reference Interval Prediction), LIRS (Low Inter-Reference Recency Set), ARC (Adaptive Replacement Cache), Markov-Kette-basierte Cache-Ersetzung, MQ (Multi-Queue Algorithm) und/oder dergleichen.
  • Der Begriff „Cache-Räumungsrichtlinie“ oder „Cache-Räumungsalgorithmus“ bezieht sich zumindest in einigen Ausführungsformen auf ein Verfahren zum Bestimmen, ob ein Element in einem Cache aus dem Cache entfernt werden sollte, was stattfinden kann oder anderweitig durchgeführt werden kann, wenn der Cache voll ist.
  • Der Begriff „Cache-Beibehaltungsrichtlinie“ oder „Cache-Beibehaltungsalgorithmus“ verweist zumindest in einigen Ausführungsformen auf ein Verfahren zum Bestimmen, ob ein Element in einem Cache beibehalten oder nicht aus dem Cache geräumt werden sollte, was stattfinden kann oder anderweitig durchgeführt werden kann, wenn der Cache voll ist.
  • Der Begriff „verteilter Cache“ bezieht sich zumindest in einigen Ausführungsformen auf ein Caching-System, das mehrere Server überspannt und/oder das in der Größe und/oder transaktionaler Kapazität skaliert werden kann. Verteilte Caching-Systeme werden häufig zum Speichern von Anwendungsdaten, die sich in einem Datenbanksystem befinden, und/oder Websitzungsdaten verwendet.
  • Der Begriff „Cache-Stampede“ oder „Cache-Dog-Piling“ bezieht sich zumindest in einigen Ausführungsformen auf eine Art von Kaskadierungsversagen, der auftreten kann, wenn massiv parallele Rechensysteme mit Caching-Mechanismen unter sehr hoher Last kommen.
  • Der Begriff „Kaskadierungsversagen“ bezieht sich zumindest in einigen Ausführungsformen darauf, dass ein Versagen eines Elements in einem System miteinander verbundener Elemente den Ausfall eines oder mehrerer anderer Elemente in dem System miteinander verbundener Elemente auslöst, verursacht oder anderweitig beeinflusst. In einem Beispiel für ein Kaskadierungsversagen führt ein Versagen eines ersten Elements in einem System dazu, dass ein oder mehrere andere Elemente das erste Element kompensieren, was wiederum das eine oder die mehreren anderen Elemente überlastet, was bewirkt, dass das eine oder die mehreren anderen Elemente ebenfalls versagen, wodurch veranlasst wird, dass zusätzliche Elemente in dem System nacheinander versagen.
  • Der Begriff „Cache-Replikation“ oder „Replikation“ bezieht sich zumindest in einigen Ausführungsformen auf die Erzeugung und Wartung verteilter Kopien von Inhalt unter der Steuerung von Inhaltsanbietern.
  • Der Begriff „Cache-Replikationsfaktor“ oder „Replikationsfaktor“ bezieht sich zumindest in einigen Ausführungsformen auf eine Anzahl von Kopien von Daten, die eine Cluster- oder Speicherungsstufe warten soll.
  • Der Begriff „Cache-Frische“ oder „frisch“ verweist zumindest in einigen Ausführungsformen auf gecachte Objekte, die als relevant angesehen werden oder als ein Kandidat angesehen werden, der mit dem ein Anforderer versorgt werden soll. In manchen Fällen können gecachte Objekte als frisch angesehen werden, falls diese Objekte innerhalb eines Frische-Zeitrahmens oder -periode liegen, wie durch die Caching-Richtlinie spezifiziert.
  • Der Begriff „Cache-Veraltung“ oder „veraltet“ bezieht sich zumindest in einigen Ausfuhrungsformen auf gecachte Objekte, die als Kandidaten für eine Räumung aus einem Cache angesehen werden. In einigen Fällen können gecachte Objekte als veraltet angesehen werden, falls diese Objekte bis zu oder über einen durch eine Caching-Richtlinie festgelegten Zeitraum hinaus im Cache verbleiben.
  • Der Begriff „kalter Cache“ bezieht sich zumindest in einigen Ausführungsformen auf einen Cache, der leer ist oder irrelevante Daten aufweist. Der Begriff „heißer Cache“ bezieht sich zumindest in einigen Ausführungsformen auf einen Cache, der relevante Daten enthält und/oder wenn alle Anforderungen nach Objekten vom Cache selbst erfüllt werden. Der Begriff „Cache-Erwärmung“ bezieht sich zumindest in einigen Ausführungsformen auf Verfahren oder Techniken zum Vorladen eines Caches mit Objekten, die wahrscheinlich von einem oder mehreren Anforderern angefordert werden.
  • Der Begriff „Cache-Latenz“ verweist zumindest in einigen Ausführungsformen auf eine Latenz oder Zeitdauer pro eingehender Zugriffsoperation für Elemente, die in einem Cache gefunden werden.
  • Der Begriff „Konflikt-Fehltreffer“ bezieht sich zumindest in einigen Ausführungsformen auf Cache-Fehltreffer, die auftreten, als angeforderte Daten zuvor in einem Cache waren, aber geräumt wurden.
  • Der Begriff „Kapazitäts-Fehltreffer“ bezieht sich zumindest in einigen Ausführungsformen auf Cache-Fehltreffer, die aufgrund der begrenzten Größe eines Caches und nicht der Abbildungsfunktion des Caches auftreten. Der Begriff „Kohärenz-Fehltreffer“ bezieht sich zumindest in einigen Ausführungsformen auf Cache-Fehltreffer, die auftreten, da eine Cache-Zeile, die andernfalls im Cache des Threads vorhanden wäre, durch einen Schreibvorgang von einem anderen Thread ungültig gemacht wurde. Der Begriff „Abdeckungs-Fehltreffer“ verweist zumindest in einigen Ausführungsformen auf Cache-Fehltreffer, die auftreten , da eine Cache-Zeile, die andernfalls im Cache des Prozessors vorhanden wäre, als Folge einer Verzeichnisräumung ungültig gemacht wurde. Der Begriff „Ersetzt-Fehltreffer“ bezieht sich zumindest in einigen Ausführungsformen auf Cache-Fehltreffer, die auftreten , wenn ein Cache-Zustand modifiziert wird und einige seiner Blöcke aufgrund eines Kontextwechsels ersetzt werden. Der Begriff „Umgeordnet-Fehltreffer“ bezieht sich zumindest in einigen Ausführungsformen auf Cache-Fehltreffer, die auftreten , wenn ein Cache-Zustand modifiziert wird und einige seiner Blöcke eine Änderung der Aktualität aufgrund eines Kontextwechselsaufweisen.
  • Der Begriff „Trefferrate“ bezieht sich zumindest in einigen Ausführungsformen auf die Anzahl von Zugriffen auf den Cache, die diese Daten tatsächlich im Cache finden. Der Begriff „Trefferquote“ bezieht sich zumindest in einigen Ausführungsformen auf das Verhältnis der Anzahl von Cache-Treffern zu der Gesamtanzahl von Cache-Anforderungen über einen gegebenen Zeitraum. Der Begriff „Trefferlatenz“ bezieht sich zumindest in einigen Ausführungsformen auf die Anzahl von Zugriffen auf den Cache, die den Block nicht im Cachefinden. Der Begriff „Fehltrefferrate“ bezieht sich zumindest in einigen Ausführungsformen auf die Anzahl von Zugriffen auf den Cache, die diese Daten nicht im Cache finden. Der Begriff „Fehltrefferquote“ bezieht sich zumindest in einigen Ausführungsformen auf ein Verhältnis der Anzahl von Cache-Fehltreffern zu der Gesamtanzahl von Cache-Anforderungen über einen gegebenen Zeitraum. Der Begriff „Fehltrefferlatenz“ bezieht sich zumindest in einigen Ausführungsformen auf Latenz, die aufgrund eines Cache-Fehltreffersauftritt. Der Begriff „durchschnittliche Latenz“ bezieht sich zumindest in einigen Ausführungsformen auf die Zeit, die verbraucht wird, um auf ein Objekt zu warten, auf das zugegriffen oder das erhalten werden soll. Der Begriff „durchschnittliche Speicherzugriffszeit“ oder „AMAT“ verweist zumindest in einigen Ausführungsformen auf die durchschnittliche Zeit, die benötigt wird, um auf den Speicher zuzugreifen, basierend auf Trefferzeit, Fehltreffereinbuße und Fehltrefferrate. Der Begriff „durchschnittliche Fehltreffereinbuße“ oder „AMP“ verweist zumindest in einigen Ausführungsformen auf die Kosten eines Cache-Fehltreffers hinsichtlich der Zeit. Der Begriff „durchschnittliche Cache-Belegung“ bezieht sich zumindest in einigen Ausführungsformen auf die Zeit, in der der Cache für jede Referenz ausgelastet ist.
  • Der Begriff „abgestufte Speicherungsarchitektur“ oder „abgestufte Speicherung“ verweist zumindest in einigen Ausführungsformen auf ein Schema oder Verfahren zum Zuweisen unterschiedlicher Kategorien von Daten zu verschiedenen Typen von Speicherungsmedien. Zusätzlich oder alternativ verweist der Begriff „abgestufte Speicherungsarchitektur“ oder „abgestufte Speicherung“ zumindest in einigen Ausführungsformen darauf, dass eine Speicherungsarchitektur Daten hierarchisch basierend auf einem oder mehreren Faktoren kategorisiert, wie etwa Leistungsfähigkeit, Verfügbarkeit, Ort, Medienkosten, Zugriffsfrequenz und/oder andere ähnliche Faktoren oder Parameter. Der Begriff „Speicherungsstufe“ verweist zumindest in einigen Ausführungsformen auf einen Rang oder kategorisierten Satz von Speicherungselementen in einer abgestuften Speicherungsarchitektur.
  • Der Begriff „Dateneinheit“ bezieht sich zumindest in einigen Ausführungsformen auf eine Basistransfereinheit, die mit einem paketvermittelten Netzwerk assoziiert ist; eine Dateneinheit kann so strukturiert sein, dass sie Header- und Nutzdatenabschnitte aufweist. Der Begriff „Dateneinheit“ kann zumindest in einigen Ausführungsformen synonym zu einem beliebigen der folgenden Begriffe sein, obwohl sie sich auf unterschiedliche Aspekte beziehen können: „Datagramm“, eine „Protokolldateneinheit“ oder „PDU“, eine „Dienstdateneinheit“ oder „SDU“, „Frame“, „Paket“, ein „Netzwerkpaket“, „Segment“, „Block“, „Zelle“, „Chunk“ und/oder dergleichen. Beispiele für Dateneinheiten, Netzwerkpakete und dergleichen beinhalten Internetprotokoll(IP)-Paket, ICMP(Internet Control Message Protocol)-Paket, UDP-Paket, TCP-Paket, SCTP-Paket, ICMP-Paket, Ethernet-Frame, RRC-Nachrichten/-Pakete, SDAP-PDU, SDAP-SDU, PDCP-PDU, PDCP-SDU, MAC-PDU, MAC-SDU, BAP-PDU. BAP-SDU, RLC-PDU, RLC-SDU, WiFi-Frames, wie in einem [IEEE802]-Protokoll/-Standard (z. B. [IEEE80211] oder dergleichen) besprochen, und/oder andere ähnliche Datenstrukturen.
  • Der Begriff „Informationselement“ oder „IE“ bezieht sich zumindest in einigen Ausführungsformen auf ein Strukturelement, das ein oder mehrere Felder enthält. Zusätzlich oder alternativ verweist der Begriff „Informationselement“ oder „IE“ zumindest in einigen Ausführungsformen auf ein Feld oder einen Satz von Feldern, die in einem Standard oder einer Spezifikation definiert sind, das/die zum Vermitteln von Daten und/oder Protokollinformationen verwendet wird.
  • 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. Zusätzlich oder alternativ verweist der Begriff „Datenelement“ zumindest in einigen Ausführungsformen auf einen atomaren Zustand eines bestimmten Objekts mit mindestens einer spezifischen Eigenschaft zu einem gewissen Zeitpunkt, und kann eines oder mehrere von einem Datenelementnamen oder -identifikator, einer Datenelementdefinition, einem oder mehreren Repräsentationsbegriffen, aufgezählten Werten oder Codes (z. B. Metadaten) und/oder einer Liste von Synonymen von Datenelementen in anderen Metadatenregistern aufweisen. Zusätzlich oder alternativ dazu verweist ein „Datenelement“ zumindest in einigen Ausführungsformen auf einen Datentyp, der ein einziges Datenstück enthält. Datenelemente können Daten speichern, die als der Inhalt des Datenelements (oder „Inhaltselemente“) bezeichnet werden können. Inhaltselemente können Textinhalt, Attribute, Eigenschaften und/oder andere Elemente beinhalten, die als „Kind-Elemente/untergeordnete Elemente“ bezeichnet werden. Zusätzlich oder alternativ dazu können Datenelemente null oder mehr Eigenschaften und/oder null oder mehr Attribute beinhalten, von denen jedes als Datenbankobjekte (z. B. Felder, Einträge usw.), Objektinstanzen und/oder andere Datenelemente definiert sein kann. Ein „Attribut“ bezieht sich zumindest in einigen Ausführungsformen auf ein Markup-Konstrukt, das ein Name-Wert-Paar beinhaltet, das innerhalb eines Start-Tags oder eines leeren Element-Tags existiert. Attribute enthalten Daten, die sich auf ihr Element beziehen und/oder das Verhalten des Elements steuern.
  • Der Begriff „Datenframe“ oder „DF“ 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 manchen 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 usw.).
  • Der Begriff „Datenbank“ bezieht sich zumindest in einigen Ausführungsformen auf eine organisierte Sammlung von Daten, die elektronisch gespeichert sind und auf die elektronisch zugegriffen wird. Datenbanken können zumindest in einigen Ausführungsformen gemäß einer Vielzahl unterschiedlicher Datenbankmodelle implementiert werden, wie etwa relational, nichtrelational (auch als „schemafrei“ und „NoSQL“ bezeichnet), Graph, kolumnar (auch als erweiterbarer Eintrag bezeichnet), Objekt, tabular, Tupel-Speicher und Multi-Modell. Beispiele für nicht-relationale Datenbankmodelle beinhalten einen Schlüssel-Werte-Speicher und einen Dokumentspeicher (auch als dokumentenorientiert bezeichnet, da sie dokumentenorientierte Informationen speichern, die auch als halb strukturierte Daten bekannt sind). Eine Datenbank kann ein oder mehrere Datenbankobjekte umfassen, die durch ein Datenbankverwaltungssystem (DBMS) verwaltet werden.
  • Der Begriff „Datenbankobjekt“ bezieht sich zumindest in einigen Ausführungsformen auf eine beliebige Repräsentation von Informationen, die in Form eines Objekts, eines Attribut-Werte-Paars (AVP), eines Schlüssel-Werte-Paars (KVP), eines Tupels usw. vorliegen, und kann Variablen, Datenstrukturen, Funktionen, Verfahren, Klassen, Datenbankeinträge, Datenbankfelder, Datenbankentitäten, Assoziationen zwischen Daten und/oder Datenbankentitäten (auch als eine „Beziehung“ bezeichnet), Blöcke in Blockchain-Implementierungen und Verknüpfungen zwischen Blöcken in Blockchain-Implementierungen beinhalten. Des Weiteren kann ein Datenbankobjekt eine Anzahl von Einträgen beinhalten, und jeder Eintrag kann einen Satz von Feldern beinhalten. Ein Datenbankobjekt kann unstrukturiert sein oder eine Struktur aufweisen, die durch ein DBMS (ein Standard-Datenbankobjekt) definiert wird und/oder durch einen Benutzer (ein kundenspezifisches Datenbankobjekt) definiert wird. In einigen Implementierungen kann ein Eintrag basierend auf dem verwendeten Datenbankmodell und/oder dem spezifischen Datenbankobjekt, zu dem er gehört, unterschiedliche Formen annehmen. Ein Eintrag kann beispielsweise Folgendes sein: 1) eine Zeile in einer Tabelle einer relationalen Datenbank; 2) ein JSON(JavaScript Object Notation)-Objekt; 3) ein XML(Extensible Markup Language)-Dokument; 4) ein KVP; usw.
  • Der Begriff „kryptographische Hash-Funktion“, „Hash-Funktion“ oder „Hash“ verweist zumindest in einigen Ausführungsformen auf einen mathematischen Algorithmus, der Daten beliebiger Größe (manchmal als eine „Nachricht“ bezeichnet) auf ein Bit-Array einer festen Größe (manchmal als ein „Hashwert“, „Hash“ oder „Nachrichten-Digest“ bezeichnet) abbildet. Eine kryptographische Hash-Funktion ist üblicherweise eine Einwegfunktion, die eine Funktion ist, die praktisch nicht invertierbar ist.
  • Der Begriff „Hash-Tabelle“ bezieht sich zumindest in einigen Ausführungsformen auf eine Datenstruktur, die ein assoziatives Array und/oder eine assoziative Struktur implementiert, das/die Schlüssel auf Werte abbilden kann, wobei eine Hash-Funktion verwendet wird, um einen Index (oder einen Hash-Code) in ein Array von Buckets (oder Slots) zu berechnen, aus denen der gewünschte Wert ermittelt werden kann. Während des Nachschlagens wird ein Schlüssel gehasht und der resultierende Hash gibt an, wo der entsprechende Wertgespeichert ist.
  • Der Begriff „konsistentes Hashing“ verweist zumindest in einigen Ausführungsformen auf eine Hashing-Technik, bei der, wenn eine Hash-Tabelle in der Größe geändert wird, nur Schlüssel im Durchschnitt neu abgebildet werden müssen, wobei die Anzahl von Schlüsseln ist und die Anzahl von Slots ist. Im Gegensatz dazu bewirkt in den meisten traditionellen Hash-Tabellen eine Änderung der Anzahl von Array-Slots, dass fast alle Schlüssel neu abgebildet werden, da die Abbildung zwischen den Schlüsseln und den Slots durch eine modulare Operation definiert ist.
  • Der Begriff „Verlustfunktion“ oder „Kostenfunktion“ verweist zumindest in manchen Ausführungsformen auf ein Ereignis oder Werte einer oder mehrerer Variablen auf eine reelle Zahl, die irgendwelche mit dem Ereignis assoziierte „Kosten“ repräsentiert. Ein durch eine Verlustfunktion berechneter Wert kann als ein „Verlust“, ein „Kosten“- oder „Fehler“-Wert oder dergleichen bezeichnet werden. Zusätzlich oder alternativ dazu verweist der Begriff „Verlustfunktion“ oder „Kostenfunktion“ zumindest in manchen Ausführungsformen auf eine Funktion, die verwendet wird, um den Fehler oder den Verlust zwischen der Ausgabe eines Algorithmus und einem Zielwert zu bestimmen. Zusätzlich oder alternativ dazu verweist der Begriff „Verlustfunktion“ oder „Kostenfunktion“ zumindest in manchen Ausführungsformen auf eine Funktion, die in Optimierungsproblemen mit dem Ziel des Minimierens eines Verlusts oder Fehlers verwendet wird.
  • Der Begriff „Zielfunktion“ verweist zumindest in manchen Ausführungsformen auf eine Funktion, die für ein spezielles Optimierungsproblem maximiert oder minimiert werden soll. In manchen Fällen wird eine Zielfunktion durch ihre Entscheidungsvariablen und ein Ziel definiert. Das Ziel ist der Wert, die Zielvorgabe oder die Zielsetzung, der/die optimiert werden soll, wie etwa Maximieren des Gewinns oder Minimieren der Nutzung einer bestimmten Ressource. Die spezifische gewählte Zielfunktion hängt von dem spezifischen zu lösenden Problem und den zu optimierenden Zielen ab. Einschränkungen können auch definiert werden, um die Werte zu beschränken, die die Entscheidungsvariablen annehmen können, wodurch der Zielwert (die Ausgabe) beeinflusst wird, der erreicht werden kann. Während eines Optimierungsprozesses werden die Entscheidungsvariablen einer Zielfunktion häufig innerhalb der Grenzen der Einschränkungen geändert oder manipuliert, um die Werte der Zielfunktion zu verbessern. Allgemein nimmt die Schwierigkeit beim Lösen einer Zielfunktion zu, wenn die Anzahl an Entscheidungsvariablen, die in dieser Zielfunktion enthalten sind, zunimmt. Der Begriff „Entscheidungsvariable“ bezieht sich auf eine Variable, die eine zu treffende Entscheidung repräsentiert.
  • Der Begriff „Optimierung“ oder „mathematische Optimierung“ verweist zumindest in einigen Ausführungsformen auf eine Handlung, einen Prozess, eine Funktion, einen Algorithmus, einen Prozess oder eine Methodik, um etwas (z. B. ein Design, ein System oder eine Entscheidung) so vollständig perfekt, funktionell oder effektiv wie möglich zu machen. Zusätzlich oder alternativ verweist der Begriff „Optimierung“ zumindest in einigen Ausführungsformen auf mathematische Prozeduren zum Identifizieren, Bestimmen und/oder Auswählen eines besten Elements in Bezug auf ein Kriterium aus einem Satz verfügbarer Alternativen und/oder Finden des Maximums oder Minimums einer Funktion. Der Begriff „Optimierungsproblem“ bezieht sich zumindest in einigen Ausführungsformen auf eine Funktion, einen Algorithmus, einen Prozess oder ein anderes Verfahren zum Identifizieren und/oder Bestimmen der besten Lösung aus allen machbaren Lösungen. Zusätzlich oder alternativ verweist der Begriff „Optimierungsproblem“ zumindest in einigen Ausführungsformen auf das Maximieren oder Minimieren einer realen Funktion, indem Eingabewerte aus einem zulässigen Satz systematisch ausgewählt werden und der Wert der Funktion berechnet wird. Der Begriff „optimal“ verweist zumindest in manchen Ausführungsformen auf ein(e) wünschenswerteste(s) oder zufriedenstellendste(s) Ende, Ergebnis oder Ausgabe. Der Begriff „Optimum“ verweist zumindest in manchen Ausführungsformen auf eine Menge oder einen Grad von etwas, das für irgendein Ende am besten ist. Der Begriff „Optima“ verweist zumindest in manchen Ausführungsformen auf eine Bedingung, einen Grad, eine Menge oder einen Kompromiss, die/der ein bestmögliches Ergebnis erzeugt. Zusätzlich oder alternativ dazu verweist der Begriff „Optima“ zumindest in manchen Ausführungsformen auf ein bestes oder vorteilhaftestes Ergebnis oder Resultat.
  • Der Begriff „Wahrscheinlichkeit“ verweist zumindest in manchen Ausführungsformen auf eine numerische Beschreibung, wie wahrscheinlich ein Ereignis auftreten wird und/oder wie wahrscheinlich es ist, dass eine Behauptung wahr ist. Der Begriff „Wahrscheinlichkeitsverteilung“ verweist zumindest in manchen Ausführungsformen auf eine mathematische Funktion, die die Wahrscheinlichkeiten des Auftretens unterschiedlicher möglicher Ausgänge für ein Experiment oder Ereignis angibt.
  • Der Begriff „Wahrscheinlichkeitsverteilung“ verweist zumindest in einigen Ausführungsformen auf eine Funktion, die die Wahrscheinlichkeiten des Auftretens unterschiedlicher möglicher Ausgänge für ein Experiment oder Ereignis angibt. Zusätzlich oder alternativ dazu verweist der Begriff „Wahrscheinlichkeitsverteilung“ zumindest in einigen Ausführungsformen auf eine statistische Funktion, die alle möglichen Werte und Likelihoods beschreibt, die eine Zufallsvariable innerhalb eines gegebenen Bereichs (z. B. einer Grenze zwischen minimal und maximal möglichen Werten) annehmen kann. Eine Wahrscheinlichkeitsverteilung kann ein(en) oder mehrere Faktoren oder Attribute aufweisen, wie etwa zum Beispiel einen Mittelwert oder Durchschnitt, Modus, Unterstützung, Schwanz, Kopf, Median, Varianz, Standardabweichung, Quantil, Symmetrie, Schiefe, Wölbung usw. Eine Wahrscheinlichkeitsverteilung kann eine Beschreibung eines zufälligen Phänomens hinsichtlich eines Probenraums und der Wahrscheinlichkeiten von Ereignissen (Teilsätze des Probenraums) sein. Beispielhafte Wahrscheinlichkeitsverteilungen beinhalten diskrete Verteilungen (z. B. Bernoulli-Verteilung, diskrete Gleichverteilung, Binomial, Dirac-Maß, Gauß-Kuzmin-Verteilung, geometrische, hypergeometrische, Negativ-Binomial, negative hypergeometrische, Poisson, Poisson-Binomial, Rademacher-Verteilung, Yule-Simon-Verteilung, Zeta-Verteilung, Zipf-Verteilung usw.), kontinuierliche Verteilungen (z. B. Bates-Verteilung, Beta, kontinuierliche Gleichverteilung, Normalverteilung, Gaußsche Verteilung, Glockenkurve, gemeinsame Normalverteilung, Gamma, Chi-Quadrat, nicht-zentrales Chi-Quadrat, exponentiell, Cauchy, Log-Normal, Logit-Normal, F-Verteilung, t-Verteilung, Dirac-Deltafunktion, Pareto-Verteilung, Lomax-Verteilung, Wishart-Verteilung, Weibull-Verteilung, Gumbel-Verteilung, Irwin-Hall-Verteilung, Gompertz-Verteilung, inverse Gaußsche Verteilung (oder Wald-Verteilung), Chernoff-Verteilung, Laplace-Verteilung, Polya-Gamma-Verteilung usw.) und/oder kombinierte Verteilungen (z. B. Dirichlet-Verteilung, Ewens-Abtastformel, Multinomialverteilung, multivariate Normalverteilung, multivariate t-Verteilung, Wishart-Verteilung, Matrixnormalverteilung, Matrix-t-Verteilung usw.).
  • Der Begriff „gleitender Durchschnitt“ bezieht sich zumindest in einigen Ausführungsformen auf eine Berechnung zum Analysieren von Datenpunkten durch Erzeugen einer Reihe von Mittelwerten verschiedener Teilsätze des vollständigen Datensatzes.
  • Der Begriff „gewichteter Durchschnitt“ bezieht sich zumindest in einigen Ausführungsformen auf einen Mittelwert, der Multiplikationsfaktoren aufweist, um Daten an unterschiedlichen Positionen in einem Probenfenster unterschiedliche Gewichtungen zu geben.
  • Der Begriff „gewichteter gleitender Durchschnitt“ bezieht sich zumindest in einigen Ausführungsformen auf die Faltung von Daten mit einer festen Gewichtungsfunktion.
  • Der Begriff „exponentiell gleitender Durchschnitt“, „EMA“, „exponentiell gewichteter gleitender Durchschnitt“ oder „EWMA“ verweist zumindest in einigen Ausführungsformen auf ein Filter mit unendlicher Impulsantwort erster Ordnung, das Gewichtungsfaktoren anwendet, die exponentiell abnehmen oder zunehmen.
  • Auch wenn viele der vorstehenden Beispiele unter Verwendung von spezieller Zellular-/Mobilnetzwerkterminologie bereitgestellt sind, einschließlich unter Verwendung von 4G/5G-3GPP-Netzwerkkomponenten (oder erwarteten terahertzbasierten Technologien von 6G/6G+), versteht es sich, dass diese Beispiele auf viele andere Einsätze von Weitbereichs- und Lokaldrahtlosnetzwerken sowie die Integration drahtgebundener Netzwerke (einschließlich optischer Netzwerke und assoziierter Fasern, Sendeempfänger usw.) angewendet werden können. Ferner können verschiedene Standards (z. B. 3GPP, ETSI usw.) verschiedene Nachrichtenformate, PDUs, Container, Frames usw. als eine Sequenz von optionalen oder obligatorischen Datenelementen (DEs), Datenframes (DFs), Informationselementen (IEs) und/oder dergleichen umfassend definieren. Es versteht sich jedoch, dass die Anforderungen eines beliebigen bestimmten Standards die hierin 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, DFs, 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.
  • Obwohl diese Implementierungen unter Bezugnahme auf spezifische beispielhafte Aspekte beschrieben wurden, versteht es sich, dass verschiedene Modifikationen und Änderungen an diesen Aspekten vorgenommen werden können, ohne von dem breiteren Schutzumfang der vorliegenden Offenbarung abzuweichen. Viele der hierin 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 die Auswahl von Edge-Diensten zu unterstützen, die den zu versorgenden Edge-Systemen zur Verfügung gestellt werden können. Entsprechend sind die Beschreibung und die Zeichnungen in einem veranschaulichenden und nicht in einem einschränkenden Sinne aufzufassen. Die begleitenden Zeichnungen, die einen Teil hiervon bilden, zeigen spezielle Aspekte, in denen der Gegenstand ausgeführt werden kann, als Veranschaulichung und nicht als Beschränkung. Die veranschaulichten Aspekte sind hinreichend detailliert beschrieben, um einen Fachmann zu befähigen, die hierin offenbarten Lehren auszuüben. Andere Aspekte können genutzt und aus diesen abgeleitet werden, sodass strukturelle und logische Substitutionen und Änderungen vorgenommen werden können, ohne den Schutzumfang dieser Offenbarung zu verlassen. Diese ausführliche Beschreibung ist daher nicht in einem beschränkenden Sinn 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 hierin einzeln und/oder kollektiv lediglich der Einfachheit halber und ohne beabsichtigt zu sein, 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, in Bezug genommen werden. Obwohl spezielle Aspekte hierin veranschaulicht und beschrieben wurden, sollte man daher verstehen, dass eine beliebige Einrichtung, die berechnet ist, um denselben Zweck zu erfüllen, die gezeigten speziellen Ausführungsformen ersetzen kann. Diese Offenbarung soll jegliche und alle Anpassungen oder Variationen verschiedenster Aspekte abdecken. Kombinationen der obigen Aspekte und andere Aspekte, die hierin nicht speziell beschrieben sind, ergeben sich für Fachleute bei der Durchsicht der oben stehenden 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 63/003834 [0110]
    • US 2020/066969 PCT [0110]
    • US 17/484743 [0111]
    • US 17/484719 [0112]
  • Zitierte Nicht-Patentliteratur
    • Atre et al., Caching with Delayed Hits, TAGUNGSBERICHT DER JAHRESTAGUNG DER ACM SPECIAL INTEREST GROUP FÜR DATENKOMMUNIKATION ZU DEN ANWENDUNGEN, TECHNOLOGIEN, ARCHITEKTUREN UND PROTOKOLLEN FÜR DIE COMPUTERKOMMUNIKATION (SIGCOMM '20), S. 495 - 513 [0009]

Claims (25)

  1. Verfahren zum Verwalten eines mehrstufigen Caching-Systems, das eine Vielzahl von Speicherungsstufen beinhaltet, wobei das Verfahren umfasst: Messen von Abrufkosten zum Zugreifen auf ein Objekt von einem ersten Cache einer ersten Speicherungsstufe der Vielzahl von Speicherungsstufen, in denen das Objekt gegenwärtig gespeichert ist, wobei die Abrufkosten auf einer Abruflatenz basieren, und die Abruflatenz eine Latenzmenge des Objekts ist, das an einen Anforderer des Objekts geliefert wird; Bestimmen einer zweiten Speicherungsstufe der Vielzahl von Speicherungsstufen, in denen das Objekt geräumt werden soll, wenn die Abrufkosten eine Schwelle überschreiten; Räumen des Objekts aus dem ersten Cache; und Speichern des geräumten Objekts im zweiten Cache.
  2. Verfahren nach Anspruch 1, wobei das Verfahren beinhaltet: Bestimmen einer Anzahl verzögerter Treffer beim Zugreifen auf das Objekt; und Bestimmen der Abrufkosten basierend auf einer Abruflatenz und der Anzahl verzögerter Treffer, wobei die Abruflatenz auf einer Abrufzeit basiert, und die Abrufzeit eine Zeitmenge zwischen dem Ausgeben eines Abrufbefehls zum Zugreifen auf das Objekt vom ersten Cache und der Lieferung des Objekts an den Anforderer ist.
  3. Verfahren nach Anspruch 2, wobei das Verfahren beinhaltet: Bestimmen der Abrufkosten basierend auf einem mittleren gewichteten Durchschnitt (MWA) der Abrufzeit, mit der Anzahl verzögerter Treffer zusammengefasst, wobei der MWA ein einfacher gleitender Durchschnitt (SMA) und/oder ein kumulativer Durchschnitt (CA) und/oder ein gewichteter gleitender Durchschnitt (WMA) und/oder ein exponentieller gleitender Durchschnitt (EMA) und/oder ein exponentiell gewichteter gleitender Durchschnitt (EWMA) und/oder ein modifizierter gleitender Durchschnitt (MMA) und/oder ein laufender gleitender Durchschnitt (RMA) und/oder ein geglätteter gleitender Durchschnitt (SMMA) und/oder ein Regressionsmodell mit gleitendem Durchschnitt ist.
  4. Verfahren nach Anspruch 3, wobei das Verfahren beinhaltet: Bestimmen einer Wiederverwendungszeit, die mit dem Objekt assoziiert ist, wobei die Wiederverwendungszeit eine Zeit zwischen einem vorherigen Zugriff des Objekts und einem aktuellen Zugriff des Objekts ist.
  5. Verfahren nach Anspruch 4, wobei das Verfahren beinhaltet: Bestimmen einer mittleren Zeit zur Wiederverwendung (MTR) des Objekts basierend auf einer Zeitreihenaggregation der bestimmten Wiederverwendungszeit.
  6. Verfahren nach Anspruch 5, wobei das Verfahren beinhaltet: Aggregieren eines Cache-Raums zwischen Caches der Speicherungsstufen der Vielzahl von Speicherungsstufen; und Zuordnen einer Menge des aggregierten Cache-Raums zu dem Objekt basierend auf den Abrufkosten, der MTR und einer Zugriffsdichte des Objekts.
  7. Verfahren nach den Ansprüchen 1-6, wobei das Verfahren beinhaltet: Erhöhen eines Replikationsfaktors des Objekts, wenn das Objekt höhere Abrufkosten aufweist als andere Objekte, die in dem ersten Cache oder anderen Caches anderer Speicherungsstufen der Vielzahl von Speicherungsstufen gespeichert sind.
  8. Verfahren nach den Ansprüchen 6-7, wobei das Verfahren beinhaltet: Erhöhen eines Komprimierungsfaktors für das Objekt, wenn das Objekt höhere Abrufkosten aufweist als andere Objekte, die in dem ersten Cache oder anderen Caches anderer Speicherungsstufen der Vielzahl von Speicherungsstufen gespeichert sind; und Verteilen des Objekts mit konsistentem Hashing über den aggregierten Cache-Raum hinweg.
  9. Verfahren nach den Ansprüchen 1-8, wobei das Verfahren beinhaltet: Detektieren einer Anforderung für das Objekt, die von dem Anforderer ausgegeben wird; Veranlassen des Ausgebens des Abrufbefehls zum Zugreifen auf das Objekt aus dem ersten Cache, wenn kein ausstehender Abrufbefehl für das Objekt vorhanden ist; Warten, bis das Objekt aus dem ersten Cache abgerufen wird, wenn ein ausstehender Abrufbefehl für das Objekt vorhanden ist; und Liefern des Objekts an den Anforderer, wenn das Objekt aus dem ersten Cache abgerufen wird.
  10. Verfahren nach den Ansprüchen 1-9, wobei das Verfahren beinhaltet: Bestimmen einer Latenzerfordernis zur Lieferung des Objekts vom ersten Cache an den Anforderer, einer aktuellen Latenz der Lieferung von Daten vom ersten Cache an den Anforderer und einer aktuellen Netzwerkroute zwischen dem ersten Cache und dem Anforderer; und Routen des Objekts zu dem Anforderer über eine neue Netzwerkroute zu dem Anforderer, wenn die aktuelle Latenz und eine geschätzte verbleibende Latenz größer als die Latenzerfordernis sind.
  11. Verfahren nach den Ansprüchen 1-10, wobei eines von Folgendem gilt: die zweite Speicherungsstufe ist eine Best-Effort-Speicherungsstufe im Vergleich zu anderen Speicherungsstufen der Vielzahl von Speicherungsstufen, wenn die Abrufkosten geringer als oder gleich der Schwelle sind und die erste Speicherungsstufe eine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist; die zweite Speicherungsstufe ist eine nächste verfügbare Speicherungsstufe in Bezug auf die erste Speicherungsstufe, wenn die Abrufkosten größer als die Schwelle sind und die erste Speicherungsstufe eine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist; und die zweite Speicherungsstufe ist eine Speicherungsstufe der Vielzahl von Speicherungsstufen weiter entfernt von dem Anforderer als die erste Speicherungsstufe, wenn die erste Speicherungsstufe keine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist.
  12. Verfahren nach den Ansprüchen 1-11, wobei: der Anforderer eines von einer Benutzervorrichtung, einem Router, einem Switch, einem Smart-Edge-Switch, einer Gateway-Vorrichtung, einem Netzwerkgerät, einem Lastausgleichsserver, einem Firewall-Gerät, einer Datenverarbeitungseinheit (DPU), einer Infrastrukturverarbeitungseinheit (IPU), einer Netzwerkschnittstellensteuerung (NIC), einer Smart-NIC, einer Speicherungssteuerung, einer Cache-Steuerung oder einem Caching-Agent einer Interconnect-Schnittstellenschaltungsanordnung, einer Speichersteuerung, einer speicherinternen Caching-Engine, einer Server-Host-Prozessorplattform, einem Hardwarebeschleuniger und einem Cloud-Computing-Dienst ist; und das Verfahren durch ein Objektverwaltungssystem durchgeführt wird, wobei das Objektverwaltungssystem als eine Protokollstapelschicht eines Kommunikationsprotokolls, ein Netzwerkspeicherungsstapelsoftwareelement auf einer DPU, ein softwaredefinierter Netzwerk-Switch, eine virtualisierte Netzwerkfunktion, eine serverinterne Bibliothek, ein Caching-Agenten eines Nachrichtenbroker-Frameworks, ein Benutzeragenten-Caching-Mechanismus, ein Web-Caching-System, ein Router, ein Switch, ein Smart-Edge-Switch, eine Gateway-Vorrichtung, ein Netzwerkgerät, ein Lastausgleichsserver, ein Firewall-Gerät, eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU), eine Netzwerkschnittstellensteuerung (NIC), eine Smart-NIC, eine Speicherungssteuerung, eine Cache-Steuerung oder ein Caching-Agenten einer Interconnect-Schnittstellenschaltungsanordnung, eine Speichersteuerung, eine speicherinterne Caching-Engine, eine Server-Host-Prozessorplattform, ein Hardwarebeschleuniger und ein Cloud-Computing-Dienst implementiert wird oder Teil davon ist.
  13. Computerlesbares Speicherungsmedium, das Anweisungen umfasst, wobei die Ausführung der Anweisungen durch eine Prozessorschaltungsanordnung bewirken soll, dass die Prozessorschaltungsanordnung das Verfahren nach den Ansprüchen 1-12 durchführt.
  14. Einrichtung, die umfasst: eine mehrstufige Caching-Schaltungsanordnung, die eine Vielzahl von Speicherungsstufen beinhaltet; und eine Objektverwaltungsschaltungsanordnung, die mit der mehrstufigen Caching-Schaltungsanordnung verbunden ist, wobei das Objektverwaltungssystem ausgelegt ist zum: Messen von Abrufkosten zum Zugreifen auf ein Objekt von einem ersten Cache einer ersten Speicherungsstufe der Vielzahl von Speicherungsstufen, in denen das Objekt gegenwärtig gespeichert ist, wobei die Abrufkosten auf einer Abruflatenz basieren, und die Abruflatenz eine Latenzmenge des Objekts ist, das an einen Anforderer des Objekts geliefert wird; Bestimmen einer zweiten Speicherungsstufe der Vielzahl von Speicherungsstufen, in denen das Objekt geräumt werden soll, wenn die Abrufkosten eine Schwelle überschreiten; Veranlassen einer Räumung des Objekts aus dem ersten Cache; und Veranlassen einer Speicherung des geräumten Objekts in dem zweiten Cache.
  15. Einrichtung nach Anspruch 14, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Bestimmen einer Anzahl verzögerter Treffer beim Zugreifen auf das Objekt; und Bestimmen der Abrufkosten basierend auf einer Abruflatenz und der Anzahl verzögerter Treffer, wobei die Abruflatenz auf einer Abrufzeit basiert, und die Abrufzeit eine Zeitmenge zwischen dem Ausgeben eines Abrufbefehls zum Zugreifen auf das Objekt vom ersten Cache und der Lieferung des Objekts an den Anforderer ist.
  16. Einrichtung nach Anspruch 15, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Bestimmen der Abrufkosten basierend auf einem mittleren gewichteten Durchschnitt (MWA) der Abrufzeit, mit der Anzahl verzögerter Treffer zusammengefasst, wobei der MWA ein einfacher gleitender Durchschnitt (SMA) und/oder ein kumulativer Durchschnitt (CA) und/oder ein gewichteter gleitender Durchschnitt (WMA) und/oder ein exponentieller gleitender Durchschnitt (EMA) und/oder ein exponentiell gewichteter gleitender Durchschnitt (EWMA) und/oder ein modifizierter gleitender Durchschnitt (MMA) und/oder ein laufender gleitender Durchschnitt (RMA) und/oder ein geglätteter gleitender Durchschnitt (SMMA) und/oder ein Regressionsmodell mit gleitendem Durchschnitt ist.
  17. Einrichtung nach Anspruch 16, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Bestimmen einer Wiederverwendungszeit, die mit dem Objekt assoziiert ist, wobei die Wiederverwendungszeit eine Zeit zwischen einem vorherigen Zugriff des Objekts und einem aktuellen Zugriff des Objekts ist.
  18. Einrichtung nach Anspruch 17, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Bestimmen einer mittleren Zeit zur Wiederverwendung (MTR) des Objekts basierend auf einer Zeitreihenaggregation der bestimmten Wiederverwendungszeit.
  19. Einrichtung nach Anspruch 18, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Aggregieren eines Cache-Raums zwischen Caches der Speicherungsstufen der Vielzahl von Speicherungsstufen; und Zuordnen einer Menge des aggregierten Cache-Raums zu dem Objekt basierend auf den Abrufkosten, der MTR und einer Zugriffsdichte des Objekts.
  20. Einrichtung nach den Ansprüchen 14-19, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Erhöhen eines Replikationsfaktors des Objekts, wenn das Objekt höhere Abrufkosten aufweist als andere Objekte, die in dem ersten Cache oder anderen Caches anderer Speicherungsstufen der Vielzahl von Speicherungsstufen gespeichert sind.
  21. Einrichtung nach den Ansprüchen 19-20, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Erhöhen eines Komprimierungsfaktors für das Objekt, wenn das Objekt höhere Abrufkosten aufweist als andere Objekte, die in dem ersten Cache oder anderen Caches anderer Speicherungsstufen der Vielzahl von Speicherungsstufen gespeichert sind; und Bewirken einer Verteilung des Objekts mit konsistentem Hashing über den aggregierten Cache-Raum hinweg.
  22. Einrichtung nach den Ansprüchen 14-21, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Detektieren einer Anforderung für das Objekt, die von dem Anforderer ausgegeben wird; Veranlassen des Ausgebens des Abrufbefehls zum Zugreifen auf das Objekt aus dem ersten Cache, wenn kein ausstehender Abrufbefehl für das Objekt vorhanden ist; Warten, bis das Objekt aus dem ersten Cache abgerufen wird, wenn ein ausstehender Abrufbefehl für das Objekt vorhanden ist; und Veranlassen der Lieferung des Objekts an den Anforderer, wenn das Objekt aus dem ersten Cache abgerufen wird.
  23. Einrichtung nach den Ansprüchen 14-22, wobei die Objektverwaltungsschaltungsanordnung ausgelegt ist zum: Bestimmen einer Latenzerfordernis zur Lieferung des Objekts vom ersten Cache an den Anforderer, einer aktuellen Latenz der Lieferung von Daten vom ersten Cache an den Anforderer und einer aktuellen Netzwerkroute zwischen dem ersten Cache und dem Anforderer; und Veranlassen, dass das Objekt über eine neue Netzwerkroute an den Anforderer an den Anforderer geroutet oder geliefert wird, wenn die aktuelle Latenz und eine geschätzte verbleibende Latenz größer als die Latenzerfordernis sind.
  24. Einrichtung nach den Ansprüchen 14 bis 23, wobei: die zweite Speicherungsstufe ist eine Best-Effort-Speicherungsstufe im Vergleich zu anderen Speicherungsstufen der Vielzahl von Speicherungsstufen, wenn die Abrufkosten geringer als oder gleich der Schwelle sind und die erste Speicherungsstufe eine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist; die zweite Speicherungsstufe ist eine nächste verfügbare Speicherungsstufe in Bezug auf die erste Speicherungsstufe, wenn die Abrufkosten größer als die Schwelle sind und die erste Speicherungsstufe eine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist; oder die zweite Speicherungsstufe ist eine Speicherungsstufe der Vielzahl von Speicherungsstufen weiter entfernt von dem Anforderer als die erste Speicherungsstufe, wenn die erste Speicherungsstufe keine äußerste Speicherungsstufe unter der Vielzahl von Speicherungsstufen ist.
  25. Einrichtung nach den Ansprüchen 14 bis 24, wobei: der Anforderer eine Benutzervorrichtung, ein Router, ein Switch, ein Smart-Edge-Switch, eine Gateway-Vorrichtung, ein Netzwerkgerät, ein Lastausgleichsserver, ein Firewall-Gerät, eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU), eine Netzwerkschnittstellensteuerung (NIC), eine Smart-NIC, eine Speicherungssteuerung, eine Cache-Steuerung oder ein Caching-Agent einer Interconnect-Schnittstellenschaltungsanordnung, eine Speichersteuerung, eine speicherinterne Caching-Engine, eine Server-Host-Prozessorplattform, ein Hardwarebeschleuniger und ein Cloud-Computing-Dienst ist; und das Verfahren durch ein Objektverwaltungssystem durchgeführt wird, und das Objektverwaltungssystem als eine Protokollstapelschicht eines Kommunikationsprotokolls, ein Netzwerkspeicherungsstapelsoftwareelement auf einer DPU, ein softwaredefinierter Netzwerk-Switch, eine virtualisierte Netzwerkfunktion, eine serverinterne Bibliothek, ein Caching-Agenten eines Nachrichtenbroker-Frameworks, ein Benutzeragenten-Caching-Mechanismus, ein Web-Caching-System, ein Router, ein Switch, ein Smart-Edge-Switch, eine Gateway-Vorrichtung, ein Netzwerkgerät, ein Lastausgleichsserver, ein Firewall-Gerät, eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU), eine Netzwerkschnittstellensteuerung (NIC), eine Smart-NIC, eine Speicherungssteuerung, eine Cache-Steuerung oder ein Caching-Agenten einer Interconnect-Schnittstellenschaltungsanordnung, eine Speichersteuerung, eine speicherinterne Caching-Engine, eine Server-Host-Prozessorplattform, ein Hardwarebeschleuniger und ein Cloud-Computing-Dienst implementiert wird oder Teil davon ist.
DE102023200988.9A 2022-04-01 2023-02-07 Dynamische latenz-responsive cache-verwaltung Pending DE102023200988A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/711,742 2022-04-01
US17/711,742 US20220224776A1 (en) 2022-04-01 2022-04-01 Dynamic latency-responsive cache management

Publications (1)

Publication Number Publication Date
DE102023200988A1 true DE102023200988A1 (de) 2023-10-05

Family

ID=82322330

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023200988.9A Pending DE102023200988A1 (de) 2022-04-01 2023-02-07 Dynamische latenz-responsive cache-verwaltung

Country Status (2)

Country Link
US (1) US20220224776A1 (de)
DE (1) DE102023200988A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10887574B2 (en) 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US11470017B2 (en) * 2019-07-30 2022-10-11 At&T Intellectual Property I, L.P. Immersive reality component management via a reduced competition core network component
US11957974B2 (en) * 2020-02-10 2024-04-16 Intel Corporation System architecture for cloud gaming
US11956331B2 (en) * 2022-09-08 2024-04-09 Nokia Solutions And Networks Oy System and method for cache synchronization among network gateways in networks such as software defined networks
US11863393B1 (en) * 2022-11-24 2024-01-02 EdgeQ, Inc. Systems and methods for high availability in telco cloud for radio access network
CN116828226B (zh) * 2023-08-28 2023-11-10 南京邮电大学 基于区块链的云边端协同视频流缓存系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Atre et al., Caching with Delayed Hits, TAGUNGSBERICHT DER JAHRESTAGUNG DER ACM SPECIAL INTEREST GROUP FÜR DATENKOMMUNIKATION ZU DEN ANWENDUNGEN, TECHNOLOGIEN, ARCHITEKTUREN UND PROTOKOLLEN FÜR DIE COMPUTERKOMMUNIKATION (SIGCOMM '20), S. 495 - 513

Also Published As

Publication number Publication date
US20220224776A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
NL2033617B1 (en) Resilient radio resource provisioning for network slicing
DE102022200847A1 (de) Bestärkendes lernen für mehrfachzugriffsverkehrsverwaltung
EP4002904A1 (de) Technologien für die cyber-sicherheit von funkgeräten und die prüfung von mehrfunkschnittstellen
US20220124543A1 (en) Graph neural network and reinforcement learning techniques for connection management
US20220303331A1 (en) Link performance prediction and media streaming technologies
DE112020004736T5 (de) Edge-computing-technologien für transportschichtüberlastregelung und point-of-presence-optimierungen auf grundlage erweiterter vorab-dienstgüte-benachrichtigungen
US20220109622A1 (en) Reliability enhancements for multi-access traffic management
US20210409335A1 (en) Multi-access management service packet classification and prioritization techniques
DE102021211176A1 (de) Interoperables framework für sicheren verbrauch von dual-modus-edge-anwendungsprogrammierungsschnittstellen in hybriden edge-computing-plattformen
DE112020002310T5 (de) V2x-dienste zur bereitstellung fahrtspezifischer qos-vorhersagen
DE102023200988A1 (de) Dynamische latenz-responsive cache-verwaltung
DE112020001183T5 (de) Multi-slice-unterstützung für mec-fähige 5g-implementierungen
US20220124043A1 (en) Multi-access management service enhancements for quality of service and time sensitive applications
DE102019217367A1 (de) VERWALTUNG DER DIENSTQUALITÄT (QoS) IN EDGE-COMPUTING-UMGEBUNGEN
DE112020007003T5 (de) Multi-funkzugangstechnologie-verkehrsverwaltung
NL2033587B1 (en) Multi-access management service queueing and reordering techniques
DE102022200588A1 (de) Überlastungs- und mehrkanalsteuerung eines verkehrstelematiksystems
US20230006889A1 (en) Flow-specific network slicing
DE102022202963A1 (de) Verkehrsaufteilungs- und neuübertragungsmechanismen mit schichtübergreifender und zugangsübergreifender technologie
US20220124588A1 (en) Traffic steering and cross-layer and cross-link mobility management techniques for multi-access management services
DE112020006555T5 (de) Rekonfigurierbare funksysteme mit funkschnittstellen-engines und virtuellen funkmaschinen
CN117897980A (zh) 无线接入网智能应用管理器
US20220124548A1 (en) Technologies for network path and topology management
DE112021005003T5 (de) Verbindungsleistungsvorhersage unter verwendung von räumlicher verbindungsleistungsabbildung
WO2023283102A1 (en) Radio resource planning and slice-aware scheduling for intelligent radio access network slicing

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)