DE60017788T2 - Netzwerk addressen-server - Google Patents

Netzwerk addressen-server Download PDF

Info

Publication number
DE60017788T2
DE60017788T2 DE60017788T DE60017788T DE60017788T2 DE 60017788 T2 DE60017788 T2 DE 60017788T2 DE 60017788 T DE60017788 T DE 60017788T DE 60017788 T DE60017788 T DE 60017788T DE 60017788 T2 DE60017788 T2 DE 60017788T2
Authority
DE
Germany
Prior art keywords
network address
name
address
correlation
network
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
DE60017788T
Other languages
English (en)
Other versions
DE60017788D1 (de
Inventor
Edmon Chung
David Leung
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.)
Afilias Ltd
Original Assignee
Neteka 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 Neteka Inc filed Critical Neteka Inc
Publication of DE60017788D1 publication Critical patent/DE60017788D1/de
Application granted granted Critical
Publication of DE60017788T2 publication Critical patent/DE60017788T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • 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/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/32Types of network names containing non-Latin characters, e.g. Chinese domain names
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Saccharide Compounds (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein System und ein Verfahren zum Erleichtern der Kommunikation zwischen Domains (Domänen) eines Fernnetzes (Wide Area Network). Insbesondere bezieht sich die vorliegende Erfindung auf einen Netzwerk-Server zum Zuordnen von Netzadressnamen zu physikalischen Netzadressen.
  • HINTERGRUND DER ERFINDUNG
  • Um die Kommunikation zwischen Kommunikationseinrichtungen über ein Netzwerk zu erleichtern, wird jeder Netzwerkeinrichtung typischerweise eine eindeutige numerische Netzadresse zugewiesen. Ein Nutzer, welcher mit einer der Netzwerkeinrichtungen verbunden ist, braucht dann nur der Transportschicht des Netzwerks die numerischen Netzadresse des beabsichtigten Zieles zur Verfügung zu stellen, um mit dem Ziel zu kommunizieren. Obwohl dieses System in kleinen Netzwerken zufriedenstellend funktioniert, in welchen Nutzer nur mit einer kleinen Anzahl von Netzwerk-Kommunikationseinrichtungen kommunizieren, kann das System nicht leicht auf große Netzwerke übertragen werden, weil es erfordert, dass jeder Netzwerknutzer sich eine große Anzahl von eindeutigen numerischen Netzwerkadressen merkt. Aus diesem Grund wurde das Domainnamen-System (DNS: Domain Name System) von Mockapetris in 1987 vorgeschlagen (RFC 1034 und RFC 1035 Network Working Group; heute verfügbar unter „http://www.ietf.org", als ein Mechanismus zum Erleichtern der Kommunikation zwischen Kommunikationseinrichtungen über das Internet.
  • Das DNS erleichtert die Internet-Kommunikation durch Zuordnen von Domainnamen zu numerischen (IP, "Internet Protocol") Netzadressen. Das DNS besteht grundsätzlich aus Betriebsmitteldatensätzen (resource records), Domainnamen-Servern und Auflösern (resolvers). Alle Betriebsmitteldatensätze umfassen Informationen betreffend jeden Netzwerkknoten, umfassend die IP-Adresse von dem Netzwerkknoten, und die Domainnamen, die der IP-Adresse zugeordnet sind. Zusammen stellen die Betriebsmitteldatensätze für das Internet einen baumartig strukturierten Domainnamensraum zur Verfügung. Die Domainnamen-Server sind Internet-Server, welche Informationen betreffend den Domainnamensraum speichern. Insbesondere weist jeder Domainnamen-Server eine Datei („zone file"/„Gebietsdatei") auf, welche die Betriebsmitteldatensätze, die seiner eigenen Untermenge des Domainnamensraumes zugeordnet sind, speichert. Diese Datensätze werden als autoritative" Datensätze bezeichnet. Zudem speichern die Domainnamen-Server auf Abfragen von Auflösern Kopien der Betriebsmitteldatensätze temporär zwischen, welche von anderen Domainnamen-Servern beschafft worden sind, um die Leistung des Abfrageverfahrens zu verbessern, wenn nichtlokale Daten durch einen Auflöser abgefragt werden. Die Auflöser sind lokale Programme, welche Informationen von den Domainnamen-Servern als Antwort auf Abfragen eines Client beschaffen.
  • Typischerweise weist der Domainname, der einer Netzwerkeinrichtung an einer einzelnen IP-Adresse zugewiesen ist, ein Kennzeichnungsfeld oberster Ebene (top level label field) und ein oder mehrere Kennzeichnungsfelder unterer Ebene (lower level label fields) auf. Die Kennzeichnungsfelder, welche einen Domainnamen umfassen, sind zueinander durch einen Delimiter („.") getrennt, sie und sind jeweils in dem Domainnamen entsprechend ihrer jeweiligen relativen Ebene in der Domainnamens-Hierarchie positioniert. Um auf eine einzelne Netzwerk-Einrichtung zuzugreifen (umfassend das Übertragen einer Email-Nachricht an einen Empfänger, der einen Email-Account hat, der in einer entfernt gelegenen Netzwerk-Einrichtung unterhalten wird), stellt ein Benutzer einem Auflöser (Resolver) mittels eines Internet-Browsers einen Domainnamen zur Verfügung, der der gewünschten Netzwerk-Einrichtung zugeordnet ist. Der Auflöser richtet eine Suchanfrage an einen Haupt-DNS-Server (root DNS server) mit dem Kennzeichen der oberen Ebene (top level label), welches in dem Domainnamen identifiziert ist, um die IP-Adresse des DNS-Servers zu beschaffen, welcher die Gebietsdatei (zone file) aufweist, welche der Domain der obersten Ebene (top level domain) zugeordnet ist. Der Auflöser greift dann auf den identifizierten DNS-Server zu, wobei er die erzielte IP-Adresse verwendet, und mit der Kennzeichnung, welches die nächst höhere Position in der Domainnamen- Hierarchie belegt (die Kennzeichnung unmittelbar links von der Kennzeichnung der obersten Ebene in dem Domainnamen) erzielt er die IP-Adresse von dem DNS-Server, welcher die Gebietsdatei aufweist, die der abgefragten Kennzeichnung zugeordnet ist. Das Verfahren wird fortgeführt, bis jede Kennzeichnung in dem Domainnamen aufgelöst worden ist, an welchem Punkt der zuletzt abgefragte DNS-Server dem Auflöser die IP-Adresse der Netzwerk-Einrichtung zur Verfügung stellt, die den spezifizierten Domainnamen aufweist. Obwohl das DNS erfolgreich weltweit implementiert worden ist, leidet es an wenigstens drei Hauptnachteilen.
  • Erstens müssen die Domainnamen, welche durch das DNS implementiert werden, den Regeln für die ARPANET Host-Namen folgen. Dementsprechend muss jede Kennzeichnung mit einem „Buchstaben" oder einer der Zahlen 0 bis 9 beginnen und enden und nur „Buchstaben", die Zahlen 0 bis 9 oder einen Bindestrich dort zwischen beinhalten. Zudem kann jeder „Buchstabe" nur einer von 'A' bis 'Z' und 'a' bis 'z' sein. Als ein Ergebnis ist die Anzahl von verfügbaren Domainnamen stark beschränkt. Zweitens ist das DNS-System nicht unterscheidend hinsichtlich der Groß-/Kleinschreibung, so dass zwei Domainnamen, welche eine identische Buchstabenfolge aufweisen aber deren einzelne Buchstaben hinsichtlich ihrer Groß-/Kleinschreibung nicht übereinstimmen, zu derselben Netzadresse aufgelöst werden. Wie offensichtlich ist, beschränkt dieses Erfordernis zusätzlich die Anzahl von Domainnamen, die verwendet werden können. Drittens, weil die Betriebsmitteldatensätze für jede Unter-Domain (Sub-Domain) in den Gebietsdateien gespeichert sind, ist die Anzahl von Domainnamen und die Geschwindigkeit des Auflösungsverfahrens durch Hardware-Beschränkungen der Domainname-Server beschränkt.
  • Obwohl Email-Systeme lange existierten, bevor das DNS eingerichtet worden ist, liegen die Probleme, welche existierenden Email-Systemen innewohnen, dicht parallel zu denjenigen des DNS. Insbesondere akzeptieren die meisten Email-Systeme nur, als Einbindung eines Teils eines Email-Account-Namens, den Bindestrich, die Zahlen 0 bis 9 und die Buchstaben 'A' bis 'Z' und 'a' bis 'z', wodurch die Anzahl der verfügbaren Account-Namen beschränkt wird. Wiederum sind die meisten Email-Systeme ebenso nicht groß-/kleinschreibungsunterscheidend, was zusätzlich die Anzahl der verfügbaren Account-Namen beschränkt.
  • Versuche sind unternommen worden, um einige Nachteile der existierenden Netzadressen-Namens-Systeme zu lösen. Zum Beispiel haben RealNames (www.realnames.com) und iDNS (www.idns.org) Modifikationen an dem existierenden Domainnamens-System vorgeschlagen, welche versuchen, die Anzahl von verfügbaren Domainnamen zu vergrößern. Beide Systeme würden Benutzern ermöglichen, einen Domainnamen in das URL-Feld ihres Browsers einzugeben, ohne dass der Name den Regeln für die ARPANET Host-Namen folgt. Zum Beispiel könnten Teilnehmer in ihren Internet-Browser einen Domainnamen eingeben, welcher Symbole und/oder Buchstaben aus einem Zeichensatz einer nicht englischen Sprache umfasst. Der Domainname würde einem eigenen RealNames- oder iDNS-Server übertragen, welcher dann den Domainnamen in einen ARPANET-konformen Domainnamen übersetzen würde, zum Auflösen durch das existierende DNS. Wie offensichtlich ist, können diese Lösungen einen Flaschenhals bei der Berechnung verursachen, weil jeder Domainname zuerst durch ihre eigenen Server übersetzt werden müsste, vor der Auflösung durch einen Domainnamen-Server. Zudem würden diese Lösungen nicht für Email-Adressen geeignet sein, weil der Bereich der Email-Adresse, welche den Verfasser und den Empfänger der Email-Nachricht identifiziert, immer noch durch den Email-POP3-Server des Empfängers übersetzt werden müsste.
  • Die Microsoft-Corporation hat eine Lösung vorgeschlagen (http://search.ietf.orf/internet-drafts/draft-skwan-utf8-dns-02.txt), welche die Größe des Zeichensatzes vergrößern würde, der für Domainnamen verfügbar ist. Entsprechend dieses Vorschlags würden die DNS-Pakete aus dem existierenden ASCII-Format zu dem UTF-8-Format übergehen. Diese letztere Lösung würde jedoch erfordern, dass alle Internet-Browser einem Update unterzogen werden müssten, bevor Domainnamen, welche die UTF-8 Zeichen verwenden, benutzt würden, weil die UTF-8 Zeichen bei Verwendung einer Doppelbyte-Struktur codiert werden. Dementsprechend würde ein Domainnamen-Server, der derart eingerichtet ist, dass er zum Beispiel BIND verwendet, ein UTF-8 Zeichen, das er von einem herkömmlichen Browser als zwei Zeichen anstelle von einem empfängt, fehlerhaft interpretieren, was zu einer fehlerhaften Auflösung des Domainnamen führt.
  • Smetaniuk („Distributed Operation of the X.500 Directory"), Computer Networks and ISDN-Systems, Volume 21, Number 1, March 1991) beschreibt eine OSI-Spezifikation für ein verteiltes globales Online-Verzeichnis einer nicht beschränkten Größe. Das X.500-Datenverzeichnissystem besteht aus einer Anzahl von Anwendungsprozessen (DSAs), wobei jeder eine Datenverzeichnis-Informationsbasis (DIB: Directory Information Base) speichert. Jede DIB umfasst eine hierarchische Anordnung von Objekten, von denen jedes durch einen relativ unterschiedenen Namen identifiziert ist.
  • Ein Name wird dadurch aufgelöst, dass ein gewünschter Name von DSA zu DSA durchgeleitet wird, bis ein DSA erreicht wird, welcher einen Objekteintrag beinhaltet, dessen abgegrenzter Name mit einem anfänglichen Bereich des gewünschten Namens übereinstimmt. Das DSA bewertet die Abfrage anhand seiner Objekteinträge und sendet, wenn notwendig, Unterabfragen zu untergeordneten DSAs, welche einen Objekteintrag bereithalten, dessen unterscheidender Name mit einem größeren Bereich des gewünschten Namens übereinstimmt. Dieser Schritt wird wiederholt, wobei jeder untergeordnete DSA Unterabfragen zu weiter ungeordneten DSAs sendet, bis die Unterabfrage zu einem DSA geleitet wird, der einen Objekteintrag bereithält, dessen unterscheidender Name mit dem vollständigen gewünschten Namen übereinstimmt.
  • Dann ( US 5 333 317 ) offenbart ein Namensauflösungssystem, welches eine oder mehrere Datenverzeichnisinformationsbasen (DIBs: Directory Information Bases) umfasst, und einen Registerbaum (index tree) zu einem X.500-Datenverzeichnis, zum Auflösen eines gewünschten allgemeinen Namen in einen gespeicherten genormten Namen. Alle DIBs zusammen umfassen ein verteiltes X.500-Datenverzeichnis, wobei jede DIB ein Fragment des gesamten X.500-Datenverzeichnisses pflegt.
  • Der Registerbaum umfasst einen oder mehrere Knoten, wobei jeder einen Zweigschlüssel zum Lenken einer Suche des X.500-Datenverzeichnisses beinhaltet. Jeder Zweigschlüssel umfasst einen Vorsatz-String (Prefix-String), einen oder mehrere Zweigzeichen für den Knoten und einen Zeiger auf Unterbäume des Knotens. Der Vorsatz beinhaltet den längsten String von führenden Zeichen, welche von dem Knoten und jedem Unterbaum des Knotens geteilt werden. Die Zweigzeichen für einen Knoten definieren zusammen mit dem Vorsatz für den Stammknoten den Registereintrag für den Knoten. Gewünschte Namen werden aufgelöst, durch Durchsuchen des Registers von dem Hauptknoten (Root Node) abwärts, auf einer Knoten um Knotenbasis, für alle Registerknoten, welche ein Namensfeld aufweisen, das mit einer Komponente des gewünschten Namens übereinstimmt, und dann durch Identifizieren eines wahrscheinlichen Treffers durch Berechnen einer gewichteten Summe der Treffer.
  • BOLOT J-C ET AL: „EVALUATING CACHING SCHEMES FOR THE X.500 DIRECTORY SYSTEM" PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PITTSBURGH, MAY 25 – 28, 1993, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. CONF. 13, 25 May 1993 (1993-05-25), Seiten 112 – 119, XP000399379 ISBN: 0-8186-3770-6, offenbart ein weiteres System, welches auf dem X.500-Datenverzeichnis basiert.
  • Daher verbleibt ein Bedarf für ein Netzadressen-Namengebungssystem, welches die Anzahl von verfügbaren Domainnamen vergrößert, ohne Flaschenhälse bei der Berechnung zu erzeugen, und ohne wesentliche Änderungen an der existierenden Browser-Software zu erfordern. Ferner verbleibt ein Bedarf für ein Netzadressen-Namengebungssystem, welches die Größe des Zeichensatzes ausdehnt, der für die Komponenten eines Account-Namens von Email-Adressen verfügbar ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß eines ersten Aspekts der vorliegenden Erfindung wird ein Netzadressen-Server mit den Merkmalen von Anspruch 1 und ein Verfahren zum Auflösen eines Ziel-Netzadressnamens (eines gewünschten Netzadressnamens) in eine Netzadresse mit den Merkmalen von Anspruch 5 zur Verfügung gestellt, welche die Nachteile der Netzadressen-Namengebungssysteme gemäß des Standes der Technik angehen.
  • Der Netzadressen-Server gemäß dem ersten Aspekt der Erfindung ist derart eingerichtet, dass er eine Kennzeichnung eines Ziel-Adressnamens in eine Netzadresse auflöst, wobei die Kennzeichnung des Ziel-Adressnamens einen Zweig von einer Ebene eines Netzadressen-Namensraumes mit mehreren Ebenen definiert. Der Netzadressen-Server ist einer von einer Vielzahl von Netzadressen-Servern, von denen jeder eindeutig einem jeweiligen Bereich der Ebene des Adressnamensraumes zugeordnet ist. Der Netzadressen-Server umfasst eine Adressnamen-Datenbank und einen Adressnamen-Prozessor, welcher in Verbindung mit der Adressnamen-Datenbank steht, zum zur Verfügung Stellen einer Antwort auf eine Abfrage der Netzadresse, welche der Kennzeichnung des Ziel-Adressnamens entspricht. Die Adressnamen-Datenbank umfasst eine Anzahl von Datenbank-Datensätzen, von denen jeder eine eindeutige Kennzeichnung eines Adressnamens und ferner eine Netzadresse identifiziert, welche eindeutig zu der Kennzeichnung des Adressnamens zugeordnet ist. Der Adressnamen-Prozessor umfasst einen Korrelationsprozessor, einen Korrelations-Transceiver, der in Verbindung mit dem Korrelationsprozessor steht, und einen Antwort-Prozessor, der in Verbindung mit dem Korrelationsprozessor und dem Korrelations-Transceiver steht. Der Korrelationsprozessor ist derart eingerichtet, dass er eine Korrelation zwischen der Kennzeichnung des Ziel-Adressnamens und dem jeweiligen eindeutigen Adressnamenbereich bestimmt. Der Korrelations-Transceiver ist derart eingerichtet, dass er den anderen Netzadressen-Servern einen jeweiligen Hinweis der bestimmten Korrelation zur Verfügung stellt und einen entsprechenden Korrelationshinweis von wenigstens einem von den anderen Netzadressen-Servern empfängt. Der Antwort-Prozessor ist derart eingerichtet, dass er auf die Abfrage in Übereinstimmung mit den Korrelationshinweisen eine Antwort zur Verfügung stellt.
  • Das Verfahren zum Auflösen eines Ziel-Netzadressnamens, gemäß eines ersten Aspekts der Erfindung, umfasst die Schritte (1) das Empfangen auf einem ersten Netzadressen-Server einer Abfrage der Netzadresse, welche der Kennzeichnung des Ziel-Adressnamens entspricht, wobei der erste Netzadressen-Server einer einer Vielzahl von Netzadressen-Servern ist, von denen jeder Datenbank-Datensätze beinhaltet, welche einen eindeutigen Bereich der Ebene des Adressnamensraumes definieren, wobei jeder Datenbank-Datensatz eine eindeutige Kennzeichnung eines Adressnamens einer entsprechenden Netzadresse zuordnet; (2) auf dem ersten Netzadressen-Server das Bestimmen einer Korrelation zwischen der empfangenen Kennzeichnung des Ziel-Adressnamens und dem jeweiligen eindeutigen Adressnamenbereichs; (3) auf dem ersten Domainnamen-Server das zur Verfügung Stellen für die anderen Netzadressen-Server eines jeweiligen Hinweises der Korrelation und das Empfangen entsprechender Korrelationshinweise von wenigstens einem der anderen Netzadressen-Server; und (4) auf dem ersten Netzadressen-Server das zur Verfügung Stellen einer Antwort auf die Abfrage in Übereinstimmung mit den Korrelationshinweisen.
  • Gemäß eines zweiten Aspekts der vorliegenden Erfindung wird ein Verfahren zum Auflösen von Netzadressnamen mit den Merkmalen von Anspruch 9 zur Verfügung gestellt, welches die Nachteile der Netzadressen-Namensgebungssysteme gemäß des Standes der Technik angeht. Das Verfahren zum Auflösen von Netzadressnamen, entsprechend des zweiten Aspekts der vorliegenden Erfindung, umfasst die Schritte (1) das zur Verfügung Stellen einer Vielzahl von Netzadress-Servern zum Abbilden eines hierarchischen Netzadressen-Namensraumes, wobei der hierarchische Adressnamensraum eine Vielzahl von Ebenen aufweist, jeder der gesagten Netzadressen-Server Datenbank-Datensätze umfasst, welche eine eindeutige Untermenge von einer jeweiligen Ebene des Adressnamen-Raumes definieren, wobei jeder Datenbank-Datensatz einen eindeutigen Adressnamen einer entsprechenden Netzadresse zuordnet; (2) das Empfangen eines Ziel-Adressnamens zum Auflösen, wobei der Ziel-Adressnamen eine Anzahl von Kennzeichnungen des Adressnamens umfasst, jede Adressnamen-Kennzeichnung einer der Untermengen von einer jeweiligen einen der Ebenen des Adressnamen-Raumes zugeordnet ist; und (3) für jedes Kennzeichen des Adressnamens das Abfragen von wenigstens einem der Netzadressen-Servern, welcher die zugeordnete Ebene des Adressnamen-Raumes definiert.
  • In einer vorzuziehenden Ausführung der Erfindung umfasst der Netzadressen-Server einen Domainnamen-Server zum Auflösen einer Kennzeichnung eines Ziel-Domainnamens durch eine Netzadresse. Jeder Domainnamen-Server weist eine Antwortzeit für einen Korrelationshinweis auf, und der Domainnamen-Server, welcher die Antwort auf die Abfrage zurückleitet, weist die kürzeste der Antwortzeiten für den Korrelationshinweis auf. Vorzugsweise umfasst jeder Datenbank-Datensatz wenigstens ein Datensatzzeichen (Character) auf, welches einen Datensatz-Zeichensatztyp aufweist, und einen Identifikator für den Zeichensatz des Datensatzes, welcher den Zeichensatztyp des Datensatzes identifiziert. Die Kennzeichnung des Ziel-Domainnamens umfasst wenigstens ein Domainnamen-Zeichen (Character), welches einen Zeichensatztyp des Domainnamens aufweist, und einen Identifikator für den Zeichensatz des Domainnamens, welcher den Zeichensatztyp des Domainnamens identifiziert. Der Korrelationsprozessor bestimmt die Korrelation (Übereinstimmung) zwischen der Kennzeichnung des Ziel-Domainnamens und des jeweils eindeutigen Domainnamen-Bereichs, durch Abfragen der jeweiligen Datenbank-Datensätze mit der Kennzeichnung des Ziel-Domainnamens, und erzielt eine Korrelation der Domainnamen-Zeichen und des zugeordneten Identifikators für den Domainnamen-Zeichensatz, mit jedem Datenbank-Datensatz der Datensatz-Zeichen und des zugeordneten Identifikators des Datensatz-Zeichensatzes.
  • Ferner wird der Domainnamen-Kennzeichnung von jedem Datenbank-Datensatz einem Hash-Code zugeordnet, welcher aus einer Hash-Codierungsfunktion abgeleitet wird, welche den abgeleiteten Hash-Code eindeutig der entsprechenden Kennzeichnung des Domainnamens zuordnet. Der Korrelationsprozessor umfasst einen Hash-Code-Prozessor zum Codieren der Kennzeichnung des Ziel-Domainnamens mit der Hash-Codierungsfunktion und eine Suchmaschine, die mit dem Korrelationsprozessor in Verbindung steht, zum Abfragen der Hash-codierten Datenbank-Datensätze mit der Hash-codierten Kennzeichnung des Domainnamens. Der Korrelationsprozessor erzielt die Korrelation durch Codieren der Kennzeichnung des Ziel-Domainnamens mit der Hash-Codierungsfunktion und durch Abfragen der Hash-codierten Datenbank-Datensätze mit der Hash-codierten Kennzeichnung des Domainnamens.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorzuziehende Ausführung der Erfindung wird nun, nur im Wege eines Beispiels, mit Bezug auf die Zeichnungen beschrieben werden, in welchen:
  • Die 1 eine schematische Ansicht eines Auflösungssystems für Netzadressnamen entsprechend der vorliegenden Erfindung ist, welche eine Vielzahl von Netzwerk-Clients, eine Vielzahl von Netzadressen-Servern und ein Kommunikationsnetzwerk, welches die Netzwerk-Clients und die Netzadress-Server untereinander verbindet, darstellt;
  • die 2 eine schematische Ansicht des Netzadress-Servers ist, der in der 1 dargestellt ist, welche die Adressnamen-Datenbank und den Korrelationsprozessor, den Korrelations-Transceiver und den Antwort-Prozessor des Adressnamen-Prozessors darstellt;
  • die 3a bis 3d schematische Ansichten von Beispielen von Datenbank-Datensätzen sind, umfassend die Adressnamen-Datenbank, die in der 2 gezeigt ist;
  • die 4 ein schematisches Diagramm eines Datenpaketes ist, welches verwendet wird, um die Namens-Netzadress-Server abzufragen; und
  • die 5 ein Flussdiagramm ist, welches die Abfolge von Schritten darstellt, die durch den Netzadress-Server beim Auflösen einer Kennzeichnung eines Ziel-Netzadressnamens mit einer Netzadresse ausgeführt werden.
  • DETAILLIERTE BESCHREIBUNG DER VORZUZIEHENDEN AUSFÜHRUNG
  • Bezugnehmend auf die 1 ist ein Auflösesystem für Netzadressnamen gezeigt, welches allgemein mit 100 bezeichnet ist, umfassend eine Vielzahl von Netzwerk-Clients 102, eine Vielzahl von Netzwerk-Servern 104, eine Vielzahl von Netzadress-Servern 200, eine Vielzahl von Namensauflösungs-Servern 250 und ein Kommunikationsnetzwerk 106, welches die Netzwerk-Clients 102, die Netzwerk-Server 104, die Netzadress-Server 200 und die Namensauflösungs-Server 250 untereinander verbindet. Vorzugsweise umfasst jeder Netzwerk-Client 102 einen Personal-Computer, der mit einer Software zum Kommunizieren mit den Netzwerk-Servern 104 über das Kommunikationsnetzwerk 106 ausgestattet ist.
  • Typischerweise umfasst das Kommunikationsnetzwerk 106 das Internet, das Kommunikationsnetzwerk 106 kann jedoch auch andere Netzwerkformen umfassen, wie zum Beispiel ein Intranet. Zudem soll verständlich sein, dass, obwohl das Auflösungssystem 100 für Netzadressnamen weiter unten als ein Domainnamen-Auflösungssystem beschrieben werden wird, das Auflösungssystem 100 für Netzadressnamen andere Anwendungen finden kann, umfassend das Arbeiten als ein Auflösungssystem für einen Account-Namen eines Email-Nutzers. Andere Anwendungen des Auflösungssystems 100 für Netzadressnamen werden für den Fachmann offensichtlich sein und sind in der vorliegenden Erfindung eingeschlossen.
  • Wie in der 2 gezeigt ist, umfasst jeder Netzadress-Server 200 eine Netzwerkschnittstelle 202 (Interface) zum Kommunizieren mit den Netzwerk-Clients 102 über das Kommunikationsnetzwerk 106, und ferner eine zentrale Recheneinheit (CPU: central processing unit) 204, die in Verbindung mit der Netzwerkschnittstelle 202 steht, und einen nicht flüchtigen Speicher (NVM: nonvolatile memory) 206 und einen flüchtigen Speicher (RAM) 208, die in Verbindung mit der CPU 204 stehen. Der NVM 206 umfasst vorzugsweise eine magnetische oder optische Speichereinrichtung und umfasst eine Gebietsdatei 210, welche Datensätze aufweist, die Domainnamen zu Netzadressen zuordnet. Der NVM 206 umfasst ebenso Prozessoranweisungen für die CPU 204, welche in dem RAM 208 eine Netzadressnamen-Datenbank 212 als eine Kopie der Gebietsdatei 210 einrichten, und ein Speicherobjekt, das einen Adressnamenprozessor 214 in Verbindung mit der Adressnamen-Datenbank 212 definiert. Wie offensichtlich sein wird, ist die Netzadressnamen-Datenbank 212 in dem RAM 208 eingerichtet, um die Geschwindigkeit des Auflösungsverfahrens zu vergrößern, und auf sie kann in Anwendungen verzichtet werden, in welchen die Geschwindigkeit kein vorrangiges Anliegen ist.
  • In Übereinstimmung mit der vorliegenden Struktur des Internets definieren die Domainnamen der Netzwerkserver 104 (von welchen jeder einer besonderen Netzadresse zugeordnet ist und eine Vielzahl von Kennzeichnungen von Domainnamen umfasst) zusammen einen hierarchischen Netzadressen-Namensraum, welcher eine Vielzahl von Ebenen des Adressnamensraumes umfasst. Zum Beispiel befinden sich Kennzeichnungen von generischen Domainnamen der obersten Ebene (top-level domain name labels), wie zum Beispiel COM, EDU, MIL, NET, ORG, und Kennzeichnungen von länderspezifischen Domainnamen der obersten Ebene (top-level domain name), wie zum Beispiel CA, UK, JP etc., auf der obersten Ebene des Netzadressen-Namensraumes. Unterhalb von jeder Kennzeichnung des Domainnamens oberster Ebene befinden sich eine Vielzahl von Kennzeichnungen von Domainnamen der zweiten Ebene (second level domain name), und unterhalb von jeder Kennzeichnung des Domainnamens zweiter Ebene befindet sich typischerweise wenigstens ein Kennzeichen eines Domainnamens unterer Ebene. Die Adressnamen-Datenbank 212 von jedem Netzadressen-Server 200 umfasst eine Vielzahl von Datenbank-Datensätzen 300, von denen jeder einen eindeutigen Bereich der Ebene des Adressnamensraumes definiert.
  • Um die Geschwindigkeit des Auflösungsverfahrens zu erhöhen, ist vorzugsweise jede Ebene des Netzadressen-Namensraumes über eine Vielzahl von verschiedenen Netzadress-Servern 200 verteilt, wobei jede Adressnamen-Datenbank 212 einer eindeutigen Untermenge der Domainnamen-Kennzeichnungen zugeordnet ist, welche für eine einzelne Adressnamensraumebene definiert sind. Im wesentlichen ist jeder Netzadress-Server 200 einem eindeutigen Bereich des gesamten Adressnamen-Raumes zugeordnet, wobei die Adressnamen-Datenbanken 212 von allen Netzadress-Servern 200, die einer einzelne Adressnamensraumebene zugeordnet sind, zusammen alle die Domainnamen-Kennzeichnungen identifizieren, welche für die zugeordnete Adressnamensraumebene definiert sind. In Übereinstimmung mit der existierenden DNS-Struktur umfasst das Netzadressen-Namensauflösungssystem 100 jedoch vorzugsweise redundante oder sekundäre Netzadressen-Server 200, so dass jeder eindeutige Bereich des Adressnamen-Raumes durch zwei oder mehr Netzadress-Server 200 bedient wird.
  • Die Struktur von typischen Datenbank-Datensätzen 300a, 300b, 300c, 300d sind im Textformat in der 3 gezeigt. Wie offensichtlich sein wird, sind die Datenbank-Datensätze 300 im wesentlichen ähnlich zu den BIND-basierten Betriebsmitteldatensätzen der Textgebietsdatei, welche vorliegend in dem DNS verwendet werden, das durch Mockapetris beschrieben wird, dadurch, dass jeder Datenbank-Datensatz 300 ein Adressnamen-Kennzeichen 302 umfasst, das einen einzelnen Domainnamen identifiziert, und wenigstens eine Netzadresse 304, welche der Adressnamen-Kennzeichnung 302 zugeordnet ist. In Übereinstimmung mit dem existierenden DNS-Abkommen ist jede Netzadresse 304 entweder (1) eine Netzadress-Server-Netzadresse 304a eines Netzadress-Servers 200, welcher in seiner Adressnamen-Datenbank 212 einen Netzadressnamen beinhaltet, welcher der nächst tieferen Ebene des Netzadressnamensraumes zugeordnet ist, oder (2) die Domainnamen-Netzadresse 304b des Domainnamens, welcher aufgelöst wird.
  • Anders als jedoch in dem ASCII-Text, welcher in existierenden BIND-basierten Gebietsdateidatensätzen verwendet wird, wird vorzugsweise, um die Zeichensatzbeschränkung zu überwinden, welche dem herkömmlichen Domainnamen-System innewohnt, jede Adressnamen-Kennzeichnung 302 derart definiert, dass Zeichen aus dem Unicode-Zeichensatz (ISO 10646) verwendet werden, weil der Unicode-Zeichensatz Symbole und Zeichen aus einer Anzahl verschiedener Sprachen umfasst. Um jedoch zu vermeiden, das Auflösungssystem 100 für Netzadressnamen auf irgendeinen einzelnen Zeichensatz zu beschränken, wird angestrebt, dass jede Adressnamen-Kennzeichnung 302 Zeichen aus irgendeinem von einer Vielzahl von Zeichensätzen verwenden kann. Daher umfasst jeder Datenbank-Datensatz 300 vorzugsweise ferner einen Zeichensatzidentifikator, welcher den Zeichensatztyp identifiziert, welcher verwendet wird, um die Adressnamen-Kennzeichnung 302 zu definieren.
  • Zum Beispiel umfasst der Datenbank-Datensatz 300b als den Identifikator 306 für den Zeichensatz den String „Big5", um den chinesischen Zeichensatz Big5 zu bezeichnen, wohingegen der Datenbank-Datensatz 300c als den Identifikator 306 für den Zeichensatz den String "UTF8" umfasst, um den chinesischen Doppelbytezeichensatz UTF8 zu bezeichnen. Zudem verarbeitet die chinesische Spracherweiterung für den Browser Microsoft Internet Explorer jedes UTF8 Doppelbyte-Zeichen fehlerhaft als zwei getrennte Zeichen, wodurch er eine fehlerhafte Transformation der UTF8-Zeichen zur Verfügung stellt. Daher umfasst der Datenbank-Datensatz 300d als den Identifikator 306 für den Zeichensatz den String „UTF8-Big5", um den Benutzern des Internet Explorer die korrekte Auflösung von Domainnamen zur Verfügung zu Stellen, welche durch UTF8-Zeichen definiert sind. Zusätzlich umfasst jeder Datenbank-Datensatz 300 vorzugsweise ebenso als den Identifikator 306 für den Zeichensatz den String "UTF7", zum Verbinden mit Auflösungsservern 250 für Namen, welche nicht 8-bit-kompatibel sind.
  • Wie in der 2 gezeigt ist, umfasst in einer Variante die Adressnamen-Datenbank 212 ferner eine Hash-Tabelle 308, welche eine Vielzahl von Hash-Werten aufweist, von denen jeder aus jeweils einer der Adressnamen-Kennzeichnungen 302 abgeleitet worden ist. Wie erläutert werden wird, verbessert die Hash-Tabelle 308 die Geschwindigkeit des Auflösungsverfahrens für den Domainnamen und kann ausgespart werden, wenn Geschwindigkeit nicht ein vorrangiges Anliegen ist, oder wenn die Adressnamen-Datenbank 212 nicht eine große Anzahl von Datensätzen 300 beinhaltet.
  • Ein Teil eines Datenpakets 400 zum Abfragen der Netzadress-Server 200 mit einem Ziel-Domainnamen ist in der 4 gezeigt. Die Struktur des gesamten Datenpaketes 400 ist im wesentlichen ähnlich zu dem Datagramm-Nachrichtenformat, welches von Mockapetris für herkömmliche DNS-Abfragen beschrieben wird, dadurch, dass das Datenpaket die Datensätze HEADER, QUESTION, ANSWER, AUTHORITY AND ADDITIONAL (nicht gezeigt) umfasst. Ferner, wie durch Mockapetris beschrieben wird, umfassen die Datensätze QUESTION, ANSWER, AUTHORITY AND ADDITIONAL eines oder mehrere der Felder QNAME, QTYPE, QCLASS, TTL, RDLENGTH und RDATA (nicht gezeigt).
  • Ferner, wie durch Mockapetris vorgeschlagen wird, umfasst das Feld QNAME eine Ziel-Domainnamen-Kennzeichnung 402, welche den Ziel-Domainnamen identifiziert, und einen 8-bit Zeichenanzahlidentifikator 403, der der Domainnamen-Kennzeichnung 402 vorangestellt ist, welcher die Anzahl der Zeichen in der Domainnamen-Kennzeichnung identifiziert. Anstelle dass jeder Zieldomainname nur ASCII-Zeichen umfasst, wie durch Mockapetris vorgeschlagen wird, wird jedoch vorzugsweise jede Adressnamen-Kennzeichnung 402 dadurch definiert, dass Zeichen aus dem Unicode-Zeichensatz verwendet werden. Auf der anderen Seite, wie oben beschrieben worden ist, wird angestrebt, um zu vermeiden, das Auflösungssystem 100 für Netzadressnamen auf einen besonderen Zeichensatz zu beschränken, dass jede Zieldomainnamen-Kennzeichnung 402 Zeichen aus einem von einer Vielzahl von Zeichensätzen verwenden kann. Daher umfasst vorzugsweise jedes Datenpaket 400 ebenso einen 16-bit Zeichensatzidentifikator 404, welcher den Zeichensatztyp identifiziert, der verwendet wird, um die Zieldomainnamen-Kennzeichnung 402 zu definieren. Wie gezeigt ist, umfasst der Zeichensatzidentifikator 404 einen 2-bit Vorsatzbereich 404a, welcher dem Netzadress-Server 200 anzeigt, dass das Datenpaket 400 andere als ASCII-Zeichen umfasst, ferner einen 2-bit Flag-Bereich 404b für zukünftige Erweiterungszwecke und einen 12-bit Codebereich 404c, welcher den Zeichensatztyp identifiziert.
  • Vorzugsweise verwendet der Codebereich 404c eine standardisierte Spezifikation für die Identifikation des Zeichensatzes, wie zum Beispiel die MIBenum-Spezifikation, welche in RFC 1700 vorgeschlagen wird. Somit, wie aus der RFC 1700 offensichtlich sein wird, bezeichnet der Wert "1000", wenn er in dem Codebereich 404c verwendet wird, dass die folgende Domainnamen-Kennzeichnung aus Zeichen aus dem Unicode-Zeichensatz zusammengesetzt ist. Weil jedoch ein Ziel des Auflösungssystems 100 für Netzadressnamen ist, die Verwendung eines gemeinsamen Zeichensatzes zu fördern, welcher in der Lage ist, jedes multinationale Zeichen zu erkennen, wird erwartet, dass der 12-bit Codebereich 404c, der 2-bit Vorsatzbereich 404a und der 2-bit Flagbereich 404b zusammen eliminiert werden können, sobald alle Netzwerkauflösungsadress-Server 200 einen gemeinsamen Zeichensatz für die Darstellung von Domainnamen-Kennzeichnungen anwenden. Auf der anderen Seite wird ebenso erwartet, dass die Domainnamen-Kennzeichnungen Symbole umfassen, welche nicht Teil von irgendeinem erkannten Zeichensatz sind, wie zum Beispiel eine grafische Darstellung oder ein Logo, welches als Marke verwendet wird, in welchem Fall der Codebereich 404c beibehalten würde, um den Zeichensatz zu identifizieren, dem das Symbol zugeordnet ist.
  • Wie in der 4 gezeigt ist, ist der 2-bit-Vorsatzbereich 404a vorzugsweise auf „10" gesetzt, um zu identifizieren, dass die folgende Domainnamen-Kennzeichnung Nicht-ASCII-Zeichen umfasst. Weil jedoch, wie aus RFC 1035 offensichtlich sein wird, eine Domainnamen-Kennzeichnung in der Länge auf 63 Achtbitzeichen (Oktetts) begrenzt ist, werden die beiden höchstwertigen Bits des 8-bit-Zeichenzahlidentifikators 403 typischerweise gleich „00" sein. Daher, um die Kompatibilität mit dem DNS-Standard zu fördern, wie er durch Mockapetris beschrieben wird, und um die Abwärtskompatibilität mit Namensauflösungs-Servern 250 des Standes der Technik (welche Nicht-ASCII-Zeichen nicht erkennen) zu fördern, falls die Kennzeichnung 402 des Zieldomainnamens nur aus ASCII-Zeichen besteht, wird vorzugsweise der 16-bit-Zeichensatzidentifikator 404, welcher anderenfalls dem Zeichenzahlidentifikator-403 für die Domainnamen-Kennzeichnung 402 vorangestellt sein würde, eliminiert werden. Zum Beispiel umfassen die letzten beiden „Zeilen" der Daten in dem Datenpaket 400 nur den 8-bit-Zeichenzahlidentifikator 403 (welcher identifiziert, dass die letzte Domainnamen-Kennzeichnung in dem Domainnamen 3 ASCII-Zeichen aufweist) und eine Zieldomainnamen-Kennzeichnung 402, deren Zeichen zusammen die „com"-Domainnamen-Kennzeichnung definieren. Hieraus folgt, weil die beiden höchstwertigen Bits des 8-bit-Zeichenzahlidentifikators 403 für eine Domainnamen-Kennzeichnung, die nur aus ASCII-Zeichen besteht, nicht „10" sein werden, dass die Namensauflösungs-Server 250 in der Lage sein werden, solch eine Domainnamen-Kennzeichnung aufzulösen, ohne eine Modifikation an dem DNS-Algorithmus des Standes der Technik.
  • Zurückkehrend wiederum zu der 2 ist der Adressnamen-Prozessor 214 (welcher in Verbindung mit der Adressnamen-Datenbank 212 steht) gezeigt, umfassend einen Korrelationsprozessor 216, einen Korrelations-Transceiver 218 in Verbindung mit dem Korrelationsprozessor 216 und einen Antwortprozessor 220 in Verbindung mit dem Korrelationsprozessor 216 und dem Korrelations-Transceiver 218. Der Korrelationsprozessor 216 ist derart eingerichtet, dass er eine Korrelation (Übereinstimmung) zwischen der Domainnamen-Kennzeichnung 402, welche aufgelöst wird, und dem eindeutigen Adressnamenbereich, welcher dem besonderen/einzelnen Netzadress-Server 200 zugeordnet ist, bestimmt. In anderen Worten, der Korrelationsprozessor 216 von jedem Netzadress-Server 200 ist derart eingerichtet, dass er bestimmt, ob eine Ziel-Domainnamen-Kennzeichnung 402 (wenn sie durch einen der Netzwerk-Clients 102 abgefragt wird) einen entsprechenden Eintrag in der Adressnamen-Datenbank 212 des Netzadress-Servers 200 aufweist.
  • Der Korrelationsprozessor 216 ist derart eingerichtet, dass er die Korrelation zwischen der Zieldomainnamen-Kennzeichnung 402 und dem zugeordneten, eindeutigen Domainnamenbereich des Netzadress-Servers 200 bestimmt, durch Abfragten der Datenbank-Datensätze 300 des Netzadress-Servers 200 mit der Zieldomainnamen-Kennzeichnung 402, und dann durch Vergleichen der Domainnamenzeichen und des zugeordneten Domainnamenzeichensatz-Identifikators 404 mit den Datensatzzeichen (der Adressnamen-Kennzeichnung 302) und dem zugeordneten Zeichensatzidentifikator 306 des Datensatzes. Wie offensichtlich sein wird, fährt der Korrelationsprozessor 216 damit fort, dass er jeden Datenbank-Datensatz 300 analysiert, bis entweder ein übereinstimmender Datenbank-Datensatz 300 in der jeweiligen Adressnamen-Datenbank 212 positioniert ist, oder bis alle Datenbank-Datensätze 300 in der jeweiligen Adressnamen-Datenbank 212 analysiert worden sind.
  • Der Korrelationsprozessor 216 umfasst eine Suchmaschine 222 zum Abfragen der Datenbank-Datensätze mit der Domainnamen-Kennzeichnung. In der Variation, welche oben beschrieben worden ist, in welcher die Adressnamen-Datenbank 212 die Hash-Tabelle 308 umfasst, umfasst jedoch der Korrelationsprozessor 216 vorzugsweise auch einen Hash-Code-Prozessor 224 zum Codieren der Ziel-Domainnamen-Kennzeichnung mit der Hash-Codierungsfunktion, wobei die Suchmaschine 222 in Verbindung mit dem Hash-Code-Prozessor 224 zum Abfragen der Hash-codierten Datenbank-Datensätze mit der Hash-codierten Domainnamen-Kennzeichnung steht. In dieser Variation erzielt der Korrelationsprozessor 216 die Korrelation durch Codieren der Ziel-Domainnamen- Kennzeichnung mit der Hash-Codierungsfunktion, welche verwendet worden ist, um die Hash-Tabelle 308 zu erzeugen, und dann durch Abfragen der Hashcodierten Datenbank-Datensätze 300 mit der Hash-codierten Domainnamen-Kennzeichnung 402.
  • Der Korrelations-Transceiver 218 von jedem Netzadress-Server 200 ist derart eingerichtet, dass er den anderen Netzadress-Servern 200 einen jeweiligen Hinweis der bestimmten Korrelation zur Verfügung stellt, und dass er entsprechende Korrelationshinweise von wenigstens einem der anderen Netzadress-Server 200 empfängt. Der Antwortprozessor 220 ist derart eingerichtet, dass er eine Antwort auf die Abfrage in Übereinstimmung mit den Korrelationshinweisen zur Verfügung stellt.
  • Die Arbeitsweise des Netzadressnamen-Auflösungssystem 100 wird nun mit Bezug auf die 5 beschrieben werden. Um das Auflösungsverfahren zu demonstrieren, wird der Name „www.Φ.com" als der Ziel-Domainname verwendet, wie er durch einen der Netzadress-Server 200 verarbeitet wird. Wie offensichtlich sein wird, funktionieren alle der Netzadress-Server 200 des Auflösungssystems 100 für Netzadressnamen auf ähnliche Art und Weise.
  • Sobald die Netzadress-Server 200 aufgestellt worden sind, liest jeder Netzadress-Server 200 nach dem Hochfahren seine Gebietsdatei 210 aus seinem NVM 206 und erzeugt (als eine Kopie) seine Netzadressnamen-Datenbank 212 in seinem RAM 208. Dann, im Schritt 500, wobei ein Datenpaket 400 ähnlich zu demjenigen, welches in der 4 gezeigt ist, verwendet wird, überträgt einer der Netzwerk-Clients 102 eine Abfrageanforderung eines Ziel-Domainnamens (um mit einem der Netzwerk-Server 104 zu kommunizieren) zu einem der Namensauflösungs-Server 250, zum Auflösen des Ziel-Domainnamens in eine Netzadresse. Wie oben beschrieben worden ist, wenn der Netzwerk-Client 102 kompatibel zu dem Namensauflösungsprotokoll, welches hier offenbart wird, ist, werden, weil der Zieldomainname das Zeichen „Φ" beinhaltet, die beiden höchstwertigen Bits des 8-bit-Zeichenzahlidentifikators 403 gleich „10" sein.
  • Nach dem Empfang des Datenpaketes 400 überträgt der Namensauflösungs-Server 250 die Abfrage an alle Netzadress-Server 200, die der obersten Ebene (top-level) des Adressnamensraumes zugeordnet sind. In diesem Beispiel wird die Abfrage zu den Hauptnetzadress-Servern (Root-Netzadress-Servern) 200 zur Identifikation der Netzadresse von einem der Netzadress-Server 200 übertragen, welcher dem „COM"-Domainnamensraum zugeordnet ist. Die Netzwerkschnittstelle 202 der Netzadress-Server 200 der obersten Ebene empfangen die Abfrage und übertragen die Abfrage zu ihren jeweiligen Adressnamen-Prozessoren 214. Im Schritt 502 extrahiert der Adressnamen-Prozessor 214 von jedem Netzadress-Server 200 der obersten Ebene die Ziel-Domainnamen-Kennzeichnung 402 und den zugeordneten Zeichensatzidentifikator 404 aus dem Datenpaket 400. Der Adressnamen-Prozessor 214 bestimmt dann die Korrelation (Übereinstimmung) zwischen der Zieladressnamen-Kennzeichnung 402 und dem eindeutigen Adressnamenbereich, welcher dem jeweiligen Netzadress-Server 200 zugeordnet ist.
  • Um dies auszuführen, überträgt im Schritt 504 der Korrelationsprozessor 216 des Netzadress-Servers 200 der obersten Ebene, welcher der erste ist, welcher die Domainnamenanfrage empfängt und bearbeitet (nachfolgend der „erste Netzadress-Server 200 der obersten Ebene"), vorzugsweise die Abfrage zu den anderen Netzadress-Servern 200 der obersten Ebene [[zu den anderen Netzadress-Servern 200 der obersten Ebene]], mit einem Flag (Bit-Schalter), welches anzeigt, dass diese anderen Netzadress-Server 200 der obersten Ebene ihre jeweiligen Antworten zu dem ersten Netzadress-Server 200 der obersten Ebene übertragen sollen. Neben der Vergrößerung der Geschwindigkeit des Auflösungsverfahrens, wie weiter unten beschrieben werden wird, stellt dieser Schritt sicher, dass der Netzwerk-Client 102 nur eine einzige Antwort auf die Domainnamenabfrage empfangen wird.
  • Nachdem die Anzeige gesendet worden ist, leitet im Schritt 506 der Hash-Code-Prozessor 216 von jedem Netzadress-Server 200 der obersten Ebene einen Hash-Code aus der extrahierten Ziel-Domainnamen-Kennzeichnung 402 und dem zugeordneten Zeichensatzidentifikator 404 ab. Die Suchmaschine 222 des Korrelationsprozessors 216 von jedem Netzadress-Server 200 der obersten Ebene fragt dann die Datenbank-Datensätze 300 von ihren jeweiligen Netzadressnamen-Datenbanken 212 mit dem abgeleiteten Hash-Code nach einem übereinstimmenden Eintrag in ihrer Netzadressnamen-Datenbank 212 ab. Wenn keine Übereinstimmung vorhanden ist, stellt im Schritt 508 der Korrelations-Transceiver 218 von jedem der Netzadress-Server 200 der obersten Ebene dem ersten Netzadress-Server 200 der obersten Ebene ein Datenpaket zur Verfügung, welches anzeigt, dass der Domainname in der Adressnamen-Datenbank 212 des Netzadress-Servers nicht gefunden worden ist.
  • Auf der anderen Seite, wenn eine Übereinstimmung vorhanden ist, antwortet im Schritt 510 der Netzadress-Server 200 der obersten Ebene, welcher den übereinstimmenden Eintrag aufweist, dem ersten Netzadress-Server 200 der obersten Ebene mit der Netzadresse von einem der Netzadress-Server 200, welche dem „com"-Domainnamensraum zugeordnet sind. Alternativ, wenn der Netzadress-Server 200 der obersten Ebene einen maßgeblichen (autoritativen) Datensatz für den Domainnamen aufweist, antwortet der Netzadress-Server 200 dem ersten Netzadress-Server 200 der obersten Ebene mit der Netzadresse, welche dem Domainnamen zugeordnet ist.
  • Im Schritt 512 antwortet der erste Netzadress-Server 200 der obersten Ebene dem Namensauflösungs-Server 250, welcher die Abfrage gestartet hat, mit der abgefragten Netzadresse. Wenn der erste Netzadress-Server 200 der obersten Ebene nur mit der Netzadresse von einem der Netzadress-Server 200 antwortet, überträgt der Namen-Auflösungs-Server 200 die Abfrage zu den Netzadress-Servern 200, welche die abgefragte Netzadresse aufweisen. Das Verfahren wiederholt sich in Übereinstimmung mit den Schritten 500 bis 512, wobei aber die Abfrage zu den „com"-Netzadress-Servern 200 übertragen wird, zur Identifikation der Netzadresse von einem der Netzadress-Server 200, welche dem „Φ.com"-Domainnamensraum zugeordnet sind. Wie vorgezogen wird, antwortet im Schritt 512 der erste „com"-Netzadress-Server 200 dem Netzwerk-Client 102, welcher die Abfrage gestartet hat, entweder mit der Netzadresse von einem der Netzadress-Server 200, welche dem „Φ.com"-Domainnamensraum zugeordnet sind, oder mit der abgefragten Netzadresse.
  • Wiederum wiederholt sich das Verfahren in Übereinstimmung mit den Schritten 500 bis 512, wobei aber die Abfrage zu den „Φ.com"-Netzadress-Servern 200 übertragen wird, zur Identifikation der Netzadresse von einem der Netzadress-Server 200, welche dem „www.Φ.com"-Domainnamensraum zugeordnet sind. Im Schritt 512 antwortet der erste „Φ.com" Netzadress-Server 200 dem Namensauflösungs-Server 250, welcher die Abfrage gestartet hat, entweder mit der Netzadresse, welche dem Ziel-Domainnamen zugeordnet ist, oder mit einem Hinweis, dass der Zieldomainname nicht gefunden wurde. Der Netzwerk-Client 102 überträgt dann die Antwort zu dem Netzwerk-Client 102, um zu ermöglichen, dass der Netzwerk-Client 102 eine Kommunikation mit dem Ziel-Netzwerk-Server 104 einrichtet.
  • Wenn in einer Iteration des Schrittes 512 keine Antwort von einem der anderen Netzadress-Server 200 empfangen wird und ein übereinstimmender Eintrag nicht durch den ersten Netzadress-Server gefunden werden kann, antwortet der erste Netzadress-Server dem Namensauflösungs-Server 250 im Schritt 512 mit einem Zeitablaufsfehler.
  • Die vorliegende Erfindung stellt eine Anzahl von Vorteilen des Standes der Technik zur Verfügung. Erstens, durch Aufteilen von jeder Ebene des Domainnamensraumes in verschiedene Bereiche und durch Zuordnen von jedem Domainnamen-Bereich zu verschiedenen Netzadress-Servern 200 wird die Anzahl von verfügbaren Domainnamen nicht länger durch die Hardwarebeschränkungen von einem einzelnen Domainnamen-Server begrenzt. Zweitens, durch Verteilen des Domainnamensraumes über mehrere Netzadress-Server 200 werden die Anfangskosten (Start up – Kosten) zum Einrichten eines Netzadress-Servers 200 vermindert. Drittens, durch Verwenden des Unicode-Zeichensatzes anstelle des ASCII-Zeichensatzes, welcher von herkömmlichen Domainnamen-Servern verwendet wird, kann die Anzahl von Domainnamen erheblich erweitert werden. Viertens, durch Verwenden eines Identifikators für den Zeichensatz, um den Zeichensatz einer Domainnamen-Kennzeichnung zu identifizieren, kann das Auflösungssystem 100 für Netzadressnamen leicht derart konfiguriert werden, dass es neue Zeichensätze erkennt und Erweiterungen für existierende Zeichensätze akzeptiert. Ferner durch Verwenden der Netzadress-Server 200 als Account-Netzadress-Server in einem Email-System kann der Typ von Zeichen, welcher für die Account-Namen verwendet werden kann, die einem Email-Account zugeordnet sind, ebenfalls erheblich erweitert werden.
  • Die vorliegende Erfindung wird durch die Ansprüche definiert, welche hier angehängt sind, wobei die vorhergehende Beschreibung beispielhaft für die vorzuziehende Ausführung der Erfindung ist. Der Fachmann kann bestimmte Hinzufügungen, Weglassungen und/oder Modifikationen an der beschriebenen Ausführung vornehmen, welche, obwohl sie hier nicht ausdrücklich beschrieben worden sind, nicht von dem Schutzumfang der Erfindung, wie er durch die beigefügten Ansprüche definiert wird, abweichen.

Claims (13)

  1. Ein Netzadressen-Server (200) zum Auflösen einer Kennzeichnung eines Ziel-Domain-Namens mit einer Netzadresse, dadurch gekennzeichnet, dass der Netzadressen-Server (200) einer einer Vielzahl von Netzadressen-Servern (200) ist, wobei jedem eine gemeinsame Ebene eines Netzadressen-Namenraumes mit mehreren Ebenen zugeordnet ist, wobei der Netzadressen-Server (200) umfasst: eine Adressnamen-Datenbank (212), umfassend eine Vielzahl von Datenbank-Datensätzen (300), denen ein jeweiliger Bereich der gemeinsamen Ebene zugeordnet ist, wobei jeder der gesagten Datenbank-Datensätze (300) eine Kennzeichnung eines Adressnamens (302) und eine Netzadresse (304), welcher eindeutig die Kennzeichnung des Adressnamens (302) zugeordnet ist, umfasst; und einen Adressnamen-Prozessor (214), welcher in Verbindung mit der Adressnamen-Datenbank (212) steht, zum zur Verfügung Stellen einer Antwort auf eine Abfrage der Netzadresse, welche der Kennzeichnung des Ziel-Domain-Namens (402) entspricht, wobei der Domain-Namen-Prozessor (214) einen Korrelationsprozessor (216) zum Bestimmen einer Korrelation zwischen der Kennzeichnung des Ziel-Domain-Namens (402) und dem zugeordneten Bereich umfasst, ferner einen Korrelations-Transceiver (218), der in Verbindung mit dem Korrelationsprozessor (216) zum Empfangen eines Hinweises einer entsprechenden bestimmten Korrelation von wenigstens einem der anderen Netzadressen-Server (200) steht, und einen Antwort-Prozessor (220), der in Verbindung mit dem Korrelationsprozessor (216) und dem Korrelations-Transceiver (218) zum zur Verfügung Stellen einer Antwort auf die Abfrage in Übereinstimmung mit den bestimmten Korrelationen steht.
  2. Der Netzadressen-Server gemäß Anspruch 1, wobei die Adressnamen-Datenbank (212) für jeden der gesagten Datenbank-Datensätze (300) einen Hash-Code umfasst, der aus einer Hash-Codierungsfunktion abgeleitet worden ist, welche eindeutig dem abgeleiteten Hash-Code die zugehörige Kennzeichnung eines Adressnamens zuordnet.
  3. Der Netzadressen-Server gemäß Anspruch 2, wobei der Korrelationsprozessor (260) einen Hash-Code-Prozessor (224) zum Codieren der Kennzeichnung des Ziel-Domain-Namens mit der Hash-Codierungsfunktion umfasst, und ferner eine Suchmaschine (222), welche in Verbindung mit dem Korrelationsprozessor (216) zum Abfragen der Hash-codierten Datenbank-Datensätze (308) mit der Hash-codierten Kennzeichnung des Domain-Namens steht.
  4. Der Netzadressen-Server gemäß Anspruch 1, wobei jeder der gesagten Datenbank-Datensätze (300) wenigstens ein Datensatzzeichen umfasst, das einen Zeichensatztyp des Datensatzes aufweist, und ferner einen Identifikator (306) für den Zeichensatz des Datensatzes, welcher den Zeichensatztyp des Datensatzes identifiziert.
  5. Ein Verfahren zum Auflösen der Kennzeichnung eines Ziel-Domain-Namens mit einer Netzadresse in einem Netzadressen-Namensraum mit mehreren Ebenen, wobei das Verfahren die folgenden Schritte umfasst: das Empfangen mit einem ersten Netzadressen-Server (200) einer Abfrage nach der Netzadresse, welche der Kennzeichnung des Ziel-Domain-Namens (402) entspricht, wobei der erste Netzadressen-Server (200) einer von einer Vielzahl von Netzadressen-Servern (200) ist, wobei jedem eine gemeinsame Ebene des Netzadressen-Namensraums zugeordnet ist, jeder der Netzadressen-Server Datenbank-Datensätze (300) umfasst, die einen jeweiligen eindeutigen Bereich der gemeinsamen Ebene definieren, jeder der gesagten Datenbank-Datensätze (300) eine Kennzeichnung eines Adressnamens (302) und eine Netzadresse (304) umfasst, welcher eindeutig die Kennzeichnung des Adressnamens (302) zugeordnet ist; in dem ersten Netzadressen-Server (200) das Bestimmen einer Korrelation zwischen der empfangenen Kennzeichnung des Ziel-Domain-Namens (402) und dem zugeordneten Bereich; das Mitteilen der bestimmten Korrelation den anderen Netzadressen-Servern (200), und mit dem ersten Netzadressen-Server (200) das Empfangen eines Hinweises einer entsprechenden bestimmten Korrelation von wenigstens einem der anderen Netzadressen-Server (200); und in dem ersten Netzadressen-Server (200) das Bereitstellen einer Antwort auf die Abfrage in Übereinstimmung mit den bestimmten Korrelationen.
  6. Das Verfahren gemäß Anspruch 5, wobei jeder der gesagten Netzadressen-Server (200) eine Antwortzeit für die Korrelation aufweist, und der erste Netzadressen-Server (200) die kürzeste der Antwortzeiten für die Korrelation aufweist.
  7. Das Verfahren gemäß Anspruch 5, wobei jeder der Datenbank-Datensätze (300) wenigstens ein Datensatzzeichen umfasst, das einen Zeichensatztyp des Datensatzes aufweist, und ferner einen Identifikator (306) für den Zeichensatz des Datensatzes, welcher den Zeichensatztyp des Datensatzes identifiziert, die Kennzeichnung des Ziel-Domain-Namens (402) wenigstens ein Adressnamen-Zeichen umfasst, das einen Zeichensatztyp des Adressnamens aufweist, und ferner einen Identifikator (404) für den Zeichensatz des Adressnamens, der den Zeichensatztyp des Adressnamens identifiziert, und der Schritt des Bestimmens einer Korrelation die Schritte des Abfragens der jeweiligen Datenbank-Datensätze (300) mit der empfangenen Kennzeichnung des Adressnamens (402) und des Erzielens einer Korrelation des wenigstens einen Adressnamen-Zeichens und des zugeordneten Identifikators (404) des Zeichensatzes des Adressnamens umfasst, mit jedem des gesagten wenigstens einen Datensatzzeichens und des zugeordneten Identifikators (306) des Zeichensatzes des Datensatzes.
  8. Das Verfahren gemäß Anspruch 7, wobei die Datenbank-Datensätze (300) mit einer Hash-Codierungsfunktion codiert sind, und der Schritt des Erzielens einer Korrelation die Schritte des Codierens der Kennzeichnung des Ziel-Adress-Namens (402) mit der Hash-Codierungsfunktion umfasst, und ferner des Abfragens der Hash-codierten Datenbank-Datensätze (308) mit der Hash-codierten Kennzeichnung des Adressnamens.
  9. Ein Verfahren zum Auflösen von Netz-Domain-Namen, umfassend die folgenden Schritte: das zur Verfügung stellen einer Vielzahl von Netzadressen-Servern (200) zum Abbilden eines hierarchischen Netzadressen-Namenraumes, wobei der hierarchische Adressnamen-Raum eine Vielzahl von Ebenen aufweist, jedem der gesagten Netzadressen-Server (200) wenigstens ein anderer der gesagten Netzadressen-Server (200) und eine gemeinsame Ebene des Netzadressen-Namenraumes zugeordnet ist, jeder der gesagten Netzadressen-Server (200) Datenbank-Datensätze (300) umfasst, die einen jeweiligen eindeutigen Bereich der zugeordneten gemeinsamen Ebene definieren, jeder der gesagten Datenbank-Datensätze (300) eine Kennzeichnung eines Adressnamens (302) und eine Netzadresse (304), welcher eindeutig die Kennzeichnung des Adressnamens (302) zugeordnet ist, umfasst; das Empfangen mit wenigstens einem der Netzadressen-Server (200) einen Ziel-Domain-Namen zum Auflösen, wobei der Ziel-Domain-Name eine Vielzahl von Adress-Namen-Kennzeichnungen (402) umfasst, jeder der gesagten Adress-Namen-Kennzeichnungen einer der Bereiche von jeweils einer der gemeinsamen Ebenen zugeordnet ist; und für jede der gesagten Adress-Kennzeichnungen (402) das Abfragen der Netzadressen-Server (200), welche die eine gemeinsame Ebene definieren.
  10. Das Verfahren gemäß Anspruch 9, wobei der Schritt des Empfangens der Netz-Adresse die folgenden Schritte umfasst: das Bestimmen in jedem der gesagten abgefragten Netzadressen-Server (200) einer Korrelation zwischen der abgefragten Adress-Namen-Kennzeichnung (402) und der jeweils definierten Untermenge des Adressnamen-Raumes, das Versorgen von anderen der abgefragten Netzadressen-Server (200) mit einem Hinweis der Korrelation, und das Empfangen der Korrelationshinweise von den anderen abgefragten Netzadressen-Servern (200), und das Aussenden einer Antwort auf die Abfrage in Übereinstimmung mit den Korrelationshinweisen.
  11. Das Verfahren gemäß Anspruch 10, wobei jeder von den gesagten abgefragten Netzadressen-Servern (200) eine Antwortzeit für den Korrelationshinweis aufweist, und der Schritt des Aussendens einer Antwort das Aussenden der Antwort von dem abgefragten Netzadressen-Server (200) umfasst, welcher die kürzeste der Antwortzeiten der Korrelationshinweise aufweist.
  12. Das Verfahren gemäß Anspruch 10, wobei jeder der Datenbank-Datensätze (300) wenigstens ein Datensatzzeichen umfasst, welches einen Zeichensatztyp des Datensatzes aufweist, und ferner einen Identifikator (306) für den Zeichensatz des Datensatzes, welcher den Zeichensatztyp des Datensatzes identifiziert, die abgefragte Adress-Namen-Kennzeichnung (402) wenigstens ein Adressnamen-Zeichen umfasst, welches einen Zeichensatz-Typ des Adressnamens aufweist, und ferner einen Identifikator (404) für den Zeichensatz des Adressnamens, welcher den Zeichensatztyp des Adressnamens identifiziert, und wobei der Schritt des Bestimmens der Korrelation die folgenden Schritte umfasst: das Empfangen der abgefragten Adress-Namen-Kennzeichnung (402) und das Abfragen der jeweiligen Datenbank-Datensätze (300) mit dem wenigstens einen Adressnamen-Zeichen und dem zugeordneten Identifikator (404) für den Zeichensatz des Adressnamens, zum Erzielen einer jeweiligen Korrelation mit jedem des gesagten wenigstens einen Datensatzzeichens und des zugeordneten Identifikators (306) des Zeichensatzes des Datensatzes.
  13. Das Verfahren gemäß Anspruch 12, wobei die Datenbank-Datensätze (300) mit einer Hash-Codierungsfunktion codiert sind, und der Schritt des Abfragens der jeweiligen Datenbank-Datensätze (300) die folgenden Schritte umfasst: das Codieren von jeder abgefragten Adress-Namen-Kennzeichnung (402) mit der Hash-Codierungsfunktion und das Abfragen der Hash-codierten Datenbank-Datensätze (308) mit den Hash-codierten Adress-Namen-Kennzeichnungen.
DE60017788T 1999-11-26 2000-11-27 Netzwerk addressen-server Expired - Lifetime DE60017788T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16762499P 1999-11-26 1999-11-26
US167624P 1999-11-26
CA2312540 2000-06-27
CA002312540A CA2312540A1 (en) 2000-06-27 2000-06-27 Network address name resolution server
PCT/CA2000/001393 WO2001039431A2 (en) 1999-11-26 2000-11-27 Network address server

Publications (2)

Publication Number Publication Date
DE60017788D1 DE60017788D1 (de) 2005-03-03
DE60017788T2 true DE60017788T2 (de) 2006-01-05

Family

ID=4166585

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60017788T Expired - Lifetime DE60017788T2 (de) 1999-11-26 2000-11-27 Netzwerk addressen-server
DE60035896T Expired - Lifetime DE60035896T2 (de) 1999-11-26 2000-11-27 Server für elektronische post

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60035896T Expired - Lifetime DE60035896T2 (de) 1999-11-26 2000-11-27 Server für elektronische post

Country Status (10)

Country Link
US (1) US20070073839A1 (de)
EP (2) EP1234417B1 (de)
JP (2) JP4759709B2 (de)
CN (2) CN100473072C (de)
AT (2) ATE369683T1 (de)
AU (2) AU2131501A (de)
CA (1) CA2312540A1 (de)
DE (2) DE60017788T2 (de)
ES (2) ES2293931T3 (de)
WO (2) WO2001039457A2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0206849D0 (en) 2002-03-22 2002-05-01 Nokia Corp Communication system and method
CN1315283C (zh) * 2003-08-15 2007-05-09 华为技术有限公司 在通信网络中集成管理和发放业务的方法
CN100418089C (zh) * 2003-08-20 2008-09-10 苹果公司 加速本地高速缓存中资源记录到期的方法和装置
FR2871013B1 (fr) * 2004-06-01 2007-02-23 Alcatel Sa Routage pour detection de serveurs au sein d'un reseau de communication
DE102005029661B3 (de) * 2005-06-21 2006-11-30 Siemens Ag Verfahren zur Namensauflösung und Namensauflösungs-Server
WO2007145552A1 (en) 2006-06-15 2007-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Name-address management in communication networks
US8234379B2 (en) 2006-09-14 2012-07-31 Afilias Limited System and method for facilitating distribution of limited resources
KR20100126489A (ko) * 2008-03-10 2010-12-01 아필리어스 리미티드 대체 이메일 주소 구성
KR101715810B1 (ko) * 2008-03-10 2017-03-13 아필리어스 리미티드 플랫폼 독립적인 idn 이메일 저장소 변환
EP2150008B1 (de) 2008-08-01 2012-02-01 Research In Motion Limited Elektronisches E-Mail-System mit Funktionen zur Formatierung von Nachrichten mittels Zeichensätzen und zugehörige Verfahren
US9177264B2 (en) 2009-03-06 2015-11-03 Chiaramail, Corp. Managing message categories in a network
US8315607B2 (en) * 2009-04-06 2012-11-20 Htc Corporation Method and system for filtering incoming messages to a mobile device
US8819148B2 (en) * 2010-03-10 2014-08-26 Afilias Limited Alternate E-mail delivery
US8725815B2 (en) * 2011-03-30 2014-05-13 Afilias Limited Transmitting messages between internationalized email systems and non-internationalized email systems
US8635292B2 (en) * 2011-05-16 2014-01-21 Robert Uomini Method for reduction of disk space usage of electronic messages in a network
US20120296990A1 (en) * 2011-05-16 2012-11-22 Uomini Robert G Shared content server for electronic messages
US8805943B2 (en) * 2012-03-08 2014-08-12 Microsoft Corporation Optimized routing for proxy use
CN104516862B (zh) * 2013-09-29 2018-05-01 北大方正集团有限公司 一种选择读取目标文档的编码格式的方法及其系统
US9553833B2 (en) * 2013-12-06 2017-01-24 Verizon Patent And Licensing Inc. Confidential messages in a group chat
CN104915347B (zh) * 2014-03-11 2019-04-12 腾讯科技(北京)有限公司 网页地址的处理方法、装置及系统
CN110636374A (zh) * 2018-06-22 2019-12-31 北京京东尚科信息技术有限公司 用于查找信息的方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU631276B2 (en) * 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
JP3011505B2 (ja) * 1991-11-07 2000-02-21 株式会社東芝 電子メールシステム
US5333266A (en) * 1992-03-27 1994-07-26 International Business Machines Corporation Method and apparatus for message handling in computer systems
JP3168756B2 (ja) * 1993-02-24 2001-05-21 ミノルタ株式会社 電子メールシステムのメール管理方法
US5826269A (en) * 1995-06-21 1998-10-20 Microsoft Corporation Electronic mail interface for a network server
US5682158A (en) * 1995-09-13 1997-10-28 Apple Computer, Inc. Code converter with truncation processing
US6292770B1 (en) * 1997-01-22 2001-09-18 International Business Machines Corporation Japanese language user interface for messaging system
US5835912A (en) * 1997-03-13 1998-11-10 The United States Of America As Represented By The National Security Agency Method of efficiency and flexibility storing, retrieving, and modifying data in any language representation
US5929792A (en) * 1997-06-30 1999-07-27 Sun Microsystems, Inc. Method and apparatus for encoding multiple character sets
JP3439330B2 (ja) * 1997-09-25 2003-08-25 日本電気株式会社 電子メールサーバ
FI105971B (fi) * 1998-04-30 2000-10-31 Nokia Mobile Phones Ltd Menetelmä ja laitteisto sähköpostin käsittelemiseksi
US6560596B1 (en) * 1998-08-31 2003-05-06 Multilingual Domains Llc Multiscript database system and method
US6807254B1 (en) * 1998-11-06 2004-10-19 Nms Communications Method and system for interactive messaging
US6539118B1 (en) * 1998-12-31 2003-03-25 International Business Machines Corporation System and method for evaluating character sets of a message containing a plurality of character sets
US6314469B1 (en) * 1999-02-26 2001-11-06 I-Dns.Net International Pte Ltd Multi-language domain name service
US6182148B1 (en) * 1999-03-18 2001-01-30 Walid, Inc. Method and system for internationalizing domain names
JP2000267965A (ja) * 1999-03-19 2000-09-29 Shidan Jo Urlと電子メールアドレスの異言語間変換システム

Also Published As

Publication number Publication date
CN1423885A (zh) 2003-06-11
DE60035896T2 (de) 2008-05-15
DE60017788D1 (de) 2005-03-03
EP1234417B1 (de) 2007-08-08
WO2001039457A2 (en) 2001-05-31
AU2131401A (en) 2001-06-04
AU2131501A (en) 2001-06-04
EP1234434A2 (de) 2002-08-28
JP2003528486A (ja) 2003-09-24
ATE369683T1 (de) 2007-08-15
ES2239630T3 (es) 2005-10-01
CA2312540A1 (en) 2001-12-27
CN100473072C (zh) 2009-03-25
CN1423880A (zh) 2003-06-11
JP4975926B2 (ja) 2012-07-11
DE60035896D1 (de) 2007-09-20
WO2001039431A3 (en) 2001-12-13
JP4759709B2 (ja) 2011-08-31
WO2001039457A3 (en) 2001-12-13
EP1234434B1 (de) 2005-01-26
WO2001039431A2 (en) 2001-05-31
US20070073839A1 (en) 2007-03-29
ATE288166T1 (de) 2005-02-15
EP1234417A2 (de) 2002-08-28
ES2293931T3 (es) 2008-04-01
CN1285199C (zh) 2006-11-15
JP2003528485A (ja) 2003-09-24

Similar Documents

Publication Publication Date Title
DE60017788T2 (de) Netzwerk addressen-server
US7280999B2 (en) Network address server
US7225272B2 (en) Method and apparatus for providing name services
Mockapetris RFC1034: Domain names-concepts and facilities
US8874718B2 (en) Method and device for storing domain name system records, method and device for parsing domain name
US7774432B2 (en) Registering and using multilingual domain names
US6249813B1 (en) Automated method of and apparatus for internet address management
US7987509B2 (en) Generation of unique significant key from URL get/post content
WO2004006112A1 (en) Method and system for correcting the spelling of incorrectly spelled uniform resource locators using closest alphabetical match technique
EP1110361A2 (de) Verfahren und vorrichtung zur transparanten verarbeitung von dns verkehr
US20080294796A1 (en) Native Language Internet Address System
DE10193513B3 (de) Registrierung und Nutzung von Domänennamen in der eigenen Sprache
WO1999019814A1 (en) The utilisation of multi-lingual names on the internet
DE10110240B4 (de) Verfahren zur Bereitstellung von IP-Adressen zu Sonderzeichen beinhaltenden Internet-Adressen
KR100706702B1 (ko) 도메인네임서버를 이용한 한글 인터넷컨텐츠주소 서비스 방법 및 시스템
US10958617B2 (en) Systems and methods for using domain name system context based response records
CN105245626B (zh) 在专网中使用快捷域名实现网站寻址的方法
CA2392619C (en) Network address server
US20020133591A1 (en) Method and apparatus for mapping of attributes to networked resources
WO2001029710A2 (en) Derivative domain names
US6463458B1 (en) Information service using single-object servers
Preechaveerakul et al. Is It Possible to Use One Name for Many Sites?
CN114051015A (zh) 域名流量图的构建方法、装置、设备以及存储介质
Luo Domain Name Census
WO2001069456A1 (en) Method and apparatus for mapping of attributes to networked resources

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AFILIAS LTD., DUBLIN, IE