DE202021103381U1 - Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes - Google Patents

Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes Download PDF

Info

Publication number
DE202021103381U1
DE202021103381U1 DE202021103381.9U DE202021103381U DE202021103381U1 DE 202021103381 U1 DE202021103381 U1 DE 202021103381U1 DE 202021103381 U DE202021103381 U DE 202021103381U DE 202021103381 U1 DE202021103381 U1 DE 202021103381U1
Authority
DE
Germany
Prior art keywords
proxy
node
user request
messenger
user
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.)
Active
Application number
DE202021103381.9U
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.)
Oxylabs UAB
Original Assignee
Teso LT UAB
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 Teso LT UAB filed Critical Teso LT UAB
Publication of DE202021103381U1 publication Critical patent/DE202021103381U1/de
Active 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/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • 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/561Adding application-functional data or data for application control, e.g. adding metadata
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2895Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/52Network services specially adapted for the location of the user terminal
    • 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/563Data redirection of data network streams
    • 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/564Enhancement of application control based on intercepted application data
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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

Abstract

Computerlesbares Medium, welches Anweisungen speichert, die mindestens einen Prozessor dazu veranlassen, die folgenden Schritte eines Verfahrens zu implementieren, wenn die Anweisungen durch den Prozessor ausgeführt werden:
Empfangen einer Benutzeranfrage durch ein Proxy-Gateway an einer Proxy-Infrastruktur, die einem Benutzergerät geografisch am nächsten liegt;
Weiterleiten der Benutzeranfrage durch das Proxy-Gateway an der Proxy-Infrastruktur an einen Proxy-Messenger;
Überprüfen der Benutzeranfrage auf geografischen Standort eines Ausgangsknotens durch den Proxy-Messenger an der Proxy-Infrastruktur;
Anfordern von Metadaten des Ausgangsknotens durch den Proxy-Messenger an der Proxy-Infrastruktur von einer Repository-Einheit, um die Benutzeranfrage umzusetzen;
Auswählen des Ausgangsknotens zur Umsetzung der Benutzeranfrage durch die Repository-Einheit an der Proxy-Infrastruktur aus einer Pool-Datenbank;
Senden der Benutzeranfrage und einer Internet Protocol (IP)-Adresse des ausgewählten Ausgangsknotens an einen Proxy-Superknoten durch den Proxy-Messenger an der Proxy-Infrastruktur;
Anweisen des ausgewählten Ausgangsknotens durch den Proxy-Superknoten, zur Herstellung einer Verbindung mit einem Ziel;
Senden der Benutzeranfrage an den ausgewählten Ausgangsknoten durch den Proxy-Superknoten;
Weiterleiten der Benutzeranfrage an das Ziel durch den gewählten Ausgangsknoten.

