-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft Systeme und Verfahren zum Leiten
von Internetverkehr und insbesondere Systeme und Verfahren zum Bereitstellen
von Echtzeitinformationen über
den Internetverkehr, wie beispielsweise Informationen über die
geografischen Lage von Knoten und Verbindungen, Entfernungen, verfügbare Bandbreite
an Knoten, Verbindungsgeschwindigkeiten, verfügbare Betriebsmittel und den
Status von Knoten oder Verbindungen.
-
HINTERGRUND
-
Das
Internet besteht aus einem Netz von miteinander verbundenen Rechnernetzen.
Jeder dieser Rechner weist eine IP-Adresse auf, die aus einer Reihe
von vier Zahlen besteht, die durch Punkte oder Trennpunkte getrennt
sind, wobei jede dieser vier Zahlen eine 8-Bit-Ganzzahl ist, und
welche zusammen die eindeutige Adresse des Rechners innerhalb des
Internets darstellen. Das Internet ist ein paketvermitteltes Netz,
wobei eine Datendatei, die über
das Internet an irgendein Ziel geleitet wird, in eine Anzahl von
Paketen zerlegt wird, die getrennt an das Ziel gesendet werden.
Jedes Paket enthält
unter anderem irgendeinen Abschnitt der Datendatei und die IP-Adresse
des Ziels.
-
Die
IP-Adresse eines Ziels ist zwar nützlich, um Pakete an das korrekte
Ziel zu leiten, aber nicht sehr benutzerfreundlich. Eine Gruppe
von vier 8-Bit-Zahlen allein verrät oder suggeriert nichts über das
Ziel, und die meisten Menschen würden
es schwierig finden, sich die IP-Adressen eines Ziels zu merken.
Wegen dieses Nachteils bei dem alleinigen Verwenden von IP-Adressen
wurden Domainnamen geschaffen. Domainnamen bestehen aus zwei oder
mehr Teilen, häufig
Wörtern,
die durch Punkte getrennt sind. Da die Wörter, Zahlen und anderen Symbole,
die einen Domainnamen bilden, oft die Identität eines Ziels anzeigen oder
wenigstens suggerieren, wurden Domainnamen zur standardmäßigen Art
und Weise des Eingebens einer Adresse und sie sind leichter zu merken
als die IP-Adressen.
Nach der Eingabe eines Domainnamens löst ein Domainnamenserver (DNS)
den Domainnamen in eine spezifische IP-Adresse auf. Wenn demnach
zum Beispiel jemand, der im Internet surft, in ein Browserprogramm
einen bestimmten Domainnamen für
eine Website eingibt, fragt der Browser zuerst den DNS ab, um an
die richtige IP-Adresse
zu gelangen.
-
Obwohl
die IP-Adressen gut funktionieren, um Pakete an die korrekte Adresse
im Internet zu liefern, vermitteln IP-Adressen keine nützlichen
Informationen über
die geografische Adresse des Ziels. Außerdem geben nicht einmal die
Domainnamen unbedingt eine geografischen Lage an, obwohl sie solch
eine Lage manchmal korrekter- oder
inkorrekterweise suggerieren können.
Dieses Nichtvorhandensein einer Verbindung zwischen der IP-Adresse
oder dem Domainnamen und der geografischen Lage gilt sowohl national
auch als international. Zum Beispiel bestimmt ein Landes-Top-Level-Domainformat ".us" für "United States" (vereinigte Staaten), ".uk" für "United Kingdom" (vereinigtes Königreich)
usw. Demnach kann durch Bezugnahme auf diese Zusätze oft wenigstens das Land
bestimmt werden, in dem sich der Rechner befindet. Diese Zusätze können jedoch
auch oft täuschen
oder ungenau sein. Zum Beispiel ist die Domain ".md" zwar
der Republik Moldawien zugeordnet, wurde aber in den Vereinigten
Staaten bei "medical
doctors" (Doktoren
der Medizin) ziemlich beliebt. Obwohl der Domainname einen gewissen
Aspekt der geografischen Lage des Rechners suggerieren kann, vermitteln
der Domainname und die IP-Adresse folglich oft keine nützlichen
geografischen Informationen.
-
Zusätzlich zur
geografischen Lage verraten die IP-Adresse und der Domainnamen auch sehr
wenige Informationen über
die Person oder das Unternehmen, die den Rechner oder das Rechnernetz
verwenden. Folglich ist es daher für Besucher möglich, eine
Website aufzusuchen, Dateien zu übertragen
oder eine E-Mail zu senden, ohne ihre wahre Identität preiszugeben.
Diese Anonymität
läuft jedoch
den wünschen
vieler Websites zuwider. Zum Beispiel ist es für Werbezwecke wünschenswert,
jede Werbung an eine ausgewählte
Marktgruppe zu richten, die im Hinblick auf die beworbenen waren
und Dienstleistungen optimiert ist. Eine Werbung für ein Produkt
oder eine Dienstleistung, die den Interessen einer Person oder einer
Gruppe angepasst oder eng damit verbunden ist, ist wesentlich wirksamer
und demnach wertvoller für
den Werbungstreibenden als eine Werbung, die blind an jeden Website-Besucher
ausgesendet wird.
-
Oft
angetrieben durch den Wunsch, Werbeeinahmen zu erhöhen und
die Umsätze
zu steigern, erstellen jetzt viele Websites ein Profil ihrer Besucher.
Um das Profil eines Besuchers zu erstellen, überwachen Websites zuerst den
Verkehr ihrer Besucher durch die Website historisch und erfassen
Verhaltensmuster für
verschiedene Gruppen von Besuchern. Die Website kann daraus folgern,
dass eine bestimmte Gruppe von Besuchern, die eine bestimmte Seite
oder Seitenfolge abfragen, ein bestimmtes Interesse hat. Beim Auswählen einer
Werbung für
die nächste
Seite, die von einer Einzelperson in dieser Gruppe abgefragt wird,
kann die Website eine Werbung anstreben, die mit den gefolgerten
Interessen der Einzelperson oder der Gruppe verbunden ist. Demnach
wird der Verkehr des Besuchers durch die Website basierend auf dem
Verhalten anderer Besucher der Website abgebildet und analysiert.
Viele Websites sind daher daran interessiert, so viel als möglich über ihre
Besucher zu erfahren, um die Rentabilität ihrer Website zu erhöhen.
-
Der
Wunsch, mehr über
Benutzer des Internets zu erfahren, wird durch Datenschutzbelange
der Benutzer durchkreuzt. Die Verwendung von Cookies zum Beispiel
ist für
viele Besucher störend.
Tatsächlich
wurden im Abgeordnetenhaus und auch im Senat Gesetzesentwürfe zur
Kontrolle der Verwendung von Cookies oder digitalen ID-Tags eingebracht.
Durch die Installierung von Cookies auf dem Rechner eines Benutzers
können
Unternehmen die Besucher über
zahlreiche Websites verfolgen, um dadurch Interessen der Besucher
abzuleiten. Obwohl viele Unternehmen Cookies und andere Profilerstellungstechniken
vorteilhaft finden können, sind
Profilerstellungstechniken in der Öffentlichkeit im Allgemeinen
auf wenig Gegenliebe gestoßen.
-
Ein
besonders aufschlussreiches Beispiel der konkurrierenden Interessen
zwischen Datenschutz und Profilerstellung ist, als die Double Click,
Inc. von New York die Namen und Adressen von Einzelpersonen an ihre
jeweiligen IP-Adressen band. Die Reaktionen auf die Maßnahmen
von Double Click führten
zu einem Einreichen einer Klage bei der Federal Trade Comission
(FTC, Bundesbehörde
zur Bekämpfung
des unlauteren Wettbewerbs) durch das Electronic Privacy Information
Center (Datenschutzinformationszentrale im Internet) und zum Aufschrei
vieler Datenschutzbefürworter,
dass die Verfolgung des Suchverhaltens von Besuchern an sich ein
Eingriff in die Privatsphäre
ist. Obwohl die Technologie eine genaue Verfolgung von Einzelpersonen im
Internet ermöglichen
kann, müssen
Unternehmen demnach den Wunsch, ein Profil der Besucher zu erstellen,
mit den Rechten der Besucher, anonym zu bleiben, sorgfältig abwägen.
-
Die
Schwierigkeit dabei, mehr über
Internetbenutzer zu erfahren, wird noch komplizierter, wenn die
Internetbenutzer Teil eines privaten Netzes, wie beispielsweise
America On-Line (AOL), sind. AOL und andere private Netze fungieren
als ein Vermittler durch Betreiben eines Proxyservers zwischen ihren
Benutzermitgliedern und dem Internet. Der Proxyserver hilft, eine
private Gemeinschaft von Mitgliedern zu schaffen und isoliert und
schützt
die Mitglieder auch vor in die Privatsphäre eingreifenden Abfragen,
die über
das Internet erfolgen können.
Als Teil dieses Schutzes oder dieser Isolierung ordnen viele dieser
privaten Netze ihren Mitgliedern einen ersten Satz von IP-Adressen
zum ausschließlichen
Weiterleiten innerhalb des privaten Netzes zu und geben diese IP-Adressen
keinen Entitäten
außerhalb
des privaten Netzes, wie beispielsweise über das Internet, preis. Um
mit den Mitgliedern zu kommunizieren, haben Entitäten außerhalb
des privaten Netzes keinen direkten Zugang zu den Mitgliedern, sondern
müssen
stattdessen über
die Proxyserver gehen. Wie für
Fachleute zu erkennen sein sollte, kann ein Erstellen des Profils
und anderweitiges Sammeln von Informationen über Mitglieder von privaten
Netzen infolge der Proxyserver noch schwieriger gemacht werden.
-
Zusätzlich dazu,
mehr über
Internetbenutzer zu erfahren, um einen Inhalt auf den Benutzer abzustimmen,
kann die Kenntnis über
den Benutzer und über
das Ziel auch beim Leiten der Benutzeranfrage hilfreich sein. Beim
Internet werden Benutzeranfragen in Pakete zerlegt, und diese Pakete
werden von Knoten zu Knoten geleitet, bis die Pakete schließlich das
beabsichtigte Ziel erreichen. Diese Pakete werden dann wieder zusammengesetzt,
um die Originalanfrage zu bilden. Während des Durchgangs können die
Pakete verschiedene Leitwege nehmen, und einige der Pakete können verloren
gehen. Die Knoten versuchen normalerweise, die Pakete durch Durchlaufen
der kleinsten Anzahl von Knoten oder Etappen ans Ziel zu senden.
Jeder Knoten weist eine gewisse Latenzzeit beim Absenden von Paketen
auf, nachdem er die Pakete erhält,
so dass durch Minimieren der Anzahl von Etappen die Latenzzeit minimiert
wird. Wenn bekannt ist, wo sich das Ziel befindet, können die
Knoten einen direkteren Leitweg wählen, selbst wenn er eine größere Anzahl
von Etappen aufweist.
-
Die
US-Patentschrift Nr. 6,130,890 von Leinwand et al. beschreibt ein
Verfahren und ein System zum Optimieren des weiterleitens von Datenpaketen.
Dieses Patent erläutert,
dass viele der internationalen Verbindungen zwischen Ländern oft
stark überlastet
sind und dass das Verwenden dieser Verbindungen zu längeren Verzögerungen
führen
kann, auch wenn sie die niedrigste Anzahl von Etappen aufweisen.
Das Verfahren, das in diesem Patent beschrieben wird, bezieht das
Verwenden von Informationen ein, die über jedes AS beispielsweise
durch die American Registry for Internet Numbers (ARIN), Reseaux
IP Europeans (RIPE) und Asia-Pacific Network Information Center
(APNIC) geführt
werden. Durch Abfragen der Organisationen kann das System Landesinformationen über jedes
autonome System (AS) erhalten und die AS ihren Landesbezeichnungen zuordnen.
Die Pakete können
dann durch Auswählen
einer direkten Verbindung zu dem Land, das mit dem Ziel verbunden
ist, weitergeleitet werden.
-
Die
Systeme und Verfahren, die in Leinwand et al. offenbart werden,
stellen einen begrenzten Erfolg beim Optimieren der Leitweglenkung
von Internetverkehr bereit. Wie bereits erwähnt, beschreibt das Patent von
Leinwand et al. eine Leitweglenkung von Internetverkehr auf Lan desebene,
erläutert
aber nicht, wie die Leitweglenkung innerhalb eines Landes durchgeführt werden
kann. Da viel vom Internetverkehr, der in den vereinigten Staaten
seinen Ursprung hat, auch an ein Ziel in den vereinigten Staaten
geht, wären
das System und das verfahren, die im Patent von Leinwand et al.
beschrieben werden, nur von geringem Nutzen. Außerdem identifizieren die Informationen
in Verbindung mit den AS-Nummern die geografische Lage eines AS
nicht genau. Die Landesinformationen können das AS in einem anderen
Land aufführen
als dort, wo es sich wirklich befindet, und sie können ein
AS mit mehr als einem Land aufführen,
wie in dem Patent erläutert.
Neben der Tatsache, dass AS-Informationen nicht immer genau sind,
kann es sein, dass ihre Zuverlässigkeit
möglicherweise
nicht langfristig von Nutzen ist. Der Raum, der für die AS-Nummern
reserviert ist, wird bei dem explosiven Wachstum des Internets schnell
erschöpft
sein. Wenn die AS-Nummern erschöpft
sind, dann ist es möglicherweise
nicht möglich,
die geografische Lage eines später
eingeführten
AS mit den in diesem Patent beschriebenen Verfahren zu bestimmen.
-
Das
Dokument
US 5,042,027 offenbart
ein System zum Überwachen
von Verkehr in einem Netz und Speichern desselben in einer Datenbank.
Mithilfe des gespeicherten überwachten
Verkehrs wird der zukünftige
Verkehr gemäß einem
Algorithmus geschätzt.
Wenn die aktuelle Verbindungsleistung unter dem geschätzten Verkehr
ist, wird eine Rufsteuerung informiert, um die Leitwege umzuschalten.
-
Es
besteht daher ein Bedarf an verbesserten Systemen und Verfahren
zum effizienteren und effektiveren Leiten von Internetverkehr.
-
Die
Erfindung geht die zuvor erwähnten
Probleme durch Bereitstellen von Systemen und Verfahren zum Leiten
von Netzverkehr basierend auf geografischen Lageinformationen an.
Gemäß einem
Aspekt der Erfindung beziehen die Verfahren das Empfangen von Netzverkehr
und Lenken des Netzverkehrs basierend auf Nutzinformationen über das
Netz ein. Die Nutzinformationen umfassen Daten, die es dem Verkehrsmanager ermöglichen,
den Netzverkehr effizient und effektiv zu leiten. Die Nutzinformationen
umfassen, ohne darauf beschränkt
zu sein, die geografische Lage des Ziels für den Verkehr, die geografische
Lage für
eine Quelle des Verkehrs, die Bandbreite, die an der Quelle, dem
Ziel oder den Transitknoten verfügbar
ist, Verbindungsgeschwindigkeiten von Verbindungen zwischen Knoten
oder eine Verbindungsgeschwindigkeit an der Quelle, Belastung von
verschiedenen Zielen und die Zuverlässigkeit von Netzelementen.
In der bevorzugten Ausführungsform
wird ein Satz von Analysatoren über
das ganze Netz verteilt und sammelt die Nutzinformationen. Alternativ
können
die Nutzinformationen direkt vom Netz oder von einem anderen System
gesammelt werden.
-
Ein
Verkehrsmanager gemäß der bevorzugten
Ausführungsform
speichert die Nutzinformationen in einem Plan des Netzes. Der Plan
wird durch Bestimmen eines Leitwegs durch das Netz zu einem Ziel
oder einer Quelle mit geografischen Informationen über die
Quelle und das Ziel gefüllt.
Ein Verfahren der Erfindung beinhaltet das Ableiten einer geografischen
Lage von allen Transithosts, die innerhalb des Leitwegs zwischen
der Quelle und dem Ziel enthalten sind, das Analysieren des Leitwegs
und der geografischen Lagen aller Transithosts und das anschließende Bestimmen
der geografischen Lagen der Quelle und des Ziels. Nachdem diese geografischen
Informationen herausgefunden wurden, werden sie in den Plan gespeichert.
-
Das
bevorzugte System gemäß der Erfindung
führt ein
Whois (Adresssuche) durch, um die Organisation zu bestimmen, die
eine IP-Adresse oder einen Domainnamen besitzt. Die Adresse des
Besitzers liefert eine gewisse Vermutung über die geografische Lage,
ist aber nicht zwingend. Das System führt eine Traceroute (Verfolgung
von Datenpaketen) durch, um den Leitweg zum Ziel zu erhalten, und
ordnet den Leitweg in einer Datenbank geografisch zu. Eine Vertrauensstufe
wird der geografischen Lage basierend auf der Kenntnis von Hosts
und Knoten entlang des Leitwegs zugeordnet. Das System kann auch
die Top-Level-Domain und die tatsächlichen Wörter im Domainnamen berücksichtigen.
Der Verkehrsmanager kann überall
im Netz verwendet werden, wie beispielsweise als Teil eines DNS-Dienstes,
um die Anfrage eines Benutzers an eine gewünschte IP-Adresse weiterzusenden
oder als ein HTTP-Weiterleitung an einen gewünschten Inhaltsserver auf einer
Website.
-
Gemäß einem
anderen Aspekt betreffen die Systeme und Verfahren einen Verkehrsmelder,
der Echtzeitinformationen über
das Netz und Verkehrsbedingungen erfasst. Der Verkehrsmelder sendet
Verkehrsmeldungen an die Verkehrsmanager, welche über das
ganze Netz verteilt sind. Die Verkehrsmanager verwenden diese Echtzeitinformationen
beim Bereitstellen von Leitweginformationen zu einem bestimmten
Ziel. Der Verkehrsmelder führt
eine Analyse des Netzes durch, um diese Informationen zu erhalten,
und empfängt
die Informationen auch von anderen Quellen, wie beispielsweise von
den Verkehrsmanagern selbst oder von den Analysatoren. Der Verkehrsmelder
hat ein gewisses Ermessen beim Liefern dieser Verkehrsmeldungen
an die Verkehrsmanager, derart dass die Verkehrsmanager Aktualisierungen
oder Meldungen nur nach dem Auftreten von signifikanten Änderungen
der Verkehrsbedingungen empfangen.
-
Die
Verkehrsmanager empfangen die Verkehrsmeldungen vom Verkehrsmelder
und stellen Leitwegrichtungen basierend auf diesen Verkehrsmeldungen
bereit. Die Verkehrsmanager führen
eine Datenbank von normalen Verkehrsbedingungen und überwachen
auch alle Verkehrsmeldungen, die durch den Verkehrsmelder erzeugt
werden. Beim Bestimmen von Leitwegrichtungen verwenden die Verkehrsmanager
die Datenbank von normalen Verkehrsbedingungen als den Standarddatensatz,
prüfen
aber auch alle relevanten Verkehrsmeldungen, bevor sie zu den optimalen
Leitwegrichtungen gelangen. Die Verkehrsmanager überwachen auch lokale Verkehrsbedingungen
und stellen fest, ob diese Bedingungen dermaßen von den normalen Bedingungen
abweichen, dass der Verkehrsmanager den Vorfall dem Verkehrsmelder
melden sollte. Die Verkehrsmanager unterstützen demnach den Verkehrsmelder
beim Führen
der aktuellsten und genauesten Informationen über das Netz, einschließlich der
Informationen über
die Verkehrsbedingungen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
beiliegenden Zeichnungen, welche in die Spezifikation aufgenommen
werden und einen Teil derselben bilden, veranschaulichen bevorzugte
Ausführungsformen
der vorliegenden Erfindung und offenbaren zusammen mit der Beschreibung
die Grundsätze
der Erfindung, wobei in den Zeichnungen:
-
1 ein
Blockdiagramm eines Netzes mit einem Sammelsystem gemäß einer
bevorzugten Ausführungsform
der Erfindung ist;
-
2 ein
Flussdiagramm ist, welches ein bevorzugtes Arbeitsverfahren für das Sammelsystem
von 1 veranschaulicht;
-
3 ein
Flussdiagramm ist, welches ein bevorzugtes Verfahren zum Einholen
von geografischen Informationen durch einen Internet-Diensteanbieter
(ISP) veranschaulicht;
-
4 ein
Blockdiagramm eines Netzes mit einem Sammelsystem und einem Bestimmungssystem
gemäß einer
bevorzugten Ausführungsform
der Erfindung ist;
-
5 ein
Flussdiagramm ist, welches ein bevorzugtes Arbeitsverfahren für das Sammelsystem
und das Bestimmungssystem veranschaulicht;
-
6 ein
Blockdiagramm eines Webservers ist, welcher einen Positionssucher
verwendet, der mit dem Sammel- und Bestimmungssystem verbunden ist;
-
7 ein
Flussdiagramm ist, welches ein bevorzugtes Arbeitsverfahren für den Webserver
und den Positionssucher von 6 veranschaulicht;
-
8 ein
Blockdiagramm eines Webservers ist, der einen Positionssucher mit
Zugriff auf eine lokale geografische Datenbank, sowie das Sammel-
und Bestimmungssystem verwendet;
-
9 ein
Flussdiagramm ist, welches ein bevorzugtes Arbeitsverfahren für den Webserver
und den Positionssucher von 8 veranschaulicht;
-
10 ein
Blockdiagramm eines Netzes ist, welches das Sammeln von geografischen
Lageinformationen von einem Benutzer über einen Proxyserver veranschaulicht;
-
11 ein
Flussdiagramm ist, welches ein bevorzugtes Arbeitsverfahren zum
Sammeln von geografischen Lageinformationen über den Proxyserver veranschaulicht;
-
12(A) ein Blockdiagramm eines Verkehrsmanagers
gemäß einer
bevorzugten Ausführungsform der
Erfindung ist, 12(B) ein Netzdiagramm von Analysatoren
und des Netzverkehrs ist, 12(C) ein
Diagramm eines Netzes gemäß einem
anderen Aspekt der Erfindung ist, welches einen Verkehrsmelder umfasst; 12(D) ein Flussdiagramm des Arbeitsverfahrens
für die
Verkehrsmanager ist, und 12(E) ein Flussdiagramm
des Arbeitsverfahrens für
den Verkehrsmelder ist;
-
13 ein
Blockdiagramm eines Netzes ist, welches einen Profilserver und einen
Profilermittlungsserver gemäß einer
bevorzugten Ausführungsform
der Erfindung veranschaulicht;
-
14(A) und 14(B) Flussdiagramme
sind, welche bevorzugte Arbeitsverfahren für den Profilserver und den
Profilermittlungsserver von 13 veranschaulichen;
-
15 ein
Blockdiagramm eines Netzes mit einem Sammelsystem gemäß einer
zweiten Ausführungsform
der Erfindung ist;
-
16 ein
Flussdiagramm ist, welches ein bevorzugtes Arbeitsverfahren für das Sammelsystem
von 15 veranschaulicht;
-
17 ein
Blockdiagramm eines Netzes mit einem Sammelsystem und einem DNS-Server
gemäß einer
dritten Ausführungsform
der Erfindung ist; und
-
18 ein
Flussdiagramm ist, welches ein Verfahren zum Auflösen von
Domainnamenabfragen gemäß einer
anderen Ausführungsform
der Erfindung ist.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Es
wird nun im Einzelnen auf bevorzugte Ausführungsformen der Erfindung
Bezug genommen, von welchen nicht einschränkende Beispiele in den beiliegenden
Zeichnungen veranschaulicht sind.
-
I. SAMMELN, BESTIMMEN
UND VERTEILEN VON GEOGRAFISCHEN LAGEN
-
Gemäß einem
Aspekt betrifft die Erfindung Systeme und Verfahren zum Sammeln,
Bestimmen und Verteilen von Daten, welche festlegen, wo ein Internetbenutzer
geografisch wahrscheinlich zu lokalisieren ist. Da das Verfahren
zum Adressieren im Internet, Internetprotokoll-Adressen (IP-Adressen),
es ermöglicht,
jeden Adressbereich überall
auf der Welt zu lokalisieren, ist das Bestimmen der tatsächlichen
Lage einer bestimmten Maschine oder eines bestimmten Hosts keine
einfache Aufgabe.
-
A. Sammeln von geografischen
Lagedaten
-
Ein
System 10 zum Sammeln von geografischen Informationen ist
in 1 dargestellt. Das System 10 verwendet
verschiedene Internetleitwerkzeuge zur Unterstützung beim Ermitteln der wahrscheinlichen
Positionierung von neu ermittelten Internethosts, wie beispielsweise
eines neuen Zielhosts 34. Insbesondere verwendet das System 10 vorzugsweise
Programme, die als Host, Nslookup, Ping, Traceroute und Whois bekannt
sind, beim Bestimmen einer geografischen Lage für den Zielhost 34.
Es versteht sich von selbst, dass die Erfindung nicht auf diese
Programme beschränkt
ist, sondern andere Programme oder Systeme verwenden kann, welche
dieselbe oder eine ähnliche
Funktionalität
bieten. Demnach kann die Erfindung jedes System oder Verfahren verwenden,
um die geografische Lage zu bestimmen oder weitere Informationen
bereitzustellen, die dabei helfen, die geografische Lage einer IP-Adresse
herauszufinden.
-
Konkret
stellen Nslookup, Ping, Traceroute und Whois die besten Informationsquellen
bereit. Die Funktionsweise von Ping und Traceroute wird in der Kommentaraufforderung
(RFC für
engl. Request For Comments) Nummer 2151 der Arbeitsgruppe zur Entwicklung
und Koordinierung von Internetprotokollen (IETF für engl.
Internet Engineering Task Force) erläutert, die unter http://www.ietf.org/rfc/rfc2151.txt
zu finden ist, Nslookup (eigentlich DNS lookups oder DNS-Suchen)
wird in der IETF RFC Nummer 2535 erläutert, die unter http://www.ietf.org/rfc/rfc2535.txt
zu finden ist, und Whois wird in IETF RFC Nummer 954 erläutert, die
unter http://www.ietf.org/rfc/rfc0954.txt zu finden ist. Im Folgenden
wird jeweils eine kurze Erläuterung
von Host, Nslookup, Ping, Traceroute und Whois gegeben. Bei der
Erläuterung
Funktionsweise dieser Befehle bezieht sich Quellhost auf die Maschine,
auf der das System 10 läuft,
und Zielhost bezieht sich auf die Maschine, nach der durch das System 10 gesucht
wird, wie beispielsweise Zielhost 34. Eine ausführlichere
Erläuterung
dieser Befehle ist über
die spezifizierten RFCs oder Handbuchseiten über ein UNIX-System erhältlich.
-
Das
Programm Host fragt DNS-Server einer Zieldomain ab und sammelt Informationen über den
Domainnamen. Zum Beispiel zeigt der Befehl "host –1 digitalenvoy.net" mit der Option "–1" dem System 10 alle Hostnamen,
die das Suffix von digitalenvoy.net aufweisen.
-
Das
Programm Nslookup wandelt eine IP-Adresse unter Verwendung des DNS-Suchsystems
in einen Hostnamen um oder umgekehrt.
-
Das
Programm Ping sendet einem Zielhost eine Anfrage, um zu sehen, ob
der Host online und betriebsbereit ist. Das Ping kann auch verwendet
werden, um den Leitweg aufzuzeichnen, der genommen wurde, um den
Status des Zielhosts abzufragen, aber dies ist nicht immer ganz
zuverlässig.
-
Das
Programm Traceroute ist dafür
ausgelegt, den genauen Leitweg zu bestimmen, der genommen wird,
um einen Zielhost zu erreichen. Es ist möglich, das Traceroute zu verwenden,
um einen Teilleitweg zu einer nicht bestehenden oder nicht angeschlossenen
Zielhostmaschine zu bestimmen. In diesem Fall wird der Leitweg bis
zu einem bestimmten Punkt verfolgt, wonach der weitere Verlauf zum
Zielhost nicht mehr aufgezeichnet wird. Die Meldung, die durch das
Traceroute an das System 10 geliefert wird, gibt die IP-Adresse
jedes Hosts an, der vom Quellhost zum Zielhost gefunden wird. Das
Traceroute kann unter Verwendung des DNS auch Hostnamen für jeden
gefundenen Host bereitstellen, wenn es auf diese Weise konfiguriert
ist.
-
Das
Programm Whois fragt Server im Internet ab und kann Registrierungsinformationen
für einen
Domainnamen oder einen Block von IP-Adressen einholen.
-
Ein
bevorzugtes Arbeitsverfahren 100 für das System 10 wird
nun unter Bezugnahme auf 1 und 2 beschrieben.
Bei 102 empfängt
das System 10 eine neue Adresse, für welche eine geografische
Lage gewünscht
wird. Das System 10 akzeptiert neue Zielhosts, die gegenwärtig nicht
in seiner Datenbank 20 enthalten sind oder die neu überprüft werden
müssen.
Das System 10 verlangt entweder die IP-Adresse oder den Hostnamen,
obwohl beide bereitgestellt werden können. Bei 103 überprüft das System 10 vorzugs-,
aber nicht notwendigerweise, die IP-Adresse und den Hostnamen. Das System 10 verwendet
Nslookup, um den Hostnamen oder die IP-Adresse zu erhalten, um zu überprüfen, dass
beide Informationsteile korrekt sind. Als Nächstes stellt das System 10 bei 104 fest,
ob der Zielhost 34 online und betriebsbereit ist, und bewerkstelligt
diese Funktion vorzugsweise durch ein Ping. Wenn der Host 34 nicht
online ist, kann das System 10 die IP-Adresse für eine spätere Analyse
in Abhängigkeit
von den Präferenzen
in der Konfiguration des Systems 10 neu einreihen.
-
Bei 106 bestimmt
das System das Eigentum am Domainnamen. vorzugsweise verwendet das
System 10 ein Whois, um die Organisation zu bestimmen,
welche die IP-Adresse
tatsächlich
besitzt. Die Adresse dieser Organisation ist nicht unbedingt die
Lage der IP-Adresse, aber diese Informationen können für kleinere Organisationen nützlich sein,
deren IP-Blöcke
geografisch oft in einer Lage sind. Bei 107 bestimmt das
System 10 dann den Leitweg, der genommen wird, um den Zielhost 34 zu
erreichen. Vorzugsweise verwendet das System 10 ein Traceroute
am Zielhost 34. Bei 108 nimmt das System 10 den
Leitweg zum Zielhost 34, analysiert ihn und ordnet ihn
in einer Datenbank 20 von gespeicherten Lagen geografisch
zu. Wenn irgendwelche Hosts, die zum Zielhost führen, wie beispielsweise der
Transithost 32, nicht in der Datenbank 20 enthalten
sind, nimmt das System 10 eine Bestimmung im Hinblick auf
die Lage dieser Hosts vor.
-
Bei 109 erfolgt
eine Bestimmung im Hinblick auf die Lage des Zielhosts, und der
Bestimmung wird eine Vertrauensstufe von 0 bis 100 zugeordnet, die
auf der Vertrauensstufe von Hosts basiert, die zu neu gefundenen
Hosts und zu dem Zielhost 34 führen. Alle neuen Hosts und
ihre jeweiligen geografischen Lagen werden dann bei 110 der
Datenbank 20 hinzugefügt.
-
Wenn
der Hostname das Landes-Top-Level-Domainformat (".us", ".uk" usw.) aufweist,
dann gleicht das System 10 zunächst das Land und möglicherweise
den Staat oder die Provinz und Stadt der Herkunft ab. Das System 10 muss
jedoch noch den Internetleitweg für die IP-Adresse abgleichen,
falls die Adresse nicht von dort stammt, wo sie gemäß dem Domain
herzustammen scheint. Wie bereits in dem vorstehenden Beispiel erörtert, ist
die Domain ".md" zwar der Republik
Moldawien zugeordnet, aber sie ist bei den Doktoren der Medizin
(medical doctors) in den Vereinigten Staaten ziemlich beliebt. Demnach
kann das System 10 sich bei der Bestimmung der geografischen
Lage nicht ganz auf die Landes-Top-Level-Domainformate verlassen.
-
Das
Verfahren 100 ermöglicht
dem System 10, das Land, den Staat und die Stadt zu bestimmen,
aus dem/der der Zielhost 34 stammt, und ermöglicht die
Zuordnung einer Vertrauensstufe zu den Einträgen in der Datenbank. Die Vertrauensstufe
wird auf die folgende Art und Weise zugeordnet. In Fällen, in
welchen ein Wählprogramm
verwendet wurde, um den IP-Adressraum zu bestimmen, der durch einen
Internet-Diensteanbieter einem Wählmodempool
zugeordnet wurde, was im Folgenden ausführlicher beschrieben wird,
ist die eingegebene Vertrauensstufe 100. Andere Vertrauensstufen
basieren auf den benachbarten Einträgen. Wenn zwei gleiche Lageeinträge einen
unbekannten Eintrag umgeben, wird dem unbekannten Eintrag eine Vertrauensstufe
des Mittelwerts der bekannten gleichen Lageeinträge gegeben. zum Beispiel könnte eine
Lage, die nur durch das Whois bestimmt wird, eine Vertrauensstufe 35 erhalten.
-
Als
ein Beispiel wird nun eine Probesuche im Hinblick auf den Host "digitalenvoy.net" beschrieben. Zuerst
empfängt
das System 10 bei 102 den Zielhost "digialenvoy.net", und bei 103 führt es eine
DNS-Suche nach dem Namen durch. Der Befehl Nslookup sendet Folgendes
an das System 10 zurück:
- >nslookup digitalenvoy.net
- Name: digitalenvoy.net
- Adresse: 209.153.199.15
-
Das
System 10 führt
bei 104 ein Ping an der Maschine durch, welches dem System 10 verrät, dass der
Zielhost 34 online und betriebsbereit ist. Die Option "–c1" sagt dem Ping, nur ein Paket zu senden.
Diese Option beschleunigt die Bestätigung erheblich. Das Ping
sendet das Folgende an das System zurück:
- > ping –c1 digitalenvoy.net
- PING digitalenvoy.net (209.153.199.15): 56 Datenbytes
- 64 Bytes von 209.153.199.15: icmp_seq=0 tt1=241 Zeit=120,4 ms
- --- digitalenvoy.net Ping-Statistiken ---
- 1 Paket gesendet, 1 Paket empfangen, 0 % Paketverlust
- Umlaufzeit min/mittel/max = 120,4/120,4/120,4
-
Das
System
10 führt
als Nächstes
bei
106 ein Whois bei "digitalenvoy.net" aus. In diesem Beispiel
informiert das Whois das System
10, dass der Anmelder in
Georgia ist.
- Datensatz
zuletzt aktualisiert am 14-Apr-99.
- Datensatz erstellt am 14-Apr-99.
- Datenbank zuletzt aktualisiert am 22-Apr-99 11:06:22 EDT.
-
Domainserver
in aufgelisteter Reihenfolge:
- NS1.MYDOMAIN.COM 209.153.199.2
- NS2.MYDOMAIN.COM 209.153.199.3
- NS3.MYDOMAIN.COM 209.153.199.4
- NS4.MYDOMAIN.COM 209.153.199.5
-
Das
System 10 führt
bei 107 ein Traceroute am Zielhost 34 aus. Das
Traceroute bei "digitalnvoy.net" sendet das Folgende
an das System 10 zurück:
-
- > traceroute
digitalenvoy.net
- traceroute zu digitalenvoy.net (209.153.199.15), max. 30 Etappen,
40-Byte-Pakete
1 130.207.47.1 (130.207.47.1) 6,269 ms 2,287
ms 4,027 ms
2 gateway1-rtr.gatech.edu (130.207.244.1) 1,703
ms 1,672 ms 1,928 ms
3 f1-0.atlanta2-cr99.bbnplanet.net (192.221.26.2)
3,296 ms 3,051 ms 2,910 ms
4 f1-0-atlanta2-br2.bbnplanet.net
(4.0.2.90) 3,000 ms 3,617 ms 3,632 ms
5 s4-0-0.atlanta1-br2.bbnplanet.net
(4.0.1.149) 4,076 ms s8-1-0.atlanta1-br2.bbnplanet.net (4.0.2.157)
4,761 ms 4,740 ms
6 h5-1-0.paloalto-br2.bbplanet.net (4.0.3.142)
73,385 ms 71,635 ms 69,482 ms
7 p2-0.paloalto-nbr2.bbnplanet.net
(4.0.2.197) 82,580 ms 83,476 ms 82,987 ms
8 p4-0.sanjosel-nbr1.bbnplanet.net
(4.0.1.2) 79,299 ms 78,139 ms 80,416 ms
9 p1-0-0.sanjose1-br2.bbnplanet.net
(4.0.1.82) 78,918 ms 78,406 ms 79,217 ms
10 NSanjose-core0.nap.net
(207.112.242.253) 80,031 ms 78,506 ms 122,622 ms
11 NSeattle1-core0.nap.net
(207.112.247.138) 115,104 ms 112,868 ms 114,678 ms
12 sea-atin0.starcom-accesspoint.net
(207.112.243.254) 112,639 ms 327,223 ms 173,847 ms
13 van-atm10.10.starcom.net
(209.153.195.49) 118,899 ms 116,603 ms 114,036 ms
14 hume.worldway.net
(209.153.199.15) 118,098 ms* 114,571 ms
-
Nach
dem Konsultieren der geografischen Lagen, die in der Datenbank
20 gespeichert
sind, analysiert das System
10 diese Etappen auf die folgende
Art und Weise:
-
Das
System 10 ordnet eine Vertrauensstufe von 99 zu, die anzeigt,
dass der Eintrag in der Datenbank 20 enthalten ist und
durch eine Person zur Bestätigung überprüft wurde.
Obwohl Bestätigungen
von Personen durchgeführt
werden können,
wie beispielsweise einem Analysten, kann die Bestätigung gemäß anderen
Aspekten der Erfindung durch ein System künstlicher Intelligenz oder
alle anderen geeigneten zusätzlichen
Systeme, Module, Geräte,
Programme, Entitäten
usw. durchgeführt
werden. Das System 10 behält eine Vertrauensstufe von
100 für
geografische Informationen vor, die durch einen Internet-Diensteanbieter (ISP)
bestätigt wurden.
Der ISP würde
das System 10 mit der tatsächlichen Zuordnung von IP-Adressen
im Hinblick auf die Geografie versorgen. Außerdem wird Daten, die mit
dem System 10 durch Anwählen
von ISPs gesammelt werden, aufgrund einer definiten Verbindung zwischen
der Geografie und der IP-Adresse eine Vertrauensstufe von 100 verliehen.
Viele dieser Hosts, wie beispielsweise der Transithost 32,
werden wiederholt durchlaufen, wenn das System 10 nach
neuen Zielhosts, wie beispielsweise dem Zielhost 34, sucht,
und die Vertrauensstufe ihrer geografischen Lage sollte sich bis
zu einem Höchstwert
von 99 erhöhen,
außer
wenn durch einen ISP bestätigt oder
durch einen Systemanalysten überprüft. Die
Vertrauensstufe kann sich auf zahlreiche Arten und weise erhöhen, wie
beispielsweise um einen eingestellten Grad bei jeder aufeinander
folgenden Bestätigung
der geografischen Lage des Hosts 32.
-
Das
System 10 macht sich allgemeine Benennungskonventionen
zunutze, um zu sinnvollen Schätzungen
im Hinblick auf die geografische Lage der Hosts zu kommen. Zum Beispiel
befindet sich wahrscheinlich jeder Host, der "sanjose" im ersten Teil seines Hostnamens enthält, in San
Jose, Kalifornien, oder ist an ein System angeschlossen, das in
San Jose, Kalifornien, ist. Die vergleichregelsätze sind im System 10 als
Einträge
in der Datenbank 20 implementiert. Die Datenbank 20 kann
Nachschlagetabellen aufweisen, welche geografische Lagen, wie beispielsweise
Stadt, Bezirk, Region, Staat usw., mit entsprechenden Variationen
der Namen aufführen.
Demnach könnte
die Datenbank 20 vielfache Auflistungen für dieselbe
Stadt aufweisen, wie beispielsweise SanFrancisco, SanFran und Sfrancisco,
alle für
San Francisco, Kalifornien.
-
Oft
wird ein Block von IP-Adressen Organisationen zugeordnet oder untergeordnet.
Zum Beispiel kann der IP-Block,
der die Zieladresse 209.153.199.15 enthält, abgefragt werden:
- > whois 209.153.199.15@whois.arin.net
- [whois.arin.net]
- Starcom International Optics Corp. (NETBLK-STARCOM97) STARCOM97 209.153.192.0–209.153.255.255 WORLDWAY
HOLDINGS INC. (NETBLK-WWAY-NET-01) WWAY-NET-01 209.153.199.0–209.153.199.255
-
Aus
den Ergebnissen dieser Abfrage bestimmt das System 10,
dass der große
Block von 209.153.192.0 bis 209.153.255.255 Starcom International
Optics Corp. zugeordnet ist. Innerhalb dieses Blocks hat Starcom
den Block 209.153.199.0 bis 209.153.199.255 der Worldway Holdings
Inc. zugeordnet. Durch weiteres Abfragen dieses Blocks (NETBLK-WWAY-NET-01)
erhält
das System 10 einen Einblick darin, wo die Organisation
existiert. In diesem Fall ist die Organisation in Vancouver, British
Columbia, wie im Folgenden dargestellt.
-
-
-
Domainsystemumkehrabbildung
bereitgestellt durch:
- NS1.MYDNS.COM 209.153.199.2
- NS2.MYDNS.COM 209.153.199.3
-
Mit
der Kombination der Ablaufverfolgung und der IP-Blockadressinformationen
kann das Sammelsystem 10 ziemlich sicher sein, dass der
Host "digitalenvoy.net" sich in Vancouver,
British Columbia, befindet. Da das Sammelsystem 10 diesen
Host unter Verwendung von automatischen Verfahren ohne menschliches
Eingreifen "ermittelt" hat, ordnet das
System 10 vorzugsweise eine Vertrauensstufe zu, die etwas
niedriger als die Vertrauensstufe des Hosts ist, der zu ihm geführt hat.
Außerdem
nimmt das System 10 nicht an, dass die geografische Lage
für die
Organisation und den zugeordneten Teilblock von IP-Adressen dieselbe
ist, da die tatsächliche
IP-Adresse in einer anderen physikalischen Lage sein kann. Die geografischen
Lagen können
leicht sehr verschieden sein, da IP-Blöcke einer anfordernden Organisation
zugeordnet werden und keine Angabe darüber verlangt wird, wo der IP-Block verwendet wird.
-
Ein
Verfahren 111 zum Einholen von geografischen Lagen von
einem ISP wird nun unter Bezugnahme auf 3 beschrieben.
Bei 112 erhält
das Sammelsystem 10 Zugangsnummern für den ISP. Die Zugangsnummern
in der bevorzugten Ausführungsform
sind Wählnummern
und können
auf jede geeignete Art und Weise erhalten werden, wie beispiels weise
durch Eröffnen
eines Kontos beim ISP. Als Nächstes
stellt das System 10 bei 113 durch Verwenden einer
der Zugangsnummern eine Verbindung mit dem ISP her. Wenn das Sammelsystem 10 Verbindungen
mit dem ISP herstellt, ordnet der ISP dem Sammelsystem 10 eine
IP-Adresse zu, welche durch das Sammelsystem 10 bei 114 erfasst
wird.
-
Das
Sammelsystem 10 bestimmt dann bei 115 den Leitweg
zu einem Probezielhost, und es bestimmt diesen Leitweg vorzugsweise
durch ein Traceroute. Der genaue Zielhost, der die Basis des Traceroutes,
sowie das Endziel der Leitwegs bildet, ist nicht von Bedeutung,
so dass jeder geeignete Host verwendet werden kann. Bei 116 analysiert
das Sammelsystem 10 den Leitweg, der durch das Traceroute
erhalten wird, um die Lage des Hosts zu bestimmen, der mit dem ISP
verbunden ist. Demnach sucht das Sammelsystem 10 in einer Rückwärtsrichtung,
um die geografische Lage der nächsten
Etappe im Traceroute zu bestimmen. Bei 117 speichert das
Sammelsystem 10 die Ergebnisse der Analyse in der Datenbank 20.
-
Mit
dem Verfahren 111 kann das Sammelsystem 10 daher
die geografischen Lagen von IP-Adressen mit der Unterstützung der
ISPs erhalten. Da das Sammelsystem 10 den ISP anwählt und
eine Verbindung damit herstellt, führt das System 10 das
Verfahren 111 vorzugsweise derart durch, dass die Last,
die dem ISP auferlegt wird, vermindert wird. Zum Beispiel kann das
Sammelsystem 10 das verfahren 111 außerhalb
der Spitzenlastzeiten für
den ISP, wie beispielsweise während
der Nacht, durchführen.
Außerdem
kann das Sammelsystem 10 die Häufigkeit regeln, mit welcher
es eine Verbindung mit einem bestimmten ISP herstellt, wie beispielsweise
Herstellen von Verbindungen mit dem ISP in 10-Minuten-Intervallen.
-
C. Bestimmen von geografischen
Lagedaten
-
Unter
Bezugnahme auf 4 betrifft die Erfindung gemäß einem
anderen Aspekt ein geografisches Bestimmungssystem 30,
das die Datenbank 20 verwendet, die durch das Sammelsystem 10 erzeugt
wurde. Das Bestimmungssystem 30 empfängt Anfragen um eine geografische
Lage entweder basierend auf der IP-Adresse oder dem Hostnamen des
Hosts, nach dem gesucht wird, wie beispielsweise Zielhost 34.
Ein Anforderer 40 von geografischen Informationen liefert
die Anfrage an das Bestimmungssystem 30 und die Antwort
vom Bestimmungssystem 30 in einer interaktiven Netzsitzung,
die durch das Internet 7 oder irgendein anderes Netz stattfinden
kann. Das Sammelsystem 10, die Datenbank 20 und
das Bestimmungssystem 30 können zusammen als ein Sammel-
und Bestimmungssystem 50 angesehen werden.
-
Ein
bevorzugtes Arbeitsverfahren 120 für das Bestimmungssystem 30 wird
nun unter Bezugnahme auf 5 beschrieben. Bei 122 empfängt das
System 30 eine Anfrage zur geografischen Lage einer Entität, und es
empfängt,
wie bereits erwähnt,
entweder die IP-Adresse oder den Domainnamen oder beide. Bei 123 sucht das
Bestimmungssystem 30 die Datenbank 20 nach der
geografischen Lage für
die bereitgestellten Daten ab und prüft nach, um zu sehen, ob es
die Informationen bereits erhalten hat. Bei der Suche nach einer
IP-Adresse bei 123 versucht das System 30 auch,
entweder genau dieselbe IP-Adresse,
die in der Datenbank 20 aufgeführt ist, oder einen Bereich
oder Block von in der Datenbank 20 aufgeführten IP-Adressen
herauszufinden, der die betreffende IP-Adresse enthält. Wenn
die IP-Adresse, nach der gesucht wird, innerhalb des Blocks von Adressen
ist, betrachtet das Bestimmungssystem 30 dies als eine Übereinstimmung,
die Informationen werden bei 125 abgerufen und die geografischen
Informationen werden bei 126 an den Anforderer 40 geliefert. Wenn
die Informationen in der Datenbank 20 nicht verfügbar sind,
wie bei 124 bestimmt, dann informiert das System 30 bei 127 den
Anforderer 40, dass die Informationen nicht bekannt sind.
Bei 128 bestimmt das System 30 dann die geografische
Lage der unbekannten IP-Adresse
und speichert das Ergebnis in der Datenbank 20. Als eine
Alternative zur Angabe bei 125, dass die geografische Lage
unbekannt ist, könnte
das System 30 die geografischen Informationen bestimmen
und die Informationen an den Anforderer 40 liefern.
-
Das
Bestimmungssystem 30 sucht sowohl nach der IP-Adresse in der Datenbank 20 als
auch nach dem Domainnamen. Da eine einzige IP-Adresse vielfache
Domainnamen haben kann, sucht das Bestimmungssystem 30 nach
engen Übereinstimmungen
mit dem betreffenden Domainnamen. Wenn das System 30 zum
Beispiel nach einem Hostnamen sucht, führt es eine Musterübereinstimmung
im Hinblick auf die Einträge in
der Datenbank 20 durch. Wenn eine Übereinstimmung gefunden wird,
welche dieselbe IP-Adresse suggeriert, sendet das Bestimmungssystem 30 die
geografischen Daten für
diesen Eintrag an den Anforderer 40 zurück.
-
Es
kann eine Unklarheit entstehen, wenn der Anforderer 40 sowohl
eine IP-Adresse als auch einen Domainnamen bereitstellt, und diese
beiden Datenelemente zu verschiedenen Hosts und verschiedenen geografischen
Lagen führen.
Wenn beide Datenelemente geografisch nicht genau übereinstimmen,
dann antwortet das System 30 vorzugsweise mit den Informationen,
welche die beste Vertrauensstufe besitzen. Als ein anderes Beispiel
kann das System 30 auf eine Art und Weise antworten, die
durch den Anforderer 40 definiert wird. Einige Optionen
sind: das Bestimmungssystem 30 kann nur dann eine Meldung
machen, wenn die Daten zusammentreffen und übereinstimmen, es kann im Falle
widersprüchlicher
Ergebnisse keine Informationen liefern, es kann die geografischen
Informationen nur auf der Basis der IP-Adresse liefern, es kann
die geografischen Informationen nur auf der Basis des Hostnamens
liefern oder es kann stattdessen eine beste Schätzung basierend auf dem Maß der Übereinstimmung
zwischen der Adresse und dem Hostnamen liefern.
-
Ein
Probeformat einer Anfrage, die durch den Anforderer 40 an
das Bestimmungssystem 30 gesendet wird, wird im Folgenden
erläutert,
wobei die Suche im Hinblick auf den Host "digitalenvoy.net" erfolgt und die Elemente in Fettdruck
Antworten vom geografischen Bestimmungssystem 30 sind:
- Verbinden mit server.digitalenvoy.net...
- Digitalenvoy.net;
- vancouver;british columbia;can;99;
-
Das
Format der Anfrage und das Format der Ausgabe vom Bestimmungssystem 30 können gemäß der Anwendung
natürlich
geändert
werden und sind keineswegs auf das zuvor bereitgestellte Beispiel
beschränkt.
-
D. verteilen von geografischen
Lagedaten
-
Ein
System zum Verteilen der geografischen Lageinformationen wird nun
unter Bezugnahme auf 6 und 7 beschrieben.
Gemäß einem
ersten Aspekt, der in 6 dargestellt ist, werden die
geografischen Informationen über
IP-Adressen und Domainnamen durch das System 50 gesammelt
und bestimmt. Eine Website 60 kann die geografischen Lagen
ihrer Besucher benötigen
und würde
daher diese Informationen vom Sammel- und Bestimmungssystem 50 abfragen.
Die Website 60 umfasst einen Webserver 62 zum Empfangen
von Anfragen von Benutzern 5 nach bestimmten Seiten und
einen Positionssucher 64, um wenigstens die geografischen
Informationen der Benutzer 5 einzuholen.
-
Ein
bevorzugtes Arbeitsverfahren 130 für das Netz, das in 6 dargestellt
ist, wird nun unter Bezugnahme auf 7 beschrieben.
Bei 132 empfängt
der Webserver 62 von einem Benutzer 5 eine Anfrage
nach einer Webseite. Bei 133 fragt der Webserver 62 den
Positionssucher 64 ab, der bei 134 seinerseits
das Sammel- und Bestimmungssystem 50 nach der geografischen
Lage des Benutzers 5 abfragt. Vorzugsweise sendet der Positionssucher 64 die
Abfrage durch das Internet 7 an das Sammel- und Bestimmungssystem 50.
Der Positionssucher 64 kann die Abfrage jedoch durch andere
Leitwege senden, wie beispielsweise durch eine direkte Verbindung
zum Sammel- und Bestimmungssystem 50 oder durch ein anderes
Netz. Wie bereits erwähnt,
akzeptiert das Sammel- und Bestimmungssystem 50 die IP-Adresse
oder den Hostnamen eines Zielhosts oder beides und sendet die geografische
Lage des Hosts in einem Format zurück, das durch die Website 60 spezifiziert
wird. Bei 135 erhält
der Positionssucher die geografische Lage vom Sammel- und Bestimmungssystem 50,
bei 136 werden die Informationen, die an den Benutzer 5 geliefert
werden, ausgewählt
und bei 137 werden sie an den Benutzer 5 geliefert.
Diese Informationen werden durch den Positionssucher 64 vorzugsweise
basierend auf der geografischen Lage des Benutzers 5 ausgewählt. Alternativ
kann der Positionssucher 64 die geografischen Informationen
an den Webserver 62 liefern, welcher dann die geeigneten
Informationen auswählt,
die an den Benutzer 5 zu senden sind. Wie im Folgenden
ausführlicher
erörtert,
kann die geografische Lage einen Einfluss darauf haben, welcher
Inhalt an den Benutzer geliefert wird, welche Werbung, welche Art
von Inhalt, wenn überhaupt
einer, an den Benutzer geliefert wird, und/oder welcher Umfang von
Inhalt.
-
Als
eine andere Option, die in 8 dargestellt
ist, kann die Website 60 mit einer lokalen Datenbank 66 verbunden
sein, die geografische Informationen über Benutzer 5 speichert.
Unter Bezugnahme auf 9 beginnt ein bevorzugtes Arbeitsverfahren 140 bei 142,
wobei der Webserver 62 eine Anfrage vom Benutzer 5 empfängt. Bei 143 fragt
der Webserver 62 einen Positionssucher 64' nach den geografischen
Lageinformationen ab. Im Gegensatz zum Arbeitsverfahren 130 des
Positionssuchers 64 in 6 und 7 überprüft der Positionssucher 64' als Nächstes zuerst
die lokale Datenbank 66 auf die gewünschten geografischen Informationen.
Wenn die Lageinformationen nicht in der Datenbank 66 sind,
dann fragt der Positionssucher 64' bei 145 die Datenbank 20 ab,
die mit dem Sammel- und Bestimmungssystem 50 verbunden
ist.
-
Nachdem
der Positionssucher 64' die
geografischen Informationen entweder lokal von der Datenbank 66 oder
zentral durch die Datenbank 20 erhalten hat, werden die
gewünschten
Informationen basierend auf der geografischen Lage des Benutzers 5 ausgewählt. Wiederum
kann dieser Auswahlprozess, wie bereits erwähnt, durch den Positionssucher 64' oder durch
den Webserver 62 durchgeführt werden. In jedem Fall werden
die ausgewählten
Informationen bei 148 an den Benutzer 5 geliefert.
-
Sowohl
für den
Positionssucher 64 als auch den Positionssucher 64' kann der Positionssucher
so konfiguriert werden, dass er einen HTML-Code basierend auf dem
Ergebnis der Abfrage der geografischen Lage ausgibt. Ein HTML-Code-basiertes
Ergebnis ist besonders nützlich,
wenn die Website 60 dynamische Webseiten basierend auf
der Lage des Benutzers 5 liefert. Es versteht sich jedoch
von selbst, dass die Ausgabe des Positionssuchers 64 und
des Positionssuchers 64' nicht
auf HTML-Code beschränkt
ist, sondern jede Art von Inhalt oder Ausgabe umfasst, wie beispielsweise
JPEGs, GIFs usw.
-
Eine
Probesuche im Hinblick auf den Host "digitalenvoy.net" ist hier dargestellt (Elemente in Fettdruck sind
Antworten vom Positionssucher 64 oder 64').
- > Verteilungsprogramm
digitalenvoy.net
- vancouver;british columbia;can;99;
-
Das
Format der Ausgabe kann natürlich
verschieden sein, wenn verschiedene Optionen aktiviert oder deaktiviert
werden.
-
Endbenutzer 5 können eine
andere geografische Lage wählen
im Gegensatz zu der, an der sie durch das System 50 identifiziert
wurden, wenn es möglicherweise
eine inkorrekte geografische Lage wählt. Wenn diese Informationen
zurück
zum Positionssucher 64 oder 64' weitergegeben werden, gibt der
Positionssucher 64 oder 64' diese Informationen an das Bestimmungssystem 30 weiter,
welches diese zur späteren
Analyse in der Datenbank 20 speichert. Da diesen Informationen
nicht ganz vertraut werden kann, muss das Sammel- und Bestimmungssystem 50 die
Informationen analysieren und überprüfen und
möglicherweise
ein menschliches Eingreifen wählen.
-
E. Bestimmen von geografischen
Lagen durch einen Proxyserver
-
Eine
Schwierigkeit beim Bereitstellen von geografischen Informationen über einen
Zielhost ist, wenn der Zielhost mit einem Zwischenspeicherungs-Proxyserver
verbunden ist. Ein Zwischenspeicherungsproxy stellt Anfragen im
Auftrag von anderen Netzclients und sichert die Ergebnisse für zukünftige Anfragen.
Dieser Prozess verringert die Menge an abgehender Bandbreite von
einem Netz, die erforderlich ist, und ist demnach eine beliebte
Wahl für
viele Internetzugangsanbieter. Wie zum Beispiel in 10 dargestellt,
kann ein Benutzer 5 mit einem Proxyserver 36 verbunden
sein.
-
In
einigen Fällen
ist diese Zwischenspeicherung unerwünscht, da die Daten darin veralten.
Das Web korrigierte dieses Problem, indem es ein Merkmal aufweist,
durch welches Seiten als nicht zwischenspeicherbar markiert werden
können.
Unglücklicherweise
sehen die Anfragen für
diese nicht zwischenspeicherbaren Seiten noch immer so aus, als
ob sie vom Proxyserver 36 statt von den Endbenutzerrechnern 5 kämen. Die geografischen
Informationen der Benutzer 5 können jedoch häufig erforderlich
sein.
-
Ein
Verfahren 150 zum Bestimmen der geografischen Informationen
des Benutzers 5, der mit dem Proxyserver 36 verbunden
ist, wird nun unter Bezugnahme auf 11 beschrieben.
In der bevorzugten Ausführungsform
hat der Benutzer 5 einen direkten leitwegsteuerbaren Zugang
zum Netz; z.B. funktioniert ein System, das eine Netzadressumsetzung
verwendet, nicht, da die Adresse nicht Teil des globalen Internets
ist. Außerdem
sollte der Proxyserver 36 den Zugang durch beliebige Ports
ermöglichen,
wodurch ein Firmenschutzprogramm, welches den direkten Zugang auf
allen Ports blockiert, nicht funktioniert. Schließlich muss der
Benutzer 5 einen Browser haben, der Java Applets oder eine
gleichwertige Funktionalität
unterstützt.
-
Unter
Bezugnahme auf 11 leitet ein Benutzer 5 bei 152 eine
Anfrage an einen Webserver 62 ein, wie beispielsweise den
Webserver 62, der in 6 oder 8 dargestellt
ist. Bei 153 wird die HTTP-Anfrage durch den Proxyserver 36 verarbeitet,
und es wird kein Treffer im Zwischenspeicher des Proxys gefunden,
da die Seiten für
dieses System als nicht zwischenspeicherbar markiert sind. Im Auftrag
des Benutzers 5 stellt der Proxyserver 36 eine
Verbindung mit dem Webserver 62 her und fragt bei 153 nach
der URL. Bei 154 empfängt der
Webserver 62 entweder durch die lokale Datenbank 66 oder
durch die Datenbank 20 mit dem Sammel- und Bestimmungssystem 50 die
Anfrage, bestimmt, dass sie von einem Proxyserver 36 kommt,
und wählt dann
bei 155 die Webseite aus, die getaggt wurde, um die Bestimmung
der IP-Adresse des Benutzers 5 zu ermöglichen. Die Webseite wird
vorzugsweise mit einem Java Applet getaggt, das verwendet werden
kann, um die IP-Adresse des Endbenutzers 5 zu bestimmen.
Der Webserver 62 bettet ein eindeutiges Appletparameter-Tag
für diese
Anfrage ein und sendet das Dokument an den Proxyserver 36 zurück. Der
Proxyserver 36 sendet das Dokument dann bei 156 an
den Benutzer 5 weiter.
-
Bei 157 führt dann
der Browser des Benutzers 5 das Java Applet aus und durchläuft das
eindeutige Parameter-Tag.
Da Applets standardmäßig das
Recht haben, auf den Host zuzugreifen, von dem sie kamen, öffnet das
Applet im Browser des Benutzers 5 eine direkte Verbindung
mit dem Clientwebserver 62 beispielsweise auf Port 5000,
ohne darauf beschränkt
zu sein. Der Webserver 62 horcht, beispielsweise durch
ein getrenntes Serverprogramm, nach der Verbindung auf Port 5000
und akzeptiert sie. Bei 158 sendet das Java Applet dann
das eindeutige Parameter-Tag an den Webserver 62 zurück. Da die
Verbindung direkt ist, kann der Webserver 62 bei 159 die
korrekte IP-Adresse für
den Benutzer 5 bestimmen, so dass der Webserver 62 das Sitzungs-Tag
nun bei allen zukünftigen
Anfragen, die vom Proxyserver 36 kommen, mit dieser IP-Adresse
verbinden kann.
-
Als
eine Alternative kann der Webserver 62 bei 155 noch
eine Webseite liefern, die ein Java Applet aufweist. Wie bei der
zuvor erörterten
Ausführungsform
wird die Webseite, die das Java Applet aufweist, bei 156 an
den Proxyserver 36 geliefert, und der Benutzer 5 stellt
bei 157 eine Verbindung mit dem Webserver 62 her.
Das Java Applet gemäß dieser
Ausführungsform
der Erfindung unterscheidet sich von dem zuvor erörterten
Java Applet darin, dass das Java Applet bei 158 den Browser
des Benutzers mit dem neu lädt,
was ihm durch den Webserver 62 zu laden aufgetragen wurde.
Das Java Applet gemäß diesem
Aspekt der Erfindung ist nicht mit einem eindeutigen Parameter-Tag verbunden, das
die Notwendigkeit des Bearbeitens und Sortieren der Mehrzahl von
eindeutigen Parameter-Tags reduziert. Stattdessen bestimmt der Webserver 62 bei
diesem Aspekt der Erfindung bei 159 die IP-Adresse und
die geografische Lage des Benutzers 5, wenn das Java Applet
eine Verbindung mit dem Webserver 62 herstellt.
-
II. ZUSCHNEIDEN EINER
INTERNETSITE BASIEREND AUF DER GEOGRAFISCHEN LAGE IHRER BESUCHER
-
Die
Webseite 60 kann die Internetsite basierend auf der geografischen
Lage oder der Internetverbindungsgeschwindigkeit eines Internetbenutzers 5 zuschneiden.
Wenn der Benutzer 5 die Internetsite 60 besucht,
fragt die Internetsite 60 eine Datenbank, wie beispielsweise
die lokale Datenbank 66 oder die zentrale Datenbank 20, über das
Internet ab, welche dann die geografische Lage und/oder Internetverbindungsgeschwindigkeit
des Benutzers basierend auf der IP-Adresse des Benutzers und anderer
relevanter Informationen, die vom „Treffer" des Benutzers auf der Internetsite 60 abgeleitet
werden, zurücksendet.
-
Diese
Informationen können
vom Leitweg zur Maschine des Benutzers 5, vom Hostnamen
des Benutzers 5, den Hosts entlang des Leitwegs zur Maschine
des Benutzers 5, über
SNMP und/oder über
NTP, ohne auf diese Techniken beschränkt zu sein, abgeleitet werden.
Auf der Basis dieser Informationen kann die Internetsite 60 den
Inhalt und/oder die Werbung zuschneiden, die dem Benutzer vorgeführt werden.
Dieses Zuschneiden kann auch ein Umstellen der Sprache der Internetsite 60 auf
die Muttersprache des Benutzers basierend auf der geografischen
Lage des Benutzers, ein Ändern
der Produkte und Werbungen, die auf einer Internetsite gezeigt werden,
basierend auf den geografischen Informationen und anderen Informationen,
die von der Datenbank empfangen werden, oder verhindern des Zugangs
basierend auf der Quelle der Anfrage (d.h. Sites mit Inhalten für „Erwachsene" lehnen Anfragen
von Schulen usw. ab) umfassen, ohne darauf beschränkt zu sein.
Dieses Zuschneiden kann dadurch erfolgen, dass mehrere alternative
Bildschirme oder Sites für
einen Benutzer zur Verfügung
stehen und der Webserver 62 oder der Positionssucher 64 veranlasst
werden, basierend auf den geografischen Informationen des Benutzers
dynamisch die richtige auszuwählen.
Die geografischen Informationen können auch analysiert werden,
um die Site für
potenzielle Internetsite-Inserenten und externe Inhaltsanbieter
effektiv zu vermarkten oder medienreichen Inhalt für Benutzer
bereitzustellen, die genug Bandbreite aufweisen.
-
Die
Verfahren zum Zuschneiden beziehen ein Zurückverfolgen des Wegs zur Maschine
des Internetbenutzers 5, Bestimmen der Lage aller Hosts
auf dem weg, Bestimmen der Wahrscheinlichkeit der Lage der Maschine
des Internetbenutzers und Bestimmen anderer Informationen über die
Hosts, welche mit seiner geografischen Lage verbunden sein können oder
nicht, auf dem Weg zur Maschine des Internetbenutzers, einschließlich derselben,
durch direktes Abfragen derselben nach solchen Informationen (zum
Beispiel durch Verwenden von SNMP oder NTP, ohne darauf beschränkt zu sein)
ein, oder es ist alternativ eine vollständige Datenbank vorhanden,
die aktualisiert werden kann und Informationen über IP-Adressen und Hostnamen
speichert, welche durch eine entfernte Quelle abgefragt werden können, die
dann die Informationen über
den Benutzer zugeschickt bekommen würde.
-
Die
Website 60 ändert
dynamisch den Internetinhalt und/oder die Internetwerbung basierend
auf der geografischen Lage des Internetbenutzers 5, wie
aus den zuvor beschriebenen Verfahren und Prozessen bestimmt. Die
Website 60 präsentiert
einen oder mehrere im voraus gestaltete Bildschirme, Präsentationen
oder gespiegelte Internetsites in Abhängigkeit von den Informationen,
die als ein Ergebnis dessen, dass der Benutzer 5 auf die
Website 60 zugreift, durch die Datenbank gesendet werden.
-
Wie
bereits erwähnt,
kann die Auswahl der geeigneten Informationen, die basierend auf
der geografischen Lage an den Benutzer zu liefern sind, entweder
durch den Webserver 62 oder den Positionssucher 64 oder 64' erfolgen. In
jedem Fall kann die Website den Internetinhalt dynamisch anpassen
und zuschneiden, um den Bedürfnissen
von Internetbenutzern 5 basierend auf ihrer geografischen
Lage und/oder Verbindungsgeschwindigkeit zu entsprechen. Als eine
andere Option kann die Website 60 die Internetwerbung dynamisch anpassen
und zuschneiden, um spezifische Internetbenutzer basierend auf ihrer
geografischen Lage und/oder Verbindungsgeschwindigkeit anzusprechen.
Außerdem
kann die Website 60 Internetinhalte und/oder Internetwerbung
dynamisch an die Muttersprache von Internetbenutzern 5,
welche durch ihre geografische Lage bestimmt werden kann, anpassen
und darauf zuschneiden.
-
Darüber hinaus
kann die Website 60 durch selektives Erlauben oder Nichterlauben
von Zugang den Zugriff auf die Internetsite 60 oder eine
bestimmte Webseite auf der Website 60 basierend auf der
geografischen Lage, der IP-Adresse,
dem Hostnamen und/oder der Verbindungsgeschwindigkeit des Internetbenutzers
steuern. Als ein anderes Beispiel kann die Website Besuche von Internetbenutzern 5 analysieren,
um eine geografische und/oder Verbindungsgeschwindigkeitsaufgliederung
der Internetbenutzer 5 zusammenzustellen, um die Vermarktung
von Internetsites zu fördern.
-
A. Kreditkartenbetrug
-
Zusätzlich dazu,
geografische Lageinformationen zu verwenden, um Informationen an
den Benutzer zu richten, können
die Website 60 oder das Sammel- und Bestimmungssystem 50 einen
Mechanismus für Website-Besitzer
bereitstellen, um mögliche
Fälle von
Online-Kreditkartenbetrug zu erkennen. Wenn ein Benutzer 5 Informationen
eingibt, um eine Online-Bestellung auszufüllen, muss er eine Versand-
und Rechnungsadresse angeben. Die Informationen können im
Hinblick auf die physikalische Lage des Benutzers 5 nicht
aktuell bestätigt
werden. Durch die Erfindung bestimmt die Website 60 die
geografische Lage des Benutzers 5. Wenn der Benutzer 5 eine
Lage eingibt, von der festgestellt wurde, dass er sich nicht darin
befindet, könnte ein
möglicher
Anlass für
einen Betrug vorliegen. Diese Situation würde eine Nachuntersuchung durch
den Website-Besitzer erfordern, um festzustellen, ob die Bestellungsanfrage
seriös
war oder nicht.
-
B. Verkehrsmanagement
-
Zusätzlich zum
Verwenden von geografischen Informationen zum Erkennen von Kreditartenbetrug können die geografischen
Informationen auch beim Managen von Verkehr im Internet 7 verwendet
werden. Zum Beispiel hat unter Bezugnahme auf 12(A) ein Verkehrsmanager 70 den Vorteil
des Erhaltens der geografischen Informationen seiner Benutzer oder
Besucher 5. Der Verkehrsmanager 70 kann die lokale
Datenbank 66 einsetzen, oder er kann mit dem Sammel- und
Bestimmungssystem 50, obwohl nicht dargestellt, verbunden
werden. Nachdem der Verkehrsmanager 70 die geografische
Lage der Benutzer 5 erfasst hat, richtet der Verkehrsmanager 70 die
Anfrage eines Benutzers 5 an den wünschenswertesten Webserver,
wie beispielsweise Webserver A 74 oder Webserver B 72. Wenn der
Benutzer 5 sich zum Beispiel in Atlanta befindet, kann
der Verkehrsmanager 70 die Anfrage des Benutzers an den
Webserver A 74 richten, der in Atlanta stationiert ist. Wenn der
Benutzer 5 sich andererseits in San Francisco befindet,
dann würde
der Verkehrsmanager 70 den Benutzer 5 zum Webserver
B72 lenken, welcher sich in San Francisco befindet. Auf diese weise
kann der Verkehrsmanager 70 den Verkehr zwischen Transithosts
verringern und den Verkehr zum nächst
gelegenen Webserver lenken.
-
Um
den besten Server zum Beantworten einer Anfrage von einem Benutzer
im Netz am effizientesten zu bestimmen, weist der Verkehrsmanager 70 vorzugsweise
einen Plan des gesamten Netzes, wie beispielsweise einen Plan des
Internets, auf. Der Plan kann in der Datenbank 66, derselben
Datenbank 20 wie die geografischen Informationen von Internetbenutzern
oder einer getrennten Datenbank gespeichert sein. Der Plan des Netzes
umfasst idealerweise so viele Informationen als möglich über das
Netz, derart dass der Verkehrsmanager 70 den Verkehr auf
intelligente weise zum geeignetsten Server leiten kann. Die Informationen über das
Netz umfassen, ohne darauf beschränkt zu sein, (1) die Router,
Schalter, Hubs, Hosts und anderen Knoten (zusammen "Knoten") innerhalb des Netzes,
(2) die geografischen Lagen der Knoten; (3) die gesamte Bandbreite,
die an jedem Knoten verfügbar
ist; (3) die verfügbare
Kapazität
an jedem Knoten; (4) die Verkehrsmuster zwischen den Knoten; (5)
die Latenzzeiten und Geschwindigkeiten zwischen den Knoten; (6)
die Gesundheit oder den Status der Verbindungen zwischen Knoten
und den Knoten selbst, wie beispielsweise welche Knoten abgestürzt sind,
welche Verbindung einer Wartung unterzogen wird usw.; und (7) die
historische und vorhergesagte Leistung des Netzes, der Knoten und
Verbindungen, wie beispielsweise Tages-, Saison- und Jahrestendenzen
der Leistung und der vorhergesagten Leistung, die unter Berücksichtigung
der vergangenen Leistung, gegenwärtigen
Daten und Kenntnis von zukünftigen
Ereignissen modelliert wird. Es versteht sich von selbst, dass diese
Liste von möglichen
Informationen, die in der Datenbank gespeichert werden, nur beispielhaft
ist und dass die Datenbank weniger als alle diese Informationen,
sowie auch andere Datenelemente enthalten kann.
-
Wie
zu erkennen ist, könnte
für jedes
große
Netz eine umfassende Datenbank mit diesem Plan des Netzes schnell
unüberschaubar
werden, und die Ermittlung der optimalen Antwortquelle würde einen
erheblichen Aufwand an Zeit und Betriebsmittel in Anspruch nehmen.
Die Zeit, die beim Bestimmen dieses idealen Leitwegs verbracht wird,
kann jeden Gewinn, der durch das Leiten des Verkehrs zu einem schnelleren
Server realisiert werden würde,
sehr leicht aufheben. Aus praktischen Gründen sollten der Verkehrsmanager 70 und die
Datenbank irgendeine Annäherung
oder teilweise Abbildung des Netzes durchführen. Zum Beispiel kann ein
vollständiger
oder halbvollständiger
Plan des gesamten Netzes, wie beispielsweise des Internets, aus
den sachdienlichsten Daten gebildet werden, welche es dem Verkehrsmanager 70 ermöglichen,
Antworten effizient an Benutzer zu liefern.
-
Die
Informationen über
ein Netz können
auf jede Art und weise erhalten werden. Eine Möglichkeit des Vervollständigens
eines Planes des Hauptnetzes und der Infrastruktur wird nun unter
Bezugnahme auf 12(B) beschrieben. Ein Satz
von Maschinen, die in der Figur als Analysatoren dargestellt sind,
wird eingesetzt, um die gegenseitigen Verbindungen zwischen Hosts
zu analysieren und die gesammelten Nutzinformationen in einer oder
mehr Datenbanken zu speichern. Die Analysatoren können jedes
Werkzeug verwenden, um Nutzinformationen einzuholen, wie beispielsweise
das Netzwerkzeug Traceroute, und diese Nutzinformationen umfassen
jeden Host und die direkten Verbindungen, die jeder Knoten zu anderen
Knoten aufweist. Die Analysatoren nehmen die Traceroute-Informationen,
um die Latenzzeit zwischen zwei miteinander verbundenen Knoten zu
bestimmen und um die Geschwindigkeit der gegenseitigen Verbindung
zwischen zwei Knoten zu bestimmen. Da die Traceroute-Informationen
ein Nebenprodukt der Analyse zur Bestimmung der geografische Lage
von Benutzern sind, können
das Sammelsystem, das Bestimmungssystem oder das Sammel- und Bestimmungssystem
als die Analysatoren dienen. Alternativ können die Analysatoren als getrennte Systeme
oder Maschinen bestehen.
-
In
dem Beispiel, das in 12(B) dargestellt
ist, sind 100 Benutzer jeweils mit ihrer eigenen Adresse an einen
einzigen Server, Maschine A, angeschossen, und 100 andere Benutzer
sind jeweils mit ihrer eigenen Adresse an einen einzigen Server,
Maschine C, angeschlossen. Beim Überwachen
des Netzes stellen die Analysatoren fest, dass Maschine A alle Anfragen
stets an Maschine B weitersendet und dass Maschine C alle Anfragen
stets an Maschine B weitersendet. Maschine B ihrerseits sendet Anfragen
von Maschine A und von Maschine C stets an Maschine D weiter. Maschine
D schließlich
weist vielfache Leitwege auf, durch welche sie Benutzeranfragen
senden kann. Da eine Antwort auf jede Anfrage von Benutzern, die
entweder an A oder C angeschlossen sind, durch Maschine D geleitet
wird, behandelt der Analysator beim Abbilden des Netzes alle 200
Benutzer bei Maschine A oder C so, als ob sie die Adresse von Maschine
D hätten.
Durch Beseitigen der Notwendigkeit, die Position und die gegenseitigen
Verbindungen der Maschinen A, B und C analysieren zu müssen, reduziert
der Analysator den Problemsatz auf eine Annäherung, welche überschaubarer
ist. Diese Analyse kann für
alle Adressen durchgeführt
werden, die um Informationen anfragen, die im Netz effizient weitergeleitet
werden.
-
In
dem zuvor erwähnten
Beispiel sendeten Maschine A und C alle ihre Anfragen an Maschine
B weiter, und Maschine B sendete alle Anfragen an Maschine D weiter.
Als Ergebnis konnten die Analysatoren diesen Satz von gegenseitigen
Verbindungen auf ein Modell reduzieren, in welchem die Benutzer
alle mit Maschine D verbunden sind. In Wirklichkeit können Maschine
A und C jedoch etwas von dem Verkehr an andere Maschinen oder aneinander
senden, und Maschine B kann etwas vom Verkehr an andere Maschinen
als an Maschine D senden. Nichtsdestotrotz können die Analysatoren durch
Wahrscheinlichkeit und Statistiken die wahrscheinlichsten Verkehrswege
bestimmen und entsprechende Annäherungen
oder Vereinfachungen des Netzes vornehmen.
-
Der
Verkehrsmanager 70 kann Nutzinformationen über das
Netz auf andere Arten und Weisen als durch die Analysatoren einholen.
Zum Beispiel können
die Komponenten, welche das Netz oder Administratoren des Netzes
bilden, die Knoten und das gesamte Netz überwachen und Leistungsdaten
an den Verkehrsmanager 70 liefern. Außerdem kann der Verkehrsmanager 70 diese
Informationen von Dritten einholen, wie beispielsweise durch andere
Systemen, die zum Sammeln dieser Nutzinformationen imstande sind.
-
Wie
bereits erwähnt,
kann der Verkehrsmanager 70 Verkehr im Netz basierend auf
der geografischen Lage der Ursprungs- und Zielpunkte, wie beispielsweise
Benutzer und Website, und auch basierend auf den geografischen Lagen
von Transitknoten leiten. Manchmal entspricht der Server oder Knoten,
der zu einem Benutzer am nächsten
gelegen ist, nicht unbedingt dem besten Server, um die Anfrage des
Benutzers zu beantworten oder zu bearbeiten. Zum Beispiel sollte
der Verkehr nicht zu einem Server oder Knoten gesendet werden, der
abgestürzt
ist, welcher keine zusätzliche
verfügbare
Bandbreite aufweist oder welcher unterbrochene oder langsame Zwischennetzverbindungen
aufweist. Im Falle eines Server- oder Knotenabsturzes überwachen
die Analysatoren alle Server kontinuierlich, um sicherzustellen,
dass sie eine optimale Leistung liefern. Im Falle von langsamen
oder zusammengebrochenen Netverbindungen überwachen die Analysatoren
alle Verbindungen, welche die Entscheidungen beeinflussen könnten, welcher
Server verwendet werden soll. Schließlich messen die Analysatoren
die gesamte verfügbare
Bandbreite zu einem antwortenden Server und die Verbindungsgeschwindigkeiten
der Benutzer. Durch die Kenntnis der verfügbaren Bandbreite eines Benutzers
infolge des Zuordnens der IP-Adresse zur Verbindungsgeschwindigkeit
kann der Verkehrsmanager 70 den Benutzer zum Server lenken,
der genug Bandbreite aufweist, um diesen Benutzer angemessen aufzunehmen.
Obwohl die geografischen Lagen der Endpunkte und Transitknoten berücksichtigt
werden, leitet der Verkehrsmanager 70 den Verkehr demnach
nicht unbedingt zu den nächst
gelegenen Servern weiter, wenn andere Server, selbst wenn sie weiter
weg sind, einen schnelleren, besseren oder zuverlässigeren
Dienst leisten können.
-
Der
Verkehrsmanager 70 kann überall innerhalb eines Netzes
positioniert werden. Als ein Beispiel kann der Verkehrsmanager 70 mit
einem DNS-Dienst verbunden sein. Bei Verwendung als DNS-Dienst schaltet
sich ein Inhaltsanbieter an den DNS-Dienst an, um zu definieren,
unter welchen Bedingungen und Situationen ein bestimmter Benutzer
zu einem bestimmten Server gesendet werden würde. Diese Bedingungen basieren
zum Beispiel auf der geografischen Lage des Benutzers, der Netzlage
des Benutzers, der Bandbreite und Latenzzeit zwischen dem Benutzer
und verfügbaren
Servern, der verfügbaren
Bandbreite des Benutzers, der verfügbaren Bandbreite des Servers
und der Tageszeit. Der Benutzer wird dann zu dem Server gelenkt, der
seinem Profil basierend auf den Kriterien, die durch den Inhaltsanbieter
aufgestellt werden, am besten entspricht. Die DNS-Antwort würde dann
mit einer Lebensdauer (TTL für
engl. time to live) von 0 gesendet werden, derart dass jede neue
Anfrage durch einen Namensauflösungsprozess
gehen würde,
derart dass der Benutzer zum Zeitpunkt der Anfrage an den geeigneten
Server gesendet wird. In diesem Beispiel des Verkehrsmanagers 70,
der mit einem DNS-Dienst verbunden ist, können der Webserver A 74 und
der Webserver B 72 spiegelbildliche Webserver umfassen, die mit
derselben Website verbunden sind.
-
Als
ein anderes Beispiel kann der Verkehrsmanager 70 mit einem
Server oder Knoten innerhalb des Internets verbunden sein und eine
Umleitung durchführen.
In diesem Beispiel einer HTTL-Umleitung würden beim Bestimmen, wohin
die Benutzer gesendet würden,
dieselben Kriterien verwendet werden. Ein Unterschied ist, dass
der Verkehrsmanager 70 als der Vorschaltteil für eine Website,
wie beispielsweise einen Inhaltsanbieter, agiert und einen Benutzer
von dieser Maschine zu einer geeigneten Maschine umleitet, nachdem
durch einen Benutzer kontaktiert. Wie beim DNS-Beispiel kann der
Verkehrsmanager 70 die Umleitung basierend auf der verfügbaren Bandbreite
an der Servern 74 und 72, den Verbindungsgeschwindigkeiten
der Server 74 und 72, geografischen Lagen, Lastverteilung
usw. durchführen.
-
Der
Verkehrsmanager 70 führt
diese Analyse durch, um den geeigneten Server zu bestimmen, um einen
idealen Benutzerzugang zu haben. Durch Durchführen dieser Reihe von Analysen
wird dem Benutzer die bestmögliche
Leistung gewährleistet.
-
C. Verkehrsmeldung und
Verkehrsmanagement
-
Wie
bereits unter Bezugnahme auf 12(a) und 12(B) erwähnt,
enthalten die Verkehrsmanager Informationen über das Internet oder ein anderes
Netz, wobei diese Informationen Informationen über Knoten, die geografischen
Lagen der Knoten, die gesamte Bandbreite, die an jedem Knoten verfügbar ist,
die verfügbare
Kapazität
an jedem Knoten, Verkehrsmuster zwischen den Knoten, Latenzzeiten
und Geschwindigkeiten zwischen den Knoten, die Gesundheit und den
Status der Verbindungen zwischen Knoten und den Knoten selbst, sowie
historische und vorhergesagte Leistungen des Netzes umfassen. Diese
Informationen können
in den Datenbanken, die mit den Verkehrsmanagern verbunden sind,
beispielsweise in der Form eines Planes des Netzes gespeichert werden.
Wie bereits erwähnt,
können
diese Informationen außerdem
auf zahlreiche Arten und Weisen eingeholt werden. Diese Arten und
Weisen umfassen die Verwendung der Analysatoren, die in 12(B) veranschaulicht sind, durch die Bemühungen der
Verkehrsmanager 70 selbst oder durch andere Systeme.
-
Wie
bereits erwähnt,
können
diese Netzinformationen außerdem
auf zahlreiche Arten und Weisen verwendet werden. Zum Beispiel können diese
Informationen beim Lenken von Verkehr durch den optimalsten oder
effizientesten Leitweg verwendet werden. Beim Auswählen eines
Leitwegs können
die Verkehrsmanager 70 die geografischen Lagen der Ursprungs-
und Zielpunkte, die geografischen Lagen von Transitknoten, die Bandbreite,
die an verschiedenen Knoten verfügbar
ist, den Status von Knoten usw. berücksichtigen. Im Wesentlichen
können
die Verkehrsmanager 70 den Verkehr unter Verwendung irgendeiner
oder aller der Informationen über
das Netz, der Ursprungs- oder
Zielpunkte, oder jedes Transitknotens oder Netzes leiten. Außerdem kann
der Verkehrsmanager 70 überall
innerhalb des Netzes, einschließlich
an einem oder mehreren der Knoten, an den Ursprungs- oder Zielpunkten
oder als ein Teil des DNS-Dienstes, positioniert werden.
-
Die
Informationen, die bei den Verkehrsmanagern 70 verfügbar sind,
spiegeln die normalen Netzverkehrsbedingungen wider. Diese Bedingungen
können
auf Mittelwerten über
einen Zeitraum basieren, wie beispielsweise den vergangenen Tag,
die vergangene Woche, das vergangene Monat oder das vergangene Jahr. Gemäß einem
Aspekt der Erfindung, wie in 12(C) dargestellt,
kommuniziert ein Verkehrsmelder 79 mit den Verkehrsmanagern 70 unter
Echtzeitverkehrsbedingungen. Der Verkehrsmelder 79 sendet
vorzugsweise regelmäßig oder
gelegentlich Verkehrsmeldungen an die Verkehrsmanager und versorgt
diese Verkehrsmanager 70 mit Aktualisierungen über Verkehrsbedingungen
innerhalb des Netzes. Außerdem überwachen
die Verkehrsmanager 70 lokale Bedingungen und liefern Aktualisierungen
an den Verkehrsmelder 79. Der Verkehrsmelder 79 bekommt
Informationen über
Verkehrsbedingungen und andere Netzinformationen von anderen Quellen
als ihm selbst oder den Verkehrsmanager 70, wie beispielsweise
durch die Analysatoren, die unter Bezugnahme auf 12(B) beschrieben wurden. Weitere Einzelheiten über den Verkehrsmelder 79 und
die Funktionsweise der Verkehrsmanager 70 werden im Folgenden
unter Bezugnahme auf 12(D) und 12(E) beschrieben.
-
Ein
Arbeitsverfahren 250 für
die Verkehrsmanager 70 wird nun unter Bezugnahme auf 12(D) beschrieben. Bei 252 stellt der
Verkehrsmanager 70 Leitwegrichtungen basierend auf vorhandenen
Informationen bereit. Der Verkehrsmanager 70 stellt die
Leitwegrichtungen auf jede geeignete Art und Weise bereit, wie beispielsweise
in der Art und Weise, die zuvor unter Bezugnahme auf 12(A) und 12(B) beschrieben wurde.
Zum Beispiel verfügt
der Verkehrsmanager 70 vorzugsweise über eine Datenbank oder einen
Plan des Netzes und weist Informationen über die Netzbedingungen und
den Netzverkehr auf. Bei 254 stellt der Verkehrsmanager 70 fest,
ob er eine Meldung vom Verkehrsmelder 79 empfangen hat.
Bei Empfang einer Verkehrsmeldung aktualisiert der Verkehrsmanager 70 seine
eigene Datenbank bei 256 mit den aktuellsten Verkehrsbedingungen.
-
Bei 258 überwacht
der Verkehrsmanager 70 vorzugsweise lokale Verkehrsbedingungen
im normalen Betriebsablauf während
der Führung
seiner eigenen Datenbank. Wenn der Verkehrsmanager 70 irgendwelche signifikanten Änderungen
erkennt, dann meldet der Verkehrsmanager 70 diese Änderungen
bei 260 dem Verkehrsmelder 79. Der Verkehrsmanager 70 stellt
auf zahlreiche Arten und Weisen, welche das Vergleichen der aktuellen
lokalen Verkehrsbedingungen mit den in der Datenbank gespeicherten
Bedingungen umfassen, fest, ob die Änderungen signifikant sind.
Der Verkehrsmanager 70 kann bei jeder Änderung, bei einer Änderung, die
einen bestimmten absoluten wert überschreitet,
oder wenn die Änderung
einen bestimmten Prozentsatz überschreitet,
bestimmen, dass die Änderungen
signifikant sind. Der Verkehrsmanager 70 fährt dann
bei 252 fort, Leitwegrichtungen basierend auf den Informationen
in seiner Datenbank bereitzustellen.
-
Beim
Aktualisieren und Führen
der Datenbank bei 256 verfügt der Verkehrsmanager 70 vorzugsweise über irgendeine
historische Messung von Netzbedingungen und sichert dann einige
oder alle der Daten, die in den Verkehrsmeldungen erhalten werden,
als Echtzeitverkehrsbedingungen. Die historischen Messungen von Verkehrsbedingungen
werden beim Bestimmen der Verkehrsbedingungen und demnach beim Bereitstellen von
Leitwegrichtungen standardmäßig verwendet.
Der Verkehrsmanager 70 konsultiert vorzugsweise die Echtzeitverkehrsbedingungen,
die durch den Verkehrsmelder 79 bereitgestellt werden,
um festzustellen, ob beim Verwenden des standardmäßigen Datensatzes
eine Ausnahme gemacht werden sollte. Demnach realisiert der Verkehrsmanager 70 bei 252 eine
Zwei-Schritt-Analyse
des Nachsehens bei den in der Datenbank gespeicherten Standarddaten
und anschließenden
Nachsehens, um festzustellen, ob irgendwelche Verkehrsmeldungen
vom Verkehrsmelder 79 einen Einfluss auf eine bestimmte
Anfrage oder einen Einfluss auf das Ändern eines vorläufigen Satzes
von Leitwegrichtungen, die von den Standarddaten abgeleitet sind,
haben.
-
Ein
Arbeitsverfahren 280 für
den Verkehrsmelder 79 wird nun unter Bezugnahme auf 12(E) beschrieben. Bei 282 empfängt der
Verkehrsmelder 79 jede Verkehrsmeldung von den Verkehrsmanagern 70. wie
bereits erwähnt,
können
diese Verkehrsmeldungen, welche durch die Verkehrsmanager 760 erzeugt
werden, für
Echtzeitänderungen
im lokalen Verkehr stehen, welche durch die Verkehrsmanager 70 selbst
erkannt wurden. Bei 282 kann der Verkehrsmelder 79 Netzinformationen
und andere solche Informationen über
Verkehrsbedingungen durch eine andere Quelle, wie beispielsweise
durch die Analysatoren, empfangen. Bei 286 führt der
Verkehrsmelder 79 seine eigene Analyse über das Netz durch, um Ansprechzeiten,
Verkehrsüberlastung,
verfügbare
Bandbreite, verfügbare
Kapazität,
Verkehrsmuster, Latenzzeiten und Geschwindigkeiten, die Gesundheit
und den Status von Verbindungen oder Knoten usw. festzustellen.
Alle der bei 282 oder 286 gesammelten Daten werden
bei 284 beim Aktualisieren einer Datenbank oder eines Planes
des Netzes verwendet.
-
Der
Verkehrsmelder 79 führt
eine Datenbank von Echtzeitbedingungen im Netz und führt vorzugsweise
auch irgendeine Version von historischen Messungen. Bei 288 vergleicht
der Verkehrsmelder 79 die Echtzeitverkehrsbedingungen mit
den historischen Messungen, um festzustellen, ob die Echtzeitverkehrsbedingungen
eine signifikante Abweichung darstellen. Wie beim Verkehrsmanager 70 kann
der Verkehrsmelder 79 auf zahlreiche Arten und Weisen,
welche das Suchen nach irgendwelchen Änderungen der Bedingungen,
dem absoluten wert der Änderung
oder der prozentualen Änderung
umfassen, feststellen, ob Echtzeitbedingungen bedeutsam genug sind.
Wenn die Echtzeitverkehrsbedingungen signifikant sind, dann sendet
der Verkehrsmelder 79 Verkehrsmeldungen an die Verkehrsmanager 70,
derart dass sie von den aktuellsten Verkehrsbedingungen profitieren
können.
Beim Senden der Verkehrsmeldungen bei 290 kann der Verkehrsmelder 79 Verkehrsmeldungen
senden, die auf die geografische Region zugeschnitten sind, in welcher
die Verkehrsmanager 70 sich befinden. Mit anderen Worten,
der Verkehrsmelder 79 sendet keine Echtzeitverkehrsmeldungen
für eine
Region oder einen Abschnitt des Netzes, die für einen Verkehrsmanager 70 nicht
von Interesse sind, sondern er sendet Verkehrsmeldungen an Verkehrsmanager 70,
die mit dieser geografischen Region oder diesem geografischen Gebiet
des Netzes verbunden sind.
-
Ein
Vorteil dessen, dass die Verkehrsmanager 70 Verkehrsbedingungen überwachen
und melden, ist, dass eine genauere Beurteilung von Verkehrsbedingungen
erfolgen kann. Die Genauigkeit und die Beurteilung von Verkehrsbedingungen
verbessern sich mit der Anzahl von Verkehrsmanager 70 und
auch mit der Verteilung der Verkehrsmanager 70 über das
ganze Netz. zum Beispiel veranschaulicht 12(C) sieben
Verkehrsmanager 70, die über die ganzen kontinentalen
USA, mit Ausnahme Alaskas, verteilt sind. In dieser Figur sind die
Verkehrsmanager 70 über
verschiedene Regionen verteilt, wie beispielsweise Nordosten, Südosten,
Mittelwesten, Südwesten,
Nordwesten, Westen und das Gebiet der Rocky Mountains. Diese Darstellung
der Verkehrsmanager 70 ist nur ein Beispiel, und in der
Praxis sind die Verkehrsmanager 70 vorzugsweise mehr als nur
auf regionaler Basis angesiedelt. Wenn die Verkehrsmanager 70 nur
auf dieser regionalen Ebene verteilt wären, dann würde der Verkehrsmelder 79 eine
begrenzte Menge an Informationen haben, die er innerhalb jeder Region
vom Verkehrsmanager 70 empfangen könnte. Bei einer größeren Anzahl
von Verkehrsmanagern 70, die innerhalb jeder Region verteilt
sind, profitiert der Verkehrsmelder 79 nicht nur von zusätzlichen
Informationen über
geografische Lagen oder kleinere Gebiete innerhalb jeder Region,
sondern er kann auch eine Gegenprobe machen, um die Genauigkeit
der Meldung von den Verkehrsmanagern 70 zu gewährleisten. Demnach
können
die Kunden nützlichere
und genauere Informationen vom Verkehrsmelder 79 bekommen, wenn
mehr Kunden diese Verkehrsmeldungen abonnieren, wenn man bedenkt,
dass die Verkehrsmanager, die mit den Websites der Kunden verbunden
sind, den Verkehrsmelder 798 beim Sammeln der Verkehrsmeldungen
unterstützen.
-
III. PROFILSERVER UND
PROFILERMITTLUNGSSERVER
-
Wie
bereits erwähnt,
kann das Sammel- und Bestimmungssystem 50 geografische
Informationen über Benutzer 5 speichern
und diese Informationen für
Websites 60 oder andere Anforderer 40 bereitstellen.
Gemäß einem
anderen Aspekt der Erfindung werden basierend auf den Anfragen von
den Websites 60 und anderen Anforderern 40 andere
Informationen als die geografische Lage der Benutzer 5 verfolgt.
Unter Bezugnahme auf 13 ist ein Profilserver 80 durch
das Internet mit einer Website 60 und auch mit einem Profilermittlungsserver 90 verbunden,
was ebenfalls durch das Internet, durch ein andere Netzverbindung
oder eine direkte Verbindung sein kann. Der Profilserver 80 umfasst
einen Anfragenbearbeiter 82, eine Datenbankservermaschine 83 und
eine Datenbank 84. Wie aus der folgenden Beschreibung besser
ersichtlich, umfasst die Datenbank 84 eine geografische
Datenbank 84A, eine Autorisationsdatenbank 84B,
eine Netzgeschwindigkeitsdatenbank 84C, ein Profildatenbank 84D und
eine Schnittstellendatenbank 84E. Der Profilermittlungsserver 90 umfasst
eine Ermittlungsmaschine 92, einen Profiler 93 und
eine Datenbank 94. Die Datenbank 94 umfasst eine
allgemeine Datenbank 94A für geografische Namen, eine
globale Datenbank 94B der geografischen Struktur und eine
MAC-Adressenbesitzdatenbank 94C.
-
A. Profiler
-
Im
Allgemeinen sammeln der Profilserver 80 und der Profilermittlungsserver 90 Informationen über spezifische
IP-Adressen basierend auf den Interaktionen von Internetbenutzern
mit den verschiedenen Websites 60 und anderen Anforderern 40.
Diese Informationen umfassen, ohne darauf beschränkt zu sein, die Arten von
besuchten Websites 60, Seitentreffer, wie beispielsweise
Sport-Sites, Versteigerungs-Sites, Nachrichten-Sites und e-Commerce-Sites,
geografische Informationen, Bandbreiteninformationen und die Zeit,
die auf den Website 60 verbracht wird. Alle diese Informationen
werden von der Website 60 im Netz zurück in die Datenbank 84 eingegeben.
Diese Informationen werden in der Hochleistungsdatenbank 84 nach
IP-Adressen gespeichert und erzeugen ein ausgefeiltes Profil der
IP-Adresse basierend auf besuchten Websites 60 und Handlungen,
die auf jeder Website getätigt
werden. Dieses Profil wird als eine Reihe von Präferenzen für oder gegen vorbestimmte Kategorien
gespeichert. Eine Interaktion zwischen der Website 60 und
dem Browser des Benutzers 5 ist nicht unbedingt erforderlich,
um das Profil zu führen.
Signifikanterweise erfordert das Profilerstellungsverfahren keine
Verwendung irgendwelcher Cookies, die von den Benutzern als äußerst unangenehm empfunden
werden. Obwohl Cookies nicht bevorzugt werden, können Cookies infolge von Schwierigkeiten,
die durch die Netztopologie hervorgerufen werden, unter sorgfältiger Berücksichtigung
der Datenschutzbelange der Benutzer 5 verwendet werden,
um bestimmte Benutzer 5 zu verfolgen.
-
Wenn
Benutzer 5 auf Websites 60 im Netz zugreifen,
werden Profilinformationen über
die IP-Adresse des Benutzers 5 von der Datenbank 84 an
den Positionssucher 64 oder 64' auf der Website 60 gesendet.
Wie bereits erläutert,
ermöglichen
es der Profilsucher 64 oder 64' oder der Webserver 62,
dass voreingestellte Konfigurationen oder Seiten auf der Website 60 dem
Benutzer 5 dann basierend auf dem detaillierten Profil
dieses Benutzers 5 dynamisch dargestellt werden. Zusätzlich können Präferenzen
von Benutzern 5 ähnlich
jenen eines aktuellen Benutzers 5 verwendet werden, um
den Inhalt vorherzusagen, den der aktuelle Benutzer 5 möglicherweise
zu sehen vorzieht. Die erstellten Profilinformationen könnten Folgendes
umfassen, ohne darauf beschränkt
zu sein: geografische Lage, Verbindungsgeschwindigkeit zum Internet,
Tendenzen zur Vorliebe/Abneigung von Nachrichten, Wetter, Sport,
Unterhaltung, Sportartikeln, Kleidungsstücken usw.
-
Als
ein Beispiel werden zwei Benutzer Alice und Bob genannt. Alice besucht
eine Website www.somerandomsite.com. Diese Site fragt den Profilserver 80,
wie beispielsweise server.digitalenvoy.net, woher Alice kommt und
was sie mag/nicht mag. Die Datenbank 84 hat keine Aufzeichnung über Alice,
weiß aber
von der geografischen Datenbank 84A, dass sie aus Atlanta,
GA, ist, und informiert die Website darüber. Unter Verwendung der geografischen
Informationen sendet die Website Alice eine Webseite, die für ihre geografische Lage
zugeschnitten ist und zum Beispiel die Wettervorhersage für Atlanta
und die neuen Schlagzeilen für
Atlanta enthält.
Alice fährt
mit dem Besuch der Website fort, kauft einen Regenschirm von der
Website und beendet dann ihren Besuch. Die Website lässt den
Profilserver 80 und die Datenbank 84 wissen, dass
Alice einen Regenschirm von der Website gekauft hat. Bob besucht
die Website www.somerandomsite.com. Die Site erkundigt sich wieder
beim Profilserver 80, wie beispielsweise einem server.digitalenvoy.net, über Bob.
Der Server 80 sucht in der Datenbank 84 nach Informationen über Bob
und findet keine. Dennoch sieht er wieder in der geografischen Datenbank 84A nach
und stellt fest, dass er aus Atlanta ist. Außerdem folgert der Profilserver 80 basierend
auf den Daten, die teilweise von Alice gesammelt wurden und in der
Profildatenbank 84D gespeichert sind, dass die Leute von
Atlanta, GA, möglicherweise
gerne Regenschirme kaufen. Die Site verwendet die geografische Lage
von Bob und die Tatsache, dass die Leute aus Atlanta eine Neigung
zum Kauf von Regenschirmen haben, um Bob eine Webseite mit Informationen über Atlanta,
wie beispielsweise das Wetter und Nachrichten, und ein Angebot zum
Kauf eines Regenschirms zu senden. Bob kauft den Regenschirm, und die
Website sendet diese Informationen an der Server 80, um
dadurch eine größere Neigung
der Leute aus Atlanta zum Kauf von Regenschirmen zu zeigen.
-
Wenn
außerdem
das Profil, das in der Profildatenbank 84D im Profilspeicher 80 gespeichert
ist, zeigt, dass eine IP-Adresse vorher mehrere e-Commerce-Sites
und Sport-Sites im Netz aufgesucht hat und dass die Adresse sich
in Kalifornien befindet, kann die Website dynamisch darauf zugeschnitten
werden, Sportartikel zum Verkauf darzustellen, die von Kalifornien
häufiger
gekauft werden, wie beispielsweise Surfbretter. Dieses Verfahren
ermöglicht
kundenspezifischere Erfahrungen für Benutzer auf e-Commerce-
und Informations-Sites.
-
Diese
Informationen können
auch für
Websites im Netz oder außerhalb
des Netzes zusammengestellt werden. Websites außerhalb des Netzes können Profile
der Benutzer erstellen, die normalerweise ihre Website aufsuchen.
Protokolldateien von Websites können
geprüft
werden, und IP-Adressen können
im Hinblick auf die Profilinformationen der IP-Adresse, die auf
dem Hauptserver gespeichert sind, verglichen werden. Dies ermöglicht es
Websites, ihren Verkehr zu analysieren und das allgemeine Profil
von Benutzern zu bestimmen, welche die Site aufsuchen.
-
Um "veraltete" Informationen zu
entfernen, reinigt die Datenbankservermaschine 83 die Datenbank 84 im
Profilserver 80 gelegentlich. zum Beispiel wünscht ein
Benutzer 5, der am Recherchieren von Informationen über eine
Reise interessiert ist, nach erfolgter Reise wahrscheinlich nicht,
weiterhin Promotionen für
die Reise zu sehen. Durch Reinigen der Datenbank 84 werden
alte Präferenzen
entfernt und mit aktuellen Interessen und Wünschen aktualisiert.
-
B. Inhaltsregistrierung
-
Zusätzlich zu
den zuvor dargelegten Beispielen kann der Profilserver 80 einen
Mechanismus für
Endbenutzer 5 zum Registrieren ihres Bedürfnisses
bereitstellen, zu erlauben oder nicht zu erlauben, dass bestimmte
Arten von Informationsinhalten ihren Systemen zur Verfügung gestellt
werden. Eine Registrierung beruht auf der IP-Adresse, und die Registrierungsrechte
sind auf die autorisierten und registrierten Besitzer der IP-Adressen
beschränkt.
Diese Besitzer greifen durch das Internet auf den Profilserver 80 zu
und identifizieren Klassen von Internetinhalten, von denen sie wünschen,
dass es erlaubt oder nicht erlaubt wird, dass sie ihren IP-Adressbereichen
zur Verfügung
gestellt werden. Die Internetinhaltsklassen, die eine bestimmte
IP-Adresse oder ein bestimmter Block von IP-Adressen empfangen darf
oder nicht empfangen darf, werden durch den Profilserver 80 in
der Autorisationsdatenbank 84B gespeichert. Internetinhaltsanbieter,
wie beispielsweise Websites 60, fragen den Profilserver 80 ab,
welcher seinerseits die Autorisationsdatenbank 84B abfragt,
und identifizieren Benutzer 5, die basierend auf dieser
Registrierung der IP-Adresse ihren Inhalt zu empfangen wünschen oder
nicht zu empfangen wünschen.
-
Zum
Beispiel registriert eine Schule ihre IP-Bereiche, und sie registriert beim Profilserver 80,
nicht zu erlauben, dass Inhalte für Erwachsene an ihre Systeme
gesendet werden. Wenn ein Zugriff von Maschinen innerhalb des IP-Bereichs
der Schule auf eine Website für
Erwachsene erfolgt, sieht die Website für Erwachsene beim Profilserver 80 nach
und ermittelt, dass ein Inhalt, der durch de Website für Erwachsene
bereitgestellt wird, keine Erlaubnis hat, an jene IP-Adressen gesendet
zu werden. Statt des Inhalts für
Erwachsene sendet die Website für
Erwachsene eine Nachricht an den Benutzer, dass der Inhalt innerhalb
der Site seiner Maschine nicht zur Verfügung gestellt werden darf.
Diese Reihe von Ereignissen erlaubt es Endbesitzern von IP-Adressen,
den Inhalt zu kontrollieren, der an Maschinen innerhalb ihrer Kontrolle
verteilt und diesen zur Verfügung
gestellt wird.
-
C. Bandbreitenregistrierung
-
Auf
den Profilserver 80 wird auch beim Bestimmen der Inhaltsmenge
gebaut, die an den Benutzer 5 zu senden ist. Websites 60 bestimmen
dynamisch die verfügbare
Bandbreite zu einem bestimmten Benutzer und liefern diese Informationen
an den Profilserver 80, welcher diese Informationen in
der Netzgeschwindigkeitsdatenbank 84C speichert. Außerdem prüft die Website 60 die
Rate und Geschwindigkeit, durch welche ein bestimmter Benutzer 5 imstande
ist, Pakete von der Website 60 herunterzuladen, und die
Website 60 bestimmt die verfügbare Bandbreite von der Website 60 zum
Endbenutzer 5. Wenn eine Überlastung an der Webseite 60,
auf dem Weg zum Endbenutzer 5 oder in der letzten Verbindung
zum Endgerät
des Benutzers 5 vorliegt, begrenzt die Website 60 die
verfügbare
Bandbreite für
diesen Benutzer 5. Basierend auf diesen Informationen kann
die Website 60 die Informationsmenge, die an den Benutzer 5 gesendet
wird, dynamisch verringern und folglich die Herunterladezeiten erhöhen, die
durch den Benutzer 5 wahrgenommen werden. Die Bandbreiteninformationen
werden vorzugsweise an den Profilserver 80 gesendet und
in der Netzgeschwindigkeitsdatenbank 84C gespeichert, derart
dass andere Sites 60 im Netz von diesen Bandbreiteninformationen profitieren
können,
ohne die Bandbreite unbedingt selbst messen zu müssen.
-
Um "veraltete" Bandbreiteninformationen
zu entfernen, reinigt die Datenbankservermaschine 83 die Informationen
in der Netzgeschwindigkeitsdatenbank 84C gelegentlich.
Zum Beispiel bleibt eine Überlastung zwischen
einer Website 60 und einem Benutzer 5 für gewöhnlich nicht
bestehen.
-
D. Schnittstellenregistrierung
-
Websites 60 sind
vorzugsweise auch imstande, die Schnittstelle dynamisch zu bestimmen,
die ein Benutzer 5 aufweist, um die Website 60 zu
sehen. Diese Benutzerschnittstelleninformationen können durch
einen Registrierungsprozess in der Datenbank 84E angeordnet
werden, können
vom ISP bekannt sein oder auf andere Arten und weisen erfasst oder
ermittelt werden. Benutzern von persönlichen digitalen Assistenten
(PDA) wird eine Website 60 mit limitierten oder gar keinen
Grafiken gezeigt, um den begrenzten Speicherkapazitäten der
PDAs entgegenzukommen. Websites 60 fragen den Profilserver 80 ab,
wenn ein Benutzer 5 auf sie zugreift. Der Profilserver 80 seinerseits
fragt die Schnittstellendatenbank 84E ab und ruft, falls
verfügbar,
die Art von Schnittstelle ab, die mit einer bestimmten IP-Adresse
verbunden ist. Der Profilserver 80 speichert alle Benutzer
in der Datenbank 84E und informiert die Website 60 über die
Anzeigeschnittstelle, die der Benutzer 5 aufweist. Basierend
auf diesen Informationen schneidet die Website 60 die Informationen
zu, die an den Benutzer 5 gesendet werden.
-
E. Arbeitsverfahren
-
Ein
bevorzugtes Arbeitsverfahren 160 für den Profilserver 80 und
den Profilermittlungsserver 90 wird nun unter Bezugnahme
auf 14(A) und 14(B) beschrieben.
Bei 162 wird dem Profilserver 80 eine IP-Adresse oder
ein Hostname zur Abfrage angegeben. Bei 163 stellt der
Profilserver 80 fest, ob der Anforderer autorisiert ist,
die Informationen zu erhalten, und teilt dem Anforderer, falls er
nicht autorisiert ist, bei 166 mit, dass die Informationen
unbekannt sind. Die Abfrage bei 163 im Hinblick darauf,
ob der Anforderer autorisiert ist, wird vorzugsweise so durchgeführt, dass
nur jene Entitäten
die Daten erhalten, die für
den Zugang zum Profilserver 80 und dem Profilermittlungsserver 90 gezahlt
haben. Wenn der Anforderer autorisiert ist, dann stellt der Profilserver 80 fest,
ob das Profil der Adresse bekannt ist. Wenn das Profil für diese
Adresse bekannt ist, sendet der Profilserver 80 die angeforderten
Informationen bei 165 an den Anforderer, andernfalls informiert
der Profilserver 80 bei 166 den Anforderer, dass
die Informationen unbekannt sind.
-
Hinsichtlich
Informationen, die dem Profilserver 80 nicht bekannt sind,
gibt der Profilserver 80 die Informationen bei 167 an
den Profilermittlungsserver 90 weiter. Bei 168 bestimmt
der Profilermittlungsserver 90 den Leitweg zur Adresse,
bei 169 holt er Informationen über alle Hosts auf dem Leitweg
vom Profilserver 80 ein, und bei 170 entscheidet
er dann, ob es noch irgendwelche unbekannten Hosts auf dem Leitweg
gibt. Wenn es keine unbekannten Hosts mehr auf dem Leitweg gibt,
dann sendet der Profilermittlungsserver 90 bei 170 eine
Fehlerbedingung zurück
und benachrichtigt den Betreiber.
-
Für jeden
Hostnamen, der auf dem Leitweg übrig
ist, bestimmt der Profilermittlungsserver 90 als Nächstes bei 172,
ob ein Hostname für
den unbekannten Host existiert. Wenn dies der Fall ist, dann versucht der
Profilermittlungsserver 90 bei 173, basierend
auf allgemeinen Hostnamenbenennungskonventionen und/oder globalen
landesbasierten Benennungskonventionen die Lage zu bestim men. Bei 174 prüft der Profilermittlungsserver 90,
ob der Host auf NTP-Abfragen antwortet, und wenn dies der Fall ist,
versucht er bei 174, basierend auf den NTP-Antworten die
Zeitzone zu bestimmen. Bei 176 prüft der Profilermittlungsserver 90,
ob der Host auf SNMP-Abfragen antwortet, und wenn dies der Fall
ist, versucht er bei 177, basierend auf öffentlichen
SNMP-Antworten die Lage, den Maschinentyp und die Verbindungsgeschwindigkeit
zu bestimmen. Als Nächstes
prüft der
Profilermittlungsserver 90 bei 178, ob der Host
eine MAC-Adresse hat, und wenn dies der Fall ist, versucht er, basierend
auf bekannten MAC-Adressübertragungen
den Maschinentyp und die Verbindungsgeschwindigkeit zu bestimmen.
-
Bei 180 bestimmt
der Profilermittlungsserver 90, ob irgendwelche zusätzlichen
unbekannten Hosts existieren. Wenn dies der Fall ist, kehrt der
Profilermittlungsserver 90 zu 172 zurück und prüft, ob ein
Hostname verfügbar
ist. Wenn keine unbekannten Hosts mehr vorhanden sind, interpoliert
der Profilermittlungsserver 90 bei 181 Informationen,
um alle verbleibenden Informationen zu bestimmen, etikettiert bei 182 die
interpolierten Daten zur zukünftigen
Nachprüfung
und sichert bei 183 alle ermittelten und interpolierten
Daten beim Profilserver 80.
-
IV. BESTIMMEN VON GEOGRAFISCHEN
LAGEN INNERHALB EINES PRIVATEN NETZES
-
Ein
Netz gemäß einer
zweiten Ausführungsform
der Erfindung wird nun unter Bezugnahme auf 15 beschrieben.
Das Netz umfasst sowohl ein externes Netz 7, wie beispielsweise
das Internet 7, als auch ein internes Netz 9.
Das interne Netz 9 ist derart aufgebaut, dass jeder Maschine
innerhalb des Netzes eine interne IP-Adresse zugeteilt ist, die mit einer
externen IP-Adresse gepaart ist. Jeglicher Verkehr und jegliche
Datenbeförderung
innerhalb des internen Netzes 9 erfolgt über die
interne IP-Adresse, während
jeglicher Verkehr, der dazu bestimmt ist, vom Netz nach außen zu gehen
oder von außerhalb
des Netzes zu kommen, wie beispielsweise ins und vom Internet 7,
die externe IP-Adresse verwendet. In dieser Art von Netz 9 müssen wenigstens
der Benutzer 5 und der Proxyserver 36 oder eine
andere Schnittstelle mit dem Internet 7 die interne und
externe IP-Paarung kennen, um zu ermöglichen, dass der Verkehr durch
das interne Netz 9 läuft.
Das private Netz kann private Netze, wie beispielsweise ein LAN
oder WAN eines Handelsunternehmens, umfassen oder kann ein halbprivates
Netz, wie das AOL-Netz, sein.
-
In
diesem Netz 9 kann irgendeine spezifische externe IP-Adresse
beliebig mit irgendeiner internen IP-Adresse gepaart werden, solange das
interne Netz 9 weiß,
wie der Verkehr zur internen IP-Adresse zu befördern ist. Solange das interne
Netz 9 die Entsprechung zwischen internen und externen
IP-Adressen kennt, kann jedes Verfahren zum Zuordnen von internen
und externen Adressen eingesetzt werden.
-
Da
die externen Adressen beliebig sein können, weist dieses Netz 9 bestimmte
Probleme beim versuch auf, die geografische Lage des Benutzers 5 basierend
auf seiner externen Adresse zu bestimmen. Zum Beispiel ist ein Effekt
dieser Netzarchitektur, dass jemand, der versucht, das Netz zum
Benutzer 5 zurückzuverfolgen,
die IP-Adresse des Benutzers so sieht, als ob sie eine Etappe vom
Proxyserver 36 entfernt wäre, und keine Transitrouter
innerhalb des internen Netzes 9 sieht. Diese Unfähigkeit
der Zurückverfolgung
innerhalb des internen Netzes 9 kann die Bestimmung der
geografischen Lage des Benutzers 5 in diesem Netz 9 vereiteln,
da alle Benutzer 5 so erscheinen, als ob sie sich in der
Lage des Proxyservers 36 befinden würden.
-
Gemäß der Erfindung
muss zur Bestimmung der geografischen Lage des Benutzers 5 innerhalb
dieser Art von Netz 9 das interne Netz 9 im Allgemeinen
stabil sein. Mit anderen Worten, das Nummerierungsschema innerhalb
des internen Netzes 9 darf sich im Laufe der Zeit nicht
stark ändern.
Normalerweise werden zur effizienten Weiterleitung von Informationen
innerhalb dieser Art von Netz 9 interne IP-Adressen so
zugeteilt, dass sie an einem bestimmten Punkt existieren, derart
dass das gesamte interne Netz 9 weiß, wie Informationen zu ihnen
zu leiten sind. Wenn dies nicht der Fall ist, dann werden Durchsagen
in einer permanenten Weise durch das ganze interne Netz 9 im
Hinblick auf die Lage der internen Adressen gemacht. Diese kontinuierlichen "Durchsagen" rufen einen unnötigen Netzaufwand
hervor.
-
Gemäß dieser
Ausführungsform
der Erfindung umfasst das interne Netz 9 einen internen
Server 99, welcher eine Maschine oder einen Satz von Maschinen
umfassen kann, welche Anfragen von Benutzern 5 im internen
Netz 9 bearbeiten. Im Allgemeinen akzeptiert der interne
Server 99 Anfragen um Informationen und identifiziert die
interne IP-Adresse der anfragenden Maschine, wie beispielsweise
des Benutzers 5, genau. Dadurch, dass der interne Server 99 imstande
ist, die interne IP-Adresse einer anfragenden Maschine genau zu identifizieren,
ordnet er die interne IP-Adresse der anfragenden Maschine der geografischen
Lage dieser internen IP-Adresse zu, um die geografische Lage der
anfragenden Maschine genau zu identifizieren.
-
Ein
Verfahren 200, durch welches die geografische Lage des
Benutzers 5 innerhalb des internen Netzes 9 bestimmt
wird, wird nun unter Bezugnahme auf 16 be schrieben.
Bei 202 fragt der Benutzer 5 mit einer internen
IP-Adresse IPINTERNAL und einer externen
IP-Adresse IPEXTERNAL um Informationen von
einem Server außerhalb
des internen Netzes 9 an. Bei 203 empfängt der
Proxyserver 36 die Anfrage und sendet die Anfrage mit der
externen IP-Adresse
des Benutzers an die Website 60 weiter. Die Website 60 stellt
bei 204 fest, dass die Anfrage von einem privaten internen
Netz ist. Bei 205 stellt die Website 60 basierend
auf der IPexternal des Benutzers 5 fest,
dass innerhalb des Netzes 9 der interne Server 99 zur
Unterstützung
beim Lokalisieren der geografischen Lage des Benutzers 5 vorhanden
ist, und leitet den Benutzer 5 zum internen Server 99 um. Demnach
sendet der Benutzer 5 als Ergebnis dieser Umleitung eine
Anfrage um Informationen an den internen Server 99. Bei 206 sieht
der interne Server 99 die Anfrage vom Benutzer 5 und
stellt fest, dass die Anfrage von der Website 60 umgeleitet
wurde. Der interne Server 99 kann die Umleitung basierend
auf den Informationen, die vom internen Server 99 angefordert
werden, wie beispielsweise auf der Basis der URL der Umleitung, durch
die Verweisungs-URL, die im Kopf enthalten ist oder auf andere Art
und Weise erkennen.
-
Bei 217 bestimmt
der interne Server 99 die geografische Lage des Benutzers 5,
Der interne Server 99 kann die geografische Lage des Benutzers 5 durch
die verfahren gemäß der Erfindung
bestimmen. Sobald die interne IP-Adresse
bekannt ist, führt
der interne Server 99 eine Suche in einer Datenbank mit
Zuordnungen zwischen der internen privaten IP-Adresse und der geografischen
Lage durch. Die Datenbank kann durch Benutzerregistrierung hergeleitet
sein und durch den Anbieter des Netzes oder irgendeine andere Entität geführt werden.
Der interne Server 99 kann daher diese Datenbank abfragen,
um die geografische Lage jedes Benutzers 5 im Netz 9 zu
erhalten.
-
Der
interne Server 99 kann geografische Lageinformationen über die
Benutzer 5 auf andere Arten und Weisen einholen. Zum Beispiel
kann der interne Server 99 einen Leitweg zum Benutzer innerhalb
des Netzes 9 erhalten, geografische Lagen von Transithosts
ableiten und dann den Leitweg analysieren, um die geografische Lage
eines Hosts oder Benutzers 5 zu bestimmen. Als ein anderes
Beispiel kann der interne Server 99 die geografische Lage
direkt von einer Datenbank innerhalb des Netzes 9 erhalten.
Eine Datenbank mit der geografischen Lage jedes Benutzers kann durch
den Proxyserver 36, durch den internen Server 99 oder
durch irgendeine andere Maschine innerhalb des Netzes 9 geführt werden.
Der interne Server 99 kann diese Datenbank daher beim Beantworten
einer Anfrage um die geografische Lage eines Benutzers und/oder
beim Bilden seiner eigenen Datenbank von geografischen Lagen für Benutzer 5 abfragen.
Als noch ein weiteres Beispiel kann der interne Server 99 auch
das Verfahren 111 verwenden, das unter Bezugnahme auf 3 beschrieben wurde.
Zum Beispiel kann diese Datenbank durch eine Beziehung mit einem
Anbieter des Netzes 9, der alle Daten liefert, gefüllt sein.
Die Datenbank kann wenigstens teilweise durch automatisches Anwählen aller
Einwahlzugangspunkte (POP für
engl. point of presence) des Netzanbieters und Feststellen, welche
privaten IP-Adressen an jedem Einwahl-POP verwendet werden, hergeleitet
werden. Der interne Server 99 kann daher die geografische
Lage des Benutzers 5 basierend auf der Zuordnung seiner
IPINTERNAL-Adresse und der geografischen Lage bestimmen.
-
Bei 208 leitet
der interne Server 99 den Benutzer 5 mit den hinzugefügten Informationen über die
geografische Lage des Benutzers 5 zurück zur Website 60 um.
Diese geografischen Informationen können durch Codieren der URL,
durch die Verwendung von Cookies oder durch Verfahren an die Website 60 gesendet
werden. Wie bereits erwähnt,
kann die Website 60 die Informationen, die dem Benutzer 5 geliefert
werden, basierend auf seine geografischen Informationen anpassen.
Die Website 60 kann den Inhalt, die Werbung usw. zuschneiden,
bevor solche Informationen dem Benutzer 5 vorgeführt werden.
Das Verfahren 200 erfordert kein Eingreifen seitens des
Benutzers 5, wobei alle Umleitungen und Analysen automatisch
erfolgen. Außerdem hat
das Verfahren 200 zum Bestimmen der geografischen Lage
von privaten IP-Adressen keinen Einfluss darauf, wie die IP-Adresse
eines einzelnen Benutzers bestimmt wird.
-
Wie
zuvor unter Bezugnahme auf 15 und 16 erläutert, wird
eine Anfrage vom Benutzer 5 innerhalb des privaten Netzes 9 durch
den Proxyserver 36 an die Website 60 gesendet,
welche dann feststellt, ob die Anfrage von innerhalb des privaten
Netzes 9 stammt. Ein alternatives Verfahren 220 zum
Umleiten von Anfragen zum internen Server wird nun unter Bezugnahme
auf 17 und 18 beschrieben.
Bei 221 leitet der Benutzer 5 eine Anfrage ein,
und diese Anfrage wird zum Proxyserver 36 weitergegeben,
welcher zuerst eine Abfrage an einen DNS-Server 8 sendet,
um die IP-Adresse zu erhalten, die mit der Anfrage verbunden ist.
Im Allgemeinen empfängt
der DNS-Server 8 Domainnamenabfragen
und löst
diese Abfragen durch Zurücksenden
der IP-Adressen auf. Bei der Erfindung führt der DNS-Server 8 jedoch
bei 223 keine strikte Suche nach einer IP-Adresse, die
mit der Abfrage vom Benutzer 5 verbunden ist, durch, sondern
stellt stattdessen zuerst fest, ob die Abfrage von innerhalb des
privaten Netzes 9 stammt. Wenn die Abfrage nicht von innerhalb
des privaten Netzes 9 ausging, dann löst der DNS-Server 8 die
Abfrage durch Zurücksenden
der IP-Adresse für den
externen Server 50 auf. Der Benutzer 5 wird daher
zum externen Server 50 gelenkt, welcher bei 226 die geografische
Lage des Benutzers 5 bestimmt und den Benutzer 5 zusammen
mit den geografischen Lageinformationen zur Website 60 umleitet.
Bei 234 verwendet der Webserver 62 die geografischen
Lageinformationen auf irgendeine von zahllosen Arten und Weisen,
wie beispielsweise jene, die zuvor beschrieben wurden.
-
Wenn
der DNS-Server 8 entscheidet, dass die Abfrage innerhalb
des privaten Netzes 9 entstand, dann löst der DNS-Server 8 die
Abfrage bei 230 durch Zurücksenden der IP-Adresse für den internen
Server 99 auf. Folglich wird der Benutzer 5, statt
durch den DNS-Server 8 zum externen Server gelenkt zu werden,
zum internen Server 99 gelenkt. Der interne Server 99 bestimmt
bei 231 die geografische Lage des Benutzers 5 und leitet
den Benutzer 5 bei 232 zusammen mit den geografischen
Lageinformationen zum Webserver 62 um, so dass der Webserver 62 die
Informationen bei 234 verwenden kann. Demnach ist bei der
Erfindung das verfahren 220 dadurch direkter und effizienter,
dass der DNS-Server 8 die Umleitung des Benutzers 5 durchführt, statt
dass der Benutzer 5 vom Proxyserver 36 zum Webserver 62 und
dann zum internen Server 99 gelenkt wird.
-
Die
zuvor erfolgte Beschreibung der bevorzugten Ausführungsformen der Erfindung
wurde nur zum Zwecke der Veranschaulichung und Beschreibung dargelegt
und beabsichtigt weder erschöpfend
zu sein noch die Erfindung auf die konkreten Formen, die offenbart
werden, zu beschränken.
Es sind angesichts der vorstehenden Lehren viele Modifikationen
möglich.
-
In
veranschaulichenden Aspekten der Erfindung wurde der Benutzer 5 durch
einen Personalcomputer (PC) dargestellt. Wie für die Fachleute zu erkennen
ist, können
Benutzer auf zahlreiche andere Arten und Weisen als nur durch einen
PC auf Netze zugreifen. Zum Beispiel kann der Benutzer ein Mobiltelefon,
einen persönlichen
digitalen Assistenten (PDA), Laptop-Computer, digitales TV, WebTV
und andere TV-Produkte verwenden. Die Erfindung kann mit diesen
Arten von Produkten verwendet werden, und sie kann an neue Produkte,
sowie neue Marken, Modelle, Standards oder Varianten von bestehenden
Produkten angepasst werden.
-
Neben
der Tatsache, jede Art von Produkt oder Gerät zu verwenden, kann der Benutzer 5 auf
jede geeignete Art und Weise auf das Netz zugreifen. Das Netz variiert
natürlich
mit dem Produkt, das die Informationen empfängt, umfasst aber, ohne darauf
beschränkt
zu sein, AMPS, PCS, GSM, NAMPS, USDC, CPDP, IS-95, GSC, Pocsag,
FLEX, DCS-1900, PACS, MIRS, e-TACS, NMT, C-450, ERMES, CD2, DECT,
DCS-1800, JTACS, PDC, NTT, NTACS, NEC, PHS oder Satellitensysteme.
Für einen
Laptop-Computer kann das Netz ein zellulares digitales Paketdatennetz
(CDPD für
engl. cellular digital packet data), alle anderen paketvermittelten digitalen
oder analogen Netze, leitungsvermittelten digitalen oder analogen
Datennetze, drahtlosen ATM- oder Rahmenweiterleitungsnetze, EDGE,
CDMAONE oder allgemeinen paketvermittelten Funkdienstnetze (GPRS für engl.
generalized packet radio service) umfassen. Für ein TV-Produkt kann das Netz
das Internet, Koaxialkabelnetze, gemischte Glasfaser-Koaxialkabelsysteme,
Glasfaserverteilungsnetze, Satellitensysteme, terrestrische drahtlose
Rundfunknetze, drahtlose Netze oder Infrarotnetze umfassen. Dieselbe
Art von Netzen, die Informationen an Mobiltelefone und an Laptop-Computer,
sowie andere drahtlose Geräte
liefern, kann auch Informationen an die PDAs liefern. Ähnlich können dieselben
Arten von Netzen, welche Informationen an TV-Produkte liefern, auch
Informationen ein Tischrechner liefern. Es versteht sich von selbst,
dass die Arten von Netzen, die zuvor in Bezug auf die Produkte erwähnt wurden,
nur Beispiele sind und dass andere bestehende, sowie zukünftig entwickelte
Netze eingesetzt werden können
und durch die Erfindung erfasst werden.
-
Wie
bereits erwähnt,
kann die Erfindung beim Leiten von Internetverkehr verwendet werden,
wie beispielsweise bei Anfragen eines Benutzers nach Webseiten.
Obwohl die Anfragen, die von Benutzern 5 ausgegeben werden,
daher Anfragen nach HTML-Seiten umfassen, die durch das World Wide
web gesendet werden, kann der Verkehrsmanager gemäß der Erfindung
beim Leiten oder Lenken anderer Arten von Netzverkehr verwendet
werden. Zum Beispiel können
die Anfragen nicht nur HTML-, sondern auch XML-, WAP-, HDML- und
andere Protokolle einbeziehen. Ferner umfasst die Erfindung Anfragen,
die als Reaktion auf irgendeine menschliche Eingabe oder Maßnahme erzeugt
werden, und auch Anfragen, die keine menschliche Tätigkeit
einbeziehen, wie beispielsweise jene, die durch Systeme oder Geräte automatisch
erzeugt werden. Der Verkehr, der mit der Erfindung geleitet werden
kann, umfasst daher jede Art von Verkehr durch ein Netz oder in
Verbindung mit der Verwendung eines Netzes.
-
Die
Erfindung wurde mit Beispielen beschrieben, welche die IPv4-Technolgie
darstellen, in welcher eine IP-Adresse durch vier ganze 8-Bit-Zahlen
dargestellt wird. Die Erfindung ist nicht nur auf IPv4 beschränkt, sondern
kann auch mit anderen Adressschemata verwendet werden. Zum Beispiel
kann die Erfindung mit der IPv6-Technologie
verwendet werden, in welcher eine IP-Adresse durch eine Reihe von
sechs Zahlen dargestellt wird.
-
Die
Ausführungsformen
wurden gewählt
und beschrieben, um die Grundsätze
der Erfindung und ihrer praktischen Anwendung zu erläutern, um
Fachleute zu befähigen,
die Erfindung und verschiedene Ausführungsformen und mit verschiedenen
Modifikationen, wie für
die jeweilige beabsichtigte Verwendung geeignet, zu verwenden.