DE202019005818U1 - System und Einrichtung zum Auswählen eines Edge-Servers - Google Patents

System und Einrichtung zum Auswählen eines Edge-Servers Download PDF

Info

Publication number
DE202019005818U1
DE202019005818U1 DE202019005818.4U DE202019005818U DE202019005818U1 DE 202019005818 U1 DE202019005818 U1 DE 202019005818U1 DE 202019005818 U DE202019005818 U DE 202019005818U DE 202019005818 U1 DE202019005818 U1 DE 202019005818U1
Authority
DE
Germany
Prior art keywords
user device
edge server
edge
user
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202019005818.4U
Other languages
English (en)
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.)
Twitter Inc
Original Assignee
Twitter Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Twitter Inc filed Critical Twitter Inc
Publication of DE202019005818U1 publication Critical patent/DE202019005818U1/de
Expired - Lifetime legal-status Critical Current
Anticipated expiration legal-status Critical

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Vielzahl von Benutzergeräten, die dazu ausgelegt sind, Operationen durchzuführen, die Folgendes umfassen:
Senden von Probing-Anforderungen zu einem besten Edge-Server für jedes Benutzergerät und zu einem oder mehreren einer Vielzahl von Edge-Servern, die nicht als der beste Edge-Server für das jeweilige Benutzergerät identifiziert sind,
wobei die Vielzahl von Edge-Servern dazu ausgelegt ist, Zugang zu einer Inhaltsplattform bereitzustellen, die Inhalt zu der Vielzahl von Benutzergeräten liefert, wobei jedes Benutzergerät mit einem Netzwerkschlüssel assoziiert ist,
wobei eine Anzahl von Netzwerkschlüsseln geringer ist als eine Anzahl von Benutzergeräten und die Netzwerkschlüssel als Kennungen von Partitionen von Benutzergeräten dienen und wobei jedes Benutzergerät dazu ausgelegt ist,
Inhaltsanforderungen zu einem Edge-Server der Vielzahl von Edge-Servern zu senden, der von Daten auf dem Benutzergerät als ein bester Edge-Server für das Benutzergerät identifiziert ist;
Empfangen von Probing-Antworten auf die Probing-Anforderungen von jeweiligen besten Edge-Servern und dem jeweiligen einen oder den mehreren der Vielzahl von Edge-Servern, die nicht als der beste Edge-Server für das jeweilige Benutzergerät identifiziert sind oder von denen eine Antwort ausbleibt;
Bestimmen für jede empfangene Probing-Antwort einer Umlaufzeit, wobei die Umlaufzeit eine Zeitmenge ist, die zwischen einem Zeitpunkt, zu dem ein Benutzerendgerät die Probing-Antwort empfangen hat, und einem Zeitpunkt, zu dem das Benutzerendgerät die entsprechende Probing-Anforderung versandt hat, verstrichen ist, wobei die bestimmten Umlaufzeiten Edge-Serverdaten sind;
Senden einer Polling-Anforderung an die Inhaltsplattform durch ein erstes Benutzergerät, das mit einem ersten Netzwerkschlüssel assoziiert ist, wobei basierend auf der Polling-Anforderung von der Inhaltsplattform ein neuer bester Edge-Server für das erste Benutzergerät mindestens zum Teil basierend auf aggregierten Edge-Serverdaten ausgewählt wird, die von der Inhaltsplattform von jedem der Vielzahl von Benutzergeräten empfangen wurden, wobei die aggregierten Edge-Serverdaten mit dem ersten Netzwerkschlüssel markiert sind, wobei die aggregierten Edge-Serverdaten von der Inhaltsplattform gemäß Netzwerkschlüsseln aggregiert sind; und
Empfangen durch das erste Benutzerendgerät einer Kennung des ausgewählten neuen besten Edge-Servers für das erste Benutzerendgerät und von Kennungen eines oder mehrerer anderer Edge-Server, an die das erste Benutzergerät zukünftige Probing-Anforderungen senden sollte.

