DE60037502T2 - Domänennamen-Auflösungssystem mit einem oder mehreren Servern - Google Patents

Domänennamen-Auflösungssystem mit einem oder mehreren Servern Download PDF

Info

Publication number
DE60037502T2
DE60037502T2 DE60037502T DE60037502T DE60037502T2 DE 60037502 T2 DE60037502 T2 DE 60037502T2 DE 60037502 T DE60037502 T DE 60037502T DE 60037502 T DE60037502 T DE 60037502T DE 60037502 T2 DE60037502 T2 DE 60037502T2
Authority
DE
Germany
Prior art keywords
request
database
domain name
server
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60037502T
Other languages
English (en)
Other versions
DE60037502D1 (de
Inventor
Ronald Northbrook LACHMAN
Steve Michael Plya Del Ray HOTZ
William Carl El Segundo MANNING
Alec Harkness Lakewood PETERSON
Michael Allen Phoenix HOTZ
Rodney L. Phoenix JOFFE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ultradns Inc Danville
UltraDNS Inc
Original Assignee
Ultradns Inc Danville
UltraDNS Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ultradns Inc Danville, UltraDNS Inc filed Critical Ultradns Inc Danville
Publication of DE60037502D1 publication Critical patent/DE60037502D1/de
Application granted granted Critical
Publication of DE60037502T2 publication Critical patent/DE60037502T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Peptides Or Proteins (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Description

  • Ein Abschnitt der Offenbarung dieses Patentdokuments enthält Material, welches Gegenstand eines Urheberrechts- bzw. Copyrightschutzes ist. Der Urheberrechtsinhaber hat keinen Einwand gegen eine originalgetreue Wiedergabe sowohl durch das Patentdokument als auch die Patentoffenbarung, wie sie in der Akte bzw. Datei oder in den Datensätzen des Patent- und Markenamtes erscheint, aber er behält sich andererseits alle Urheberrechte welcher Art auch immer vor.
  • HINTERGRUND
  • 1. BEREICH DER ERFINDUNG
  • Diese Erfindung betrifft im Allgemeinen verbesserte Domänennamen-Server, und insbesondere effiziente Verarbeitung von Domänennamen-Anforderungen in einem Netzwerk, wie zum Beispiel dem Internet.
  • 2. HINTERGRUND
  • Das Internet hat eine Informationsrevolution durch die Entwicklung von mit Computern ausgestatteten Informationsquellen, Online-Diensten und des World-Wide-Web (WWW) mit sich gebracht. Das Internet wachst schnell mit einer sich vergrößernden Zahl von Computern und Benutzern, welche täglich mit dem Internet verbunden werden.
  • Damit Vorrichtungen bzw. Geräte (Computer, Drucker und dergleichen) an einem Netz, wie beispielsweise dem Internet, in der Lage sind, miteinander zu kommunizieren, müssen die Geräte Adressen der anderen kennen (oder fähig sein, diese festzulegen). Viele Verteilungssysteme (z. B. das Internet) weisen Gerätenamen in dem Verteilungssystem durch ein hierarchisches Namensgebungsschema zu, welche als Domänennamen bekannt sind. Ein Internet-Domänenname ist im Allgemeinen eine Folge von Domänenkennsätzen bzw. -labeln, die durch Punkte voneinander getrennt sind. Zum Beispiel ist „a.ultradns.com" ein Domänenname, wobei „com" ein Hauptdomänenname einer obersten Domäne, „ultradns" ein Domänenname zweiter Stufe einer Domäne zweiter Stufe und „a" ist ein Domänenname dritter Stufe einer Domäne dritter Stufe. Ein Gerät in einer Domäne ist durch den Namen des Gerätes gefolgt von dem Domänenname gekennzeichnet. Somit weist ein Gerät mit der Kennung „Server" in der „a.ultradns.com"-Domäne den Namen „server.a.ultradns.com" auf. Ein Gerätename wird auch als ein Domänenname bezeichnet. Das Domänennamen-System (DNS) ist eine verteilte hierarchische Datenbank, welche Client-/Server-Transaktionsservern umfasst, die ein Mapping von Domänennamen zu zugehörigen Informationen, z. B. zu IP-Adressen, bereitstellen.
  • Während Domänennamen ein Verteilungssystem in einer logischen und hierarchischen Art und Weise aufteilen, werden Nachrichten zwischen Geräten des DNS durch Identifizierung von Geräten unter Verwendung spezifischer IP-Adressen übertragen. In dem vorliegenden Internetprotokoll, sind IP-Adressen 32-Bit-Zahlen, welche als vier 8-Bit-Werte (z. B. vier Zahlen in dem Bereich von 0 bis 255) durch Punkte getrennt, z. B. „121.121.121.2", ausgedrückt. IP-Adressen enthalten Informationen, wie zum Beispiel als Netzwerkidentifizierer („ID") einer Gerätenetzwerkverbindung und eine Geräte-ID. IP-Adressen werden von einer Adressenautorität zugeordnet. Die Adressen werden in Blöcken maßgeblichen Adressenservern zugeordnet.
  • Eine umfassende Beschreibung des Betriebs von Domänennamen-Servern und IP-Adressen wird in DNS and BIND In A Nutshell, Paul Abitz and Cricket Liu, O'Reilly & Associates, 1994, ISBN: 1-56582-010-4 gegeben, was hier durch Bezugnahme aufgenommen ist.
  • IP-Adressen beziehen sich aufeinander in einer hierarchischen Weise. Somit stellt das DNS auch ein „Reverse Mapping" von IP-Adressen zu Domänennamen unter Verwendung einer Darstellung einer IP-Adresse, welche dem DNS-Indexierungsmodell folgt, bereit. Jedoch sind die Domänennamen-Hierarchie und die IP-Adressen-Hierarchie nicht direkt aufeinander bezogen. Während einige Namenserver auch Adressenserver sind, müssen Namen- und Adressenserver nicht dasselbe Gerät sein. Somit ist es für einen Server möglich, die Autorität zur Auflösung eines Domänennamens in eine korrespondierende IP-Adresse eines Gerätes zu besitzen, wobei der gleiche Namenserver nicht dazu fähig sein kann, die IP-Adresse in den korrespondierenden Domänennamen des gleichen Gerätes aufzulösen. Somit folgt eine Auflösung von IP-Adressen in Domänennamen einem ähnlichen Prozess wie eine Auflösung von Domänennamen in IP-Adressen mit der Ausnahme, dass unterschiedliche Server daran beteiligt sind.
  • Da IP-Adressen numerisch ausgeführt und nicht wie Domänennamen ohne Bezug auf die logische und hierarchische Organisation des DNS zugeordnet sind, werden Domänennamen im Allgemeinen bei Anweisungen für Funktionen, wie beispielsweise Datenübertragungen, verwendet. So identifiziert eine Datenübertragungsanweisung das Empfangsgerät über seinen Domänennamen. Der Domänenname muss jedoch in eine zugehörige IP-Adresse übersetzt werden, bevor die Datenübertragung stattfinden kann.
  • Domänennamen werden durch maßgebliche Geräte, die Namenserver genannt werden, gesteuert. Das heißt, Domänennamen-Server führen die Aufgabe von Umwandlung von Namen in IP-Adressen durch. Namenserver übersetzen Domänennamen in korrespondierende IP-Adressen und umgekehrt. Wenn ein erstes Gerät eine Nachricht an ein zweites Gerät, das nur durch seinen Domänennamen bekannt ist, übertragen will, muss das erste Gerät bei einem Namenserver eine Anforderung stellen, um die korrespondierende IP-Adresse zu dem bekannten Domänennamen des zweiten Gerätes zu erhalten.
  • EP 0817444 A2 offenbart ein kontextabhängiges Auflösungssystem für Namen mit Mehrfachbindung, wobei ein Namenauflöser ein Anfrage empfängt und der beabsichtigte Empfänger der Anfrage auf Grundlage einer Kombination von einem oder mehreren vorher festgelegten Kriterien aufgelöst wird. Die Anfrage wird dann zu einem ausgewählten Bestimmungsort weitergeleitet.
  • Es wird geschätzt, dass sich im Verlauf des Jahres 2003 die Zahl von Domänen im Internet zehnfach vergrößern wird, wobei 150 Millionen Domänen überschritten werden. Verbunden mit diesem Anstieg der Zahl von Domänen wird es einen Anstieg einer Benutzermissstimmung geben. Derzeitige Implementierungen des Domänennamen-Systems sind gänzlich ungeeignet und unfähig, resultierende DNS-Dateigröße oder die Größe und Frequenz von Änderungen zu diesen DNS-Dateien zu handhaben. Schon heute existieren reale Probleme mit Inhaltszugriff und/oder Inhaltsverteilung über dem Internet. Es wird geschätzt, dass zehn bis dreißig Prozent von Verbindungsereignissen im Internet erfolglos oder ungenügend sind.
  • ZUSAMMENFASSUNG
  • Die vorliegende Erfindung schafft eine skalierbare und flexible Plattform zur Bereitstellung von globalen Adressenverzeichnisdiensten. In einigen Ausführungen verwendet die Erfindung redundante Datenserver zur Bereitstellung von allgegenwärtigem und hochleistungsfähigem Zugriff auf Adressenverzeichnisdienste. Das System von Server übt eine Hebelwirkung auf die Skalierbarkeit und Wiederholmechanismen aus, welche von kommerzieller Datenbanksoftware bereitgestellt werden. Das DNS gemäß der vorliegenden Erfindung weist ein zugrundeliegendes modulares Design auf, welches zusätzliche Leitungsprotokolldienste gestattet, die leicht in dem System aufnehmbar sind, und ermöglicht es zusätzlichen Modulen, intelligente/dynamische Reaktionen bereitzustellen, indem Änderungen in dem Datendepot beeinflusst werden.
  • In verschiedenen Aspekten schafft die vorliegende Erfindung:
    • • Unterstützung von Dienstmodellen im großen Maßstab besser als alternative DNS-Server.
    • • Integration von weiteren Internetdiensten, z. B. „Whois", in einem einzelnen Datendepot.
    • • Einen Multithreading fähigen Server zur Bereitstellung einer Skalierbarkeit zur Auswertung von Hardware auf kommerziellem Stand.
    • • Eine modulare Datenbankimplementation zur Erleichterung der Hinzufügung von neuen Merkmalen.
    • • Eine Datenbankreproduktion zur leichten Steuerung von verteilten Server, und Datenbank-Backup-Eigenschaften zur Bereitstellung von Datenintegrität.
  • Global verteilte Serverreplikas schaffen die Zuverlässigkeit, den Durchsatz und die kurze Verzögerung, welche zur Skalierung eines breiten kommerziellen Dienstes erforderlich sind. Die Server sind unter Verwendung fortschrittlicher Internet-Routing- Mechanismen, welche auf den Zustand von individuellen Servernachbildungen reaktionsfähig sind.
  • Mehrfachserver schaffen einen erhöhten Systemdurchsatz, Zuverlässigkeit bei dem Vorkommen von Serverfehler, Zuverlässigkeit bei dem Ereignis eines Provider-Netzwerkfehlers, und nächste Servermechanismen dienen als Grundlage für fortschrittlichen Umleitungsdienst.
  • Ausführungen der Erfindung schaffen ein DNS-System basierend auf einer informationszentrierten Konstruktion, wobei Mehrfachsystemkomponenten mit einem Systemzustand zusammenwirken, der in der Datenbank aufrecht erhalten wird. Die Datenbank stellt sowohl die prinzipielle Internetinformationen und die erforderlichen Verbindungen und die erforderliche Konfiguration zur Spezifizierung des Betriebs der aktiven Komponenten bereit. Das System gestattet reduzierte Betriebspersonalanforderungen durch Unterstützung einer Kunden-Benutzerschnittstelle zur direkten Steuerung von Benutzerdaten mit integrierter Sicherheit und Datenvalidierung zur Aufrechterhaltung von Datenintegrität.
  • Die vorliegende Erfindung schafft auch:
    • • Datenaktualisierung über Mehrfachbenutzerspezifische Kundenschnittstellen, Progarmmier-APIs oder Internetdienste, wie beispielsweise dynamische DNS-Updates.
    • • Fein abgestufte Sicherheit basierend auf einer Verbindung zwischen Login und Datenobjekten.
    • • Modulare aktive Komponenten zum Berichten bzw. Reporting, Berechnen und Prüfen von Datenintegrität.
  • In einem Aspekt schafft diese Erfindung ein System zur Verarbeitung von Domänennamen-Anforderungen. Das System weist einen Anfragemechanismus auf, der (a) zur Erlangung einer Benutzeranfrage für Antwortdaten korrespondierend zu einem besonderen Domänennamen konstruiert und ausgelegt ist; und (b) vollständige Antwortdaten in einer einzelnen Antwort auf die Benutzeranforderung bereitstellt. Die Benutzeranfrage kann eine Domänennamen-Auflösungsanforderung sein, wobei in diesem Fall der Anfragemechanismus eine Internetprotokoll-(IP-)Adresse korrespondierend zu dem Domänennamen bereitstellt. Das System passt Benutzeranfragen für weitere eingegebene DNS-Daten an.
  • In einigen Ausführungen ist ein Anfragemechanismus weiterhin so konstruiert und angepasst, um die Antwort in Abhängigkeit von Kontextdaten zu liefern. Die Kontextdaten können zumindest (a) Kontextdaten von der Anfrage; (b) Kontextdaten von dem System; und (c) globale Kontextdaten aufweisen.
  • Die Kontextdaten können Adressendaten aufweisen, welche eine Adresse des Benutzers; die Ortszeit; und/oder den Ort des Systems angeben.
  • In einigen Ausführungen weist das System einen Daten-Cache auf, und der Anfragemechanismus ist so konstruiert und angepasst, um bei Empfang einer Benutzeranfrage zuerst zu versuchen, eine Antwort auf die Benutzeranfrage in dem Daten-Cache zu finden.
  • In einigen Ausführungen ist der Anfragemechanismus weiterhin dahingehend konstruiert und ausgebildet, (a) wenn die Antwort in dem Daten-Cache vorhanden ist und die Antwort frisch bzw. aktuell ist, die Antwort direkt von den im Cache gespeicherten Daten zu senden; und, (b) wenn die Antwort in dem Daten-Cache vorhanden ist und die Antwort veraltet ist, oder die Antwort nicht in dem Daten-Cache vorhanden ist, dann die Antwort von einer Datenbank zu erhalten; die Antwort zu senden; und den Daten-Cache zu aktualisieren, um die erhaltene Antwort widerzuspiegeln.
  • Manchmal weisen Daten in dem Daten-Cache eine maximale Lebensdauer auf, welche von der Lebenszeit für einen niedrigsten Resourcen-Datensatz in einer vollständigen Antwort bis zu dem maximalen Cache-Zeitwert dauert, der für das System als ganzes konfiguriert ist.
  • In einigen Ausführungen ist der Anfragemechanismus weiterhin so konstruiert und angepasst, um ein negative Cache-Speicherung so zu implementieren, dass, wenn eine Anfrage für einen Host gestellt wird, der nicht in einer aktiven Domäne vorhanden ist, die negative Antwort in dem Cache gespeichert wird.
  • In einem weiteren Aspekt ist die Erfindung ein Verfahren zum Bereitstellen einer Internetprotokoll-(IP-)Adresse eines von einer Vielzahl von Geräten im Internet. Das Verfahren weist folgende Verfahrensschritte auf: Erhalten einer Benutzeranfrage für eine IP-Adresse, welche zu einem besonderen Domänennamen korrespondiert; und bereitstellen der IP-Adresse in einer einzelnen Antwort auf die Benutzeranfrage. Das Verfahren kann ein Bereitstellen der IP-Adresse in Abhängigkeit von Kontextdaten aufweisen. Die Kontextdaten können zumindest (a) Kontextdaten von der Benutzeranfrage; (b) lokale Kontextdaten; und (c) globale Kontextdaten umfassen.
  • In einem noch weiteren Aspekt ist die Erfindung ein System, welches ein Netzwerk von verteilten Domänennamen-Servern (DNS) aufweist, wobei jeder DNS eine Datenbank und einen Anfragemechanismus aufweist, der so konstruiert und angepasst ist, um von der Datenbank eine Benutzeranfrage für Antwortdaten korrespondierend zu einem besonderen Domänennamen zu erhalten, und vollständige Antwortdaten in einer einzelnen Antwort auf die Benutzeranfrage bereitzustellen. Die Datenbanken in dem Netzwerk sind nachgebildet.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Aufgaben und Vorteile der Erfindung werden unter Betrachtung der folgenden detaillierten Beschreibung im Zusammenhang mit den begleitenden Zeichnungen ersichtlich, in welchen die Bezugszeichen sich überall auf gleiche Teile beziehen, und in welchen
  • 1 eine Übersicht von Ausführungen der vorliegenden Erfindung im Betrieb innerhalb des Internets bereitstellt; und
  • 2 den logischen Aufbau des Datenbankschemas gemäß den Ausführungen der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Mit Bezug auf 1 weist ein Domänennamen-Server (DNS) 100 (DNS1) gemäß der vorliegenden Erfindung eine Datenbank 102 mit einem eindeutigen Datenbankschema und einem komplementären eindeutigen SQL-Interface 104 auf. Ein Anfragemechanismus 106 verwendet das SQL-Interface 104, um eine Anfrage an die Datenbank 102 zu stellen und um Ergebnisse an anfragende Benutzer, z. B. Benutzer 108, zurückzugeben.
  • Die vorliegende Erfindung kann auf zwei Stufen betrachtet werden, nämlich auf einer Serverstufe (z. B. DNS1 100) und auf einer Systemstufe (z. B. DNS1, DNS2, ..., DNSn).
    • 1. Serverstufe: Auf der Serverstufe stellt diese Erfindung einen Mechanismus bereit, welcher es einem DNS-Server (z. B. DNS1 100) gemäß der vorliegenden Erfindung ermöglicht, eine genügende Leistungsfähigkeit (ca. tausende von Anfragen pro Sekunde) auch dann zu erreichen, wenn die zugrundeliegende Datenquelle eine Basisdatensuche bei einer Geschwindigkeit von hunderten von Anfragen pro Sekunde unterstützt. Eigenschaften dieser Serverstufe, die unten ausführlich diskutiert wird, umfassen Folgendes: • Aggregierte Datenbankanfragen • Common-Case-Optimierungen • Daten-Cache (und konsequenterweise erforderliche Cache-Invalidierungsmechnismen)
    • 2. Systemstufe: Auf der Systemstufe stellt diese Erfindung Mechanismen bereit, welche einem System von DNS-Servern (z. B. DNS1, DNS2, ..., DNSn in 1) eine verbesserte/integrierte Steuerung von Daten ermöglicht und verschiedene Stufen zur Leistungsverbesserung für eingehende Anfragen und interne Transaktionen bereitstellt. Eigenschaften dieser Systemstufe, die unten ausführlich diskutiert wird, umfassen Folgendes: • Modulares datenzentriertes Design • Datenbanklayer-Synchronisation • Einzelne IP-Adressen-Angaben von nachgebildeten Server
  • Die Serverstufenmechanismen gemäß der vorliegenden Erfindung ermöglichen es dem DNS-Server eine höhere Transaktionsdurchsatzrate zu erlangen. Die Systemstufenmechanismen arbeiten synergistisch und gestatten es dem DNS-System gemäß der Erfindung einen mannigfaltigen Satz an Eigenschaften und Vorteilen bereitzustellen.
  • Die Serverstufenmechanismen gemäß der vorliegenden Erfindung ermöglichen das modulare datenzentrierte Design und die Datenbanklager-Synchronisation.
  • SERVERSTUFENMECHANISMEN
  • Eine Namenserverantwort auf eine DNS-Anfrage erfordert einen komplexen Satz von Berechnungen, welcher Folgendes ermöglicht:
    • (a) unterschiedliche zurückzugebende Antworten in Abhängigkeit von den Serverautoriäten;
    • (b) unterschiedliche Antworten in Abhängigkeit von den vorhandenen Domänennamen-Daten; und
    • (c) dem Server, eine Antwort zurückzugeben, welche mehrfach wechselseitig abhängige Abschnitte umfasst.
  • Genauer gesagt muss ein DNS-Antwortalgorithmus zumindest das Folgende aufweisen:
    • • Drei Antwortabschnitte: Antworten, Autorität und Zusätzliches
    • • CNAME (Domänennamen-Alias) Dereferenzierung
    • • Wildcard-Übereinstimmung (Übereinstimmung von führenden Superstrings)
    • • Iterative Domänennamen-Suche (Übereinstimmung der längsten erkannten Domänennamen)
  • Herkömmliche (aus dem Stand der Technik) DNS-Server führen viele getrennte Anfragen an die Datenquelle aus, um die korrekten Datensätze zum Einfügen in eine Antwort festzulegen. Folglich wird die Transaktionsrate des DNS-Servers um einen ähnlichen Faktor reduziert (z. B., wenn acht Datenbankanfragen erforderlich sind, wird die Transaktionsrate um einen Faktor von ungefähr acht verringert). Der DNS-Server gemäß der vorliegenden Erfindung reduziert die durchschnittliche Anzahl von Anfragen zur Konstruktion einer DNS-Antwort in signifikanter Weise im Vergleich mit herkömmlichen so genannten „straight-forward" bzw. „geradeaus" Algorithmen, welche von vielen getrennten Anfragen an die Datenquelle abhängig sind.
  • Aggregierte Datenbankanfragen
  • Der DNS-Server gemäß der vorliegenden Erfindung benutzt zusammengesetzte Datenbankanfragen derart, dass eine einzelne Anfrage Datensätze mit vielfachen Komponenten zurückgegeben kann, die erforderlich sind, um eine DNS-Antwort zu konstruieren. Außerdem werden Datenbankanfragen so korreliert, dass in Fällen, in welchen mehrfache Anfragen erforderlich sind, anschließende Anfragen basierend auf Datensätzen, die bei früheren Datenbankanfragen erhalten wurden, optimiert werden können. Die DNS-Anfragestrategie ist gemäß der vorliegenden Erfindung ist wie folgt:
    • (a) Abrufen von Kombinationen von Antwort, Autorität und Zusatz- Datensätzen in einer einzelnen Anfrage;
    • (b) Abrufen von verfügbaren CNAME-Datensätzen zusammen mit Antwort/Autorität/Zusatz- Datensätzen; und
    • (c) Reduzieren von iterativer Overhead-Domänennamen-Suche durch Korrelierung von Datensätzen aus unterschiedlichen Iterationen.
  • Mit dieser Erfindung kann die Anzahl von Datenbankanfragen, die zum Aufbau einer vollständigen DNS-Antwort erforderlich sind, so gering wie eine sein. Dies ist eine beträchtliche Verbesserung im Vergleich zu einer ähnlichen Strategie, die auf einfa chen Datenbankanfragen basiert, welche eine separate Anfrage für jede von Antworten und Autorität, und mehrfache Anfragen für Zusatz-Datensätze erfordert.
  • Common-Case-Optimierungen
  • Im Allgemeinen sind Common-Case-Optimierungen in Systemen wirksam, in welchen es Folgendes gibt: eine Zahl von getrennten potenziellen Ergebnissen (a) mit unterschiedlichen Wahrscheinlichkeiten eines Vorkommens; (b) erforderliche variierende Stufen von inkrementalem Overhead; und (c) wo eine Festlegung erfolgen kann, dass ein spezifisches Ergebnis ohne eine erschöpfende Ergebnisanalyse erreicht worden ist.
  • Die vorliegende Erfindung erkennt, dass eines Common-Case-Optimierung auf die Datenbankanfragestrategie des DNS-Servers anwendbar ist, und hat zwei spezifische Optimierungen basierend auf einer Kenntnis von DNS-Protokollen und des erwarteten eingehenden Anfragestroms identifiziert. Das DNS-System gemäß der vorliegenden Erfindung implementiert diese Optimierungen, indem der Test für jeden (und die Handhabung von jedem) Fall als separates Codesegment ausgelegt wird, und unterstützt diesen Code zur Handhabung der Aufgabe vor der Ausführung jedes allgemeinen Anfragekodes.
  • Fall #1:
  • Der DNS-Server gemäß der vorliegenden Erfindung enthält eine maßgebliche Antwort auf eine Domänennamen-Anfrage, die ein Label länger ist als der Domänenname der Zone (z. B. mit einem Zonennamen „foo.com" ist dann eine Optimierung wirksam für „www.foo.com", aber nicht für „www.mkt.foo.com").
  • Fall #2:
  • Der DNS-Server gemäß der vorliegenden Erfindung hat den Subdomänennamen der nächsten Stufe delegiert (z. B. ist die eingehende Anfrage für den Domänennamen „www.mkt.foo.com", welcher in der Zone „foo.com" liegt, dann ist die Optimierung wirksam, wenn die „mkt.foo.com"-Zone subdelegiert worden ist).
  • Die Verwendung dieser spezifischen Optimierungen schließt nicht die Entwicklung von zusätzlichen Optimierungen aus. Die fundamentale Realisierung und die Anforderungen bleiben unverändert, wobei es Common-Case-Optimierungen gestattet wird, auf Ergebnisse angewendet zu werden, die auf revidierten Ergebniswahrscheinlichkeiten basieren.
  • Insbesondere stützen sich weitere spezifizierte Common-Case-Optimierungen auf Restriktionen der Datensätze in der Datenbank, um die Validität der Anfrageantwort zu garantieren. Zum Beispiel eine Verallgemeinerung von Fall #1 (oben), welche Domänennamen-Anfragen für beliebige Länge optimiert (z. B. liegt die eingehende Anfrage für den Domänennamen „www.unit.mkt.foo.com" innerhalb der Zone für „foo.com"). Dieser Fall kann optimiert werden, wenn keine Konflikt erzeugenden Datensätze vorhanden sind, z. B. irgendein Datensatz, der den gemachten Vorrang für den Optimierungsfall ändern könnte (z. B. ein dazwischen kommender NS-Datensatz oder ein Wildcard-Datensatz verbunden mit dem Domänennamen „mkt.foo.com" würde eine Wirkung auf das obige Beispiel von „www.unit.mkt.foo.com" in Zone „foo.com" ausüben).
  • Zusätzlich ermöglicht die DNS-Anfragestrategie gemäß der vorliegenden Erfindung, dass ein flexibler/dynamischer Optimierungscode erstellt werden kann, wo z. B. eine spezifische Abwicklung von individuellen Common-Case-Optimierungen mit jeder Zone basierend auf vorherige Kenntnis oder beibehaltene Statistiken über jede Zone verbunden ist. Diese Technik kann so angewendet werden, dass die beste Strategie bei der Auflösung jeder Zone, jedes Servers oder irgendeiner identifizierbaren Klasse von Anfragestrom ausgewählt wird.
  • Daten-Cache und Cache-Invalidierung
  • Dynamischer Daten-Cache ist ein Mechanismus, der angewendet wurde, um Leistungsfähigkeit bei vielen Systemtypen zu erreichen, aber nie zuvor benutzt wurde, um einen schnellen Zugriff auf Datenquellen von maßgeblichen Daten innerhalb eines Domänennamen-Servers bereitzustellen.
  • Das Domänennamen-System wurde mit einem integrierten „Zeit zu leben" (TTL) Cache-Mechanismus konstruiert, und es werden drei Beispielanwendungen von Cache irgendwo innerhalb des Internet und Domänennamen-Systems angegeben.
    • • Anwendungen wie beispielsweise Web-Browser behalten häufig Kopien von DNS-Datensätzen, die sie bei Verarbeitung von HTTP-Anfragen erhalten haben, bei und benutzen anwendbare DNS-Datensätze für anschließende Anfragen. Diese Verwendung von Cache behält weder maßgebliche Daten bei noch beeinflusst sie direkt den Betrieb eines DNS-Servers.
    • • Cache ausführende DNS-Server (auch bekannt als rekursive Server oder „Hilfs-" Server) stellen eine separate Funktion von „hosting" DNS-Servern bereit. Rekursive Server arbeiten zu Gunsten einer Anwendung (z. B. ein Web-Browser eines Benutzers) und fragen eine hierarchische Reihe von Hosting-DNS-Servern zum Erhalt der erforderlichen DNS-Antwort an. Daten, die im Verlauf einer DNS-Anfrageauflösung erhalten wurden, können beibehalten werden und zur Beschleunigung von anschließenden DNS-Anfragen benutzt werden, bis jede spezifizierte Lebensdauer eines jeden Datensatzes ausgelaufen ist. Dies ist eine fundamentale Verwendung innerhalb des DNS, aber sie adressiert nur das Verhalten von nicht maßgeblichen Servern, wenn maßgebliche Daten gehandhabt werden.
    • • Herkömmliche primäre DNS-Server (z. B. wie durch die „Bind"-Serververteilung verkörpert) lesen alle maßgeblichen Domänendaten direkt aus Dateien in einen Computerspeicher und beantworten Anfragen basierend auf einer vollständig im Speicher residenten Kopie aller Domänendaten. Im Gegensatz zu den obigen Cache-Beispielen ist dies keine Anwendung eines dynamischen Cache, sondern ist eine statische Kopie von DNS-Daten, welche sich basierend auf wohlbekannten Cache-Kriterien wie Benutzungshäufigkeit weder ändert oder ersetzt wird noch irgendwelche dynamischen Mechanismen zur Beibehaltung einer Cache-Konsistenz verkörpert. Es gibt keinen dynamischen Mechanismus für einen „Cache-Miss", welcher das Standard-Alternativ-Verfahren einer Durchführung einer Back-Up-Anfrage an die Primärquelle (d. h. kein Cache) einschließt.
  • Gemäß Ausführungen der vorliegenden Erfindung hält der DNS-Server einen internen dynamischen Cache von kürzlich benutzten maßgeblichen DNS-Datensätzen aufrecht, die von der Datenbankquelle stammen. Zwei Ausführungen werden spezifiziert: (1) bei welcher individuelle Resourcen-Datensätze separat im Cache gespeichert werden und eine anschließende DNS-Antwort die individuellen Datensätze umfassen; und (2) bei welcher die gesamte Antwort auf eine DNS-Anfrage im Cache als eine Sammlung gespeichert wird und sofort für eine anschließende Anwort verfügbar ist, wobei ein Overhead beseitigt wird, der zur Konstruktion einer vollständigen Antwort erforderlich ist. Die Strategie zur Handhabung eingehender DNS-Anfragen weist eine Untersuchung des internen Cache für effizienten Zugriff auf Daten auf, und wenn nicht verfügbar, wird eine anschließende Anfrage an die Primärdatenquelle (Datenbank) ausgeführt. Diese Mechanismen werden sowohl für „positiven Cache", d. h. wenn die Daten vorhanden sind, und „negativen Cache" durchgeführt, d. h. wenn der Server maßgeblich antworten kann, dass die Daten nicht vorhanden sind.
  • Der DNS-Server gemäß der vorliegenden Erfindung weist auch Cache-Ersatzmechanismen zur Steuerung der Menge von „veralteten" (nicht häufig benutzten) Daten in dem Cache auf, und zur Ermöglichung einer wirksamen Nutzung von Cache und Systemresourcen. Mehrfache Ausführungen existieren zur Entfernung von DNS-Daten aus dem Cache basierend auf Häufigkeit oder Gebrauchsaktualität.
  • Cache-Invalidierung
  • Ein dynamisches Cache-System muss Cache-Invalidierungs-Mechanismen aufweisen, um zu gewährleisten, dass die Daten im Cache zu dem Zustand der Primärdatenquelle korrespondieren. Dies macht es erforderlich, dass Datenteile aus dem Cache entfernt (oder in ihm ersetzt) werden, wenn sich die korrespondierenden Daten innerhalb der Primärdatenquelle ändern. Dies ermöglicht ein DNS-Server gemäß der vorliegenden Erfindung zu exakten Widerspiegelung der korrekten Daten innerhalb des Systems.
  • Der DNS-Server gemäß der vorliegenden Erfindung ist durch eine Anzahl von zugehörigen Cache-Invalidierungs-Mechanismen verwirklicht, welche den vollständigen Bereich von Transaktionstypen adressieren, die auf die Primärdatenquelle angewendet werden können, und den Typ von Cache-Daten, die in dem System aufrecht erhalten werden können. Der Designraum, welcher die Cache-Transaktionen von Interesse fest legt, wird von der Tabelle unten dargestellt, welche vierundzwanzig unterschiedliche Cache-Invalidierungs-Transaktionen spezifiziert, die von der Cache-Invalidierungs-Strategie der Erfindung adressiert werden können. Es ist zu beachten, dass jeder durch eine besondere Ausführung der Erfindung adressiert werden muss, und dass einige Cache-Invalidierungs-Mechanismen mehrfache Invalidierungserfordernisse adressieren werden.
    Datensatz-Cache Anfrage-Cache (Antworten) Anfrage-Cache (maßgeblich) Anfrage-Cache (zusätzlich)
    Löschen aus Primärdatenbank Positiv gegen Negativ Positiv gegen Negativ Positiv gegen Negativ Positiv gegen Negativ
    Hinzufügen zu Primärdatenbank Positiv gegen Negativ Positiv gegen Negativ Positiv gegen Negativ Positiv gegen Negativ
    Modifizieren in Primärdatenbank Positiv gegen Negativ Positiv gegen Negativ Positiv gegen Negativ Positiv gegen Negativ
  • Mehrfache Invalidierungsmechanismen können zusammen angewendet werden, dergestalt, dass jeder eine Untergruppe der potenziellen Cache-Interaktionen und Erfordernisse adressiert. Weiterhin können diese Mechanismen variierende Kriterien zur Aktualität von Dateninvalidierungen verkörpern, entsprechend der Bedeutung, die jeder Untergruppe zugewiesen ist. Wenn zum Beispiel ein Cache-Vorgang von vollständigen DNS-Antworten erfolgt, können die Daten innerhalb eines Antwortabschnitts kritischer betrachtet werden als die Daten innerhalb eines maßgeblichen Abschnitts. In diesem Fall können Mechanismen verwendet werden, die unmittelbar auf Aktualisierungen von Daten in dem Antwortabschnitt reagieren, während andere weniger rechtzeitige Mechanismen schließlich die Datensätze innerhalb des maßgeblichen Abschnitts invalidieren.
  • SYSTEMSTUFENMECHANISMEN
  • Die Systemstufenmechanismen gemäß der vorliegenden Erfindung arbeiten synergistisch, wobei das DNS-System gemäß der vorliegenden Erfindung ermöglicht wird, eine verbesserte/integrierte Steuerung von Daten zu schaffen und einen Bereich einer Leistungsverbesserung für eingehende Anfragen und interne Transaktionen bereitzustellen.
    • • Modulares datenzentriertes Design
    • • Datenbanklayer-Synchronisation
    • • Einzel-IP-Adressen-Angabe von nachgebildeten Servern
  • Modulares datenzentriertes Design
  • Der DNS-Domänennamen-Server gemäß der vorliegenden Erfindung (z. B. DNS1 100 aus 1) trennt die Funktionalität des monolithischen Standard-Internet-Servers in zwei getrennte Komponenten: ein kommerzielles Datenbanksystem wie die Datenquelle und einen DNS-Leitungsprotokoll-Server, der zur Beantwortung von Anfragen basierend auf maßgeblichen DNS-Daten von der Datenbankkomponente ausgebildet ist. Die Architekturauswahl schafft ein klares modulares Design, welches seinerseits eine flexible und skalierbare Plattform bereitstellt, die eine Hebelwirkung zur Bereitstellung einer mannigfaltigen Gruppe von Eigenschaften und Erfindungen ist.
    • • Datenzentrierte Modellierung und funktionale Servermodulerweiterungen – Das Zweikomponentendesign gestattet modulare Erweiterungen sowohl für das Datenmodell als auch für die Funktionen (z. B. Server), welche auf dem System betrieben werden. Ausführungen dieser Erfindung umfassen, sind aber nicht darauf beschränkt, ein oder mehr Benutzerschnittstellen bzw. -interface zur Datenverwaltung bzw. zum Datenmanagement, Transaktionsprozessoren zur Bereitstellung eines dehnbaren API zum Datenmanagement, Internet-Systemmonitore, welche einen externen Systemzustand abfragen können (z. B. Webserververfügbarkeit) und Änderungen der Datenquelle beeinflussen können, und Server für weitere Internet-Directory-Server (z. B. whois, radius, etc.).
    • • Integrierte Zugriffssteuermechanismen – Eine Verwendung einer Datenbankquelle für DNS-Daten gestattet mehrere prinzipielle zu modellierende und steuernde Objekte (z. B. Benutzer und andere Netzwerkdatenschemata). Eine signifikante Eigenschaft des DNS-Domänenmanagement-Systems gemäß der vorliegenden Erfindung ist die Fähigkeit die Zugriffsmuster „mang-to-mang" von Benutzern, welche auf Domänennamen-Daten zugreifen, zu steuern und zu delegieren.
    • • Anfrage- und kontextspezifische Antworten – Herkömmliche (Stand der Technik) DNS-Server verwenden als Eingabe ein <Domänenname, Anfragetyp, Anfrageklasse>-Tupel und geben die geeignete Resourcendaten zurück. Das DNS-System gemäß der vorliegenden Erfindung hat die grundlegende Anfrage/Antwort-Transaktion durch Einfügen von zusätzlichen Feldern innerhalb des Datenmodells so verbessert, dass die Antwort auf eine Anfrage auf zusätzlichen Kriterien basieren kann. Diese Kriterien können Daten aufweisen, welche aus der eingehenden Anfrage erhalten werden (z. B. Quellen-IP-Adressen), welche dem lokalen Server verfügbar sind (z. B. Tageszeit oder Serveridentität), und ähnlichen Kontext oder anfragespezifische Daten.
    • • Dynamisch konfigurierbare DNS-Datensatztypen – Der DNS-Server gemäß der vorliegenden Erfindung ermöglicht es, neue Resourcen-Datensatztypen festzulegen und unmittelbar in das System aufzunehmen. Basierend auf Resourcen-Datensatzschablonen, die in dem Datenmodell eingeschlossen sind, kann der DNS-Server gemäß der vorliegenden Erfindungssystem neue Datensatztypen in Minuten ohne zusätzliche Codeentwicklung auf niedrigem Level einarbeiten. Dies steht im Gegensatz zu dem Herkömmlichen (Stand der Technik), wobei ein Einsatz eines neuen Resourcen-Datensatztyps beträchtliches Programmierdesign auf niedrigem Level und Codierung erfordert, und erforderlich macht, dass ein neuer Server binär auf allen anwendbaren Maschinen einsetzbar ist. Außerdem, kombiniert mit kontextspezifischen Antworten (oben) können Domänenadministratoren ihre eigenen „lokalen" Typen festlegen, die spezifisch zu den Antworten sind, welche für ihre DNS-Domäne zurückgegeben werden.
    • • Fähigkeit zur Entfaltung und Beibehaltung eines Stand-der-Technik-Datenmanagementdienstes basierend auf Handels- bzw. Gebrauchsimplementationen von Core-Datenbanktechnologien. Die konventionellen (Stand der Technik) Systeme für Domänennamen-Systemmanagement setzen integrierte Ad-Hoc-Implementationen von Datenbanktechnologie ein, welchen es an fortschrittlichen Datenbankeigenschaften mangelt, und machen es schwierig, neue Eigenschaften basierend auf Datenbanktechnologiefortschritten anzuwenden.
  • Datenbanklager-Synchronisation
  • Das DNS-System gemäß der vorliegenden Erfindung hält eine Datenkonsistenz zwischen vielen redundanten Servern (z. B. DNS1, DNS2, ..., DNSn in 1) aufrecht, indem Änderungen an den gesteuerten bzw. gehandhabten Daten unter Verwendung einer Transaktionsverarbeitung auf Datenbanklevel weitergeleitet werden. Dies weist Vorteile gegenüber herkömmlichen (Stand der Technik) Konsistenzmechanismen auf, welche auf Transaktionen auf einem Anwendungslevel basieren. Diese Vorteile umfassen Folgendes:
    • • Virtuelle unmittelbare Weiterleitung von Änderungen an Domänennamen-Systemdaten. Dies ist besonders wichtig, wenn unrichtige Daten korrigiert werden müssen, oder wenn sich kritische Domänendaten häufig ändern und Veränderungen schnell erkennbar sein müssen. Zum Beispiel besitzt eine der am häufigsten geänderten Zonen ".COM" auch die größte Anzahl an Datensätzen. Unter Verwendung von herkömmlichen (Stand der Technik) Systemen ist ".COM" auf historische Weise auf periodische Zwölf-Stunden-Aktualisierungen bzw. – Updates eingeschränkt. Unter Verwendung des DNS-Systems der vorliegenden Erfindung werden Änderungen an ".COM" üblicherweise innerhalb von 5 bis 15 Minuten weitergeleitet.
    • • Fähigkeit zur Akzeptanz und Weiterleitung von Änderungen an Domänennamen-Systemdaten von vielen Servern, und folglich die Fähigkeit dazu, Datenmanagement verlässlicher mit besserer Systemverfügbarkeit und Leistungsfähigkeit durchzuführen. Dies ist im Gegensatz zu herkömmlichen (Stand der Technik) Systemen, welche nicht die erforderlichen Konfliktauflösungsmechanismen aufweisen, um viele Quellen von Aktualisierungstransaktionen zu unterstützen.
  • Einsatz von Einzel-IP-Adressen für nachgebildete Server
  • Global verteilte Servernachbildungen (z. B. DNS1, DNS2, ..., DNSn) schaffen die Zuverlässigkeit, den Durchsatz und die geringe Verzögerung, welche erforderlich sind, um einen breiten kommerziellen Dienst zu skalieren bzw. maßstäblich zu ändern. Die Server sind zusammen gebunden, indem fortschrittliche Internet-Routing- Mechanismen benutzt werden, welche auf den Zustand von individuellen Servernachbildungen reaktionsfähig sind. In bevorzugten Ausführungen teilt sich jedes DNS-System gemäß der vorliegenden Erfindung eine gemeinsame IP-Adresse und unterstützt eine Namenservernachbildung. Die geteilte IP-Adressen werden in das Internet-Routing-Mesh von jedem Server so eingegeben, dass Internet-Router IP-Pakete zu dem nächstgelegenen topologischen gerichtet werden. Jede Servernachbildung wird auf korrektes Verhalten hin überwacht, und die IP-Route wird zurückgezogen, wenn der Server nicht länger auf DNS-Anfragen antwortet. Diese Mechanismen schaffen die folgenden Vorteile:
    • • Benutzer-DNS-Anfragen werden zu der nächstliegenden DNS-Nachbildung gerichtet, was die aufgetretene Verzögerung für DNS-Auflösung minimiert.
    • • Durchgangsserver und Netzwerkfehler sind für eine Benutzer-DNS-Anfrage und Anwendungstransaktion transparent. Server, die nicht erreichbar oder funktional sind, sind unsichtbar, und DNS-Anfragen kommen bei dem nächsten funktionalen Server an, ohne dass sie die Verzögerung für Standard-DNS-Unterbrechung und Rückübertragung erfahren.
    • • Das DNS-System erlangt Benutzer-Proximitydaten basierend auf der Servernachbildung, welche die Benutzer-DNS-Anfrage empfängt. Diese Daten können benutzt werden, um auf Proximity basierende Antworten zu liefern, um Benutzer zu nahegelegenen Anwendungsservern zu leiten.
  • IMPLEMENTIERUNG
  • DIE DATENBANK
  • Dieser Abschnitt beschreibt das einzige Datenbankschema der Datenbank 102.
  • ÜBERSICHT
  • Die Datenbank gemäß bevorzugter Ausführungen dieser Erfindung ist entsprechend dem folgenden einzigen Datenbankschema organisiert und strukturiert. Das Datenbankschema weist vierzehn (14) Tabellen auf. Nur drei (3) dieser Tabellen beinhalten aktuelle Daten (d. h. DNS & Kontakt), die anderen elf (11) Tabellen werden gebraucht, um die Daten zu steuern. Das Schema ermöglicht jemandem Management bzw. Verwaltung, auf welche Daten er Zugriff hat, wie auf diese zugegriffen werden kann, wer neue Daten erzeugen kann, und wie sie für Gebrauch des Systems in Rechnung gestellt werden können.
  • Die von dem DNS-Server 100 verwalteten Daten sind (a) Kontaktdaten, (b) Zonendaten, und (c) Resourcen-Datensatz-Informationen. Obwohl Zonen und Resourcen-Datensätze miteinander in Beziehung stehen, muss das System die Fähigkeit besitzen sie getrennt zu verwalten. Der Grund dazu besteht darin, dass auf unterschiedliche Benutzer gezielt ist, von denen einige den Server 100 zur Verwaltung einer ganzen Zone für sie benutzen möchten, und von denen einige gerade individuelle Resourcen-Datensätze (in einer besonderen Zone) eingeben wollen.
  • Für jedwede Daten, die in das System eingegeben werden können, gibt es zwei eingeschlossene Zugriffs-Steuermechanismen: (1) einen Mechanismus, welcher spezifiziert, ob die Posten in das System eingegeben (erzeugt) werden kann, und (2) einen Mechanismus, welcher spezifiziert, wie auf die Posten zugegriffen werden kann. TABELLENLISTE UND ZUSAMMENFASSUNG
    Tabellenname Beschreibung
    LOGIN Benutzerdaten (zur Einrichtung einer Identität auf dem System)
    SYS_MGMT Beschreibt, wie das DNS-System verwaltet wird (z. B. wer neue Zonen erzeugen kann, Rechnungsverfahrensweise, etc.)
    RRJUMBO Kombinierter Resourcen-Datensatz-Index (RR, Resource Record) und Daten
    CONTACT Leute/Rolle/Organisation (ähnlich whois)
    CONTACT_ASSOC Gibt eine Verbindung zwischen Kontaktdaten und anderen Daten/Posten (z. B. Zonen oder RRs) an
    ZONE Basis-mgmt-Daten für einen zugehörigen Satz von DNS-RRs
    ZONE_INTERFACE Liste von „auswärtigen" Servern, mit denen das System sprechen muss (Hauptserver/Master ODER Sekundäre, die aktualisiert werden)
    ZONE_CNTL Sehr ähnlich den Daten in einem SOA-Datensatz
    ZONE_MGMT Zonenbesitzer beschreibt, wie Zone benutzt werden kann (z. B. wer neue RRs erzeugen kann, Rechnungsverfahrensweisen, etc.)
    ZONE_SERVERS Aufrechterhaltung einer Liste von Zonen im System, und welche IP-Adressen Zonentransfer ausführen können
    RR_MGMT Gibt Logins an, die spezifische RRs (Resource Records bzw. Resourcen-Datensätze) modifizieren können
    BillingPolicy Regeln/Verfahrensweisen, die Besitzer zur Inrechnungsstellung des Gebrauchs für andere aufgestellt haben
    BillingInfo Aktuelle Rechnungsdaten für ein besonderes Objekt (abgeleitet von der BillingPolicy des Besitzers)
    USAGE_HISTORY Enthält vergangene Benutzungsdaten (um Rechnungszugehörigkeiten zu beantworten)
    IPV4RANGE Beschränkt (oder gestattet) Zugriff pro Quellen-IP-Adresse
  • TABELLENSCHEMA
  • Dieser Abschnitt beschreibt, welche Daten sich in den Tabellen befinden und gibt in einigen Fällen die Formate und Größen der in einigen Ausführungen der vorliegenden Erfindung benutzten Daten an.
  • Die LOGIN-Tabelle beschreibt Identität innerhalb eines DNS-Systems der vorliegenden Erfindung. Die Tabelle umfasst Daten, wie ein Benutzer einem System gegenüber seine Berechtigung nachweist. Die LOGIN-Tabelle wird über login/Passwort, X.509, PGP, DNSSec, etc. aufgestellt.
  • Die folgende Tabelle fasst die Felder der LOGIN-Tabelle zusammen.
    LOGIN
    Feld Beschreibung Beziehung zu anderen Tabellen
    Id Interner dbase bzw. Datenbankindex/zeiger Erscheint in anderen Tabellen und gibt an, dass diese Benutzer einigen Anspruch/Zugriff auf das Objekt haben
    Email Kontaktdaten
    Ipaddr Beschränkt Logins auf einen spezifischen IP-Bereich Index zur IPV4RANGETabelle
    x509id ID für primäres Berechtigungsnachweisverfahren
    Username Backup-Login-Name
    Password Backup-Passwort
    Passques Vom Benutzer gelieferte Frage nach verlorenen Daten
    Passansw Vom Benutzer gelieferte Antwort für verlorene Daten
  • Die SYS_MGMT-Tabelle (unten beschrieben) stellt eine Schablone über Benutzung, Zugriff, usw. dar. Sie liefert Informationen darüber, wie das System verwaltet wird; wer zugreifen, modifizieren, neue „Objekte" erzeugen kann; und Informationen darüber, wie Benutzern ein Zugriff in Rechnung gestellt wird. Die SYS_MGMT-Tabelle ermöglicht es dem DNS gemäß der vorliegenden Erfindung auf unterschiedliche Wege eingesetzt zu werden (z. B. geschlossener Zugriff bei großen Firmen gegenüber offenem ISP-Zugriff). Einige bevorzugte Ausführungen gestatten einen Einsatz von zwei zu erzeugenden Objekttypen, nämlich Kontakte und Zonen. Beide können von irgendjemandem erzeugt werden. Kontakte können ohne Berechnung erzeugt werden; Zonen können Berechnungen auslösen oder nicht (vielleicht pro Benutzer).
    SYS_MGMT
    Feld Beschreibung Beziehung zu anderen Tabellen
    Objtype Welcher Typ von Objekten erzeugbar ist
    Access Art (erzeugen oder lesen)
    Login (Login ID oder „IRGENDEINER" ID in LOGIN-Tabelle über wer erzeugen kann
    Ipaddr Beschränkt/Gibt Zugriff durch Ipsrc Addr
    Billing Spezifiziert, wie Zugriff zu berechnen ist Index in BILLING-Tabelle
  • Die RRJUMBO-Tabelle stellt DNS-Resourcen-Datensatz-(RR-)Informationen dar. Diese Tabelle ist für den „Index" oder „Lookup" der eingehende Anfrage vorgesehen und enthält Spalten für unterschiedlichen Teile eines RR-Datenabschnitts. Resourcen-Datensätze sind in RFC 1035 [Network Working Group Request for Comments: 1035, P. Mockapetris, ISI, November 1987] festgelegt, welche hierin durch Bezugnahme aufgenommen ist.
    RRJUMBO
    Feld Beschreibung Beziehung zu anderen Tabellen
    Id Interne dbase bzw. Datenbank-ID Referenziert durch andere Tabellen
    Active Gibt an, dass RR „aktiv" ist (z. B. bezahlt ist)
    Dead Gibt an, dass „machine" inaktiv ist
    Zone Zonenmitgliedschaft-Identifizierer Gibt an, dass RR mit ZONE-Tabelle verbunden ist
    Dname Domänenname (z. B. „www.ultradns.com")
    Lname Niedrigerer Fall von Dname zur Optimierung von Lookups
    Type RR-Typ
    Class RR-Klasse
    Servers Gibt an, welcher Server besonderen RR zurückgibt
    Time Gibt an, dass Zeitrahmen RR zurückgegeben wird
    RRJUMBO
    Feld Beschreibung Beziehung zu anderen Tabellen
    ipv4addr Index in IPV4RANGE-Tabelle Index in IPV4RANGE-Tabelle (zur Spezifizierung per Ipaddress RRs)
    ip_low Einfache (Hochleistungs-)IP-Quellen-Adressen-Spezifikation
    ip_high Einfache (Hochleistungs-)IP-Quellen-Adressen-Spezifikation
    ip_bits Einfache (Hochleistungs-)IP-Quellen-Adressen-Spezifikation
    Create_who Login-ID des Datensatzerzeugers Gibt erzeugten Datensatz durch LOGIN-Tabelle an
    Create_ip IP-Adresse des Erzeugers
    Create_date Wann erzeugt
    Update_who Login-ID letzte Modifizierung Login-ID des letzten Updates
    Updaten_when Letzte Modifikationszeit
    Billing Index zu BillingInfo Rechnungsinformationen verbunden mit RR
    Readcnt Kürzliche RR-Auslesungen
    Readsince Startzeit des Lesezählers
    Writecnt Kürzliche RR-Änderungen
    Writesince Startzeit des Schreibzählers
    Tt1 Resourcen-Datensatz TTL (Lebensdauer) (Sekunden)
    f1 RR-Datenfeld #1
    F2 RR-Datenfeld #2
    F3 RR-Datenfeld #3
    F4 RR-Datenfeld #4
    F5 RR-Datenfeld #5
    F6 RR-Datenfeld #6
    F7 RR-Datenfeld #7
    F8 RR-Datenfeld #8
    ref1 Dname-Referenz für „zusätzliche RRs
  • Ein „DNS-Lookup" in der RRJUMBO-Tabelle benutzt (vergleicht) die folgenden sechs Werte, um den angeforderten DNS-Resourcen-Datensatz zu finden:
    • 1. Domänenname (aus dns-Anfragepaket)
    • 2. dns-Typ (aus dns-Anfragepaket)
    • 3. dns-Klasse (aus dns-Anfragepaket)
    • 4. Server-ID (Name/ID des die Anfrage beantwortenden Servers)
    • 5. Zeit (aktuelle Tageszeit im Server)
    • 6. Quellen-IP-Adresse (aus dem IP-Paket)
  • Es ist zu beachten, dass der Gebrauch der RR-Datenfelder f1...f8 von dem RR-Typ abhängig ist (z. B. MX-Datensätze werden f1 und f2 benutzen, A-Datensätze werden nur f1 verwenden, und SOA-Datensätze werden f1–f7 benutzen).
  • Die RRJUMBO-Tabelle wird benutzt, um Daten für vielerlei Zwecke zu speichern: zusätzlich zur Speicherung von „lebenden" Domänen-Datensätzen werden „Schablonen-" Datensätze gespeichert, welche die Mechanismen zur Bereitstellung von konfigurierbaren DNS-Datensätzen verkörpern. Jeder DNS-Resourcen-Datensatztyp wird durch einen oder mehr Schablonen-Datensätze in der RRJUMBO-Tabelle dargestellt, welche das Format und die Struktur eines jeden Datensatztyps spezifiziert.
  • Die CONTACT-Tabelle enthält Informationen über eine Person, Rolle oder Organisation (d. h. dies sind grundlegend „whois"-Daten). Es ist zu beachten, dass die Daten in der CONTACT-Tabelle nichts mit einem System-Login zu tun haben.
    CONTACT
    Feld Beschreibung Beziehung zu anderen Tabellen
    Id Interner dbase bzw. Datenbankindex
    Order Reihenfolgeinformationen für zugehörige Datensätze
    Type Name, Telefon, Fax, E-Mail, etc. (siehe Liste unten)
    Information Verbundene Informationen (z. B. Name: Steve Hotz)
    Anonacl Leseerlaubnis für Feld (z. B. Telefonnummer nicht ausgeben)
    ipaddr IP-Adresse basierend auf Lesebeschränkungen/-erlaubnisse Index in IPV4RANGE-Tabelle
  • Die TYPE-Werte für obiges „type"-Feld (ähnlich zu RIPE-181) weisen Folgendes auf:
    • • Name
    • • E-Mail
    • • E-Mail-Änderung
    • • Telefon
    • • Telefon-Änderung
    • • FAX-Nr.
    • • Nic-hdl
    • • Nic-hdl-Änderung
    • • Adresse (mehrzeiliger Textstring)
    • • Quelle (im Fall, dass Informationen von einem anderen Ort kamen)
    • • Datenerstellung
    • • Datenaktualisierung
  • Die CONTACT_ASSOC-Tabelle gibt Verbindungen zwischen Kontaktdaten und weiteren Daten/Posten (z. B. Zonen oder RRs) an.
    CONTACT_ASSOC
    Feld Beschreibung Beziehung zu anderen Tabellen
    Id Name/ID eines Objekts (z. B. „ultradns.com") Interner Identifizierer von DNS-Datenposten (z. B. Kontakt, Zone oder RR)
    Objtype {System, Zone, Datensatz}
    contact ID von CONTACT-Daten
    Type {admin, tech, billing, registration}
    Public {ja, nein} Lesezugriff für allgemeine Öffentlichkeit
  • Die ZONE-Tabelle gibt Basisinformationen über eine Gruppe von in Beziehung stehenden RRs.
    ZONE
    Feld Beschreibung Beziehung zu anderen Tabellen
    Zone Name der Zone (z. B. „ultradns.com") Jede Spalte in dieser Tabel le bezieht sich auf andere Tabellen.
    Owner LOGIN-ID des Zonenbesitzers
    Billing Wie die Zone berechnet wird (BillingInfo)
    zonecnt1 ZONE_CRTL-ID für interne Konsistenz
  • Die ZONE_INTERFACE-Tabelle spezifiziert externe Server (d. h. Server, die keine Ausführungen der vorliegenden Erfindung sind), welche entweder als Haupt- bzw. Primärserver/Master benutzt oder als Zweiter/Slave aktualisiert sein müssen.
    ZONE
    Feld Beschreibung Beziehung zu anderen Tabellen
    Zone Zone, welche aktualisiert/transferiert wird Bezieht sich auf Zonen-Name in zahlreichen Tabellen
    inout {in, out}
    srvname Name des Servers
    Srvip IP-Adresse des Servers
    ctr1 ZONE_CTRL-ID für einen Datensatz steuernde Frequenz bzw. Häufigkeit Referenz in ZONE_CTRL- Tabelle
    view_ip Falls Multi-Dimensions-Datensätze, Momentaufnahme dieser IP
    view_time Falls Multi-Dimensions-Datensätze, Momentaufnahme zu diesem Zeitpunkt
    view_srv Falls Multi-Dimensions-Datensätze, Momentaufnahme für Server
  • Die ZONE_CTRL-Tabelle enthält Zonen-Steuerdaten, ähnlich zu SOA-Parametern. Diese Tabelle wird für Datenbankkonsistenz benutzt (kann nicht mit internem Oracle gebraucht werden, kann jedoch ein Interface mit externen Servern spezifizieren).
    ZONE_CRTL
    Feld Beschreibung Beziehung zu anderen Tabellen
    Id Interner Identifizierer Referenziert durch andere Tabellen
    Serial
    Refresh
    Retry
    Expire
    Mincache
    Flags Notify bzw. Meldung ist eingeschaltet
  • Die ZONE_MGMT-Tabelle weist Informationen darüber, wie eine besondere Zone verwaltet wird; wer zugreifen, modifizieren, neue „Objekte" erzeugen kann, und Informationen darüber auf, wie der Benutzer für Zugriff rechnungsmäßig belastet wird.
    ZONE_MGMT
    Feld Beschreibung Beziehung zu anderen Tabellen
    Zone Verwaltete Zone Bezieht sich auf verschiedene Tabellen, die Zonendaten aufweisen
    login Login-ID mit Zugriff (oder „JEDER") LOGIN-Tabelle für denje nigen, der Zugriff hat
    ipaddr Quellen-IP-Adressenbeschränkungen IPv4Range-Tabelle für src- Adressenzugriff
    Billing Rechnungsverfahrensweisen in Verbindung mit Zugriff Index in BillingPolicy- Tabelle
    rr1ist Bit-Map von RR-Typen, die erzeugt werden können
    Mods Gestattet Zonenmodifikationen: • Kann über dynamisches Update modifizieren • Modifiziert alle RRs • Modifiziert alle Kontaktdaten • Modifiziert Zonendaten • Modifiziert zone_mgmt-Daten
    Features • Bit-Map von erlaubten Merkmalen • Festlegen neuer Typen • Multidimensionales Erzeugen • Kann RRs erzeugen, die dynamische Updates gestatten • Kann RRs unter Verwendung dynamischer Updates erzeugen • Dead-Machine-Überwachung • Weiteres
    Flags Zeigen weitere Aktionen in Verbindung mit Update/Zugriff an • Anzeigen von geforderten Informationen pro Datensatz (z. B. Kontakt) • Besitzer fordert Änderungsmitteilung an (via E-Mail)
  • Die ZONE_SERVERS-Tabelle ist eine Hilfstabelle, welche Zonen auflistet, für welche das System verantwortlich ist. Diese Tabelle wird von Servern benutzt, um Zonen aufzufinden, für welche sie maßgebend sind.
    ZONE_SERVERS
    Feld Beschreibung Beziehung zu anderen Tabellen
    Zone Zonenname Zonenname bezieht sich auf viele Tabellen
    Server Serveraufbewahrungs-/haltezone
    xferip IPV4RANGE gestattete Zonentransfers IPv4Range-Index
  • Die RR_MGMT-Tabelle stellt eine Zugriffsliste für spezifische RRs bereit.
    RR_MGMT
    Feld Beschreibung Beziehung zu anderen Tabellen
    Rrod Rrindex-ID Jede Spalte (außer Flags) bezieht sich auf Spalten in anderen Tabellen
    Login Login zugelasse für Änderungen (oder „JEDER"
    ipaddr src-IP-basierte Zugriffsbeschränkungen
    Flags Zugriff gestattet (anfänglich, alle oder nichts)
  • Die BillingPolicy-Tabelle (aufgestellt vom/n Besitzer/n eines Systems oder einer Zone) enthält Informationen darüber, wie eine Systembenutzung in Rechnung zu stellen ist. Der Systembesitzer stellt dies vorzeitig auf, und das System erzwingt die verschiedenen Rechnungsstellungsverfahren.
    BillingPolicy
    Feld Beschreibung Beziehung zu anderen Tabellen
    billp_id Interner dbase bzw. Datenbankindex Referenziert durch andere Tabellenspalten
    what Zone, Kontakt, Dname, RR-Type(n), Merkmal
    type einmalig, lesen, schreiben, Zeit <feature name>
    Unit <count> bzw. <zählen> für lesen/schreiben Tag/Woche/Monat/Jahr pro Zeit oder Merkmal
    Amt Betrag (in Dollar)
    cnd_type Lesen oder Schreiben [muss größer sein als]
    end_unit Zählung [per]
    cnd_time Zeiteinheit (Tag/Woche/Monat/Jahr)
    intro_time Tage vor Rechnungsstellung
    period Jährlich/monatlich/Auswahl
    year_discount Kann einen (prozentualen) Rabatt für jährliche Rate anbieten
  • Jede Zone kann mehr als eine Verfahrensweise spezifizieren. Zum Beispiel:
    <what> <type> <unit> <amt> <cond>
    Type > Unit Time
    Zone 1-mal 29.99
    Zone Zeit Jahr 9.99
    Zone Schreiben 1 1.00 Schreiben > 10 Monat
    Merkmal Dyn_Upd Monat 1.99
  • Die BILLINGINFO-Tabelle enthält Daten darüber, wem und wann für Benutzung eine Rechnung auszustellen ist.
    BILLINGINFO
    Feld Beschreibung Beziehung zu anderen Tabellen
    bill_id Interne dbase bzw. Datenbankindex Referenziert durch andere Tabel lenspalten
    who_id Rechnungs-Kontaktindex Referenz zur CONTACT-Tabelle
    Method Kreditkarte, USMail, E-Mail
    billp_id Referenz zur BillingPolicy-Tabelle
    Credcard Kreditkartenkonto
    expire Kreditkartenauslaufdatum
    card_id Rechnungsadresse für Kreditkarte (falls unterschiedlich zu who_id) Referenz zur CONTACT-Tabelle
    billp_id Index zum BillingPolicy-Datensatz
    Create_date Wenn Rechnungsdatensatz erzeugt wurde
    next_date Nächstes Statement-Datum
  • Die USAGE_HIST-Tabelle enthält historische System/Daten-Benutzerinformationen. Sie kann an verschiedene Objekte anbringen: RRdata, Zone, Contact, etc. (Einige bevorzugte Ausführungen bringen sie an RRs an)
    USAGE_HIST
    Feld Beschreibung Beziehung zu anderen Tabellen
    Id Interne dbase bzw. Datenbank-ID des verfolgten Objekts Bezieht sich auf ID-Feld anderer Tabellen
    Objtype RR/Zone/Kontakt/andere Legt fest, welche „andere Tabelle"
    Access Lesen/Schreiben/andere
    start Beginn einer Periode (Sekunden seit einem Zeitabschnitt)
    End Dauer einer Periode (z. B. in Sekunden)
    cnt Anzahl von Zugriffen
  • Vorzugsweise ist Gebrauchs-Logging (a) nur eingeschaltet für einige Datensätze, und (b) könnte ein „Premium-Dienst" sein. Muss „aktuellen" Gebrauch für Rechnungsstellung beibehalten, aber dieses Merkmal ist „eingeschaltet".
  • Die IPv4Range-Tabelle enthält CIDR-bearbeitete Subnet-Masken, die hauptsächlich für auf Adressen basierender (d. h. schwacher) Echtheit bzw. Authentifizierung verwendet werden. Diese Tabelle wird (a) für Ausgabe von RRs basierend auf srcipaddress und (b) einfache Zugriffssteuerung für Updates von Daten (z. B. unter Verwendung von dynamischen Updates wie implementiert) benutzt.
    IPv4Range
    Feld Beschreibung Beziehung zu anderen Tabellen
    Ipid Index der IP-Bereichs-spec Diese Tabellen-ID dient als Index und erscheint in anderen Tabellen (sie gibt an, ob ein Zugriff von spezifischen Quellen-IP-Adressen gestattet ist)
    Flag Flag, welches erlaubt/verboten anzeigt
    bits Anzahl von Bits in Maske
    Low Niedrigster Adresswert
    High Höchster Adresswert
    Beispiel
    listid Flag bits iprangelow Iprangehigh
    #1 Verbieten 0 0x00000000 0xffffffff
    #1 Erlauben 16 0x80090000 0x8009ffff
    #2 Erlauben 0 0x00000000 0xffffffff
    #2 Verbieten 16 0xa0070000 0xa007ffff
    #2 Verbieten 16 0xa0090000 0xa009ffff
    #3 Verbieten 0 0x00000000 0xffffffff
    #3 Erlauben 16 0xc9140000 0xc914ffff
    #3 Verbieten 24 0xc9142800 0xc91428ff
    #3 Verbieten 24 0xc9142a00 0xc9142aff
    • #1 erlaubt kleine Zahl von Adressen;
    • #2 verbietet kleine Zahl von Adressen;
    • #3 erlaubt alle im Bereich, mit Ausnahmen;
  • Der folgende Abschnitt stellt die Datenbank-Feldformate und -größen für eine bevorzugte Ausführung der vorliegenden Erfindung bereit. Einige der Felder besitzen gemeinsame Größen:
    256 char = dnames
    10 num = 32-Bit-Integer (z. B. IPv4addr und Zeit in Sekunden)
    14 num = interne Identifizierer
    LOGIN
    Id num 14
    Email vch 256
    Ipaddr num 14 null-ok
    x509id vch 256
    Username vch 64
    Password vch 32
    Passques vch 80
    Passansw vch 80
    SYS_MGMT
    objtype vch 16
    access vch 16
    login Num 14
    ipaddr Num 14 null-ok
    billing Num 14 null-ok
    RRJUMBO
    id num 14
    active num 1
    dead num 2
    zone vch 256
    dname vch 256
    type vch 16
    class vch 16
    servers vch 32 null-ok
    time vch 168 null-ok
    ipv4addr num 14 null-ok
    ip_low num 10 null-ok
    ip_high num 10 null-ok
    ip_bits num 3 null-ok
    create_who num 14
    create_ip num 10
    create_date num 10
    update_who num 14
    update_when num 10
    billing num 14 null-ok
    readcnt num 8 null-ok
    readsince num 10 null-ok
    writecnt num 8 null-ok
    writesince num 10 null-ok
    TTL num 10
    f1 vch 1024
    f2 vch 1024 null-ok
    f3 vch 256 null-ok
    f4 vch 256 null-ok
    f5 vch 256 null-ok
    f6 vch 256 null-ok
    f7 vch 256 null-ok
    f8 vch 256 null-ok
    reff vch 256 null-ok
    CONTACT
    id num 14
    order num 2
    type vch 16
    info vch 168
    anonac1 vch 8 null-ok
    ipaddr num 14 null-ok
    CONTACT_ASSOC
    id num 14
    objtype vch 16
    contact num 14
    type vch 20 null-ok
    public vch 8
    ZONE
    zone vch 256
    owner num 14
    billing num 14 null-ok
    zonecnt1 num 14
    ZONE_INTERFACE
    zone vch 256
    inout vch 8
    srvname vch 256 null-ok
    svrip num 10 null-ok
    ctr1 num 14
    view_ip num 10 null-ok
    view_time num 3 null-ok
    view_srv num 3 null-ok
    ZONE_CNTL
    id num 14
    serial num 10
    refresh num 10
    retry num 10
    expire num 10
    mincache num 10
    flags vch 8 null-ok
    ZONE_MGMT
    zone vch 256
    login num 14 null-ok
    ipaddr num 14 null-ok
    billing num 14 null-ok
    rrlist vch 256
    mods vch 16
    ZONE_MGMT
    features vch 16 null-ok
    flags vch 8
    ZONE_SERVERS
    zone vch 256
    server vch 256
    xferip num 14 null-ok
    RR_MGMT
    rrid num 14
    login num 14 null-ok
    ipaddr num 14 null-ok
    flags vch 8 null-ok
    BILLINGPOLICY
    billp_id num 14
    what vch 32
    type vch 32
    unit vch 16
    amt num 8
    cnd_type vch 8 null-ok
    cnd_unit num 8 null-ok
    cnd_time vch 8 null-ok
    intro_time num 6
    period vch 8
    year_discount num 4
    BILLINGINFO
    billi_id num 14
    who_id num 14
    method vch 12
    BILLINGINFO
    credcard num 16 null-ok
    expire vch 7 null-ok
    card_id num 14 null-ok
    billp_id num 14
    create_date num 10
    next_date num 10
    USAGE_HIST
    id num 14
    objtype vch 16
    access vch 16
    start num 10
    end num 10
    cnt num 12
    IPv4RANGE
    ipid num 14
    flag num 2
    bits num 2
    low num 10
    high num 10
  • DESIGNAUSWAHLEN
  • Wahrscheinlich ist die am geringsten offensichtliche Designauswahl der Weg, dass CONTACT ausgelegt wird. Was offensichtlicher/natürlicher sein würde, ist eine Tabellenzeile zu haben, welche jeden besonderen Kontaktdatensatz darstellt. Dieses Design zerbricht jedoch Kontaktdaten in mehrfache Felder und stellt jedes Feld als eine Zeile in einer Datenbank dar. Dieses Verfahren ist flexibler (die gegebene flexible Natur der Daten) und unterstützt die Assoziation und den wirksamen Lookup von „AC-CESS POLICY" auf individuelle Felder (z. B. um zufälligen Leuten, die auf einen CONTACT-Datensatz blicken, es zu ermöglichen eine E-Mail-Adresse zu sehen, aber keine mit dem Datensatz verbundene Telefonnummer).
  • DAS SQL-INTERFACE
  • Das SQL-Interface 104 nimmt Anfragen/Anforderungen für Domänennamen/adressen-Auflösungen an und gibt die geeignete Adresse und weitere Daten wieder zurück. Das SQL, welches das Interface 104 in einer bevorzugten Ausführung implementiert, ist unten aufgelistet (in der Tabelle mit dem Titel SQL Anfrage).
  • BEISPIEL
  • Hier wird eine Musteranfrage von einem Benutzer 108 des DNS 100 gemäß der vorliegenden Erfindung gemacht. Die Anforderung wird von dem Anfrage-Mechanismus 106 verarbeitet, welcher das SQL-Interface 104 benutzt, um auf die Datenbank 102 zuzugreifen.
    Anfrage: a.b.c.d.wonk.com <type>
    wobei das System weiß, dass es „wonk.com.ZONE" aufweist.
  • Im schlimmsten Fall muss das System dann die folgenden Anfragen an die Datenbank 102 stellen:
    a.b.c.d.wonk.com. <type> ## gibt gewöhnlich ANSWER zurück
    b.c.d.wonk.com. NS ## gibt gewöhnlich AUTH-Daten zurück
    a.b.c.d.wonk.com. NS ## gewöhnlich Subdelegation anzeigen
    *.b.c.d.wonk.vom <type>
    b.c.d.wonk.com. NS
    *.c.d.wonk.com <type>
    c.d.wonk.com NS
    *.d.wonk.com <type>
    d.wonk.com NS
    *.wonk.com <type>
  • Diese Erfindung weist eine Anfragestrategie auf, welche die durchschnittliche Anzahl von Datenbankanfragen, die zur Vervollständigung einer DNS-Anfrage erforderlich sind, signifikant reduziert.
  • Es gibt im Wesentlichen zwei übliche Fälle:
    • (1) keine Subdelegation – Anfrage erhält eine einfache Antwort für foo.wonk.com
    • (2) das System wird damit enden, dass es über Subdelegation berichtet – Ausgeführte Anfrage für a.b.c.d.wonk.com erhält NS für d.wonk.com
  • In beiden der oben angeführten gewöhnlichen Fälle ist die Anwort „dname" wahrscheinlich eine Komponente länger als der Zonenname. Somit prüft das System dies, bevor es die Anfrage ausführt (d. h. das System will nicht für „a.b.c.d.wonk.com", „b.c.d.wonk.com" und „c.d.wonk.com" anfragen, um gerade schließlich zu sagen, dass die Delegation bei „d.wonk.com" gemacht wurde).
  • Folglich kann die folgende Anfrageoptimierung (in dem Anfrage-Mechanismus 106) verwendet werden:
    Wenn der angeforderte Name eine Komponente länger ist als ein Zonenname, dann suche eine schnelle Antwort.
  • Dies kann geschrieben werden als:
    Figure 00400001
    Figure 00410001
  • Wenn ein langer Anforderungsname vorliegt, prüfe zuerst eine kürzeste Delegation. Wenn zum Beispiel der Anforderungsname „a.b.c.d.wonk.com" lautet, prüfe, ob „d.wonk.com" NS aufweist.
  • Figure 00410002
  • Wenn keine Optimierung Auswirkungen gezeigt hat, dann beginne mit der ursprünglichen Frage.
  • Figure 00410003
  • Wenn keine Antwort gefunden wurde, dann durchlaufe die Schleife und suche NS-Delegationen.
  • Figure 00410004
  • Figure 00420001
  • Es wurde keine Delegation gemacht
    Nun durchlaufe die Schleife für „*"-Datensätze.
  • Figure 00420002
  • BEISPIEL
  • Gib die Beispielanfrage „foo.bar.wonk.com. MX", rufe folgende SQL (Tabelle XX) mit folgenden Variablen auf:
    req.name 1 = „foo.bar.wonk.com"
    req.name2 = „*.bar.wonk.com"
    req.name3 = „bar.wonk.com"
    req.type = 15 (dies ist der MX-Typ)
    req.class = 1 (dies ist die IN-Klasse)
    req.time = <current time>
    req.server = <server ID#>
    req.ipaddr = <incoming pkt IP source>
    Figure 00430001
    Figure 00440001
    Figure 00450001
  • WEITERE MERKMALE
  • Aufbau eines modularen Systems gestattete es, zusätzliche Mechanismen leicht in das System einzubringen, was als Grundlage für neue Eigenschaften/Verwendungen dienen kann.
  • KONFIGURIERBARE RESOURCEN-DATENSATZTYPEN
  • Das DNS gemäß einigen Ausführungen der vorliegenden Erfindung weist über dreißig (30) festgelegte Resourcen-Datensatztypen auf, welche Datenformate/felder zur Verwendung durch unterschiedliche Anwendungen bereitstellen; aktuelle Implementationen festigen die Typfestlegungen. Somit bietet die vorliegende Erfindung Benutzern die Fähigkeit zum dynamischen Konfigurieren von RR-Typen, um es zu ermöglichen, dass vom Verzeichnis freigegebene Anwendungen eingesetzt und innerhalb kurzer Zeitrahmen geprüft werden.
  • KONTEXTSENSITIVE (ANFRAGESPEZIFISCHE) ANTWORTEN
  • In der Zusammenfassung ordnet ein Verzeichnisdienst eine eingehende Anforderung (Schlüssel, Key) einer Anfrage einer ausgehenden Antwort (datenindexiert durch den Schlüssel) zu. Unter Verwendung eines relationalen Datenbankmodells liefert die vorliegende Erfindung einen wirksamen Mechanismus zur Hinzufügung weiterer Komponenten zu dem Lookup-Key. Bei dem DNS-Beispiel kann eine unterschiedliche Antwort in Abhängigkeit von verschiedenen Kontextdaten gegeben werden: von dem Paket (IP-Adresse), von der Maschine (lokale Zeit) und vom globalen System (welcher Serverort). Somit kann das System zum Beispiel unterschiedliche Antworten zu unterschiedlichen Tageszeiten oder zu unterschiedlichen geografischen Regionen bereitstellen.
  • DYNAMISCHER DATEN-CACHE
  • In einigen Ausführungen beinhaltet der DNS-Server 100 einen dynamischen „load-on-demand"-Cache-Algorithmus, welcher in signifikanter Weise eine Leistungsfähigkeit verbessert, indem die Datenmenge reduziert wird, welche aus der Datenbank 102 abgerufen werden muss.
  • Wenn ein eingehende Anfrage empfangen wird, wird der Server 100 zuerst versuchen, die Antwort in dem Daten-Cache 110 zu finden. Wenn die Antwort vorhanden und frisch ist, wird die Antwort direkt von den Cache-Daten, die in dem Daten-Cache 110 gespeichert sind, gesendet. Wenn die Antwort in dem Cache 110 existiert, aber veraltet ist, oder wenn die Antwort in dem Cache 110 noch nicht vorhanden ist, werden die Daten aus der Datenbank 102 beschafft, in die Antwort übertragen und dann zu dem Cache 110 hinzugefügt oder in diesem aktualisiert. In einigen Ausführungen wird der Cache in einem Zustand beibehalten, der als „Most-Recently-Used" bzw. „soeben verwendet" bezeichnet wird, um Suchzeiten zu optimieren und Cache-Management zu erleichtern.
  • Posten bzw. Objekte in dem Cache 110 besitzen eine maximale Lebensdauer, die von der Lebenszeit (TTL, Time To Live) des niedrigsten Datensatzes (RR, Resource Record) in der vollständigen Antwort bis zu dem maximalen Cache-Lebenszeitwert reicht, welche in dem Server als Ganzes konfiguriert ist. Für Datensätze, die sich häufig ändern, kann der TTL-Wert auf Null gesetzt werden, um sicherzustellen, dass die Daten niemals dem Cache hinzugefügt und immer aus der Datenbank abgerufen werden.
  • Indem in dem Cache 110 eine relativ kurze Lebensdauer für die Daten eingestellt wird, kann der Server 100 einen maximalen Durchsatz liefern, während er noch eine Weiterleitung von Zonenänderungen in Echtzeit bietet. Da der Cache als „load-on-demand" ausgebildet ist, kann der DNS-Daemon unmittelbar auf Anfragen innerhalb von Ausführungsaugenblicken antworten.
  • Zusätzlich zu einem normalen Cache-Vorgang von DNS-Antwortdaten ist der Cache-Algorithmus so ausgelegt, dass auch ein negativer Cache-Vorgang erreicht wird. Wenn zum Beispiel eine Anforderung für einen Host erfolgt, der nicht in einer aktiven Domäne vorhanden ist, wird die negative Antwort wie eine gültige Antwort gespeichert. Wenn der Server aus irgendeinem Grund mit einem Sperrfeuer von Anfragen für diesen gleichen ungültigen Host belagert wird, können sie unter Verwendung der negativen Antwort im Cache erfüllt werden, wobei wieder unnötige Anfragen an die Datenbank unterbleiben.
  • Weiterhin ist in einigen Ausführungen ein Management-Thread in das Cache-Design eingearbeitet. Dieser Thread wird in einem konfigurierbaren Intervall aktiviert und durchlauft den RR-Daten-Cache, wobei alle veralteten Eintragungen gelöscht werden, die enthalten sind. Dieses Merkmal gewährleistet, dass die Daten mit der größten Aktivität immer die am schnellsten verfügbaren sind.
  • In einigen Ausführungen ist ein Cache-Invalidierungs-Mechanismus eingefügt, welcher zur Entfernung (oder Modifizierung) von Daten innerhalb des dynamischen Cache so verantwortlich ist, dass der Cache exakt und akzeptabel Änderungen widerspiegelt, welche an der Primärdatenquelle ausgeführt wurden.
  • IMPLEMENTIERUNGSDETAILS
  • Eine Ausführung dieser Erfindung ist implementiert worden. Der DNS-Server 100 wurde auf der Datenbank 102 ausgebildet und mit ihr eng integriert. Die Datenbank 102 wurde unter Verwendung von Oracle implementiert, es wurde jedoch dafür gesorgt, dass das Datenbankinterface so modularisiert wurde, dass das System mit einer Datenbank von einem unterschiedlichen Lieferanten, wie beispielsweise Sybase oder Informix, leicht integrierbar ist. Der Server wurde unter Verwendung von Gnu C++ auf einer Linux-Plattform entwickelt. Der Serveraufbauvorgang wurde später erweitert, um sowohl Linux als auch Solaris zu unterstützen.
  • Implementierungen der vorliegenden Erfindung können in jeder geeigneten Programmier- bzw. Computer-Hochsprache geschrieben werden. Während Aspekte der vorliegenden Erfindung in Software implementiert wurden, die auf einem wie oben beschriebenen Computersystem läuft, können weiterhin alle Aspekte der vorliegenden Erfindung auch in Hardware oder in einer Kombination von Software und Hardware implementiert werden. Das heißt, dass, obwohl mit Bezug auf ein besonderes System beschrieben, die vorliegende Erfindung auf jedem Computersystem betreibbar und in Software, Hardware oder in jeder Kombination davon implementierbar ist. Wenn sie vollständig oder teilweise in Software implementiert ist, kann die Erfindung in jedem Speicher oder Speichermedium permanent oder temporär verbleiben, dabei sind eingeschlossen: RAM, ROM, Platte, ASIC, PROM und dergleichen, wobei die Erfindung darauf nicht beschränkt ist.
  • Während sich die obigen Ausführungen auf eine Verarbeitung von Domänennamen beziehen, erkennt ein Fachmann, dass Domänennamen nur ein Beispiel von Verzeichnisdiensten sind, und dass die vorliegende Erfindung auf andere Verzeichnisdienste bzw. Directory Services anwendbar ist.
  • Somit sind Verfahren, Systeme und Geräte für eine skalierbare Domänennamen-Auflösung geschaffen. Einem Fachmann ist es offensichtlich, dass die vorliegende Erfindung in die Praxis durch andere als die beschriebenen Ausführungen umsetzbar ist, welche zu Illustrationszwecken und nicht zur Einschränkung dargestellt sind, und die vorliegende Erfindung ist nur durch die folgenden Ansprüche begrenzt.

Claims (32)

  1. Domänennamen-Auflösungssystem mit einem oder mehreren Servern (100), wobei jeder der Server dafür ausgelegt ist, Domänennamen-Auflösungsanforderungen aufzulösen, und mit einem auf einen Zustand des Servers reagierenden Routing-Mechanismus, wobei jeder Server einen Anfragemechanismus (106) enthält, dadurch gekennzeichnet, daß der Anfragemechanismus eine zusammengesetzte Datenbankanfrage umfaßt und (106) dafür ausgelegt ist, als Reaktion auf die zusammengesetzte Datenbankanfrage eine Gruppe von Datensätzen aus einer Datenbank (102) zu erhalten, dergestalt, daß der Server (100) die Gruppe von Datensätzen mit einer Datenrate erhält, die schneller als die zugrundeliegende Datenabrufrate der Datenbank (102) ist.
  2. Domänennamen-Auflösungsverfahren, mit den folgenden Schritten: Empfangen einer Domänennamen-Auflösungsanforderung in einem oder mehreren Servern (100); Bilden, unter Verwendung eines Anfragemechanismus (106), mindestens einer Datenbankanfrage entsprechend der Domänennamen-Auflösungsanforderung; Senden der mindestens einen Datenbankanfrage zu einer Datenbank (102); und Erhalten einer Domänennamen- Auflösungsantwort von der Datenbank (102), dadurch gekennzeichnet, daß: mindestens eine der Datenbankanfragen eine zusammengesetzte Datenbankanfrage ist und die Domänennamen-Auflösungsantwort auf die zusammengesetzte Datenbankanfrage eine Gruppe von Datenbankdatensätzen umfaßt, wobei der eine bzw. die mehreren Server (100) die Datensätze mit einer Datenrate empfangen, die schneller als die zugrundeliegende Datenabrufrate der Datenbank (102) ist.
  3. System nach Anspruch 1, bei dem der Anfragemechanismus (106) ferner dafür ausgelegt ist, auf der Basis der unter Verwendung früherer Anfragen erhaltenen Datensätze eine Sequenz mehrerer Anfragen zu organisieren.
  4. System nach Anspruch 3, bei dem der Anfragemechanismus (106) ferner dafür ausgelegt ist, die Sequenz mehrerer Anfragen zu organisieren, indem für jede Domänennamen-Auflösungsanforderung mindestens eine Anfrage auf der Basis von Common-Case-Optimierung gebildet wird, wobei der Test für jede Anfrage als ein separates Codesegment ausgelegt wird; und die mindestens eine Anfrage auf der Basis von Common-Case-Optimierung vor jeder anderen Anfrage ausgeführt wird.
  5. System nach Anspruch 4, bei dem die Datensätze gemäß einer Vielzahl von Domänennamenzonen geführt werden und der Anfragemechanismus (106) ferner dafür ausgelegt ist, eine Sequenz der Anfragen auf der Basis von Common-Case-Optimierung gemäß für jede Zone geführten Statistiken zu optimieren.
  6. System nach Anspruch 1, wobei der Anfragemechanismus (106) so ausgelegt ist, daß die zusammengesetzte Datenbankanfrage von der Datenbank (102) alle Datensätze erhält, die erforderlich sind, um eine Domänennamen-Auflösungsantwort zu konstruieren.
  7. System nach Anspruch 6, bei dem der Anfragemechanismus (106) so ausgelegt ist, daß die zusammengesetzte Datenbankanfrage Kombinationen von Antwort-, Autoriäts- und zusätzlichen Datensätzen aus der Datenbank (102) abruft.
  8. System nach Anspruch 7, bei dem der Anfragemechanismus (106) so ausgelegt ist, daß die zusammengesetzte Datenbankanfrage verfügbare CNAME-Datensätze aus der Datenbank (102) abruft.
  9. System nach Anspruch 4, bei dem der Anfragemechanismus (106) so ausgelegt ist, daß die mindestens eine auf Common-Case-Optimierung basierende Anfrage auf den Ausgangswahrscheinlichkeiten für die Domänennamen-Auflösungsanforderung basiert.
  10. System nach Anspruch 1, wobei die aus der Datenbank (102) erhaltenen Datensätze eine der Domänennamen-Auflösungsanforderung entsprechende Internet-Protokoll-Adresse enthalten.
  11. System nach Anspruch 1, bei dem der Routing-Mechanismus dafür ausgelegt ist, Domänennamen-Auflösungsanforderungen auf der Basis von Benutzerproximitätsinformationen zu dem nächsten Server zu routen.
  12. System nach Anspruch 1, bei dem der Routingmechanismus dafür ausgelegt ist, jeden Server zu überwachen und Routen zu Servern (100), die nicht auf Domänennamen-Auflösungsanforderungen reagieren, zurücknimmt.
  13. System nach Anspruch 1, bei dem der Anfragemechanismus (106) für folgendes konstruiert und ausgelegt ist: Empfangen einer Benutzeranforderung für eine IP-Adresse, die einem Domänennamen entspricht; Konstruieren jeder zusammengesetzten Datenbankanfrage auf der Basis von Common-Case-Optimierung, um die Antwort abzurufen, wobei der Test für jede Anfrage als ein separates Codesegment ausgelegt wird, wobei die zusammengesetzte Datenbankanfrage auf der Basis von Common-Case-Optimierung vor jeder anderen Anfrage ausgeführt wird; und Geben der Antwort durch Anfragen bei der Datenbank (102) unter Verwendung der zusammengesetzten Datenbankanfrage, wobei die Antwort mindestens eine dem Domänennamen entsprechende IP-Adresse und andere relevante Informationen enthält.
  14. Verfahren nach Anspruch 2, wobei die Domänennamen-Auflösungsanforderung für eine Adresse des Internet-Protokolls IP einer einer Vielzahl von Einrichtungen im Internet bestimmt ist und das Bilden der mindestens einen Datenbankanfrage folgendes umfaßt: Konstruieren jeder zusammengesetzten Datenbankanfrage in Bezug auf den maßgeblichen Namenserver auf der Basis von Common-Case-Optimierung, um die Antwort abzurufen, und Geben der Antwort durch Befragen des maßgeblichen Namenservers unter Verwendung der zusammengesetzten Datenbankanfrage, wobei die Antwort mindestens eine dem Domänennamen entsprechende IP-Adresse und andere relevante Informationen enthält.
  15. System nach Anspruch 13, wobei der Anfragemechanismus (106) ferner für folgendes konfiguriert ist: wenn der Domänenname ein Label länger als der des Namens der Zone ist, für die ein erster Namenserver (100), der die Anforderung empfängt, verantwortlich ist, Auswählen des ersten Namenservers (100), der die Zone repräsentiert, als den maßgeblichen Namenserver (100); wenn keine Antwort für den die Zone repräsentierenden ersten Namenserver (100) erhalten wird, Auswählen eines zweiten Namenservers (100), der für den Domänennamen der nächsten Ebene relativ zu der Zone als der maßgebliche Namenserver (100) delegiert wurde; und wenn keine Antwort für den zweiten Namenserver (100) erhalten wird, Auswählen des maßgeblichen Namenservers durch rekursives Durchsuchen des maßgeblichen Namenservers (100) in Bezug auf den Domänennamen bis die Antwort gefunden ist.
  16. System nach Anspruch 13, wobei der Anfragemechanismus (106), um die Antwort zu geben, ferner für folgendes ausgelegt ist: Befragen des maßgeblichen Namenservers (100) unter Verwendung der zusammengesetzten Datenbankanfrage; Empfangen des Anfrageergebnisses von dem maßgeblichen Namenserver (100); und Ableiten der Antwort aus dem Anfrageergebnis.
  17. System nach Anspruch 16, ferner mit einem Cache (110), wobei der Anfragemechanismus (106) dafür konstruiert und ausgelegt ist, die Anfrage durchzuführen, indem zuerst versucht wird, das Anfrageergebnis aus dem Cache (110) abzurufen.
  18. System nach Anspruch 17, wobei der Anfragemechanismus (106) dafür ausgelegt ist, das Anfrageergebnis in dem Cache (110) zu identifizieren; und das Anfrageergebnis verarbeitet.
  19. System nach Anspruch 18, wobei der Anfragemechanismus (106) dafür ausgelegt ist, das Anfrageergebnis durch folgendes zu verarbeiten: wenn das Anfrageergebnis frisch ist, Senden des Anfrageergebnisses direkt aus dem Cache (110); und wenn das Anfrageergebnis entweder veraltet ist oder nicht in dem Cache (110) existiert, Abrufen des Anfrageergebnisses aus einer Datenbank (102), Senden des Anfrageergebnisses und Aktualisieren des Cache (110), um das abgerufene Anfrageergebnis widerzuspiegeln.
  20. System nach Anspruch 19, wobei Posten in dem Cache (110) individuelle Datensätze oder aggregierte Datensätze umfassen.
  21. System nach Anspruch 20, wobei jeder Datensatz in dem Cache (110) folgendem entspricht: entweder einem positiven Datensatz, der ein positives Anfrageergebnis repräsentiert, wobei eine Anforderung für einen Host erfolgt, der in einer aktiven Domäne existiert; oder einem negativen Datensatz, der ein negatives Anfrageergebnis repräsentiert, wobei eine Anforderung für einen Host erfolgt, der nicht in einer aktiven Domäne exitiert.
  22. System nach Anspruch 21, wobei jeder Datensatz in dem Cache (110) eine maximale Lebensdauer aufweist, die von der Lebenszeit für den niedrigsten Ressourcendatensatz in einer vollständigen Antwort bis zu einem maximalen Cache-Zeitwert reicht, womit ausgewertet wird, ob jeder Datensatz veraltert ist.
  23. System nach Anspruch 22, wobei der Anfragemechanismus (106) ferner dafür konstruiert und ausgelegt ist, das Anfrageergebnis aus einer Datenbank (102) des maßgeblichen Namenservers abzurufen, wenn das Anfrageergebnis nicht in dem Cache (110) gefunden wird.
  24. Verfahren nach Anspruch 2, ferner umfassend: Organisieren einer Sequenz mehrerer Anfragen auf der Basis der unter Verwendung früherer Anfragen erhaltenen Datensätze.
  25. Verfahren nach Anspruch 24, wobei das Organisieren folgendes umfaßt: für jede Domänennamen-Auflösungsanforderung, Bilden mindestens einer Anfrage auf der Basis von Common-Case-Optimierung, wobei der Test für jede Anfrage als separates Codesegment ausgelegt wird; und Ausführen der mindestens einen Anfrage auf der Basis von Common-Case-Optimierung vor jeder anderen Anfrage.
  26. Verfahren nach Anspruch 25, wobei die Datensätze gemäß einer Vielzahl von Domänennamenzonen geführt werden und wobei die mindestens eine auf Common-Case-Optimierung basierende Anfrage auf für jede Zone geführten Statistiken basiert.
  27. Verfahren nach Anspruch 2, wobei die zusammengesetzte Datenbankanfrage von der Datenbank (102) alle Datensätze erhält, die erforderlich sind, um eine Domänennamen-Auflösungsantwort zu konstruieren.
  28. Verfahren nach Anspruch 27, wobei die zusammengesetzte Datenbankanfrage Kombinationen von Antwort, Autoritäts- und zusätzlichen Datensätzen von der Datenbank (102) abruft.
  29. Verfahren nach Anspruch 28, wobei die zusammengesetzte Datenbankanfrage verfügbare CNAME-Datensätze aus der Datenbank (102) abruft.
  30. Verfahren nach Anspruch 25, wobei die mindestens eine Anfrage auf der Basis von Common-Case-Optimierung auf den Ausgangswahrscheinlichkeiten für die Domänennamen-Auflösungsanforderung basiert.
  31. Verfahren nach Anspruch 14, wobei das Geben der Antwort folgendes umfaßt: wenn der Domänenname ein Label länger als der des Namens der Zone ist, für die ein erster Namenserver (100), der die Anforderung empfängt, verantwortlich ist, Auswählen des ersten Namenservers (100), der die Zone repräsentiert, als den maßgeblichen Namenserver (100); wenn keine Antwort für den die Zone repräsentierenden ersten Namenserver (100) erhalten wird, Auswählen eines zweiten Namenservers (100), der für den Domänennamen der nächsten Ebene relativ zu der Zone als der maßgebliche Namenserver (100) delegiert wurde; und wenn keine Antwort für den zweiten Namenserver (100) erhalten wird, Auswählen des maßgeblichen Namenservers durch rekursives Durchsuchen des maßgeblichen Namenservers (100) in Bezug auf den Domänennamen bis die Antwort gefunden ist.
  32. Verfahren nach Anspruch 14, wobei das Geben der Antwort folgendes umfaßt: Befragen des maßgeblichen Namenservers (100) unter Verwendung der zusammengesetzten Datenbankanfrage; Empfangen des Anfrageergebnisses von dem maßgeblichen Namenserver (100); und Ableiten der Antwort aus dem Anfrageergebnis.
DE60037502T 1999-03-03 2000-03-02 Domänennamen-Auflösungssystem mit einem oder mehreren Servern Expired - Lifetime DE60037502T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12402299P 1999-03-03 1999-03-03
US124022P 1999-03-03
PCT/US2000/005416 WO2000052594A2 (en) 1999-03-03 2000-03-02 Scalable and efficient domain name resolution

Publications (2)

Publication Number Publication Date
DE60037502D1 DE60037502D1 (de) 2008-01-31
DE60037502T2 true DE60037502T2 (de) 2008-12-11

Family

ID=22412310

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60037502T Expired - Lifetime DE60037502T2 (de) 1999-03-03 2000-03-02 Domänennamen-Auflösungssystem mit einem oder mehreren Servern

Country Status (6)

Country Link
US (1) US20040039798A1 (de)
EP (1) EP1157524B1 (de)
AT (1) ATE381846T1 (de)
AU (1) AU3390500A (de)
DE (1) DE60037502T2 (de)
WO (1) WO2000052594A2 (de)

Families Citing this family (244)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296396B2 (en) 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8266266B2 (en) * 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US6704772B1 (en) * 1999-09-20 2004-03-09 Microsoft Corporation Thread based email
JP3725376B2 (ja) * 1999-09-29 2005-12-07 株式会社東芝 Dns問い合わせ装置、dns問い合わせ方法、および記録媒体
WO2001031885A2 (en) 1999-10-22 2001-05-03 Nomadix, Inc. Gateway device having an xml interface and associated method
US6666377B1 (en) * 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US9130954B2 (en) 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
FR2818853B1 (fr) * 2000-12-26 2004-04-23 Matra Nortel Communications Serveur d'annuaire reparti
US6845400B2 (en) * 2000-12-28 2005-01-18 Nortel Networks Limited Storing subscriber location indication at DNS, to enable location specific provision of internet content
US7099957B2 (en) * 2001-08-23 2006-08-29 The Directtv Group, Inc. Domain name system resolution
US7197550B2 (en) 2001-08-23 2007-03-27 The Directv Group, Inc. Automated configuration of a virtual private network
US7769838B2 (en) * 2001-08-23 2010-08-03 The Directv Group, Inc. Single-modem multi-user virtual private network
EP2290916B1 (de) 2001-09-28 2015-12-16 Level 3 CDN International, Inc. Konfigurierbare adaptive globale Verkehrssteuerung und -verwaltung
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
EP1461723A4 (de) * 2001-11-01 2009-08-05 Verisign Inc Verfahren und system zum validieren einer ferndatenbank
US7421436B2 (en) * 2001-12-21 2008-09-02 International Business Machines Corporation Decentralized many-to-many relationship management in an object persistence management system
US9998321B2 (en) * 2002-03-19 2018-06-12 Apple Inc. Method and apparatus for supporting duplicate suppression when issuing multicast queries using DNS-format message packets
US8028091B1 (en) * 2002-06-28 2011-09-27 At&T Intellectual Property I. L.P. System and method for reducing DNS lookup traffic in a computer data network
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) * 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US7526562B1 (en) * 2003-04-11 2009-04-28 Cisco Technology, Inc. Stateful IPv4-IPv6 DNS application level gateway for handling topologies with coexisting IPv4-only, Ipv6-only and dual-stack devices
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
CN100375470C (zh) * 2003-11-18 2008-03-12 株式会社东芝 设置通信路径的设备和方法
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7496651B1 (en) 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US7437364B1 (en) * 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
DE102005010690B4 (de) * 2005-03-09 2007-04-12 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Öleingespritzter Verdichter mit Temperaturschalter
US7567582B2 (en) * 2005-08-19 2009-07-28 Microsoft Corporation Branch office DNS storage and resolution
TWI297843B (en) * 2005-09-28 2008-06-11 Inventec Appliances Corp Computer netwok information system, search system and search method thereof
CN101278309A (zh) * 2005-09-29 2008-10-01 国际商业机器公司 自动管理异构环境中的it资源的***与方法
US20070078996A1 (en) * 2005-10-04 2007-04-05 Wei-Che Chen Method for managing a network appliance and transparent configurable network appliance
US8566928B2 (en) 2005-10-27 2013-10-22 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US7707314B2 (en) * 2005-11-21 2010-04-27 Limelight Networks, Inc. Domain name resolution resource allocation
US8291117B1 (en) 2012-02-15 2012-10-16 Limelight Networks, Inc. Scaled domain name service
EP1974522B1 (de) * 2005-12-27 2012-10-17 France Telecom Server, Client und Verfahren zur Verwaltung von DNSSEC-Anforderungen
US8423670B2 (en) * 2006-01-25 2013-04-16 Corporation For National Research Initiatives Accessing distributed services in a network
US7467230B2 (en) 2006-02-28 2008-12-16 Microsoft Corporation Global names zone
US7366055B2 (en) * 2006-05-05 2008-04-29 Optoplan As Ocean bottom seismic sensing system
US8606926B2 (en) * 2006-06-14 2013-12-10 Opendns, Inc. Recursive DNS nameserver
US8713188B2 (en) * 2007-12-13 2014-04-29 Opendns, Inc. Per-request control of DNS behavior
KR101319491B1 (ko) * 2006-09-21 2013-10-17 삼성전자주식회사 도메인 정보를 설정하기 위한 장치 및 방법
US7694016B2 (en) * 2007-02-07 2010-04-06 Nominum, Inc. Composite DNS zones
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US7720936B2 (en) * 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US7584294B2 (en) * 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8103783B2 (en) * 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US7783757B2 (en) * 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8504775B2 (en) * 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US8701010B2 (en) * 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8285870B2 (en) 2007-09-05 2012-10-09 Echostar Technologies L.L.C. Systems and methods for statistical resolution of domain name service (DNS) requests
US8055795B2 (en) 2007-10-02 2011-11-08 Echostar Technologies Llc Systems and methods for proxy resolution of domain name service (DNS) requests
US8935748B2 (en) * 2007-10-31 2015-01-13 Microsoft Corporation Secure DNS query
US8972177B2 (en) 2008-02-26 2015-03-03 Microsoft Technology Licensing, Llc System for logging life experiences using geographic cues
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US7930427B2 (en) * 2008-03-03 2011-04-19 Microsoft Corporation Client-side load balancing
US7991879B2 (en) * 2008-03-03 2011-08-02 Microsoft Corporation Internet location coordinate enhanced domain name system
US8966121B2 (en) * 2008-03-03 2015-02-24 Microsoft Corporation Client-side management of domain name information
US8458298B2 (en) * 2008-03-03 2013-06-04 Microsoft Corporation Failover in an internet location coordinate enhanced domain name system
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8321568B2 (en) * 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
EP2274684A4 (de) 2008-04-04 2012-12-05 Level 3 Communications Llc Umgang mit long-tail-inhalt in einem inhaltsablieferungsnetzwerk (cdn)
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8429715B2 (en) * 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
US10027688B2 (en) 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US8533333B2 (en) * 2008-09-03 2013-09-10 Microsoft Corporation Shared hosting using host name affinity
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US9063226B2 (en) * 2009-01-14 2015-06-23 Microsoft Technology Licensing, Llc Detecting spatial outliers in a location entity dataset
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US9292612B2 (en) 2009-04-22 2016-03-22 Verisign, Inc. Internet profile service
US8676989B2 (en) 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US8527945B2 (en) 2009-05-07 2013-09-03 Verisign, Inc. Method and system for integrating multiple scripts
US8510263B2 (en) * 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8935428B2 (en) * 2009-06-24 2015-01-13 Broadcom Corporation Fault tolerance approaches for DNS server failures
US8977705B2 (en) * 2009-07-27 2015-03-10 Verisign, Inc. Method and system for data logging and analysis
US8327019B2 (en) 2009-08-18 2012-12-04 Verisign, Inc. Method and system for intelligent routing of requests over EPP
US8856344B2 (en) 2009-08-18 2014-10-07 Verisign, Inc. Method and system for intelligent many-to-many service routing over EPP
US8175098B2 (en) 2009-08-27 2012-05-08 Verisign, Inc. Method for optimizing a route cache
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9009177B2 (en) 2009-09-25 2015-04-14 Microsoft Corporation Recommending points of interests in a region
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9269080B2 (en) 2009-10-30 2016-02-23 Verisign, Inc. Hierarchical publish/subscribe system
US9762405B2 (en) 2009-10-30 2017-09-12 Verisign, Inc. Hierarchical publish/subscribe system
US8982882B2 (en) 2009-11-09 2015-03-17 Verisign, Inc. Method and system for application level load balancing in a publish/subscribe message architecture
US9235829B2 (en) 2009-10-30 2016-01-12 Verisign, Inc. Hierarchical publish/subscribe system
US9047589B2 (en) 2009-10-30 2015-06-02 Verisign, Inc. Hierarchical publish and subscribe system
US9569753B2 (en) 2009-10-30 2017-02-14 Verisign, Inc. Hierarchical publish/subscribe system performed by multiple central relays
US8578497B2 (en) 2010-01-06 2013-11-05 Damballa, Inc. Method and system for detecting malware
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8612134B2 (en) 2010-02-23 2013-12-17 Microsoft Corporation Mining correlation between locations using location history
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
US10288433B2 (en) * 2010-02-25 2019-05-14 Microsoft Technology Licensing, Llc Map-matching for low-sampling-rate GPS trajectories
US8621086B2 (en) 2010-03-24 2013-12-31 Alcatel Lucent System and domain name server for ad-hoc networks
EP2550652A4 (de) 2010-03-25 2015-01-21 Verisign Inc Systeme und verfahren zur bereitstellung eines zugriffs auf ressourcen durch verstärkte audiosignale
US8719198B2 (en) 2010-05-04 2014-05-06 Microsoft Corporation Collaborative location and activity recommendations
US9593957B2 (en) 2010-06-04 2017-03-14 Microsoft Technology Licensing, Llc Searching similar trajectories by locations
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8825813B2 (en) 2010-12-28 2014-09-02 Microsoft Corporation Distributed network coordinate system based on network performance
US8631489B2 (en) * 2011-02-01 2014-01-14 Damballa, Inc. Method and system for detecting malicious domain names at an upper DNS hierarchy
US9781091B2 (en) 2011-03-14 2017-10-03 Verisign, Inc. Provisioning for smart navigation services
US9811599B2 (en) 2011-03-14 2017-11-07 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US10185741B2 (en) 2011-03-14 2019-01-22 Verisign, Inc. Smart navigation services
US9646100B2 (en) 2011-03-14 2017-05-09 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US8863248B2 (en) * 2011-04-07 2014-10-14 International Business Machines Corporation Method and apparatus to auto-login to a browser application launched from an authenticated client application
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
WO2013010585A1 (en) * 2011-07-20 2013-01-24 Nokia Siemens Networks Oy Logical rules based domain name server setup
US8412945B2 (en) 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US9497224B2 (en) 2011-08-09 2016-11-15 CloudPassage, Inc. Systems and methods for implementing computer security
US8990356B2 (en) * 2011-10-03 2015-03-24 Verisign, Inc. Adaptive name resolution
US10270755B2 (en) * 2011-10-03 2019-04-23 Verisign, Inc. Authenticated name resolution
US9754226B2 (en) 2011-12-13 2017-09-05 Microsoft Technology Licensing, Llc Urban computing of route-oriented vehicles
US20130166188A1 (en) 2011-12-21 2013-06-27 Microsoft Corporation Determine Spatiotemporal Causal Interactions In Data
US9922190B2 (en) 2012-01-25 2018-03-20 Damballa, Inc. Method and system for detecting DGA-based malware
US20130198409A1 (en) * 2012-02-01 2013-08-01 Microsoft Corporation Efficient implementation of user-provided dns names
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US8799518B2 (en) 2012-04-04 2014-08-05 Verisign, Inc. Process for selecting an authoritative name server
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US8935430B2 (en) * 2012-06-29 2015-01-13 Verisign, Inc. Secondary service updates into DNS system
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US9680861B2 (en) 2012-08-31 2017-06-13 Damballa, Inc. Historical analysis to identify malicious activity
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
CN103051740B (zh) * 2012-12-13 2016-04-20 上海牙木通讯技术有限公司 域名解析方法、dns服务器及域名解析***
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9426049B1 (en) * 2013-01-07 2016-08-23 Zettics, Inc. Domain name resolution
US10394863B2 (en) * 2013-03-12 2019-08-27 International Business Machines Corporation Identifying a stale data source to improve NLP accuracy
US9245008B2 (en) * 2013-03-12 2016-01-26 International Business Machines Corporation Detecting and executing data re-ingestion to improve accuracy in a NLP system
US9197487B2 (en) 2013-03-15 2015-11-24 Verisign, Inc. High performance DNS traffic management
US10057207B2 (en) 2013-04-07 2018-08-21 Verisign, Inc. Smart navigation for shortened URLs
AU2014251011B2 (en) * 2013-04-10 2016-03-10 Illumio, Inc. Distributed network management using a logical multi-dimensional label-based policy model
US9882919B2 (en) 2013-04-10 2018-01-30 Illumio, Inc. Distributed network security using a logical multi-dimensional label-based policy model
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9571511B2 (en) 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
US9870415B2 (en) * 2013-09-18 2018-01-16 Quintiles Ims Incorporated System and method for fast query response
WO2015076904A2 (en) * 2013-11-04 2015-05-28 Illumio, Inc. Distributed network security using a logical multi-dimensional label-based policy model
KR102271265B1 (ko) 2014-01-21 2021-07-01 오라클 인터내셔날 코포레이션 어플리케이션 서버, 클라우드 또는 다른 환경에서 멀티 테넌시를 지원하기 위한 시스템 및 방법
US9338184B1 (en) 2014-03-11 2016-05-10 Sprint Communications Company L.P. Systems, methods, and software for improving resistance to distributed denial of service attacks
US9900281B2 (en) * 2014-04-14 2018-02-20 Verisign, Inc. Computer-implemented method, apparatus, and computer-readable medium for processing named entity queries using a cached functionality in a domain name system
US10389609B2 (en) * 2014-04-16 2019-08-20 Viavi Solutions Inc. Categorizing IP-based network traffic using DNS data
US9894033B2 (en) 2014-08-04 2018-02-13 Fortinet, Inc. DNS-enabled communication between heterogeneous devices
CN107077382B (zh) * 2014-09-26 2021-07-16 甲骨文国际公司 在多租户应用服务器环境中进行事务恢复的***和方法
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9509574B2 (en) * 2015-04-03 2016-11-29 Illumio, Inc. End-to-end policy enforcement in the presence of a traffic midpoint device
US10616764B2 (en) * 2015-04-08 2020-04-07 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for selecting network partition in untrusted WLAN access
US10033699B2 (en) 2015-05-08 2018-07-24 Cloudflare, Inc. Transparent DNSSEC-signing proxy
US9954840B2 (en) 2015-05-08 2018-04-24 Cloudflare, Inc. Generating a negative answer to a domain name system query that indicates resource records as existing for the domain name regardless of whether those resource records actually exist for the domain name
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10791085B2 (en) 2015-11-12 2020-09-29 Verisign, Inc. Techniques for directing a domain name service (DNS) resolution process
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
CN107547670B (zh) * 2016-06-28 2020-12-29 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10999240B1 (en) 2016-08-31 2021-05-04 Verisign, Inc. Client controlled domain name service (DNS) resolution
US10320617B2 (en) * 2016-09-12 2019-06-11 Illumio, Inc. Representation of servers in a distributed network information management system for efficient aggregation of information
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US11477159B1 (en) * 2016-12-28 2022-10-18 Verisign, Inc. Systems, devices, and methods for polymorphic domain name resolution
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US20180295094A1 (en) * 2017-04-05 2018-10-11 Linkedin Corporation Reducing latency during domain name resolution in networks
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US11032127B2 (en) 2017-06-26 2021-06-08 Verisign, Inc. Resilient domain name service (DNS) resolution when an authoritative name server is unavailable
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11706188B2 (en) * 2018-08-31 2023-07-18 Comcast Cable Communications, Llc Localization for domain name resolution
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
CN110677514A (zh) * 2019-10-21 2020-01-10 怀来斯达铭数据有限公司 一种ip备案信息管理方法及装置
US11277372B2 (en) 2019-10-29 2022-03-15 Microsoft Technology Licensing, Llc Name server management of domain name systems using virtual name servers
CN114500456B (zh) * 2020-10-23 2024-01-12 ***通信集团河北有限公司 基于全网嗅探的dns调度优化方法、装置及计算设备
US11647067B2 (en) * 2021-03-05 2023-05-09 Zscaler, Inc. Cached web probes for monitoring user experience
CN115442329B (zh) * 2021-06-04 2024-02-23 贵州白山云科技股份有限公司 域名信息查询方法、***、装置、设备及存储介质
CN113449157A (zh) * 2021-06-18 2021-09-28 神钢压缩机(上海)有限公司 一种信息记录查询方法、设备以及存储介质
CN116095172A (zh) * 2023-01-09 2023-05-09 互联网域名***北京市工程研究中心有限公司 缓存刷新方法、装置、设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758343A (en) * 1995-12-08 1998-05-26 Ncr Corporation Apparatus and method for integrating multiple delegate directory service agents
US5925106A (en) * 1996-04-05 1999-07-20 Sun Microsystems, Inc. Method and apparatus for obtaining and displaying network server information
US6069890A (en) * 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US5913214A (en) * 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US6154777A (en) * 1996-07-01 2000-11-28 Sun Microsystems, Inc. System for context-dependent name resolution
US6014660A (en) * 1996-12-09 2000-01-11 Sun Microsystems, Inc. Method and apparatus for client-sensitive name resolution using DNS
US6233234B1 (en) * 1997-06-03 2001-05-15 Bell Atlantic Network Services, Inc. Secure LAN/internet telephony
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6560634B1 (en) * 1997-08-15 2003-05-06 Verisign, Inc. Method of determining unavailability of an internet domain name
WO1999029083A1 (en) * 1997-12-02 1999-06-10 Alcatel Usa Sourcing, L.P. Method and apparatus for dynamic domain names
US6381627B1 (en) * 1998-09-21 2002-04-30 Microsoft Corporation Method and computer readable medium for discovering master DNS server computers for a given domain name in multiple master and multiple namespace configurations
US6389276B1 (en) * 1998-12-23 2002-05-14 Bell Atlantic Mobile Systems and methods for providing voice mail notification from a separate voice mail system to mobile telephone
US6834302B1 (en) * 1998-12-31 2004-12-21 Nortel Networks Limited Dynamic topology notification extensions for the domain name system

Also Published As

Publication number Publication date
ATE381846T1 (de) 2008-01-15
WO2000052594A2 (en) 2000-09-08
EP1157524A2 (de) 2001-11-28
WO2000052594A3 (en) 2001-02-15
US20040039798A1 (en) 2004-02-26
DE60037502D1 (de) 2008-01-31
EP1157524B1 (de) 2007-12-19
AU3390500A (en) 2000-09-21

Similar Documents

Publication Publication Date Title
DE60037502T2 (de) Domänennamen-Auflösungssystem mit einem oder mehreren Servern
DE69838739T2 (de) Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten
DE60133648T2 (de) System und verfahren zum führen von laufzeitdaten in einem server-netzwerk
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE69122830T2 (de) Verteiltes Konfigurationsprofil für ein Rechnersystem
DE69832946T2 (de) Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen
DE60225476T2 (de) Verfahren und vorrichtung zum netzwerk-caching
DE60019839T2 (de) Verfahren zum Austauch von Daten zwischen einer Javasystemdatenbank und einem LDAP Verzeichnis
DE69635469T2 (de) Synchronisierung zwischen verschiedenen Computeranbieterumgebungen
DE69921455T2 (de) System und verfahren zur zugriffssteuerung auf gespeicherte dokumente
DE69333960T2 (de) Namenauflösung in einem Mehrsystem-Netz
US5764906A (en) Universal electronic resource denotation, request and delivery system
DE602005001315T2 (de) Automatische Integration von Inhalt aus mehreren Datenspeichern mittels eines Mobilkommunikationsgeräts
DE69915441T2 (de) System und Verfahren für automatischen authentifizierten Zugang zu einer Mehrzahl von Netzbetreibern durch eine einzige Anmeldung
DE69834129T2 (de) Verfahren und system zum vorausladen von informationen
US6366926B1 (en) Method and apparatus for the dynamic filtering and routing of events
DE69936818T2 (de) Protokoll zum Austausch von Konfigurationsdaten in einem Computernetzwerk
US6920455B1 (en) Mechanism and method for managing service-specified data in a profile service
DE10131192A1 (de) Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol
US7165182B2 (en) Multiple password policies in a directory server system
US6651047B1 (en) Automated referential integrity maintenance
DE602004005035T2 (de) Verbesserung der datenbankleistungsfähigkeit in einem domänennamensystem
DE202020005715U1 (de) Dynamische Maskierung geteilter Datenobjekte
DE112011100620T5 (de) Verfahren und system zum verwalten der lebensdauer von semantisch gekennzeichneten daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition