DE202021103602U1 - Benchmark-Funktion für Ausgangsknoten - Google Patents

Benchmark-Funktion für Ausgangsknoten Download PDF

Info

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
Application number
DE202021103602.8U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oxylabs UAB
Original Assignee
Teso LT UAB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=73823667&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE202021103602(U1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Teso LT UAB filed Critical Teso LT UAB
Publication of DE202021103602U1 publication Critical patent/DE202021103602U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/61Scheduling 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.

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 Superknoten 106 zur Untersuchung des Ausgangsknoten 108, einschließlich des Sendens und Empfangens einer Anfrage an das Ziel 110 durch den getesteten Ausgangsknoten. Die Informationen über den Ausgangsknoten 108 sowie die Ergebnisse des Tests werden dann in dem Superknoten 106 oder mehreren Superknoten-Geräten gespeichert und in der Ausgangsknoten-Datenbank 112 zusammengefasst, indem die in dem Superknoten 106 enthaltenen Informationen über den Ausgangsknoten oder mehrere übermittelt werden. Gemäß den von dem Superknoten 108 bereitgestellten Informationen kategorisiert die Ausgangsknoten-Datenbank 112 die Proxys sentsprechend ihrer Verfügbarkeit und stellt dem Front-End-Proxy 104 verfügbare Ausgangsknoten zur Verfügung, der verfügbare Ausgangsknoten anfordert, um die Anfragen des Benutzers 102 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 Ausgangsknoten 108 prüft und Informationen über dessen/deren Verfügbarkeitsstatus und Fähigkeiten sammelt. Der Ausgangsknoten 108 verbindet sich mit dem Superknoten 106 und bleibt verbunden, bis der Ausgangsknoten 108 getrennt wird, entweder indem er sich selbst die Verbindung trennt, oder wo der Superknoten 106 die Verbindung zum Ausgangsknoten 108 trennt und/oder den Ausgangsknoten 108 aus der Verfügbarkeitsliste entfernt. Mehr als ein Ausgangsknoten 108 kann gleichzeitig mit dem Superknoten 106 verbunden sein, und mehr als ein Superknoten 106 kann innerhalb der gleichen Proxy-Dienstanbieter-Infrastruktur 114 arbeiten. Die Anzahl der Ausgangsknotens 108 oder Superknoten 106, die in der Dienstanbieter-Infrastruktur 114 eingesetzt werden, ist nicht begrenzt. Der Proxy-Dienstanbieter kann über eine unbegrenzte Anzahl von Superknoten 108 verfügen, mit denen eine unbegrenzte Anzahl von Ausgangsknotens 108 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 Ausgangsknoten 108 sich mit dem Superknoten 106 verbindet, bildet der Superknoten 106 eine Benchmark-Anfrage gemäß einer Benchmark-Testdefinition und sendet eine Benchmark-Anfrage 204 an den Ausgangsknoten 108 (siehe ). Die Benchmark-Anfrage kann eine Anfrage sein, ein bestimmtes Ziel 110 zu erreichen, z. B. eine IP-Adresse, einen Hostnamen, eine Protokollverbindung auf Anwendungsebene, z. B. HTTP, oder jede andere Art von Ziel 110 im Netzwerk 116. Das Netzwerk 116 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 Superknoten 106 und der Front-End-Proxy 104 Teile der Dienstanbieter-Infrastruktur 114.
  • 1 zeigt eine beispielhafte Gesamtstruktur, die ein Benutzergerät 102 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-Infrastruktur 114, die einen Front-End-Proxy-Server 104, eine Ausgangsknoten-Datenbank 112, einen Superknoten 106 und einen Ausgangsknoten 108 enthält. Der Ausgangsknoten 108 und das Ziel 110 befinden sich im Netzwerk 116 und im Allgemeinen nicht in der Dienstanbieter-Infrastruktur 114. Während die in gezeigten Elemente die beispielhafte Ausführungsform umsetzen, können einige Elemente in anderen Ausführungsformen andere Bezeichnungen haben oder zu einem einzigen Element anstelle von zwei separaten Elementen kombiniert werden (z. B. kann die Ausgangsknoten-Datenbank 112 mit dem Front-End-Proxy-Server 104 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 wie dargestellt nur als beispielhaft interpretiert werden, und nicht einschränkend oder ausschließend für andere Merkmale, einschließlich der Merkmale, die in anderen Bereichen dieser Offenlegung diskutiert werden.
  • 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 Ausgangsknoten 108, der geprüft wurde, an die Ausgangsknoten-Datenbank 112 (Schritt 212).
  • 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 Ausgangsknoten 108 durchgeführt. Sobald jedoch die von einem Ausgangsknoten 108 gelieferten Antworten darauf hindeuten, dass der Ausgangsknoten 108 nicht korrekt arbeitet, wird der Ausgangsknoten vorübergehend aus dem Umlauf entfernt, d. h. es werden keine Kundenanfragen an diesen Ausgangsknoten 108 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 Ausgangsknoten 108 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-Datenbank 112 registriert wurde(n), stellt die Ausgangsknoten-Datenbank 112 dem Front-End-Proxy-Server 104 den verfügbaren Ausgangsknoten 108 zur Verfügung. Nur Ausgangsknoten 108, die von dem Superknoten 106 geprüft und als einsatzbereit befunden wurden, werden dem Front-End-Proxy-Server 104 zur Verfügung gestellt. Sobald das Benutzergerät 102 eine Anfrage an den Front-End-Proxy 104 stellt (Schritt 218), wählt der Front-End-Proxy-Server 104 den Ausgangsknoten 108 aus der Liste der verfügbaren Ausgangsknoten 108 in der Ausgangsknoten-Datenbank 112 aus und stellt dem Benutzergerät 102 den oder die besten Ausgangsknoten 108 (Schritt 220) zur weiteren Bearbeitung der Anfragen des Benutzergeräts 102 bereit. Auf diese Weise erhält das Benutzergerät 102 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 Ausgangsknoten 108 stellt eine Verbindung zu dem Superknoten 106 her, um sich bei dem Superknoten 106 zu registrieren (Schritt 202). Der Superknoten 106 sendet als nächstes eine Benchmark-Anfrage an den Ausgangsknoten 108 (Schritt 204). Der Ausgangsknoten 108 stellt eine Verbindung zu einem Ziel her und führt eine Anfrage aus (Schritt 206). Dann leitet der Ausgangsknoten 108 eine Antwort auf die Anfrage an den Superknoten 106 weiter (Schritt 208). Der Superknoten 106 misst die vom Ausgangsknoten 108 bereitgestellten Informationen (Schritt 210). Der Superknoten 106 wertet aus, ob: 1) die Antwort empfangen wurde; 2) der Ausgangsknoten 108 verfügbar ist (online ist); 3) der Ausgangsknoten 108 ein bestimmtes Ziel erreichen kann; 4) die Antwort schnell genug war, um den Ausgangsknoten 108 zu benutzen. Wenn zum Beispiel die Verzögerungszeit zum Erreichen des Ziels länger als 5 Sekunden ist, kann der Ausgangsknoten 108 als nicht verfügbar markiert werden. Basierend auf den Informationen, die der Ausgangsknoten 108 liefert, sendet der Superknoten 106 die Informationen über den Ausgangsknoten 108 an die Ausgangsknoten-Datenbank 112 (Schritt 212). In der Ausgangsknoten-Datenbank 112 werden die Ausgangsknoten 108 gruppiert, z. B. als Ausgangsknoten, die zur Verfügung stehen, und Ausgangsknotens 108, die nicht zur Verfügung stehen, indem sie in die entsprechenden Ausgangsknoten-Pools oder -Gruppen innerhalb der Ausgangsknoten-Datenbank eingeordnet werden. Der/die Ausgangsknoten 108 kann/können auch nach Kategorien von einem/mehreren Ausgangsknoten 108 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 Superknoten 106 verbundenen Ausgangsknoten 108 ab, wenn z. B. mehr Ausgangsknoten 108 angeschlossen sind, wird mehr Zeit für den Superknoten 106 benötigt, um Benchmark-Anfragen an jeden Ausgangsknoten 108 zu senden. Wenn weniger Ausgangsknoten 108 an einen bestimmten Superknoten 106 angeschlossen sind, kann der Superknoten 106 Benchmark-Anfragen häufiger senden. Der Status des/der Ausgangsknoten 108 kann sich schnell ändern, z. B. wenn ein Gerät, das als Ausgangsknoten 108 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.
  • zeigt ein beispielhaftes Flussdiagramm für die Anfrage eines Benutzers zum Scraping eines bestimmten Ziels. Der Front-End-Proxy-Server 104 empfängt eine Anfrage für einen Proxy von einem Benutzergerät 102 (Schritt 302), wobei die Anfrage die notwendigen Attribute enthält, die das Benutzergerät 102 benötigt. Dann formt der Front-End-Proxy-Server 104 eine Anfrage für den oder mehrere Ausgangsknoten, der/die den Anforderungen des Benutzergeräts 102 entspricht/entsprechen, und übermittelt die Anfrage an die Ausgangsknoten-Datenbank 112 (Schritt 304). Die Ausgangsknoten-Datenbank 112 bildet die Liste der Ausgangsknoten, die den Anforderungen entsprechen, sammelt die Ausgangsknoten-Metadaten (Schritt 306) und sendet die Ausgangsknoten-Metadaten an den Front-End-Proxy-Server 104 (Schritt 308). Der Front-End-Proxy-Server 104 sendet als nächstes die Anfrage der Daten an den Superknoten 106 (Schritt 310). Nach Erhalt der Anfrage leitet der Superknoten 106 die Anfrage der Daten an den Ausgangsknoten 108 weiter (Schritt 312). Der Ausgangsknoten 108 führt die Anfrage aus und erhält Daten vom angegebenen Ziel (Schritt 314). Nachdem er die Daten erhalten hat, leitet der Ausgangsknoten 108 die Daten an den Superknoten weiter (Schritt 316). Sobald der Superknoten 106 die Daten vom Ausgangsknoten 108 erhält, sammelt der Superknoten 106 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 Ausgangsknoten 108 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 Ausgangsknoten 108 für eine Benchmark-Testung bestätigt. Die statistischen Informationen über die Qualität der Arbeitsweise des Ausgangsknotens 108 wird in der Ausgangsknoten-Datenbank 112 gespeichert. Im nächsten Schritt leitet der Superknoten 106 die vom Ziel erhaltenen Daten an den Front-End-Proxy-Server 104 weiter (318). Der Front-End-Proxy-Server 104 leitet die vom Ziel erhaltenen Daten an das Benutzergerät 102 weiter (Schritt 320).
  • Als ein weiteres Beispiel könnte das Benutzergerät 102 eine zweite Anfrage an den Front-End-Proxy-Server 104 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-Server 104 dem Benutzergerät 102 den zweiten Ausgangsknoten 108 aus den am besten geeigneten Ausgangsknoten 108 zur Verfügung, die in der Ausgangsknoten-Datenbank 112 gespeichert sind. Als Beispiel könnte ein Benutzergerät 102 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-Server 104 dem Benutzergerät 102 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ät 102 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-Server 104 dem Benutzergerät 102 einen zweiten Ausgangsknoten zur Verfügung, der den Anforderungen des Benutzergeräts 102 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 Computersystem 400, in dem ein computerlesbares Medium 406 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 Medium 406 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 Computersystems 400, 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 Medium 406 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 Prozessoren 402 enthalten, die direkt oder indirekt über einen Systembus 410 mit dem Speicher 408 verbunden sind. Der Speicher 408 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 Computersystem 400 mit anderen Datenverarbeitungssystemen verbunden werden kann, z. B. über Host-System-Schnittstellen 412, 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)

  1. 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.
  2. 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.
  3. System nach Anspruch 1 oder 2, 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.
  4. System nach einem der Ansprüche 1 bis 3, wobei der Superknoten (106) so konfiguriert ist, dass er die Antwort des Ausgangsknotens (108) speichert.
  5. System nach einem der Ansprüche 1 bis 4, wobei der Superknoten (106) in der Lage ist, eine unbegrenzte Anzahl von Verbindungen der Ausgangsknoten (108) gleichzeitig zu akzeptieren.
  6. System nach einem der Ansprüche 1 bis 5, 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.
  7. 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.
  8. 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.
  9. System nach Anspruch 7 oder 8, 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.
  10. 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.
  11. 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.
  12. System nach Anspruch 10 oder 11, 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.
  13. 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.
  14. System nach Anspruch 1 oder 13, 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.
  15. System nach Anspruch 1 oder 13, 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.
  16. System nach einem der Ansprüche 12 bis 15, 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.
  17. System nach einem der Ansprüche 13 bis 16, 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.
  18. 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.
  19. 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.
  20. Nicht- flüchtiges computerlesbares Medium nach Anspruch 18 oder 19, wobei die Benchmark-Anfrage gegen ein bestimmtes ausgewähltes Ziel (110), einen geografischen Standort, eine IP-Adresse oder einen HTTP-Link durchgeführt wird.
  21. Nicht- flüchtiges computerlesbares Medium nach einem der Ansprüche 18 bis 20, 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.
  22. Nicht- flüchtiges computerlesbares Medium nach einem der Ansprüche 18 bis 21, 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.
DE202021103602.8U 2020-06-25 2021-04-09 Benchmark-Funktion für Ausgangsknoten Active DE202021103602U1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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