Description

  • HINTERGRUND
  • Diese Gebrauchsmusterschrift betrifft im Allgemeinen das Lastausgleichen auf serverbasierten Systemen.
  • KURZDARSTELLUNG
  • Diese Gebrauchsmusterschrift beschreibt Technologien zum Identifizieren für jedes Benutzergerät, das eine Inhaltsplattform verwendet, eines besten Eintrittswegs, den das Benutzergerät verwenden soll, um auf die Inhaltsplattform zuzugreifen.
  • Ein beispielhaftes System beinhaltet Benutzergeräte, Edge-Server, die Server sind, die Benutzergeräte verwenden, um auf die Inhaltsplattform zuzugreifen, einen Aggregationsdienst und einen Verkehrssteuerdienst. Jedes Benutzergerät ist mit einem Netzwerkschlüssel assoziiert. Die Anzahl von Netzwerkschlüsseln ist kleiner als die Anzahl von Benutzergeräten. Die Netzwerkschlüssel dienen als Kennungen von Partitionen von Benutzergeräten, wobei die Benutzergeräte in jeder Partition ähnliche Merkmale aufweisen. Jedes Benutzergerät ist dazu ausgelegt, Inhaltsanforderungen zu einem identifizierten besten Edge-Server für das Benutzergerät zu senden. Der Edge-Server stellt den Benutzergeräten Zugang für die Inhaltsplattform bereit.
  • Der Aggregationsdienst erhält Daten über die Edge-Server von den Benutzergeräten. In dieser Gebrauchsmusterschrift werden Daten als Edge-Serverdaten bezeichnet. Die Edge-Serverdaten sind mit Geräteinformationen über das Benutzergerät, das die Edge-Serverdaten bereitgestellt hat, einschließlich des Netzwerkschlüssels, der mit dem Benutzergerät assoziiert ist, markiert. Der Aggregationsdienst aggregiert die Edge-Serverdaten nach Netzwerkschlüssel und speichert die aggregierten Daten im Speicher auf einem physischen Server.
  • Jedes Benutzergerät ist dazu ausgelegt, Probing-Anforderungen zu den besten Edge-Servern für das Benutzergerät und zu einem oder mehreren anderen Edge-Servern zu senden. Die Benutzergeräte empfangen Probing-Antworten auf die Probing-Anforderungen oder vermerken ein Ausbleiben einer Antwort. Die Benutzergeräte bestimmen für jede empfangene Probing-Antwort eine Umlaufzeit.
  • Der Verkehrssteuerdienst empfängt von jedem Benutzergerät eine Polling-Anforderung. Als Antwort erhält der Verkehrssteuerdienst von dem Aggregationsdienst die Edge-Serverdaten, die anhand des Netzwerkschlüssels aggregiert sind, der mit dem Netzwerkschlüssel, der mit dem Benutzergerät assoziiert ist, übereinstimmt. Der Verkehrssteuerdienst wählt einen besten Edge-Server für das Benutzergerät basierend auf den aggregierten Daten aus. Der Verkehrssteuerservice stellt dem Benutzergerät eine Kennung des ausgewählten besten Edge-Servers für das Benutzergerät bereit und Kennungen eines oder mehrerer anderer Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte.
  • Diese Gebrauchsmusterschrift verwendet den Begriff „ausgelegt, um“ in Verbindung mit Systemen, Einrichtungen und Computerprogrammkomponenten. Für ein System aus einem oder mehreren Computern bedeutet das Ausgelegtsein, um besondere Operationen oder Aktionen auszuführen, dass auf dem System Software, Firmware, Hardware oder eine Kombination davon installiert ist, die beim Betrieb das System veranlassen, die Operationen oder Aktionen auszuführen. Für ein oder mehrere Computerprogramme bedeutet das Ausgelegtsein, um besondere Operationen oder Aktionen auszuführen, dass das eine oder die mehreren Programme Anweisungen beinhalten, die, wenn sie von einer Datenverarbeitungseinrichtung ausgeführt werden, die Einrichtung dazu veranlassen, die Operationen oder Aktionen auszuführen. Für eine Sonderzweck-Logikschaltungsanordnung bedeutet Ausgelegtsein, um besondere Operationen oder Aktionen auszuführen, dass die Schaltungsanordnung elektronische Logik aufweist, die Operationen oder Aktionen ausführt.
  • Der Gegenstand, der in dieser Gebrauchsmusterschrift beschrieben ist, kann bei besonderen Ausführungsformen derart umgesetzt werden, dass ein oder mehrere der folgenden Vorteile realisiert wird. Das System misst Ende-zu-Ende-Latenz zwischen Benutzergeräten und Edge-Servern und verwendet die resultierenden Latenzdaten gemeinsam mit anderen Edge-Serverdaten, um einen besten Edge-Server für jedes Benutzergerät auszuwählen. Insbesondere wählt der Verkehrssteuerdienst beste Edge-Server für Benutzergeräte durch Verwenden von Edge-Serverdaten auf dem neuesten Stand aus, die aus mehreren Benutzergeräten gesammelt werden, und kann somit schnell auf Änderungen der Verteilung von Anforderungen von Benutzergeräten und der Fähigkeit von Edge-Servern und der jeweiligen Teile der Inhaltsplattform antworten, die die Edge-Server verwenden, um auf diese Anforderungen zu antworten.
  • Die Edge-Serverdaten, die von dem System aus den Benutzergeräten gesammelt werden, können auch verwendet werden, um Probleme zu erfassen und Systemverwaltungswerkzeuge auf Probleme aufmerksam zu machen, die für eine besondere Gruppe von Benutzern, für besondere Gerätetypen, besondere Dienstanbieter oder besondere Transit-Peers spezifisch sind.
  • Schließlich kann der Verkehrssteuerdienst auf eine Polling-Anforderung mit einem besten Edge-Server sogar antworten, falls der Verkehrssteuerdienst Edge-Serverdaten von dem besonderen Benutzergerät, das die Polling-Anforderungen stellt, nicht erhalten kann. Stattdessen reicht es, Edge-Serverdaten aus Benutzergeräten mit demselben Netzwerkschlüssel zu haben.
  • Die Einzelheiten einer oder mehrerer Ausführungsformen des Gegenstands dieser Gebrauchsmusterschrift sind in den folgenden begleitenden Zeichnungen und der Beschreibung unten dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstands ergeben sich aus der Beschreibung, den Zeichnungen und den Schutzansprüchen.
  • Figurenliste
    • 1 ist ein Diagramm eines beispielhaften Systems, das dazu ausgelegt ist, beste Edge-Server für Benutzergeräte zu bestimmen.
    • 2 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Auswählen bester Edge-Server für Benutzergeräte.
    • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Senden von Probing-Anforderungen zu Edge-Servern.
    • 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Aggregieren von Daten.
  • Gleiche Bezugszeichen und Bezeichnungen geben in den verschiedenen Zeichnungen gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist ein Diagramm eines beispielhaften Systems 100, das dazu ausgelegt ist, einen Edge-Server als einen jeweiligen besten Edge-Server für jedes jeweilige Benutzergerät in dem System auszuwählen. Das System beinhaltet Benutzergeräte, zum Beispiel ein Benutzergerät 110, und Edge-Server 140a bis 140n, durch die die Benutzergeräte auf eine Inhaltsplattform 195 zugreifen. Die Inhaltsplattform beinhaltet einen Aggregationsdienst 120, einen Verkehrssteuerdienst 130 und einen Inhaltsserver 135. Im Allgemeinen enthält die Plattform mehrere Inhaltsserver, und die Edge- und Inhaltsserver sind geografisch verteilt.
  • Die Benutzergeräte können beliebige Computing-Vorrichtungen mit Internetanschluss sein, einschließlich Laptop- oder Desktop-Computer, elektronische Tablets oder Mobilgeräte. Die Benutzergeräte können an das Internet durch ein Mobilfunknetzwerk oder durch einen Internet-Dienstanbieter angeschlossen sein. Obwohl 1 nur ein einziges Benutzergerät abbildet, kann das System viele Benutzergeräte, die irgendwo in der Welt arbeiten, unterstützen.
  • Jedes Benutzergerät ist mit Client-Software ausgelegt, die beim Betrieb mit den Edge-Servern in Kommunikation steht. Auf jedem besonderen Benutzergerät kann die Client-Software JavaScript-Code oder Java-Code sein oder beinhalten. Oder die Client-Software kann auch dedizierte Software sein, zum Beispiel eine installierte Appli oder installierte Anwendung, die dazu entworfen ist, spezifisch mit den Edge-Servern zu arbeiten.
  • Jeder Edge-Server wird auf einem oder mehreren Computern umgesetzt, und im Allgemeinen auf separaten Computern von den anderen Edge-Servern. Im Allgemeinen beinhalten die Edge-Server Edge-Server an mehreren unterschiedlichen geografischen Orten. Die Edge-Server stellen den Client-Software-Zugriff auf Inhaltsserver bereit, erlauben es der Client-Software, Inhalt zu einem Inhaltsserver zu veröffentlichen und Inhalt von diesem zu empfangen. Der Inhaltsserver kann Inhalt einer Website, Anwendung, Kommunikationsplattform oder dergleichen speichern und/oder anbieten. Der Inhaltsserver kann zum Beispiel Inhalt auf einer sozialen Online-Messaging-Plattform speichern und anbieten, einschließlich Nachrichten und Veröffentlichungen von Benutzern, die die soziale Online-Messaging-Plattform verwenden. In einigen Fällen sind die Edge-Server auch Inhaltsserver.
  • Die Edge-Server antworten auf Probing-Anforderungen, zum Beispiel eine Probing-Anforderung 150 von dem Benutzergerät 110, durch Senden von Probing-Antworten, zum Beispiel einer Probing-Antwort 152. Das Benutzergerät bestimmt eine Umlaufzeit für die Probing-Anforderung und die Probing-Antwort. Falls die Benutzervorrichtung die Probing-Antwort nicht empfängt, vermerkt sie dieses Ausbleiben einer Antwort.
  • Die Benutzergeräte sind dazu ausgelegt, Edge-Serverdaten 160, einschließlich berechneter Umlaufzeiten, zu dem Aggregationsdienst zu senden. Die Benutzergeräte können die Edge-Serverdaten in großen Batches senden, oder sie können die Edge-Serverdaten inkrementell, während sie sie berechnen, senden. Jedes Benutzergerät markiert die Edge-Serverdaten, die es zu dem Aggregationsservice sendet, mit dem Netzwerkschlüssel des Benutzergeräts. Der Aggregationsdienst aggregiert die Edge-Serverdaten nach Netzwerkschlüssel und speichert die aggregierten Daten. Die aggregierten Daten können nach Netzwerkschlüssel und Edge-Server indexiert werden, was ein einfaches Nachschlagen erlaubt. Bei einigen Umsetzungen nimmt der Aggregationsdienst einen Teil oder die gesamte Aggregationen spontan vor, während aggregierte Daten angefordert werden.
  • Netzwerkschlüssel können auf eine Anzahl von Arten bestimmt werden. Bei einigen Umsetzungen ist der Netzwerkschlüssel für ein besonderes Benutzergerät ein Tupel aus den folgenden Elementen: (i) ein Landescode des Benutzergeräts und (ii) eine autonome Systemnummer, die einer Internet-Protokoll-Adresse (IP-Adresse) des Benutzergeräts entspricht. Bei anderen Umsetzungen ist der Netzwerkschlüssel ein N-Tupel (i) eines Landescodes des Benutzergeräts, (ii) eine autonome Systemnummer, die einer IP-Adresse des Benutzergeräts entspricht und (iii) die drei ersten Byte der IP-Adresse des Benutzergeräts. Bei anderen Umsetzungen ist der Netzwerkschlüssel ein Tupel, das aus zwei oder mehr eines Landescode des Benutzergeräts, einer autonomen Systemnummer, die einer IP-Adresse des Benutzergeräts entspricht, einer Kennung eines Netzwerkaustrittswegs des Benutzergeräts, einer Kennung einer geographischen Region, in der sich das Benutzergerät befindet, und einer Kennung eines Verbindungstyps des Benutzergeräts besteht.
  • Benutzergeräte, die mit demselben Netzwerkschlüssel assoziiert sind, weisen im Allgemeinen für einen gegebenen Edge-Server ähnliche Edge-Serverdaten auf. Die Elemente des Netzwerkschlüssels können basierend auf historischen Daten ausgewählt werden, um dieses Resultat zu erreichen.
  • Ein Vorteil des Aggregierens von Edge-Serverdaten nach Netzwerkschlüssel besteht darin, dass derartige Daten umfassender sind als Daten aus einem einzigen Benutzergerät, und die Auswahl eines besten Edge-Servers ist robuster. Ein anderer Vorteil des Aggregierens von Edge-Serverdaten nach Netzwerkschlüssel besteht darin, dass mehrere Benutzergeräte mit einem gemeinsamen Netzwerkschlüssel ohne Weiteres Probing-Anforderungen kollektiv zu einem großen Satz von Edge-Servern senden können, was für ein einziges Benutzergerät unpraktisch wäre.
  • Die Benutzergeräte in dem System sind dazu ausgelegt, Polling-Anforderungen 180 zu dem Verkehrssteuerservice zu senden. Die Häufigkeit, mit der die Benutzergeräte Polling-Anforderungen senden, kann variieren. Die Benutzergeräte können zum Beispiel Polling-Anforderungen alle 5 Minuten, 10 Minuten oder 20 Minuten senden. Die Benutzergeräte können Polling-Anforderungen mehr oder weniger häufig senden. Bei einigen Umsetzungen beinhaltet die Kennung eines besten Edge-Servers, die der Verkehrssteuerdienst zu einem Benutzergerät sendet, einen „Poll-After“-Wert (Pollennach-Wert), der eine Zeit spezifiziert, nach der das Benutzergerät eine neue Polling-Anforderungen senden sollte. Die Benutzergeräte können optional ausgelegt sein, um eine Polling-Anforderung zu senden, wenn sie eine Steigerung oder mehr als ein Schwellenniveau an Latenz von ihren jeweiligen besten Edge-Servern feststellen.
  • Der Verkehrssteuerdienst ist dazu ausgelegt, beste Edge-Server für die Benutzergeräte in dem System basierend auf den aggregierten Daten, die von dem Aggregationsdienst berechnet werden, zu bestimmen. Durch Auswählen bester Edge-Server für die Benutzergeräte in dem System wählt der Verkehrssteuerdienst nämlich die besten Eintrittswege von den Benutzergeräten zu der Inhaltsplattform aus. Ein beispielhafter Prozess, bei dem der Verkehrssteuerdienst beste Edge-Server auswählt, ist unter Bezugnahme auf 2 beschrieben.
  • Der Verkehrssteuerdienst ist dazu ausgelegt, Kennungen, zum Beispiel IP-Adressen, bester Edge-Server zu den Benutzergeräten in dem System zu senden. Die Benutzergeräte erstellen dann ihre Anforderungen nach Systeminhalt von den Edge-Servern, die diese Kennungen aufweisen.
  • Der Verkehrssteuerdienst ist auch dazu ausgelegt, jedem der Benutzergeräte in dem System eine Liste anderer Edge-Server zu senden, das heißt anderer Edge-Server als der, der als der beste Edge-Server identifiziert ist, zu dem die Benutzergeräte Probing-Anforderungen senden sollten. Dieser Prozess wird ausführlicher unter Bezugnahme auf 2 beschrieben.
  • 2 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Auswählen bester Edge-Server für Benutzergeräte in einem System durch den Verkehrssteuerdienst. Dieser Prozess wird unter Bezugnahme auf ein einziges Benutzergerät, das eine einzige Polling-Anforderung erstellt, beschrieben.
  • Der Verkehrssteuerdienst empfängt eine Polling-Anforderung von einem Benutzergerät in dem System (210).
  • Als Antwort auf die Polling-Anforderung erhält der Verkehrssteuerdienst aggregierte Daten von dem Aggregationsdienst (220). Für jede Polling-Anforderung erhält der Verkehrssteuerdienst nur die aggregierten Daten, die mit dem Netzwerkschlüssel, der derselbe ist wie der Netzwerkschlüssel, der mit dem Benutzergerät, das die Polling-Anforderung gesandt hat, assoziiert ist, markiert sind. Bei einigen Umsetzungen speichert der Verkehrssteuerdienst aggregierte Daten während kurzer Zeiträume zwischen und verwendet die zwischengespeicherten Daten, wenn sie verfügbar sind.
  • Die aggregierten Daten können für jeden Edge-Server, der von einem Benutzergerät abgefragt wird, das denselben Netzwerkschlüssel gemeinsam verwendet, die folgenden Latenzdaten beinhalten: (i) eine Anzahl von Probing-Anforderungen, die zu dem Edge-Server von den Benutzergeräten in einem besonderen Zeitrahmen gesandt werden, (ii) eine Probing-Antworterfolgsrate des Edge-Servers, das heißt eine Anzahl von Probing-Antworten, die von den Benutzergeräten empfangen werden, geteilt durch eine Anzahl von Probing-Anforderungen, die zu dem Edge-Server von den Benutzergeräten gesandt werden, (iii) ein arithmetisches Mittel oder einen anderen Durchschnitt der Umlaufzeiten des Edge-Servers, (iv) und eine Standardabweichung der Umlaufzeiten des Edge-Servers. Die aggregierten Latenzdaten sind nicht auf die oben stehenden Kategorien beschränkt. Zusätzlich kann der Aggregationsdienst andere Edge-Serverdaten als Latenzdaten speichern, und der Verkehrssteuerdienst kann sie erhalten, zum Beispiel Verfügbarkeitsdaten, Durchsatzdaten und Kostendaten über die Edge-Server. Der Aggregationsdienst würde diese anderen Edge-Serverdaten direkt von den Edge-Servern erhalten.
  • Obwohl auf den Verkehrssteuerdienst und den Aggregationsdienst bei diesem Prozess als separate Dienste verwiesen wird, kann die Funktionalität beider in einem einzigen physischen Server umgesetzt werden.
  • Nach dem Erhalten der aggregierten Daten von dem Aggregationsdienst, wählt der Verkehrssteuerdienst einen besonderen Edge-Server als einen besten Edge-Server für das Benutzergerät, das die Polling-Anforderung (230) gesandt hat, aus. Bei einigen Umsetzungen beginnt der Verkehrssteuerdienst mit einem Kandidatensatz von Edge-Servern, für die der Verkehrssteuerdienst jeweils mindestens eine Schwellenmenge an Daten besitzt. Der Verkehrssteuerdienst entfernt aus dem Kandidatensatz Edge-Server, die eine mittlere Mindest-Probing-Antworterfolgsrate nicht erfüllen. Das entfernt überladene Edge-Server und Edge-Server, die nicht verfügbar sind, aus der Berücksichtigung. Für jeden Edge-Server, der die Mindest-Probing-Antworterfolgsrate nicht erfüllt, berechnet der Verkehrssteuerdienst einen Server-Score und stuft die Edge-Server gemäß ihren jeweiligen Server-Scores ein. Bei einigen Umsetzungen ist der Server-Score die mittlere Umlaufzeit des Edge-Servers oder eine Funktion dieser. Bei anderen Umsetzungen ist der Server-Score die mittlere Umlaufzeit des Edge-Servers plus der Standardabweichung der Umlaufzeiten oder eine Funktion dieser. Bei anderen Umsetzungen ist der Server-Score ein hoher Prozentsatz, zum Beispiel 95 oder 98 % der Umlaufzeit für den Edge-Server oder eine Funktion davon.
  • Bei einigen Umsetzungen verwendet der Verkehrssteuerdienst andere Typen von Edge-Serverdaten, zum Beispiel Verfügbarkeitsdaten, Durchsatzdaten oder Kostendaten, um einen besten Edge-Server für ein Benutzergerät zu bestimmen. Verfügbarkeitsdaten sind Daten, die angeben, ob ein Edge-Server zu einem bestimmten Zeitpunkt betriebsfähig oder nicht betriebsfähig ist, oder Daten, die die durchschnittliche Zeit angeben, während der ein Edge-Server innerhalb eines besonderen Zeitraums betriebsfähig ist. Durchsatzdaten sind Daten, die die Bitrate eines Edge-Servers angeben. Und Kostendaten sind Daten, die die Kosten des Zugreifens auf die Inhaltsplattform durch einen Edge-Server statt einen anderen angeben. Im Gegensatz zu Latenzdaten, können Verfügbarkeitsdaten, Durchsatzdaten und Kostendaten direkt von den Edge-Servern gesammelt werden.
  • Der Verkehrssteuerdienst kann Verfügbarkeitsdaten, Durchsatzdaten und Kostendaten als zusätzliche Faktoren beim Auswählen eines besten Edge-Servers für ein Benutzergerät verwenden. Falls zum Beispiel ein besonderer Edge-Server niedrigen Durchsatz oder hohe Kosten im Vergleich zu anderen Edge-Servern aufweist, kann der Verkehrssteuerdienst den Server-Score dieses besonderen Edge-Servers einstellen, zum Beispiel reduzieren.
  • In einigen Fällen kann der Verkehrssteuerdienst eine unzureichende Menge an Latenzdaten haben, um eine robuste Bestimmung des besten Edge-Servers für ein besonderes Benutzergerät vorzunehmen. In derartigen Fällen kann der Verkehrssteuerdienst allein auf Verfügbarkeit, Durchsatz und Kostendaten setzen, um die Bestimmung vorzunehmen.
  • Bei einigen Umsetzungen stellt der Verkehrssteuerdienst die aggregierten Daten für ein Host-Auswahlsystem bereit, das ein trainiertes Machine-Learning-Modell umsetzt, das trainiert wurde, um beste Edge-Server für Benutzergeräte zu identifizieren. Um ein derartiges Machine-Learning-Modell zu trainieren, empfängt ein Trainingsprozess zum Beispiel aggregierte Daten für einen Satz von Benutzergeräten. Jedes Benutzergerät in dem Satz ist mit einem aktuellen besten Edge-Server markiert, der zum Beispiel durch statistische Verfahren ausgewählt werden kann. Falls der Edge-Server, der als der beste Edge-Server für ein besonderes Benutzergerät von dem Machine-Learning-Modell identifiziert wird, nicht dem aktuellen besten Edge-Server für das Benutzergerät entspricht, aktualisiert der Trainingsprozess Parameter des Machine-Learning-Modells. Dieser Prozess wird viele Male wiederholt, bis die Parameter des Machine-Learning-Modells derart sind, dass das Modell beste Edge-Server mit einer besonderen Genauigkeit identifiziert. Sobald das Machine-Learning-Modell trainiert ist, kann der abschließende Satz von Parametern verwendet werden, um beste Edge-Server für Benutzergeräte in dem System zu bestimmen.
  • Der Verkehrssteuerdienst stellt eine Kennung des ausgewählten besten Edge-Servers für das Benutzergerät (240) bereit. Danach und bis das Benutzergerät eine neue Polling-Anforderung zu dem Verkehrssteuerdienst sendet, sendet das Benutzergerät Inhaltsanforderungen nach Systeminhalt zu dem ausgewählten besten Edge-Server.
  • Der Verkehrssteuerdienst sendet zu dem Benutzergerät auch Kennungen anderer Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen (250) senden sollte. Bei einigen Umsetzungen sind diese Edge-Server die nächsten N höchstrangigen Edge-Server für das Benutzergerät. Bei einigen dieser Umsetzungen beträgt N etwa 30 bis 40.
  • Bei alternativen Umsetzungen nimmt der Verkehrssteuerdienst eine virtuelle Lotterie vor, um die anderen Edge-Server auszuwählen. Der Verkehrssteuerdienst kann zum Beispiel eine Rangliste mit 25 Edge-Servern erzeugen. Der Verkehrssteuerdienst identifiziert den Edge-Server mit dem höchsten Rang als den besten Edge-Server. Die restlichen 24 Edge-Server nehmen an der virtuellen Lotterie teil, bei der die Anzahl von Lotteriescheinen, die einem besonderen Edge-Server zugewiesen ist, zu seinem Rang umgekehrt proportional ist. Das stellt sicher, dass die Edge-Server, die wahrscheinlicher die besten Edge-Server sind, das heißt Edge-Server mit höheren Rängen, öfter abgefragt werden, während etwas Zufälligkeit bereitgestellt wird, um sicherzustellen, dass der Verkehrssteuerdienst neue beste Edge-Server als Edge-Server-Verfügbarkeit oder Route-Wechsel entdecken kann. Der Verkehrssteuerdienst wählt Lotteriescheine pseudozufällig aus, bis eine vorbestimmte Anzahl von Edge-Servern die Lotterie gewonnen hat. Die gewinnenden Edge-Server sind die Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden wird.
  • Der Verkehrssteuerdienst kann optional sicherstellen, dass jeder Edge-Server mindestens einmal zum Probing ausgewählt wird. Falls zum Beispiel ein besonderer Edge-Server bei einer vorbestimmten Anzahl aufeinanderfolgender Lotterien nicht ausgewählt wird, kann der Verkehrssteuerdienst die Resultate der nächsten virtuellen Lotterie außer Kraft setzen, um sicherzustellen, dass sich der Edge-Server unter den Edge-Servern befindet, die von dem Benutzergerät abgefragt werden sollen.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Senden einer Probing-Anforderung zu einem Edge-Server. Der Prozess wird unter Bezugnahme auf ein einziges Benutzergerät beschrieben, das eine einzige Probing-Anforderung sendet, aber jedes Benutzergerät in dem System sendet, wie beschrieben wurde, mehrere Probing-Anforderungen zu mehreren unterschiedlichen Edge-Servern.
  • Das Benutzergerät sendet eine Probing-Anforderung zu einem Edge-Server (310). Die Probing-Anforderung kann eine Anforderung einer Testdatei sein, oder sie kann eine Anforderung von Inhalt sein, oder sie kann mit einer Anforderung von Inhalt kombiniert werden.
  • Falls das Benutzergerät eine Probing-Antwort (320) empfängt, bestimmt das Benutzergerät die Umlaufzeit der Antwort (330). Die Umlaufzeit ist eine Zeitmenge, die zwischen einem Zeitpunkt, zu dem das Benutzergerät die Probing-Antwort empfangen hat, und einem Zeitpunkt, zu dem das Benutzergerät die entsprechende Probing-Anforderung versandt hat, verstrichen ist. Falls das Benutzergerät keine Probing-Antwort (320) empfängt, wird diese Tatsache vermerkt und in die Edge-Serverdaten aufgenommen, die das Benutzergerät zu dem Aggregationsdienst (340) sendet.
  • 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Aggregieren von Edge-Serverdaten, die von Benutzergeräten in dem System gesandt werden. Dieser Prozess wird als von dem Aggregationsdienst, der oben beschrieben ist, ausgeführt beschrieben.
  • Der Aggregationsdienst erhält Edge-Serverdaten von den Benutzergeräten in dem System (410). Der Aggregationsdienst aggregiert die Edge-Serverdaten nach Netzwerkschlüssel und, innerhalb jeder Gruppe, die von einem besonderen Netzwerkschlüssel definiert ist, nach Edge-Server (420). Der Aggregationsdienst berechnet dann verschiedene Statistiken für jeden Edge-Server in jeder Gruppe (430). Die Statistiken können eine Probing-Antworterfolgsrate, eine mittlere Umlaufzeit und dergleichen beinhalten. In dieser Gebrauchsmusterschrift werden diese Statistiken gemeinsam als aggregierte Daten bezeichnet.
  • Der Aggregationsdienst speichert die aggregierten Daten im Speicher auf einem physischen Server (440). Der Aggregationsdienst indexiert die aggregierten Daten nach Netzwerkschlüssel und einer eindeutigen Edge-Server-Kennung. Die Edge-Server-Kennung kann zum Beispiel eine IP-Adresse des Edge-Servers sein.
  • Die aggregierten Daten werden regelmäßig neu berechnet. Bei einigen Umsetzungen werden sie mit einer vorbestimmten Frequenz neu berechnet. Bei einigen dieser Umsetzungen ist die vorbestimmte Frequenz die Polling-Anforderungsfrequenz oder ein Vielfaches der Polling-Anforderungsfrequenz. Falls die Neuberechnungsfrequenz die Polling-Anforderungsfrequenz ist, tritt Neuberechnung nach einer Zeit auf, während der die Benutzergeräte jeweils im Durchschnitt eine Polling-Anforderung erstellt haben. Regelmäßige Neuberechnung stellt sicher, dass die aggregierten Daten aktuell sind und aktuelle Netzwerkbedingungen wiedergeben, wenn Benutzergeräte neue Polling-Anforderungen machen. Bei einigen Umsetzungen werden die Daten gewichtet, um jüngere Daten zu begünstigen; bei einigen Umsetzungen werden die Edge-Serverdaten, die verwendet werden, um aggregierte Daten zu berechnen, auf ein vorbestimmtes Aktualitätsfenster, das kürzer sein kann als die Neuberechnungsfrequenz, beschränkt.
  • Ausführungsformen des Gegenstands und die Aktionen und Operationen, die in dieser Gebrauchsmusterschrift beschrieben sind, können in digitaler elektronischer Schaltungsanordnung, konkret verkörperter Computer-Software oder Firmware, Computer-Hardware, einschließlich der Strukturen, die in dieser Gebrauchs-musterschrift und ihrer Strukturäquivalente offenbart sind, oder in Kombinationen einer oder mehrerer dieser umgesetzt werden. Ausführungsformen des in dieser Gebrauchsmusterschrift beschriebenen Gegenstands können als ein oder mehrere Computerprogramme umgesetzt werden, das heißt ein oder mehrere Module von Computerprogrammanweisungen, die auf einem konkreten nichtflüchtigen Speichermedium zur Ausführung von Datenverarbeitungseinrichtungen oder deren Betriebssteuerung codiert werden. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten verbreiteten Signal codiert sein, zum Beispiel einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt wird, um Informationen zur Übertragung zu geeigneten Empfangseinrichtungen zur Ausführung durch eine Datenverarbeitungseinrichtung zu kodieren. Das Computerspeichermedium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speicherungssubstrat, eine Direkt- oder serielle Zugriffsspeichervorrichtung sein oder Teil davon sein, oder eine Kombination einer oder mehrerer dieser. Ein Computerspeichermedium ist nicht ein verbreitetes Signal. Der Begriff „Datenverarbeitungseinrichtung“ schließt alle Arten von Einrichtungen, Vorrichtungen und Maschinen zum Verarbeiten von Daten ein, einschließlich beispielhaft einen programmierbaren Prozessor, einen Computer oder mehrere Prozessoren oder Computer. Datenverarbeitungseinrichtungen können Sonderzweck-Logikschaltanordnungen beinhalten, zum Beispiel ein FPGA (feldprogrammierbares Gate-Array), eine ASIC (anwendungsspezifische integrierte Schaltung) oder eine GPU (Grafikprozessor). Die Einrichtungen können auch zusätzlich zu Hardware Code beinhalten, der eine Ausführungsumgebung für Computerprogramme schafft, zum Beispiel Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination eines oder mehrerer dieser bildet.
  • Ein Computerprogramm, das auch als ein Programm, Software, eine Softwareanwendung, eine Appli, ein Modul, ein Softwaremodul, eine Maschine, ein Skript oder Code bezeichnet werden kann, kann in einer Form einer Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, oder deklarativer oder prozeduraler Sprachen; und kann in einer beliebigen Form eingesetzt werden, einschließlich als ein selbständiges Programm oder ein Modul, eine Komponente, eine Maschine, ein Hilfsprogramm oder eine andere Einheit, die zur Ausführung in einer Computing-Umgebung geeignet ist, wobei die Umgebung einen oder mehrere Computer, die von einem Datenkommunikationsnetzwerk an einem oder mehreren Orten verbunden sind, beinhalten kann.
  • Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Computerprogramm kann in einem Abschnitt einer Datei gespeichert sein, die andere Programme oder Daten enthält, zum Beispiel ein oder mehrere Scripts, die in einem Auszeichnungssprachendokument, in einer einzigen Datei, die dem betreffenden Programm gewidmet ist, oder in mehreren koordinierten Dateien, zum Beispiel Dateien, die ein oder mehrere Module, Teilprogramme oder Codeabschnitte speichern.
  • Die Prozesse und Logikabläufe, die in dieser Gebrauchsmusterschrift beschrieben sind, können von einem oder mehreren Computern ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Operationen durch Arbeiten auf Eingabedaten und Erzeugen von Ausgabe auszuführen. Die Prozesse und Logikabläufe können auch von Sonderzweck-Logikschaltungsanordnungen ausgeführt werden, zum Beispiel von einem FPGA, einer ASIC oder einer GPU, oder von einer Kombination von Sonderzweck-Logikschaltungsanordnung und oder einem oder mehreren programmierbaren Computern.
  • Computer, die für die Ausführung eines Computerprogramms geeignet sind, können auf allgemeinen oder Sonderzweck-Mikroprozessoren oder auf beiden oder jeder anderen Art von Zentraleinheit basieren. Im Allgemeinen empfängt eine Zentraleinheit Anweisungen und Daten von einem Festwertspeicher oder einem Direktzugriffsspeicher oder von beiden. Die wesentlichen Elemente eines Computers sind eine Zentraleinheit zum Ausführen von Anweisungen und eine oder mehrere Speichervorrichtungen zum Speichern von Anwendungen und Daten. Die Zentraleinheit und der Speicher können von Sonderzweck-Logikschaltungsanordnungen ergänzt oder darin eingebaut sein.
  • Im Allgemeinen beinhaltet ein Computer auch oder ist betrieblich gekoppelt mit einer oder mehreren Massespeichervorrichtungen, um Daten von diesen zu empfangen oder zu ihnen zu transferieren. Die Massespeichervorrichtungen können zum Beispiel magnetische, magneto-optische oder optische Platten oder Solid-State-Laufwerke sein. Ein Computer braucht jedoch derartige Vorrichtungen nicht aufzuweisen. Darüber hinaus kann ein Computer in einer anderen Vorrichtung eingebettet sein, zum Beispiel in einem Mobiltelefon, einem Personal Digital Assistant (PDA), einem mobilen Audio- oder Video-Player, einer Gaming-Konsole, einem Global-Positioning-System-Empfänger (GPS-Empfänger) oder einer tragbaren Speichervorrichtung, zum Beispiel einem Universal-Serial-Bus-Flashlaufwerk (USB-Flashlaufwerk), um nur einige wenige zu nennen.
  • Um Wechselwirkung mit einem Benutzer bereitzustellen, können Ausführungsformen des Gegenstands, der in dieser Gebrauchsmusterschrift beschrieben ist, auf einem Computer umgesetzt werden, der eine Anzeigevorrichtung aufweist, zum Beispiel einen LCD-Monitor (Liquid Crystal Display), oder ausgelegt sein, um damit zu kommunizieren, um Informationen für den Benutzer anzuzeigen, und eine Eingabevorrichtung, durch die der Benutzer Eingabe für den Computer bereitstellen kann, zum Beispiel eine Tastatur und eine Zeigevorrichtung, zum Beispiel eine Maus, einen Trackball oder ein Touchpad. Andere Arten von Vorrichtungen können verwendet werden, um auch Interaktion mit einem Benutzer bereitzustellen, zum Beispiel kann Feedback, das für den Benutzer bereitgestellt wird, jede Form sensorischer Feedbacks sein, zum Beispiel visuelles Feedback, hörbares Feedback oder taktiles Feedback; und Eingabe von dem Benutzer kann in jeder Form empfangen werden, einschließlich akustische, Sprach- oder taktile Eingabe. Zusätzlich kann ein Computer mit einem Benutzer durch Senden von Dokumenten zu und Empfangen von Dokumenten von einer Vorrichtung, die von dem Benutzer verwendet wird, in Wechselwirkung stehen; zum Beispiel durch Senden von Webseiten zu einem Web-Browser auf dem Gerät eines Benutzers als Antwort auf Anforderungen, die von dem Web-Browser empfangen werden, oder durch Wechselwirken mit einer Anwendung, die auf einem Benutzergerät läuft, zum Beispiel auf einem Smartphone oder einem elektronischen Tablet. Ein Computer kann auch mit einem Benutzer interagieren, indem er Textnachrichten oder andere Formen von Nachrichten zu einem persönlichen Gerät sendet, zum Beispiel zu einem Smartphone, auf dem eine Messaging-Anwendung läuft, und Antwortnachrichten von dem Benutzer zurück empfangen.
  • Ausführungsformen des Gegenstands, die in dieser Gebrauchsmusterschrift beschrieben sind, können in einem Computing-System umgesetzt werden, das eine Backend-Komponente beinhaltet, zum Beispiel als ein Datenserver, oder das eine Middleware-Komponente beinhaltet, zum Beispiel einen Anwendungsserver, oder das eine Frontend- Komponente beinhaltet, zum Beispiel einen Client-Computer, der eine grafische Benutzeroberfläche, einen Web-Browser oder eine Anwendung, durch die ein Benutzer mit einer Umsetzung des Gegenstands, der in dieser Gebrauchs-musterschrift beschrieben ist, interagieren kann, oder eine Kombination eines oder mehrerer derartiger Back-End-, Middleware- oder Front-End-Komponenten. Die Komponenten des Systems können durch irgendeine Form oder ein Medium digitaler Datenkommunikation zusammengeschaltet werden, zum Beispiel durch ein Kommunikationsnetzwerk. Beispiele für Kommunikationsnetzwerke beinhalten ein Local Area Network (LAN) und ein Wide Area Network (WAN), zum Beispiel das Internet.
  • Das Computing-System kann Clients und Server beinhalten. Ein Client und Server sind im Allgemeinen voneinander entfernt und stehen typischerweise durch ein Kommunikationsnetzwerk miteinander in Wechselwirkung. Die Beziehung zwischen Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung miteinander aufweisen. Bei einigen Ausführungsformen überträgt ein Daten, zum Beispiel eine HTML-Seite, zu einem Benutzergerät, zum Beispiel zum Zweck des Anzeigens von Daten für und Empfangens von Benutzereingabe von einem Benutzer, der mit dem Gerät, das als ein Client wirkt, interagiert. Daten, die an dem Benutzergerät erzeugt werden, zum Beispiel ein Resultat einer Benutzerwechselwirkung, kann an dem Server von dem Gerät empfangen werden.
  • Zusätzlich zu den Ausführungsformen, die oben beschrieben sind, sind die folgenden Ausführungsformen auch innovativ:
    • Ausführungsform 1 ist ein System, das umfasst:
      • eine Vielzahl von Benutzergeräten;
      • eine Vielzahl von Edge-Servern, die dazu ausgelegt ist, Zugang zu einer Inhaltsplattform bereitzustellen, die Inhalt zu den Benutzergeräten liefert, wobei jedes Benutzergerät mit einem Netzwerkschlüssel assoziiert ist, wobei die Anzahl von Netzwerkschlüsseln kleiner ist als die Anzahl von Benutzergeräten, und wobei jedes Benutzergerät dazu ausgelegt ist, Anforderungen von Inhalt zu den Benutzergeräten zu einem Edge-Server der Vielzahl von Edge-Servern, der von Daten auf dem Benutzergerät als ein bester Edge-Server für das Benutzergerät identifiziert wird, zu senden;
      • Benutzergeräte, die dazu ausgelegt sind, Operationen auszuführen, umfassend:
        • Senden von Probing-Anforderungen zu dem besten Edge-Server für das Benutzergerät und zu einem oder mehreren der Vielzahl von Edge-Servern, die nicht als der beste Edge-Server identifiziert sind,
        • Empfangen von Probing-Antworten auf die Probing-Anforderungen oder Vermerken eines Ausbleibens einer Antwort, und
        • für jede empfangene Probing-Antwort Bestimmen einer Umlaufzeit, wobei die Umlaufzeit eine Zeitmenge ist, die zwischen einem Zeitpunkt, zu dem das Benutzergerät die Probing-Antwort erhalten hat, und einem Zeitpunkt, zu dem das Benutzergerät die entsprechende Probing-Anforderung versandt hat, verstrichen ist, wobei die bestimmten Umlaufzeiten Edge-Serverdaten sind; und
      • einen oder mehrere Dienste auf der Inhaltsplattform, die dazu ausgelegt sind, Operationen auszuführen, die umfassen:
        • Erhalten der Edge-Serverdaten von den Benutzergeräten, wobei die Edge-Serverdaten, die von jedem Benutzergerät empfangen werden, mit Geräteinformationen über das Benutzergerät, das die Edge-Serverdaten bereitgestellt hat, einschließlich des Netzwerkschlüssels, der mit dem Benutzergerät assoziiert ist, markiert sind,
        • Aggregieren der Edge-Serverdaten nach Netzwerkschlüssel, und
        • als Antwort auf eine Polling-Anforderung, die von einem Benutzergerät empfangen wird:
          • Auswählen eines besten Edge-Servers für das Benutzergerät mindestens zum Teil basierend auf den Edge-Serverdaten, die von dem Netzwerkschlüssel aggregiert worden waren, der derselbe ist wie der Netzwerkschlüssel, der mit dem Benutzergerät assoziiert ist, und
          • Bereitstellen für das Benutzergerät einer Kennung des ausgewählten besten Edge-Servers für das Benutzergerät und von Kennungen eines oder mehrerer anderer Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte.
    • Ausführungsform 2 ist das System der Ausführungsform 1, wobei der Netzwerkschlüssel, der mit jedem Benutzergerät assoziiert ist, (i) einen Landescode des Benutzergeräts und (ii) eine autonome Systemnummer, die einer Internet-Protokoll-Adresse (IP-Adresse) des Benutzergeräts entspricht, umfasst.
    • Ausführungsform 3 ist ein System einer der Ausführungsformen 1 und 2, wobei der Netzwerkschlüssel, der mit jedem Benutzergerät assoziiert ist, (i) einen Landescode des Benutzergeräts, (ii) eine autonome Systemnummer, die einer IP-Adresse des Benutzergeräts entspricht und (iii) die ersten drei Bytes der IP-Adresse des Benutzergeräts umfasst.
    • Ausführungsform 4 ist das System einer der Ausführungsformen 1 bis 3, wobei der Netzwerkschlüssel, der mit jedem Benutzergerät assoziiert ist, einen Landescode des Benutzergeräts, eine autonome Systemnummer, die einer IP-Adresse des Benutzergeräts entspricht, eine Kennung eines Netzwerkaustrittswegs des Benutzergeräts, eine Kennung einer geographischen Region, in der sich das Benutzergerät befindet, und eine Kennung eines Verbindungstyps des Benutzergeräts umfasst.
    • Ausführungsform 5 ist das System einer der Ausführungsformen 1 bis 4, wobei das Aggregieren der Edge-Serverdaten nach Netzwerkschlüssel für jeden Edge-Server umfasst:
      • Bestimmen einer Anzahl von Probing-Anforderungen, die von Benutzergeräten zu dem Edge-Server gesandt wurden, die mit demselben Netzwerkschlüssel assoziiert sind, in einem vorbestimmten Zeitfenster;
      • Berechnen einer Probing-Antworterfolgsrate des Edge-Servers, wobei die Probing-Antworterfolgsrate die Anzahl von Probing-Antworten ist, die von Benutzergeräten empfangen werden, die mit demselben Netzwerkschlüssel assoziiert sind, geteilt durch die Anzahl von Probing-Anforderungen, die von den Benutzergeräten zu dem Edge-Server gesandt werden; und
      • Berechnen einer mittleren Umlaufzeit des Edge-Servers, wobei die mittlere Umlaufzeit des Edge-Servers ein Mittel der Umlaufzeiten ist, die für die Probing-Antworten, die von dem Edge-Server gesandt und von den Benutzergeräten, die mit demselben Netzwerkschlüssel assoziiert sind, empfangen werden, bestimmt wird.
    • Ausführungsform 6 ist das System der Ausführungsform 5, wobei das Auswählen eines besten Edge-Servers für das Benutzergerät basierend auf den aggregierten Daten umfasst:
      • Bereitstellen der aggregierten Daten und Kennungen von Edge-Servern für ein Machine-Learning-Modell, wobei das Machine-Learning-Modell dazu trainiert ist, beste Edge-Server zu identifizieren; und
      • Empfangen von dem Machine-Learning-Modell einer Kennung des besten Edge-Servers für das Benutzergerät.
    • Ausführungsform 7 ist das System der Ausführungsformen 5, wobei das Aggregieren der Edge-Serverdaten nach Netzwerkschlüssel für jeden Edge-Server umfasst:
      • Berechnen einer Standardabweichung der Umlaufzeiten des Edge-Servers zu Benutzergeräten, die mit demselben Netzwerkschlüssel assoziiert sind.
    • Ausführungsform 8 ist das System der Ausführungsform 7, wobei das Auswählen eines besten Edge-Servers für das Benutzergerät basierend auf den aggregierten Daten weiter umfasst:
      • Berechnen für jeden Edge-Server, der eine vorbestimmte Mindest-Probing-Antworterfolgsrate erfüllt, eines jeweiligen Server-Score; und
      • Identifizieren als der beste Edge-Server des Edge-Servers mit einem besten Server-Score.
    • Ausführungsform 9 ist das System der Ausführungsform 8, wobei der Server-Score der mittleren Umlaufzeit des Edge-Servers entspricht.
    • Ausführungsform 10 ist das System der Ausführungsform 8, wobei der Server-Score einer Summe der mittleren Umlaufzeit des Edge-Servers und der Standardabweichung der Umlaufzeiten des Edge-Servers entspricht.
    • Ausführungsform 11 ist das System der Ausführungsform 8, wobei der eine oder die mehreren anderen Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte, nächste 30 bis 40 höchstrangige Edge-Server basierend auf den Server-Scores der Edge-Server umfasst.
    • Ausführungsform 12 ist das System der Ausführungsform 8, wobei der eine oder die mehreren anderen Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte, bestimmt wird durch:
      • Auswählen von Edge-Servern aus den Edge-Servern mit einem Server-Score durch eine virtuelle Verlosung, bei der jedem Edge-Server mit einem Server-Score eine Anzahl von Verlosungsscheine zugewiesen wird, die für Edge-Server mit besseren Server-Scores größer ist als für andere Edge-Server.
    • Ausführungsform 13 ist das System der Ausführungsform 9, wobei der eine oder die mehreren Dienste auf der Inhaltsplattform weiter dazu ausgelegt sind, Operationen auszuführen, die umfassen:
      • Erhalten von Durchsatzdaten von jedem der Vielzahl von Edge-Servern, wobei die Durchsatzdaten für jeden Edge-Server eine Bitrate des Edge-Servers umfassen; und
      • Einstellen der Server-Scores der Edge-Server basierend auf den Durchsatzdaten.
    • Ausführungsform 14 ist das System einer der Ausführungsformen 1 bis 13, wobei der eine oder die mehreren Dienste einen Aggregationsdienst und einen Verkehrssteuerdienst umfassen, wobei:
      • der Aggregationsdienst dazu ausgelegt ist, Operationen auszuführen, umfassend:
        • Erhalten der Edge-Serverdaten, die von den Benutzergeräten gesammelt werden, von den Benutzergeräten, wobei die Edge-Serverdaten, die von jedem Benutzergerät empfangen werden, mit Geräteinformationen über das Benutzergerät, das die Edge-Serverdaten bereitgestellt hat, einschließlich des Netzwerkschlüssels, der mit dem Benutzergerät assoziiert ist, markiert sind, und
        • Aggregieren der Edge-Serverdaten nach Netzwerkschlüssel, der Verkehrssteuerdienst dazu ausgelegt ist, Operationen auszuführen, umfassend:
          • als Antwort auf eine Polling-Anforderung, die von einem Benutzergerät empfangen wird:
            • Auswählen eines besten Edge-Servers für das Benutzergerät basierend auf den Edge-Serverdaten, die von dem Netzwerkschlüssel aggregiert worden waren, der derselbe ist wie der Netzwerkschlüssel, der mit dem Benutzergerät assoziiert ist, und
            • Bereitstellen für das Benutzergerät einer Kennung des ausgewählten besten Edge-Servers für das Benutzergerät und von Kennungen eines oder mehrerer anderer Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte.
    • Ausführungsform 15 ist ein Verfahren, das die Operationen einer der Ausführungsformen 1 bis 14 ausführt.
    • Ausführungsform 16 ist ein oder mehrere Computerspeichermedien, die Anweisungen speichern, die operabel sind, wenn sie von einem oder mehreren Computern ausgeführt werden, um den einen oder die mehreren Computer zu veranlassen, die Operationen einer der Ausführungsformen 1 bis 14 auszuführen.
  • Während diese Gebrauchsmusterschrift viele spezifische Umsetzungseinzelheiten enthält, sollten diese nicht als Einschränkungen des Schutzbereichs einer Erfindung oder des Schutzbereichs dessen, was beansprucht wird oder werden könnte, ausgelegt werden, sondern stattdessen als Beschreibungen von Merkmalen, die für besondere Ausführungsformen besonderer Erfindungen spezifisch sein können. Bestimmte Merkmale sind zur Klarheit in dieser Gebrauchs-musterschrift im Kontext getrennter Ausführungsformen beschrieben, können aber auch in einer einzigen Ausführungsform kombiniert umgesetzt werden. Umgekehrt können verschiedene Merkmale, die in dem Kontext einer einzigen Ausführungsform beschrieben sind, auch in mehreren Ausführungsformen separat oder in einer zweckdienlichen Teilkombination umgesetzt werden. Darüber hinaus, obwohl oben Merkmale als in bestimmten Kombinationen wirkend beschrieben sein und sogar anfänglich als solche beansprucht werden können, können ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen von der Kombination ausgeschlossen werden, und der Anspruch kann eine Teilkombination oder Variationen einer Teilkombination betreffen.
  • Auf ähnliche Art, obwohl Operationen in den Zeichnungen abgebildet und in den Ansprüchen in einer besonderen Reihenfolge erwähnt sind, sollte das nicht als Forderung verstanden werden, dass solche Operationen in der besonderen gezeigten Reihenfolge oder in sequenzieller Reihenfolge ausgeführt werden, oder dass alle veranschaulichten Operationen ausgeführt werden, um wünschenswerte Resultate zu erzielen. Unter bestimmten Umständen können Multitasking und parallele Verarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung verschiedener Systemmodule und Komponenten in den beschriebenen Ausführungsformen nicht als derartige Trennung bei allen Ausführungsformen erfordernd verstanden werden, und man sollte verstehen, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen gemeinsam in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte gepackt werden können.
  • Besondere Ausführungsformen des Gegenstands wurden beschrieben. Andere Ausführungsformen liegen innerhalb des Schutzbereichs der folgenden Ansprüche. Zum Beispiel können die Aktionen, die in den Ansprüchen erwähnt sind, in einer unterschiedlichen Reihenfolge ausgeführt werden und immer noch wünschenswerte Resultate erzielen. Als ein Beispiel erfordern die Prozesse, die in den begleitenden Figuren abgebildet sind, nicht unbedingt die gezeigte besondere Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Resultate zu erzielen. In einigen Fällen können Multitasking und parallele Verarbeitung vorteilhaft sein.
  • Beansprucht wird:

