DE202021103602U1 - Benchmark-Funktion für Ausgangsknoten - Google Patents
Benchmark-Funktion für Ausgangsknoten Download PDFInfo
- Publication number
- DE202021103602U1 DE202021103602U1 DE202021103602.8U DE202021103602U DE202021103602U1 DE 202021103602 U1 DE202021103602 U1 DE 202021103602U1 DE 202021103602 U DE202021103602 U DE 202021103602U DE 202021103602 U1 DE202021103602 U1 DE 202021103602U1
- Authority
- DE
- Germany
- Prior art keywords
- node
- proxy
- benchmark
- egress
- response
- 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
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000005259 measurement Methods 0.000 claims abstract description 11
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 230000008859 change Effects 0.000 claims abstract description 4
- 238000012360 testing method Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007790 scraping Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000005267 amalgamation Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 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
- 230000009467 reduction Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012795 verification 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/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- 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/50—Testing arrangements
-
- 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/50—Testing arrangements
- H04L43/55—Testing of service level quality, e.g. simulating service usage
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Time Recorders, Dirve Recorders, Access Control (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
- Traffic Control Systems (AREA)
Abstract
System zur Überprüfung der Verfügbarkeit von Proxy-Servern, umfassend:
einen Superknoten (106), der so konfiguriert ist, dass er einen der folgenden Schritte oder eine Kombination davon ausführt:
- Akzeptieren einer Verbindung von einem Ausgangsknoten (108);
- Senden einer Benchmark-Anfrage an den Ausgangsknoten (108);
- Messen einer Antwortqualität des Ausgangsknotens;
- Speichern von Ausgangsknoten-Metadaten zusammen mit Messungen der Antwortqualität in der Ausgangsknoten-Datenbank (112);
- Identifizieren durch die Messung der Antwort des Ausgangsknotens, ob der Ausgangsknoten (108) als für Proxy-Betrieb geeignet oder nicht geeignet für Proxy-Betrieb angezeigt werden kann;
eine Dienstanbieter-Infrastruktur (114), die so konfiguriert ist, dass sie Benchmark-Ziele dynamisch entsprechend Ergebnissen einer Analyse einer überwachten, registrierten und aggregierten Kundenanfrage ändert.
einen Superknoten (106), der so konfiguriert ist, dass er einen der folgenden Schritte oder eine Kombination davon ausführt:
- Akzeptieren einer Verbindung von einem Ausgangsknoten (108);
- Senden einer Benchmark-Anfrage an den Ausgangsknoten (108);
- Messen einer Antwortqualität des Ausgangsknotens;
- Speichern von Ausgangsknoten-Metadaten zusammen mit Messungen der Antwortqualität in der Ausgangsknoten-Datenbank (112);
- Identifizieren durch die Messung der Antwort des Ausgangsknotens, ob der Ausgangsknoten (108) als für Proxy-Betrieb geeignet oder nicht geeignet für Proxy-Betrieb angezeigt werden kann;
eine Dienstanbieter-Infrastruktur (114), die so konfiguriert ist, dass sie Benchmark-Ziele dynamisch entsprechend Ergebnissen einer Analyse einer überwachten, registrierten und aggregierten Kundenanfrage ändert.
Description
- Die vorliegenden beispielhaften Ausführungsformen beziehen sich auf die Übertragung von Signalen, die in digitaler Form bereitgestellt wurden, und umfassen die Datenübertragung von einem Superknoten zu einem Ziel unter Verwendung eines Ausgangsknotens. In einem Aspekt bezieht sich die vorliegende Offenlegung allgemein auf Netzwerkkommunikation und spezieher auf die Netzwerkkommunikation über einen Proxy-Server.
- Die Offenlegung stellt beispielhafte Systeme und nicht-flüchtige computerlesbare Speichermedien zur Verfügung, um die Qualität von Ausgangsknoten im Proxy-Server zu überprüfen und die Qualität der Proxy-Infrastruktur zu verbessern. In den beispielhaften Ausführungsformen ist der Proxy-Server eine Serveranwendung oder ein Gerät, die bzw. das als Vermittler für Anfragen von Clients fungiert, die Ressourcen von Servern erlangen wollen, die diese Ressourcen bereitstellen. Ein Proxy-Server fungiert also im Namen des Clients, wenn dieser einen Dienst anfordert, und maskiert möglicherweise den wahren Ursprung der Anfrage an den Ressourcenserver. Anstatt sich direkt mit einem Server zu verbinden, der die angeforderte Ressource, wie z. B. eine Datei oder eine Webseite, bereitstellen kann, leitet der Client die Anfrage an den Proxy-Server weiter, der die Anfrage auswertet und die erforderlichen Netzwerktransaktionen durchführt. Dies dient als Methode, um die Komplexität der Anfrage zu vereinfachen oder zu kontrollieren und/oder zusätzliche Vorteile wie Lastausgleich, Datenschutz oder Sicherheit zu bieten.
- Proxy-Server können mehrere Funktionen zur Erhöhung der Datensicherheit und der Netzwerkleistung ausführen, z. B. als Firewall und Webfilter fungieren, gemeinsam genutzte Netzwerkverbindungen bereitstellen und Daten in einen Cache stellen, um häufige Anfragen zu beschleunigen. Proxy-Server können ein hohes Maß an Privatsphäre bieten. Proxy-Server können die IP-Adresse und andere identifizierende Informationen, die die Web-Anfrage enthält, ändern (z. B. so, dass der Zielserver nicht weiß, wer die ursprüngliche Anfrage gestellt hat). Proxy-Server können auch verwendet werden, um die Internetnutzung von Mitarbeitern und Kindern zu kontrollieren (z. B. können Unternehmen und Eltern Proxy-Server einrichten, um zu kontrollieren und zu überwachen, wie ihre Mitarbeiter oder Kinder das Internet nutzen) oder um die Browsing-Geschwindigkeit zu verbessern und Bandbreite zu sparen (z. B. können Proxy-Server einen Cache nutzen, d. h. eine Kopie der entsprechenden Website-Daten lokal speichern und wenn der angeforderte Inhalt lokal verfügbar ist, wird die ursprüngliche Anfrage von der lokalen Kopie bedient).
- Proxys können verwendet werden, um bestimmte Internet-Beschränkungen (z. B. Firewalls) zu umgehen, indem sie es einem Benutzer ermöglichen, Inhalte über einen (entfernten) Proxy-Server anzufordern, anstatt direkt auf den Inhalt zuzugreifen. Proxy-Server werden oft verwendet, um geo-IP-basierte Inhaltsbeschränkungen zu umgehen. Wenn jemand Inhalte von einer Website in den Vereinigten Staaten (US) abrufen möchte, auf die er von seinem Heimatland aus nicht zugreifen darf, kann die Anfrage über einen Proxy-Server laufen, der sich in den US befindet und somit von einem US-IP-Adressraum. Durch die Verwendung von Proxy-Diensten scheint der Datenverkehr des Benutzers von der US-IP-Adresse zu kommen. Proxys können auch für Web Scraping, Data Mining und ähnliche Aufgaben verwendet werden.
- Die Verwendung eines Proxy-Servers (ein Computersystem oder eine Anwendung) erschwert die Rückverfolgung von Internetaktivitäten zum Benutzer, einschließlich: Besuche von Websites, Online-Posts, Sofortnachrichten und andere Kommunikationsformen. In einem Aspekt besteht ein beabsichtigter Einsatz von Proxy-Servern darin, die persönliche Privatsphäre der Benutzer sowie ihre Freiheit und Fähigkeit zur vertraulichen Kommunikation zu schützen, indem ihre Internetaktivitäten unbeobachtet bleiben.
- Eine Verbindung mit einem Proxy-Server (ein Computersystem oder eine Anwendung) von einem Client, fungiert als Vermittler für Anfragen von Clients, die Ressourcen von anderen Servern erlangen wollen. Ein Client verbindet sich mit dem Proxy-Server und fordert einen Dienst an, z. B. eine Datei, eine Verbindung, eine Webseite oder andere Ressourcen, die auf einem anderen Server verfügbar sind. Der Proxy-Server wertet die Anfrage nach Inhalten aus und leitet die Anfrage an das eigentliche Zielsystem oder die Zielsysteme weiter, die die entsprechenden Inhalte enthalten. Nach dem Erhalt des Inhalts leitet der Proxy-Server den Inhalt normalerweise an den ursprünglichen Anfragesteller weiter, es können aber auch andere Aktionen vom Proxy durchgeführt werden (z. B. Rückgabe einer Fehlermeldung usw.). Abhängig von der Art der Anfrage kann ein Proxy-Server volle Einsicht in den tatsächlichen Inhalt haben, der zu dem ursprünglichen Anfragesteller geholt wird, oder nicht, z. B. im Falle einer verschlüsselten Hypertext Transfer Protocol Secure (HTTPS)-Sitzung kann der Proxy als Vermittler dienen und die Daten blind weiterleiten, ohne zu wissen, was weitergeleitet wird.
- Die Proxys können in verschiedene Typen unterteilt werden, je nachdem, welche Funktionen bereitgestellt werden oder welche Server verwendet werden. Die Proxys können auch in Residential-Internet-Protocol(IP)-Proxys, Rechenzentrums-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 mit einem physischen Gerät verbunden 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 in großen Mengen direkt vom besitzenden Proxy-Dienstanbieter gekauft werden. Die wirklichen Besitzer der Residential-IP-Adressbereiche, nämlich Internet Service Provider (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 Rechenzentrums-IP-Proxy ist der Proxy-Server, dem eine Rechenzentrums-IP zugewiesen ist. Rechenzentrums-IPs sind IPs, die Unternehmen gehören, nicht Privatpersonen. Die Rechenzentrums-Proxys sind tatsächlich IP-Adressen, die sich nicht im Haus einer natürlichen Person befinden. Stattdessen sind die Rechenzentrums-Proxys mit einem zweiten Unternehmen verbunden. Mobile-IP-Proxys können als eine Untermenge der Kategorie Residential-Proxys 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 häusliches WLAN verwendet. Ein Proxy-Server ist im Grunde ein Computer im Internet mit einer eigenen IP-Adresse, die der Computer des Clients kennt. Wenn ein Client eine Webanfrage sendet, geht die Anfrage zuerst an den Proxy-Server. Der Proxy-Server stellt dann die Web-Anfrage im Namen des Clients, erfasst die Antwort vom Webserver und leitet die Daten der Webseite weiter, damit der Client die Seite im Browser sehen kann. Wenn der Proxy-Server die Webanfragen weiterleitet, kann er Änderungen an den Daten vornehmen, aber dennoch die angeforderten Daten bereitstellen. Ein Proxy-Server ändert die IP-Adresse des Clients, so dass der Webserver den geografischen Standort des Clients nicht erfährt. Ein Proxy kann die Daten des Clients verschlüsseln, so dass die Daten des Clients bei der Übertragung unlesbar werden. Außerdem kann ein Proxy-Server den Zugriff auf bestimmte Webseiten blockieren, basierend auf der IP-Adresse, dem Domain-Namen oder den Parametern des Kommunikationsprotokolls, wie z. B. dem angeforderten Port.
- Ein Proxy-Anbieter kann die Qualität der Proxys kontrollieren und entscheiden, welche Internet-Protokoll(IP)-Adressen von einer Menge von Proxys, die von Clients verwendet werden, bedient werden sollen. Wenn derselbe Proxy für zu viele Anfragen verwendet wird, wird der Proxy schließlich vom Internetdienstanbieter oder der Webseite gesperrt und es ist nicht möglich, einen solchen Proxy für nachfolgende Anfragen zu verwenden. Wenn in einem kurzen Zeitraum zu viele Anfragen von einer IP-Adresse eingehen, gibt die Website eine Art Fehlermeldung aus und sperrt die Anfragen von diesem Proxy für einen bestimmten Zeitraum. Um Fehler oder verweigerte Anfragen zu vermeiden, werden die Proxys von Zeit zu Zeit vom Dienstanbieter überprüft und beschädigte Proxys aus dem Proxy-Pool entfernt (solche Proxys werden dem Client nicht mehr zur Verfügung gestellt). Der Dienstanbieter kann Proxys auf 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 Überprüfung eines Proxys wird in geplanten Zeitintervallen durchgeführt, um sicherzustellen, dass die Clients, die die Proxy-Dienste nutzen, den Proxy effizient verwenden können.
- Ausgangsknoten-Proxys oder einfach Ausgangsknoten sind Gateways, an denen der verschlüsselte Datenverkehr auf das Internet trifft, oder sind Proxys, und durch diese Proxys erreicht die Anfrage des Benutzers (oder des Eingangsknotens) das Internet. 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. Es kann mehrere Proxys geben, die die Anfrage des Benutzers bedienen, die eine Proxy-Kette bilden, wobei die Anfrage jeden Proxy in der linearen Folge durchläuft, wobei der Ausgangsknoten das letzte Glied in der Kette ist, das letztendlich die Anfrage an das Ziel weiterleitet, sowie die Antwort über die ursprüngliche Kette von Proxys zurück an den Benutzer überträgt.
- 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 und dieselben Technologien können für Proxys verschiedener Typen verwendet werden. In der vorliegenden Beschreibung wird jedoch der Begriff Ausgangsknoten verwendet, um die funktionalen Unterschiede zwischen Ausgangsknoten und Proxys zu verdeutlichen.
- Eine Prüfung eines Proxys kann auf unterschiedliche Weise durchgeführt werden, z. B. kann der Proxy vom Benutzer selbst geprüft werden, der Proxy vom Dienstanbieter geprüft werden, der dem Benutzer Proxys zur Verfügung stellt, usw. Die Überprüfung von Proxys hilft sicherzustellen, dass der Proxy angeschlossen oder anderweitig online ist, die Verzögerungszeit des Proxys zu bestimmen, sicherzustellen, dass der Proxy Internetanfragen an das Ziel verarbeiten kann, und alle anderen relevanten Informationen über den Proxy. Es ergibt sich jedoch das Problem, dass alle Informationen über den Proxy im Proxy (oder Ausgangsknoten) selbst gespeichert sind.s
- Das Gerät des Ausgangsknotens befindet sich grundsätzlich außerhalb der Infrastruktur des Proxy-Dienstanbieters und gehört in der Regel einem Privatkunden, z. B. ein Smartphone, ein Computer, ein Fernseher oder ein anderes internetfähiges elektronisches Gerät. Aufgrund der Einschränkung, die sich aus den Anforderungen des Datenschutzes ergibt, darf der Proxy-Dienstanbieter nicht in die Konfigurationseinstellungen eingreifen, die auf solchen Geräten aktiviert sind. Stattdessen muss der Dienstanbieter zustimmen, die Residential-Proxys so zu verwenden, wie sie sind, selbst wenn dies bedeutet, einen Ausgangsknoten zu verwenden, der möglicherweise von einer böswilligen Partei betrieben wird oder ein falsch konfiguriertes Gerät ist. Durch die Durchführung eines vorausgehenden Benchmark-Tests, der vom Dienstanbieter kontrolliert und sorgfältig zusammengestellt wird, um die in realen Szenarien relevanten Parameter der Funktionsweise des Ausgangsknotens zu untersuchen, kann der Dienstanbieter sicherstellen, dass die an die Kunden gelieferten Ausgangsknoten für den jeweiligen Zweck geeignet sind.
- Daher kann der Benutzer oder der Dienstanbieter nicht garantieren, dass die vom Proxy selbst bereitgestellten Informationen über die Verfügbarkeit des Proxys korrekt sind. Der Proxy kann Informationen melden, die manipuliert wurden oder ungenau sind - er kann z. B. unwahre Informationen über den Proxy-Status, über die verwendete Internetverbindung (mobil oder WLAN), eine falsche IP-Adresse, unklare Informationen über die Umlaufzeit oder die Verfügbarkeit des Proxys geben.
- Ein Proxy kann auch viele Verbindungen von einem einzigen Gerät aus aufbauen und viel Datenverkehr von den Benutzern empfangen. Die Benutzer können irreführenderweise darüber informiert werden, dass das Gerät für Proxy-Dienste zur Verfügung steht, jedoch ist der Proxy aufgrund des hohen Datenverkehrs nicht in der Lage, die Anfragen ordnungsgemäß auszuführen und erreicht entweder das Ziel nicht oder die Antwortzeit erhöht sich, manchmal in hohem Maße.
- Der Dienstanbieter, der Proxys anbietet, ist sich möglicherweise nicht sicher, ob der Ausgangsknoten für Proxy-Betrieb verwendet werden kann, oder ob der Ausgangsknoten für Proxy-Betrieb für ein bestimmtes Ziel oder für einen bestimmten geografischen Standort verwendet werden kann. Es können Probleme entstehen, wenn Dienstanbieter nicht wissen, ob die Proxy-Geschwindigkeit des Ausgangsknotens auf ein bestimmtes Ziel oder einem konkreten geografischen Geostandort ausreichend ist.
- Um zumindest diese Probleme zu lösen, führen die hierin beschriebenen Ausführungsformen in einem Aspekt eine Überprüfung des Ausgangsknotens (eines Proxys) auf der Seite des Dienstanbieters durch. Wo Prüfungen zuvor vom Ausgangsknoten (dem Proxy) selbst durchgeführt wurden und alle Informationen über seine Verfügbarkeit im Proxy gespeichert wurden, stellen die hier vorgestellten Ausführungsformen dagegen ein Verfahren zur Durchführung von Analysen und zur Speicherung von Informationen über den Ausgangsknoten (den Proxy) an der Infrastruktur des Dienstanbieters vor, anstatt die Informationen lediglich im Proxy bereitzuhalten.
- In einem Aspekt überprüfen die vorliegenden Ausführungsformen periodisch die Ausgangsknoten (Proxys), wobei die Prüfungen vom Dienstanbieter initiiert und durchgeführt werden. Der Ausgangsknoten ist mit einem Superknoten verbunden. In einem geplanten Zeitintervall sendet ein Superknoten Benchmark-Anfragen an vordefinierte Ziele durch einen Ausgangsknoten. Beim Empfang der Antwort auf die Benchmark-Anfrage fügt der Superknoten die Benchmark-Ergebnisse (Verzögerungszeit der Anfrage, Antwort ob das Ziel erreicht wurde, usw.) zu den Metadaten des Ausgangsknotens hinzu, die in der Datenbank des Ausgangsknotens gespeichert sind.
- Wenn die Benchmark-Geschwindigkeit des Ausgangsknotens gegenüber einem bestimmten Ziel bestimmte Kriterien erfüllt, wird der Ausgangsknoten als geeignet für Proxy-Betrieb angezeigt. Er wird dann in Gruppen für beliebigen Proxy-Betrieb, Proxy-Betrieb für einen bestimmten geografischen Standort und/oder Proxy-Betrieb für ein bestimmtes Ziel gespeichert. Andernfalls wird der Ausgangsknoten nicht für beliebigen Proxy-Betrieb oder Proxy-Betrieb für einen bestimmten Standort oder ein bestimmtes Ziel verwendet. Die Lösung kann in einem Dienst des Superknotens implementiert werden, der sich auf der Seite des Dienstanbieters befindet.
- Die vorliegenden Ausführungsformen lösen zumindest einige der folgenden Probleme: 1) Erhöhen der Servicequalität für Benutzeranfragen aufgrund der Verfügbarkeit von Ausgangsknoten; 2) Auswählen geeigneter Ausgangsknoten entsprechend dem Ziel oder dem geografischen Standort der Anfrage; und/oder 3) Erhöhen der Geschwindigkeit für das Abrufen der angeforderten Daten von einem Benutzergerät.
- Figurenliste
-
-
1 ist ein Blockdiagramm einer beispielhaften Architekturdarstellung von Komponenten. -
2 ist ein beispielhaftes Ablaufdiagramm eines Tests. -
3 ist ein beispielhaftes Flussdiagramm für Scraping. -
4 ist ein beispielhaftes Computersystem, das die offengelegten Methoden ausführt. - DETAILLIERTE BESCHREIBUNG
- Einige allgemeine Beschreibungen der Terminologie können hilfreich sein und sind hier der Einfachheit halber enthalten und sind in der weitest möglichen Auslegung zu verstehen.
- Benutzergerät - wobei ein Benutzer jede Person oder ein Unternehmen sein kann, die/das Proxys anfordert und verwendet, um relevante Informationen aus dem Web zu erhalten (z. B. zum Sammeln von Informationen, Scraping von Websites usw.), ein Benutzergerät kann jedes Gerät sein, das in der Lage ist, Anfragen an den Proxy zu stellen, einschließlich jedes physische Gerät, das mit einem Netzwerk verbunden ist; dazu gehören z. B. ein Laptop, ein Mobiltelefon, ein Tablet-Computer oder jedes andere intelligente Gerät.
- Front-End-Proxy-Server oder FE-Proxy - ein Proxy, typischerweise ein Forward-Proxy oder ein Gateway, der für einen Client oder eine Gruppe von Clients eine clientseitige Schnittstelle zu den Proxy-Diensten bereitstellt. Die primäre Funktion eines Front-End-Proxy-Servers ist es, die Anfragen von einem Client oder mehreren Clients zu empfangen und die Anfrage an die Infrastruktur weiterzuleiten, die die Funktion der Übermittlung der Benutzeranfrage an das eigentliche Ziel durch den Ausgangsknoten oder mehrere Ausgangsknoten, die für die Aufgabe ausgewählt wurden, ausführt. Ein Front-End-Proxy kann Dienste zum Caching von Daten ausführen und den Client mit den in einem lokalen Cache gespeicherten Daten bedienen, falls die zwischengespeicherten Daten genau die vom Benutzer angeforderten Daten sind, um die Nutzung der Bandbreite am Ausgangsknoten zu kontrollieren.
- Superknoten - ein Rechengerät innerhalb des Relayers der Dienstanbieter-Infrastruktur für ein bestimmtes Netzwerk, das mehrere Ausgangsknoten enthält. Diese halb-verteilte Architektur ermöglicht die Dezentralisierung von Daten und reduziert so den Mehraufwand der Ausgangsknoten bei der Verarbeitung.
- Ausgangsknoten - ein Proxy, der mit einem Netzwerk verbunden ist und der verwendet wird, um das Ziel zu erreichen. Der Ausgangsknoten kann ein beliebiges Proxy-Gerät sein, das mit dem Netzwerk verbunden ist, z. B. ein Laptop, ein Mobiltelefon, ein Tablet-Computer oder ein anderes intelligentes Gerät. Ein Proxy-Dienstanbieter kann eine Vielzahl von Ausgangsknoten betreiben.
- Ziel oder Ziel-Server - ein Server, der jede Art von Inhalt bereitstellt, der über mehrere Protokolle über das Internet zugänglich ist. Ein Ziel kann z. B. eine bestimmte IP-Adresse, ein Domain-Name und/oder ein Host-Name sein, möglicherweise mit einem definierten Netzwerkprotokoll-Port, der eine Ressourcenadresse an einem entfernten System repräsentiert, das den über Industriestandardprotokolle zugänglichen Inhalt bereitstellt.
- Ausgangsknoten-Datenbank - eine Datenstruktur, z. B. eine Datenbank oder eine Datei, die Informationen über Ausgangsknoten enthält, einschließlich Attribute zur Konfiguration von Ausgangsknoten.
- Ausgangsknoten-Metadaten - Informationen über den Ausgangsknoten, einschließlich Konfigurationseinstellungen des Ausgangsknotens.
- Dienstanbieter-Infrastruktur - Infrastruktur der Partei, die den Proxy dem Kunden als Service bereitstellt. Die Dienstanbieter-Infrastruktur umfasst mindestens eines oder mehreren der folgenden Elemente: FE-Proxy-Server, Ausgangsknoten-Datenbank und Superknoten.
- Proxy-Dienstanbieter - eine Partei, die die Proxy-Funktionalität bereitstellt, die einem Kunden als Dienst geliefert wird, umfassend Proxys, die als Vermittler für Anfragen von Clients, die Ressourcen von anderen Servern suchen, fungieren und den Proxy-Verwaltungskomponenten. Eine der vielen verfügbaren Typologien für Proxy-Server ist die Art der IP-Adresse, die der Proxy verwendet, einschließlich, aber nicht beschränkt auf Proxys für Residential-IPs, Rechenzentrums-IP-Proxys und Mobile-IP-Proxys.
- Netzwerk - ein digitales Telekommunikationsnetzwerk, das es Knoten ermöglicht, Ressourcen gemeinsam zu nutzen. Beispiele für ein Netzwerk: Local-Area-Networks (LANs), Wide-Area-Networks (WANs), Campus-Area-Networks (CANs), Metropolitan-Area-Networks (MANs), Home-Area-Networks (HANs), Intranet, Extranet, Internetwork und Internet.
- In einem Aspekt stellen die vorliegenden Ausführungsformen Systeme und nicht-flüchtige computerlesbare Speichermedien zur effektiven Verwaltung von Ausgangsknoten
108 bereit, z. B. durch Verwendung vom Superknoten106 zur Untersuchung des Ausgangsknoten108 , einschließlich des Sendens und Empfangens einer Anfrage an das Ziel110 durch den getesteten Ausgangsknoten. Die Informationen über den Ausgangsknoten108 sowie die Ergebnisse des Tests werden dann in dem Superknoten106 oder mehreren Superknoten-Geräten gespeichert und in der Ausgangsknoten-Datenbank112 zusammengefasst, indem die in dem Superknoten106 enthaltenen Informationen über den Ausgangsknoten oder mehrere übermittelt werden. Gemäß den von dem Superknoten108 bereitgestellten Informationen kategorisiert die Ausgangsknoten-Datenbank112 die Proxys sentsprechend ihrer Verfügbarkeit und stellt dem Front-End-Proxy104 verfügbare Ausgangsknoten zur Verfügung, der verfügbare Ausgangsknoten anfordert, um die Anfragen des Benutzers102 zu bedienen. - In einem Aspekt beschreiben die vorliegenden Ausführungsformen ein beispielhaftes nicht-flüchtiges computerlesbares Speichermedium bzw. System, bei dem der Superknoten
106 den/die Ausgangsknoten108 prüft und Informationen über dessen/deren Verfügbarkeitsstatus und Fähigkeiten sammelt. Der Ausgangsknoten108 verbindet sich mit dem Superknoten106 und bleibt verbunden, bis der Ausgangsknoten108 getrennt wird, entweder indem er sich selbst die Verbindung trennt, oder wo der Superknoten106 die Verbindung zum Ausgangsknoten108 trennt und/oder den Ausgangsknoten108 aus der Verfügbarkeitsliste entfernt. Mehr als ein Ausgangsknoten108 kann gleichzeitig mit dem Superknoten106 verbunden sein, und mehr als ein Superknoten106 kann innerhalb der gleichen Proxy-Dienstanbieter-Infrastruktur114 arbeiten. Die Anzahl der Ausgangsknotens108 oder Superknoten106 , die in der Dienstanbieter-Infrastruktur114 eingesetzt werden, ist nicht begrenzt. Der Proxy-Dienstanbieter kann über eine unbegrenzte Anzahl von Superknoten108 verfügen, mit denen eine unbegrenzte Anzahl von Ausgangsknotens108 verbunden sein kann, auch gleichzeitig. - Definition von Benchmark-Tests werden im Allgemeinen lokal auf dem Superknoten
106 beschrieben und können in einigen Ausführungsformen eine Konfigurationsdatei oder mehrere Dateien sein, oder die Beschreibung kann insgesamt auf einer anderen Plattform platziert werden, z. B. ein Dienst eines Drittanbieters oder eine Datenspeicherplattform. Eine Definition eines Benchmark-Tests kann eine Spezifikation eines Ziels enthalten, z. B. der geografische Standort des Ziels, die Platzierung im Netzwerk, die Zugehörigkeit zu einem Land, den Typ des Kommunikationsprotokolls oder jedes andere Merkmal, das der Dienstanbieter für relevant hält. Sobald der Ausgangsknoten108 sich mit dem Superknoten106 verbindet, bildet der Superknoten106 eine Benchmark-Anfrage gemäß einer Benchmark-Testdefinition und sendet eine Benchmark-Anfrage204 an den Ausgangsknoten108 (siehe110 zu erreichen, z. B. eine IP-Adresse, einen Hostnamen, eine Protokollverbindung auf Anwendungsebene, z. B. HTTP, oder jede andere Art von Ziel110 im Netzwerk116 . Das Netzwerk116 kann ein beliebiges Computernetzwerk sein, typischerweise ist es jedoch das Internet. - In einer beispielhaften Ausführungsform werden die Benchmark-Ziele entsprechend den Ergebnissen der Analyse von Kundenanfragen dynamisch geändert, die vom Proxy-Dienstanbieter überwacht, registriert und aggregiert werden. Eine solche Analyse der Kundenanfragen kann anhand der Daten für einen bestimmten Zeitraum durchgeführt werden, um z. B. das Ziel oder die Ziele zu ermitteln, die derzeit am meisten nachgefragt werden. Die Liste der Ziele kann dann während des dynamischen Definierens der Benchmark-Anfragen gegen bestimmte Ziele verwendet werden. Die sich daraus ergebenden Antworten werden folglich für die Kategorisierung von Ausgangsknoten in Pools verwendet, die den potenziellen Zielen entsprechen.
- In mindestens einer Ausführungsform sind der Ausgangsknoten
108 , der Superknoten106 und der Front-End-Proxy104 Teile der Dienstanbieter-Infrastruktur114 . -
1 zeigt eine beispielhafte Gesamtstruktur, die ein Benutzergerät102 umfasst, das ein beliebiges Computergerät (z. B. ein Personal Computer, ein Mobiltelefon, ein Tablet-Computer) sein kann, das Zugang (z. B. eine Internetverbindung) zu einem bestimmten Netzwerk hat, eine Dienstanbieter-Infrastruktur114 , die einen Front-End-Proxy-Server104 , eine Ausgangsknoten-Datenbank112 , einen Superknoten106 und einen Ausgangsknoten108 enthält. Der Ausgangsknoten108 und das Ziel110 befinden sich im Netzwerk116 und im Allgemeinen nicht in der Dienstanbieter-Infrastruktur114 . Während die in112 mit dem Front-End-Proxy-Server104 als eine einzige Infrastrukturkomponente kombiniert 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 sollte die - Der Superknoten führt die nächsten Aktionen durch und wertet aus, ob: 1) die Antwort empfangen wurde; 2) der Ausgangsknoten verfügbar ist (online ist); 3) der Ausgangsknoten ein bestimmtes Ziel erreichen kann; 4) die Antwort schnell genug war, verglichen mit der Qualitätsschwelle, die für den Proxy-Dienstanbieter definiert wurde, um den Ausgangsknoten zu verwenden. Wenn zum Beispiel die Verzögerungszeit zum Erreichen des Ziels länger als 5 Sekunden beträgt, kann der Ausgangsknoten als nicht verfügbar markiert werden. Die erfolgreiche Auswertung der oben genannten Faktoren gibt die angemessene Leistung des Ausgangsknotens an. Entsprechend der Auswertungen sendet der Ausgangsknoten
106 alle Informationen über jeden Ausgangsknoten108 , der geprüft wurde, an die Ausgangsknoten-Datenbank112 (Schritt212 ). - In mindestens einer Ausführungsform wird/werden der/die Ausgangsknoten
108 im Rahmen der Erstregistrierung beim Dienstanbieter einem Benchmark-Test unterzogen, die Ausgangsknoten werden dann entsprechend den Ergebnissen des Benchmark-Tests in Pools oder Gruppen eingeteilt, z. B. entsprechend der aus der Antwortzeit abgeleiteten Netzwerkbandbreite. - Solange der/die Ausgangsknoten
108 Anfragen adäquat bedient/bedienen, werden typischerweise keine weiteren Benchmark-Tests gegen den/die Ausgangsknoten108 durchgeführt. Sobald jedoch die von einem Ausgangsknoten108 gelieferten Antworten darauf hindeuten, dass der Ausgangsknoten108 nicht korrekt arbeitet, wird der Ausgangsknoten vorübergehend aus dem Umlauf entfernt, d. h. es werden keine Kundenanfragen an diesen Ausgangsknoten108 gesendet. Mögliche Anzeichen für eine fehlerhafte Antwort können in einem Beispiel eine drastische Reduzierung der Größe einer typischen Antwort zeigen, z. B. 400 KByte reduziert auf 50 KByte, was darauf hinweisen könnte, dass die Antwort keine geeigneten Daten enthält und stattdessen die Fehlermeldung, z. B. gekennzeichnet durch den HTTP-Fehlercode 4(xx)-Gruppe, vom Ziel geliefert wird. - Ein/Mehrere entfernte(r) Ausgangsknoten
108 kann/können anschließend nach einem vorkonfigurierten Zeitplan oder nach Ablauf einer voreingestellten Timeout-Zeit weiteren Benchmark-Tests unterzogen werden. Entspricht die Antwort auf einen nachfolgenden oder weiteren Benchmark-Test den Kriterien einer adäquaten Antwort, wird/werden der/die Ausgangsknoten108 wieder in den Umlauf gebracht. Andernfalls bleibt der Ausgangsknoten außer Betrieb und kann wiederholten Benchmark-Tests unterzogen werden, die eine/mehrere erhöhte oder variierte Zeitspanne(n) zwischen solchen Tests beinhalten können. - In einem Aspekt stellt der Prozess oder die Abfolge von Benchmark-Tests eine zielgerichtete Nutzung sicher, d. h. die gesamte Population von Ausgangsknoten wird nicht einer weitreichenden Netzwerkverbindungs- und Verarbeitungslast ausgesetzt, wodurch die Ressourcen der Infrastruktur des Dienstanbieters geschont werden. Ordnungsgemäß arbeitende Ausgangsknoten werden nicht mit Benchmark-Anfragen überlastet, sondern die volle Kapazität des/der Ausgangsknoten(s) 108 zur Bedienung der Anfragen der Service-Benutzer wird verwendet.
- Nachdem der/die Ausgangsknoten
108 erfolgreich in der Ausgangsknoten-Datenbank112 registriert wurde(n), stellt die Ausgangsknoten-Datenbank112 dem Front-End-Proxy-Server104 den verfügbaren Ausgangsknoten108 zur Verfügung. Nur Ausgangsknoten108 , die von dem Superknoten106 geprüft und als einsatzbereit befunden wurden, werden dem Front-End-Proxy-Server104 zur Verfügung gestellt. Sobald das Benutzergerät102 eine Anfrage an den Front-End-Proxy104 stellt (Schritt218 ), wählt der Front-End-Proxy-Server104 den Ausgangsknoten108 aus der Liste der verfügbaren Ausgangsknoten108 in der Ausgangsknoten-Datenbank112 aus und stellt dem Benutzergerät102 den oder die besten Ausgangsknoten108 (Schritt220 ) zur weiteren Bearbeitung der Anfragen des Benutzergeräts102 bereit. Auf diese Weise erhält das Benutzergerät102 die besten Ergebnisse für seine weiteren Data-Scraping-Anfragen. -
2 zeigt ein Flussdiagramm, das einen beispielhaften Ablauf der Informationsübertragung zwischen Elementen und beispielhafte Funktionen, die die Elemente ausführen, darstellt. Der Ausgangsknoten108 stellt eine Verbindung zu dem Superknoten106 her, um sich bei dem Superknoten106 zu registrieren (Schritt202 ). Der Superknoten106 sendet als nächstes eine Benchmark-Anfrage an den Ausgangsknoten108 (Schritt204 ). Der Ausgangsknoten108 stellt eine Verbindung zu einem Ziel her und führt eine Anfrage aus (Schritt206 ). Dann leitet der Ausgangsknoten108 eine Antwort auf die Anfrage an den Superknoten106 weiter (Schritt208 ). Der Superknoten106 misst die vom Ausgangsknoten108 bereitgestellten Informationen (Schritt210 ). Der Superknoten106 wertet aus, ob: 1) die Antwort empfangen wurde; 2) der Ausgangsknoten108 verfügbar ist (online ist); 3) der Ausgangsknoten108 ein bestimmtes Ziel erreichen kann; 4) die Antwort schnell genug war, um den Ausgangsknoten108 zu benutzen. Wenn zum Beispiel die Verzögerungszeit zum Erreichen des Ziels länger als 5 Sekunden ist, kann der Ausgangsknoten108 als nicht verfügbar markiert werden. Basierend auf den Informationen, die der Ausgangsknoten108 liefert, sendet der Superknoten106 die Informationen über den Ausgangsknoten108 an die Ausgangsknoten-Datenbank112 (Schritt212 ). In der Ausgangsknoten-Datenbank112 werden die Ausgangsknoten108 gruppiert, z. B. als Ausgangsknoten, die zur Verfügung stehen, und Ausgangsknotens108 , die nicht zur Verfügung stehen, indem sie in die entsprechenden Ausgangsknoten-Pools oder -Gruppen innerhalb der Ausgangsknoten-Datenbank eingeordnet werden. Der/die Ausgangsknoten108 kann/können auch nach Kategorien von einem/mehreren Ausgangsknoten108 gruppiert werden, die verwendet werden, um bestimmte Ziele zu erreichen (z. B. konkrete Märkte, Kanäle, http-Links) oder um bestimmte geografische Standorte zu erreichen (z. B. die USA, Deutschland, Australien), oder in andere Gruppierungen. - Diese Schritte der Messung des/der Ausgangsknoten
108 können in jedem/jeden relevanten oder geplanten Zeitintervall(en) durchgeführt werden, z. B. kann das Zeitintervall sekündlich bis zu einigen Minuten eingestellt werden. Diese(s) Zeitintervall(e) hängen von der Anzahl der mit dem Superknoten106 verbundenen Ausgangsknoten108 ab, wenn z. B. mehr Ausgangsknoten108 angeschlossen sind, wird mehr Zeit für den Superknoten106 benötigt, um Benchmark-Anfragen an jeden Ausgangsknoten108 zu senden. Wenn weniger Ausgangsknoten108 an einen bestimmten Superknoten106 angeschlossen sind, kann der Superknoten106 Benchmark-Anfragen häufiger senden. Der Status des/der Ausgangsknoten108 kann sich schnell ändern, z. B. wenn ein Gerät, das als Ausgangsknoten108 arbeitet, ausgeschaltet wird, die Internetverbindung verliert, seine Verbindung zu einer bestimmten Tageszeit überlastet ist, was zu einer Verzögerung der Antwortzeit führt, oder aufgrund eines allgemeinen Anstiegs der Netzwerkbandbreitennutzung bei einem bestimmten Anbieter. Beispielsweise muss ein Kanal mit einer bestimmten Anzahl von Bits pro Sekunde (BPS) nicht notwendigerweise Daten mit einer bestimmten Rate übertragen, da Protokolle, Verschlüsselung und/oder andere Faktoren einen beträchtlichen Overhead hinzufügen können. Beispielsweise verwendet ein großer Teil des Internet-Verkehrs das Transmission Control Protocol (TCP), das für jede Transaktion einen Drei-Wege-Handschlag erfordert. Obwohl das Protokoll in vielen modernen Implementierungen effizient ist, kann TCP im Vergleich zu anderen Protokollen einen erheblichen Overhead verursachen. Außerdem können Datenpakete verloren gehen und müssen erneut gesendet werden, was den Nutzdatendurchsatz weiter verringert. -
104 empfängt eine Anfrage für einen Proxy von einem Benutzergerät102 (Schritt302 ), wobei die Anfrage die notwendigen Attribute enthält, die das Benutzergerät102 benötigt. Dann formt der Front-End-Proxy-Server104 eine Anfrage für den oder mehrere Ausgangsknoten, der/die den Anforderungen des Benutzergeräts102 entspricht/entsprechen, und übermittelt die Anfrage an die Ausgangsknoten-Datenbank112 (Schritt304 ). Die Ausgangsknoten-Datenbank112 bildet die Liste der Ausgangsknoten, die den Anforderungen entsprechen, sammelt die Ausgangsknoten-Metadaten (Schritt306 ) und sendet die Ausgangsknoten-Metadaten an den Front-End-Proxy-Server104 (Schritt308 ). Der Front-End-Proxy-Server104 sendet als nächstes die Anfrage der Daten an den Superknoten106 (Schritt310 ). Nach Erhalt der Anfrage leitet der Superknoten106 die Anfrage der Daten an den Ausgangsknoten108 weiter (Schritt312 ). Der Ausgangsknoten108 führt die Anfrage aus und erhält Daten vom angegebenen Ziel (Schritt314 ). Nachdem er die Daten erhalten hat, leitet der Ausgangsknoten108 die Daten an den Superknoten weiter (Schritt316 ). Sobald der Superknoten106 die Daten vom Ausgangsknoten108 erhält, sammelt der Superknoten106 auch qualitative Informationen über den Ausgangsknoten, der diese bestimmte Anfrage bedient. Wenn der Ausgangsknoten eine angemessene Leistung erbringt, die den durch die Konfigurationseinstellungen des Proxy-Dienstes konfigurierten Schwellenwerten entspricht (z. B. Antwortzeit kleiner oder gleich 5 Sekunden, HTTP-Response-Code 2xx), wird der Ausgangsknoten108 als geeignet für die Verwendung markiert. Eine rechtzeitige Antwort und der HTTP-Response-Code (z. B. 2xx) stellen eine ausreichende Leistung dar. Andernfalls wird der Ausgangsknoten108 für eine Benchmark-Testung bestätigt. Die statistischen Informationen über die Qualität der Arbeitsweise des Ausgangsknotens108 wird in der Ausgangsknoten-Datenbank112 gespeichert. Im nächsten Schritt leitet der Superknoten106 die vom Ziel erhaltenen Daten an den Front-End-Proxy-Server104 weiter (318). Der Front-End-Proxy-Server104 leitet die vom Ziel erhaltenen Daten an das Benutzergerät102 weiter (Schritt320 ). - Als ein weiteres Beispiel könnte das Benutzergerät
102 eine zweite Anfrage an den Front-End-Proxy-Server104 senden. Die zweite Anfrage kann sich hinsichtlich des Ziels von der ersten Anfrage unterscheiden, z. B. kann sich die zweite Anfrage auf ein bestimmtes Land beziehen. Bei der zweiten Anfrage stellt der Front-End-Proxy-Server104 dem Benutzergerät102 den zweiten Ausgangsknoten108 aus den am besten geeigneten Ausgangsknoten108 zur Verfügung, die in der Ausgangsknoten-Datenbank112 gespeichert sind. Als Beispiel könnte ein Benutzergerät102 in einer ersten Anfrage nach einem Ausgangsknoten fragen, um ein Ziel zu erreichen (z. B. www.e-shop.com). Für die erste Anfrage stellt der Front-End-Proxy-Server104 dem Benutzergerät102 den Ausgangsknoten „A“ zur Verfügung, der am besten geeignet ist, um einen speziell angegebenen Markt zu erreichen. Für eine zweite Anfrage könnte das Benutzergerät102 nach einem Ausgangsknoten fragen, der in den USA operiert (z. B. mit einer US-IP-Adresse). Für die zweite Anfrage stellt der Front-End-Proxy-Server104 dem Benutzergerät102 einen zweiten Ausgangsknoten zur Verfügung, der den Anforderungen des Benutzergeräts102 entspricht (z. B. einen Ausgangsknoten, der in den USA registriert ist). Wenn der Ausgangsknoten, mit dem die erste Anforderung ausgeführt wurde, jedoch auch den Anforderungen der zweiten Anforderung entspricht, könnte derselbe Ausgangsknoten zweimal verwendet werden. - Die verschiedenen hier beschriebenen Ausführungsformen sehen die Überprüfung von Ausgangsknoten auf der Seite der Superknoten anstelle der Ausgangsknoten vor, in mindestens einem Aspekt um Unzulänglichkeiten möglicher Ausfälle von Ausgangsknoten anzugehen. Die Überprüfung der Ausgangsknoten basiert auf dynamischen Updates, die vom Ausgangsknoten selbst unter Verwendung verschiedener Ziele empfangen werden, und nicht nur auf den vom Ausgangsknoten bereitgestellten Informationen. Die Systeme bzw. nicht-flüchtigen computerlesbaren Speichermedien der hierin beschriebenen beispielhaften Ausführungsformen ermöglichen es, dem Benutzer nur aktive und einsatzbereite Ausgangsknoten zur Verfügung zu stellen, um eine Anfrage durchzuführen.
- Jede der obigen Ausführungsformen hierin kann neu gestaltet und/oder mit anderen Ausführungsformen kombiniert werden. Dementsprechend sind die hierin enthaltenen Konzepte nicht auf eine bestimmte, hier offengelegte Ausführungsform zu beschränken. Außerdem können die Ausführungsformen vollständig aus Hardware bestehen oder sowohl Hardware- als auch Software-Elemente umfassen. Teile der Ausführungsformen können in Software implementiert sein, was Firmware, speicherresidente Software, Mikrocode usw. einschließt, aber nicht darauf beschränkt ist.
4 zeigt ein Computersystem400 , in dem ein computerlesbares Medium406 Anweisungen zur Durchführung der hierin offenbarten Verfahren bereitstellen kann. - Darüber hinaus können die Ausführungsformen die Form eines Computerprogrammprodukts annehmen, auf das von dem computerlesbaren Medium
406 zugegriffen werden kann, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen System zur Ausführung von Befehlen bereitstellt. Für die Zwecke dieser Beschreibung kann das computerlesbare Medium406 jede Vorrichtung sein, die das Programm zur Verwendung durch oder in Verbindung mit dem System, dem Gerät oder der Vorrichtung zur Ausführung von Befehlen, einschließlich des Computersystems400 , materiell speichern kann. - Das Medium
406 kann ein beliebiges materielles elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (oder -gerät oder -vorrichtung) sein. Beispiele für ein computerlesbares Medium406 umfassen einen Halbleiter- oder Solid-State-Speicher, ein Magnetband, eine herausnehmbare Computerdiskette, einen Direktzugriffsspeicher (RAM), einen NAND-Flash-Speicher, ein Read-Only-Memory (ROM), eine starre Magnetplatte und eine optische Platte. Einige Beispiele für optische Platten sind Compact Disk - Read-Only-Memory (CD-ROM), Compact Disk - Read-Write (CD-R/W) und Digital Versatile Disc (DVD). - Das Computersystem
400 , das zum Speichern und/oder Ausführen von Programmcode geeignet ist, kann einen oder mehrere Prozessoren402 enthalten, die direkt oder indirekt über einen Systembus410 mit dem Speicher408 verbunden sind. Der Speicher408 kann einen lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cache-Speicher umfassen, die eine temporäre Speicherung von zumindest einem Teil des Programmcodes bereitstellen, um die Anzahl der Abrufe von Code aus dem Massenspeicher während der Ausführung zu reduzieren. Eingabe-/Ausgabe- oder E/A-Geräte 404 (einschließlich aber nicht beschränkt auf Tastaturen, Displays, Zeigegeräte usw.) können entweder direkt oder über zwischengeschaltete E/A-Controller mit dem System gekoppelt werden. Netzwerkadapter können auch mit dem System gekoppelt werden, damit das Computersystem400 mit anderen Datenverarbeitungssystemen verbunden werden kann, z. B. über Host-System-Schnittstellen412 , oder mit entfernten Druckern oder Speichergeräten über dazwischenliegende private oder öffentliche Netzwerke. Modems, Kabelmodems und Ethernet-Karten sind nur einige der derzeit verfügbaren Arten von Netzwerkadaptern. - 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 Lehre einbezogen werden. Der Nutzen, die Vorteile, die Problemlösungen und jedes Element, das dazu führen kann, dass ein Nutzen, ein Vorteil oder eine Lösung auftritt oder ausgeprägter wird, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente eines oder aller Ansprüche zu verstehen. Die Erfindung wird ausschließlich durch die beigefügten Ansprüche definiert, einschließlich aller Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden, und alle Äquivalente dieser Ansprüche in der erteilten Fassung.
- Darüber hinaus können in diesem Dokument relationale Begriffe wie „erstens“ und „zweitens“ und dergleichen nur verwendet werden, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen diesen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Begriffe „umfassend“, „bestehend aus“, „hat“, „mit“, „beinhaltet“, „einschließlich“, „enthält“, „enthaltend“ oder eine andere Abwandlung davon sollen eine nicht-ausschließliche Einbeziehung abdecken, so dass ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, hat, einschließt, 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, Gegenstand oder einer solchen Vorrichtung gehören. Ein Element, dem „umfasst ...“, „hat ...“, „beinhaltet ...“, „enthält ...“ 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, beinhaltet und/oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind 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 in der Nähe liegend“, 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, was jedoch den Umfang der Offenbarung nicht einschränkt, und dieselbe Lehre kann für mehrere Objekte gelten, selbst wenn in der vorliegenden Anwendung ein Objekt in seiner Singularform bezeichnet wird.
- Es wird wahrgenommen, dass einige Ausführungsformen die Verwendung einer oder mehrerer generischer oder spezialisierter Datenbanken (wie z. B. „Ausgangsknoten-Datenbank“ oder ähnlich) beschreiben, die eine Sammlung von Informationen enthält, die so organisiert ist, dass sie leicht zugänglich, verwaltet und aktualisiert werden kann. Computerdatenbanken enthalten typischerweise Ansammlungen von Datensätzen oder Dateien, im vorliegenden Fall speichern Datenbanken üblicherweise verschiedene Informationen und Statistiken über die Proxys oder Ausgangsknoten, Informationen über die Auslastungsschwelle des Ausgangsknoten-Anbieters. Solche Datenbanken können auch Informationen über die Clients, die durchgeführten Anfragen, die verwendeten Netzwerke, die verwendeten Proxys, die Arten der angeforderten Proxys und ähnliche Daten enthalten. Datenbanken sind so strukturiert, dass sie das Speichern, Abrufen, Ändern und Löschen von Daten in Verbindung mit verschiedenen Datenverarbeitungsvorgängen ermöglichen.
- Die Offenbarung wird zur Verfügung gestellt, damit sich der Leser schnell ein Bild von der Art der technischen Offenbarung machen kann. Sie wird mit der Maßgabe 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 Offenbarung ist nicht so zu verstehen, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als in den einzelnen Ansprüchen ausdrücklich angegeben sind. Vielmehr liegt der Erfindungsgegenstand, wie die folgenden Ansprüche zeigen, in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform. Daher werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung aufgenommen, wobei jeder Anspruch für sich als separat beanspruchter Gegenstand steht.
- Somit offenbart diese Anmeldung ein computerimplementiertes Verfahren zum Überprüfen von Fähigkeiten und der Verfügbarkeit von Proxy-Servern, das mindestens die folgenden Schritte umfasst:
- Verbinden mit einem Superknoten durch einen Ausgangsknoten;
- Senden einer Benchmark-Anfrage durch den Superknoten an den Ausgangsknoten;
- Umsetzen der Benchmark-Anfrage durch den Ausgangsknoten;
- Senden einer Antwort auf die Benchmark-Anfrage durch den Ausgangsknoten an den Superknoten;
- Messen einer Antwortqualität eines Ausgangsknotens durch den Superknoten;
- Speichern von Metadaten des Ausgangsknotens, zusammen mit den Messungen der Antwortqualität in der Ausgangsknoten-Datenbank durch einen Superknoten.
- Die angegebenen Benchmark-Ziele werden dynamisch entsprechend den Ergebnissen der Analyse einer Kundenanfrage geändert, wie sie von einer Dienstanbieter-Infrastruktur überwacht, registriert und aggregiert werden.
- Das Benchmark-Anfrageziel ist eine Ressource, die als IP-Adresse oder URL/URI an den Ausgangsknoten übermittelt wird. Die Messung der Antwort des Ausgangsknotens erkennt, ob der Ausgangsknoten als geeignet für Proxy-Betrieb oder nicht geeignet für Proxy-Betrieb angezeigt werden kann. Der Ausgangsknoten, der als geeignet für Proxy-Betrieb angezeigt wird, kann in Ausgangsknoten-Gruppen gespeichert werden, die als beliebiger Proxy-Betrieb, Proxy-Betrieb für einen bestimmten Geo-Standort, Proxy-Betrieb für ein bestimmtes Ziel oder eine beliebige Kombination davon kategorisiert werden.
- Die Antwort des Ausgangsknotens, die von der Durchführung einer Benchmark-Anfrage durch diesen Ausgangsknoten empfangen wurde, wird im Superknoten gespeichert.
- Die Anzahl der gleichzeitig mit dem Superknoten verbundenen Ausgangsknoten ist unbegrenzt.
- Die Benchmark-Anfrage wird auf den Ausgangsknoten während der anfänglichen Registrierung des Ausgangsknotens bei der Dienstanbieter-Infrastruktur angewendet oder wird auf einen Ausgangsknoten angewendet, der zuvor registriert und in der Ausgangsknoten-Datenbank gespeichert wurde und eine unzureichende Leistung bezüglich den bei der Dienstanbieter-Infrastruktur konfigurierten Schwellenwerten aufweist.
- Die aktuellen Ausführungsformen offenbaren ein System zur Überprüfung der Verfügbarkeit von Proxy-Servern, das mindestens umfasst:
- eine Dienstanbieter-Infrastruktur, bestehend aus:
- einen Front-End-Proxy-Server,
- eine Ausgangsknoten-Datenbank,
- einen Superknoten; und,
- einen Ausgangsknoten.
- Die Verfügbarkeit des Ausgangsknotens wird bewertet, indem eine Benchmark-Test-Anfrage an Ziele durch den getesteten Ausgangsknoten initiiert wird, wobei die Ziele dynamisch entsprechend den Ergebnissen der Analyse einer vorherigen Kundenanfrage, die von der Infrastruktur des Dienstanbieters registriert wurde, geändert werden.
- Der Ausgangsknoten wird in der Ausgangsknoten-Datenbank als geeignet für beliebigen Proxy-Betrieb, Proxy-Betrieb für einen bestimmten Geo-Standort, Proxy-Betrieb für ein bestimmtes Ziel oder ungeeignet für Proxy-Betrieb registriert. Die Ausgangsknoten-Datenbank speichert eine Antwort des Ausgangsknotens aus einer Benchmark-Anfrage sowie die Ergebnisse der vorherigen Anfrage des Kunden.
- Der Superknoten verwendet Benchmark-Anfragen an den Ausgangsknoten während des initialen Registrierungsprozesses oder an einen Ausgangsknoten, der zuvor registriert und in der Ausgangsknoten-Datenbank gespeichert wurde und eine unzureichende Leistung bezüglich der Schwellenwerte, die an der Dienstanbieter-Infrastruktur festgelegt wurden, aufweist.
- Die vorliegenden Ausführungsformen präsentieren ein nicht-flüchtiges, computerlesbares Medium zur Überprüfung der Verfügbarkeit von Proxy-Servern, die Anweisungen enthalten, die bei Ausführung durch ein Rechengerät innerhalb der Dienstanbieter-Infrastruktur, das entsprechende Rechengerät veranlassen zu:
- Akzeptieren, einer Verbindung von einem Ausgangsknoten durch einen Superknoten;
- Senden einer Benchmark-Anfrage an den Ausgangsknoten durch einen Superknoten;
- Akzeptieren, einer Antwort auf die Benchmark-Anfrage vom Ausgangsknoten durch den Superknoten;
- Messen, der Antwortqualität des Ausgangsknotens durch den Superknoten;
- Speichern von Ausgangsknoten-Metadaten zusammen mit den Messungen der Antwortqualität in der Ausgangsknoten-Datenbank durch den Superknoten;
- Vergleichen der Qualitätsmessungen der Benchmark-Anfrage mit den konfigurierten Qualitätsschwellenwerten durch die Ausgangsknoten-Datenbank;
- Einordnen des Ausgangsknotens in eine entsprechende Gruppe, basierend auf den Ausgangsknoten-Metadaten und einer Qualität der vom Ausgangsknoten gelieferten Antwort durch die Ausgangsknoten-Datenbank; Bereitstellen des Ausgangsknotens, der in der Ausgangsknoten-Datenbank registriert ist, an das Benutzergerät durch den Front-End-Proxy-Server.
- Das nicht-flüchtige computerlesbare Medium wird durch Benchmark-Ziele beschrieben, die dynamisch entsprechend den Ergebnissen der Analyse von einer Kundenanfrage, wie sie von einem Proxy-Dienstanbieter überwacht, registriert und aggregiert wird, geändert werden. Die Benchmark-Anfrage wird gegen ein bestimmtes ausgewähltes Ziel, einen geografischen Standort, eine IP-Adresse oder einen HTTP-Link in einem Netzwerk durchgeführt.
- Der für den Proxy-Betrieb geeignete Ausgangsknoten wird in der Ausgangsknoten-Datenbank gespeichert kategorisiert als vorgesehen für beliebigen Proxy-Betrieb, Proxy-Betrieb für einen bestimmten geografischen Standort oder Proxy-Betrieb für ein bestimmtes Ziel, oder eine beliebige Kombination davon, oder als nicht geeignet für den Proxy-Betrieb.
- Die Benchmark-Anfrage wird auf den Ausgangsknoten während der initialen Registrierung bei einem Proxy-Dienstanbieter angewendet oder wird auf einen bereits im Proxy-Pool gespeicherten Ausgangsknoten angewendet, dessen Antwortmessungen markiert sind als weniger als die in der Dienstanbieter-Infrastruktur konfigurierten Schwellenwerte.
Claims (22)
- System zur Überprüfung der Verfügbarkeit von Proxy-Servern, umfassend: einen Superknoten (106), der so konfiguriert ist, dass er einen der folgenden Schritte oder eine Kombination davon ausführt: - Akzeptieren einer Verbindung von einem Ausgangsknoten (108); - Senden einer Benchmark-Anfrage an den Ausgangsknoten (108); - Messen einer Antwortqualität des Ausgangsknotens; - Speichern von Ausgangsknoten-Metadaten zusammen mit Messungen der Antwortqualität in der Ausgangsknoten-Datenbank (112); - Identifizieren durch die Messung der Antwort des Ausgangsknotens, ob der Ausgangsknoten (108) als für Proxy-Betrieb geeignet oder nicht geeignet für Proxy-Betrieb angezeigt werden kann; eine Dienstanbieter-Infrastruktur (114), die so konfiguriert ist, dass sie Benchmark-Ziele dynamisch entsprechend Ergebnissen einer Analyse einer überwachten, registrierten und aggregierten Kundenanfrage ändert.
- System nach
Anspruch 1 , wobei das Ziel der Benchmark-Anfrage eine Ressource ist, die als IP-Adresse oder URL/URI an den Ausgangsknoten (108) übermittelt wird. - System nach
Anspruch 1 oder2 , wobei die Ausgangsknoten-Datenbank (112) so konfiguriert ist, dass sie die Ausgangsknoten (108), die als geeignet für Proxy-Betrieb angezeigt werden, in Ausgangsknoten-Gruppen speichert, die kategorisiert sind als beliebiger Proxy-Betrieb, Proxy-Betrieb von Anfragen an einen bestimmten geografischen Standort, Proxy-Betrieb von Anfragen an ein bestimmtes Ziel, oder eine beliebige Kombination davon. - System nach einem der
Ansprüche 1 bis3 , wobei der Superknoten (106) so konfiguriert ist, dass er die Antwort des Ausgangsknotens (108) speichert. - System nach einem der
Ansprüche 1 bis4 , wobei der Superknoten (106) in der Lage ist, eine unbegrenzte Anzahl von Verbindungen der Ausgangsknoten (108) gleichzeitig zu akzeptieren. - System nach einem der
Ansprüche 1 bis5 , wobei der Superknoten (106) so konfiguriert ist, dass er Benchmark-Anfragen an den Ausgangsknoten (108) während des initialen Verbindungsprozesses oder an einen Ausgangsknoten (108) richtet, der zuvor mit dem Superknoten (106) verbunden war und eine unzureichende Leistung bezüglich Schwellenwerten aufweist, die in der Dienstanbieter-Infrastruktur (114) konfiguriert sind. - System nach einem der vorhergehenden Ansprüche, wobei der Superknoten (106) so konfiguriert ist, dass er eine ausreichende Leistung des Ausgangsknotens durch Auswertung der folgenden Faktoren bewertet: a) ob die Antwort empfangen wurde; b) ob der Ausgangsknoten (108) verfügbar ist (online ist); c) ob der Ausgangsknoten (108) in der Lage ist, ein bestimmtes Ziel (110) zu erreichen; d) ob die Antwort schnell genug war, verglichen mit der Qualitätsschwelle, die für den Proxy-Dienstanbieter (114) definiert wurde, um den Ausgangsknoten (108) zu verwenden.
- System nach
Anspruch 7 , wobei der Superknoten (106) so konfiguriert ist, dass er den Ausgangsknoten (108) als nicht verfügbar markiert, wenn die Verzögerungszeit zum Erreichen des Ziels (110) länger als 5 Sekunden ist. - System nach
Anspruch 7 oder8 , wobei der Superknoten (106) so konfiguriert ist, dass er eine Antwort als fehlerhaft bewertet, indem er die Größe einer Antwort vom Ziel (110) reduziert, z. B. 400 KByte auf 50 KByte reduziert, was anzeigt, dass die Antwort keine geeigneten Daten enthält. - System nach einem der vorhergehenden Ansprüche, wobei der Superknoten (106) so konfiguriert ist, dass er die Antwortqualität des Ausgangsknotens in einem beliebigen relevanten oder geplanten Zeitintervall bzw. Zeitintervallen misst.
- System nach
Anspruch 10 , wobei der Superknoten (106) so konfiguriert ist, dass er das/die Zeitintervall(e) von sekündlich bis zu einigen Minuten einstellt. - System nach
Anspruch 10 oder11 , wobei das Zeitintervall bzw. die Zeitintervalle von der Anzahl der mit dem Superknoten (106) verbundenen Ausgangsknoten (108) abhängt bzw. abhängen; insbesondere wenn mehr Ausgangsknoten (108) verbunden sind, wird mehr Zeit für den Superknoten (106) benötigt, um Benchmark-Anfragen an jeden Ausgangsknoten (108) zu senden, oder wenn weniger Ausgangsknoten (108) an einen bestimmten Superknoten (106) angeschlossen sind, ist der Superknoten (106) in der Lage, Benchmark-Anfragen häufiger zu senden. - System zur Überprüfung der Verfügbarkeit von Proxy-Servern, mindestens umfassend: eine Dienstanbieter-Infrastruktur (114), umfassend: einem Front-End-Proxy-Server (104), eine Ausgangsknoten-Datenbank (112), einen Superknoten (106); wobei das System so konfiguriert ist, dass es die Verfügbarkeit eines Ausgangsknotens (108) auswertet, indem es eine Benchmark-Test-Anfrage an Ziele durch den getesteten Ausgangsknoten (108) initiiert, wobei die Ziele dynamisch gemäß den Ergebnissen einer Analyse einer vorherigen Kundenanfrage, wie sie von der Dienstanbieter-Infrastruktur (114) registriert wurde, geändert werden.
- System nach
Anspruch 1 oder13 , wobei der Ausgangsknoten (108) so konfiguriert ist, dass er in der Ausgangsknoten-Datenbank (112) registriert wird als geeignet für beliebigen Proxy-Betrieb, Proxy-Betrieb von Anfragen an einen bestimmten geografischen Standort, Proxy-Betrieb von Anfragen an ein bestimmtes Ziel, eine beliebige Kombination davon, oder nicht geeignet für Proxy-Betrieb. - System nach
Anspruch 1 oder13 , wobei der Ausgangsknoten (108) so konfiguriert ist, dass er in der Ausgangsknoten-Datenbank (112) als geeignet oder nicht geeignet für Proxy-Betrieb registriert wird. - System nach einem der
Ansprüche 12 bis15 , wobei die Ausgangsknoten-Datenbank (112) so konfiguriert ist, dass sie eine Antwort des Ausgangsknotens aus einer Benchmark-Anfrage sowie Ergebnisse einer vorherigen Anfrage eines Kunden speichert. - System nach einem der
Ansprüche 13 bis16 , wobei der Superknoten (106) so konfiguriert ist, dass er Benchmark-Anfragen an den Ausgangsknoten (108) während des initialen Registrierungsprozesses oder an einen Ausgangsknoten (108) richtet, der zuvor registriert und in der Ausgangsknoten-Datenbank (112) gespeichert wurde und eine unzureichende Leistung bezüglich Schwellenwerten aufweist, die in der Dienstanbieter-Infrastruktur (114) konfiguriert sind. - Nicht-flüchtiges computerlesbares Medium zum Prüfen der Verfügbarkeit von Proxy-Servern, das Anweisungen umfasst, die, wenn sie von einer Rechenvorrichtung innerhalb einer Dienstanbieter-Infrastruktur (114) ausgeführt werden, die entsprechende Rechenvorrichtung veranlassen zum: Akzeptieren einer Verbindung von einem Ausgangsknoten (108) durch einen Superknoten (106); Senden einer Benchmark-Anfrage an den Ausgangsknoten (108) durch einen Superknoten (106); Akzeptieren einer Antwort auf die Benchmark-Anfrage vom Ausgangsknoten (108) durch einen Superknoten (106); Messen, der Antwortqualität des Ausgangsknotens durch den Superknoten (106); Speichern von Ausgangsknoten-Metadaten zusammen mit den Messungen der Antwortqualität in der Ausgangsknoten-Datenbank (112) durch einen Superknoten (106); Vergleichen der Qualitätsmessungen der Benchmark-Antwort mit den konfigurierten Qualitätsschwellenwerten durch die Ausgangsknoten-Datenbank (112); Einordnen des Ausgangsknotens (108) in eine entsprechende Gruppe, basierend auf den Ausgangsknoten-Metadaten und einer Qualität der vom Ausgangsknoten (108) gelieferten Antwort durch die Ausgangsknoten-Datenbank (112); Bereitstellen des in der Ausgangsknoten-Datenbank (112) registrierten Ausgangsknotens (108) an ein Benutzergerät (102) durch den Front-End-Proxy-Server (104); wobei Benchmark-Ziele dynamisch entsprechend Ergebnissen einer Analyse einer Kundenanfrage, wie sie von einer Dienstanbieter-Infrastruktur (114) überwacht, registriert und aggregiert wird, geändert werden.
- Nicht- flüchtiges computerlesbares Medium nach
Anspruch 18 , wobei das Ziel der Benchmark-Anfrage eine Ressource ist, die an den Ausgangsknoten (108) als IP-Adresse oder URL/URI übermittelt wird; wobei die Messung der Antwort des Ausgangsknotens (108) identifiziert, ob der Ausgangsknoten (108) als geeignet für Proxy-Betrieb oder nicht geeignet für Proxy-Betrieb angezeigt werden kann. - Nicht- flüchtiges computerlesbares Medium nach
Anspruch 18 oder19 , wobei die Benchmark-Anfrage gegen ein bestimmtes ausgewähltes Ziel (110), einen geografischen Standort, eine IP-Adresse oder einen HTTP-Link durchgeführt wird. - Nicht- flüchtiges computerlesbares Medium nach einem der
Ansprüche 18 bis20 , wobei der zum Proxy-Betrieb geeignete Ausgangsknoten (108) kategorisiert ist als vorgesehen für beliebigen Proxy-Betrieb, oder Proxy-Betrieb für einen bestimmten geografischen Standort, Proxy-Betrieb von Anfragen an ein bestimmtes Ziel (110), oder eine beliebige Kombination davon. - Nicht- flüchtiges computerlesbares Medium nach einem der
Ansprüche 18 bis21 , wobei die Benchmark-Anfrage an den Ausgangsknoten (108) während der initialen Registrierung beim Proxy-Dienstanbieter gerichtet wird oder an einen bereits im Proxy-Pool gespeicherten Ausgangsknoten (108) gerichtet wird, dessen Antwortmessungen markiert sind als kleiner als die in der Dienstanbieter-Infrastruktur (114) konfigurierten Schwellenwerte.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/912,053 US10873647B1 (en) | 2020-06-25 | 2020-06-25 | Exit node benchmark feature |
US16/912,053 | 2020-06-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE202021103602U1 true DE202021103602U1 (de) | 2021-08-20 |
Family
ID=73823667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE202021103602.8U Active DE202021103602U1 (de) | 2020-06-25 | 2021-04-09 | Benchmark-Funktion für Ausgangsknoten |
Country Status (8)
Country | Link |
---|---|
US (5) | US10873647B1 (de) |
EP (1) | EP3957031A1 (de) |
CN (1) | CN115443639B (de) |
CA (1) | CA3173869A1 (de) |
DE (1) | DE202021103602U1 (de) |
IL (1) | IL298349A (de) |
MX (1) | MX2022016173A (de) |
WO (1) | WO2021260446A1 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709020B (zh) * | 2020-05-20 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 消息发送方法、消息接收方法、装置、设备及介质 |
US11637812B2 (en) * | 2020-10-13 | 2023-04-25 | Microsoft Technology Licensing, Llc | Dynamic forward proxy chaining |
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 |
US20230030168A1 (en) * | 2021-07-27 | 2023-02-02 | Dell Products L.P. | Protection of i/o paths against network partitioning and component failures in nvme-of environments |
US11601518B1 (en) * | 2022-02-09 | 2023-03-07 | Coretech LT, UAB | Managed exit nodes and third party proxies |
US11652697B1 (en) * | 2022-03-29 | 2023-05-16 | Oxylabs, Uab | Transmitting request and response information through different proxies |
US12003600B2 (en) | 2022-06-21 | 2024-06-04 | Oxylabs, Uab | Network coordination between proxy servers |
US11652890B1 (en) | 2022-07-13 | 2023-05-16 | Oxylabs, Uab | Methods and systems to maintain multiple persistent channels between proxy servers |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397259B1 (en) * | 1998-05-29 | 2002-05-28 | Palm, Inc. | Method, system and apparatus for packet minimized communications |
DE69934871T2 (de) | 1999-03-05 | 2007-07-05 | International Business Machines Corp. | Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk |
US6601098B1 (en) * | 1999-06-07 | 2003-07-29 | International Business Machines Corporation | Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence |
US6658463B1 (en) * | 1999-06-10 | 2003-12-02 | Hughes Electronics Corporation | Satellite multicast performance enhancing multicast HTTP proxy system and method |
US6829638B1 (en) * | 2000-08-03 | 2004-12-07 | International Business Machines Corporation | System and method for managing multiple proxy servers |
US20020069241A1 (en) * | 2000-12-06 | 2002-06-06 | Girija Narlikar | Method and apparatus for client-side proxy selection |
GB2378530B (en) * | 2001-05-15 | 2005-03-30 | Accenture Properties | Benchmark testing |
US7499973B2 (en) * | 2001-12-21 | 2009-03-03 | Motorola, Inc. | System and method for automatically forwarding a communication message |
US20040006615A1 (en) | 2002-07-02 | 2004-01-08 | Sun Microsystems, Inc., A Delaware Corporation | Method and apparatus for cerating proxy auto-configuration file |
US7353279B2 (en) | 2004-01-08 | 2008-04-01 | Hughes Electronics Corporation | Proxy architecture for providing quality of service(QoS) reservations |
JPWO2005099188A1 (ja) | 2004-03-05 | 2008-03-06 | 日本電気株式会社 | 通信品質管理方法および装置 |
US8027680B2 (en) * | 2005-12-30 | 2011-09-27 | United States Cellular Corporation | Selective handoff between access gateways |
US8291108B2 (en) | 2007-03-12 | 2012-10-16 | Citrix Systems, Inc. | Systems and methods for load balancing based on user selected metrics |
US8315179B2 (en) * | 2008-02-19 | 2012-11-20 | Centurylink Intellectual Property Llc | System and method for authorizing threshold testing within a network |
US20090228603A1 (en) | 2008-03-07 | 2009-09-10 | Jan Robert Ritzau | System and method for selecting proxy gateways in peer-to-peer networks |
US9037712B2 (en) * | 2010-09-08 | 2015-05-19 | Citrix Systems, Inc. | Systems and methods for self-loading balancing access gateways |
US8386419B2 (en) * | 2011-05-12 | 2013-02-26 | Narendar Yalamanchilli | Data extraction and testing method and system |
US10499409B2 (en) * | 2012-02-02 | 2019-12-03 | Genghiscomm Holdings, LLC | Cooperative and parasitic radio access networks |
US20140013001A1 (en) | 2012-07-06 | 2014-01-09 | Microsoft Corporation | Parallel probing for efficient proxy selection in networked environments |
US9762461B2 (en) * | 2013-07-09 | 2017-09-12 | Oracle International Corporation | Cloud services performance tuning and benchmarking |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
EP3047623A1 (de) | 2013-09-20 | 2016-07-27 | Notava Oy | Zugangskontrolle zu drahtlosen netzwerken mit richtlinien-proxyserver |
US9996442B2 (en) * | 2014-03-25 | 2018-06-12 | Krystallize Technologies, Inc. | Cloud computing benchmarking |
US10594660B2 (en) | 2014-06-26 | 2020-03-17 | Hewlett-Packard Development Company, Lp. | Selecting proxies |
US9509742B2 (en) * | 2014-10-29 | 2016-11-29 | DLVR, Inc. | Configuring manifest files referencing infrastructure service providers for adaptive streaming video |
WO2016129985A1 (en) * | 2015-02-09 | 2016-08-18 | Swag Technologies Sdn Bhd | A system and method for concealed connection merging through coordinated and dynamic virtual proxy allocation |
US20160380778A1 (en) * | 2015-02-26 | 2016-12-29 | Telefonaktiebolaget Lm Ericsson (Publ) | A Master Device and Methods Therein |
US10498625B1 (en) * | 2016-10-14 | 2019-12-03 | Amazon Technologies, Inc. | Distributed testing service |
US10581695B2 (en) * | 2017-04-14 | 2020-03-03 | Rohde & Schwarz Gmbh & Co. Kg | Test system and method for benchmark testing a device under test |
EP4020940A1 (de) | 2017-08-28 | 2022-06-29 | Bright Data Ltd. | System und verfahren zur verbesserung des abrufens von inhalt durch auswahl von tunnelvorrichtungen |
JP2019047289A (ja) * | 2017-08-31 | 2019-03-22 | キヤノン株式会社 | 通信装置、その制御方法、およびプログラム |
US10439925B2 (en) * | 2017-12-21 | 2019-10-08 | Akamai Technologies, Inc. | Sandbox environment for testing integration between a content provider origin and a content delivery network |
WO2020086860A1 (en) * | 2018-10-24 | 2020-04-30 | Affirmed Networks, Inc. | Anomaly detection and classification in networked systems |
KR20200052673A (ko) * | 2018-11-07 | 2020-05-15 | 삼성전자주식회사 | 무선 네트워크에서 근접한 장치들 간 통신 방법 및 장치 |
CN109525679A (zh) * | 2019-01-08 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种基于HTTP协议的web文件服务器测试方法 |
US10637956B1 (en) * | 2019-10-01 | 2020-04-28 | Metacluster It, Uab | Smart proxy rotator |
-
2020
- 2020-06-25 US US16/912,053 patent/US10873647B1/en active Active
- 2020-11-13 US US17/098,167 patent/US11140238B1/en active Active
-
2021
- 2021-04-09 WO PCT/IB2021/052941 patent/WO2021260446A1/en unknown
- 2021-04-09 EP EP21720318.1A patent/EP3957031A1/de active Pending
- 2021-04-09 DE DE202021103602.8U patent/DE202021103602U1/de active Active
- 2021-04-09 CA CA3173869A patent/CA3173869A1/en active Pending
- 2021-04-09 IL IL298349A patent/IL298349A/en unknown
- 2021-04-09 MX MX2022016173A patent/MX2022016173A/es unknown
- 2021-04-09 CN CN202180030715.XA patent/CN115443639B/zh active Active
- 2021-08-16 US US17/402,748 patent/US11316948B2/en active Active
-
2022
- 2022-03-23 US US17/656,007 patent/US11412062B2/en active Active
- 2022-07-01 US US17/810,351 patent/US11606439B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
MX2022016173A (es) | 2023-02-09 |
US10873647B1 (en) | 2020-12-22 |
US11140238B1 (en) | 2021-10-05 |
US20220337670A1 (en) | 2022-10-20 |
CN115443639B (zh) | 2024-06-18 |
US11606439B2 (en) | 2023-03-14 |
CN115443639A (zh) | 2022-12-06 |
US11316948B2 (en) | 2022-04-26 |
IL298349A (en) | 2023-01-01 |
CA3173869A1 (en) | 2021-12-30 |
US11412062B2 (en) | 2022-08-09 |
US20220217218A1 (en) | 2022-07-07 |
WO2021260446A1 (en) | 2021-12-30 |
US20210409505A1 (en) | 2021-12-30 |
EP3957031A1 (de) | 2022-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE202021103602U1 (de) | Benchmark-Funktion für Ausgangsknoten | |
DE202021103600U1 (de) | Dynamische Optimierung von Anfrageparametern für Proxy-Server | |
DE102016103733B4 (de) | Kanaleigentum in einem Veröffentlichungs-/Abonnier-System | |
DE69929268T2 (de) | Verfahren und System zur Überwachung und Steuerung der Netzzugriffe | |
DE69934871T2 (de) | Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk | |
DE202021103381U1 (de) | Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes | |
DE69929436T2 (de) | Verfahren und vorrichtung in einem drahtlosen kommunikationssystem zur dynamischen zu übertragenen applikationsdatenformatierung | |
DE202016107454U1 (de) | System für die Aufrechterhaltung der Service-Level von Netzwerken | |
DE60313987T2 (de) | Herstellung von regeln zur filterung von computerapplikationen | |
DE202018006616U1 (de) | Beschleunigung des Arbeitsablaufs von Cyberanalysen | |
DE112018003482T5 (de) | Serveranfrageverwaltung | |
DE102012216028A1 (de) | Webseiten-skriptverwaltung | |
DE102012218575A1 (de) | Schützen der Privatsphäre beim Austauschen von Daten mit einem Webserver | |
DE102013208923A1 (de) | System zum Erfassen des Vorhandenseins eines bösartigen Domain-Name-Service-Providers durch passive Überwachung | |
DE112017006993T5 (de) | System und Verfahren zum Erfassen einer Netztopologie | |
DE102016203598A1 (de) | Gemeinschaftliche sammlung von diagnosedaten von softwareprogrammen | |
EP1557002B1 (de) | Verfahren und einrichtung zur auswahl eines netzzugangs zu einem oder mehreren datennetzen über ein telekommunikationsendgerät | |
DE60210356T2 (de) | Verwalter von Dienststufenübereinkommen in einem Datennetz | |
DE112012004301T5 (de) | Erzeugen einer vorhersagenden Datenstruktur | |
DE102013201973A1 (de) | Verteilte Anwendung mit Vorwegnahme von Server-Antworten | |
DE102021109509A1 (de) | System und verfahren zur rekonfiguration eines netzwerks unter verwendung von netzvverkverkehrsvergleichen | |
DE602004001333T2 (de) | Computersystem und Verfahren zur Bereitstellung eines fehlerresistenten Datenverarbeitungdienstes | |
DE102022108621A1 (de) | Erkennung von sitzungen und schlussfolgerungen | |
DE102019131038B4 (de) | Detektion von Ereignisstürmen | |
DE202008017947U1 (de) | Netz-Servereinrichtung zum Erkennen eines unerwünschten Zugriffs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R207 | Utility model specification | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012240000 Ipc: H04L0041000000 |
|
R165 | Request for cancellation or ruling filed | ||
R081 | Change of applicant/patentee |
Owner name: OXYLABS, UAB, LT Free format text: FORMER OWNER: TESO LT, UAB, VILNIUS, LT |
|
R150 | Utility model maintained after payment of first maintenance fee after three years |