Description

  • FELD
  • Die vorliegenden Ausführungsformen beziehen sich allgemein auf Computerlesbares Medien und Systeme zur Optimierung des Betriebsprozesses von Proxy-Diensten durch die Einrichtung von Proxy-Servern über verschiedene geografische Gebiete hinweg, was neben anderen Aspekten, dezentralisiert und die Entfernungen reduziert, wenn Benutzer Proxy-Dienste zum Datenabruf heranziehen.
  • HINTERGRUND
  • Da sich unsere Gesellschaft zunehmend auf das Internet verlässt und viele Unternehmer ihre Geschäfte online abwickeln, ist das Interesse an Proxy-Servern deutlich gestiegen. Moderne Proxy-Server bieten ihren Benutzern verschiedene Funktionalitäten abseits von Online-Anonymität.
  • Definitionsgemäß sind Proxy-Server zwischengeschaltete Server, die Anfragen von Benutzern annehmen und die Anfragen an andere Proxy-Server oder einen Quellserver weiterleiten oder die Anfrage aus ihrem Cache bedienen. Vereinfacht ausgedrückt fungiert ein Proxy-Server als Gateway zwischen dem Gerät des Benutzers und der Website, auf die er zugreifen möchte. Proxy-Server ändern die IP-Adresse des Benutzers, so dass die tatsächliche IP-Adresse des Benutzers dem Zielserver nicht bekannt wird. In der Netzwerkterminologie steht IP-Adresse für Internet-Protokoll-Adresse, die eine numerische Kennzeichnung ist, die jedem Gerät zugewiesen wird, das an ein Netzwerk angeschlossen ist, welches das Internet-Protokoll (IP) zur Kommunikation verwendet. Im allgemeineren Sinne fungiert eine IP-Adresse als Online-Adresse, da Geräte IPs verwenden, um einander zu lokalisieren und miteinander zu kommunizieren. Die Verwendung eines Proxy-Servers erhöht die Privatsphäre und ermöglicht Benutzern den Zugriff auf Websites, auf die normalerweise nicht zugegriffen werden könnte. Proxy-Server sind einfach zu verwenden und viele multinationale Unternehmen bevorzugen sie auch für ihre Online-Arbeit.
  • Viele Organisationen setzen Proxy-Server ein, um eine bessere Netzwerkleistung zu erhalten. Proxy-Server können gewöhnliche Web-Ressourcen zwischenspeichern - wenn also ein Benutzer eine bestimmte Web-Ressource anfordert, prüft der Proxy-Server, ob er die aktuellste Kopie der Web-Ressource hat, und sendet dem Benutzer dann die zwischengespeicherte Kopie. Dies kann dazu beitragen, die Latenz zu reduzieren und die allgemeine Netzwerkleistung zu einem gewissen Grad zu verbessern. Latenz bezieht sich hier speziell auf Verzögerungen, die innerhalb eines Netzwerks auftreten. Vereinfacht ausgedrückt ist Latenz die Zeit zwischen einer Benutzeraktion und der Antwort der Website oder der Anwendung dieser Aktion - zum Beispiel die Verzögerung zwischen dem Anklicken eines Links zu einer Webseite durch den Benutzer und der Anzeige dieser Webseite durch den Browser.
  • Proxys können in verschiedene Typen unterteilt werden, je nachdem, welche Funktionen bereitgestellt werden oder welche Server verwendet werden. Proxys können auch in Residential-IP-Proxys, Rechenzentrum-IP-Proxys und Mobile-IP- Proxys unterteilt werden. Eine Residential-IP-Adresse ist eine Adresse aus dem Bereich, der vom Eigentümer speziell für Privatkunden vorgesehen ist. Normalerweise ist ein Residential-Proxy eine IP-Adresse, die einem physischen Gerät verknüpft ist, z. B. einem Mobiltelefon oder einem Desktop-Computer, aber geschäftsmäßig können die Blöcke von Residential-IP-Adressen von einem anderen Unternehmen direkt vom besitzenden Proxy-Dienstanbieter in großen Mengen gekauft werden. Die wirklichen Besitzer der Residential-IP-Adressbereiche, nämlich Internetdienstanbieter (ISPs), registrieren Residential-IP-Adressen in öffentlichen Datenbanken, was Websites ermöglicht, den Internetanbieter, das Netzwerk und den Standort eines Geräts zu bestimmen. Ein Rechenzentrum-IP-Proxy ist der Proxy-Server, dem eine Rechenzentrums-IP zugewiesen ist. Rechenzentrums-IPs sind IPs, die Unternehmen gehören, nicht Privatpersonen. Die Rechenzentrum-Proxys sind in Wirklichkeit IP-Adressen, die nicht im Haus einer natürlichen Person verortet sind. Stattdessen sind die Rechenzentrum-Proxys mit einem zweiten Unternehmen verbunden. Mobile IP-Proxys können als eine Teilmenge der Kategorie Residential-Proxy betrachtet werden. Ein Mobile-IP-Proxy ist im Wesentlichen eine IP-Adresse, die von Mobilfunkbetreibern bezogen wird. Mobile IP-Proxys verwenden mobile Daten, im Gegensatz zu einem Residential-Proxy, der Breitband-ISPs oder Heim-WLAN verwendet.
  • Ebenso sind Ausgangsknoten-Proxys, oder einfach Ausgangsknoten, Proxys, über die die Anfrage des Benutzers (oder des Eingangsknotens) ins Internet gelangt. Es können mehrere Proxys verwendet werden, um die Anfrage eines Benutzers auszuführen, aber der Ausgangsknoten-Proxy ist der letzte Proxy, der das Ziel kontaktiert und die Informationen vom Ziel an die Warteschlange weiterleitet, um den Benutzer zu erreichen. In den vorliegenden Ausführungsformen können Proxys und Ausgangsknoten als Synonyme verwendet werden. Die vorliegenden Ausführungsformen sind nicht nur auf die Ausgangsknoten beschränkt, da die gleichen Technologien für die Proxys verwendet werden können. In der vorliegenden Beschreibung wird jedoch der Begriff Ausgangsknoten verwendet, um die technischen Unterschiede zwischen Ausgangsknoten und Proxys zu verdeutlichen. Typischerweise befindet sich das Ausgangsknoten-Gerät außerhalb der Infrastruktur des Proxy-Dienstanbieters und gehört normalerweise einem Privatkunden, z. B. ein Smartphone, ein Computer, ein Fernseher oder ein anderes internetfähiges elektronisches Gerät.
  • Moderne Proxy-Server leisten viel mehr als nur die Weiterleitung von Webanfragen. Proxy-Server fungieren als Firewall und Web-Filter, stellen gemeinsam genutzte Netzwerkverbindungen bereit und speichern Daten zwischen, um häufige Anfragen zu beschleunigen. Proxyserver können ein hohes Maß an Privatsphäre bieten. Proxy-Server können auch verwendet werden, um die Internetnutzung von Mitarbeitern und Kindern zu kontrollieren (z. B. richten Unternehmen und Eltern Proxy-Server ein, um zu kontrollieren und zu überwachen, wie ihre Mitarbeiter oder Kinder das Internet nutzen) oder um die Browsing-Geschwindigkeit zu verbessern und die Bandbreite zu sparen. Proxys können verwendet werden, um bestimmte Internetbeschränkungen (z. B. Firewalls) zu umgehen, indem ein Benutzer den Inhalt über einen (entfernten) Proxy-Server anfordert, anstatt direkt auf den Inhalt zuzugreifen. Proxy-Server werden oft verwendet, um geo-IP-basierte Inhaltsbeschränkungen zu umgehen. Wenn jemand Inhalte von z. B. einer US-Webseite abrufen möchte, aber keinen Zugang von seinem Heimatland aus hat, kann er die Anfrage über einen Proxy-Server stellen, der sich in den USA befindet (und eine US-IP-Adresse hat). Durch die Verwendung von Proxy-Diensten scheint der Datenverkehr des Benutzers von der IP-Adresse in den USA zu kommen. Proxys können auch für Web-Scraping, Data-Mining und ähnliche Aufgaben verwendet werden.
  • Klassifizierungen von Proxy-Servern werden auch auf der Basis von Protokollen vorgenommen, mit denen ein bestimmter Proxy arbeiten kann. Zum Beispiel sind HTTP-Proxys, SOCKS-Proxys und FTP-Proxys einige der protokollbasierten Proxy-Kategorien. Der Begriff HTTP steht für Hypertext Transfer Protocol, die Grundlage für jeglichen Datenaustausch im Internet. Im Laufe der Jahre wurde HTTP weiterentwickelt und erweitert, so dass es ein untrennbarer Bestandteil des Internets geworden ist. HTTP ermöglicht Dateiübertragungen über das Internet und initiiert im Wesentlichen die Kommunikation zwischen einem Client/Benutzer und einem Server. HTTP ist nach wie vor ein wichtiger Aspekt des World Wide Web, da HTTP die Übertragung von Audio-, Video-, Bild- und anderen Dateien über das Internet ermöglicht. HTTP ist ein weit verbreitetes Protokoll, das derzeit in zwei verschiedenen Versionen verfügbar ist - HTTP/2 und die neueste Version - HTTP/3.
  • Ein HTTP-Proxy kann als leistungsstarker Proxy-Inhaltsfilter fungieren. Ähnlich wie andere Proxys arbeitet der HTTP-Proxy als Vermittler zwischen dem Client-Browser und dem Ziel-Webserver. Der HTTP-Proxy kann durch Komprimierung des Datenverkehrs im Internet und Zwischenspeichern von Dateien und Webseiten aus dem Internet viel Bandbreite einsparen. Dabei bezieht sich die Bandbreite auf die Datenmenge, die innerhalb eines Netzwerks in einer bestimmten Zeit von einem Punkt zu einem anderen übertragen werden kann. Üblicherweise wird die Bandbreite als Bitrate ausgedrückt und in Bits pro Sekunde (bps) gemessen. HTTP-Proxys sind eine praktikable Option für Unternehmen, die auf werbelastige Websites zugreifen müssen. Außerdem ermöglichen HTTP-Proxys viele Benutzern die gleichzeitige Nutzung der Verbindung, was HTTP-Proxys für Unternehmen mit einer großen Anzahl von Mitarbeitern nützlich macht. Kurz gesagt, HTTP-Proxys können als HTTP-Tunnel verstanden werden, d. h. als Netzwerkverbindung zwischen Geräten mit eingeschränktem Netzwerkzugang.
  • Ebenso bezieht sich SOCKS auf ein Internetprotokoll, das es einem Gerät ermöglicht, Daten an ein anderes Gerät über ein drittes Gerät zu senden. Mit anderen Worten, dieses Gerät würde als SOCKS-Server oder SOCKS-Proxy bezeichnet werden. Konkret stellt ein SOCKS-Proxy eine Verbindung zu einem beliebigen anderen Server her, der hinter einer Firewall steht, und tauscht Netzwerkpakete zwischen dem Client und dem eigentlichen Server aus. SOCKS-Proxys werden in der Regel dort benötigt, wo eine TCP-Verbindung verboten ist und Daten nur über UDP erlangt werden können. SOCKS-Proxys sind ein Mittel, das eine bestimmte Art der Verbindung zum Internet ermöglicht. SOCKS5 ist die neueste Version des SOCKS-Protokolls. Der Unterschied zwischen SOCKS5 und älteren Versionen ist die verbesserte Sicherheit und die Fähigkeit, UDP-Verkehr zu unterstützen.
  • SOCKS-Proxys werden häufig für Direktanrufe oder Streaming verwendet. Streaming-Websites verwenden in der Regel UDP, um Daten zu senden, und derzeit ist SOCKS der Haupttyp von Proxys, die eine UDP-Sitzung verarbeiten können. Um einen SOCKS-Proxy zu verwenden, muss das Gerät des Benutzers in der Lage sein, das SOCKS-Protokoll zu verarbeiten und einen SOCKS-Proxy-Server zu betreiben und zu warten. Das Hauptproblem bei SOCKS-Proxys ist, dass das Protokoll nicht über eine Standard-Tunnelverschlüsselung verfügt. Da die SOCKS-Anfrage Daten im Klartext überträgt, werden SOCKS-Proxys nicht für Situationen empfohlen, in denen ein „Sniffing“ vermutlich stattfindet.
  • Ähnlich wie HTTP und SOCKS bezieht sich der Begriff FTP auf eines der Protokolle, die zur Übertragung von Dateien im Internet verwendet werden. Der Begriff FTP steht für File Transfer Protocol. Bei FTP wird eine Steuerverbindung verwendet, um Befehle zwischen einem FTP-Client und einem FTP-Server zu senden. Die Dateiübertragungen erfolgen jedoch über eine separate Verbindung, die als Datenverbindung bezeichnet wird. Der FTP-Proxy kann eine erhöhte Sicherheit beim Hochladen von Dateien auf einen anderen Server bieten. Darüber hinaus bietet der FTP-Proxy in der Regel eine Cache-Funktion und eine Verschlüsselungsmethode, wodurch der Übertragungsprozess sicher und vor Hackern geschützt ist. Zusätzlich zur Weiterleitung des Datenverkehrs in einer sicheren Umgebung zeichnet ein FTP-Server den Überblick über den gesamten FTP-Verkehr auf.
  • An dieser Stelle sollte erläutert werden, wie Netzwerkgeräte mithilfe von Internetprotokollen Daten austauschen. Wenn sich ein Benutzer mit dem Internet verbindet, stellt er in wenigen einfachen Schritten eine Verbindung mit einem Webserver her, unabhängig davon, ob der Benutzer eine drahtgebundene oder drahtlose Technologie verwendet. Diese Netzwerkkommunikation wird durch eine Reihe von Protokollen ermöglicht, die als Internet Protocol Suite bekannt sind. Eines der wichtigsten Protokolle in dieser Suite ist das Transmission Control Protocol (TCP). Es bestimmt, wie Netzwerkgeräte Daten austauschen. Das Transmission Control Protocol oder TCP ist ein Standard für den Austausch von Daten zwischen verschiedenen Geräten in einem Computernetzwerk. Im Laufe der Jahre wurden mehrere Verbesserungen und Erweiterungen vorgenommen, obwohl die Kernstruktur des Protokolls unverändert geblieben ist. Die aktuelle Version des TCP ermöglicht es zwei Endpunkten in einem gemeinsamen Computernetzwerk, eine Verbindung herzustellen, die eine bidirektionale Übertragung von Daten ermöglicht. Jeder Datenverlust wird erkannt und automatisch korrigiert; daher gilt TCP als ein zuverlässiges Protokoll. Das TCP-Protokoll basiert fast immer auf dem Internet-Protokoll (IP), und diese Verbindung ist die Grundlage für die Mehrzahl der öffentlichen und lokalen Netzwerke und Netzwerkdienste.
  • Wie bereits erwähnt, ermöglicht TCP die Übertragung von Informationen in beide Richtungen. Computersysteme, die über TCP kommunizieren, können Daten gleichzeitig senden und empfangen, ähnlich wie bei einem Telefongespräch. Das Protokoll verwendet Segmente (Pakete) als Grundeinheiten der Datenübertragung. Segmente können neben der Nutzlast auch Steuerinformationen enthalten und sind auf 1500 Byte begrenzt. Nutzlast bezieht sich hier auf die eigentlich übertragenden Daten. Außerdem bezeichnet Byte die Grundeinheit der Information bei der Speicherung und Verarbeitung in Computern. Weiterhin besteht ein Byte aus 8 benachbarten Binärziffern (Bits), die jeweils aus einer 0 oder 1 bestehen. Insgesamt ist TCP für den Aufbau und die Terminierung der Ende-zu-Ende-Verbindungen sowie für die Übertragung von Daten zuständig.
  • TCP wird von vielen Internetanwendungen genutzt, z. B. dem World Wide Web (WWW), E-Mail, Streaming-Medien, Peer-to-Peer-Filesharing. Aufgrund von Netzwerküberlastungen oder unvorhersehbarem Netzwerkverhalten können IP-Pakete verloren gehen, dupliziert oder in falscher Reihenfolge zugestellt werden. TCP erkennt diese Probleme, fordert die erneute Übertragung der verlorenen Daten an, ordnet die in der falschen Reihenfolge vorliegenden Daten neu an und hilft sogar dabei, die Netzwerküberlastung zu minimieren. Wenn Daten unzugestellt bleiben, wird die Quelle über diesen Fehler benachrichtigt. Sobald der TCP-Empfänger die Reihenfolge der ursprünglich übertragenen Datenpakete wiederhergestellt hat, werden die Pakete an die empfangende Anwendung weitergeleitet. TCP ist eher für eine fehlerfreie als für eine rechtzeitige Zustellung optimiert und kann relativ lange Verzögerungen (in der Größenordnung von Sekunden) verursachen, während man auf mit Fehlern behaftete Nachrichten oder die erneute Übertragung verlorener Nachrichten wartet. Schließlich ist TCP ein zuverlässiger Dienst zur Zustellung von Datenströmen, der garantiert, dass alle empfangenen Bytes identisch und in der gleichen Reihenfolge wie die gesendeten sind. Da die Übertragung von Paketen in vielen Netzwerken nicht zuverlässig ist, erreicht TCP dies durch eine Technik, die als Positivbestätigung mit erneuter Übertragung bekannt ist.
  • Ein TCP-Paket ist ein komplexes Konstrukt, wobei das TCP-Protokoll mehrere Mechanismen enthält, um den Verbindungsstatus, die Zuverlässigkeit und die Flusssteuerung von Datenpaketen zu gewährleisten: a) Datenströme: TCP-Daten sind als ein Strom von Bytes organisiert, ähnlich wie eine Datei. b) Zuverlässige Zustellung: Sequenznummern werden verwendet, um zu koordinieren, welche Daten gesendet und empfangen wurden. TCP sorgt für eine erneute Übertragung, wenn es feststellt, dass Daten verloren gegangen sind. c) Netzwerkanpassung: TCP lernt dynamisch die Verzögerungseigenschaften eines Netzwerks und passt seinen Betrieb so an, dass der Durchsatz maximiert wird, ohne das Netzwerk zu überlasten. d) Flusskontrolle: TCP verwaltet Datenpuffer und koordiniert den Datenverkehr, so dass seine Puffer nie überlaufen. Schnelle Sender werden periodisch gestoppt, um mit langsameren Empfängern Schritt zu halten. e) Schätzung der Umlaufzeit: TCP überwacht kontinuierlich den Austausch von Datenpaketen, entwickelt eine Schätzung, wie lange es dauern sollte, eine Bestätigung zu erhalten, und sendet automatisch erneut, wenn diese Zeit überschritten wird.
  • Bei der Initialisierung der Verbindung legen die beiden Endpunkte gegenseitig mehrere Betriebsparameter fest, die definieren, wie die Teilnehmer Daten austauschen, den Zustand der Verbindung kontrollieren, Qualitätsprobleme abmildern und sich gegenseitig signalisieren, wenn Änderungen in der Sitzungsverwaltung erforderlich sind. Um dies zu erreichen, verwendet die TCP-Verbindung mehrere Methoden, z. B. TCP-Flags oder 1-Bit boolesche Felder im Header der TCP-Pakete. Flags werden verwendet, um einen bestimmten Zustand einer Verbindung anzuzeigen oder zusätzliche nützliche Informationen zu liefern, z. B. zur Fehlersuche oder zur Steuerung einer bestimmten Verbindung. Es gibt mehrere gängige Flags, die zur Verwaltung des Status einer TCP-Sitzung verwendet werden: a) SYN - (Synchronize) Initiiert eine Verbindung; b) FIN - (Final) Beendet eine Verbindung; c) ACK - Bestätigt empfangene Daten. Es gibt auch andere Flags, die in einem TCP-Paket verwendet werden, z. B. RST(Reset), PSH(Push), URG(Urgent). In einem TCP-Paket können mehrere Flags gesetzt sein. TCP arbeitet fast immer im Vollduplex-Modus (zwei unabhängige Byteströme, die sich in entgegengesetzter Richtung bewegen). Nur während des Starts und des Endes einer Verbindung werden die Daten in die eine Richtung übertragen und nicht in die andere.
  • Wenn der sendende TCP-Host eine Verbindung aufbauen möchte, sendet er ein Paket mit gesetztem SYN-Flag an den empfangenden TCP-Endpunkt. Der empfangende TCP sendet ein Paket mit den gesetzten Flags SYN+ACK zurück, um den erfolgreichen Empfang des Segments zu bestätigen. Der Initiator der Kommunikationssitzung sendet dann ein weiteres ACK-Segment und fährt mit dem Senden der Daten fort. Dieser Austausch von Steuerinformationen wird als Drei-Wege-Handschlag bezeichnet.
  • Parameter, die für eine effektive Kommunikation zwischen zwei TCP-Endpunkten entscheidend sind, werden während des 3-Wege-Handschlags ausgehandelt und festgelegt. Wenn die Sitzung ordnungsgemäß aufgebaut ist, werden einige der Parameter dynamisch variiert, um sich besser an die sich ständig ändernden Bedingungen der Live-Netzwerkkommunikationssitzung anzupassen. Diejenigen, die am wichtigsten sind, um den Funktionsgewinn durch die vorgestellte Erfindung zu verstehen, sind TCP Fenstergröße, Umlaufzeit-Timeout (RTT) und maximale Segmentgröße (MSS), die für das Verständnis des Funktionsgewinns am wichtigsten sind. RTT oder Umlaufzeit-Timeout bezieht sich dabei auf die Gesamtzeit, die benötigt wird, um das erste Paket an das Ziel zu senden, zuzüglich der Zeit, die für den Empfang des Antwortpakets benötigt wird.
  • Der Begriff TCP Fenstergröße oder TCP Empfangsfenstergröße (RWND) ist einfach eine Anzeige, wie viele Daten (in Bytes) das empfangende Gerät zu einem beliebigen Zeitpunkt zu empfangen bereit ist, d. h. wie viele Daten der Sender senden kann, ohne eine Bestätigung zurückzubekommen. Das empfangende Gerät kann diesen Wert zur Steuerung des Datenflusses oder als Flusskontrollmechanismus verwenden. RWND wird zum ersten Mal während der Sitzungsinitialisierung mitgeteilt und wird dynamisch aktualisiert, um sich dem Zustand der Verbindung anzupassen. Beide Seiten der Verbindung pflegen ihre eigene RWND.
  • Darüber hinaus hat TCP Bestimmungen für optionale Header-Felder, die durch ein Optionstyp-Feld identifiziert werden. Einige Optionen können nur beim Setzen von SYN gesendet werden und andere können während der aufgebauten TCP-Sitzung auftauchen. Ihre Funktion besteht darin, optionale Parameter für die aktuelle TCP-Sitzung festzulegen und so die Funktionsweise des Protokolls feinabzustimmen. MSS oder Maximum Segment Size ist der Parameter im Bereich „Optionen“, der festlegt, wie viele Daten tatsächlich innerhalb eines TCP-Segments übertragen werden dürfen, abgesehen von den technischen Headern. Wie bereits erwähnt, erfolgt der MSS-Aufbau während des anfänglichen 3-Wege-Handschlags und ist das Ergebnis davon, dass beide TCP-Endpunkte ihre gewünschte MSS austauschen und beide die kleinere auswählen.
  • Zusammenfassend lässt sich sagen, dass die Funktion von TCP (Transmission Control Protocol) darin besteht, die Übertragung von Daten so zu steuern, dass sie zuverlässig ist. Die Überlastungssteuerung ist jedoch eine der kritischen Funktionen von TCP. Ein Netzwerkstau kann auftreten, wenn ein Sender das Netzwerk mit zahlreichen Paketen überlastet. Bei einem Netzwerkstau ist das Netzwerk nicht in der Lage, den Datenverkehr ordnungsgemäß zu verarbeiten, was zu einer verschlechterten Dienstqualität führt. Typische Symptome einer Überlastung sind übermäßige Paketverzögerungen, Paketverluste und erneute Übertragungen. Die TCP-Überlastungssteuerung stellt sicher, dass der Sender das Netzwerk nicht überlastet. Zusätzlich sorgt die TCP-Überlastungssteuerung dafür, dass die Netzwerkgeräte entlang eines Routing-Pfads nicht überlastet werden. Unzureichende Link-Bandbreite, schlecht konzipierte oder konfigurierte Netzwerkinfrastruktur sind einige der häufigsten Ursachen für Überlastungen.
  • Im Laufe der Jahre wurden mehrere Algorithmen entwickelt, um die TCP-Überlastungssteuerung zu implementieren und einer dieser Algorithmen ist „Bandwidth Bottleneck and Round Trip Time“ (BBR). Bis vor kurzem wurde im Internet hauptsächlich eine verlustbasierte Überlastungssteuerung verwendet, die sich nur auf Hinweise auf verlorene Pakete als Signal zur Verlangsamung der Senderate stützt. BBR verwendet jedoch die Latenz anstelle von verlorenen Paketen als primären Faktor zur Bestimmung der Senderate. Der Hauptvorteil von BBR ist ein besserer Durchsatz und eine geringere Latenz. Die Durchsatzverbesserungen sind vor allem auf langen Routing-Pfaden wie der transatlantischen Übertragung spürbar. Die verbesserte Latenz macht sich vor allem auf dem Pfad der letzten Meile bemerkbar. Der Begriff Pfad der letzten Meile bezieht sich hier auf den letzten Abschnitt des Telekommunikationsnetzes.
  • Der Algorithmus „Bandwidth Bottleneck Round trip time“ (BBR) verwendet die maximale Bandbreite und die Umlaufzeit, mit der das Netzwerk den letzten Satz ausgehender Datenpakete zugestellt hat, um ein Modell des Netzwerks zu entwickeln. Jede kumulative oder selektive Bestätigung der Paketauslieferung erzeugt eine Stichprobe der Rate, die die Datenmenge angibt, die in dem Zeitintervall zwischen der Übertragung eines Datenpakets und der Bestätigung dieses Pakets ausgeliefert wurde.
  • Mit der Entwicklung von Controllern für Netzwerkschnittstellen von Megabit pro Sekunde zu Gigabit pro Sekunde Leistung wird die Latenz, die mit Pufferaufblähung anstelle von Paketverlusten verbunden ist, zu einem zuverlässigeren Kennzeichen für den maximalen Durchsatz, was modellbasierte Überlastungssteuerungsalgorithmen wie BBR zu einer zuverlässigeren Alternative zu den bekannteren verlustbasierten Algorithmen macht. In einem gemeinsam genutzten Netzwerk ist Pufferaufblähung ein Phänomen, bei dem das Puffern von Paketen eine hohe Latenz und Jitter verursacht sowie den Gesamtdurchsatz des Netzwerks verringert.
  • Bei einer TCP-Datenübertragung berechnet der BBR-Algorithmus eine kontinuierliche Schätzung der RTT und der Engpasskapazität. Die RTT ist das Minimum aller RTT-Messungen über ein gewisses Zeitfenster, beschrieben als „einige zehn Sekunden bis Minuten“. Die Engpasskapazität ist die maximale Datenübertragungsrate zum Empfänger. Diese geschätzten Werte für RTT und Engpass-Kapazität werden unabhängig voneinander verwaltet, d. h. einer der beiden Werte kann sich ändern, ohne dass der andere davon notwendigerweise beeinflusst wird. Weiterhin markiert BBR für jedes gesendete Paket, ob das Datenpaket Teil eines Übertragungsflusses ist oder ob der Übertragungsfluss pausiert hat, in welchem Fall die Daten als „application limited“ markiert werden. Darüber hinaus werden die zu sendenden Pakete mit der geschätzten Engpassrate getaktet, um Netzwerk-Warteschlangen zu vermeiden, die sonst auftreten würden, wenn das Netzwerk am Engpasspunkt eine Ratenanpassung durchführt. Kurz gesagt, BBR stellt sicher, dass der Absender Pakete mit einer Rate in das Netzwerk leitet, von der zu erwarten ist, dass sie auf dem gesamten Pfad nicht auf Warteschlangen stößt.
  • Neben den Transportprotokollen ist DNS ein weiterer wesentlicher Bestandteil der Internet-Infrastruktur. DNS ist ein Akronym für Domain Name Services und ist ein Standardprotokoll, das es dem Internetnutzer ermöglicht, zur Zielressource geleitet zu werden. Die Auflösung von Domain-Namen in numerische IP-Adressen ist für das Auffinden und Identifizieren von Ziel-Websites, Servern oder Geräten zusammen mit den zugrundeliegenden Netzwerkprotokollen unerlässlich.
  • Die DNS-Auflösung wird von einem DNS-Resolver durchgeführt, der auch als rekursiver Resolver bezeichnet wird und ein Server ist, der DNS-Anfragen von Webbrowsern und anderen Anwendungen empfängt. Eine DNS-Abfrage oder eine DNS-Anfrage ist eine Informationsanforderung, die vom Gerät eines Benutzers an einen DNS-Server gesendet wird, in den meisten Fällen wird eine DNS-Anfrage gesendet, um nach der IP-Adresse zu fragen, die mit einem Domainnamen verbunden ist. Der Resolver empfängt den Domain-Namen und leitet ihn an den Stammserver weiter und erhält die Details des Top-Level-Domain(TLD)-Namensserver. Über den TLD-Namensserver erhält der Stammserver die Details eines autoritativen Namensservers und fordert IP-Adressen an, die mit dem gewünschten Domänennamen übereinstimmen; die DNS-Abfrage wird aufgelöst, wenn er die angeforderte IP-Adresse erhält. Dennoch können DNS-Server so konfiguriert werden, dass sie die Benutzeranfragen (-abfragen) an einen Proxy-Server umleiten, der den eigentlichen Zielserver repräsentiert. Dies geschieht, indem die tatsächlichen IP-Adressen der Zielserver durch die IP-Adressen des Proxy-Servers ersetzt werden. Dies wird in der Regel von Proxy-Dienstanbietern durchgeführt, um ihre Dienste zu verbessern und die Sicherheit zu erhöhen. Neben der Konfiguration der DNS-Server können auch Firewalls verwendet werden, um die Benutzeranfragen umzuleiten und auf einen Proxy-Server umzuleiten. Ein alternativer DNS-Dienst ist das Anycast-DNS, ein Verfahren zur Umleitung von Datenverkehr, das für die schnelle Auslieferung von Website-Inhalten verwendet wird, das individuelle IP-Adressen auf mehreren Knoten anbietet. Benutzeranfragen werden an bestimmte Knoten geleitet, basierend auf Faktoren wie der Kapazität und Zustand des Servers sowie die Entfernung zwischen ihm und dem Besucher der Website.
  • An dieser Stelle wird zu Proxy-Servern zurückgekehrt, um einen der Anwendungsfälle von Proxy-Servern näher zu erläutern. Proxys können beim Sammeln von Daten äußerst nützlich sein. Das Sammeln von Webdaten wird auch als Web-Scraping bezeichnet. Da Web-Scraping in der Regel von automatisierten Anwendungen durchgeführt wird (bekannt als Web-Scraper oder Web-Crawler), kann Web-Scraping von vielen Standard-Websites leicht erkannt und blockiert werden. Wenn Web-Scraper jedoch Proxy-Dienste verwenden, können Web-Scraping-Aktivitäten leicht maskiert werden, so dass die Wahrscheinlichkeit, von Websites gesperrt zu werden, deutlich reduziert wird. Außerdem können Web-Scraper und Web-Crawler Proxys verwenden, um geografische Beschränkungen zu umgehen und unabhängig von ihrem geografischen Standort auf Daten zuzugreifen.
  • Ein Proxy-Anbieter kann die Qualität der Proxys kontrollieren und die End-Proxys auswählen, um eine Ziel-Webressource im Namen des Clients zu erreichen. Wenn derselbe Proxy für zu viele Anfragen verwendet wird, kann der Proxy vom Internetdienstanbieter oder der Webseite gesperrt werden, und es ist nicht möglich, einen solchen Proxy für nachfolgende Anfragen zu verwenden. Wenn zu viele Anfragen von einer IP-Adresse in einem kurzen Zeitraum eingehen, kann der Webserver eine Fehlermeldung zurückgeben und möglicherweise die Anfragen von diesem Proxy für eine voreingestellte Zeitspanne nicht zulassen. Um Fehler oder nicht zugelassene Anfragen zu vermeiden, werden Proxys von Zeit zu Zeit vom Dienstanbieter überprüft, und fehlerhafte Proxys werden aus dem Proxy-Pool entfernt (solche Proxys werden dem Client nicht mehr zur Verfügung gestellt). Der Dienstanbieter kann Proxys aus verschiedenen Grundlagen überprüfen: ob der Proxy online ist, wie lange die Verzögerungszeit ist, welche Internetverbindung der Proxy verwendet (WLAN, mobile Daten, etc.). Die Prüfung eines Proxys wird in geplanten Zeitintervallen durchgeführt, um sicherzustellen, dass die Benutzer einen bestimmten Proxy mit den Proxy-Diensten effizient nutzen können.
  • Allerdings gibt es erhebliche Herausforderungen, die mit Proxys und Proxy-Diensten im Allgemeinen verbunden sind. Außerdem kann nicht jeder Proxy-Anbieter den Benutzern zuverlässige und effiziente Proxy-Dienste anbieten. Netzwerkprobleme wie Latenz und geringer Netzwerkdurchsatz sind die größten Herausforderungen, denen sich jeder Proxy-Anbieter stellen muss. In der Netzwerkterminologie ist die Latenz ein Maß für die Verzögerung. Latenz wird in der Regel als Umlaufzeit-Verzögerung gemessen - die Zeit, die eine Information benötigt, um an ihr Ziel und wieder zurück zu gelangen. Ebenso zeigt der Begriff Netzwerkdurchsatz die Datenmenge, die von einer Quelle zu einer bestimmten Zeit übertragen wird. Netzwerküberlastung ist der Hauptfaktor für niedrige Durchsatzniveaus.
  • Höhere Latenz ist eine direkte Folge der großen geografischen Entfernung und der Anzahl der „Hops“ zwischen Servern und Benutzern. Hop bezieht sich in der Netzwerksprache auf die Anzahl der Netzwerkschnittstellen, die ein Paket (ein Teil der Daten) von der Quelle bis zum Ziel durchläuft. Eine wichtige Ursache für Latenz bei Proxy-Diensten ist die geografische Entfernung. Die von den Benutzern gewählten Standorte können die Geschwindigkeit eines Proxys bei der Bearbeitung von Benutzeranfragen erheblich beeinflussen. Optimale Standorte sind die, die näher an den Benutzern und auch nahe am Zielstandort liegen. Die Entfernung zwischen dem Benutzer und der zentralen Infrastruktur des Proxy-Anbieters kann ebenfalls zur Latenz beitragen. Wenn beispielsweise ein bestimmter Proxy-Anbieter nicht in der Region des Benutzers präsent ist, z. B. durch eine global verteilte Infrastruktur, wird der Benutzer wahrscheinlich unter erheblicher Latenz leiden. Die richtige Wahl der Standorte kann helfen, die Latenz zu minimieren. Daher könnte die Latenz durch die Wahl eines Proxys in unmittelbarer Nähe zum Benutzer und zum Ziel deutlich reduziert werden.
  • Neben anderen Aspekten stellen die gegenwärtigen Ausführungsformen Mittel für global verteilte Infrastrukturen bereit, die Proxy-Anbietern und Benutzern bei der Senkung der Latenz und der Erhöhung des Netzwerkdurchsatzes zugutekommen. Unter anderen Aspekten erhöhen die vorliegend beschriebenen Ausführungsformen auch die Erfolgsrate des Sammelns und Extrahierens von Daten aus dem Netzwerk.
  • ZUSAMMENFASSUNG
  • Mehrere hier beschriebene Aspekte zielen auf computerlesbare Medien und Systeme in Bezug zu Proxy-Dienstanbieter ab, die mehrere Rechnerkomponenten zu skalierbaren, hocheffizienten und global verteilten Infrastrukturen kombinieren können, die beispielsweise Mittel zur Verbesserung der Latenz und der Netzwerkleistung für Benutzer bereitstellen können, die Proxy-Dienste in Anspruch nehmen.
  • Um die Qualität von Proxy-Diensten zu verbessern, wird eine Lösung vorgeschlagen, die es Benutzern ermöglicht, Proxy-Anfragen an eine der geografisch nächstgelegenen Proxy-Infrastrukturen zu senden, um die Latenz zu reduzieren und die Netzwerkleistung zu verbessern. Die vorgeschlagene Lösung stellt in einem Aspekt Systeme und computerlesbare Medien bereit, um Metadaten von Ausgangsknoten zu identifizieren und auszuwählen, die sich in geografischer Nähe zu den Proxy-Infrastrukturen befinden, um die Benutzeranfragen zu bedienen. Weiterhin leiten die Proxy-Infrastrukturen die Benutzeranfragen direkt an entsprechende Proxy-Superknoten weiter, mit denen die ausgewählten Ausgangsknoten verbunden sind. In einem weiteren Aspekt können die Proxy-Superknoten Metadaten von Ausgangsknoten auswählen und identifizieren, die sich an einem bestimmten, von den Benutzern angeforderten geografischen Standort befinden. Außerdem kann die Proxy-Infrastruktur die Benutzeranfragen direkt an die jeweiligen Proxy-Superknoten weiterleiten, mit denen die ausgewählten Ausgangsknoten verbunden sind. Es ist hier wichtig zu erwähnen, dass die Proxy-Infrastruktur die Metadaten der Ausgangsknoten aus ihrer internen Datenbank auswählt. Die Auswahl der Metadaten von Ausgangsknoten und die Weiterleitung der Benutzeranfragen an entsprechende Proxy-Superknoten von Proxy-Infrastrukturen, die den Benutzern geografisch am nächsten sind, kann die Anzahl der Hops signifikant reduzieren und die Latenz verringern. Die Lösung bietet außerdem computerlesbare Medien und Systeme zum Testen, regelmäßigen Sammeln und Speichern von Metadaten mehrerer Ausgangsknoten.
  • Figurenliste
    • 1 zeigt ein Blockdiagramm einer beispielhaften Architekturdarstellung von Komponenten.
    • 2A bis 2D zeigen ein beispielhaftes Flussdiagramm eines Benutzergeräts, das eine Anfrage an ein Ziel über eine geografisch nächstgelegene Proxy-Infrastruktur sendet.
    • 3A und 3B zeigen ein beispielhaftes Flussdiagramm eines Proxy-Superknotens, der relevante Informationen betreffend einen Ausgangsknoten an eine zentrale Verwaltungseinheit meldet.
    • 4 ist ein beispielhaftes Flussdiagramm, das einen Proxy-Superknoten zeigt, der die Trennung eines Ausgangsknotens an eine zentrale Verwaltungseinheit meldet.
    • 5 ist ein beispielhaftes Flussdiagramm, das eine Repository-Einheit zeigt, die Metadaten von einer zentralen Verwaltungseinheit sammelt.
    • 6 zeigt ein Computersystem, in dem ein computerlesbares Medium Anweisungen zur Durchführung der hier offengelegten Methoden und Prozesse bereitstellen kann.
  • DETAILLIERTE BESCHREIBUNG
  • Einige allgemeine Beschreibungen der Terminologie können hilfreich sein und sind hier der Einfachheit halber enthalten und sind im weitest möglichen Sinne zu interpretieren. Elemente, die in der Beschreibung nicht zwingend definiert sind, sollen die Bedeutung haben, wie sie der Fachmann verstehen würde.
  • Benutzergerät 102 - kann ein beliebiges geeignetes Computergerät sein, einschließlich, aber nicht beschränkt auf, ein Smartphone, ein Tablet, ein PC, ein Laptop, ein Spielgerät, ein Fahrzeug-Infotainment-Gerät, ein intelligentes Gerät (z. B. ein intelligenter Kühlschrank oder ein intelligenter Fernseher), ein Cloud-Server, ein Großrechner, ein Notebook, ein Desktop-Computer, eine Workstation, ein mobiles Gerät oder ein beliebiges anderes elektronisches Gerät, das für die Verbindung mit einem Proxy-Server verwendet wird. Darüber hinaus ist anzumerken, dass der Begriff „Benutzer“ im Interesse einer kurzen Ausdrucksweise verwendet wird und sich auf eine Vielzahl von Entitäten beziehen kann, die mit einem Teilnehmerkonto verbunden sein können, wie z. B. eine Person, eine Organisation, eine organisatorische Rolle innerhalb einer Organisation, eine Gruppe innerhalb einer Organisation, die Proxy-Dienste anfordert und verwendet, um relevante Informationen aus dem Web zu erhalten (z. B. Scraping, Streaming usw.).
  • DNS-Anbieter 104 - eine Partei, die DNS-Dienste anbietet, eine Kombination aus Hardware und Software, die in der Lage ist, vom Benutzergerät 102 gestellte Domain-Namen-Anfragen aufzulösen. Der DNS-Anbieter 104 kann auch in einer Cloud oder bei einem Drittanbieter angesiedelt sein. Der DNS-Dienst ist der Prozess der Übersetzung von Domain-Namen in die entsprechenden IP-Adressen. Es ist wichtig zu beachten, dass der DNS-Anbieter 104 auf DNS-Anfragen basierend auf dem geografischen Standort sowohl des Benutzergeräts 102 als auch des Proxy-Gateways 108, zu dem das Benutzergerät 104 eine Verbindung herzustellen versucht, antwortet. Der DNS-Anbieter 104 löst DNS-Anfragen auf, indem er die IP-Adresse des Proxy-Gateways 108 bereitstellt, das dem Benutzergerät 102 am nächsten ist und sich im selben geografischen Gebiet befindet.
  • Proxy-Infrastruktur 106 - ein Proxy-Server, der ein Proxy-Gateway 108, einen Proxy-Messenger 110, eine Benutzerdatenbank 112, eine Repository-Einheit 114, die wiederum eine Verarbeitungseinheit 116 und eine Pool-Datenbank 118 enthält. Es kann mehrere Instanzen von Proxy-Infrastrukturen 106 geben, die sich an verschiedenen geografischen Standorten auf der ganzen Welt befinden.
  • Proxy-Gateway 108 - ein Proxy, ein Gateway, das dem Benutzergerät 102 oder mehreren Benutzergeräten 102 den Zugriff auf die Proxy-Dienste ermöglicht, indem es eine Schnittstelle zum Proxy-Anbieter-Netzwerk 106 bereitstellt. Das Proxy-Gateway 108 kann eine Kombination aus Software und Hardware sein und kann Pufferdienste beinhalten. Das Proxy-Gateway 108 bietet einen Einstiegspunkt für das Benutzergerät 102 in die Proxy-Infrastruktur 106. Das Proxy-Gateway 108 übernimmt den Empfang und die Weiterleitung der Anfragen und sendet die Antworten über das Netzwerk 130 an das Benutzergerät 102 zurück. Das Proxy-Gateway 108 ist ein Bestandteil der Proxy-Infrastruktur 106.
  • Proxy-Messenger 110 - ein Proxy-Server (ein Computersystem oder - systeme oder -anwendungen) und ein Bestandteil der Proxy-Infrastruktur 106, der mehrere komplexe Funktionen ausführen kann. Der Proxy-Messenger 110 empfängt die Anfragen der Benutzergeräte 102 vom Proxy-Gateway 108 und prüft die Anfragen auf jegliche benutzerdefinierte Präferenzen hinsichtlich der Auswahl des Ausgangsknotens. Der Proxy-Messenger 110 ist für das Anfragen von Metadaten eines Ausgangsknotens oder von Ausgangsknoten, die die benutzerdefinierten Präferenzen erfüllen, von der Repository-Einheit 114 verantwortlich. Darüber hinaus kann der Proxy-Messenger 110 Metadaten des ausgewählten Ausgangsknotens oder der ausgewählten Ausgangsknoten von der Repository-Einheit 114 empfangen. Der Proxy-Messenger 110 ist auch dafür verantwortlich, die Anfragen der Benutzergeräte 102 an den jeweiligen Proxy-Superknoten 120 zu senden, mit dem der ausgewählte Ausgangsknoten verbunden ist. Wenn die Anfrage des Benutzergeräts 102 keine benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens enthält, fordert der Proxy-Messenger 110 außerdem Metadaten des Ausgangsknotens oder der Ausgangsknoten, die sich in geografischer Nähe zur Proxy-Infrastruktur 106 befinden, von der Repository-Einheit 114 an. In einigen Ausführungsformen können der Proxy-Messenger 110 und das Proxy-Gateway 108 als ein einziges Element mit einem anderen Namen zusammengeführt werden; die Gesamtfunktionen bleiben jedoch unverändert.
  • Benutzerdatenbank 112 - eine Datenbank, ein strukturierter Speicher, der Verifizierungsnachweise von Benutzergeräten 102 enthält. Die Benutzerdatenbank 112 speichert Daten in Tabellen (benannte Spalten und mehrere Zeilen), in denen sich Informationen zu den Verifizierungsnachweisen von mehreren Benutzergeräte 102 finden. Nachweise können Benutzernamen, Benutzerkennungen, Passwörter, Hash-Kennungen, Seriennummern, PIN sein, sind aber nicht darauf beschränkt. Die Benutzerdatenbank 112 kann ein beliebiges physisches Speichergerät oder ein Cloud-basierter Speicher sein. Wie oben erwähnt, können in einigen Ausführungsformen die Benutzerdatenbank 112 und der Proxy-Messenger 110 in einem einzigen Element untergebracht werden; die Gesamtfunktionalität bleibt jedoch unverändert. Die Benutzerdatenbank 112 ist ein Bestandteil der Proxy-Infrastruktur 106.
  • Repository-Einheit 114 - ein Rechnersystem, ein Proxy und ein Bestandteil der Proxy-Infrastruktur 106. Die Repository-Einheit 114 enthält Elemente, die so konfiguriert sind, dass sie Metadaten von Ausgangsknoten von der zentralen Verwaltungseinheit 122 sammeln, klassifizieren und speichern. Darüber hinaus kann die Repository-Einheit 114 auf die Anfragen des Proxy-Messenger 110 reagieren, indem sie Metadaten von Ausgangsknoten identifiziert, auswählt und die Metadaten von Ausgangsknoten an den Proxy-Messenger 110 sendet. Die Verarbeitungseinheit 116 und die Pool-Datenbank 118 sind die Elemente, die die Repository-Einheit 114 bilden.
  • Verarbeitungseinheit 116 - ein Computersystem und ein Bestandteil der Repository-Einheit 114, verantwortlich für das Sammeln von Metadaten der Ausgangsknoten von der zentralen Verwaltungseinheit 122. Darüber hinaus kann die Verarbeitungseinheit 116 die gesammelten Metadaten von Ausgangsknoten in Kategorien klassifizieren, die auf Attributen von Ausgangsknoten basieren (z. B. Standort, Latenz, Akkulaufzeit usw.), und die klassifizierten Metadaten in der Pool-Datenbank 118 speichern. Die Verarbeitungseinheit 116 kann Metadaten von Ausgangsknoten aus der Pool-Datenbank 118 identifizieren und auswählen, die zu den vom Proxy-Messenger 110 empfangenen Anfragen passen. Darüber hinaus antwortet die Verarbeitungseinheit 116 auf Anfragen des Proxy-Messenger 110, indem sie die identifizierten Metadaten von Ausgangsknoten aus der Pool-Datenbank 118 abruft und diese dem Proxy-Messenger 110 zur Verfügung stellt. Man muss verstehen, dass die Verarbeitungseinheit 116 die Metadaten der Ausgangsknoten von der zentralen Verwaltungseinheit 122 dynamisch in einem regelmäßigen Zeitintervall abruft. Weiterhin kann die Verarbeitungseinheit 116 kontinuierlich Änderungen an den in der Pool-Datenbank 118 gespeicherten Metadaten der Ausgangsknoten vornehmen.
  • Pool-Datenbank 118 - ein Bestandteil der Repository-Einheit 114, eine strukturierte Speichereinheit, die Metadaten von Ausgangsknoten enthält, die in verschiedene Kategorien (wie Standort, Latenz, Akkulaufzeit usw.) unterteilt sind. In einigen Ausführungsformen kann die Pool-Datenbank 118 innerhalb der Verarbeitungseinheit 114 gebildet werden, bleibt aber ein Teil der Repository-Einheit 114, und die Gesamtfunktion bleibt unverändert.
  • Proxy-Superknoten 120 - eine beispielhafte Instanz eines Proxys, der für den Empfang und die Weiterleitung von Anfragen des Proxy-Messenger 110 an Ausgangsknoten verantwortlich ist. Weiterhin kann der Proxy-Superknoten 120 für die oben genannten Anfragen Antworten von Ausgangsknoten empfangen und die Antworten an den Proxy-Messenger 110 weiterleiten. Der Proxy-Superknoten 120 unterhält Verbindungen mit Ausgangsknoten, die sich in geografischer Nähe befinden. Man muss verstehen, dass es mehrere Instanzen des Proxy-Superknotens 120 geben kann, die über verschiedene geografische Standorte verteilt sind. Der Proxy-Superknoten 120 kann die Ausgangsknoten dynamisch testen und die Metadaten der Ausgangsknoten in einem regelmäßigen Zeitintervall an die zentrale Verwaltungseinheit 122 melden.
  • Zentrale Verwaltungseinheit 122 - eine Verarbeitungseinheit, die in der Lage ist, komplexe Funktionen des Empfangs von Metadaten von Ausgangsknoten in Echtzeit von mehreren Proxy-Superknoten 120 auszuführen. Darüber hinaus speichert die zentrale Verwaltungseinheit 122 die Metadaten von mehreren Ausgangsknoten, die mit verschiedenen Proxy-Superknoten 120 verbunden sind, wobei alle Metadaten in einem einzigen Speicher vorgehalten werden. Darüber hinaus kann die zentrale Verwaltungseinheit 122 Anfragen von der Verarbeitungseinheit 116 empfangen und auf die Anfrage reagieren, indem sie die erforderlichen Metadaten der Ausgangsknoten an die Verarbeitungseinheit 116 liefert. In der vorliegenden Offenlegung gibt es eine Haupt-Zentralverwaltungseinheit 122; Es kann jedoch mehrere zentrale Verwaltungseinheiten 112 geben, die identische Funktionen ausführen.
  • Regionaler DNS-Server 124 - ein DNS-Dienstanbieter, der DNS-Anfragen von Ausgangsknoten auflöst, die versuchen, sich anfänglich, d. h. zum ersten Mal, mit dem Proxy-Superknoten 120 zu verbinden. Der regionale DNS-Server 124 löst DNS-Anfragen von Ausgangsknoten auf, indem er die IP-Adresse des Proxy-Superknotens 120 bereitstellt, der dem anfragenden Ausgangsknoten geografisch am nächsten liegt. Der regionale DNS-Server 124 ist eine Kombination aus Hardware und Software; der regionale DNS-Server 124 kann jedoch auch in einer Cloud untergebracht sein.
  • Ausgangsknoten 126 - eine beispielhafte Instanz von Proxys, die verwendet werden, um das Ziel 128 zu erreichen. Einfach ausgedrückt ist Ausgangsknoten 126 das letzte Gateway, bevor der Datenverkehr das Ziel 128 erreicht. Es können mehrere Proxy-Server verwendet werden, um die Anfrage eines Benutzers auszuführen (z. B. ein Proxy-Superknoten 120 und ein Proxy-Messenger 110). Der Ausgangsknoten 126 ist jedoch der letzte Proxy, der das Ziel kontaktiert und die Informationen vom Ziel abruft. Der Ausgangsknoten 126 kann z. B. ein Laptop, ein Mobiltelefon, ein Tablet oder ein Smart-Device sein. Weiterhin kann der Ausgangsknoten 126 auch ein Gerät sein, das zwar netzwerkfähig ist, aber nicht primär für die Vernetzung gedacht ist, wie z. B. vernetzte Haushaltsgeräte, intelligente Haussicherheitssysteme, autonome landwirtschaftliche Geräte, tragbare Geräte zur Gesundheitsüberwachung, intelligente Fabrikgeräte, drahtlose Inventar-Tracker, biometrische Cybersicherheitsscanner, Versandcontainer und andere. Außerdem können sich die Ausgangsknoten 126 an verschiedenen geografischen Standorten befinden.
  • Ziel 128 - eine beispielhafte Instanz eines Servers, der jegliche Art von Medieninhalten, Ressourcen, Informationen, Diensten über das Internet oder ein anderes Netzwerk bereitstellt. Das Ziel 128 kann z. B. eine bestimmte IP-Adresse, ein Domänenname und/oder ein Hostname sein, möglicherweise mit einem definierten Netzwerkprotokoll-Port, der eine Ressourcenadresse an einem entfernten System darstellt, das den Inhalt bereitstellt, der über Industriestandardprotokolle zugänglich ist. Das Ziel 128 kann ein physischer oder ein Cloud-Server sein, der den über die Zieladresse angeforderten Inhalt enthält.
  • Netzwerk 130 - ist ein digitales Telekommunikationsnetzwerk, das es den Knoten ermöglicht, Ressourcen gemeinsam zu nutzen und darauf zuzugreifen. Beispiele für ein Netzwerk: Local-Area-Netze (LANs), Wide-Area-Netze (WANs), Campus-Area-Netze (CANs), Metropolitan-Area-Netze (MANs), Home-Area-Netze (HANs), Intranet, Extranet, Internetwork, Internet. In der vorliegenden Offenlegung ist das Internet das relevanteste Netzwerk für die Funktionsweise der Methode.
  • Metadaten - eine Reihe von Informationen, die die Attribute eines einzelnen Ausgangsknotens 126 beschreiben. Zu den Attributen eines Ausgangsknotens 126 können unter anderem gehören: geografischer Standort, IP-Adresse, Antwortzeit/Latenz, Anzahl der Hops zum Erreichen, Akkulaufzeit, Erreichbarkeit, Verfügbarkeitsstatus, Fähigkeit zum Erreichen eines bestimmtes Ziels, Betriebsplattform/Systemkonfiguration, IP-Adresse eines bestimmten Proxy-Superknotens 120, mit dem der Ausgangsknoten 126 verbunden ist. Die meisten der oben genannten Attribute werden vom Proxy-Superknoten 120 gesammelt, indem der Ausgangsknoten 126 in regelmäßigen Abständen getestet wird.
  • 1 ist eine beispielhafte Gesamtstruktur, die das Benutzergerät 102, das ein beliebiges Computergerät sein kann (z. B. ein Personal Computer, ein Mobiltelefon, ein Tablet), den DNS-Anbieter 104, die Proxy-Infrastruktur 106, den Proxy-Superknoten 120, die zentrale Verwaltungseinheit 122, den regionalen DNS-Server 124, den Ausgangsknoten 126 und das Ziel 128 zeigt, die mit dem Netzwerk 130 verbunden sind, das ein beliebiges digitales Telekommunikationsnetzwerk sein kann (z. B. das Internet). Die Proxy-Infrastruktur 106 enthält das Proxy-Gateway 106, den Proxy-Messenger 108, die Benutzerdatenbank 112 und die Repository-Einheit 114. Weiterhin enthält die Repository-Einheit 114 die Verarbeitungseinheit 116 und die Benutzerdatenbank 118. Während die in 1 dargestellten Elemente eine beispielhafte Ausführungsform implementieren, können einige Elemente in anderen Ausführungsformen andere Bezeichnungen haben oder zu einem einzigen Element kombiniert werden anstatt zwei separate Elemente zu bilden (z. B. können die Verarbeitungseinheit 116 und die Pool-Datenbank 118 ein einziges Element bilden. Ebenso können der Proxy-Messenger 110 und das Proxy-Gateway 108 als ein einziges Element zusammengeführt werden). Die Funktionalität der Elemente und der Informationsfluss zwischen den Elementen wird jedoch im Allgemeinen durch solche Kombinationen oder Zusammenlegungen nicht beeinträchtigt. Daher ist die 1, wie sie dargestellt ist, nur als beispielhaft zu verstehen und nicht einschränkend oder ausschließend für andere Merkmale, einschließlich der in anderen Bereichen dieser Offenlegung diskutierten Merkmale. Darüber hinaus kann es mehrere Instanzen der Proxy-Infrastruktur 106, des Proxy-Superknotens 120 und des Ausgangsknotens 126 geben, die sich an verschiedenen geografischen Orten auf der Welt befinden; in 1 ist jedoch nur eine Instanz der vorgenannten Elemente dargestellt. Die Proxy-Infrastruktur 106, die zentrale Verwaltungseinheit 122 und der Proxy-Superknoten 120 sind die wesentlichen Elemente, die erforderlich sind, um Proxy-Dienste für ein Benutzergerät 102 bereitzustellen.
  • Innerhalb der Proxy-Infrastruktur 106 können das Proxy-Gateway 108 und der Proxy-Messenger 110 miteinander kommunizieren, während der Proxy-Messenger 110 auf die Benutzerdatenbank 112 zugreifen kann. Der Proxy-Messenger 110 und Verarbeitungseinheit 116 können miteinander kommunizieren, während die Verarbeitungseinheit 116 auf die Pool-Datenbank 118 zugreifen kann. Weiterhin kann in der Proxy-Infrastruktur 106 das Proxy-Gateway 108 mit dem externen Element, nämlich dem Benutzergerät 102, kommunizieren. Der Proxy-Messenger 110 kann mit dem externen Element, dem Proxy-Superknoten 120, kommunizieren. In ähnlicher Weise kann die Verarbeitungseinheit 116, die in der Repository-Einheit 114 vorhanden ist, mit dem externen Element, nämlich der zentralen Verwaltungseinheit 112, kommunizieren.
  • In 1 sendet das Benutzergerät 102 zunächst eine DNS-Anfrage über das Netzwerk 130 an den DNS-Anbieter 104. Der DNS-Anbieter 104 löst die DNS-Anfrage auf, indem er die IP-Adresse, die zu einer der geografisch nächstgelegenen Proxy-Infrastrukturen 106 gehört, dem Benutzergerät 102 bereitstellt. Anschließend sendet das Benutzergerät 102 der Proxy-Infrastruktur 106 über das Netzwerk 130 eine Anfrage zur Datenextraktion aus dem Ziel 128. Alternativ zur herkömmlichen DNS-Auflösungsmethode kann der DNS-Anbieter 104 auch eine Anycast-Routing-Methode implementieren, um das Benutzergerät 102 zu einer der geografisch nächstgelegenen Proxy-Infrastrukturen 106 zu leiten. Konkret wird die Anfrage des Benutzergeräts 102 von dem in der Proxy-Infrastruktur 106 vorhandenen Proxy-Gateway 108 empfangen. Dabei muss verstehen werden, dass das Proxy-Gateway 108 einen Eintrittspunkt für das Benutzergerät 102 in die Proxy-Infrastruktur 106 darstellt. Der Proxy-Gateway 108 übernimmt den Empfang und die Weiterleitung der Anfragen und sendet die Antworten über das Netzwerk 130 an das Benutzergerät 102 zurück. Zusätzlich kann die Anfrage vom Benutzergerät 102 Authentifizierungsdaten enthalten, die für die Benutzervalidierung erforderlich sind, und kann benutzerdefinierte Präferenzen für die Auswahl des Ausgangsknotens enthalten.
  • Nach Erhalt der Anfrage zur Datenextraktion vom Benutzergerät 102 leitet das Proxy-Gateway 108 die Anfrage an den Proxy-Messenger 110 weiter. Unmittelbar nach dem Empfang der Anfrage vom Proxy-Gateway 108 führt der Proxy-Messenger 110 eine Benutzervalidierung durch, indem er die in der Anfrage angegebenen Authentifizierungsdaten mit der Benutzerdatenbank 112 abgleicht. Sobald die Anmeldeinformationen verifiziert sind, prüft der Proxy-Messenger 110 die Anfrage, um alle benutzerdefinierten Präferenzen zu identifizieren, die bei der Auswahl eines Ausgangsknotens erfüllt sein müssen. Insbesondere prüft der Proxy-Messenger 110 die Anfrage auf einen gewünschten Standort des Ausgangsknotens. Wenn das Benutzergerät 102 keine benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens angibt, fragt der Proxy-Messenger 110 die Repository-Einheit 114 für Metadaten eines Ausgangsknotens an, der sich in geografischer Nähe zur Proxy-Infrastruktur 106 befindet.
  • Die Anfrage von Metadaten vom Proxy-Messenger 110 wird von der Verarbeitungseinheit 116 empfangen, die sich in der Repository-Einheit 114 befindet. Nach dem Empfang der Anfrage von Metadaten eines Ausgangsknotens greift die Verarbeitungseinheit 116 auf die Pool-Datenbank 118 zu, um die Metadaten eines Ausgangsknotens in geografischer Nähe zur Proxy-Infrastruktur 106 zu identifizieren und auszuwählen. Danach holt die Verarbeitungseinheit 116 die Metadaten des ausgewählten Ausgangsknotens (repräsentiert durch den Ausgangsknoten 126) ab und sendet die Metadaten an den Proxy-Messenger 110 zurück. Die von der Verarbeitungseinheit 116 gesendeten Metadaten enthalten die IP-Adressinformationen des ausgewählten Ausgangsknotens und des bestimmten Proxy-Superknotens 120, mit dem der ausgewählte Ausgangsknoten verbunden ist.
  • Nach dem Empfang der Metadaten von der Verarbeitungseinheit 116 sendet der Proxy-Messenger 110 die Anfrage zur Datenextraktion an den Proxy-Superknoten 120 und die IP-Adresse des ausgewählten Ausgangsknotens 126. Nach dem Empfang der Anfrage vom Proxy-Messenger 110 weist der Proxy-Superknoten 120 den Ausgangsknoten 126 an, eine Verbindung mit dem vorgesehenen Ziel 128 aufzubauen. Dementsprechend baut der Ausgangsknoten 126 eine Verbindung mit dem Ziel 128 auf. Im nächsten Schritt sendet der Proxy-Superknoten 120 die Anfrage zur Datenextraktion an den Ausgangsknoten 120, der die Anfrage dann an das Ziel 128 weiterleitet.
  • In einer anderen Ausführungsform kann das Benutzergerät 102 die benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens bereitstellen. Nach Prüfung der Anfrage fordert der Proxy-Messenger 110 die Repository-Einheit 114 für Metadaten eines Ausgangsknotens an, der sich an dem spezifischen geografischen Standort befindet, der die benutzerdefinierten Präferenzen erfüllt. Die Anfrage von Metadaten vom Proxy-Messenger 110 wird von der Verarbeitungseinheit 116 in der Repository-Einheit 114 empfangen. Nach dem Empfang der Anfrage von Metadaten eines Ausgangsknotens greift die Verarbeitungseinheit 116 auf die Pool-Datenbank 118 zu, um die Metadaten eines Ausgangsknotens zu identifizieren und auszuwählen, der sich am bestimmten geografischen standort befindet. Danach holt die Verarbeitungseinheit 116 die Metadaten des ausgewählten Ausgangsknotens (auch repräsentiert durch den Ausgangsknoten 126) ab und sendet die Metadaten an den Proxy-Messenger 110 zurück. Die von der Verarbeitungseinheit 116 gesendeten Metadaten enthalten die IP-Adressinformationen des ausgewählten Ausgangsknotens und des bestimmten Proxy-Superknotens 120, zu dem der ausgewählte Ausgangsknoten In diesem Fall kann sich der Proxy-Superknoten 120 in geografischer Nähe zum ausgewählten Ausgangsknoten befinden und kann geografisch von der Proxy-Infrastruktur 106 entfernt sein.
  • Nach dem Empfang der Metadaten von der Verarbeitungseinheit 116 sendet der Proxy-Messenger 110 die Anfrage zur Datenextraktion an den bestimmten Proxy-Superknoten 120 und die IP-Adresse des ausgewählten Ausgangsknotens 126. Nach dem Empfang der Anfrage vom Proxy-Messenger 110 weist der Proxy-Superknoten 120 den Ausgangsknoten 126 an, eine Verbindung mit dem angestrebten Ziel 128 aufzubauen. Dementsprechend baut der Ausgangsknoten 126 eine Verbindung mit dem Ziel 128 auf. Danach sendet der Proxy-Superknoten 120 die Anfrage zur Datenextraktion an den Ausgangsknoten 120, der die Anfrage dann an das Ziel 128 weiterleitet.
  • Somit kann durch die oben beschriebene Ausführungsform eine Proxy-Infrastruktur 106, die sich geografisch näher an einem Benutzergerät 102 befindet, Metadaten von Ausgangsknoten, die sich an einem entfernten geografischen Standort befinden, aus ihrer internen Pool-Datenbank 118 durch die Verarbeitungseinheit 116 identifizieren und auswählen. Ferner kann die Proxy-Infrastruktur 106, die geografisch näher am Benutzergerät 102 liegt, die Anfrage zur Datenextraktion an einen bestimmten Proxy-Superknoten 120 (der sich an einem beliebigen entfernten geografischen Standort befindet) senden, mit dem der ausgewählte Ausgangsknoten verbunden ist.
  • Unter einem anderen Aspekt zeigt 1 eine Kommunikation, die stattfindet, wenn ein neu angeschlossener Ausgangsknoten 126 oder mehrere Ausgangsknoten 126 eine DNS-Anfrage an den regionalen DNS-Server 124 stellen. Diese Verbindung erfolgt zu einem Zweck, Ausgangsknoten mit dem Proxy-Superknoten 120 zu verbinden, der geografisch näher bei den Ausgangsknoten liegt. Der regionale DNS-Server 124 löst die DNS-Anfrage auf, indem er die IP-Adresse des Proxy-Superknotens 120 bereitstellt, der sich in geografischer Nähe zum anfragenden Ausgangsknoten 126 befindet. Alternativ zur herkömmlichen DNS-Auflösungsmethode kann der regionale DNS-Server 124 auch die Anycast-Methode verwenden, um den Ausgangsknoten 126 zu dem Proxy-Superknoten 120 zu leiten, der sich in geografischer Nähe zum anfragenden Ausgangsknoten 126 befindet. Anschließend fordert der Ausgangsknoten 126 eine Verbindung zum Proxy-Superknoten 120 an, der seinerseits die Verbindungen bestätigt, wodurch eine Verbindung mit dem Ausgangsknoten 126 hergestellt wird. Man muss hier verstehen, dass der Proxy-Superknoten 120 Verbindungen mit mehreren Instanzen von Ausgangsknoten, die sich in geografischer Nähe befinden, annehmen und aufrechterhalten kann. Nach dem Aufbau von Verbindungen testet der Proxy-Superknoten 120 regelmäßig den Ausgangsknoten 126 oder mehrere Ausgangsknoten 126, um Informationen über mehrere Attribute des Ausgangsknotens 126 oder mehrerer Ausgangsknoten 126 zu sammeln. Der Proxy-Superknoten 120 meldet die gesammelten Informationen über den Ausgangsknoten 126 oder mehrere Ausgangsknoten 126 regelmäßig an die zentrale Verwaltungseinheit 122. Außerdem kann der Proxy-Superknoten 120 der zentralen Verwaltungseinheit 122 über neu angeschlossene Ausgangsknoten oder Trennungen von zuvor angeschlossenen Ausgangsknoten berichten.
  • Unter einem weiteren Aspekt ist in 1 dargestellt, dass die Proxy-Infrastruktur 106 regelmäßig Metadaten mehrerer Ausgangsknoten von der zentralen Verwaltungseinheit 122 über das Netzwerk 130 sammelt. Speziell greift die Verarbeitungseinheit 116 auf die zentrale Verwaltungseinheit 122 zu, um Metadaten mehrerer Ausgangsknoten zu sammeln, unabhängig von den Standorten der Ausgangsknoten. Die Verarbeitungseinheit 116 klassifiziert die Metadaten mehrerer Ausgangsknoten in mehrere Kategorien, basierend auf den Attributen der Ausgangsknoten, einschließlich, aber nicht beschränkt auf, geografischer Standort, Fähigkeit zum Erreichen bestimmter Ziele, Latenz/Reaktionszeit. Die Verarbeitungseinheit 116 speichert die klassifizierten Metadaten in der Pool-Datenbank 118. Darüber hinaus kann die Verarbeitungseinheit 116 die Metadaten der Ausgangsknoten kontinuierlich aktualisieren, indem sie notwendige Änderungen in der Pool-Datenbank 118 vornimmt.
  • Weiterhin, unter einem weiteren Aspekt, wird in 1 einer der effizienten Algorithmen zur TCP-Überlastungskontrolle (wie BBR) verwendet, der die Latenz stark reduziert und den Netzwerkdurchsatz verbessert. BBR steht für „Bandwidth Bottleneck and Round Trip Time“. In der vorliegenden Ausführungsform optimiert der BBR-Algorithmus, wie Netzwerkpakete in der TCP-Verbindung übertragen werden. Genauer gesagt, kann der BBR-Algorithmus die Datenmenge und die Übertragungsgeschwindigkeit von Daten in TCP-Verbindungen steuern. In der vorliegenden Ausführungsform ermöglicht BBR die Übertragung oder, anders ausgedrückt, die Verteilung von mehr Daten in kürzerer Zeit ohne Paketverluste, was zu einem optimalen Netzwerkdurchsatz und minimierter Latenz führt. Im Gegensatz zu anderen Algorithmen zur TCP-Überlastungssteuerung, die Überlastungen nicht erkennen, wenn sie auftreten, verhindert BBR Netzwerküberlastung, bevor sie auftreten.
  • 2A stellt ein beispielhaftes Flussdiagramm dar, das das Benutzergerät 102 zeigt, das eine Anfrage an das Ziel 128 über die geografisch nächstgelegene Proxy-Infrastruktur 106 (nicht dargestellt) sendet. In Schritt 201 beginnt das Benutzergerät 102 mit dem Senden einer DNS-Anfrage an den DNS-Anbieter 104 über das Netzwerk 130, um die IP-Adresse der Proxy-Infrastruktur 106 zu erhalten und allgemein auf die von der Proxy-Infrastruktur 106 bereitgestellten Proxy-Dienste zuzugreifen.
  • In Schritt 203, nach dem Empfang der DNS-Anfrage vom Benutzergerät 102, löst der DNS-Anbieter 104 die DNS-Anfrage auf, indem er die IP-Adresse der Proxy-Infrastruktur 106 bereitstellt, die dem Benutzergerät 102 geografisch am nächsten ist. Wie bereits erwähnt, antwortet der DNS-Anbieter 104 auf die DNS-Anfragen auf der Grundlage des geografischen Standorts sowohl des Benutzergeräts 102 als auch der Proxy-Infrastruktur 106, zu der das Benutzergerät 104 eine Verbindung herzustellen versucht. Zum Beispiel stellt der DNS-Anbieter 104 sicher, dass ein Benutzergerät 102, das sich in Kanada befindet, mit der IP-Adresse der Proxy-Infrastruktur 106 versehen wird, die dem bestimmten Benutzergerät 102 in Kanada geografisch am nächsten ist.
  • In Schritt 205 sendet das Benutzergerät 102, nachdem es die IP-Adresse der geografisch nächstgelegenen Proxy-Infrastruktur 106 erhalten hat, eine Anfrage zur Datenextraktion vom Ziel 128 an die Proxy-Infrastruktur 106. Genauer gesagt wird die Anfrage an das Proxy-Gateway 108 gesendet, das in dieser beispielhaften Ausführungsform innerhalb der Proxy-Infrastruktur 106 vorhanden ist. Es sei hier daran erinnert, dass das Proxy-Gateway 108 ein Einstiegspunkt für das Benutzergerät 102 in die Proxy-Infrastruktur 106 ist. Die vom Benutzergerät gesendete Anfrage enthält Authentifizierungsdaten, die für die Benutzervalidierung erforderlich sind. Die Anmeldeinformationen können Benutzernamen, Passwörter, Hash-Kennungen, Seriennummern und PIN umfassen, sind aber nicht darauf beschränkt. Außerdem kann die Anfrage über beliebige Standard-Netzwerkprotokolle gesendet werden, einschließlich, aber nicht beschränkt auf, HTTP, UDP, SOCKS5. Es ist wichtig zu beachten, dass die vom Benutzergerät 102 gesendete Anfrage benutzerdefinierte Präferenzen für die Auswahl des Ausgangsknotens enthalten kann, z. B. einen gewünschten Standort des Ausgangsknotens.
  • In Schritt 207, nach dem Empfang der Anfrage vom Benutzergerät 102, leitet das Proxy-Gateway 108 die Anfrage an den Proxy-Messenger 110 weiter, der in dieser beispielhaften Ausführungsform innerhalb der Proxy-Infrastruktur 106 vorhanden ist. Infolgedessen verifiziert der Proxy-Messenger 110 in Schritt 209 nach dem Empfang der Anfrage die in der Anfrage enthaltenen Anmeldeinformationen. Speziell greift der Proxy-Messenger 110 auf die Benutzerdatenbank 112 zu und verifiziert die Anmeldeinformationen anhand der in der Benutzerdatenbank 112 vorhandenen Daten. Durch die Verifizierung der Anmeldeinformationen validiert der Proxy-Messenger 110 den Benutzer. Der Validierungsprozess kann die Überprüfung der Kombination aus Benutzer-ID und Passwort oder PIN, die vom Benutzergerät 102 bereitgestellt wird, beinhalten, ist aber nicht hierauf beschränkt. Die Überprüfung der Anmeldeinformationen ist wichtig, da sie es der Proxy-Infrastruktur 106 ermöglicht, ihre Netzwerke sicher zu halten, indem sie nur validierten Benutzergeräten 102 den Zugriff auf ihre gesicherten Dienste gestattet.
  • 2B ist die Fortsetzung eines beispielhaften Flussdiagramms von 2A. In Schritt 211 prüft der Proxy-Messenger 110 nach der Verifizierung der Anmeldeinformationen und der Benutzervalidierung die Anfrage, um alle benutzerdefinierten Präferenzen zu identifizieren, die bei der Auswahl eines Ausgangsknotens 126 erfüllt werden müssen. Speziell prüft der Proxy-Messenger 110 die Anfrage auf einen gewünschten Standort des Ausgangsknotens. Wenn die Anfrage keine benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens 126 enthält, fordert der Proxy-Messenger 110 in diesem Fall die in der Repository-Einheit 114 vorhandene Verarbeitungseinheit 116 (nicht dargestellt) nach Metadaten eines Ausgangsknotens 126 an, der sich in geografischer Nähe zur Proxy-Infrastruktur 106 befindet. Entsprechend fragt der Proxy-Messenger 110 in Schritt 213 die in der Repository-Einheit vorhandene Verarbeitungseinheit 116 nach Metadaten eines Ausgangsknotens 126 an, der sich in geografischer Nähe zur Proxy-Infrastruktur 106 befindet.
  • In Schritt 215, nach dem Empfang der Anfrage nach Metadaten vom Proxy-Messenger 110, identifiziert und wählt die Verarbeitungseinheit 116 die Metadaten des Ausgangsknotens 126, der sich in geografischer Nähe zur Proxy-Infrastruktur 106 befindet, durch Zugriff auf die Pool-Datenbank 118. Folglich holt die Verarbeitungseinheit 116 in Schritt 217 die Metadaten des ausgewählten Ausgangsknotens 126 aus der Pool-Datenbank 118 ab. In Schritt 219 sendet die Verarbeitungseinheit 116 die Metadaten des ausgewählten Ausgangsknotens 126 an den Proxy-Messenger 110. Die von der Verarbeitungseinheit 116 gesendeten Metadaten enthalten die IP-Adressinformationen des ausgewählten Ausgangsknotens und des bestimmten Proxy-Superknotens 120, mit dem der ausgewählte Ausgangsknoten verbunden ist.
  • In Schritt 221, nach dem Empfang der Metadaten des ausgewählten Ausgangsknotens 126, sendet der Proxy-Messenger 110 die Anfrage zur Datenextraktion an den Proxy-Superknoten 120 und die IP-Adresse des ausgewählten Ausgangsknotens 126. Vor dem Senden der Anfrage zur Datenextraktion an den Proxy-Superknoten 120 kann der Proxy-Messenger 110 Chunked Transfer Encoding über die Anfrage implementieren im Falle einer HTTP-Kommunikation. Chunked Transfer Encoding ist ein Merkmal von HTTP und ist ein Typ von Datenübertragungsmechanismen. Bei Chunked Transfer Encoding wird der Datenstrom in eine Reihe von nicht überlappenden „Chunks“ aufgeteilt. Die Chunks werden unabhängig voneinander versendet und empfangen. Für beide an der Datenübertragung beteiligten Parteien ist zu keinem Zeitpunkt eine Kenntnis des Datenstroms außerhalb des gerade bearbeiteten Chunks notwendig. Chunked Transfer Encoding ermöglicht es dem Proxy-Messenger 110, eine dauerhafte Verbindung aufrechtzuerhalten, um dynamisch generierte Inhalte zu übertragen. Darüber hinaus ermöglicht die Chunked Transfer Encoding dem Proxy-Messenger 110, große Datenmengen zu senden und die Datenübertragung zu optimieren. Zusätzlich hilft die durch Chunking erreichte persistente Verbindung bei der Vermeidung von Latenzproblemen, da sie den Overhead des Aufbaus einer neuen Verbindung für jede Transaktion eliminiert. In der Netzwerkterminologie bezieht sich Overhead auf eine beliebige Kombination aus überschüssiger oder indirekter Rechenzeit, Speicher, Bandbreite oder anderen erforderlichen Ressourcen zur Durchführung einer bestimmten Aufgabe.
  • Als Nächstes, in Schritt 223, weist der Proxy-Superknoten 120 nach Erhalt der Anfrage zur Datenextraktion und der IP-Adresse des ausgewählten Ausgangsknotens 126 den Ausgangsknoten 126 an, eine Verbindung zum Ziel 128 herzustellen.
  • 2C ist die Fortsetzung eines beispielhaften Flussdiagramms der 2A und 2B. In Schritt 225 initiiert Ausgangsknoten 126 die Verbindung mit dem Ziel 128 und anschließend, in Schritt 227, bestätigt das Ziel 128 die Verbindung mit dem Ausgangsknoten 126, wodurch die Verbindung zwischen Ausgangsknoten 126 und Ziel 128 hergestellt wird. Die Verbindung zwischen Ausgangsknoten 126 und Ziel 128 kann über jedes der Standard-Kommunikationsprotokolle erfolgen, einschließlich, aber nicht beschränkt auf, TCP/IP, UDP, SOCKS5. Daher können die Schritte 225 und 227 alle notwendigen Schritte zum Verbindungsaufbau auf Basis der oben genannten Protokolle umfassen.
  • In Schritt 229, nachdem Ausgangsknoten 126 die Verbindung mit dem Ziel 128 hergestellt hat, sendet Proxy-Superknoten 120 die Anfrage zur Datenextraktion an den Ausgangsknoten 126, der in Schritt 231 die Anfrage an das Ziel 128 weiterleitet.
  • 2D ist die Fortsetzung eines beispielhaften Flussdiagramms der 2A, 2B und 2C. In Schritt 233 sendet das Ziel 128 die entsprechende Antwort auf die vom Ausgangsknoten 126 weitergeleitete Anfrage, und in Schritt 235 leitet der Ausgangsknoten 126 die Antwort vom Ziel 128 an den Proxy-Superknoten 120 weiter. Es ist wichtig, hier zu erwähnen, dass der Ausgangsknoten 126 im Falle einer HTTP-Kommunikation eine Chunked-Encoding-Übertragungsmethode über die empfangene Antwort implementieren kann. In Schritt 237, nach dem Empfang der Antwort vom Ausgangsknoten 126, leitet der Proxy-Superknoten 120 die Antwort an den Proxy-Messenger 110 weiter, der in dieser beispielhaften Ausführungsform innerhalb der Proxy-Infrastruktur vorhanden ist. In Schritt 239 leitet der Proxy-Messenger 110 die Antwort an das Proxy-Gateway 108 weiter, das dann in Schritt 241 die Antwort an das Benutzergerät 102 weiterleitet.
  • Wie bereits erwähnt kann die Anfrage vom Benutzergerät 102 benutzerdefinierte Präferenzen für die Auswahl des Ausgangsknotens enthalten, insbesondere für den geografischen Standort des Ausgangsknotens. Wenn also die Anfrage, die vom Benutzergerät 102 an das in der Proxy-Infrastruktur 106 vorhandene Proxy-Gateway 108 in Schritt 205 gesendet wird, die benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens enthält. In diesem Fall bleiben die Schritte 207, 209, 211 unverändert; jedoch fordert der Proxy-Messenger 110 in Schritt 213 die in der Repository-Einheit 114 vorhandene Verarbeitungseinheit 116 für Metadaten eines Ausgangsknotens 126 an, der sich an dem spezifischen geografischen Standort befindet, der die benutzerdefinierten Präferenzen erfüllt. Nachfolgend, in Schritt 215, nach Erhalt der Anfrage von Metadaten vom Proxy-Messenger 110, identifiziert und wählt die Verarbeitungseinheit 116 die Metadaten des Ausgangsknotens 126 aus, der sich an einem bestimmten geografischen Standortort befindet, der die benutzerdefinierten Präferenzen erfüllt, indem sie auf die Pool-Datenbank 118 zugreift. Anschließend, in Schritt 217, ruft die Verarbeitungseinheit 116 die Metadaten des ausgewählten Ausgangsknotens 126 aus der Pool-Datenbank 118 ab. Danach bleiben die aufeinanderfolgenden Schritte von 219 bis 239 unverändert.
  • 3A ist ein beispielhaftes Flussdiagramm, das zeigt, wie der Proxy-Superknoten 120 relevante Informationen des Ausgangsknotens 126 an die zentrale Verwaltungseinheit 122 meldet. In Schritt 301 sendet der Ausgangsknoten 126 zunächst eine DNS-Anfrage an den regionalen DNS-Server 124, um die IP-Adresse des Proxy-Superknotens 120 anzufordern. In Schritt 303 löst der regionale DNS-Server 124 die DNS-Abfrage auf, indem er die IP-Adresse des Proxy-Superknotens 120 bereitstellt, der sich in geografischer Nähe des Ausgangsknotens 126 befindet.
  • In Schritt 305, nach dem Empfang der IP-Adresse des Proxy-Superknotens 120, der sich in geografischer Nähe befindet, fordert Ausgangsknoten 126 eine Verbindung mit dem Proxy-Superknoten 120 an. In Schritt 307 antwortet der Proxy-Superknoten 120, indem er die Verbindung bestätigt, wodurch die Verbindung mit dem Ausgangsknoten 126 hergestellt wird. In Schritt 309, nach dem Aufbau der Verbindung, sendet Ausgangsknoten 126 eine Plattformnachricht an den Proxy-Superknoten 120. Die Plattformnachricht kann Informationen wie z. B. Betriebssystemkonfiguration, Hardware-IDs, Seriennummern, Computer-Hardware-IDs (CHID), universell eindeutige Bezeichner und Informationen über die Akkulaufzeit enthalten, ist aber nicht darauf beschränkt. Anschließend, in Schritt 311, empfängt der Proxy-Superknoten 120 die Plattformnachricht vom Ausgangsknoten 126 und leitet sie an die zentrale Verwaltungseinheit 122 weiter, wodurch der neu verbundene Ausgangsknoten 126 gemeldet wird. Die Verbindung zwischen dem Ausgangsknoten 126 und dem Proxy-Superknoten 120 kann über jedes der Standard-Kommunikationsprotokolle erfolgen, einschließlich, aber nicht beschränkt auf, TCP/IP, UDP, SOCKS5. Die Schritte 305 und 307 können daher alle notwendigen Schritte zum Verbindungsaufbau auf Basis der genannten Protokolle beinhalten.
  • 3B ist die Fortsetzung eines beispielhaften Flussdiagramms von 3A. In Schritt 313 fährt Proxy-Superknoten 120 fort, den Ausgangsknoten 126 zu testen. Der Proxy-Superknoten 120 kann den Ausgangsknoten 126 testen, indem er eine Benchmark-HTTP-Anfrage sendet. Die Benchmark-HTTP-Anfrage kann eine Anfrage sein, ein bestimmtes Ziel über das Netzwerk 130 (nicht dargestellt) zu erreichen (z. B. eine IP-Adresse, einen Hostnamen), und wird von dem Proxy-Superknoten 120 dynamisch bestimmt und initiiert. Benchmark-HTTP-Anfragen werden vom Proxy-Superknoten 120 gesendet, um verschiedene Attribute des Ausgangsknotens 126 zu sammeln und zu analysieren, wie z. B. Latenz, Fähigkeit zum Erreichen bestimmter Ziele, Verfügbarkeitsstatus.
  • In Schritt 315 antwortet der Ausgangsknoten 126 auf die vom Proxy-Superknoten 120 durchgeführten Tests. Im Falle einer HTTP-Benchmark-Anfrage antwortet Ausgangsknoten 126 auf die Benchmark-HTTP-Anfrage, indem er die erforderlichen Daten von einem bestimmten Ziel (wie in der Benchmark-HTTP-Anfrage genannt) abruft und sie an den Proxy-Superknoten 120 zurücksendet. Das Testen von dem Ausgangsknoten 126 durch das Senden von Benchmark-HTTP-Anfragen kann Informationen über Attribute des Ausgangsknotens 126 liefern, wie z. B. Antwortzeit/Latenz, Fähigkeit zum Erreichen bestimmter Ziele (z. B. Streaming-Websites, Websites des elektronischen Einzelhandels), Verfügbarkeitsstatus.
  • In Schritt 317 fährt der Proxy-Superknoten 120 fort, einen Ping-Test an den Ausgangsknoten 126 zu senden. Genauer gesagt, sendet Proxy-Superknoten 120 eine Ping-Nachricht an den Ausgangsknoten 126. Im Netzwerkbereich ist ein Ping-Test ein Netzwerkhilfsmittel, um einen bestimmten Host zu bewerten; in dieser beispielhaften Ausführungsform ist es der Ausgangsknoten 126. Zusätzlich hilft der Ping-Test dem Proxy-Superknoten 120, Informationen über die Anzahl der Hops zwischen dem Proxy-Superknoten 120 und dem Ausgangsknoten 126 zu sammeln. Der Ping-Test kann auch Informationen über die Konnektivität und die Antwortzeit zwischen dem Proxy-Superknoten 120 und dem Ausgangsknoten 126 liefern. Die vom Proxy-Superknoten 120 gesendete Ping-Nachricht verwendet das Internet Control Message Protocol (ICMP) Datenpaket. ICMP bezieht sich hier auf eines der unterstützenden Protokolle innerhalb des Internet-Protokolls (IP) und wird verwendet, um Nachrichten und Betriebsinformationen zwischen Netzwerkgeräten zu senden. ICMP wird jedoch typischerweise nicht in der herkömmlichen Datenkommunikation verwendet; stattdessen wird ICMP als Diagnosewerkzeug eingesetzt. In dieser beispielhaften Ausführungsform kann die ICMP-Ping-Nachricht bis zu 64 Datenbytes und 8 Bytes Protokoll-Leserinformationen enthalten.
  • In Schritt 319 antwortet der Ausgangsknoten 126 sofort auf die Ping-Nachricht. Bei einem Ping-Test wird die Antwort oft als Pong-Nachricht bezeichnet. Die Antwort gibt einfach die Ping-Nachricht zurück, die vom Proxy-Superknoten 120 gesendet wurde. Die Antwortnachricht, die als Pong bezeichnet wird, verwendet ICMP-Pakete, um die Antwort zurückzugeben. Es ist zu beachten, dass der Proxy-Superknoten 120 weiterhin testet und in regelmäßigen Abständen Ping-Nachrichten sendet, um Informationen über die Attribute des Ausgangsknotens 126 zu sammeln, die Antwortzeit/Latenz, die Fähigkeit zum Erreichen bestimmter Ziele, die Anzahl der Hops und den Verfügbarkeitsstatus umfassen, aber nicht hierauf beschränkt sind. Die gesammelten Informationen über mehrere Attribute des Ausgangsknotens 126 werden als Metadaten bezeichnet. Anschließend, nach dem Testen, meldet der Proxy-Superknoten 120 in Schritt 321 die gesammelten Informationen über mehrere Attribute des Ausgangsknotens 126 an die zentrale Verwaltungseinheit 122.
  • 4 ist ein beispielhaftes Flussdiagramm, das zeigt, wie der Proxy-Superknoten 120 die Trennung des Ausgangsknotens 126 von dem Proxy-Superknoten 120 an die zentrale Verwaltungseinheit 122 meldet. Der Ausgangsknoten 126 kann sich aus vielen Gründen vom Proxy-Superknoten 120 trennen, wie z. B. niedriger Akkustand, Systemausfall. Daher trennt der Ausgangsknoten 126 in Schritt 401 die Verbindung vom Proxy-Superknoten 120 und beendet damit die Kommunikation mit dem Proxy-Superknoten 126. Anschließend, in Schritt 403, meldet der Proxy-Superknoten 120 die Trennung des Ausgangsknotens 126 an die zentrale Verwaltungseinheit 122.
  • 5 ist ein beispielhaftes Flussdiagramm, das die Sammlung von Metadaten von der zentralen Verwaltungseinheit 122 zeigt. In Schritt 501 greift die Verarbeitungseinheit 116, die in dieser beispielhaften Ausführungsform innerhalb der Repository-Einheit 114 dargestellt ist, auf Metadaten von der zentralen Verwaltungseinheit 122 zu und sammelt diese. Die zentrale Verwaltungseinheit 122 stellt der Verarbeitungseinheit 116 Metadaten mehrerer Ausgangsknoten 126 zur Verfügung. An dieser Stelle sei daran erinnert, dass sich Metadaten auf Informationen über mehrere Attribute eines Ausgangsknotens 126 beziehen, wie z. B. Antwortzeit, Anzahl der Hops, Erreichbarkeit, Verfügbarkeitsstatus, Fähigkeit zum Erreichen bestimmter Ziele, IP-Adresse und geografischer Standort. In Schritt 503 klassifiziert die Verarbeitungseinheit 116 die gesammelten Metadaten in Kategorien, die auf mehreren Attributen von Ausgangsknoten 126 basieren, wie z. B. Antwortzeit, Fähigkeit zum Erreichen bestimmter Ziele, Standort, IP-Adresse.
  • In Schritt 505 speichert die Verarbeitungseinheit 116 die klassifizierten Metadaten der Ausgangsknoten 126 in der Pool-Datenbank 118. Wenn es Änderungen an den Metadaten gibt (z. B. wenn ein Ausgangsknoten 126 getrennt wird oder die Latenz zunimmt), nimmt die Verarbeitungseinheit 116 die erforderlichen Änderungen an der Pool-Datenbank 118 vor. Die Verarbeitungseinheit 116 kann die Metadaten eines Ausgangsknotens 126 oder mehrerer Ausgangsknoten 126 aus der Pool-Datenbank 118 entfernen. Hier ist zu erwähnen, dass die Verarbeitungseinheit 116 regelmäßig mehrfach auf die Metadaten der Ausgangsknoten 126 von der Central Management Unit 122 zugreifen und diese sammeln kann. Außerdem kann die Verarbeitungseinheit 116 notwendige Änderungen an der Pool-Datenbank 118 vornehmen und dadurch die Metadaten in der Pool-Datenbank 118 aktualisieren.
  • Die hierin beschriebenen Ausführungsformen können auf vielfältige Weise kombiniert werden, was eine Frage des gewählten Entwurfs ist. Dementsprechend sind die hier genannten Merkmale und Aspekte nicht als Einschränkung auf eine bestimmte Ausführungsform zu verstehen. Darüber hinaus können die Ausführungsformen die Form von Hardware, Firmware, Software und/oder Kombinationen davon annehmen. In einer Ausführungsform umfasst eine solche Software Firmware, residente Software, Mikrocode usw., ist aber nicht darauf beschränkt. 6 veranschaulicht ein Computersystem 600, in dem ein computerlesbares Medium 606 Anweisungen zum Ausführen beliebiger der hierin offenbarten Methoden und Prozesse bereitstellen kann.
  • Darüber hinaus können einige Aspekte der hierin beschriebenen Ausführungsformen die Form eines Computerprogrammprodukts annehmen, auf das über das computerlesbare Medium 606 zugegriffen werden kann, um Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen System zur Ausführung von Befehlen bereitzustellen. Für die Zwecke dieser Beschreibung kann das computerlesbare Medium 606 jede Vorrichtung sein, die den Programmcode zur Verwendung durch oder in Verbindung mit dem System, der Vorrichtung oder dem Gerät zur Ausführung von Befehlen, einschließlich des Computersystems 600, materiell speichern kann.
  • Das computerlesbare Medium 606 kann ein beliebiges materielles elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (oder Gerät oder Vorrichtung) sein. Einige Beispiele für ein computerlesbares Medium 606 umfassen Solid-State-Speicher, Magnetbänder, herausnehmbare Computerdisketten, Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), Magnet-Festplatten und optische Datenspeicher. Einige Beispiele für optische Datenspeicher sind schreibgeschützte Compact Disks (CD-ROM), Compact Disks mit Lese-/Schreibfunktion (CD-R/W) und Digital Versatile Disks (DVD).
  • Das Computerystem 600 kann einen oder mehrere Prozessoren 602 enthalten, die direkt oder indirekt über einen Systembus 610 mit dem Speicher 608 gekoppelt sind. Der Speicher 608 kann einen lokalen Speicher umfassen, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und/oder Cache-Speicher, die eine temporäre Speicherung von mindestens einem Teil des Programmcodes bereitstellen, um die Anzahl der Abrufe des Codes aus dem Massenspeicher während der Ausführung zu reduzieren.
  • Eingabe-/Ausgabegeräte (E/A-Geräte) 604 (einschließlich, aber nicht beschränkt auf Tastaturen, Bildschirme, Zeigegeräte, E/A-Schnittstellen usw.) können entweder direkt oder über zwischengeschaltete E/A-Controller mit dem Computersystem 600 verbunden werden. Netzwerkadapter können auch mit dem Computersystem 600 gekoppelt werden, damit das Computersystem 600 mit anderen Datenverarbeitungssystemen verbunden werden kann, z. B. über Host-Systemschnittstellen 612, Drucker und/oder Speichergeräte über dazwischenliegende private oder öffentliche Netzwerke. Modems, Kabelmodems und Ethernet-Karten sind nur Beispiele für Netzwerkadaptertypen.
  • Die Offenlegung stellt computerlesbare Medien, welches Anweisungen speichert, die mindestens einen Prozessor dazu veranlassen, die folgenden Schritte zu implementieren, wenn die Anweisungen durch den Prozessor ausgeführt werden und Systeme zur Extraktion und zum Sammeln von Daten von einem Webserver unter Verwendung des nächstgelegenen verfügbaren Proxy-Servers vor, umfassend: Empfangen einer Benutzeranfrage durch ein Proxy-Gateway an einer Proxy-Infrastruktur, die einem Benutzergerät geografisch am nächsten liegt; Weiterleiten der Benutzeranfrage durch das Proxy-Gateway an der Proxy-Infrastruktur an einen Proxy-Messenger; Überprüfen der Benutzeranfrage auf einen geografischen Standort eines Ausgangsknotens durch den Proxy-Messenger an der Proxy-Infrastruktur; Anfordern von Metadaten des Ausgangsknotens durch den Proxy-Messenger an der Proxy-Infrastruktur von einer Repository-Einheit, um die Benutzeranfrage umzusetzen; Auswählen des Ausgangsknotens durch die Repository-Einheit an der Proxy-Infrastruktur aus einer Pool-Datenbank, um die Benutzeranfrage zu implementieren; Senden der Benutzeranfrage und einer IP-Adresse des ausgewählten Ausgangsknotens an einen Proxy-Superknoten durch den Proxy-Messenger an der Proxy-Infrastruktur; Anweisen des ausgewählten Ausgangsknotens durch den Proxy-Superknoten, zur Herstellung einer Verbindung mit einem Ziel; Senden der Benutzeranfrage an den ausgewählten Ausgangsknoten durch den Proxy-Superknoten; Weiterleiten der Benutzeranfrage an das Ziel durch den ausgewählten Ausgangsknoten.
  • In dem vorgestellten Verfahren wird ein Inhalt für die Benutzeranfrage vom Ziel an ein Benutzergerät zurückgegeben durch: Empfangen der Antwort auf die Benutzeranfrage von dem Ziel durch den ausgewählten Ausgangsknoten; Weiterleiten der von dem Ziel empfangenen Antwort an den Proxy-Superknoten durch den ausgewählten Ausgangsknoten; Weiterleiten der von dem Ziel empfangenen Antwort an den Proxy-Messenger durch den Proxy-Superknoten; Weiterleiten der von dem Ziel empfangenen Antwort an das Proxy-Gateway durch den Proxy-Messenger; Weiterleiten der von dem Ziel empfangenen Antwort an das Benutzergerät durch das Proxy-Gateway.
  • Die Repository-Einheit in der Proxy-Infrastruktur sammelt von einer zentralen Verwaltungseinheit die Metadaten mehrerer Ausgangsknoten, unabhängig von deren Standorten. Die Ausgangsknoten in der Pool-Datenbank werden auf der Grundlage von Attributen der Ausgangsknoten in Kategorien eingeteilt, die Folgendes umfassen: geografischer Standort, Fähigkeit zum Erreichen bestimmter Ziele, oder Latenz/Antwortzeit. Der Proxy-Superknoten unterhält eine Verbindung mit mehreren Ausgangsknoten in geografischer Nähe und die Ausgangsknoten verbinden sich mit dem Proxy-Superknoten, indem sie eine DNS-Anfrage an einen regionalen DNS-Server stellen.
  • In dem offenbarten Verfahren führt der Proxy-Messenger in der Proxy-Infrastruktur vor der Annahme der Benutzeranfrage Aktionen zur Benutzervalidierung durch, einschließlich der Überprüfung von Daten über einen Benutzer in einer Benutzerdatenbank. Die Anfrage vom Benutzergerät enthält Authentifizierungsdaten, die für die Benutzervalidierung erforderlich sind.
  • Bei dem Verfahren stellt das Benutzergerät eine Verbindung zur geografisch nächstgelegenen Proxy-Infrastruktur her, indem es vom DNS-Anbieter eine Internet-Protokoll (IP)-Adresse der geografisch nächstgelegenen Proxy-Infrastruktur anfordert. Die Benutzeranfrage enthält benutzerdefinierte Präferenzen, umfassend: geografischer Standort des Ausgangsknotens, Fähigkeit zum Erreichen bestimmter Ziele, Betriebssystemplattform oder Einstellungen zur Systemkonfiguration.
  • In dem Verfahren fordert der Proxy-Messenger von der Repository-Einheit die Metadaten eines Ausgangsknotens an, um die Benutzeranfrage in nächster geografischer Nähe zu der Proxy-Infrastruktur umzusetzen, wobei der Benutzeranfrage der geografische Standort fehlt und wobei die Repository-Einheit die Metadaten des Ausgangsknotens gemäß den Anforderungen des Proxy-Messengers identifiziert, auswählt und an den Proxy-Messenger übermittelt.
  • In einer anderen Ausführungsform fordert der Proxy-Messenger von der Repository-Einheit die Metadaten eines Ausgangsknotens in der nächstgelegenen geografischen Nähe an, um die Benutzeranfrage zum Ziel umzusetzen, und wobei die Repository-Einheit die Metadaten eines zum Ziel am nächsten gelegenen Ausgangsknotens identifiziert und auswählt, wobei der geografische Standort des Ziels aus den Parametern der Benutzeranfrage abgeleitet wird.
  • In einer anderen Ausführungsform fordert der Proxy-Messenger von der Repository-Einheit die Metadaten eines Ausgangsknotens an, um die Benutzeranfrage zu umzusetzen, wobei die Benutzeranfrage den spezifischen geografischen Standort des Ausgangsknotens angibt und wobei die Repository-Einheit die Metadaten des Ausgangsknotens, der die benutzerdefinierten Präferenzen erfüllt, gemäß den Anforderungen des Proxy-Messengers identifiziert, auswählt und an den Proxy-Messenger übermittelt.
  • Das computerlesbares Medium nach Anspruch 1, wobei die von der Repository-Einheit gesendeten Metadaten des Ausgangsknotens IP-Adressinformationen des ausgewählten Ausgangsknotens und des Proxy-Superknotens, mit dem der ausgewählte Ausgangsknoten verbunden ist, enthalten. Der Proxy-Superknoten meldet die gesammelten Informationen über den Ausgangsknoten regelmäßig an eine zentrale Verwaltungseinheit. Der Ausgangsknoten ist mit dem Proxy-Superknoten verbunden, der dem Ausgangsknoten geografisch am nächsten liegt.
  • Obwohl mehrere Ausführungsformen beschrieben wurden, wird ein Fachmann erkennen, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Bereich der hier beschriebenen Ausführungsformen abzuweichen. Dementsprechend sind die Beschreibung und die Figuren eher in einem illustrativen als in einem einschränkenden Sinne zu verstehen, und alle derartigen Modifikationen sollen in den Bereich der vorliegenden Lehren einbezogen werden. Der Nutzen, die Vorteile, Problemlösungen und jedes Element(e), das dazu führen kann, dass ein Nutzen, ein Vorteil oder eine Lösung auftritt oder ausgeprägter wird, sind nicht als ein ausschlaggebendes, erforderliches oder wesentliches Merkmal oder Element eines oder aller Ansprüche zu verstehen. Die Erfindung(en) ist/sind durch die beigefügten Ansprüche definiert, einschließlich aller Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden, und aller Äquivalente dieser Ansprüche in der erteilten Fassung.
  • Darüber hinaus dürfen in diesem Dokument Bezugsbegriffe wie erster und zweiter und dergleichen nur verwendet werden, um eine Einheit oder Aktion von einer anderen Einheit oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche solche Beziehung oder Reihenfolge zwischen solchen Einheiten oder Aktionen zu erfordern oder zu implizieren. Die Begriffe „umfasst“, „umfassend“, „hat“, „beinhaltet“, „enthält“ oder jede andere Abwandlung davon sollen eine nicht-ausschließliche Einbeziehung abdecken, so dass ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, hat, beinhaltet, enthält, nicht nur diese Elemente einschließt, sondern auch andere Elemente einschließen kann, die nicht ausdrücklich aufgeführt sind oder zu einem solchen Prozess, Verfahren, Artikel oder einer solchen Vorrichtung gehören. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „enthält ... ein“, vorangestellt ist, schließt ohne zusätzliche Einschränkungen die Existenz weiterer identischer Elemente in dem Prozess, Verfahren, Artikel und/oder Gerät, das das Element umfasst, hat, und/oder enthält, nicht aus. Der Begriff „ein“ ist als ein oder mehrere definiert, sofern hier nicht ausdrücklich anders angegeben. Die Begriffe „annähernd“, „ungefähr“ oder eine andere Version davon sind definiert als „nahegelegen“, wie es von einem Fachmann verstanden wird. Ein Gerät oder eine Struktur, die auf eine bestimmte Weise „konfiguriert“ ist, ist mindestens auf diese Weise konfiguriert, kann aber auch auf nicht aufgeführte Weise konfiguriert sein. Für die Angabe von Elementen kann eine Singular- oder Pluralform verwendet werden, die jedoch den Umfang der Offenbarung nicht einschränkt und dieselbe Lehre kann für mehrere Objekte gelten, auch wenn in der vorliegenden Anmeldung ein Objekt in der Einzahl bezeichnet wird.
  • Die Offenbarung wird bereitgestellt, damit der Leser die Art der technischen Offenbarung schnell erfassen kann. Sie wird mit der Auffassung vorgelegt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Darüber hinaus wird in der vorstehenden detaillierten Beschreibung gezeigt, dass mehrere Merkmale in verschiedenen Ausführungsformen zum Zweck der Straffung der Offenbarung zusammengefasst sind. Diese Art der Offenlegung ist nicht so zu interpretieren, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als in den einzelnen Ansprüchen ausdrücklich aufgeführt sind. Vielmehr liegt, wie die folgenden Ansprüche zeigen, der Erfindungsgegenstand in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform.

Claims (20)

  1. Computerlesbares Medium, welches Anweisungen speichert, die mindestens einen Prozessor dazu veranlassen, die folgenden Schritte eines Verfahrens zu implementieren, wenn die Anweisungen durch den Prozessor ausgeführt werden: Empfangen einer Benutzeranfrage durch ein Proxy-Gateway an einer Proxy-Infrastruktur, die einem Benutzergerät geografisch am nächsten liegt; Weiterleiten der Benutzeranfrage durch das Proxy-Gateway an der Proxy-Infrastruktur an einen Proxy-Messenger; Überprüfen der Benutzeranfrage auf geografischen Standort eines Ausgangsknotens durch den Proxy-Messenger an der Proxy-Infrastruktur; Anfordern von Metadaten des Ausgangsknotens durch den Proxy-Messenger an der Proxy-Infrastruktur von einer Repository-Einheit, um die Benutzeranfrage umzusetzen; Auswählen des Ausgangsknotens zur Umsetzung der Benutzeranfrage durch die Repository-Einheit an der Proxy-Infrastruktur aus einer Pool-Datenbank; Senden der Benutzeranfrage und einer Internet Protocol (IP)-Adresse des ausgewählten Ausgangsknotens an einen Proxy-Superknoten durch den Proxy-Messenger an der Proxy-Infrastruktur; Anweisen des ausgewählten Ausgangsknotens durch den Proxy-Superknoten, zur Herstellung einer Verbindung mit einem Ziel; Senden der Benutzeranfrage an den ausgewählten Ausgangsknoten durch den Proxy-Superknoten; Weiterleiten der Benutzeranfrage an das Ziel durch den gewählten Ausgangsknoten.
  2. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass Inhalt für die Benutzeranfrage von dem Ziel an ein Benutzergerät zurückgegeben wird durch: Empfangen der Antwort auf die Benutzeranfrage von dem Ziel durch den ausgewählten Ausgangsknoten; Weiterleiten der von dem Ziel empfangenen Antwort an den Proxy-Superknoten durch den ausgewählten Ausgangsknoten; Weiterleiten der von dem Ziel empfangenen Antwort an den Proxy-Messenger durch den Proxy-Superknoten; Weiterleiten der von dem Ziel empfangenen Antwort an das Proxy-Gateway durch den Proxy-Messenger; Weiterleiten der von dem Ziel empfangenen Antwort an das Benutzergerät durch das Proxy-Gateway.
  3. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass die Repository-Einheit an der Proxy-Infrastruktur von einer zentralen Verwaltungseinheit die Metadaten mehrerer Ausgangsknoten unabhängig von deren Standorten sammelt.
  4. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass Ausgangsknoten in der Pool-Datenbank in Kategorien auf der Grundlage von Attributen der Ausgangsknoten klassifiziert werden, umfassend: geografischer Standort, Fähigkeit zum Erreichen bestimmter Ziele, oder Latenz/Antwortzeit.
  5. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass der Proxy-Superknoten die Verbindung mit mehreren Ausgangsknoten in geografischer Nähe aufrechterhält.
  6. Computerlesbares Medium nach Anspruch 5, wobei die Anweisungen ferner angeben, dass der Ausgangsknoten eine Verbindung zum Proxy-Superknoten herstellt, indem er eine Domain Name System (DNS)-Abfrage an einen regionalen DNS-Server stellt.
  7. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass der Proxy-Messenger an der Proxy-Infrastruktur vor der Annahme der Benutzeranfrage Aktionen zur Benutzervalidierung durchführt, einschließlich der Überprüfung von Daten über einen Benutzer in einer Benutzerdatenbank.
  8. Computerlesbares Medium nach Anspruch 7, wobei die Anweisungen ferner angeben, dass die Anfrage von dem Benutzergerät Authentifizierungsdaten enthält, die für die Benutzervalidierung erforderlich sind.
  9. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass sich das Benutzergerät mit der geografisch nächstgelegenen Proxy-Infrastruktur verbindet, indem es vom DNS-Anbieter eine Internet Protocol (IP)-Adresse der geografisch nächstgelegenen Proxy-Infrastruktur anfordert.
  10. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass die Benutzeranfrage benutzerdefinierte Präferenzen enthält, umfassend: geografischer Standort des Ausgangsknotens, Fähigkeit zum Erreichen eines bestimmten Ziels, Betriebssystemplattform oder Einstellungen zur Systemkonfiguration.
  11. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass der Ausgangsknoten, der ausgewählt wurde, um die Benutzeranfrage umzusetzen, sich in der größten geografischen Nähe zur Proxy-Infrastruktur befindet, wobei der Benutzeranfrage die Präferenz des geografischen Standorts fehlt, und wobei die Repository-Einheit die Metadaten des Ausgangsknotens gemäß den Anforderungen des Proxy-Messengers identifiziert, auswählt und an den Proxy-Messenger weiterleitet.
  12. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass sich der zur Umsetzung der Benutzeranfrage ausgewählte Ausgangsknoten in der größten geografischen Nähe zum Ziel befindet, und wobei die Repository-Einheit die Metadaten des dem Ziel am nächsten gelegenen Ausgangsknotens identifiziert und auswählt, wobei der geografische Standort des Ziels aus den Parametern der Benutzeranfrage abgeleitet wird.
  13. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass die Benutzeranfrage den spezifischen geografischen Standort des Ausgangsknotens angibt und wobei die Repository-Einheit die Metadaten des Ausgangsknotens, der die benutzerdefinierten Präferenzen erfüllt, gemäß den Anforderungen des Proxy-Messengers identifiziert, auswählt und an den Proxy-Messenger übermittelt.
  14. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass von der Repository-Einheit gesendete Metadaten des Ausgangsknotens IP-Adressinformationen des ausgewählten Ausgangsknotens und des Proxy-Superknotens, mit dem der ausgewählte Ausgangsknoten verbunden ist, enthalten.
  15. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass der Proxy-Superknoten die über den Ausgangsknoten gesammelten Informationen regelmäßig an eine zentrale Verwaltungseinheit meldet.
  16. Computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner angeben, dass der Ausgangsknoten mit dem Proxy-Superknoten verbunden ist, der dem Ausgangsknoten geografisch am nächsten liegt.
  17. System zum Extrahieren und Sammeln von Daten von einem Webserver unter Verwendung eines nächstgelegenen verfügbaren Proxy-Servers, umfassend: ein Proxy-Gateway an einer Proxy-Infrastruktur, die geografisch am nächsten zu einem Benutzergerät liegt, das zum Empfang einer Benutzeranfrage betreibbar ist, um die Benutzeranfrage an einen Proxy-Messenger weiterzuleiten; wobei der Proxy-Messenger so betreibbar ist, dass er die Benutzeranfrage auf den geografischen Standort von Ausgangsknoten überprüft, um von einer Repository-Einheit Metadaten der Ausgangsknoten anzufordern, um die Benutzeranfrage umzusetzen; die Repository-Einheit so betreibbar ist, dass sie einen Ausgangsknoten aus den Ausgangsknoten auswählt, um die Benutzeranfrage umzusetzen; der Proxy-Messenger so betreibbar ist, dass er die Benutzeranfrage und eine Internet Protocol (IP)-Adresse des ausgewählten Ausgangsknotens an einen Proxy-Superknoten sendet; der Proxy-Superknoten so betreibbar ist, dass er den ausgewählten Ausgangsknoten anweist, eine Verbindung mit einem Ziel herzustellen und die Benutzeranfrage an den ausgewählten Ausgangsknoten sendet; der ausgewählte Ausgangsknoten so betreibbar ist, dass er die Benutzeranfrage an das Ziel weiterleitet.
  18. System nach Anspruch 17, wobei der Inhalt für die Benutzeranfrage von dem Ziel an ein Benutzergerät zurückgegeben wird durch: Empfangen der Antwort für die Benutzeranfrage vom Ziel durch den ausgewählten Ausgangsknoten; Weiterleiten der vom Ziel empfangenen Antwort an den Proxy-Superknoten durch den ausgewählten Ausgangsknoten; Weiterleiten der vom Ziel empfangenen Antwort an den Proxy-Messenger durch den Proxy-Superknoten; Weiterleiten der vom Ziel empfangenen Antwort an das Proxy-Gateway durch den Proxy-Messenger; Weiterleiten der vom Ziel empfangenen Antwort an das Benutzergerät durch das Proxy-Gateway.
  19. System nach Anspruch 17, wobei die Repository-Einheit an der Proxy-Infrastruktur von einer zentralen Verwaltungseinheit die Metadaten mehrerer Ausgangsknoten unabhängig von deren Standorten sammelt.
  20. System nach Anspruch 17, wobei die Ausgangsknoten in der Pool-Datenbank in Kategorien auf der Grundlage von Attributen der Ausgangsknoten klassifiziert werden, umfassend: geografischer Standort, Fähigkeit zum Erreichen bestimmter Ziele, oder Latenz/Antwortzeit.
DE202021103381.9U 2021-03-19 2021-06-23 Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes Active DE202021103381U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/207,198 2021-03-19
US17/207,198 US11212354B1 (en) 2021-03-19 2021-03-19 Methods and systems for implementing a regionally contiguous proxy service

Publications (1)

Publication Number Publication Date
DE202021103381U1 true DE202021103381U1 (de) 2021-07-06

Family

ID=76969006

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202021103381.9U Active DE202021103381U1 (de) 2021-03-19 2021-06-23 Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes

Country Status (7)

Country Link
US (5) US11212354B1 (de)
EP (1) EP4292267A1 (de)
CN (1) CN116848835A (de)
CA (1) CA3204621A1 (de)
DE (1) DE202021103381U1 (de)
IL (1) IL304257A (de)
WO (1) WO2022195347A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116418863A (zh) * 2023-06-09 2023-07-11 安徽华云安科技有限公司 基于socks5透明代理的通信方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212354B1 (en) * 2021-03-19 2021-12-28 Teso LT, UAB Methods and systems for implementing a regionally contiguous proxy service
US11184458B1 (en) * 2021-03-30 2021-11-23 Teso LT, UAB Proxy selection by monitoring quality and available capacity
US11606267B1 (en) * 2021-09-10 2023-03-14 Microsoft Technology Licensing, Llc Detecting and quantifying latency components in accessing cloud services
US11575656B1 (en) * 2022-02-09 2023-02-07 coretech It, UAB Customer data handling in a proxy infrastructure
CN115174670B (zh) * 2022-07-11 2023-06-06 电子科技大学 一种分级代理部署方法
US11652890B1 (en) 2022-07-13 2023-05-16 Oxylabs, Uab Methods and systems to maintain multiple persistent channels between proxy servers

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574499B1 (en) 2000-07-19 2009-08-11 Akamai Technologies, Inc. Global traffic management system using IP anycast routing and dynamic load-balancing
US20030149720A1 (en) 2002-02-06 2003-08-07 Leonid Goldstein System and method for accelerating internet access
US20060206586A1 (en) 2005-03-09 2006-09-14 Yibei Ling Method, apparatus and system for a location-based uniform resource locator
US7647424B2 (en) * 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US9154557B2 (en) 2006-10-12 2015-10-06 Cisco Technology, Inc. Automatic proxy registration and discovery in a multi-proxy communication system
US8938548B2 (en) * 2008-12-23 2015-01-20 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
US20130103785A1 (en) 2009-06-25 2013-04-25 3Crowd Technologies, Inc. Redirecting content requests
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US10069837B2 (en) * 2015-07-09 2018-09-04 Biocatch Ltd. Detection of proxy server
US9444903B2 (en) * 2011-06-02 2016-09-13 Surfeasy Inc. Proxy based network communications
US8856924B2 (en) 2012-08-07 2014-10-07 Cloudflare, Inc. Mitigating a denial-of-service attack in a cloud-based proxy service
US8793397B2 (en) 2012-10-02 2014-07-29 Nextbit Systems Inc. Pushing notifications based on location proximity
WO2016186530A1 (en) * 2015-05-15 2016-11-24 Ringcentral, Inc. Systems and methods for determining routing information for a network request
US10938925B1 (en) * 2016-10-06 2021-03-02 Akamai Technologies, Inc. Delivery and acceleration with localized source IP addresses without reliance on client headers
EP4187881A1 (de) * 2017-08-28 2023-05-31 Bright Data Ltd. Verbesserung des abrufens von inhalten durch auswahl von tunnelvorrichtungen, die entsprechend einem geografischen standort gruppiert sind
WO2020081727A1 (en) * 2018-10-16 2020-04-23 Eluvio, Inc. Decentralized content fabric
US20210042160A1 (en) * 2019-04-05 2021-02-11 Mimik Technology Inc. Method and system for distributed edge cloud computing
US10873647B1 (en) * 2020-06-25 2020-12-22 Teso Lt, Ltd Exit node benchmark feature
US10965770B1 (en) * 2020-09-11 2021-03-30 Metacluster It, Uab Dynamic optimization of request parameters for proxy server
US11196833B1 (en) * 2020-12-29 2021-12-07 Teso LT, UAB Proxy server synchronizer
US11212354B1 (en) * 2021-03-19 2021-12-28 Teso LT, UAB Methods and systems for implementing a regionally contiguous proxy service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116418863A (zh) * 2023-06-09 2023-07-11 安徽华云安科技有限公司 基于socks5透明代理的通信方法和装置
CN116418863B (zh) * 2023-06-09 2023-09-15 安徽华云安科技有限公司 基于socks5透明代理的通信方法和装置