Claims (14)

  1. Vielzahl von Benutzergeräten, die dazu ausgelegt sind, Operationen durchzuführen, die Folgendes umfassen: Senden von Probing-Anforderungen zu einem besten Edge-Server für jedes Benutzergerät und zu einem oder mehreren einer Vielzahl von Edge-Servern, die nicht als der beste Edge-Server für das jeweilige Benutzergerät identifiziert sind, wobei die Vielzahl von Edge-Servern dazu ausgelegt ist, Zugang zu einer Inhaltsplattform bereitzustellen, die Inhalt zu der Vielzahl von Benutzergeräten liefert, wobei jedes Benutzergerät mit einem Netzwerkschlüssel assoziiert ist, wobei eine Anzahl von Netzwerkschlüsseln geringer ist als eine Anzahl von Benutzergeräten und die Netzwerkschlüssel als Kennungen von Partitionen von Benutzergeräten dienen und wobei jedes Benutzergerät dazu ausgelegt ist, Inhaltsanforderungen zu einem Edge-Server der Vielzahl von Edge-Servern zu senden, der von Daten auf dem Benutzergerät als ein bester Edge-Server für das Benutzergerät identifiziert ist; Empfangen von Probing-Antworten auf die Probing-Anforderungen von jeweiligen besten Edge-Servern und dem jeweiligen einen oder den mehreren der Vielzahl von Edge-Servern, die nicht als der beste Edge-Server für das jeweilige Benutzergerät identifiziert sind oder von denen eine Antwort ausbleibt; Bestimmen für jede empfangene Probing-Antwort einer Umlaufzeit, wobei die Umlaufzeit eine Zeitmenge ist, die zwischen einem Zeitpunkt, zu dem ein Benutzerendgerät die Probing-Antwort empfangen hat, und einem Zeitpunkt, zu dem das Benutzerendgerät die entsprechende Probing-Anforderung versandt hat, verstrichen ist, wobei die bestimmten Umlaufzeiten Edge-Serverdaten sind; Senden einer Polling-Anforderung an die Inhaltsplattform durch ein erstes Benutzergerät, das mit einem ersten Netzwerkschlüssel assoziiert ist, wobei basierend auf der Polling-Anforderung von der Inhaltsplattform ein neuer bester Edge-Server für das erste Benutzergerät mindestens zum Teil basierend auf aggregierten Edge-Serverdaten ausgewählt wird, die von der Inhaltsplattform von jedem der Vielzahl von Benutzergeräten empfangen wurden, wobei die aggregierten Edge-Serverdaten mit dem ersten Netzwerkschlüssel markiert sind, wobei die aggregierten Edge-Serverdaten von der Inhaltsplattform gemäß Netzwerkschlüsseln aggregiert sind; und Empfangen durch das erste Benutzerendgerät einer Kennung des ausgewählten neuen besten Edge-Servers für das erste Benutzerendgerät und von Kennungen eines oder mehrerer anderer Edge-Server, an die das erste Benutzergerät zukünftige Probing-Anforderungen senden sollte.
  2. Vielzahl von Benutzergeräten nach Anspruch 1, wobei der Netzwerkschlüssel, der mit jedem Benutzergerät assoziiert ist, (i) einen Ländercode des Benutzergeräts und (ii) eine autonome Systemnummer, die einer Internetprotokolladresse (IP-Adresse) des Benutzergeräts entspricht, umfasst.
  3. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-2, wobei der Netzwerkschlüssel, der mit jedem Benutzergerät assoziiert ist, (i) einen Ländercode des Benutzergeräts, (ii) eine autonome Systemnummer, die einer IP-Adresse des Benutzergeräts entspricht, und (iii) die ersten drei Bytes der IP-Adresse des Benutzerendgeräts umfasst.
  4. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-3, wobei der Netzwerkschlüssel, der mit jedem Benutzergerät verknüpft ist, einen Ländercode des Benutzergeräts, eine autonome Systemnummer, die einer IP-Adresse des Benutzergeräts entspricht, eine Kennung eines Netzwerkaustrittswegs des Benutzergeräts, eine Kennung einer geografischen Region, in der sich das Benutzergerät befindet, und eine Kennung eines Verbindungstyps des Benutzergeräts umfasst.
  5. Vielzahl von Benutzergeräten nach einem der Ansprüche 1 bis 4, wobei Aggregieren der Edge-Serverdaten nach dem Netzwerkschlüssel für jeden Edge-Server umfasst: Bestimmen einer Anzahl von Probing-Anforderungen, die von Benutzergeräten zu einem Edge-Server gesandt wurden, die mit demselben Netzwerkschlüssel assoziiert sind, in einem vorbestimmten Zeitfenster; Berechnen einer Probing-Antworterfolgsrate des Edge-Servers, wobei die Probing-Antworterfolgsrate eine Anzahl von Probing-Antworten ist, die von Benutzergeräten empfangen werden, die mit demselben Netzwerkschlüssel assoziiert sind, geteilt durch die Anzahl von Probing-Anforderungen, die von den Benutzergeräten zu dem Edge-Server gesandt werden; und Berechnen einer mittleren Umlaufzeit des Edge-Servers, wobei die mittlere Umlaufzeit des Edge-Servers ein Mittel der Umlaufzeiten ist, die für die Probing-Antworten, die von dem Edge-Server gesandt und von den Benutzergeräten, die mit demselben Netzwerkschlüssel assoziiert sind, empfangen werden, bestimmt wird.
  6. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-5, wobei Auswählen des neuen besten Edge-Servers für das erste Benutzergerät basierend auf den aggregierten Daten umfasst: Bereitstellen der aggregierten Daten und Kennungen von Edge-Servern für ein Machine-Learning-Modell, wobei das Machine-Learning-Modell dazu trainiert ist, beste Edge-Server zu identifizieren; und Empfangen von dem Machine-Learning-Modell einer Kennung des besten Edge-Servers für das erste Benutzergerät.
  7. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-6, wobei Aggregieren der Edge-Serverdaten nach Netzwerkschlüsseln weiter für jeden Edge-Server umfasst: Berechnen einer Standardabweichung der Umlaufzeiten eines Edge-Servers zu Benutzergeräten, die mit demselben Netzwerkschlüssel assoziiert sind.
  8. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-7, wobei Auswählen des neuen besten Edge-Servers für das erste Benutzergerät basierend auf den aggregierten Daten umfasst: Berechnen für jeden Edge-Server, der eine vorbestimmte Mindest-Probing-Antworterfolgsrate erfüllt, eines jeweiligen Server-Score; und Identifizieren als den besten Edge-Server des Edge-Servers mit einem besten Server-Score.
  9. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-8, wobei der Server-Score der mittleren Umlaufzeit des Edge-Servers entspricht.
  10. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-9, wobei der Server-Score einer Summe der mittleren Umlaufzeit des Edge-Servers und der Standardabweichung der Umlaufzeiten des Edge-Servers entspricht.
  11. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-2, wobei der eine oder die mehreren anderen Edge-Server, zu welchen das erste Benutzergerät zukünftige Probing-Anforderungen senden sollte, nächste 30 bis 40 höchstrangige Edge-Server basierend auf den Server-Scores der Edge-Server umfasst.
  12. Vielzahl von Benutzergeräten nach einem der Ansprüche 1-11, wobei der eine oder die mehreren anderen Edge-Server, zu welchen das erste Benutzergerät zukünftige Probing-Anforderungen senden sollte, bestimmt wird durch: Auswählen von Edge-Servern aus den Edge-Servern mit einem Server-Score durch eine virtuelle Verlosung, bei der jedem Edge-Server mit einem Server-Score eine Anzahl von Verlosungsscheinen zugewiesen wird, die für Edge-Server mit besseren Server-Scores größer ist als für andere Edge-Server.
  13. Inhaltsplattform, die einen oder mehrere Dienste implementiert, wobei der eine oder die mehreren Dienste einen Aggregationsdienst und einen Verkehrssteuerdienst umfassen, wobei: der Aggregationsdienst dazu ausgelegt ist, Operationen auszuführen, umfassend: Erhalten von einer Vielzahl von Benutzerendgeräten der Edge-Serverdaten, die von der Vielzahl von Benutzerendgeräten auf Probing-Anforderungen gesammelt werden, wobei die Edge-Serverdaten, die von jedem Benutzergerät empfangen werden, mit Gerätinformationen über das Benutzergerät, das die Edge-Serverdaten bereitgestellt hat, einschließlich eines Netzwerkschlüssels, der mit dem Benutzergerät assoziiert ist, markiert sind; und Aggregieren der Edge-Serverdaten nach Netzwerkschlüssel, der Verkehrssteuerdienst dazu ausgelegt ist, Operationen auszuführen, umfassend: als Antwort auf eine Polling-Anforderung, die von einem Benutzergerät empfangen wird: Auswählen eines besten Edge-Servers für das Benutzergerät basierend auf den Edge-Serverdaten, die von dem Netzwerkschlüssel aggregiert worden waren, der derselbe ist wie der Netzwerkschlüssel, der mit dem Benutzergerät assoziiert ist, und Bereitstellen für das Benutzergerät einer Kennung des ausgewählten besten Edge-Servers für das Benutzergerät und von Kennungen eines oder mehrerer anderer Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte.
  14. Ein oder mehrere nichtflüchtige Computerspeichermedien, die Anweisungen bezüglich eines Aggregationsdienstes und eines Verkehrssteuerdienstes speichern, die von einer Inhaltsplattform bereitgestellt werden, wobei die Anweisungen operabel sind, wenn sie von einem oder mehreren Computern ausgeführt werden, den einen oder die mehreren Computer zu veranlassen, Operationen auszuführen, umfassend: Operationen bezüglich des Aggregationsdienstes, umfassend: Erhalten von einer Vielzahl von Benutzerendgeräten der Edge-Serverdaten, die von der Vielzahl von Benutzerendgeräten gesammelt werden, wobei die Edge-Serverdaten, die von jedem Benutzergerät empfangen werden, mit Gerätinformationen über das Benutzergerät, das die Edge-Serverdaten bereitgestellt hat, einschließlich eines Netzwerkschlüssels, der mit dem Benutzergerät assoziiert ist, markiert sind; und Aggregieren der Edge-Serverdaten nach Netzwerkschlüssel, Operationen bezüglich des Verkehrssteuerdienstes, umfassend: in Antwort auf eine Polling-Anforderung, die von einem Benutzergerät empfangen wird: Auswählen eines besten Edge-Servers für das Benutzergerät basierend auf den Edge-Serverdaten, die von dem Netzwerkschlüssel aggregiert worden waren, der derselbe ist wie der Netzwerkschlüssel, der mit dem Benutzergerät assoziiert ist, und Bereitstellen für das Benutzergerät einer Kennung des ausgewählten besten Edge-Servers für das Benutzergerät und von Kennungen eines oder mehrerer anderer Edge-Server, zu welchen das Benutzergerät zukünftige Probing-Anforderungen senden sollte.
