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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 40
- 238000010200 validation analysis Methods 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 51
- 230000005540 biological transmission Effects 0.000 description 17
- 238000012546 transfer Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 208000027744 congestion Diseases 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000013075 data extraction Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 235000008694 Humulus lupulus Nutrition 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000007790 scraping Methods 0.000 description 6
- 238000012384 transportation and delivery Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000005267 amalgamation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- QWXYZCJEXYQNEI-OSZHWHEXSA-N intermediate I Chemical compound COC(=O)[C@@]1(C=O)[C@H]2CC=[N+](C\C2=C\C)CCc2c1[nH]c1ccccc21 QWXYZCJEXYQNEI-OSZHWHEXSA-N 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing 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.
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 bis2D zeigen ein beispielhaftes Flussdiagramm eines Benutzergeräts, das eine Anfrage an ein Ziel über eine geografisch nächstgelegene Proxy-Infrastruktur sendet. -
3A und3B 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ät102 gestellte Domain-Namen-Anfragen aufzulösen. Der DNS-Anbieter104 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-Anbieter104 auf DNS-Anfragen basierend auf dem geografischen Standort sowohl des Benutzergeräts102 als auch des Proxy-Gateways108 , zu dem das Benutzergerät104 eine Verbindung herzustellen versucht, antwortet. Der DNS-Anbieter104 löst DNS-Anfragen auf, indem er die IP-Adresse des Proxy-Gateways108 bereitstellt, das dem Benutzergerät102 am nächsten ist und sich im selben geografischen Gebiet befindet. - Proxy-Infrastruktur
106 - ein Proxy-Server, der ein Proxy-Gateway108 , einen Proxy-Messenger110 , eine Benutzerdatenbank112 , eine Repository-Einheit114 , die wiederum eine Verarbeitungseinheit116 und eine Pool-Datenbank118 enthält. Es kann mehrere Instanzen von Proxy-Infrastrukturen106 geben, die sich an verschiedenen geografischen Standorten auf der ganzen Welt befinden. - Proxy-Gateway
108 - ein Proxy, ein Gateway, das dem Benutzergerät102 oder mehreren Benutzergeräten102 den Zugriff auf die Proxy-Dienste ermöglicht, indem es eine Schnittstelle zum Proxy-Anbieter-Netzwerk106 bereitstellt. Das Proxy-Gateway108 kann eine Kombination aus Software und Hardware sein und kann Pufferdienste beinhalten. Das Proxy-Gateway108 bietet einen Einstiegspunkt für das Benutzergerät102 in die Proxy-Infrastruktur106 . Das Proxy-Gateway108 übernimmt den Empfang und die Weiterleitung der Anfragen und sendet die Antworten über das Netzwerk130 an das Benutzergerät102 zurück. Das Proxy-Gateway108 ist ein Bestandteil der Proxy-Infrastruktur106 . - Proxy-Messenger
110 - ein Proxy-Server (ein Computersystem oder - systeme oder -anwendungen) und ein Bestandteil der Proxy-Infrastruktur106 , der mehrere komplexe Funktionen ausführen kann. Der Proxy-Messenger110 empfängt die Anfragen der Benutzergeräte102 vom Proxy-Gateway108 und prüft die Anfragen auf jegliche benutzerdefinierte Präferenzen hinsichtlich der Auswahl des Ausgangsknotens. Der Proxy-Messenger110 ist für das Anfragen von Metadaten eines Ausgangsknotens oder von Ausgangsknoten, die die benutzerdefinierten Präferenzen erfüllen, von der Repository-Einheit114 verantwortlich. Darüber hinaus kann der Proxy-Messenger110 Metadaten des ausgewählten Ausgangsknotens oder der ausgewählten Ausgangsknoten von der Repository-Einheit114 empfangen. Der Proxy-Messenger110 ist auch dafür verantwortlich, die Anfragen der Benutzergeräte102 an den jeweiligen Proxy-Superknoten120 zu senden, mit dem der ausgewählte Ausgangsknoten verbunden ist. Wenn die Anfrage des Benutzergeräts102 keine benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens enthält, fordert der Proxy-Messenger110 außerdem Metadaten des Ausgangsknotens oder der Ausgangsknoten, die sich in geografischer Nähe zur Proxy-Infrastruktur106 befinden, von der Repository-Einheit114 an. In einigen Ausführungsformen können der Proxy-Messenger110 und das Proxy-Gateway108 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äten102 enthält. Die Benutzerdatenbank112 speichert Daten in Tabellen (benannte Spalten und mehrere Zeilen), in denen sich Informationen zu den Verifizierungsnachweisen von mehreren Benutzergeräte102 finden. Nachweise können Benutzernamen, Benutzerkennungen, Passwörter, Hash-Kennungen, Seriennummern, PIN sein, sind aber nicht darauf beschränkt. Die Benutzerdatenbank112 kann ein beliebiges physisches Speichergerät oder ein Cloud-basierter Speicher sein. Wie oben erwähnt, können in einigen Ausführungsformen die Benutzerdatenbank112 und der Proxy-Messenger110 in einem einzigen Element untergebracht werden; die Gesamtfunktionalität bleibt jedoch unverändert. Die Benutzerdatenbank112 ist ein Bestandteil der Proxy-Infrastruktur106 . - Repository-Einheit
114 - ein Rechnersystem, ein Proxy und ein Bestandteil der Proxy-Infrastruktur106 . Die Repository-Einheit114 enthält Elemente, die so konfiguriert sind, dass sie Metadaten von Ausgangsknoten von der zentralen Verwaltungseinheit122 sammeln, klassifizieren und speichern. Darüber hinaus kann die Repository-Einheit114 auf die Anfragen des Proxy-Messenger110 reagieren, indem sie Metadaten von Ausgangsknoten identifiziert, auswählt und die Metadaten von Ausgangsknoten an den Proxy-Messenger110 sendet. Die Verarbeitungseinheit116 und die Pool-Datenbank118 sind die Elemente, die die Repository-Einheit114 bilden. - Verarbeitungseinheit
116 - ein Computersystem und ein Bestandteil der Repository-Einheit114 , verantwortlich für das Sammeln von Metadaten der Ausgangsknoten von der zentralen Verwaltungseinheit122 . Darüber hinaus kann die Verarbeitungseinheit116 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-Datenbank118 speichern. Die Verarbeitungseinheit116 kann Metadaten von Ausgangsknoten aus der Pool-Datenbank118 identifizieren und auswählen, die zu den vom Proxy-Messenger110 empfangenen Anfragen passen. Darüber hinaus antwortet die Verarbeitungseinheit116 auf Anfragen des Proxy-Messenger110 , indem sie die identifizierten Metadaten von Ausgangsknoten aus der Pool-Datenbank118 abruft und diese dem Proxy-Messenger110 zur Verfügung stellt. Man muss verstehen, dass die Verarbeitungseinheit116 die Metadaten der Ausgangsknoten von der zentralen Verwaltungseinheit122 dynamisch in einem regelmäßigen Zeitintervall abruft. Weiterhin kann die Verarbeitungseinheit116 kontinuierlich Änderungen an den in der Pool-Datenbank118 gespeicherten Metadaten der Ausgangsknoten vornehmen. - Pool-Datenbank
118 - ein Bestandteil der Repository-Einheit114 , 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-Datenbank118 innerhalb der Verarbeitungseinheit114 gebildet werden, bleibt aber ein Teil der Repository-Einheit114 , 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-Messenger110 an Ausgangsknoten verantwortlich ist. Weiterhin kann der Proxy-Superknoten120 für die oben genannten Anfragen Antworten von Ausgangsknoten empfangen und die Antworten an den Proxy-Messenger110 weiterleiten. Der Proxy-Superknoten120 unterhält Verbindungen mit Ausgangsknoten, die sich in geografischer Nähe befinden. Man muss verstehen, dass es mehrere Instanzen des Proxy-Superknotens120 geben kann, die über verschiedene geografische Standorte verteilt sind. Der Proxy-Superknoten120 kann die Ausgangsknoten dynamisch testen und die Metadaten der Ausgangsknoten in einem regelmäßigen Zeitintervall an die zentrale Verwaltungseinheit122 melden. - Zentrale Verwaltungseinheit
122 - eine Verarbeitungseinheit, die in der Lage ist, komplexe Funktionen des Empfangs von Metadaten von Ausgangsknoten in Echtzeit von mehreren Proxy-Superknoten120 auszuführen. Darüber hinaus speichert die zentrale Verwaltungseinheit122 die Metadaten von mehreren Ausgangsknoten, die mit verschiedenen Proxy-Superknoten120 verbunden sind, wobei alle Metadaten in einem einzigen Speicher vorgehalten werden. Darüber hinaus kann die zentrale Verwaltungseinheit122 Anfragen von der Verarbeitungseinheit116 empfangen und auf die Anfrage reagieren, indem sie die erforderlichen Metadaten der Ausgangsknoten an die Verarbeitungseinheit116 liefert. In der vorliegenden Offenlegung gibt es eine Haupt-Zentralverwaltungseinheit122 ; Es kann jedoch mehrere zentrale Verwaltungseinheiten112 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-Superknoten120 zu verbinden. Der regionale DNS-Server124 löst DNS-Anfragen von Ausgangsknoten auf, indem er die IP-Adresse des Proxy-Superknotens120 bereitstellt, der dem anfragenden Ausgangsknoten geografisch am nächsten liegt. Der regionale DNS-Server124 ist eine Kombination aus Hardware und Software; der regionale DNS-Server124 kann jedoch auch in einer Cloud untergebracht sein. - Ausgangsknoten
126 - eine beispielhafte Instanz von Proxys, die verwendet werden, um das Ziel128 zu erreichen. Einfach ausgedrückt ist Ausgangsknoten126 das letzte Gateway, bevor der Datenverkehr das Ziel128 erreicht. Es können mehrere Proxy-Server verwendet werden, um die Anfrage eines Benutzers auszuführen (z. B. ein Proxy-Superknoten120 und ein Proxy-Messenger110 ). Der Ausgangsknoten126 ist jedoch der letzte Proxy, der das Ziel kontaktiert und die Informationen vom Ziel abruft. Der Ausgangsknoten126 kann z. B. ein Laptop, ein Mobiltelefon, ein Tablet oder ein Smart-Device sein. Weiterhin kann der Ausgangsknoten126 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 Ausgangsknoten126 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 Ziel128 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 Ziel128 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 Ausgangsknotens126 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-Superknotens120 , mit dem der Ausgangsknoten126 verbunden ist. Die meisten der oben genannten Attribute werden vom Proxy-Superknoten120 gesammelt, indem der Ausgangsknoten126 in regelmäßigen Abständen getestet wird. -
1 ist eine beispielhafte Gesamtstruktur, die das Benutzergerät102 , das ein beliebiges Computergerät sein kann (z. B. ein Personal Computer, ein Mobiltelefon, ein Tablet), den DNS-Anbieter104 , die Proxy-Infrastruktur106 , den Proxy-Superknoten120 , die zentrale Verwaltungseinheit122 , den regionalen DNS-Server124 , den Ausgangsknoten126 und das Ziel128 zeigt, die mit dem Netzwerk130 verbunden sind, das ein beliebiges digitales Telekommunikationsnetzwerk sein kann (z. B. das Internet). Die Proxy-Infrastruktur106 enthält das Proxy-Gateway106 , den Proxy-Messenger108 , die Benutzerdatenbank112 und die Repository-Einheit114 . Weiterhin enthält die Repository-Einheit114 die Verarbeitungseinheit116 und die Benutzerdatenbank118 . Während die in1 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 Verarbeitungseinheit116 und die Pool-Datenbank118 ein einziges Element bilden. Ebenso können der Proxy-Messenger110 und das Proxy-Gateway108 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 die1 , 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-Infrastruktur106 , des Proxy-Superknotens120 und des Ausgangsknotens126 geben, die sich an verschiedenen geografischen Orten auf der Welt befinden; in1 ist jedoch nur eine Instanz der vorgenannten Elemente dargestellt. Die Proxy-Infrastruktur106 , die zentrale Verwaltungseinheit122 und der Proxy-Superknoten120 sind die wesentlichen Elemente, die erforderlich sind, um Proxy-Dienste für ein Benutzergerät102 bereitzustellen. - Innerhalb der Proxy-Infrastruktur
106 können das Proxy-Gateway108 und der Proxy-Messenger110 miteinander kommunizieren, während der Proxy-Messenger110 auf die Benutzerdatenbank112 zugreifen kann. Der Proxy-Messenger110 und Verarbeitungseinheit116 können miteinander kommunizieren, während die Verarbeitungseinheit116 auf die Pool-Datenbank118 zugreifen kann. Weiterhin kann in der Proxy-Infrastruktur106 das Proxy-Gateway108 mit dem externen Element, nämlich dem Benutzergerät102 , kommunizieren. Der Proxy-Messenger110 kann mit dem externen Element, dem Proxy-Superknoten120 , kommunizieren. In ähnlicher Weise kann die Verarbeitungseinheit116 , die in der Repository-Einheit114 vorhanden ist, mit dem externen Element, nämlich der zentralen Verwaltungseinheit112 , kommunizieren. - In
1 sendet das Benutzergerät102 zunächst eine DNS-Anfrage über das Netzwerk130 an den DNS-Anbieter104 . Der DNS-Anbieter104 löst die DNS-Anfrage auf, indem er die IP-Adresse, die zu einer der geografisch nächstgelegenen Proxy-Infrastrukturen106 gehört, dem Benutzergerät102 bereitstellt. Anschließend sendet das Benutzergerät102 der Proxy-Infrastruktur106 über das Netzwerk130 eine Anfrage zur Datenextraktion aus dem Ziel128 . Alternativ zur herkömmlichen DNS-Auflösungsmethode kann der DNS-Anbieter104 auch eine Anycast-Routing-Methode implementieren, um das Benutzergerät102 zu einer der geografisch nächstgelegenen Proxy-Infrastrukturen106 zu leiten. Konkret wird die Anfrage des Benutzergeräts102 von dem in der Proxy-Infrastruktur106 vorhandenen Proxy-Gateway108 empfangen. Dabei muss verstehen werden, dass das Proxy-Gateway108 einen Eintrittspunkt für das Benutzergerät102 in die Proxy-Infrastruktur106 darstellt. Der Proxy-Gateway108 übernimmt den Empfang und die Weiterleitung der Anfragen und sendet die Antworten über das Netzwerk130 an das Benutzergerät102 zurück. Zusätzlich kann die Anfrage vom Benutzergerät102 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-Gateway108 die Anfrage an den Proxy-Messenger110 weiter. Unmittelbar nach dem Empfang der Anfrage vom Proxy-Gateway108 führt der Proxy-Messenger110 eine Benutzervalidierung durch, indem er die in der Anfrage angegebenen Authentifizierungsdaten mit der Benutzerdatenbank112 abgleicht. Sobald die Anmeldeinformationen verifiziert sind, prüft der Proxy-Messenger110 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-Messenger110 die Anfrage auf einen gewünschten Standort des Ausgangsknotens. Wenn das Benutzergerät102 keine benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens angibt, fragt der Proxy-Messenger110 die Repository-Einheit114 für Metadaten eines Ausgangsknotens an, der sich in geografischer Nähe zur Proxy-Infrastruktur106 befindet. - Die Anfrage von Metadaten vom Proxy-Messenger
110 wird von der Verarbeitungseinheit116 empfangen, die sich in der Repository-Einheit114 befindet. Nach dem Empfang der Anfrage von Metadaten eines Ausgangsknotens greift die Verarbeitungseinheit116 auf die Pool-Datenbank118 zu, um die Metadaten eines Ausgangsknotens in geografischer Nähe zur Proxy-Infrastruktur106 zu identifizieren und auszuwählen. Danach holt die Verarbeitungseinheit116 die Metadaten des ausgewählten Ausgangsknotens (repräsentiert durch den Ausgangsknoten126 ) ab und sendet die Metadaten an den Proxy-Messenger110 zurück. Die von der Verarbeitungseinheit116 gesendeten Metadaten enthalten die IP-Adressinformationen des ausgewählten Ausgangsknotens und des bestimmten Proxy-Superknotens120 , mit dem der ausgewählte Ausgangsknoten verbunden ist. - Nach dem Empfang der Metadaten von der Verarbeitungseinheit
116 sendet der Proxy-Messenger110 die Anfrage zur Datenextraktion an den Proxy-Superknoten120 und die IP-Adresse des ausgewählten Ausgangsknotens126 . Nach dem Empfang der Anfrage vom Proxy-Messenger110 weist der Proxy-Superknoten120 den Ausgangsknoten126 an, eine Verbindung mit dem vorgesehenen Ziel128 aufzubauen. Dementsprechend baut der Ausgangsknoten126 eine Verbindung mit dem Ziel128 auf. Im nächsten Schritt sendet der Proxy-Superknoten120 die Anfrage zur Datenextraktion an den Ausgangsknoten120 , der die Anfrage dann an das Ziel128 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-Messenger110 die Repository-Einheit114 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-Messenger110 wird von der Verarbeitungseinheit116 in der Repository-Einheit114 empfangen. Nach dem Empfang der Anfrage von Metadaten eines Ausgangsknotens greift die Verarbeitungseinheit116 auf die Pool-Datenbank118 zu, um die Metadaten eines Ausgangsknotens zu identifizieren und auszuwählen, der sich am bestimmten geografischen standort befindet. Danach holt die Verarbeitungseinheit116 die Metadaten des ausgewählten Ausgangsknotens (auch repräsentiert durch den Ausgangsknoten126 ) ab und sendet die Metadaten an den Proxy-Messenger110 zurück. Die von der Verarbeitungseinheit116 gesendeten Metadaten enthalten die IP-Adressinformationen des ausgewählten Ausgangsknotens und des bestimmten Proxy-Superknotens120 , zu dem der ausgewählte Ausgangsknoten In diesem Fall kann sich der Proxy-Superknoten120 in geografischer Nähe zum ausgewählten Ausgangsknoten befinden und kann geografisch von der Proxy-Infrastruktur106 entfernt sein. - Nach dem Empfang der Metadaten von der Verarbeitungseinheit
116 sendet der Proxy-Messenger110 die Anfrage zur Datenextraktion an den bestimmten Proxy-Superknoten120 und die IP-Adresse des ausgewählten Ausgangsknotens126 . Nach dem Empfang der Anfrage vom Proxy-Messenger110 weist der Proxy-Superknoten120 den Ausgangsknoten126 an, eine Verbindung mit dem angestrebten Ziel128 aufzubauen. Dementsprechend baut der Ausgangsknoten126 eine Verbindung mit dem Ziel128 auf. Danach sendet der Proxy-Superknoten120 die Anfrage zur Datenextraktion an den Ausgangsknoten120 , der die Anfrage dann an das Ziel128 weiterleitet. - Somit kann durch die oben beschriebene Ausführungsform eine Proxy-Infrastruktur
106 , die sich geografisch näher an einem Benutzergerät102 befindet, Metadaten von Ausgangsknoten, die sich an einem entfernten geografischen Standort befinden, aus ihrer internen Pool-Datenbank118 durch die Verarbeitungseinheit116 identifizieren und auswählen. Ferner kann die Proxy-Infrastruktur106 , die geografisch näher am Benutzergerät102 liegt, die Anfrage zur Datenextraktion an einen bestimmten Proxy-Superknoten120 (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 Ausgangsknoten126 oder mehrere Ausgangsknoten126 eine DNS-Anfrage an den regionalen DNS-Server124 stellen. Diese Verbindung erfolgt zu einem Zweck, Ausgangsknoten mit dem Proxy-Superknoten120 zu verbinden, der geografisch näher bei den Ausgangsknoten liegt. Der regionale DNS-Server124 löst die DNS-Anfrage auf, indem er die IP-Adresse des Proxy-Superknotens120 bereitstellt, der sich in geografischer Nähe zum anfragenden Ausgangsknoten126 befindet. Alternativ zur herkömmlichen DNS-Auflösungsmethode kann der regionale DNS-Server124 auch die Anycast-Methode verwenden, um den Ausgangsknoten126 zu dem Proxy-Superknoten120 zu leiten, der sich in geografischer Nähe zum anfragenden Ausgangsknoten126 befindet. Anschließend fordert der Ausgangsknoten126 eine Verbindung zum Proxy-Superknoten120 an, der seinerseits die Verbindungen bestätigt, wodurch eine Verbindung mit dem Ausgangsknoten126 hergestellt wird. Man muss hier verstehen, dass der Proxy-Superknoten120 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-Superknoten120 regelmäßig den Ausgangsknoten126 oder mehrere Ausgangsknoten126 , um Informationen über mehrere Attribute des Ausgangsknotens126 oder mehrerer Ausgangsknoten126 zu sammeln. Der Proxy-Superknoten120 meldet die gesammelten Informationen über den Ausgangsknoten126 oder mehrere Ausgangsknoten126 regelmäßig an die zentrale Verwaltungseinheit122 . Außerdem kann der Proxy-Superknoten120 der zentralen Verwaltungseinheit122 über neu angeschlossene Ausgangsknoten oder Trennungen von zuvor angeschlossenen Ausgangsknoten berichten. - Unter einem weiteren Aspekt ist in
1 dargestellt, dass die Proxy-Infrastruktur106 regelmäßig Metadaten mehrerer Ausgangsknoten von der zentralen Verwaltungseinheit122 über das Netzwerk130 sammelt. Speziell greift die Verarbeitungseinheit116 auf die zentrale Verwaltungseinheit122 zu, um Metadaten mehrerer Ausgangsknoten zu sammeln, unabhängig von den Standorten der Ausgangsknoten. Die Verarbeitungseinheit116 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 Verarbeitungseinheit116 speichert die klassifizierten Metadaten in der Pool-Datenbank118 . Darüber hinaus kann die Verarbeitungseinheit116 die Metadaten der Ausgangsknoten kontinuierlich aktualisieren, indem sie notwendige Änderungen in der Pool-Datenbank118 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ät102 zeigt, das eine Anfrage an das Ziel128 über die geografisch nächstgelegene Proxy-Infrastruktur106 (nicht dargestellt) sendet. In Schritt201 beginnt das Benutzergerät102 mit dem Senden einer DNS-Anfrage an den DNS-Anbieter104 über das Netzwerk130 , um die IP-Adresse der Proxy-Infrastruktur106 zu erhalten und allgemein auf die von der Proxy-Infrastruktur106 bereitgestellten Proxy-Dienste zuzugreifen. - In Schritt
203 , nach dem Empfang der DNS-Anfrage vom Benutzergerät102 , löst der DNS-Anbieter104 die DNS-Anfrage auf, indem er die IP-Adresse der Proxy-Infrastruktur106 bereitstellt, die dem Benutzergerät102 geografisch am nächsten ist. Wie bereits erwähnt, antwortet der DNS-Anbieter104 auf die DNS-Anfragen auf der Grundlage des geografischen Standorts sowohl des Benutzergeräts102 als auch der Proxy-Infrastruktur106 , zu der das Benutzergerät104 eine Verbindung herzustellen versucht. Zum Beispiel stellt der DNS-Anbieter104 sicher, dass ein Benutzergerät102 , das sich in Kanada befindet, mit der IP-Adresse der Proxy-Infrastruktur106 versehen wird, die dem bestimmten Benutzergerät102 in Kanada geografisch am nächsten ist. - In Schritt
205 sendet das Benutzergerät102 , nachdem es die IP-Adresse der geografisch nächstgelegenen Proxy-Infrastruktur106 erhalten hat, eine Anfrage zur Datenextraktion vom Ziel128 an die Proxy-Infrastruktur106 . Genauer gesagt wird die Anfrage an das Proxy-Gateway108 gesendet, das in dieser beispielhaften Ausführungsform innerhalb der Proxy-Infrastruktur106 vorhanden ist. Es sei hier daran erinnert, dass das Proxy-Gateway108 ein Einstiegspunkt für das Benutzergerät102 in die Proxy-Infrastruktur106 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ät102 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ät102 , leitet das Proxy-Gateway108 die Anfrage an den Proxy-Messenger110 weiter, der in dieser beispielhaften Ausführungsform innerhalb der Proxy-Infrastruktur106 vorhanden ist. Infolgedessen verifiziert der Proxy-Messenger110 in Schritt209 nach dem Empfang der Anfrage die in der Anfrage enthaltenen Anmeldeinformationen. Speziell greift der Proxy-Messenger110 auf die Benutzerdatenbank112 zu und verifiziert die Anmeldeinformationen anhand der in der Benutzerdatenbank112 vorhandenen Daten. Durch die Verifizierung der Anmeldeinformationen validiert der Proxy-Messenger110 den Benutzer. Der Validierungsprozess kann die Überprüfung der Kombination aus Benutzer-ID und Passwort oder PIN, die vom Benutzergerät102 bereitgestellt wird, beinhalten, ist aber nicht hierauf beschränkt. Die Überprüfung der Anmeldeinformationen ist wichtig, da sie es der Proxy-Infrastruktur106 ermöglicht, ihre Netzwerke sicher zu halten, indem sie nur validierten Benutzergeräten102 den Zugriff auf ihre gesicherten Dienste gestattet. -
2B ist die Fortsetzung eines beispielhaften Flussdiagramms von2A . In Schritt211 prüft der Proxy-Messenger110 nach der Verifizierung der Anmeldeinformationen und der Benutzervalidierung die Anfrage, um alle benutzerdefinierten Präferenzen zu identifizieren, die bei der Auswahl eines Ausgangsknotens126 erfüllt werden müssen. Speziell prüft der Proxy-Messenger110 die Anfrage auf einen gewünschten Standort des Ausgangsknotens. Wenn die Anfrage keine benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens126 enthält, fordert der Proxy-Messenger110 in diesem Fall die in der Repository-Einheit114 vorhandene Verarbeitungseinheit116 (nicht dargestellt) nach Metadaten eines Ausgangsknotens126 an, der sich in geografischer Nähe zur Proxy-Infrastruktur106 befindet. Entsprechend fragt der Proxy-Messenger110 in Schritt213 die in der Repository-Einheit vorhandene Verarbeitungseinheit116 nach Metadaten eines Ausgangsknotens126 an, der sich in geografischer Nähe zur Proxy-Infrastruktur106 befindet. - In Schritt
215 , nach dem Empfang der Anfrage nach Metadaten vom Proxy-Messenger110 , identifiziert und wählt die Verarbeitungseinheit116 die Metadaten des Ausgangsknotens126 , der sich in geografischer Nähe zur Proxy-Infrastruktur106 befindet, durch Zugriff auf die Pool-Datenbank118 . Folglich holt die Verarbeitungseinheit116 in Schritt217 die Metadaten des ausgewählten Ausgangsknotens126 aus der Pool-Datenbank118 ab. In Schritt219 sendet die Verarbeitungseinheit116 die Metadaten des ausgewählten Ausgangsknotens126 an den Proxy-Messenger110 . Die von der Verarbeitungseinheit116 gesendeten Metadaten enthalten die IP-Adressinformationen des ausgewählten Ausgangsknotens und des bestimmten Proxy-Superknotens120 , mit dem der ausgewählte Ausgangsknoten verbunden ist. - In Schritt
221 , nach dem Empfang der Metadaten des ausgewählten Ausgangsknotens126 , sendet der Proxy-Messenger110 die Anfrage zur Datenextraktion an den Proxy-Superknoten120 und die IP-Adresse des ausgewählten Ausgangsknotens126 . Vor dem Senden der Anfrage zur Datenextraktion an den Proxy-Superknoten120 kann der Proxy-Messenger110 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-Messenger110 , eine dauerhafte Verbindung aufrechtzuerhalten, um dynamisch generierte Inhalte zu übertragen. Darüber hinaus ermöglicht die Chunked Transfer Encoding dem Proxy-Messenger110 , 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-Superknoten120 nach Erhalt der Anfrage zur Datenextraktion und der IP-Adresse des ausgewählten Ausgangsknotens126 den Ausgangsknoten126 an, eine Verbindung zum Ziel128 herzustellen. -
2C ist die Fortsetzung eines beispielhaften Flussdiagramms der2A und2B . In Schritt225 initiiert Ausgangsknoten126 die Verbindung mit dem Ziel128 und anschließend, in Schritt227 , bestätigt das Ziel128 die Verbindung mit dem Ausgangsknoten126 , wodurch die Verbindung zwischen Ausgangsknoten126 und Ziel128 hergestellt wird. Die Verbindung zwischen Ausgangsknoten126 und Ziel128 kann über jedes der Standard-Kommunikationsprotokolle erfolgen, einschließlich, aber nicht beschränkt auf, TCP/IP, UDP, SOCKS5. Daher können die Schritte225 und227 alle notwendigen Schritte zum Verbindungsaufbau auf Basis der oben genannten Protokolle umfassen. - In Schritt
229 , nachdem Ausgangsknoten126 die Verbindung mit dem Ziel128 hergestellt hat, sendet Proxy-Superknoten120 die Anfrage zur Datenextraktion an den Ausgangsknoten126 , der in Schritt231 die Anfrage an das Ziel128 weiterleitet. -
2D ist die Fortsetzung eines beispielhaften Flussdiagramms der2A ,2B und2C . In Schritt233 sendet das Ziel128 die entsprechende Antwort auf die vom Ausgangsknoten126 weitergeleitete Anfrage, und in Schritt235 leitet der Ausgangsknoten126 die Antwort vom Ziel128 an den Proxy-Superknoten120 weiter. Es ist wichtig, hier zu erwähnen, dass der Ausgangsknoten126 im Falle einer HTTP-Kommunikation eine Chunked-Encoding-Übertragungsmethode über die empfangene Antwort implementieren kann. In Schritt237 , nach dem Empfang der Antwort vom Ausgangsknoten126 , leitet der Proxy-Superknoten120 die Antwort an den Proxy-Messenger110 weiter, der in dieser beispielhaften Ausführungsform innerhalb der Proxy-Infrastruktur vorhanden ist. In Schritt239 leitet der Proxy-Messenger110 die Antwort an das Proxy-Gateway108 weiter, das dann in Schritt241 die Antwort an das Benutzergerät102 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ät102 an das in der Proxy-Infrastruktur106 vorhandene Proxy-Gateway108 in Schritt205 gesendet wird, die benutzerdefinierten Präferenzen für den geografischen Standort des Ausgangsknotens enthält. In diesem Fall bleiben die Schritte207 ,209 ,211 unverändert; jedoch fordert der Proxy-Messenger110 in Schritt213 die in der Repository-Einheit114 vorhandene Verarbeitungseinheit116 für Metadaten eines Ausgangsknotens126 an, der sich an dem spezifischen geografischen Standort befindet, der die benutzerdefinierten Präferenzen erfüllt. Nachfolgend, in Schritt215 , nach Erhalt der Anfrage von Metadaten vom Proxy-Messenger110 , identifiziert und wählt die Verarbeitungseinheit116 die Metadaten des Ausgangsknotens126 aus, der sich an einem bestimmten geografischen Standortort befindet, der die benutzerdefinierten Präferenzen erfüllt, indem sie auf die Pool-Datenbank118 zugreift. Anschließend, in Schritt217 , ruft die Verarbeitungseinheit116 die Metadaten des ausgewählten Ausgangsknotens126 aus der Pool-Datenbank118 ab. Danach bleiben die aufeinanderfolgenden Schritte von 219 bis 239 unverändert. -
3A ist ein beispielhaftes Flussdiagramm, das zeigt, wie der Proxy-Superknoten120 relevante Informationen des Ausgangsknotens126 an die zentrale Verwaltungseinheit122 meldet. In Schritt301 sendet der Ausgangsknoten126 zunächst eine DNS-Anfrage an den regionalen DNS-Server124 , um die IP-Adresse des Proxy-Superknotens120 anzufordern. In Schritt303 löst der regionale DNS-Server124 die DNS-Abfrage auf, indem er die IP-Adresse des Proxy-Superknotens120 bereitstellt, der sich in geografischer Nähe des Ausgangsknotens126 befindet. - In Schritt
305 , nach dem Empfang der IP-Adresse des Proxy-Superknotens120 , der sich in geografischer Nähe befindet, fordert Ausgangsknoten126 eine Verbindung mit dem Proxy-Superknoten120 an. In Schritt307 antwortet der Proxy-Superknoten120 , indem er die Verbindung bestätigt, wodurch die Verbindung mit dem Ausgangsknoten126 hergestellt wird. In Schritt309 , nach dem Aufbau der Verbindung, sendet Ausgangsknoten126 eine Plattformnachricht an den Proxy-Superknoten120 . 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 Schritt311 , empfängt der Proxy-Superknoten120 die Plattformnachricht vom Ausgangsknoten126 und leitet sie an die zentrale Verwaltungseinheit122 weiter, wodurch der neu verbundene Ausgangsknoten126 gemeldet wird. Die Verbindung zwischen dem Ausgangsknoten126 und dem Proxy-Superknoten120 kann über jedes der Standard-Kommunikationsprotokolle erfolgen, einschließlich, aber nicht beschränkt auf, TCP/IP, UDP, SOCKS5. Die Schritte305 und307 können daher alle notwendigen Schritte zum Verbindungsaufbau auf Basis der genannten Protokolle beinhalten. -
3B ist die Fortsetzung eines beispielhaften Flussdiagramms von3A . In Schritt313 fährt Proxy-Superknoten120 fort, den Ausgangsknoten126 zu testen. Der Proxy-Superknoten120 kann den Ausgangsknoten126 testen, indem er eine Benchmark-HTTP-Anfrage sendet. Die Benchmark-HTTP-Anfrage kann eine Anfrage sein, ein bestimmtes Ziel über das Netzwerk130 (nicht dargestellt) zu erreichen (z. B. eine IP-Adresse, einen Hostnamen), und wird von dem Proxy-Superknoten120 dynamisch bestimmt und initiiert. Benchmark-HTTP-Anfragen werden vom Proxy-Superknoten120 gesendet, um verschiedene Attribute des Ausgangsknotens126 zu sammeln und zu analysieren, wie z. B. Latenz, Fähigkeit zum Erreichen bestimmter Ziele, Verfügbarkeitsstatus. - In Schritt
315 antwortet der Ausgangsknoten126 auf die vom Proxy-Superknoten120 durchgeführten Tests. Im Falle einer HTTP-Benchmark-Anfrage antwortet Ausgangsknoten126 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-Superknoten120 zurücksendet. Das Testen von dem Ausgangsknoten126 durch das Senden von Benchmark-HTTP-Anfragen kann Informationen über Attribute des Ausgangsknotens126 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-Superknoten120 fort, einen Ping-Test an den Ausgangsknoten126 zu senden. Genauer gesagt, sendet Proxy-Superknoten120 eine Ping-Nachricht an den Ausgangsknoten126 . Im Netzwerkbereich ist ein Ping-Test ein Netzwerkhilfsmittel, um einen bestimmten Host zu bewerten; in dieser beispielhaften Ausführungsform ist es der Ausgangsknoten126 . Zusätzlich hilft der Ping-Test dem Proxy-Superknoten120 , Informationen über die Anzahl der Hops zwischen dem Proxy-Superknoten120 und dem Ausgangsknoten126 zu sammeln. Der Ping-Test kann auch Informationen über die Konnektivität und die Antwortzeit zwischen dem Proxy-Superknoten120 und dem Ausgangsknoten126 liefern. Die vom Proxy-Superknoten120 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 Ausgangsknoten126 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-Superknoten120 gesendet wurde. Die Antwortnachricht, die als Pong bezeichnet wird, verwendet ICMP-Pakete, um die Antwort zurückzugeben. Es ist zu beachten, dass der Proxy-Superknoten120 weiterhin testet und in regelmäßigen Abständen Ping-Nachrichten sendet, um Informationen über die Attribute des Ausgangsknotens126 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 Ausgangsknotens126 werden als Metadaten bezeichnet. Anschließend, nach dem Testen, meldet der Proxy-Superknoten120 in Schritt321 die gesammelten Informationen über mehrere Attribute des Ausgangsknotens126 an die zentrale Verwaltungseinheit122 . -
4 ist ein beispielhaftes Flussdiagramm, das zeigt, wie der Proxy-Superknoten120 die Trennung des Ausgangsknotens126 von dem Proxy-Superknoten120 an die zentrale Verwaltungseinheit122 meldet. Der Ausgangsknoten126 kann sich aus vielen Gründen vom Proxy-Superknoten120 trennen, wie z. B. niedriger Akkustand, Systemausfall. Daher trennt der Ausgangsknoten126 in Schritt401 die Verbindung vom Proxy-Superknoten120 und beendet damit die Kommunikation mit dem Proxy-Superknoten126 . Anschließend, in Schritt403 , meldet der Proxy-Superknoten120 die Trennung des Ausgangsknotens126 an die zentrale Verwaltungseinheit122 . -
5 ist ein beispielhaftes Flussdiagramm, das die Sammlung von Metadaten von der zentralen Verwaltungseinheit122 zeigt. In Schritt501 greift die Verarbeitungseinheit116 , die in dieser beispielhaften Ausführungsform innerhalb der Repository-Einheit114 dargestellt ist, auf Metadaten von der zentralen Verwaltungseinheit122 zu und sammelt diese. Die zentrale Verwaltungseinheit122 stellt der Verarbeitungseinheit116 Metadaten mehrerer Ausgangsknoten126 zur Verfügung. An dieser Stelle sei daran erinnert, dass sich Metadaten auf Informationen über mehrere Attribute eines Ausgangsknotens126 beziehen, wie z. B. Antwortzeit, Anzahl der Hops, Erreichbarkeit, Verfügbarkeitsstatus, Fähigkeit zum Erreichen bestimmter Ziele, IP-Adresse und geografischer Standort. In Schritt503 klassifiziert die Verarbeitungseinheit116 die gesammelten Metadaten in Kategorien, die auf mehreren Attributen von Ausgangsknoten126 basieren, wie z. B. Antwortzeit, Fähigkeit zum Erreichen bestimmter Ziele, Standort, IP-Adresse. - In Schritt
505 speichert die Verarbeitungseinheit116 die klassifizierten Metadaten der Ausgangsknoten126 in der Pool-Datenbank118 . Wenn es Änderungen an den Metadaten gibt (z. B. wenn ein Ausgangsknoten126 getrennt wird oder die Latenz zunimmt), nimmt die Verarbeitungseinheit116 die erforderlichen Änderungen an der Pool-Datenbank118 vor. Die Verarbeitungseinheit116 kann die Metadaten eines Ausgangsknotens126 oder mehrerer Ausgangsknoten126 aus der Pool-Datenbank118 entfernen. Hier ist zu erwähnen, dass die Verarbeitungseinheit116 regelmäßig mehrfach auf die Metadaten der Ausgangsknoten126 von der Central Management Unit122 zugreifen und diese sammeln kann. Außerdem kann die Verarbeitungseinheit116 notwendige Änderungen an der Pool-Datenbank118 vornehmen und dadurch die Metadaten in der Pool-Datenbank118 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 Computersystem600 , in dem ein computerlesbares Medium606 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 Medium606 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 Computersystems600 , 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 Medium606 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 Prozessoren602 enthalten, die direkt oder indirekt über einen Systembus610 mit dem Speicher608 gekoppelt sind. Der Speicher608 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 Computersystem600 gekoppelt werden, damit das Computersystem600 mit anderen Datenverarbeitungssystemen verbunden werden kann, z. B. über Host-Systemschnittstellen612 , 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)
- 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.
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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. - 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. - 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116418863A (zh) * | 2023-06-09 | 2023-07-11 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
Families Citing this family (6)
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)
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 |
-
2021
- 2021-03-19 US US17/207,198 patent/US11212354B1/en active Active
- 2021-06-23 DE DE202021103381.9U patent/DE202021103381U1/de active Active
- 2021-11-04 EP EP21806399.8A patent/EP4292267A1/de active Pending
- 2021-11-04 WO PCT/IB2021/060202 patent/WO2022195347A1/en active Application Filing
- 2021-11-04 CN CN202180093211.2A patent/CN116848835A/zh active Pending
- 2021-11-04 CA CA3204621A patent/CA3204621A1/en active Pending
- 2021-11-17 US US17/455,256 patent/US11381667B1/en active Active
-
2022
- 2022-05-26 US US17/804,213 patent/US11489937B2/en active Active
- 2022-09-27 US US17/935,663 patent/US11770457B2/en active Active
-
2023
- 2023-07-04 IL IL304257A patent/IL304257A/en unknown
- 2023-08-11 US US18/448,635 patent/US20230388394A1/en active Pending
Cited By (2)
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 |