TECHNISCHES GEBIET
Die vorliegende Erfindung betrifft im Allgemeinen Computer-Netzwerksysteme
und im Besonderen ein Verfahren und eine Anordnung zur Beschränkung der Wiederbenutzung
von Domain-Name-System-Informationen (DNS-Informationen), wie zum Beispiel Internetprotokolladressen
(IP-Adressen), die einem bestimmten Domain-Namen zugeordnet sind, der periodisch
validiert wird.
HINTERGRUND DER ERFINDUNG
Das Domain-Name-System (DNS) ist eine wesentliche Komponente des Internets
sowie anderen Netzwerken, die internetähnliche Protokolle und Architekturen
verwenden, wie zum Beispiel das Übertragungssteuerungs- und Internetprotokoll
(TCP/IP). Die Hauptfunktion des Domain-Name-Systems ist es, Benutzern durch die
einfache Eingabe von Textnamen Zugriff auf Informationen auf anderen Computer zu
gewähren, die an das Internet angeschlossen sind, ohne Berücksichtigung
der Zahlenfolge, die die eigentlichen Adressen der Geräte oder Nameserver definieren,
auf denen die gewünschten Informationen hinterlegt sind.
Somit ist das DNS für die Abbildung eines ASCII-Hostnamen, wie
zum Beispiel www.research.att.com, auf eine IP-Adresse, wie zum Beispiel 192.20.225.10,
zuständig. In manchen Fällen werden verschiedene IP-Adressen als Antwort
auf verschiedene Abfragen zurückgesendet, welche eine Informationsfunktion,
wie zum Beispiel Auslastung und Netzwerkstandort, darstellen kann. Zudem kann eine
einzige Antwort mehrere IP-Adressen bereitstellen.
Der gesamte Datenbestand, der über das Internet zugänglich
ist, ist in Zonen unterteilt, die unter Nameservern aufgeteilt sind. Die wesentliche
Aufgabe eines Nameservers ist die Beantwortung von Abfragen unter Verwendung von
Daten in seiner Zone. Die Zuverlässigkeit des Systems und den darin enthaltenen
Informationen ist von höchster Bedeutung. Um eine dauerhafte Zuverlässigkeit
zu gewährleisten verlangt das DNS folglich, dass mindestens zwei Nameserver
in einer Zone Daten enthalten, die von einem übergeordneten Server stammen,
also übergeordnete Daten sind. Die zwei Nameserver können als Haupt- und
Nebenserver oder, wie in dieser Beschreibung, als DNS-Server auf oberer Ebene und
DNS-Server auf unterer Ebene bezeichnet werden. Eine der Hauptaufgaben von Nameservern
ist es, die Datenbankdateien zu laden und zwischengespeicherte Daten aus Quelldatensätzen
zu verwalten. Jeder Quelldatensatz enthält ein so genanntes "Time-To-Live"-Feld,
welches gewährleistet, dass Nameserver Daten nicht zeitlich unbegrenzt zwischenspeichern.
Das DNS ist ein hierarchischer Service, in dem ein DNS-Server von
einem anderen Informationen beziehen und diese dann mehrmals wiederbenutzen kann,
solange bis ein zeitabhängiger Grenzwert erreicht ist. Der zeitabhängige
Grenzwert wird als "Time-To-Live" oder TTL bezeichnet. Normalerweise handelt ein
lokaler DNS-Server im Namen von Clients, indem er DNS-Datensätze anfordert,
sie zwischenspeichert und anschließend anderen Clients für eine Zeitspanne,
als TTL-Zeit bezeichnet, zur Verfügung stellt, ohne die Informationen zu revalidieren.
Wenn ein Internetnutzer von einem DNS-Server innerhalb des DNS einen Domain-Name-Datensatz
oder Domain-Name-Informationen anfordert, muss der DNS-Server die angeforderten
Informationen bzw. den angeforderten Datensatz beziehen und an den anfordernden
Teilnehmer senden.
Ein Verfahren, diese Aufgabe zu erfüllen, besteht darin, dass
der Server prüft, ob in seinem Zwischenspeicher eine lokale Liste mit Domainnamen
hinterlegt ist, die bereits Geräteadressen zugeordnet sind. Ist der angeforderte
Domainname im Zwischenspeicher hinterlegt, kann der Rechner innerhalb kürzester
Zeit in Form der zugehörigen Geräteadresse antworten. Solch eine lokale
Liste wird als Name-Cache bezeichnet und ist im Allgemeinen im Direktzugriffsspeicher
(RAM), Plattenspeicher, oder in einer anderen mit dem Nameserver-Rechner verbundenen
Speichervorrichtung hinterlegt. Der Name-Cache wird durch andere Nameserver im Internet
periodisch aktualisiert.
Wenn ein DNS-Server die Daten zwischenspeichert, erstellt er eine
Datenbank mit allen relevanten Informationen, die das nächste Mal, wenn dieselbe
oder eine ähnliche Abfrage eingeht, von Nutzen sein können. Im Wesentlichen
erlangt der Nameserver, sobald die Informationen zwischengespeichert sind, maßgebliche
Kenntnisse über die Daten, und ob sie einer bestimmten Abfrage oder Abfragekategorie
ansprechen. Somit wird, sobald die Informationen zwischengespeichert sind, der Ablauf
der Datenbeschaffung wesentlich verkürzt, da der Server die Antwort auf die
Abfrage in seinem Zwischenspeicher hat. Dies führt zu einer erhöhten Effizienz
und verbesserten Leistung, da die zwischengespeicherten Informationen für spätere
Abfragen verwendet werden können. Die Auflösung von Daten, die sich bereits
im lokalen Zwischenspeicher befinden, ist erheblich effizienter als eine entfernte
Auflösung, die ein Manövrieren durch den Netzwerkverkehr erforderlich
macht. Es gibt jedoch einen Schwachpunkt. Es besteht durchaus die Möglichkeit,
dass die zwischengespeicherten Informationen zum Zeitpunkt ihrer Verwendung bereits
veraltet sind.
Der lokale DNS-Server kann eine kleine Anzahl von Clients oder eine
riesige Gemeinschaft versorgen. Bis zum Ablauf der TTL-Zeit wird das lokale DNS
weiterhin dieselben Informationen verwenden und verteilen. Einerseits werden die
Informationen bei einer kurzen TTL-Zeit ziemlich aktuell sein, auch wenn viele Clients
den angegebenen Host verwenden, da ein neuer Host gewählt werden kann, bevor
die Auslastung zu drastisch ansteigt.
Wenn die Informationen jedoch revalidiert werden und eine neue TTL-Zeit
festgelegt wird, müssen Abfragen an den übergeordneten Server gesendet
werden, der mit dem lokalen DNS-Server verbunden ist. Somit werden die Informationen
zwar aktuell sein, aber manche dieser Clients müssen warten, bis der Informationsaustausch
zwischen dem lokalen DNS und dem übergeordneten DNS beendet ist. Andererseits
wird bei einer längeren TTL-Zeit die DNS-Suche über mehrere Suchvorgänge
ausgeführt und weniger Clients müssen warten, jedoch kann dies zu einer
Überbelastung des Servers führen, bevor ein neuer Host verwendet wird.
Ursprünglich war das DNS als statisches System vorgesehen, das
heißt, dass sich eine einmal festgelegte Hostname-zu-IP-Adresse-Zuordnung selten
ändern würde und sich für verschiedene Hosts, die dieselben Informationen
anfordern, mit Sicherheit nicht ändern würde. Da das DNS nun verstärkt
zum geografischen Lastenausgleich verwendet wird, ist es viel dynamischer. Es muss
jedoch immer noch ein Kompromiss zwischen der Zuordnung einer kurzen TTL-Zeit, um
zu gewährleisten, dass nicht zu viele Hosts die Informationen verwenden, bevor
diese revalidiert werden, und der Zuordnung eine hohen TTL-Zeit, um die Verzögerung,
die die wiederholte Beziehung derselben DNS-Informationen mit sich bringt, einzuschränken,
gefunden werden.
Das Dokument "A performance study of robust loud sharing strategies
for distributed heterogeneous Web server systems" von Colajanni, M. und Yu, P. S
(IEEE Trans. Knowl. Data Eng., Ausg. 14, März 2002, S. 398–414) beschreibt
eine Antwort eines übergeordneten Domain-Name-Servers an einen lokalen Domain-Name-Server,
die eine zulässige Nutzungsbeschränkung umfasst.
Wie bereits erörtert, ist das DNS ein hierarchisches System in
dem ein DNS-Server von einem anderen Informationen beziehen und diese Informationen
dann wiederbenutzen kann, bis die TTL-Zeit abgelaufen ist. Es gibt derzeit keine
Kontrolle darüber, ob der DNS-Server diese Informationen wiederbenutzt, um
eine kleine Anzahl von Anforderungen oder eine große Anzahl von Anforderungen
zu erfüllen. Dies führt zu einem Umstand, den man als "verdeckte Auslastung"
bezeichnen könnte, und die sich nur mit Hilfe von Vorkenntnissen über
einen bestimmten DNS-Server schätzen lässt. Zum Beispiel würde, im
Gegensatz zu einem mäßig ausgelasteten Server, einem Server mit einer
hohen Auslastung nach Möglichkeit eine kürzere TTL-Zeit zugewiesen werden
und/oder an einen Host mit einer höheren Kapazität weitergeleitet werden.
In Anbetracht der o.a. Umstände wird ein Verfahren und ein System benötigt,
die sich mit der Problematik einer verdeckten Auslastung befassen.
ZUSAMMENFASSUNG DER ERFINDUNG
Es ist eine Aufgabe der vorliegenden Erfindung ein System und ein
Verfahren zur Beschränkung der Benutzung spezifischer Domain-Name-System-Informationen
(DNS-Informationen) entsprechend einer Anzahl von Clients und Servern, die diese
Informationen anfordern, bereitzustellen.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein System
und ein Verfahren bereitzustellen, die Informationen über die Anzahl der Clients
und Server, die spezifische DNS-Informationen angefordert haben, an einen Server
weiterleiten, der zur Bereitstellung dieser Informationen aufgefordert wurde.
Ein Verfahren zur Beschränkung der Wiederbenutzung von DNS-Informationen
gemäß einer Ausführungsform der vorliegenden Erfindung, welche einige
der bevorzugten Merkmale umfasst, beinhaltet den Schritt der Anforderung von Domain-Name-Informationen
durch einen lokalen Domain-Name-Server von einem übergeordneten Domain-Name-Server.
Die Domain-Name-Informationen beinhalten eine Beschränkung der Anzahl zulässiger
Benutzungen, d.h. eine maximale Anzahl von Wiederholungen mit der die Domain-Name-Informationen
einem Anforderer, wie zum Beispiel einem Client oder Server, zur Verfügung
gestellt werden können, bevor die Domain-Name-Informationen validiert werden.
Ein System zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen,
das gemäß einer Ausführungsform der vorliegenden Erfindung gestaltet
ist, welche einige der bevorzugten Merkmale umfasst, beinhaltet einen übergeordneten
Domain-Name-Server, einen lokalen Domain-Name-Server und mindestens einen Anforderer,
wie zum Beispiel ein Client oder Server. Der lokale Domain-Name-Server ist funktionsfähig
mit dem übergeordneten Domain-Name-Server verbunden und der Anforderer ist
funktionsfähig mit dem lokalen Domain-Name-Server verbunden.
Der Anforderer fordert Domain-Name-Informationen von dem lokalen Domain-Name-Server
an und der lokale Domain-Name-Server fordert Domain-Name-Informationen
von dem übergeordneten Domain-Name-Server an. Der übergeordnete Domain-Name-Server
stellt die Domain-Name-Informationen als Reaktion auf die Anforderung von Domain-Name-Informationen
seitens des lokalen Domain-Name-Servers bereit. Die Domain-Name-Informationen beinhalten
eine Beschränkung der Anzahl zulässiger Benutzungen, d.h. eine maximale
Anzahl von Wiederholungen mit der die Domain-Name-Informationen dem Anforderer zur
Verfügung gestellt werden können, bevor die Domain-Name-Informationen
validiert werden.
Weitere Aufgaben und Merkmale der vorliegenden Erfindung ergeben sich
durch die nachstehende ausführliche Beschreibung in Verbindung mit den beigefügten
Zeichnungen. Es versteht sich jedoch, dass die Zeichnungen lediglich illustrativen
Zwecken dienen sollen und nicht als eine Definition der Grenzen der Erfindung zu
verstehen sind.
KURZE BESCHREIBUNG DER FIGUREN
1 zeigt ein Blockschaltbild eines Systems zur Beschränkung
der Wiederbenutzung von Domain-Name-Informationen, das gemäß der vorliegenden
Erfindung gestaltet ist.
2a zeigt ein Ablaufdiagramm einer ersten Ausführungsform
eines Verfahrens zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen,
gemäß der vorliegenden Erfindung.
2b zeigt ein Ablaufdiagramm einer zweiten Ausführungsform
des Verfahrens zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen,
gemäß der vorliegenden Erfindung.
3a zeigt ein Ablaufdiagramm einer dritten Ausführungsform
des Verfahrens zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen,
gemäß der vorliegenden Erfindung.
3b zeigt ein Ablaufdiagramm einer vierten Ausführungsform
des Verfahrens zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen,
gemäß der vorliegenden Erfindung.
AUSFÜHRLICHE BESCHREIBUNG
Domain-Name-System-Informationen (DNS-Informationen) werden im Allgemeinen
durch einen lokalen DNS-Server von einem übergeordneten DNS-Server angefordert.
Der übergeordnete Server reagiert darauf, indem er dem lokalen DNS-Server die
DNS-Informationen bereitstellt. Durch das System und Verfahren gemäß der
vorliegenden Erfindung wird die Wiederbenutzung von Domain-Name-Informationen beschränkt,
indem die angeforderten DNS-Informationen zusätzlich zu dem herkömmlichen
Time-To-Live-Grenzwert (TTL) mit einer Beschränkung der Anzahl zulässiger
Benutzungen zurückgesendet werden. Die Beschränkung der Anzahl zulässiger
Benutzungen stellt die maximale Anzahl von Wiederholungen dar, mit der die zugehörigen
Domain-Name-Informationen einem Anforderer zur Verfügung gestellt werden können,
bevor sie revalidiert werden müssen.
Vorzugsweise vermindert der lokale DNS-Server, der die angeforderten
DNS-Informationen an einen Client zurücksendet, einen Zähler, der die
Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt. Der lokale
DNS-Server, der die angeforderten DNS-Informationen an einen anderen DNS-Server
zurücksendet, würde vorzugsweise dem anfordernden Server eine Teilmenge
seiner eigenen beschränkten Anzahl zulässiger Benutzungen zuteilen und
seinen eigenen Zähler, der die Anzahl der bis zur Beschränkung verbleibenden
Benutzungen zählt, um die Teilmenge der beschränkten Anzahl zulässiger
Benutzungen, die dem anfordernden Server zugeteilt wurden, mindern, um dadurch zu
gewährleisten, dass die beschränkte Anzahl zulässiger Benutzungen
konstant bleibt.
Auf diese Weise ermöglicht der lokale DNS-Server vorzugsweise
einem weiteren DNS-Server, einer maximalen Anzahl von Clients zu gestatten, bis
zur Revalidierung eine bestimmte IP-Adresse zu verwenden. Wenn der Server an der
angeforderten IP-Adresse eine geringe Auslastung aufweist, sind die Anzahl der Benutzungen
und die Dauer der TTL-Zeit in der Antwort vorzugsweise relativ hoch. Dagegen ist
die TTL-Zeit vorzugsweise kürzer, wenn der Server oder andere Teile der Infrastruktur,
wie zum Beispiel Netzwerkswitches oder Switches zum Lastenausgleich, die Grenzen
ihrer Kapazität erreichen.
Eine weitere Ausführungsform gemäß der vorliegenden
Erfindung ermöglicht dem DNS-Server, der die Revalidierung von DNS-Informationen
anfordert, Rückmeldeinformationen über die Anzahl der Wiederholungen,
mit der die DNS-Informationen anderen Clients und Servern zur Verfügung gestellt
worden sind, als eine Anzahl beobachteter Benutzungen bereitzustellen. Diese Informationen
werden vorzugsweise zur Verbesserung der Zuordnung von IP-Adressen verwendet, um
eine verbesserte Lastverteilung innerhalb des Netzwerks zu erzielen.
Wenn eine Vielzahl von IP-Adressen einem Hostnamen zugeordnet werden,
können den IP-Adressen, die einem bestimmten Hostnamen zugeordnet sind, die
gleiche oder eine unterschiedliche beschränkte Anzahl zulässiger Benutzungen
zugeteilt werden. Der DNS-Server, der die DNS-Informationen anfordert, könnte
die IP-Adressen dann wahllos, sequentiell (Rundlaufverfahren) oder wahrscheinlichkeitstheoretisch
gemäß den Gewichtungen, die jeder der Vielzahl von Internetprotokolladressen
zugeordnet sind, zuteilen. Gehen wir zum Beispiel davon aus, dass bei einer wahrscheinlichkeitstheoretischen
Zuordnung zwei IP-Adressen, IPA1 und IPA2, einem Hostnamen zugeordnet sind. Des
Weiteren gehen wir davon aus, dass IPA1 eine Gewichtung von 0,4 (40%) und IPA2 eine
Gewichtung von 0,6 (60%) zugeordnet ist. Der DNS-Server, der die DNS-Informationen
anfordert, könnte dann IPA1 40% seiner Anforderer zuordnen und IPA2 60% seiner
Anforderer.
1 zeigt ein System 10 zur Beschränkung
der Wiederbenutzung von DNS-Informationen. Das System beinhaltet einen übergeordneten
DNS-Server 12, der funktionsfähig mit einem lokalen DNS-Server
14 verbunden ist. Der lokale DNS-Server 14 ist funktionsfähig
mit weiteren lokalen DNS-Servern 18, 21, 22 verbunden.
Das System beinhaltet zudem mindestens einen Client 16, der funktionsfähig
mit dem lokalen DNS-Server 14 verbunden ist, und von diesem DNS-Informationen
anfordert. Unter Verwendung der Informationen, die die Clients 16 von dem
übergeordneten DNS-Server 12 und einem oder mehreren der lokalen DNS-Server
14,18, 21, 22 erhalten haben, greifen die Clients
16 vorzugsweise auf einen Webserver 20 zu. Der übergeordnete
DNS-Server 12, der einen A-Datensatz, welcher eine Hostname-zu-IP-Adressabbildung
beinhaltet, zurücksendet, kann erkennen, dass manche lokale DNS-Server eine
eher große Anzahl von Clients 16 versorgen, und kann diesen Servern
folglich die Anordnung erteilen, ihre Clients 16 an bestimmte Hosts zu
verweisen, die eine ungewöhnlich große Kapazität haben und/oder eine
TTL-Zeit zurücksenden, die kürzer als gewöhnlich ist.
2a zeigt ein Ablaufdiagramm einer ersten Ausführungsform
eines Verfahrens zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen
gemäß der vorliegenden Erfindung. Bei der Verwendung dieses Verfahrens
fordert ein Client von dem lokalen DNS-Server DNS-Informationen in Form eines Datensatzes
an. Nachdem der lokale DNS-Server in Schritt 24 die Anforderung von DNS-Informationen
durch den Client empfangen hat, stellt er in Schritt 26 vorzugsweise fest,
ob die angeforderten DNS-Informationen in seinem Zwischenspeicher vorhanden sind.
Wenn die angeforderten Informationen im Zwischenspeicher vorhanden sind, stellt
der lokale DNS-Server anschließend in Schritt 28 fest, ob die zwischengespeicherten
DNS-Informationen abgelaufen sind, das heißt, der Server stellt fest, ob der
Time-to-Live-Grenzwert (TTL) für die DNS-Informationen gleich null ist.
Wenn der lokale DNS-Server in Schritt 28 feststellt, dass
die zwischengespeicherten DNS-Informationen nicht abgelaufen sind, das heißt,
wenn der TTL-Wert ungleich null ist, stellt der lokale DNS-Server in Schritt
30 den Wert eines Zählers, der die Anzahl der bis zur Beschränkung
verbleibenden Benutzungen zählt, fest. Wenn der Wert des Zählers, der
die Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt, ungleich
null ist, vermindert der lokale DNS-Server in Schritt 32 den Wert des Zählers,
der die Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt,
und stellt dem Client, der die Informationen angefordert hat, die angeforderten
DNS-Informationen in Schritt 34 zur Verfügung.
Alternativ kann der lokale DNS-Server in Schritt 26 feststellen,
dass die angeforderten DNS-Informationen nicht zwischengespeichert sind oder er
kann, wenn sie zwischengespeichert sind, in Schritt 28 feststellen, dass
die zwischengespeicherten DNS-Informationen abgelaufen sind oder dass, obwohl die
TTL-Zeit nicht abgelaufen ist (TTL > 0), der Wert des Zählers, der die Anzahl
der bis zur Beschränkung verbleibenden Benutzungen zählt, gleich null
ist. In jedem dieser Fälle fordert der lokale DNS-Server in Schritt
36 von dem übergeordneten DNS-Server die DNS-Informationen an, die
eine neue TTL-Zeit und eine neue Beschränkung der Anzahl zulässiger Benutzungen
N umfassen, und erhält sie von diesem.
Indem er die neue TTL-Zeit und die neue Beschränkung der Anzahl
zulässiger Benutzungen erhält, schließt der übergeordnete DNS-Server
im Wesentlichen die Bedingungen aus, die den lokalen DNS-Server dazu veranlasst
haben, die Informationen von dem übergeordneten Server anzufordern. Die TTL-Zeit
definiert die Länge der Zeit, die die DNS-Informationen bestehen können,
bevor sie erneut validiert werden. Der Wert des Zählers, der die Anzahl der
bis zur Beschränkung verbleibenden Benutzungen zählt, gibt vorzugsweise
an, wie oft der lokale DNS-Server die Domain-Name-Informationen einem Anforderer,
wie zum Beispiel einem Client oder einem anderen Server, zur Verfügung stellen
kann.
Mit dem Eingang der angeforderten DNS-Informationen von dem übergeordneten
DNS-Server speichert der lokale DNS-Server die Informationen in Schritt
38 vorzugsweise in seinem lokalen Zwischenspeicher. Anschließend stellt
der lokale DNS-Server in Schritt 40 den Zähler, der die Anzahl der
bis zur Beschränkung verbleibenden Benutzungen zählt, auf N – 1
und sendet die angeforderten DNS-Informationen in Schritt 34 an den Client.
Indem er den Zähler, der die Anzahl der bis zur Beschränkung verbleibenden
Benutzungen zählt, auf N – 1 stellt, vermindert der lokale DNS-Server
die Anzahl der bis zur Beschränkung verbleibenden Benutzungen um eins, um dadurch
anzuzeigen, dass die DNS-Informationen in Schritt 34 dem anfordernden Client
zum ersten Mal zur Verfügung gestellt werden.
2b stellt eine zweite Ausführungsform des Verfahrens
zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen gemäß
der vorliegenden Erfindung dar, welche im Wesentlichen der in 2a
dargestellten Ausführungsform entspricht, außer dass die DNS-Informationen
von einem Server anstelle eines Clients angefordert und diesem zur Verfügung
gestellt werden. Insbesondere in der in 2b dargestellten
Ausführungsform, geht die ursprüngliche Anforderung von DNS-Informationen
vorzugsweise von einem lokalen DNS-Server an einen anderen lokalen DNS-Server, wie
zum Beispiel von Server 18, 21 an Server 14 oder von
Server 22 an Server 18 in 1, und
nicht von dem Client 16 an den lokalen DNS-Server 14.
Wie oben unter Bezugnahme auf 2a beschrieben,
stellt der DNS-Server bei Empfang der Anforderung in Schritt 42 in Schritt
44 in 2b vorzugsweise fest, ob die angeforderten
Informationen bereits in seinem Zwischenspeicher vorhanden sind. Wenn die angeforderten
DNS-Informationen in dem Zwischenspeicher vorhanden sind, der DNS-Server in Schritt
46 feststellt, dass die TTL nicht abgelaufen ist und in Schritt
48 feststellt, dass der Wert des Zählers, der die Anzahl der bis zur
Beschränkung verbleibenden Benutzungen zählt, ungleich null ist, verringert
der DNS-Server in Schritt 50 vorzugsweise den Zähler, der die Anzahl
der bis zur Beschränkung verbleibenden Benutzungen zählt und sendet die
angeforderten Informationen in Schritt 52 an den anfordernden DNS-Server.
Allerdings sendet der DNS-Server mit der Bereitstellung der DNS-Informationen
in Schritt 52 vorzugsweise auch eine Teilmenge der beschränkten Anzahl
zulässiger Benutzungen M, die den angeforderten Informationen zugeordnet ist,
wobei diese einen Anteil der beschränkten Anzahl zulässiger Benutzungen
darstellt, die ursprünglich von dem übergeordneten DNS-Server zusammen
mit den DNS-Informationen bei der ersten Validierung bereitgestellt wurde. Die beschränkte
Anzahl zulässiger Benutzungen M gibt vorzugsweise die Anzahl der Anforderer
an, welche Clients und Server umfassen, denen der anfordernde DNS-Server die entsprechenden
Informationen anschließend zur Verfügung stellen kann. Folglich wird der
Zähler, der die Anzahl der bis zur Beschränkung verbleibenden Benutzungen
zählt, in Schritt 50 vorzugsweise um M vermindert, um den Anteil der
Anzahl zulässiger Benutzungen darzustellen, der dem anfordernden DNS-Server
in Schritt 52 gewährt wird.
In 2b setzt der übergeordnete Server
die den DNS-Informationen zugeordnete beschränkte Anzahl zulässiger Benutzungen
auf N, bevor er sie zusammen mit den angeforderten Informationen in Schritt
54 an den lokalen DNS-Server sendet, sofern die angeforderten Informationen
nicht im Zwischenspeicher des lokalen DNS-Servers vorhanden sind und dieser sie
in Schritt 44 von dem übergeordneten Server beziehen muss. Mit dem
Eingang der Informationen von dem übergeordneten Server, speichert der lokale
DNS-Server die Informationen in Schritt 56 vorzugsweise im Zwischenspeicher,
stellt den Zähler, der die Anzahl der bis zur Beschränkung verbleibenden
Benutzungen zählt, in Schritt 58 auf N – M und sendet die angeforderten
DNS-Informationen zusammen mit einer Teilmenge M der beschränkten Anzahl zulässiger
Benutzungen, die einen Teil der beschränkten Anzahl zulässiger Benutzungen
N darstellt, in Schritt 52 an den anfordernden DNS-Server. Der anfordernde
DNS-Server, der die angeforderten Informationen und die zugehörige Teilmenge
M der beschränkten Anzahl zulässiger Benutzungen erhalten hat, vermindert
M vorzugsweise bei jeder Bereitstellung der Information an einen Anforderer um einen
Wert, der der beschränkten Anzahl der Benutzungen entspricht, die diesem Anforderer
gewährt wurde.
3a zeigt eine dritte Ausführungsform des Verfahrens
zur Beschränkung der Wiederbenutzung von Domain-Name-Informationen gemäß
der vorliegenden Erfindung. In dieser Ausführungsform initialisiert der Server
in Schritt 74 vorzugsweise in Verbindung mit den angeforderten Information
einen Zähler, der die beobachteten Benutzungen zählt, mit Null, wenn der
lokale DNS-Server in Schritt 60 eine Anforderung von DNS-Informationen
seitens des Clients empfängt und in Schritt 62 feststellt, dass die
angeforderten Informationen nicht in seinem Zwischenspeicher vorhanden sind.
Anschließend sendet der Server in Schritt 76 vorzugsweise
eine Anforderung von DNS-Informationen zusammen mit dem aktuellen Wert des Zählers,
der die beobachteten Benutzungen zählt, an den übergeordneten DNS-Server.
Daraufhin stellt der übergeordnete DNS-Server in Schritt 78 dem anfordernden
Client vorzugsweise die angeforderten DNS-Informationen zusammen mit dem zugehörigen
TTL-Wert und der beschränkten Anzahl zulässiger Benutzungen N zur Verfügung.
Somit erhält der anfordernde DNS-Server von dem übergeordneten Server
im Wesentlichen Informationen, die anhand der folgenden drei Parameter definiert
werden: der TTL-Wert, die von dem übergeordneten Server bereitgestellte beschränkte
Anzahl zulässiger Benutzungen N, sowie der vom anfordernden Server bereitgestellte
Zähler, der die beobachteten Benutzungen zählt.
Danach speichert der DNS-Server in Schritt 80 vorzugsweise
die Informationen in seinem lokalen Zwischenspeicher, sodass sie für den nächsten
Client, der dieselben Informationen anfordert, direkt verfügbar
sind. Mit dem Speichern der Informationen im Zwischenspeicher stellt der lokale
DNS-Server in Schritt 82 vorzugsweise den entsprechenden Zähler, der
die Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt, auf
N – 1, um anzuzeigen, dass er dabei ist, dem anfordernden Client die Informationen
zur Verfügung zu stellen. Der Server erhöht in Schritt 84 außerdem
vorzugsweise den Zähler, der die beobachteten Benutzungen zählt, um anzuzeigen,
dass die Informationen dem anfordernden Client zur Verfügung gestellt werden.
Folglich geht jede Verminderung des Zählers, der die Anzahl der bis zur Beschränkung
verbleibenden Benutzungen zählt, vorzugsweise mit einer Erhöhung des Zählers,
der die beobachteten Benutzungen zählt, einher und beide Werte zeigen auf,
dass die angeforderten Informationen dem anfordernden Client in Schritt
72 zur Verfügung gestellt werden.
Wenn in Schritt 62 festgestellt wird, dass die angeforderten
DNS-Informationen im Zwischenspeicher vorhanden sind und entweder in Schritt
64 die DNS-Informationen abgelaufen sind oder in Schritt 66 der
entsprechende Zähler, der die Anzahl der bis zur Beschränkung verbleibenden
Benutzungen zählt, gleich null ist, fordert der Server die DNS-Informationen
in Schritt 76 vorzugsweise von dem übergeordneten Server an und stellt
diesem den aktuellen Wert des Zählers, der die beobachteten Benutzungen zählt,
bereit. Wenn in Schritt 62 festgestellt wird, dass die angeforderten DNS-Informationen
im Zwischenspeicher vorhanden sind, in Schritt 64 die DNS-Informationen
nicht abgelaufen sind und in Schritt 66 der entsprechende Zähler,
der die Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt,
ungleich null ist, wird der Zähler, der die beobachteten Benutzungen zählt,
in Schritt 68 erhöht und der Zähler, der die Anzahl der bis zur
Beschränkung verbleibenden Benutzungen zählt, in Schritt 70 vermindert,
um dadurch aufzuzeigen, dass die DNS-Informationen dem anfordernden Client in Schritt
72 zur Verfügung gestellt werden.
3b zeigt ein Ablaufdiagramm einer weiteren Ausführungsform
gemäß der vorliegenden Erfindung, welche im Wesentlichen der in
3a dargestellten Ausführungsform entspricht, außer
dass das Ablaufdiagramm von einem Server auf mittlerer Ebene ausgeht, wie zum Beispiel
Server 18 in 1, der von einem Server auf unterer
Ebene, wie zum Beispiel Server 22 in 1, eine
Anforderung von DNS-Informationen empfängt. Der Server auf mittlerer Ebene
leitet die Anforderung von DNS-Informationen vorzugsweise an einen Server auf oberer
Ebene weiter, wie zum Beispiel Server 14 oder dem übergeordneten Server
12 in 1.
In Schritt 86 empfängt der Server auf mittlerer Ebene
vorzugsweise vom Server auf unterer Ebene die Anforderung von DNS-Informationen
zusammen mit der beschränkten Anzahl zulässiger Benutzungen NL,
die der Server auf mittlerer Ebene dem Server auf unterer Ebene zuvor als Reaktion
auf die DNS-Informationsanforderung des Servers auf unterer Ebene gewährt hat,
eine von dem Server auf unterer Ebene gemeldete Untergrenze der beobachteten Benutzungen
OL,low für die zugehörigen DNS-Informationen, und eine von
dem Server auf unterer Ebene gemeldete Obergrenze der beobachteten Benutzungen OL,high
für die zugehörigen DNS-Informationen. Wenn die angeforderten DNS-Informationen
in Schritt 88 nicht im Zwischenspeicher des Servers auf mittlerer Ebene
vorhanden sind, werden in Schritt 90 die Variablen des Servers, die jeder
dieser Variablen entsprechen, auf null gesetzt. Anschließend sendet der Server
auf mittlerer Ebene in Schritt 92 eine Anforderung an den Server auf oberer
Ebene oder übergeordneten Server, die die aktuellen Werte von NM,
OM,low, und OM,high enthält.
In Schritt 94 empfängt der Server auf mittlerer Ebene
die angeforderten Informationen zusammen mit dem TTL-Wert und der beschränkten
Anzahl zulässiger Benutzungen N vorzugsweise von dem Server auf oberer Ebene
oder dem übergeordneten Server. Anschließend initialisiert der Server
auf mittlerer Ebene in Schritt 96 seinen Zähler, der die Anzahl der
bis zur Beschränkung verbleibenden Benutzungen zählt, mit N, initialisiert
die von dem Server auf mittlerer Ebene gemeldete Obergrenze der beobachteten Benutzungen
Ohigh mit null und initialisiert die von dem Server auf mittlerer Ebene
an den Server auf unterer Ebene gemeldete Untergrenze der beobachteten Benutzungen
Olow mit null. In Schritt 98 werden die DNS-Informationen zusammen
mit der beschränkten Anzahl zulässiger Benutzungen N in den Zwischenspeicher
des Servers auf mittlerer Ebene hinterlegt.
In Schritt 100 wird für die DNS-Informationsantwort
an den Server auf unterer Ebene eine beschränkte Anzahl zulässiger Benutzungen
Nresp kleiner gleich dem Zähler, der die Anzahl der bis zur Beschränkung
verbleibenden Benutzungen zählt, gewählt. Der Wert von Nresp
kann aufgrund von Faktoren wie der verbleibenden TTL-Zeit der DNS-Antwort, der Anzahl
der Anforderer, welche Clients und DNS-Server auf unterer Ebene umfassen können,
denen der anfordernde DNS-Server die angeforderten Informationen anschließend
zur Verfügung stellen kann, der bisherige Verlauf der Benutzung dieses oder
anderer anfordernder DNS-Server, usw. gewählt werden. In Schritt
102 wird die Untergrenze der beobachteten Benutzungen am Server auf mittlerer
Ebene Olow um eins erhöht, die Obergrenze der beobachteten Benutzungen
am Server auf mittlerer Ebene Ohigh um die beschränkte Anzahl zulässiger
Benutzungen für die DNS-Informationsantwort Nresp erhöht und
der Zähler, der die Anzahl der bis zur Beschränkung verbleibenden Benutzungen
zählt, um die beschränkte Anzahl zulässiger Benutzungen
der DNS-Informationsantwort Nresp vermindert.
Somit zeigt die Untergrenze der beobachteten Benutzungen am Server
auf mittlerer Ebene Olow nun an, dass die DNS-Informationen mindestens
einem Anforderer, dem Server auf unterer Ebene, zur Verfügung gestellt worden
sind. Die Obergrenze der beobachteten Benutzungen am Server auf mittlerer Ebene
Ohigh zeigt nun an, dass die maximale Anzahl von Anforderern, denen die
DNS-Informationen zur Verfügung gestellt werden können, der beschränkten
Anzahl zulässiger Benutzungen Nresp entspricht, die dem Server auf
unterer Ebene gewährt werden. Der Zähler, der die Anzahl der bis zur Beschränkung
verbleibenden Benutzungen zählt, zeigt nun die verbleibende Anzahl der Benutzungen
an, die weiteren Anforderern gewährt werden können. Anschließend
werden in Schritt 104 die angeforderten DNS-Informationen zusammen mit
der beschränkten Anzahl zulässiger Benutzungen der DNS-Informationsantwort
Nresp an den Server auf unterer Ebene gesendet.
Wenn die angeforderten DNS-Informationen in Schritt 88 im
Zwischenspeicher vorhanden sind und entweder in Schritt 106 die Informationen
abgelaufen sind oder in Schritt 108 der Zähler, der die Anzahl der
bis zur Beschränkung verbleibenden Benutzungen zählt, gleich null ist,
werden die Variablen des Servers auf mittlerer Ebene in Schritt 110 initialisiert.
Im Einzelnen werden NM min N, OM,low mit Olow und
OM,high mit Ohigh initialisiert. Wenn die angeforderten DNS-Informationen
in Schritt 88 im Zwischenspeicher vorhanden sind, die zwischengespeicherten
Informationen in Schritt 106 nicht abgelaufen sind und der Zähler,
der die Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt,
in Schritt 108 ungleich null ist, werden in Schritt 112 der Zähler,
der die Anzahl der bis zur Beschränkung verbleibenden Benutzungen zählt
(RUC), und die dem Server auf unterer Ebene zugeordneten Ober- und Untergrenzen
wie folgt eingestellt:
Olow:= Olow – 1 + OL,low(1);
Ohigh:= Ohigh – NL + OL,high(2);
und
RUC:= RUC + NL – OL,high(3).
In Gleichung (1) wird Olow um 1 vermindert, in Gleichung
(2) wird Ohigh um NL vermindert und in Gleichung (3) wird
NL zu dem Zähler, der die Anzahl der bis zur Beschränkung verbleibenden
Benutzungen zählt (RUC) addiert, da in Schritt 102 von dem Server
auf mittlerer Ebene entsprechende Werte (1, Nresp, Nresp)
für Olow, Ohigh, und RUC als angenommene Werte für
den Server auf unterer Ebene verwendet wurden. In Schritt 112 meldet der
Server auf unterer Ebene beobachtete Werte, die durch die in Schritt 102
angenommenen Werte ersetzt werden. Anschließend wird das Verfahren vorzugsweise
mit Schritt 110 wie zuvor beschrieben fortgesetzt.
Entsprechend der vorliegenden Erfindung ist die Benutzung von DNS-Informationen
vorzugsweise durch die Anzahl der Anforderer, denen die Informationen zur Verfügung
gestellt werden, beschränkt (beschränkte Anzahl zulässiger Benutzungen).
Zudem stellt eine Anforderung, die DNS-Informationen zu revalidieren, Informationen
bezüglich der Anzahl der Anforderer bereit, denen die DNS-Informationen zur
Verfügung gestellt werden (Zähler, der die beobachteten Benutzungen zählt).
Verschiedene Ausführungsformen der vorliegenden Erfindung sind
hierin im Einzelnen dargestellt und/oder beschrieben. Änderungen und Variationen
der vorliegenden Erfindung sind durch die oben angeführten Darstellungen und
den Rahmen der beigefügten Patentansprüche abgedeckt.