Also Published As

Publication number Publication date
CN116848835A (zh) 2023-10-03
WO2022195347A1 (en) 2022-09-22
IL304257A (en) 2023-09-01
US20230388394A1 (en) 2023-11-30
US11212354B1 (en) 2021-12-28
US20230019976A1 (en) 2023-01-19
US11489937B2 (en) 2022-11-01
US11381667B1 (en) 2022-07-05
US20220303357A1 (en) 2022-09-22
CA3204621A1 (en) 2022-09-22
US11770457B2 (en) 2023-09-26
EP4292267A1 (de) 2023-12-20

Similar Documents

Publication Publication Date Title
DE202021103381U1 (de) Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes
DE202021103600U1 (de) Dynamische Optimierung von Anfrageparametern für Proxy-Server
DE69837513T2 (de) Vorrichtung für die sichere Kommunikation über Funk- und Leitungsnetzwerke mittels Transportschichtverbindungen
DE69937831T2 (de) System und Verfahren zum Verwalten von Client-Anforderungen in Client-Server-Netzen
EP1826956B1 (de) Anpassung von virtuellen und physikalischen Netzwerkschnittstellen
DE60110974T2 (de) Abfangverfahren und -vorrichtung zur Kompensation nachteiliger Eigenschaften eines Kommunikationsprotokolls
WO2018133454A1 (zh) 远程服务访问路径控制方法和相关设备
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
US8997223B2 (en) Event aggregation in a distributed processor system
DE602004008415T2 (de) System und Verfahren zum Aufrechterhalten der Netzwerkverbindung
DE202021103602U1 (de) Benchmark-Funktion für Ausgangsknoten
US11388253B1 (en) Proxy selection by monitoring quality and available capacity
US20070133520A1 (en) Dynamically adapting peer groups
US20040133631A1 (en) Communication system
DE112019005826T5 (de) Lastverteilter Zugang zu verteilten Endpunkten unter Verwendung globaler Netzwerkadressen
DE102019210229A1 (de) Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
US10574706B2 (en) Method and system for upload optimization
CN104618491B (zh) 一种代理服务器及数据转发方法
EP2385682B1 (de) Verfahren zum Optimieren einer paketorientierten Datenübertragung und Computerprogramm-Produkt
EP3400698B1 (de) Verfahren und vorrichtung zum datenaustausch
EP3352416A1 (de) Netzwerkinventarisierungssystem
WO2013156308A1 (de) Datenübertragung im rahmen einer fahrzeugkommunikation

Legal Events

Date Code Title Description
R207 Utility model specification
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: H04L0065000000

R081 Change of applicant/patentee

Owner name: OXYLABS, UAB, LT

Free format text: FORMER OWNER: TESO LT, UAB, VILNIUS, LT