DE202019005818.4U 2018-10-31 2019-10-31 System und Einrichtung zum Auswählen eines Edge-Servers Expired - Lifetime DE202019005818U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/177,037 2018-10-31
US16/177,037 US10999358B2 (en) 2018-10-31 2018-10-31 Traffic mapping

Publications (1)

Publication Number Publication Date
DE202019005818U1 true DE202019005818U1 (de) 2022-05-03

Family

ID=68699510

Family Applications (3)

Application Number Title Priority Date Filing Date
DE202019005818.4U Expired - Lifetime DE202019005818U1 (de) 2018-10-31 2019-10-31 System und Einrichtung zum Auswählen eines Edge-Servers
DE202019005784.6U Expired - Lifetime DE202019005784U1 (de) 2018-10-31 2019-10-31 System und Einrichtung zum Auswählen eines Edge-Servers
DE202019005859.1U Expired - Lifetime DE202019005859U1 (de) 2018-10-31 2019-10-31 System und Einrichtung zum Auswählen eines Edge-Servers

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE202019005784.6U Expired - Lifetime DE202019005784U1 (de) 2018-10-31 2019-10-31 System und Einrichtung zum Auswählen eines Edge-Servers
DE202019005859.1U Expired - Lifetime DE202019005859U1 (de) 2018-10-31 2019-10-31 System und Einrichtung zum Auswählen eines Edge-Servers

Country Status (8)

Country Link
US (2) US10999358B2 (de)
EP (1) EP3874712B1 (de)
JP (1) JP2022513410A (de)
KR (1) KR20210087966A (de)
CN (1) CN113597752A (de)
BR (1) BR112021004415A2 (de)
DE (3) DE202019005818U1 (de)
WO (1) WO2020092805A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132721B1 (en) * 2018-08-28 2021-09-28 Amazon Technologies, Inc. Interest based advertising inside a content delivery network
KR102592833B1 (ko) * 2018-12-14 2023-10-23 현대자동차주식회사 차량의 음성 인식 기능 연동 제어 시스템 및 방법
US11431789B2 (en) 2019-10-18 2022-08-30 Salesforce.Com, Inc. Global capacity routing
US10911505B1 (en) * 2019-10-18 2021-02-02 Salesforce.Com, Inc. Global capacity scaling
US11272007B2 (en) 2020-07-21 2022-03-08 Servicenow, Inc. Unified agent framework including push-based discovery and real-time diagnostics features
CN114531478A (zh) * 2020-10-30 2022-05-24 伊姆西Ip控股有限责任公司 边缘资源聚合的方法、设备和计算机程序产品
US11418586B2 (en) * 2021-01-19 2022-08-16 Servicenow, Inc. Load balancing of discovery agents across proxy servers
US20220247651A1 (en) * 2021-01-29 2022-08-04 Assia Spe, Llc System and method for network and computation performance probing for edge computing
CN115695541A (zh) * 2022-09-28 2023-02-03 上海东普信息科技有限公司 基于边缘计算的网点巡检监测方法、装置、设备及存储介质
CN116170447B (zh) * 2023-04-19 2023-07-14 杭州非奇科技股份有限公司 一种基于边缘节点的数据传输方法、系统和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231442B2 (en) * 2002-04-03 2007-06-12 Tonic Software, Inc. Global network monitoring system
US20090245114A1 (en) 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data
US8977710B2 (en) * 2008-06-18 2015-03-10 Qualcomm, Incorporated Remote selection and authorization of collected media transmission
CN102882699B (zh) * 2011-07-14 2015-07-29 华为技术有限公司 边缘节点的分配方法和装置及边缘节点控制器
US9113317B2 (en) 2012-12-19 2015-08-18 Verizon Patent And Licensing Inc. Intelligent streaming to a mobile device
US9444863B2 (en) * 2013-06-06 2016-09-13 Intel Corporation Manager for DASH media streaming
US9854053B1 (en) * 2014-03-24 2017-12-26 Amazon Technologies, Inc. Providing faster data access using multiple caching servers
US20170041355A1 (en) 2015-08-03 2017-02-09 Arris Enterprises Llc Contextual information for audio-only streams in adaptive bitrate streaming
US11575725B2 (en) * 2015-12-29 2023-02-07 Verizon Patent And Licensing Inc. Content delivery network streaming optimization
US10540158B2 (en) * 2016-07-18 2020-01-21 Google Llc Post-install application interaction
US10425694B2 (en) 2016-12-30 2019-09-24 Facebook, Inc. Live broadcast on an online social network
EP3679700A1 (de) 2017-10-18 2020-07-15 BlackBerry Limited Detektion von fernanwendungsprofilierungen
US10362357B1 (en) 2017-12-28 2019-07-23 Rovi Guides, Inc. Systems and methods for resuming media in different modes of playback based on attributes of a physical environment

Also Published As

Publication number Publication date
EP3874712A1 (de) 2021-09-08
US20200137148A1 (en) 2020-04-30
US20210258370A1 (en) 2021-08-19
BR112021004415A2 (pt) 2021-07-20
DE202019005784U1 (de) 2022-02-24
CN113597752A (zh) 2021-11-02
KR20210087966A (ko) 2021-07-13
DE202019005859U1 (de) 2022-10-12
JP2022513410A (ja) 2022-02-07
US10999358B2 (en) 2021-05-04
EP3874712B1 (de) 2022-12-07
WO2020092805A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
DE202019005818U1 (de) System und Einrichtung zum Auswählen eines Edge-Servers
DE112011103369B4 (de) Erweitern von Verarbeitungskapazität auf Serverseite
DE112017000046T5 (de) Beurteilung der Genauigkeit eines Maschinenlernmodells
DE202014010829U1 (de) Entfernungsabhängige Herabstufung von Suchrankings
DE102016104478A1 (de) Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren
DE202014010941U1 (de) Einen gegenwärtigen Standort auf Basis einer Standorthistorie ableiten
DE112016005265T5 (de) Verbesserte Push-Nachrichtenübermittlung
DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE112016004178T5 (de) Ereignis-basierte Inhaltsverteilung
DE202017106604U1 (de) Benutzerdefinierte digitale Komponenten
DE112011105481T5 (de) Ermöglichen des Einsatzes einer anderen Rechenvorrichtung durch eine Rechenvorrichtung
DE202014011541U1 (de) System zum Herstellen einer Vertrauensverknüpfung
DE202014010949U1 (de) Vorrichtung zur Unterbreitung von Vorschlägen anhand von Favoriten in der Nähe
DE202012013405U1 (de) Cloud-zu Gerät-Nachrichtenübermittlung zur Anwendungsaktivierung und Meldung
DE112016001601T5 (de) Anzeige von inhaltselementen basierend auf dem benutzerinteresse zum erhalt von inhalt
DE102013201664B4 (de) Vorausschauendes Zwischenspeichern bei Telekommunikationstürmen unter Verwendung der Weitergabe der Kennung von Elementen von Daten mit hohem Bedarf auf einer geographischen Ebene
DE112020004651T5 (de) Multi-tenant-etl-ressourcenaufteilung
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE102018010163A1 (de) Automatisches Generieren sinnvoller Nutzersegmente
DE112016002226T5 (de) Systeme und verfahren zur verwendung von webseitenskripten zu segmenten von kundensitzungen auf einer webseite
DE202014010950U1 (de) Das Anzeigen von dynamischen Inhalten auf einer Karte auf Basis des Standorts des Benutzers und der geplanten Aufgabe
DE102017120486A1 (de) Abfrageneustartfähigkeit
DE112012004926T5 (de) Gemeinsame Speichernutzung durch Prozessoren
DE112016004130T5 (de) Vorinstanziieren nativer Anwendungen im Hintergrund

Legal Events

Date Code Title Description
R207 Utility model specification
R156 Lapse of ip right after 3 years