WO2007138228A2 - Method, device and naming system, method and terminal for accessing a resource, method for responding to a query and resolving server - Google Patents

Method, device and naming system, method and terminal for accessing a resource, method for responding to a query and resolving server Download PDF

Info

Publication number
WO2007138228A2
WO2007138228A2 PCT/FR2007/051347 FR2007051347W WO2007138228A2 WO 2007138228 A2 WO2007138228 A2 WO 2007138228A2 FR 2007051347 W FR2007051347 W FR 2007051347W WO 2007138228 A2 WO2007138228 A2 WO 2007138228A2
Authority
WO
WIPO (PCT)
Prior art keywords
identifier
server
name
hierarchical
response
Prior art date
Application number
PCT/FR2007/051347
Other languages
French (fr)
Other versions
WO2007138228A3 (en
Inventor
Daniel Migault
Loïc HOUSSIER
Philippe Fouquart
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of WO2007138228A2 publication Critical patent/WO2007138228A2/en
Publication of WO2007138228A3 publication Critical patent/WO2007138228A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4557Directories for hybrid networks, e.g. including telephone numbers

Definitions

  • the present invention relates to a method and system for naming resources on a computer network, a device and method for accessing a resource on a computer network, and a method and a device for responding to a query. It applies, in particular, to allow access, on the Internet, to data not referenced by the DNS domain name naming system.
  • Computer systems connected to the Internet communicate with each other using an IP address ("internet protocol” acronym for internet protocol), such as "10.192.123.234", for example.
  • IP address acronym for internet protocol
  • the DNS (“Domain Name System”) system is a naming system, that is to say associating an alphanumeric identifier with a hierarchical IP address 1 .
  • This naming architecture is to make it possible to establish a link between an identifier, here a domain name, for example www.wanadoo.fr (Wanadoo is a registered trademark), and an IP address.
  • a domain name for example www.wanadoo.fr (Wanadoo is a registered trademark)
  • IP address for example www.wanadoo.fr (Wanadoo is a registered trademark)
  • This system has been designed to give the various computer systems accessible on the Internet "humanly understandable" names. Indeed, it is easier to remember "www.wanadoo.fr" than an IP address. It is, in a way, a global directory that matches a name and a number.
  • this architecture is generalized and is used to link a domain name and information different from a site.
  • the DNS system is therefore generally considered as a hierarchical architecture for linking a domain name and connectivity information.
  • root domain is meant the root common to all domain names. It is noted “.” This root has a limited number of subdomains called higher level domains, “top surveyed! domain “,” TLD “.
  • TLD top surveyed! domain
  • the domain names are distributed, from the root, in TLD, This scheme is reproduced iteratively from each TLD until it reaches the leaf of the tree. This prioritization allows each entity with a domain name to be universally listed and to administer its domain hierarchically and independently.
  • the hierarchical structure is subdivided into domains and subdomains allowing the establishment of a distributed and hierarchical service.
  • name servers each manage their domain and redirect clients to the subdomains to which management is delegated.
  • the root or root domain does not know the answer directly, but knows the references of the server managing the ".fr" subdomain. It redirects the request to this server and so on until the complete resolution of the name.
  • a validity period is associated with each DNS data. As long as the validity date has not expired, the data remains in the network thanks to the presence of caches. Caches are files that contain data that has already been the subject of DNS queries. They are kept as long as the expiry date has not expired. A client issuing a request to a cache can receive the response from the cache, which can avoid querying DNS servers.
  • FIG 1 illustrates the operation of DNS within the network, in the case of a recursive resolution.
  • a user terminator 110 wishes to know the IP address of the Web server www.orange.fr (Orange is a registered trademark), it first sends a request 101 to a local resolution server 115 (in English).
  • “Local resolver” also called server “recursive cache", “Cache” because it retains the results it receives, during their validity and “recursive” because it performs a succession of queries on behalf of the user terminal.
  • the local resolution server 115 then sends a request 102 to the master server 120 of the domain ". And receives, in return, a message 103 indicating an IP address of the master server of the domain ", fr” 125.
  • the local resolution server 115 then sends a request 104 to the server 125 and receives, in return, a message 105 indicating an IP address of the server of the domain "orange.fr" 130.
  • the local resolution server 115 then sends a request 106 to the server 130 and receives, in return, a message 107 indicating an address IP server 135 with the contents of the domain www.orange.fr 135.
  • the terminal 110 can then use this IP address to access the domain "www.orange.fr".
  • WWW is the name given to the web server.
  • the domain name is the sole entry of the database, and the names must meet certain rules, especially ifs must follow a hierarchy.
  • "www” is a subdomain of "orange” which itself is a subdomain of "fr” which itself is a subdomain of "root” or ".”
  • the DNS architecture is suitable for a hierarchical naming structure such as the one that governs traditional domain names on the Internet
  • the DNS is, on the other hand, not designed to respond to a naming structure without hierarchy, or still called "flat" naming.
  • the DNS system can not handle the case where each machine or entity in the network has an identifier without a structure, such as a random number. Indeed, it should have a zone file containing all the identifiers, which in the case of identifiers of a length, for example, of 12 bits, that is to say the same length as the IPv6 addresses, seems unrealistic because of the number of addresses considered.
  • the use of non-hierarchical identifiers is develops because it allows to integrate features, such as security, directly into the naming system.
  • the bit sequence designating the identifier is formed from the condensate or "hash" of a public key. This is called “cryptographic" identifiers.
  • the use of such identifiers makes it possible to integrate functionalities such as secure attachment procedures, proof of membership, data relating to the confidentiality of information.
  • HIP 1 protocols and projects like "Ambient Network” assume that the identity of a node or any element accessible on the network is designated by its public key / key pair. private.
  • a naming system without hierarchy facilitates automatic configurations within a network. Indeed if 234543267098765 and 039543266098705 are two binary identifiers written in decimal base, without apparent link, they can belong to two machines having no connection between them or, on the contrary, be associated with two very close nodes like two terminals belonging to one even under network.
  • the use of a non-hierarchical naming system in the DNS architecture is particularly complex since we have to deal with two different conceptions of naming systems, one non-hierarchical, the other centralized, the one oriented content (file or data), the other oriented connection information.
  • the present invention proposes to allow the DNS structure to integrate at least one non-hierarchical namespace.
  • the present invention aims, in a first aspect, a method of accessing an element having an identifier, which comprises: at least one interrogation step of a name resolution server of a hierarchical naming system, responsible for a domain represented by said identifier, said interrogation comprising said identifier, a step of receiving a response from a said name resolution server, said response being representative of at least one server name different from said identifier and hierarchically at the same level as said identifier and
  • an element having an unknown identifier of the address resolution system for example DNS
  • the server whose name is different from the identifier of the element in particular when this another server is linked to a network comprising said element.
  • the present invention thus aims to integrate two naming systems, hierarchical and non-hierarchical, so as to use, in the DNS system, identifiers having, in part, a non-hierarchical identifier specific to a domain.
  • the hierarchical naming system for example DNS, is not encumbered by names associated with each accessible element and
  • non-hierarchical naming systems do not have to manage elements outside the domain.
  • said response is representative of at least one server name which is, in the lexicographic order and in the memory of said name resolution server, immediately higher or immediately below said identifier.
  • said response is representative, on the one hand, of the fact that said identifier is unknown to said name resolution server and, on the other hand, of each said different name of said identifier.
  • the DNSSEC extension of the DNS naming system can be implemented to implement the present invention.
  • the access method as succinctly set forth above further comprises a step of determining to obtain access to said element from a server with a name different from said identifier and , in the absence of obtaining said access to said element, an interrogation step of another server having a said name different from said identifier.
  • the access to the sought element can not be obtained from a server having a name which follows, in the lexicographic order, the identifier of the searched element, it is obtained from the from a server with a name that precedes, in lexicographic order, the combined identifier.
  • said identifier is a so-called “combined" identifier representative, on the one hand, of the name of said domain and, on the other hand, of an element identifier on a said non-hierarchical network comprising said server having said name different from said identifier and said element.
  • the DNS naming system can use the domain name concerned and the non-hierarchical network can then use ('element identifier.
  • said non-hierarchical network implements a non-hierarchical naming system in which the identifiers are managed by juxtaposed intervals.
  • the method as briefly described above comprises, iteratively, a determination step, by a server having a name different from said identifier, if it is responsible for said element and - if yes, a step of providing access to said element and
  • a table is implemented mapping each element identifier of said non-hierarchical network and a server name of said non-hierarchical network.
  • said table contains identifiers of elements that are representative of results of a hash function of at least a part of the name and / or content of said elements.
  • a hashing system is implemented distributed on the servers of the non-hierarchical network.
  • DHTs hash-table naming systems
  • the method as briefly described above comprises a step of referencing, with a name resolution server of the hierarchical naming system, the server having the name different from said identifier, a representative name on the one hand , said domain and, on the other hand, a non-hierarchical identifier.
  • the present invention aims at a naming system which assigns, for at least one element, a combined identifier representative of, on the one hand, a name according to a hierarchical naming system and, on the other hand, to an element identifier of a non-hierarchical naming system, the identifier of the hierarchical naming system allowing access to a server and the identifier of the non-hierarchical naming system allowing access to the elements accessible to said server, by implementing the non-hierarchical naming system.
  • the naming system assigns a combined identifier to a server whose non-hierarchical identifier is the last identifier of all the non-hierarchical identifiers.
  • the naming system as succinctly set forth above determines the identifier of a non-hierarchical naming system by hashing at least a part of the name and / or content of said element.
  • the present invention provides a method for naming an element of a non-hierarchical network on which the identifiers are managed by interval, which comprises a step of assigning, to said element, a hierarchical name of a domain having a server of said non-hierarchical network and a step of assigning, to said element, a name complement representing its identifier on the non-hierarchical network.
  • the naming method as briefly described above also includes a step of updating a distributed table in which each element of the non-hierarchical network is put in relation with a responsible server identifier. said element.
  • the naming method as succinctly set forth above further comprises a step of referencing at least one server of said non-hierarchical network on at least one domain name resolution server.
  • the naming method as briefly described above includes a step of assigning a combined identifier to a server whose non-hierarchical identifier is the last identifier of the set of non-hierarchical identifiers.
  • the present invention aims at a method of response, by a server, to a name resolution interrogation comprising an identifier, which comprises: when said server keeps, in memory, an address corresponding to said identifier, a step of response during which said server provides said address and
  • said server when said server does not store, in memory, an address corresponding to said identifier, during the response step, said response is representative of a server name which is, in the lexicographic order and in the memory of said server, immediately higher or immediately lower than said identifier.
  • the present invention aims at an access terminal to an element having an identifier, which comprises:
  • an interrogation means adapted to interrogate at least one name resolution server of a hierarchical naming system, responsible for a domain represented by said identifier, said interrogation comprising said identifier and
  • said interrogation means being adapted to interrogate a server having a said name different from said identifier.
  • the response reception means is adapted so that said response is representative, on the one hand, of the fact that said identifier is unknown to said name resolution server and, on the other hand, of each said name. different from said identifier.
  • said interrogation means is adapted so that said identifier is a so-called “combined" identifier representative, on the one hand, of the name of said domain and, on the other hand, of an element identifier on a network which comprises said server having said name different from said identifier and said element
  • the interrogation means is adapted to determine whether an access to said element has been obtained from a said server having a name different from said identifier and, if not, to interrogate another server having a said different name of said identifier.
  • the interrogation means is adapted to implement an identifier of a non-hierarchical naming system in which the identifiers are managed at intervals.
  • the present invention aims at a device for naming an element of a non-hierarchical network on which the identifiers are managed by interval, which comprises means for allocating, to said element, a hierarchical name of a domain having a server of said non-hierarchical network and means for allocating, to said element, a name complement representing its identifier on the non-hierarchical network,
  • the naming device as succinctly set forth above further comprises a device for updating a distributed table in which each element of the non-hierarchical network is put in relation with a responsible server identifier. said element.
  • the naming device as succinctly set forth above further comprises means for referencing at least one server of said non-hierarchical network on at least one domain name resolution server.
  • the naming device as succinctly set forth above further comprises means for referencing a server of said non-hierarchical network having the last of the identifiers used on the non-hierarchical network, on at least one domain name resolution server.
  • the present invention aims at a name resolution server comprising an identifier comprising a memory in which identifiers are associated with addresses in response to a query, characterized in that it comprises an adapted response means
  • the DNS system is not encumbered by addresses or names of elements accessible by nodes of a non-hierarchical network but only manages the addresses of the nodes having a DNS name.
  • the advantages of non-hierarchical naming systems which allow, for example, the easy or quick addition or removal of elements, data, files or nodes, are advantages of each of the aspects of the present invention.
  • the present invention also relates to a computer program loadable in a computer system, said program containing instructions for implementing the method of access method to an element having an identifier as succinctly explained above, when this program is loaded and executed by a computer system.
  • the present invention also relates to a computer program loadable in a computer system, said program containing instructions for implementing the method of naming method of an element as briefly described above, when this program is loaded and executed by a computer system.
  • the present invention also provides a computer program loadable in a computer system, said program containing instructions for implementing the method of response to a query as succinctly explained above, when this program is loaded and executed by a computer system.
  • FIG. 1 represents, schematically, exchanges of requests and responses for obtaining an IP address in the DNS system
  • FIG. 2 schematically represents a network implementing a DHT naming system
  • FIG. 3 schematically represents a first embodiment of a naming system according to the present invention
  • FIG. 4 represents, schematically, a second embodiment of a naming system according to the present invention
  • FIG. 5 represents, schematically, exchanges of requests and responses for the implementation of the present invention
  • FIGS. 6A to 6C represent, respectively, logigrams of steps implemented for additions and withdrawals of resources accessible on a global computer network and to respond to a request
  • FIG. 7 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a first embodiment of the access method. to an element object of the present invention
  • FIG. 8 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a second embodiment of the access method. to an object of the present invention.
  • node or “server” are used interchangeably.
  • the identifier of these resources is associated with the non-hierarchical network, connectivity information, in the form of a hierarchical domain name, at least one node of the non-hierarchical network belonging to said domain.
  • the combined name of an element that is to be accessed from outside the non-hierarchical network can be processed, first, by the DNS domain name resolution servers, in a manner known in the art. itself, with the exception of the last DNS server implemented, as explained below, then the non-hierarchical identifier of the element can be processed by the non-hierarchical network in a manner known per se.
  • the non-hierarchical identifier of the element can be processed by the non-hierarchical network in a manner known per se. For example, to integrate your cryptographic credentials into a DNS domain, we define a set of Chord nodes that make up a Chord naming architecture for that domain.
  • a domain name such as "wanadoo.fr” can define a set of elements (for example, servers, data or files) Chord, for example, whose combined names are formed from the addition of a cryptographic identifier with a domain name, for example "201.wanadoo.fr", “207.wanadoo.fr”, “203.wanadoo.fr”, etc.
  • Chord for example, whose combined names are formed from the addition of a cryptographic identifier with a domain name, for example "201.wanadoo.fr”, “207.wanadoo.fr", “203.wanadoo.fr”, etc.
  • These combined names thus constitute the naming system object of the present invention, which makes it possible to establish a link between a cryptographic identifier and a connectivity information, at least one of the nodes having a combined name being known from the DNS system and giving thus access to other Chord resources.
  • the present invention preferably implements those called “DHT” (acronym for “distributed hash tables” for condensate tables, or hashes, distributed) which classify, without hierarchy, the data accessible and distributed on the network to access.
  • DHT distributed hash tables
  • Various DHT protocols have been developed in order to be able to add data on the network and to find the data.
  • Chord a non-hierarchical naming system
  • Chord a non-hierarchical naming system
  • Chord a non-hierarchical naming system
  • each node in the network has an identifier.
  • the identifier of the files or data to be referenced is generated by a hash function that produces a condensate.
  • Chord is a system adapted to manage a set of files.
  • DNS and DHT naming systems object of the present invention is carried out in the context of the use of identifiers ordered on the non-hierarchical network, that is to say having, between them, a relationship of order, for example of cryptographic identifiers in the HIP protocol, each node being represented by an identifier formed from the condensate, or hash, of a public key associated with this node.
  • a table of names is a structure that associates a name with each element accessible by this structure, the set of names having a relation of order, in the mathematical sense of the term.
  • a hash table is a table that associates with an element an identifier consisting of a cryptographic key obtained by a hash function, for example implemented during an electronic signature, of at least part of the name and / or the content of this element.
  • a distributed table is a table that is divided, in pieces, between different nodes of a network. In a non-hierarchical structure, each node is responsible for some of the associations between names and elements, typically of a range of names. The part of the distributed table which he keeps therefore contains, at least, the name-element associations for which he is responsible.
  • Each node is associated with a Chord identifier that indicates the range of names it has been responsible for.
  • the node's identifier is a name that follows the last element name for which it is responsible.
  • the names and elements represent different things.
  • a name is a file identifier
  • the corresponding element is the list of IP addresses of the nodes that own the file, that is to say, keeps it in memory .
  • the term "Value" can mean both the content of the element sought, for example data, and the IP address where this content is accessible.
  • the node can thus have the data, or include an indirection, and indicate where to download the data, for example.
  • publishing an item is like finding the node responsible for its key before sending it the key-item association.
  • the nodes In order for the search of an element by one node to be effective, the nodes form a structured network where each node has partial knowledge of the other nodes. For this purpose, it is possible to implement an index table that associates with certain elements of the network, the nodes that are responsible for it. Preferentially, each node of the network has more information on the elements whose names are closest to the name of this node than on the elements whose names are more distant, the notion of distance being here that which is defined by a topoiogy associated with the naming system. Different topologies can be used. The topologies can be adopted "for example, be the hypercube, torus or de Bruijn graph. These different topologies define, among other things, the routing algorithms to look for the node responsible for a key.
  • a distributed hash table associates an element with a cryptographic key, in a distributed table where the key-element associations are distributed over the nodes of the network. We thus access each element of the table via its cryptographic key.
  • the two elementary operations performed on a hash table are the creation of an association between an element and a cryptographic key, by hashing its contents, and the recovery of an element by using its key, as exposed in relation to the figure 2.
  • FIG. 2 is a representation of a space of node responsibilities in a DHT 1 system here the Chord system.
  • the nodes 200, 203, 206, 210 and 211 are represented by black disks and the elements 201, 202, 204, 205, 207, 208, 209 and 211 to 215 by black squares.
  • the topoiogy used in Chord is hypercube.
  • the identifier of the node defines the interval of the element keys for which the node is responsible, this key space being delimited by the identifier of the node and by that of the node which has the immediately lower identifier.
  • the node 210 is responsible for the elements whose identifiers go from 207 to 210.
  • the neighboring nodes are filled in such a way that each node has more knowledge of the nodes having an identifier close to its own than nodes having an identifier remote from its .
  • each identifier node "i" knows, for each value i + 2 k (modulo 2 b ), with "k" in the interval [O, b-1], the node having the identifier immediately greater than i + 2 k , that is to say the node responsible for the element having as identifier i + 2 k .
  • These node identifiers constitute the index table of the node in question.
  • the node 200, identifier "0" has the following index table:
  • identifier "10" has the following table of indes:
  • a node looks in its index table for the identifier of the node having the identifier immediately below "j".
  • the searched node is the identifier node " m "and, to access the identifier element" j ", a request is made to the identifier node” m “, which can retain the element” j “in memory or know, by its table of distributed hash, which node stores the desired "j" element in memory.
  • the node 203 searches for the identifier of the node responsible for the element 215, it interrogates the node 211 and the latter, having as immediate successor the node 200, determines that the node 200 is responsible for the element 215 .
  • the manner in which the intervals are chosen means that the search is done in a dichotomous manner and has a complexity of log (n), where "n" is the number of nodes connected to the system.
  • a node may be referenced by several nodes which have pointers in their index table which designate it, which improves the tolerance to faults or failures, for example in the event of disconnection of nodes.
  • a node To join the DHT topology, a node fills its index table and reports to nodes that might have it in their index table. It must also recover the key-element associations for which it becomes responsible. Conversely, before leaving, a node must signal its departure to the nodes that have it in their index table and send the associations to the node that has the identifier immediately. superior to his own and who will become responsible for these associations.
  • the domain name server responsible for the domain comprising the elements of a non-hierarchical network and which does not recognize the desired identifier transmits to the minus the name of the "closest" node of the identifier in question.
  • the client who seeks access to the element in question can then use the name of this node "closest" to the identifier in question and " thanks to the structure of the non-hierarchical network, thus accesses a node of the network non-hierarchical who directs it, directly or indirectly, towards the desired element.
  • DHT-chord namespace at the private level, that is to say for a specific domain, such as "wanadoo.fr".
  • the invention includes the designation of a ".chord" domain name for example, which will be considered as a TLD ("Top Survey! higher level) in the DNS architecture, domain where all the identifiers of the nodes that manage a key interval are arranged in a non-hierarchical naming system.
  • TLD Topic Survey! higher level
  • the invention is thus provided a specific TLD, dedicated to the hosting of DHT-chord type data.
  • This space is preferentially managed, as is the current DNS, by a global consortium.
  • the nodes hosting the data are managed as the different "root” servers by this international consortium.
  • all the nodes hosting the binary identifiers are managed by the organization to which this domain name belongs. This corresponds to the case where an entity decides to administer its own zone.
  • Figure 2 shows the chord DHT structure implemented at Berkeley.
  • This architecture has three nodes of type ChordNODE, whose characteristics are as follows: - Node 0:
  • chord.berkeley.edu - domain name: chord.berkeley.edu - combined identifier: O. chord.berkeley.edu
  • the implementation at the level of the DNS file, is as follows (the data in right characters are those due to the use of the DNS protocol, the implementation data of Ia presents the invention being in italics): $ ORIGIN chord. berkeley.edu. $ TTL 8640
  • the fields "SOA” and "ns” are fields of the DNS protocol.
  • the identifiers of the elements are hosted by the node that follows, that is to say that it is the node that follows who has the responsibility.
  • the resolution of the identifier "2" uses mechanisms making it possible to give the sender of the request access to the node closer to the non-hierarchical network that is referenced in the DNS system and follows the desired identifier.
  • a property of the DNSSEC extension is used.
  • the NSEC DNS fields make it possible to give the sender a request on a domain name. not belonging to the zone (in this case the node whose identifier is "2") the closest node identifier and which follows the searched identifier which has not been found.
  • a DNSSEC file is obtained from a DNS file.
  • DNS secure DNS extension
  • the NSEC records (formerly named "NXT") have been added. They bind the records of a zone cyclically by indicating, for each name, which types of record are associated with it and what is the next name (in lexicographic order) located in the zone file, We obtain the certainty that there is no record corresponding to a request if the NSEC record is checked for the name which is, from the lexicographic point of view 'the closest predecessor of the name concerned by the request.
  • the "SOA" record specifies the primary server name of the zone, "dnssed", but without a suffix.
  • the suffix for example ".mabanquea.fr", is added to all the names that do not end with ". ".
  • This record also gives the e-mail address (or "e-mail address") of the zone administrator as well as deadlines for updating the slave servers.
  • the "NS” record specifies a name server for the domain.
  • "A” records give "IPv4" addresses for the name server and for a web server, or web server, that belongs to the domain.
  • the records of a NSEC type name indicate the following DNS name in the area, in lexicographic order, and the list of types of its records make cyclic closure of the area ("mabanquea.fr” to "dnssed .mabanquea.fr To www.mabanquea.fr to "mabanquea.fr”).
  • the DNSSEC file takes the following form, in which the implementation data of the present invention are in italics, the other data being due to the use of the DNS / DNSSEC protocol : dnssec_signzone version 9.3.1 $ ORIGIN chord.berkeley.edu @. 8640 IN SOA ns.berkeley.edu. bogdanlrnarinoiu.rd.francetelecom.com.
  • a client 500 for example of the general purpose computer or server type, comprises processing means 550, interrogation means 555 and response receiving means 560, of known type but adapted to implement the present invention.
  • Client 500 is considered to want to access the "2" identifier element of the "chord.berkeley.edu” domain. He therefore needs to solve the combined identifier "2. chord. berkeley.edu ", that is to say obtain the locators (in French, iocators) relating to this identifier, such as, for example, the IP address.
  • berkeley.edu is representative, on the one hand, of the hierarchical domain name to which the Chord network is linked, non-hierarchical, and, on the other hand, of the identifier of the element of this Chord network to which the 500 customer wants to access, the name "2, chord. berkeley.edu "being unknown to domain name resolution servers, for example DNS servers.
  • the interrogation means 555 thus issue a request 505 indicating the identifier combined with the DNS servers successively responsible for the domains and subdomains represented hierarchically by the combined identifier.
  • the request arrives on the DNS server 510 responsible for the" chord.berkeley.edu "domain.
  • the DNS server 510 has a memory 580 maintaining a database of domain names and IP addresses of servers responsible for said so-called domains, processing means 565, request receiving means 570 and response sending means 575, of known type but adapted to implement the present invention.
  • the combined domain name does not exist in the DNS server database 510.
  • the error message then returned by the DNS server 510 is of type "NXDOMAIN". Indeed, since the DNS server 510 implements the DNSSEC option, the error message 515 is completed by the field "NSEC" indicating the domain name which precedes the domain name being the subject of the request, and the name following the domain name that is the subject of the request, that is, in the example, respectively "S.chord.berkeley.edu. And "1. chrord.berkeley.edu". Indeed, the domain names being classified by lexicographic order within the zone, the domain names which frame the sought identifier constitute evidence of non existence of the searched domain name.
  • the client 500 indicates, for the combined identifiers, as type of request, the ChordNode type and the DNS server 510 performs a response with the "NSEC" field only for this type of request. This prevents the DNS server 510 performs, for any type of request, a response with the "NSEC" field and encumber, and the hierarchical network.
  • the additional field "NSEC" of the response sent by the DNS server 510 to the client 500 also includes the IP addresses of the domain names mentioned by the "NSEC" type field.
  • the client 500 interprets the response 515 it receives, that is to say an error message "NXDOMAIN" indicating that the domain name does not exist, and continue searching for the item using the DNS server response and following the Chord protocol.
  • the interrogation means 555 then issue the request 520 to the domain name 525 which follows, in the lexicographic order, that which is the subject of the request, that is to say, here the chord node having the binary identifier "3", and the combined identifier "3. chord. berkeley.edu. According to the Chord protocol.
  • the node 525 of identifier "3" being capable, according to the Chord protocol set out above, of guiding the client towards the sought-after element, if he does not possess directly access to this element, it communicates to the client 500 the identifier of a server of the Chord network closer to the desired element, by implementing its index table.
  • it allows the client to obtain it by query iterations of servers of the Chord network, even if these servers have an unknown identifier of the hierarchical naming system, until the client obtains access to the searched element, for example in the form of an IP address of the server having the searched element and returns it to the client 500, in a response 530.
  • the architecture described for particular embodiments of the present invention allows to insert, within a single naming architecture, here the DNS, a namespace dedicated to binary identifiers.
  • the invention makes it possible, for example, to integrate the Chord system with the DNS system via a new DNS field of "ChordNODE" type.
  • Figure 6 relates to the management of identifiers during the creation, addition, removal and referencing in the DNS system, of servers on this network Chord,
  • FIG. 6 shows a step 605 of adding creation of a Chord network with at least one server, comprising a step 606 of assigning the last non-hierarchical identifier to a server, in the order relation, according to techniques known per se, a step 607 for allocating to each server of the Chord network the responsibility for elements of said Chord network, for example in a distributed hash table and a step 608 for creating an index table for each said server.
  • a combined identifier is assigned to at least one server of the Chord network, at least the server having the last non-hierarchical identifier, by completing the identifier of each said server on the Chord network by the domain name to which this network belongs and, possibly, information indicating that it is a combined identifier.
  • the database of the server responsible for said domain is updated and, during a step 620, the combined identifier is propagated on the cache servers of said domain.
  • a server is added in the Chord network. Otherwise, go to step 650, If yes, during a step 626, one assigns a non-hierarchical identifier to said server, during a step 627, said server is assigned responsibility for elements of said Chord network having a non-hierarchical identifier, for example in a distributed hash table, during a step 628 , an index table is created of said server and in a step 629, each index table of each other server of said Chord network is updated. Then, during a step 630, it is determined whether said server must be referenced in the DNS name resolution server of the domain to which the Chord network belongs. If not, we go to step 650.
  • a step 635 we assign a combined identifier to said server, by completing its identifier on the Chord network by the domain name to which this network belongs and, where appropriate, , by information indicating that this identifier is of combined identifier type, within the meaning of the present invention.
  • the database of the server responsible for said domain is updated and, during a step 645, the combined identifier is propagated on the cache servers of said domain.
  • a server is removed from the Chord network. Otherwise, we return to step 625. If yes, during a step 655, we assign to at least one other server in the Chord network, the responsibility for elements of said Chord network that were under the responsibility of the outgoing server. Then, during a step 660, each index table of each other server of said Chord network is updated. Then, during a step 665, it is determined whether this server has the last identifier of the Chord network. If no, go to step 685. If yes, during a step 670, another server of the Chord network whose combined name is referenced in the domain name resolution server database is selected. belongs to the Chord network.
  • the last identifier of the Chord network is assigned to the selected server. Then, during a step 680, the assignments of the elements of the Chord network between the servers of this network are modified in order to respect the assignment rules of this type of network and the index tables of the servers are updated. of the Chord network.
  • step 685 it is determined whether this server is referenced in the database of the name resolution server of the domain to which the Chord network belongs. Otherwise, go to step 625. If yes, during a step 690, the database of the server responsible for said domain is updated and, during a step 695, the combined identifier is propagated on the cache servers of said domain and we return to step 625.
  • FIG. 7 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a first embodiment of the access method of an object of the present invention.
  • the client determines the name of an element to which it must access as well as the name of the domain to which this element belongs, During a step 710, the client applies a hash function to at least a part of said element name to determine the identifier of the element on a non-hierarchical network.
  • the client determines the combined name of the element by completing the result of the hash function with the domain name to which the element belongs.
  • the client makes a request concerning the element to which access is sought, indicating that the type of request is a "ChordNode" type.
  • the polled DNS server responds to the request by providing the IP address of the DNS server responsible for the next subdomain in the hierarchical order of the subdomains represented by the hierarchical portion of the combined identifier. .
  • steps 720 and 725 repeating until the last DNS server, responsible for the last subdomain represented by the hierarchical part of the combined identifier.
  • the latter DNS server responds to the request by indicating, in a "NSEC" field:
  • steps 700 to 730 presents both the advantages of the DNS system and the advantages of non-hierarchical naming systems, for example, the easy or fast addition or removal of files or nodes.
  • the elements are managed by the servers that have the closest identifier, it being understood that the notion of proximity depending on a distance function defined for the non-hierarchical naming system.
  • the client determines that the answer includes an "NSEC" field and extracts the IP address of the server having the name that succeeds the requested identifier.
  • the client sends a request identical to that sent during steps 710 to the server having the name that succeeds the requested identifier.
  • the server that receives this request determines whether it handles the requested element. If yes, during a step 750, it provides the client access to the requested element, for example in the form of a file, data or an IP address where the client can download the requested element. Otherwise, the server determines, by implementing the distributed hash table DHT, the name and the IP address of a server of the non-hierarchical network which is closer to the name of the requested element and which succeeds it, during of a step 755 and returns this name and this IP address to the client, during a step 760.
  • DHT distributed hash table
  • step 765 the client sends a request identical to that sent during steps 710 to the server having the name identified in step 755. Then, we return to step 740.
  • the first embodiment of the access method that is the subject of the present invention corresponds to the case where the non-hierarchical network is structured as explained with reference to FIG. 6, that is to say with, in permanently, a server with an identifier on the non-hierarchical network higher than the identifiers of all the other elements of this non-hierarchical network, this server being referenced in the DNS system.
  • the second embodiment of the method that is the subject of the present invention, illustrated in FIG. 8, corresponds to the case where the elements can have an identifier on the non-hierarchical network that is greater than each server identifier of this network referenced in the DNS system.
  • FIG. 8 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a first embodiment of the access method to an object of the present invention.
  • the client determines the name of an element to which he must access as well as the name of the domain to which this element belongs.
  • the client applies a hash function to at least a part of said element name to determine the identifier of the element on a non-hierarchical network.
  • the client determines the combined name of the element by completing the result of the hash function with the domain name to which the element belongs.
  • the client makes a request concerning the element to which access is sought, indicating that the type of request is a "ChordNode" type.
  • the polled DNS server responds to the request by providing the IP address of the DNS server responsible for the next subdomain in the hierarchical order of the subdomains represented by its hierarchical portion of the combined identifier. . Then return to step 820, steps 820 and 825 repeating until the last DNS server . responsible for the last subdomain represented by the hierarchical part of the combined identifier.
  • the latter DNS server responds to the request by indicating, in a "NSEC" field: - that it does not know the object element name of the request,
  • the client determines that the response includes a "NSEC" field and extracts the IP addresses of the servers having, for (one, the name that succeeds the requested identifier and, for the other, , the name that precedes the requested identifier.
  • the client sends a request identical to that sent during steps 810 to the server having the name that succeeds the requested identifier, that is to say the server having the last of the two names. from the "NSEC" field.
  • the client determines whether the response it receives is an error message, which would indicate that the server that received the request is not part of the non-hierarchical network, in a step 845. If yes, the client, during a step 850, a request identical to that issued during steps 840 to the server having the name that precedes the requested identifier, that is to say to the server having the first of the two names of the NSEC field.
  • the access method thus comprises a determination step of obtaining access to the searched element, from a server having a name different from the sought identifier and, in the absence of obtaining this access, an interrogation step of another server having a different name of said identifier.
  • the access to the sought element can not be obtained from a server having a name which follows, in the lexicographic order, the identifier of the searched element, it is obtained from a server with a name that precedes, in lexicographic order, the combined identifier.
  • the server that received the request issued during step 850 or the server that received the request issued during step 840 and is part of the non-hierarchical network determines, during a step 855, it manages the requested element. If yes, during a step 860, it provides the client access to the requested element, for example in the form of a file, data or an IP address where the client can download the requested element. Otherwise, the server considered determines, by implementing the distributed hash table DHT, the name and IP address of a server of the non-hierarchical network that is closer to the name of the server. the requested element and succeeding it, during a step 865 and returns this name and IP address to the client, during a step 870.
  • the client sends a request identical to the one sent during steps 810 to the server having the name identified in step 865. Then, it returns to step 855.
  • the client interrogates the name resolution servers of a hierarchical naming system, here DNS, by providing them the combined identifier.
  • DNS name resolution servers of a hierarchical naming system
  • One of these servers responds by providing at least one server name different from said identifier and hierarchically at the same level as said identifier, server of the non-hierarchical network referenced in the DNS system. Then, the customer asks at least one te! server.
  • an element having an unknown identifier of the address resolution system can be found via the server of the non-hierarchical network referenced in the DNS system, although its name is different from the identifier of the searched element.
  • the implementation of the present invention thus makes it possible to integrate two naming systems, hierarchical and non-hierarchical, so as to use, in the DNS system, identifiers having, in part, a non-hierarchical identifier specific to a domain.
  • the present invention is not limited to the embodiments described and shown. It applies, on the contrary, to any method and device in which, in response to a request specifying an element identifier on a network, unknown identifier of a computer system, it responds by providing an identifier (name or IP address, for example) which is known from M and, preferably, the identifier thus provided is the closest, among all the known identifiers of the computer system, in the lexicographic order, of the object identifier of the request.
  • an identifier name or IP address, for example
  • the client does not implement any new step.
  • the last DNS server polled responds to the request that is addressed to it by providing the identifier he knows closest and immediately superior, in lexicographic order, to the identifier specified in the request sent by the customer, without indicating who! is not the server with the identifier specified in the request.
  • the client is not informed of this difference between the supplied identifier and the required identifier. It is observed, however, that these two identifiers are then, preferably, at the same hierarchical level in the hierarchical naming system since they represent the same domain name and two different non-hierarchical network identifiers.
  • the client uses the identifier returned to it in a new query, as if it is! was the address corresponding to the identifier specified in the request, the client then accesses a server of the non-hierarchical network and obtains, directly or indirectly, as exposed with reference to Figure 7, the access to the element having said identifier.
  • This particular embodiment has the advantage of not requiring any modification, hardware or software, at the customer level.

Abstract

The method for accessing an element having an identifier comprises: at least one querying step

Description

PROCÈDE, DISPOSITIF ET SYSTÈME DE NOMMAGE, PROCÈDE ET TERMINAL D'ACCÈS A UNE RESSOURCE, PROCEDE DE REPONSE A UNE INTERROGATION ET SERVEUR OE RESOLUTIONMETHOD, APPARATUS AND SYSTEM FOR NAMING, PROCESS AND TERMINAL FOR ACCESSING A RESOURCE, METHOD OF RESPONSE TO AN INTERROGATION AND RESOLUTION SERVER
La présente invention concerne un procédé et un système de nommage de ressources sur un réseau informatique, ainsi qu'un dispositif et un procédé d'accès à une ressource sur un réseau informatique, et un procédé et un dispositif de réponse à une interrogation. Elle s'applique, en particulier, à permettre l'accès, sur le réseau internet, à des données non référencées par le système de nommage de noms de domaines DNS. Les systèmes informatiques reliés au réseau Internet communiquent entre eux en utilisant une adresse IP (sigle de « internet protocol » pour protocole internet), telle que « 10.192.123.234 », par exemple. Le système DNS (sigle de « domain name System » pour système de noms de domaines) est un système de nommage, c'est-à-dire d'association d'un identifiant alphanumérique à une adresse IP1 hiérarchique. L'objectif de cette architecture de nommage est de permettre d'établir un lien entre un identifiant, ici un nom de domaine, par exemple www.wanadoo.fr (Wanadoo est une marque déposée), et une adresse IP, Ce système à été étabϋ de manière à donner aux divers systèmes informatiques accessibles sur Ie réseau internet des noms «humainement compréhensibles». En effet, il est plus simple de retenir « www.wanadoo.fr » qu'une adresse IP. Il s'agit, en quelque sorte, d'un annuaire mondial faisant la correspondance entre un nom et un numéro. Par la suite, cette architecture s'est généralisée et est utilisée pour effectuer le lien entre un nom de domaine et une information différente d'un site. Le système DNS est donc à considérer, dans sa généralité, comme une architecture hiérarchique permettant d'effectuer un lien entre un nom de domaine et une information de connectivité.The present invention relates to a method and system for naming resources on a computer network, a device and method for accessing a resource on a computer network, and a method and a device for responding to a query. It applies, in particular, to allow access, on the Internet, to data not referenced by the DNS domain name naming system. Computer systems connected to the Internet communicate with each other using an IP address ("internet protocol" acronym for internet protocol), such as "10.192.123.234", for example. The DNS ("Domain Name System") system is a naming system, that is to say associating an alphanumeric identifier with a hierarchical IP address 1 . The purpose of this naming architecture is to make it possible to establish a link between an identifier, here a domain name, for example www.wanadoo.fr (Wanadoo is a registered trademark), and an IP address, This system has been designed to give the various computer systems accessible on the Internet "humanly understandable" names. Indeed, it is easier to remember "www.wanadoo.fr" than an IP address. It is, in a way, a global directory that matches a name and a number. Subsequently, this architecture is generalized and is used to link a domain name and information different from a site. The DNS system is therefore generally considered as a hierarchical architecture for linking a domain name and connectivity information.
On désigne par « root domain » la racine commune à tous les noms de domaine. Elle se note «.». Cette racine possède un nombre restreint de sous domaines appelés domaines de plus haut niveau, « top levé! domain », « TLD ». On distingue trois catégories de TLD. La première contient les TLD qui désignent des noms de pays (par exemple « uk », « jp »). On les nomme «Country Code TLD» (ccTLDs). La deuxième est un TLD réservé à des expérimentations techniques, nommé « .arpa ». Enfin les autres TLD (par exemple, « .com », « .org », « .edu ») sont appelées « generic TLD » ou domaines de plus haut niveau génériques (gTLD).By "root domain" is meant the root common to all domain names. It is noted "." This root has a limited number of subdomains called higher level domains, "top surveyed! domain "," TLD ". There are three categories of TLDs. The first contains TLDs that designate country names (eg "uk", "jp"). They are called Country Code TLDs (ccTLDs). The second is a TLD reserved for technical experimentation, named ".arpa". Finally the other TLDs (for example, ".com", ".Org", ".edu") are called "generic TLDs" or generic top-level domains (gTLDs).
Les noms de domaines sont donc repartis, à partir de la racine, en TLD, Ce schéma se reproduit itérativement à partir de chaque TLD et ce jusqu'à ce que l'on arrive à la feuille de l'arborescence. Cette hiérarchisation permet à chaque entité possédant un nom de domaine d'être répertoriée universellement et d'administrer son domaine de manière hiérarchique et indépendante.The domain names are distributed, from the root, in TLD, This scheme is reproduced iteratively from each TLD until it reaches the leaf of the tree. This prioritization allows each entity with a domain name to be universally listed and to administer its domain hierarchically and independently.
En ce qui concerne l'organisation des serveurs de résolution de noms de domaine, la structure hiérarchique est subdivisée en domaines et sous domaines permettant ia mise en place d'un service distribué et hiérarchisé. Au niveau de la structure de nommage, les serveurs de nom gèrent chacun leur domaine et redirigent les clients vers les sous domaines auxquels ia gestion est déléguée. Ainsi, en reprenant le nom de domaine www.opera-de-paris.fr, le domaine root ou racine ne connaît pas directement la réponse, par contre il connaît les références du serveur gérant le sous domaine « .fr ». II redirige donc la requête vers ce serveur et ainsi de suite jusqu'à la résolution complète du nom.With regard to the organization of domain name resolution servers, the hierarchical structure is subdivided into domains and subdomains allowing the establishment of a distributed and hierarchical service. At the naming structure level, name servers each manage their domain and redirect clients to the subdomains to which management is delegated. Thus, taking over the domain name www.opera-de-paris.fr, the root or root domain does not know the answer directly, but knows the references of the server managing the ".fr" subdomain. It redirects the request to this server and so on until the complete resolution of the name.
On distingue les serveurs hébergeant réellement les données DNS, des serveurs ayant obtenu les données au cours d'une interrogation précédente. Les serveurs hébergeant réellement les données d'une zone sont appelés les serveurs « primaires ». Les serveurs DNS ayant la réponse à une requête car ils ont déjà émis cette requête et conservent la réponse sont appelés serveurs « cache ».We distinguish the servers actually hosting the DNS data servers that obtained the data during a previous query. The servers actually hosting the data of a zone are called the "primary" servers. DNS servers that have the response to a request because they have already issued this request and keep the response are called "cache" servers.
Au niveau des données, une durée de validité est associée à chaque donnée DNS. Tant que la date de validité n'est pas expirée, la donnée reste dans le réseau grâce à la présence de caches. Les caches sont des fichiers qui contiennent des données ayant déjà fait l'objet de requêtes DNS. Elles sont conservées tant que la date de validité n'est pas expirée. Un client émettant une requête vers un cache pourra recevoir la réponse de ce dernier, ce qui peut ainsi éviter l'interrogation des serveurs DNS.At the data level, a validity period is associated with each DNS data. As long as the validity date has not expired, the data remains in the network thanks to the presence of caches. Caches are files that contain data that has already been the subject of DNS queries. They are kept as long as the expiry date has not expired. A client issuing a request to a cache can receive the response from the cache, which can avoid querying DNS servers.
La figure 1 illustre le fonctionnement du DNS au sein du réseau, dans îe cas d'une résolution récursive. Dans l'exemple illustré, un terminai utilisateur 110 souhaite connaître l'adresse IP du serveur Web www.orange.fr (Orange est une marque déposée), il adresse d'abord une requête 101 à un serveur de résolution locale 115 (en anglais « local resolver ») aussi appelé serveur « cache récursif », « cache » car il conserve les résultats qu'il reçoit, pendant leur durée de validité et « récursif » parce qu'il effectue une succession cie requêtes pour le compte du terminal utilisateur. Le serveur de résolution locale 115 émet, alors, une requête 102 à destination du serveur maître 120 du domaine « . » et reçoit, en retour, un message 103 lui indiquant une adresse IP du serveur maître du domaine « ,fr » 125. Le serveur de résolution locale 115 émet, alors, une requête 104 à destination du serveur 125 et reçoit, en retour, un message 105 lui indiquant une adresse IP du serveur du domaine « orange.fr » 130. Le serveur de résolution locale 115 émet, alors, une requête 106 à destination du serveur 130 et reçoit, en retour, un message 107 lui indiquant une adresse IP du serveur 135 comportant le contenu du domaine www.orange.fr 135. Le terminal 110 peut alors utiliser cette adresse IP pour accéder au domaine « www.orange.fr ».Figure 1 illustrates the operation of DNS within the network, in the case of a recursive resolution. In the illustrated example, a user terminator 110 wishes to know the IP address of the Web server www.orange.fr (Orange is a registered trademark), it first sends a request 101 to a local resolution server 115 (in English). "Local resolver") also called server "recursive cache", "Cache" because it retains the results it receives, during their validity and "recursive" because it performs a succession of queries on behalf of the user terminal. The local resolution server 115 then sends a request 102 to the master server 120 of the domain ". And receives, in return, a message 103 indicating an IP address of the master server of the domain ", fr" 125. The local resolution server 115 then sends a request 104 to the server 125 and receives, in return, a message 105 indicating an IP address of the server of the domain "orange.fr" 130. The local resolution server 115 then sends a request 106 to the server 130 and receives, in return, a message 107 indicating an address IP server 135 with the contents of the domain www.orange.fr 135. The terminal 110 can then use this IP address to access the domain "www.orange.fr".
Ainsi, le nom de domaine « www.orange.fr. » désigne un nom de domaine sur quatre niveaux : - « . » désigne le root domain,Thus, the domain name "www.orange.fr. "Means a domain name on four levels: -". Is the root domain,
- « fr » désigne ie TLD, et plus précisément le ccTLD- "fr" refers to the TLD, specifically the ccTLD
- « orange » désigne le domaine géré par la société Orange (marque déposée) et- "orange" means the domain managed by Orange (registered trademark) and
- « WWW » désigne le nom donné au serveur de la toile. Le nom de domaine constitue l'entrée unique de la base, et les noms doivent remplir certaines règles, notamment ifs doivent respecter une hiérarchie. Ainsi «www» est un sous domaine de «orange» qui lui-même est un sous domaine de «fr» qui lui-même est un sous domaine de «root» ou «.».- "WWW" is the name given to the web server. The domain name is the sole entry of the database, and the names must meet certain rules, especially ifs must follow a hierarchy. Thus "www" is a subdomain of "orange" which itself is a subdomain of "fr" which itself is a subdomain of "root" or "."
Cependant, si l'architecture DNS convient à une structure de nommage hiérarchisée comme celle qui régit les noms de domaine classique sur l'internet, le DNS n'est, en revanche, pas conçu pour répondre à une structure de nommage sans hiérarchie, ou encore appelée structure de nommage « à plat ». Par exemple, le système DNS ne peut gérer le cas où chaque machine ou entité du réseau possède un identifiant sans structure, comme un nombre aléatoire. En effet, il faudrait qu'il possède un fichier de zone contenant tous les identifiants, ce qui dans le cas d'identifiants d'une longueur, par exemple, de 12 bits, c'est-à-dire la même longueur que les adresses IPv6, semble irréaliste du fait du nombre d'adresses considérées. Or, l'utilisation des identifiants non hiérarchiques se développe car il permet d'intégrer des fonctionnalités, comme la sécurité, directement dans le système de nommage.However, while the DNS architecture is suitable for a hierarchical naming structure such as the one that governs traditional domain names on the Internet, the DNS is, on the other hand, not designed to respond to a naming structure without hierarchy, or still called "flat" naming. For example, the DNS system can not handle the case where each machine or entity in the network has an identifier without a structure, such as a random number. Indeed, it should have a zone file containing all the identifiers, which in the case of identifiers of a length, for example, of 12 bits, that is to say the same length as the IPv6 addresses, seems unrealistic because of the number of addresses considered. However, the use of non-hierarchical identifiers is develops because it allows to integrate features, such as security, directly into the naming system.
Par exemple, à la base du protocole HiP (acronyme de « host identity protocol » pour protocole d'identité hôte), Ia séquence de bits désignant l'identifiant est constituée à partir du condensât ou hachage (en anglais « hash ») d'une clé publique. On parle alors d'identifiants « cryptographiques ». L'utilisation de tels identifiants permet d'intégrer des fonctionnalités comme des procédures d'attachement sécurisé, une preuve d'appartenance, des données relatives à la confidentialité des informations. Les protocoles HIP1 et des projets comme « Ambient Network » (pour réseau ambiant), partent du principe que l'identité d'un nœud ou de n'importe quel élément accessible sur le réseau est désigné par son couple de clé publique / clé privée.For example, based on the HiP protocol (acronym for "host identity protocol" for host identity protocol), the bit sequence designating the identifier is formed from the condensate or "hash" of a public key. This is called "cryptographic" identifiers. The use of such identifiers makes it possible to integrate functionalities such as secure attachment procedures, proof of membership, data relating to the confidentiality of information. HIP 1 protocols and projects like "Ambient Network" assume that the identity of a node or any element accessible on the network is designated by its public key / key pair. private.
Plus généralement, l'utilisation d'un système de nommage sans hiérarchie facilite les configurations automatiques au sein d'un réseau. En effet si 234543267098765 et 039543266098705 sont deux identifiants binaires écrits en base décimale, sans lien apparent, lîs peuvent appartenir à deux machines n'ayant aucun lien entre elles ou, au contraire, être associés à deux nœuds très proches comme deux terminaux appartenant à un même sous réseau.More generally, the use of a naming system without hierarchy facilitates automatic configurations within a network. Indeed if 234543267098765 and 039543266098705 are two binary identifiers written in decimal base, without apparent link, they can belong to two machines having no connection between them or, on the contrary, be associated with two very close nodes like two terminals belonging to one even under network.
Les avantages que l'on trouve, au niveau réseau, à un système de nommage sans hiérarchie, notamment en ce qui concerne la simplification des opérations de configuration automatique rencontrent, au niveau du système de nommage, une nouvelle problématique : Comment gérer l'ensemble des identifiants binaires ? En effet, comme exposé plus haut, il n'est pas envisageable de mettre en place une base de données centralisée possédant tous les identifiants possibles.The advantages found at the network level, in a naming system without hierarchy, especially with regard to the simplification of automatic configuration operations meet, at the level of the naming system, a new problem: How to manage the whole binary identifiers? Indeed, as explained above, it is not possible to set up a centralized database having all the possible identifiers.
L'utilisation d'un système de nommage non hiérarchisé dans l'architecture DNS est particulièrement complexe puisque l'on a à faire à deux conceptions différentes de systèmes de nommage, l'un non hiérarchisé, l'autre centralisé, l'un orienté contenu (fichier ou données), l'autre orienté information de connexion. La présente invention propose de permettre à la structure DNS d'intégrer au moins un espace de nommage non hiérarchisé.The use of a non-hierarchical naming system in the DNS architecture is particularly complex since we have to deal with two different conceptions of naming systems, one non-hierarchical, the other centralized, the one oriented content (file or data), the other oriented connection information. The present invention proposes to allow the DNS structure to integrate at least one non-hierarchical namespace.
A cet effet, la présente invention vise, selon un premier aspect, un procédé d'accès à un élément possédant un identifiant, qui comporte : - au moins une étape d'interrogation d'un serveur de résolution de noms d'un système de nommage hiérarchique, responsable d'un domaine représenté par ledit identifiant, ladite interrogation comportant ledit identifiant, - une étape de réception d'une réponse provenant d'un dit serveur de résolution de noms, ladite réponse étant représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant etFor this purpose, the present invention aims, in a first aspect, a method of accessing an element having an identifier, which comprises: at least one interrogation step of a name resolution server of a hierarchical naming system, responsible for a domain represented by said identifier, said interrogation comprising said identifier, a step of receiving a response from a said name resolution server, said response being representative of at least one server name different from said identifier and hierarchically at the same level as said identifier and
- une étape d'interrogation d'un serveur possédant un dit nom différent dudit identifiant.an interrogation step of a server having a said different name of said identifier.
Grâce à ces dispositions, un élément possédant un identifiant inconnu du système de résolution d'adresse, par exemple DNS, peut être retrouvé par l'intermédiaire du serveur dont le nom est différent de l'identifiant de l'élément, en particulier lorsque cet autre serveur est lié à un réseau comportant ledit élément. La présente invention vise ainsi à intégrer deux systèmes de nommage, hiérarchique et non hiérarchique, de manière à utiliser, dans le système DNS, des identifiants possédant, en partie, un identifiant non-hiérarchique propre à un domaine.Thanks to these arrangements, an element having an unknown identifier of the address resolution system, for example DNS, can be found via the server whose name is different from the identifier of the element, in particular when this another server is linked to a network comprising said element. The present invention thus aims to integrate two naming systems, hierarchical and non-hierarchical, so as to use, in the DNS system, identifiers having, in part, a non-hierarchical identifier specific to a domain.
La mise en œuvre de la présente invention présente donc les avantages suivants :The implementation of the present invention therefore has the following advantages:
- d'une part, le système de nommage hiérarchisé, par exemple DNS, n'est pas encombré par des noms associés à chaque élément accessible eton the one hand, the hierarchical naming system, for example DNS, is not encumbered by names associated with each accessible element and
- d'autre part, les systèmes de nommage non hiérarchiques n'ont pas à gérer des éléments extérieurs au domaine. Selon des caractéristiques particulières, au cours de l'étape de réception d'une réponse, ladite réponse est représentative d'au moins un nom de serveur qui se trouve, dans l'ordre lexicographique et dans la mémoire dudit serveur de résolution de noms, immédiatement supérieur ou immédiatement inférieur audit identifiant. Grâce à ces dispositions, le procédé d'accès bénéficie, à Ia fois des avantages du système DNS et des avantages des systèmes de nommage non hiérarchisés, qui permettent, par exemple, l'ajout ou ie retrait aisé et rapide de fichiers ou de nœuds. En effet, dans les systèmes de nommage non hiérarchisés, les éléments sont gérés par les serveurs qui possèdent l'identifiant le plus proche, étant entendu que Ia notion de proximité dépendant d'une fonction de distance définie pour le système de nommage non hiérarchisé.- On the other hand, non-hierarchical naming systems do not have to manage elements outside the domain. According to particular characteristics, during the step of receiving a response, said response is representative of at least one server name which is, in the lexicographic order and in the memory of said name resolution server, immediately higher or immediately below said identifier. Thanks to these provisions, the access method benefits both from the advantages of the DNS system and from the advantages of the non-hierarchical naming systems, which allow, for example, the easy or fast addition or removal of files or nodes. . In fact, in non-hierarchical naming systems, the elements are managed by the servers having the closest identifier, it being understood that the notion of proximity depending on a distance function defined for the non-hierarchical naming system.
Selon des caractéristiques particulières, au cours de l'étape de réception d'une réponse, ladite réponse est représentative, d'une part, de ce que ledit identifiant est inconnu dudit serveur de résolution de noms et, d'autre part, de chaque dit nom différent dudit identifiant.According to particular characteristics, during the step of receiving a response, said response is representative, on the one hand, of the fact that said identifier is unknown to said name resolution server and, on the other hand, of each said different name of said identifier.
Grâce à ces dispositions, l'extension DNSSEC du système de nommage DNS peut être mise en œuvre pour implémenter la présente invention. Selon des caractéristiques particulières, le procédé d'accès tel que succinctement exposé ci-dessus comporte, en outre, une étape de détermination d'obtention d'un accès audit élément de la part d'un dît serveur possédant un nom différent dudit identifiant et, en l'absence d'obtention dudit accès audit élément, une étape d'interrogation d'un autre serveur possédant un dit nom différent dudit identifiant.With these provisions, the DNSSEC extension of the DNS naming system can be implemented to implement the present invention. According to particular features, the access method as succinctly set forth above further comprises a step of determining to obtain access to said element from a server with a name different from said identifier and , in the absence of obtaining said access to said element, an interrogation step of another server having a said name different from said identifier.
Grâce à ces dispositions, si l'accès à l'élément recherché ne peut être obtenu de la part d'un serveur possédant un nom qui suit, dans Tordre lexicographique, l'identifiant de l'élément recherché, on l'obtient de la part d'un serveur possédant un nom qui précède, dans l'ordre lexicographique, l'identifiant combiné.Thanks to these arrangements, if the access to the sought element can not be obtained from a server having a name which follows, in the lexicographic order, the identifier of the searched element, it is obtained from the from a server with a name that precedes, in lexicographic order, the combined identifier.
Selon des caractéristiques particulières, au cours de chaque étape d'interrogation, ledit identifiant est un identifiant dit « combiné » représentatif, d'une part, du nom dudit domaine et, d'autre part, d'un identifiant d'élément sur un réseau dit « non hiérarchisé » qui comporte ledit serveur possédant ledit nom différent dudit identifiant et ledit élément.According to particular characteristics, during each interrogation step, said identifier is a so-called "combined" identifier representative, on the one hand, of the name of said domain and, on the other hand, of an element identifier on a said non-hierarchical network comprising said server having said name different from said identifier and said element.
Grâce à ces dispositions, le système de nommage DNS peut utiliser le nom de domaine concerné et le réseau non hiérarchisé peut, ensuite, utiliser ('identifiant d'élément.Thanks to these provisions, the DNS naming system can use the domain name concerned and the non-hierarchical network can then use ('element identifier.
Selon des caractéristiques particulières, ledit réseau non hiérarchisé met en œuvre un système de nommage non hiérarchisé dans lequel les identifiants sont gérés par intervalles juxtaposés.According to particular features, said non-hierarchical network implements a non-hierarchical naming system in which the identifiers are managed by juxtaposed intervals.
Grâce à ces dispositions, on peut retrouver le gestionnaire de l'élément recherché sans avoir à rechercher tous les éléments du réseau non hiérarchisé. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, de manière itérative, une étape de détermination, par un serveur possédant un nom différent dudit identifiant, s'il est responsable dudit élément et - si oui, une étape de fourniture d'un accès audit élément etThanks to these provisions, one can find the manager of the searched element without having to search all the elements of the non-hierarchical network. According to particular features, the method as briefly described above comprises, iteratively, a determination step, by a server having a name different from said identifier, if it is responsible for said element and - if yes, a step of providing access to said element and
- si non, une étape de sélection, par ledit serveur possédant un nom différent dudit identifiant» d'un autre nom de serveur du réseau non hiérarchisé différent dudit identifiant et plus proche dudît identifiant que l'identifiant du serveur effectuant ladite étape de détermination. Grâce à ces dispositions, on converge progressivement vers îe gestionnaire de l'élément recherché.- if not, a step of selecting, by said server that has a different name identifier of said "another name server of the non-hierarchical network different from said identifier and closer to said identifier as the identifier of the server performing said determining step. Thanks to these provisions, progressively converges towards the manager of the desired element.
Selon des caractéristiques particulières, au cours des étapes itératives, on met en œuvre une table mettant en correspondance chaque identifiant d'élément dudit réseau non hiérarchisé et un nom de serveur dudit réseau non hiérarchisé. Selon des caractéristiques particulières, ladite table contient des identifiants d'éléments qui sont représentatifs de résultats d'une fonction de hachage d'au moins une partie du nom et/ou du contenu desdits éléments.According to particular features, during the iterative steps, a table is implemented mapping each element identifier of said non-hierarchical network and a server name of said non-hierarchical network. According to particular features, said table contains identifiers of elements that are representative of results of a hash function of at least a part of the name and / or content of said elements.
Selon des caractéristiques particulières, au cours des étapes itératives, on met en œuvre un système de nommage à tables de hachages distribuées sur les serveurs du réseau non hiérarchisé.According to particular features, during the iterative steps, a hashing system is implemented distributed on the servers of the non-hierarchical network.
Grâce à chacune de ces dispositions, la présente invention peut être implémentée avec les systèmes de nommage à distribution de tables de hachage, nommés DHT.With each of these features, the present invention can be implemented with hash-table naming systems, referred to as DHTs.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de référencement, auprès d'un serveur de résolution de noms du système de nommage hiérarchique, du serveur possédant le nom différent dudit identifiant, nom représentant d'une part, ledit domaine et, d'autre part, un identifiant non hiérarchisé.According to particular features, the method as briefly described above comprises a step of referencing, with a name resolution server of the hierarchical naming system, the server having the name different from said identifier, a representative name on the one hand , said domain and, on the other hand, a non-hierarchical identifier.
Selon un deuxième aspect, la présente invention vise un système de nommage qui attribue, pour au moins un élément, un identifiant combiné représentatif, d'une part, d'un nom selon un système de nommage hiérarchisé et, d'autre part, à'un identifiant d'élément d'un système de nommage non hiérarchisé, l'identifiant du système de nommage hiérarchisé permettant l'accès à un serveur et l'identifiant du système de nommage non hiérarchisé permettant l'accès aux éléments accessibles audit serveur, en mettant en œuvre le système de nommage non hiérarchisé.According to a second aspect, the present invention aims at a naming system which assigns, for at least one element, a combined identifier representative of, on the one hand, a name according to a hierarchical naming system and, on the other hand, to an element identifier of a non-hierarchical naming system, the identifier of the hierarchical naming system allowing access to a server and the identifier of the non-hierarchical naming system allowing access to the elements accessible to said server, by implementing the non-hierarchical naming system.
Selon des caractéristiques particulières, le système de nommage attribue un identifiant combiné à un serveur dont l'identifiant non hiérarchisé est le dernier identifiant de l'ensemble des identifiants non hiérarchisés.According to particular characteristics, the naming system assigns a combined identifier to a server whose non-hierarchical identifier is the last identifier of all the non-hierarchical identifiers.
Selon des caractéristiques particulières, le système de nommage tel que succinctement exposé ci-dessus détermine l'identifiant d'un système de nommage non hiérarchisé par hachage d'au moins une partie du nom et/ou du contenu dudit élément.According to particular features, the naming system as succinctly set forth above determines the identifier of a non-hierarchical naming system by hashing at least a part of the name and / or content of said element.
Les avantages, buts et caractéristiques particulières de ce système de nommage étant similaires à ceux du procédé d'accès à un élément tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.The advantages, aims and special features of this naming system being similar to those of the method of access to an element as succinctly explained above, they are not recalled here.
Selon un troisième aspect, la présente invention vise un procédé de nommage d'un élément d'un réseau non hiérarchisé sur lequel les identifiants sont gérés par intervalle, qui comporte une étape d'attribution, audit élément, d'un nom hiérarchisé d'un domaine possédant un serveur dudit réseau non hiérarchisé et une étape d'attribution, audit élément, d'un complément de nom représentant son identifiant sur !e réseau non hiérarchisé. Selon des caractéristiques particulières, le procédé de nommage tel que succinctement exposé ci-dessus comporte, en outre, une étape de mise à jour d'une table distribuée dans laqueïle chaque élément du réseau non hiérarchisé est mis en relation avec un identifiant de serveur responsable dudit élément.According to a third aspect, the present invention provides a method for naming an element of a non-hierarchical network on which the identifiers are managed by interval, which comprises a step of assigning, to said element, a hierarchical name of a domain having a server of said non-hierarchical network and a step of assigning, to said element, a name complement representing its identifier on the non-hierarchical network. According to particular features, the naming method as briefly described above also includes a step of updating a distributed table in which each element of the non-hierarchical network is put in relation with a responsible server identifier. said element.
Selon des caractéristiques particulières, le procédé de nommage tel que succinctement exposé ci-dessus comporte, en outre, une étape de référencement d'au moins un serveur dudit réseau non hiérarchisé sur au moins un serveur de résolution de nom de domaine.According to particular features, the naming method as succinctly set forth above further comprises a step of referencing at least one server of said non-hierarchical network on at least one domain name resolution server.
Seion des caractéristiques particulières, le procédé de nommage tel que succinctement exposé ci-dessus comporte une étape d'attribution d'un identifiant combiné à un serveur dont l'identifiant non hiérarchisé est le dernier identifiant de l'ensemble des identifiants non hiérarchisés.In particular characteristics, the naming method as briefly described above includes a step of assigning a combined identifier to a server whose non-hierarchical identifier is the last identifier of the set of non-hierarchical identifiers.
Les avantages, buts et caractéristiques particulières de ce procédé de nommage étant similaires à ceux du procédé d'accès à un élément tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.The advantages, aims and special features of this naming process being similar to those of the access method to an element such as succinctly stated above, they are not recalled here.
Selon un quatrième aspect» la présente invention vise un procédé de réponse, par un serveur, à une interrogation de résolution de nom comportant un identifiant, qui comporte : - lorsque ledit serveur conserve, en mémoire, une adresse correspondant audit identifiant, une étape de réponse au cours de laquelle ledit serveur fournit ladite adresse etAccording to a fourth aspect, the present invention aims at a method of response, by a server, to a name resolution interrogation comprising an identifier, which comprises: when said server keeps, in memory, an address corresponding to said identifier, a step of response during which said server provides said address and
- lorsque ledit serveur ne conserve pas, en mémoire, une adresse correspondant audit identifiant, une étape de réponse au cours de laquelle iedit serveur fournit une réponse représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant, sans indication de ce que ledit nom est différent dudit identifiant.when said server does not store, in memory, an address corresponding to said identifier, a response step during which said server provides a response representative of at least one server name different from said identifier and hierarchically at the same level as said identifier , without indicating that said name is different from said identifier.
Selon des caractéristiques particulières, lorsque ledit serveur ne conserve pas, en mémoire, une adresse correspondant audit identifiant, au cours de l'étape de réponse, iadite réponse est représentative d'un nom de serveur qui se trouve, dans Tordre lexicographique et dans la mémoire dudit serveur, immédiatement supérieur ou immédiatement inférieur audit identifiant.According to particular characteristics, when said server does not store, in memory, an address corresponding to said identifier, during the response step, said response is representative of a server name which is, in the lexicographic order and in the memory of said server, immediately higher or immediately lower than said identifier.
Les avantages, buts et caractéristiques particulières de ce procédé de réponse étant similaires à ceux du procédé d'accès à un élément tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.Since the advantages, aims and particular characteristics of this response method are similar to those of the access method to an element as succinctly described above, they are not recalled here.
Selon un cinquième aspect, la présente invention vise un terminai d'accès à un élément possédant un identifiant, qui comporte :According to a fifth aspect, the present invention aims at an access terminal to an element having an identifier, which comprises:
- un moyen d'interrogation adapté à interroger au moins un serveur de résolution de noms d'un système de nommage hiérarchique, responsable d'un domaine représenté par ledit identifiant, ladite interrogation comportant ledit identifiant etan interrogation means adapted to interrogate at least one name resolution server of a hierarchical naming system, responsible for a domain represented by said identifier, said interrogation comprising said identifier and
- un moyen de réception d'une réponse provenant d'un dit serveur de résolution de noms, ladite réponse étant représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant,means for receiving a response from a said name resolution server, said response being representative of at least one server name different from said identifier and hierarchically at the same level as said identifier,
- ledit moyen d'interrogation étant adapté à interroger un serveur possédant un dit nom différent dudit identifiant. Selon des caractéristiques particulières, ie moyen de réception de réponse est adapté à ce que ladite réponse soit représentative, d'une part, de ce que ledit identifiant est inconnu dudit serveur de résolution de noms et, d'autre part, de chaque dit nom différent dudit identifiant. Selon des caractéristiques particulières, ledit moyen d'interrogation est adapté à ce que ledit identifiant soit un identifiant dit « combiné » représentatif, d'une part, du nom dudit domaine et, d'autre part, d'un identifiant d'élément sur un réseau qui comporte ledit serveur possédant ledit nom différent dudit identifiant et ledit élément Selon des caractéristiques particulières, le moyen d'interrogation est adapté à déterminer si un accès audit élément a été obtenu de la part d'un dit serveur possédant un nom différent dudit identifiant et, dans la négative, à interroger un autre serveur possédant un dit nom différent dudit identifiant.said interrogation means being adapted to interrogate a server having a said name different from said identifier. According to particular features, the response reception means is adapted so that said response is representative, on the one hand, of the fact that said identifier is unknown to said name resolution server and, on the other hand, of each said name. different from said identifier. According to particular features, said interrogation means is adapted so that said identifier is a so-called "combined" identifier representative, on the one hand, of the name of said domain and, on the other hand, of an element identifier on a network which comprises said server having said name different from said identifier and said element According to particular characteristics, the interrogation means is adapted to determine whether an access to said element has been obtained from a said server having a name different from said identifier and, if not, to interrogate another server having a said different name of said identifier.
Selon des caractéristiques particulières, Ie moyen d'interrogation est adapté à mettre en œuvre un identifiant d'un système de nommage non hiérarchisé dans lequel les identifiants sont gérés par intervalles.According to particular features, the interrogation means is adapted to implement an identifier of a non-hierarchical naming system in which the identifiers are managed at intervals.
Les avantages, buts et caractéristiques particulières de ce termina! d'accès à un élément étant similaires à ceux du procédé d'accès à un élément tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici. Selon un sixième aspect, la présente invention vise un dispositif de nommage d'un élément d'un réseau non hiérarchisé sur lequel les identifiants sont gérés par intervalle, qui comporte une moyen d'attribution, audit élément, d'un nom hiérarchisé d'un domaine possédant un serveur dudit réseau non hiérarchisé et un moyen d'attribution, audit élément, d'un complément de nom représentant son identifiant sur le réseau non hiérarchisé,The benefits, goals and special features of this termina! access to an element being similar to those of the method of access to an element as briefly described above, they are not recalled here. According to a sixth aspect, the present invention aims at a device for naming an element of a non-hierarchical network on which the identifiers are managed by interval, which comprises means for allocating, to said element, a hierarchical name of a domain having a server of said non-hierarchical network and means for allocating, to said element, a name complement representing its identifier on the non-hierarchical network,
Selon des caractéristiques particulières, le dispositif de nommage tel que succinctement exposé ci-dessus comporte, en outre, un dispositif de mise à jour d'une table distribuée dans laquelle chaque élément du réseau non hiérarchisé est mis en relation avec un identifiant de serveur responsable dudit élément. Selon des caractéristiques particulières, le dispositif de nommage tel que succinctement exposé ci-dessus comporte, en outre, un moyen de référencement d'au moins un serveur dudit réseau non hiérarchisé sur au moins un serveur de résolution de nom de domaine. Selon des caractéristiques particulières, le dispositif de nommage tel que succinctement exposé ci-dessus comporte, en outre, un moyen de référencement d'un serveur dudit réseau non hiérarchisé possédant le dernier des identifiants utilisés sur !e réseau non hiérarchisé, sur au moins un serveur de résolution de nom de domaine.According to particular features, the naming device as succinctly set forth above further comprises a device for updating a distributed table in which each element of the non-hierarchical network is put in relation with a responsible server identifier. said element. According to particular features, the naming device as succinctly set forth above further comprises means for referencing at least one server of said non-hierarchical network on at least one domain name resolution server. According to particular features, the naming device as succinctly set forth above further comprises means for referencing a server of said non-hierarchical network having the last of the identifiers used on the non-hierarchical network, on at least one domain name resolution server.
Les avantages, buts et caractéristiques particulières de ce dispositif de nommage étant similaires à ceux du procédé de nommage tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.The advantages, aims and special features of this naming device being similar to those of the naming process as succinctly described above, they are not recalled here.
Selon un septième aspect, la présente invention vise un serveur de résolution de nom comportant un identifiant comportant une mémoire dans laquelle des identifiants sont associés à des adresses en réponse à une interrogation, caractérisé en ce qu'il comporte un moyen de réponse adaptéAccording to a seventh aspect, the present invention aims at a name resolution server comprising an identifier comprising a memory in which identifiers are associated with addresses in response to a query, characterized in that it comprises an adapted response means
- lorsque ladite mémoire conserve une adresse correspondant audit identifiant, à fournir une réponse représentative de ladite adresse et - lorsque ladite mémoire ne conserve pas une adresse correspondant audit identifiant, à fournir une réponse représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant, sans indication de ce que ledit nom est différent dudit identifiant. Les avantages, buts et caractéristiques particulières de ce serveur étant similaires à ceux du procédé de réponse à une interrogation tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.when said memory retains an address corresponding to said identifier, to provide a response representative of said address and when said memory does not retain an address corresponding to said identifier, to provide a response representative of at least one server name different from said identifier and hierarchically at the same level as said identifier, without indicating that said name is different from said identifier. The advantages, goals and special features of this server being similar to those of the interrogation response method as succinctly set forth above, they are not recalled here.
Grâce aux caractéristiques de chacun des aspects de la présente invention, le système DNS n'est pas encombré par des adresses ou noms d'éléments accessibles par des nœuds d'un réseau non hiérarchisé mais ne gère que les adresses des nœuds possédant un nom DNS. De plus, les avantages des systèmes de nommage non hiérarchisés, qui permettent, par exemple, l'ajout ou le retrait aisé et rapide d'éléments, données, fichiers ou nœuds, sont des avantages de chacun des aspects de la présente invention. La présente invention vise aussi un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé de procédé d'accès à un élément possédant un identifiant tel que succinctement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique.Due to the characteristics of each of the aspects of the present invention, the DNS system is not encumbered by addresses or names of elements accessible by nodes of a non-hierarchical network but only manages the addresses of the nodes having a DNS name. . In addition, the advantages of non-hierarchical naming systems, which allow, for example, the easy or quick addition or removal of elements, data, files or nodes, are advantages of each of the aspects of the present invention. The present invention also relates to a computer program loadable in a computer system, said program containing instructions for implementing the method of access method to an element having an identifier as succinctly explained above, when this program is loaded and executed by a computer system.
La présente invention vise aussi un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé de procédé de nommage d'un élément tel que succinctement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique.The present invention also relates to a computer program loadable in a computer system, said program containing instructions for implementing the method of naming method of an element as briefly described above, when this program is loaded and executed by a computer system.
La présente invention vise aussi un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé de procédé de réponse à une interrogation tel que succinctement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique.The present invention also provides a computer program loadable in a computer system, said program containing instructions for implementing the method of response to a query as succinctly explained above, when this program is loaded and executed by a computer system.
Les avantages, buts et caractéristiques de ces programmes d'ordinateur étant similaires à ceux des procédés qu'ils implémentent, tels que succinctement exposés ci-dessus, ils ne sont pas rappelés ici. Les différents aspects de Ia présente invention et leurs caractéristiques particulières sont destinés à être combinés pour cumuler les avantages de ces caractéristiques.Since the benefits, goals, and features of these computer programs are similar to those of the methods they implement, as succinctly discussed above, they are not repeated here. The various aspects of the present invention and their particular features are intended to be combined to combine the advantages of these features.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de ia description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés, dans lesquels :Other advantages, aims and features of the present invention will emerge from the description which follows, made for an explanatory and non-limiting purpose with reference to the appended drawings, in which:
- la figure 1 représente, schématiquement, des échanges de requêtes et de réponses pour obtenir une adresse IP dans le système DNS,FIG. 1 represents, schematically, exchanges of requests and responses for obtaining an IP address in the DNS system,
- la figure 2 représente, schématiquement, un réseau mettant en œuvre un système de nommage DHT, - ta figure 3 représente, schématiquement, un premier mode de réalisation d'un système de nommage conforme à !a présente invention,FIG. 2 schematically represents a network implementing a DHT naming system; FIG. 3 schematically represents a first embodiment of a naming system according to the present invention;
- la figure 4 représente, schématiquement, un deuxième mode de réalisation d'un système de nommage conforme à la présente invention,FIG. 4 represents, schematically, a second embodiment of a naming system according to the present invention,
- la figure 5 représente, schématiquement, des échanges de requêtes et réponses pour la mise en œuvre de la présente invention,FIG. 5 represents, schematically, exchanges of requests and responses for the implementation of the present invention,
- les figures 6A à 6C représentent, respectivement, des logigrammes d'étapes mises en œuvre pour des ajouts et des retraits de ressources accessibles sur un réseau informatique mondial et pour répondre à une requête,FIGS. 6A to 6C represent, respectively, logigrams of steps implemented for additions and withdrawals of resources accessible on a global computer network and to respond to a request,
- ia figure 7 représente, sous forme d'un logigramme, des étapes mises en œuvre par un système informatique tentant d'accéder à un élément d'un réseau non hiérarchisé, en mettant en œuvre un premier mode de réalisation du procédé d'accès à un élément objet de la présente invention etFIG. 7 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a first embodiment of the access method. to an element object of the present invention and
- la figure 8 représente, sous forme d'un logigramme, des étapes mises en œuvre par un système informatique tentant d'accéder à un élément d'un réseau non hiérarchisé, en mettant en œuvre un deuxième mode de réalisation du procédé d'accès à un élément objet de la présente invention. Avant de décrire des modes de réalisation particuliers de la présente invention, en regard des figures, on donne, ci-dessous, des éléments utiles pour sa compréhension. Dans toute la description, les termes d! « identifiant » et de « nom » sont utilisés indifféremment et les « clés » sont des identifiants particuliers.FIG. 8 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a second embodiment of the access method. to an object of the present invention. Before describing particular embodiments of the present invention, with reference to the figures, given below, elements useful for its understanding. Throughout the description, the terms d ! "Identifier" and "name" are used interchangeably and "keys" are particular identifiers.
Dans toute la description, les termes de « nœud » ou de « serveur » sont utilisés indifféremment.Throughout the description, the terms "node" or "server" are used interchangeably.
Dans toute la description, îes termes d! « élément » ou de « ressources » sont utilisés indifféremment.Throughout the description, the terms d ! "Element" or "resources" are used interchangeably.
Selon la présente invention, pour pouvoir accéder aux ressources associées à ces identifiants d'un réseau non hiérarchisé, à partir d'un système informatique extérieur au réseau non hiérarchisé, conformément à ia présente invention, on associe à l'identifiant de ces ressources sur le réseau non hiérarchisé, des informations de connectivité, sous forme d'un nom de domaine hiérarchisé, au moins un nœud du réseau non hiérarchisé faisant partie dudit domaine.According to the present invention, in order to be able to access the resources associated with these identifiers of a non-hierarchical network, from a computer system outside the non-hierarchical network, in accordance with the present invention, the identifier of these resources is associated with the non-hierarchical network, connectivity information, in the form of a hierarchical domain name, at least one node of the non-hierarchical network belonging to said domain.
Grâce à ce système de nommage, le nom combiné d'un élément auquel on cherche à accéder depuis l'extérieur du réseau non hiérarchisé peut être traité, d'abord, par les serveurs de résolution de noms de domaines DNS, de manière connue en soi, à l'exception du dernier serveur DNS mis en œuvre, comme exposé plus bas, puis l'identifiant non hiérarchisé de l'élément peut être traité par le réseau non hiérarchisé de manière connue en soi. Par exemple, pour intégrer tes identifiants cryptographiques à un domaine DNS, on définit un ensemble de nœuds Chord qui composent une architecture de nommage Chord de ce domaine. Ainsi, par exemple, un nom de domaine tel que « wanadoo.fr » peut définir un ensemble d'éléments (par exemple, serveurs, données ou fichiers) Chord, par exemple, dont les noms combinés sont formés de l'ajout d'un identifiant cryptographique au nom de domaine, par exemple « 201.wanadoo.fr », « 207.wanadoo.fr », « 203.wanadoo.fr », etc. Ces noms combinés constituent ainsi le système de nommage objet de la présente invention, qui permet d'établir un lien entre un identifiant cryptographique et une information de connectivité, au moins l'un des nœuds possédant un nom combiné étant connu du système DNS et donnant ainsi accès aux autres ressources Chord.Thanks to this naming system, the combined name of an element that is to be accessed from outside the non-hierarchical network can be processed, first, by the DNS domain name resolution servers, in a manner known in the art. itself, with the exception of the last DNS server implemented, as explained below, then the non-hierarchical identifier of the element can be processed by the non-hierarchical network in a manner known per se. For example, to integrate your cryptographic credentials into a DNS domain, we define a set of Chord nodes that make up a Chord naming architecture for that domain. Thus, for example, a domain name such as "wanadoo.fr" can define a set of elements (for example, servers, data or files) Chord, for example, whose combined names are formed from the addition of a cryptographic identifier with a domain name, for example "201.wanadoo.fr", "207.wanadoo.fr", "203.wanadoo.fr", etc. These combined names thus constitute the naming system object of the present invention, which makes it possible to establish a link between a cryptographic identifier and a connectivity information, at least one of the nodes having a combined name being known from the DNS system and giving thus access to other Chord resources.
Parmi les méthodes de nommage non hiérarchisées, la présente invention met préférentielîement en œuvre celles appelées « DHT » (sigle de « distributed hash tables » pour tables de condensâts, ou hachages, distribuées) qui classent, sans hiérarchie, les données accessibles et réparties sur le réseau auxquelles on doit pouvoir accéder. Différents protocoles DHT ont été élaborés afin, d'une part, de pouvoir ajouter des données sur le réseau et, d'autre part, de pouvoir trouver les données en question.Among the non-hierarchical naming methods, the present invention preferably implements those called "DHT" (acronym for "distributed hash tables" for condensate tables, or hashes, distributed) which classify, without hierarchy, the data accessible and distributed on the network to access. Various DHT protocols have been developed in order to be able to add data on the network and to find the data.
Parmi ceux-ci, le mécanisme nommé Chord, un système de nommage non hiérarchique, a pour objectif de permettre une classification de clés. Dans le système de nommage Chord, chaque nœud du réseau possède un identifiant. L'identifiant des fichiers ou données à référencer est généré grâce à une fonction de hachage qui produit un condensât. Ainsi Chord est un système adapté à gérer un ensemble de fichiers. L'intégration des systèmes de nommage DNS et DHT objet de la présente invention est effectuée dans ie cadre de l'utilisation d'identifiants ordonnés sur le réseau non hiérarchisé, c'est-à-dire possédant, entre eux, une relation d'ordre, par exemple d'identifiants cryptographiques dans le protocole HIP, chaque nœud étant représenté par un identifiant formé à partir du condensât, ou hachage, d'une clé publique associée à ce nœud.Among these, the mechanism named Chord, a non-hierarchical naming system, aims to allow a classification of keys. In the Chord naming system, each node in the network has an identifier. The identifier of the files or data to be referenced is generated by a hash function that produces a condensate. Thus Chord is a system adapted to manage a set of files. The integration of DNS and DHT naming systems object of the present invention is carried out in the context of the use of identifiers ordered on the non-hierarchical network, that is to say having, between them, a relationship of order, for example of cryptographic identifiers in the HIP protocol, each node being represented by an identifier formed from the condensate, or hash, of a public key associated with this node.
Une table de noms est une structure qui associe un nom à chaque élément accessible par cette structure, l'ensemble des noms possédant une relation d'ordre, au sens mathématique du terme. Une table de hachage est une table qui associe à un élément un identifiant constituée d'une clé cryptographique obtenue par une fonction de hachage, par exemple mise en œuvre au cours d'une signature électronique, d'au moins une partie du nom et/ou du contenu de cet élément. Une table distribuée est une table qui est répartie, par morceaux, entre différents nœuds d'un réseau. Dans une structure non hiérarchisée, chaque nœud est responsable de quelques unes des associations entre des noms et des éléments, typiquement d'un intervalle de noms. La partie de Ia table distribuée qu'il conserve comporte donc, au moins, les associations noms-éléments dont il a la responsabilité.A table of names is a structure that associates a name with each element accessible by this structure, the set of names having a relation of order, in the mathematical sense of the term. A hash table is a table that associates with an element an identifier consisting of a cryptographic key obtained by a hash function, for example implemented during an electronic signature, of at least part of the name and / or the content of this element. A distributed table is a table that is divided, in pieces, between different nodes of a network. In a non-hierarchical structure, each node is responsible for some of the associations between names and elements, typically of a range of names. The part of the distributed table which he keeps therefore contains, at least, the name-element associations for which he is responsible.
A chaque nœud est associé un identifiant Chord qui lui indique l'intervalle de noms dont il a ia responsabilité. Par exemple, dans le système Chord, l'identifiant du nœud est un nom qui suit le dernier nom d'élément dont il a la responsabilité. Suivant la nature de l'application, les noms et les éléments représentent différentes choses. Dans le cas d'une application d'échanges de fichiers, un nom est un identifiant de fichier, et l'élément correspondant est la liste des adresses IP des nœuds qui possèdent le fichier, c'est-à-dire le conserve en mémoire.Each node is associated with a Chord identifier that indicates the range of names it has been responsible for. For example, in the Chord system, the node's identifier is a name that follows the last element name for which it is responsible. Depending on the nature of the application, the names and elements represent different things. In the case of a file exchange application, a name is a file identifier, and the corresponding element is the list of IP addresses of the nodes that own the file, that is to say, keeps it in memory .
Dans une table de hachage distribuée DHT, rechercher un élément revient, dans un premier temps, à retrouver le nœud responsable de sa clé, puis, dans un deuxième temps, à l'interroger sur la valeur de l'élément correspondant, le terme de « valeur » pouvant signifier aussi bien ie contenu de l'élément recherché, par exemple des données, et l'adresse IP où ce contenu est accessible. Le nœud peut ainsi avoir la donnée, ou bien comporter une indirection, et indiquer où télécharger la donnée, par exemple. De même, la publication d'un élément revient à trouver Ie nœud responsable de sa clé avant de lui envoyer l'association clé-élément.In a DHT distributed hash table, finding an element first returns to find the node responsible for its key, then, in a second step, to query it on the value of the corresponding element, the term "Value" can mean both the content of the element sought, for example data, and the IP address where this content is accessible. The node can thus have the data, or include an indirection, and indicate where to download the data, for example. Likewise, publishing an item is like finding the node responsible for its key before sending it the key-item association.
Pour que la recherche d'un élément par un nœud soit efficace, les nœuds forment un réseau structuré où chaque nœud possède des connaissances partielles sur les autres nœuds. A cet effet, on peut mettre en œuvre une table d'index qui associe à certains éléments du réseau, les nœuds qui en sont responsables. Préférentiellement, chaque nœud du réseau possède plus d'information sur les éléments dont les noms sont les plus proches du nom de ce nœud que sur les éléments dont les noms sont ies plus lointains, la notion de distance étant ici celle qui est définie par une topoiogie associé au système de nommage. Différentes topologies peuvent être utilisées. Les topologies adoptées peuvent» par exemple, être l'hypercube, le tore ou le graphe de Bruijn. Ces différentes topologies définissent, entre autres, les algorithmes de routage pour chercher le nœud responsable d'une clé.In order for the search of an element by one node to be effective, the nodes form a structured network where each node has partial knowledge of the other nodes. For this purpose, it is possible to implement an index table that associates with certain elements of the network, the nodes that are responsible for it. Preferentially, each node of the network has more information on the elements whose names are closest to the name of this node than on the elements whose names are more distant, the notion of distance being here that which is defined by a topoiogy associated with the naming system. Different topologies can be used. The topologies can be adopted "for example, be the hypercube, torus or de Bruijn graph. These different topologies define, among other things, the routing algorithms to look for the node responsible for a key.
Une table de hachage distribuée (ou DHT) associe un élément à une clé cryptographique, dans une table distribuée où les associations clé-éiément sont réparties sur les nœuds du réseau. On accède ainsi à chaque élément de la tabîe via sa clé cryptographique. Les deux opérations élémentaires effectuées sur une table de hachage sont la création d'une association entre un élément et une clé cryptographique, par hachage de son contenu, et la récupération d'un élément par utilisation de sa clé, comme exposé en regard de la figure 2.A distributed hash table (or DHT) associates an element with a cryptographic key, in a distributed table where the key-element associations are distributed over the nodes of the network. We thus access each element of the table via its cryptographic key. The two elementary operations performed on a hash table are the creation of an association between an element and a cryptographic key, by hashing its contents, and the recovery of an element by using its key, as exposed in relation to the figure 2.
La figure 2 est une représentation d'un espace des responsabilités de nœuds dans un système DHT1 ici le système Chord. En figure 2, les nœuds 200, 203, 206, 210 et 211 sont représentés par des disques noirs et les éléments 201 , 202, 204, 205, 207, 208, 209 et 211 à 215 par des carrés noirs. La topoiogie utilisée dans Chord est i'hypercube. Chaque nœud possède un identifiant unique appartenant à l'intervalle [0, 2b -1] qui définit sa position dans l'anneau représenté, avec la valeur du nombre « b » suffisamment élevée pour que l'intervalle puisse accueillir tous îes nœuds du système Chord. Typiquement, « b » = 64 ou 128, voire 256. En figure 2, « b » est égal à 4. Pour constituer les références numériques utilisées en figure 2, on a ajouté 200 à l'identifiant Chord de chaque nœud. Ainsi, par exemple, la référence 203 désigne le nœud dont l'identifiant Chord est « 3 » et la référence 207 désigne l'élément dont l'identifiant Chord est « 7 ».Figure 2 is a representation of a space of node responsibilities in a DHT 1 system here the Chord system. In FIG. 2, the nodes 200, 203, 206, 210 and 211 are represented by black disks and the elements 201, 202, 204, 205, 207, 208, 209 and 211 to 215 by black squares. The topoiogy used in Chord is hypercube. Each node has a unique identifier belonging to the interval [0, 2 b -1] which defines its position in the represented ring, with the value of the number "b" sufficiently high that the interval can accommodate all the nodes of the node. Chord system. Typically, "b" = 64 or 128 or even 256. In FIG. 2, "b" is equal to 4. To constitute the numerical references used in FIG. 2, 200 has been added to the Chord identifier of each node. Thus, for example, the reference 203 designates the node whose Chord identifier is "3" and the reference 207 designates the element whose Chord identifier is "7".
L'identifiant du nœud définit l'intervalle des clés d'éléments dont le nœud est responsable, cet espace de clés étant délimité par l'identifiant du nœud et par celui du nœud qui possède l'identifiant immédiatement inférieur. Ainsi, le nœud 210 est responsable des éléments dont les identifiants vont de 207 à 210. Les nœuds voisins sont renseignés de telle sorte que chaque nœud ait plus de connaissances des nœuds ayant un identifiant proche du sien que des nœuds ayant un identifiant éloigné du sien. Dans la table de hachage distribuée, chaque nœud d'identifiant « î » connaît, pour chaque valeur i+2k (modulo 2b), avec « k » dans l'intervalle [O, b-1], le nœud ayant l'identifiant immédiatement supérieur à i+2k, c'est-à-dire le nœud responsable de l'élément ayant comme identifiant i+2k. Ces identifiants de nœuds constituent la table d'index du nœud en question. Par exemple, le nœud 200, d'identifiant « 0 » possède la table d'index suivante :The identifier of the node defines the interval of the element keys for which the node is responsible, this key space being delimited by the identifier of the node and by that of the node which has the immediately lower identifier. Thus, the node 210 is responsible for the elements whose identifiers go from 207 to 210. The neighboring nodes are filled in such a way that each node has more knowledge of the nodes having an identifier close to its own than nodes having an identifier remote from its . In the distributed hash table, each identifier node "i" knows, for each value i + 2 k (modulo 2 b ), with "k" in the interval [O, b-1], the node having the identifier immediately greater than i + 2 k , that is to say the node responsible for the element having as identifier i + 2 k . These node identifiers constitute the index table of the node in question. For example, the node 200, identifier "0" has the following index table:
1 31 3
2 3 4 6 8 10 et le nœud 210, d'identifiant « 10 » possède îa table d'indes suivante :2 3 4 6 8 10 and the node 210, identifier "10" has the following table of indes:
1 111 11
2 0 4 0 8 32 0 4 0 8 3
Pour trouver le nœud responsable d'un identifiant « j », c'est-à-dire ie nœud dont l'identifiant est immédiatement supérieur ou égal à « j », un nœud cherche dans sa table d'index, l'identifiant du nœud ayant l'identifiant immédiatement inférieur à « j ». il adresse une requête à ce nœud ayant, dans sa table d'index, l'identifiant immédiatement inférieur à « j » et celui-ci répète ces étapes jusqu'à ce que le dernier nœud interrogé, possède, dans sa table d'index, comme successeur immédiat, c'est-à-dire en première ligne de sa tabie d'index, un nœud d'identifiant « m » supérieur à « j », Dans ce cas, le nœud recherché est le nœud d'identifiant « m » et, pour accéder à l'élément d'identifiant « j », on adresse une requête au nœud d'identifiant « m », celui-ci pouvant conserver l'élément « j » en mémoire ou savoir, par sa table de hachage distribuée, quel nœud conserve en mémoire l'élément « j » recherché.To find the node responsible for an identifier "j", that is to say the node whose identifier is immediately greater than or equal to "j", a node looks in its index table for the identifier of the node having the identifier immediately below "j". it sends a request to this node having, in its index table, the identifier immediately below "j" and the latter repeats these steps until the last node interrogated has, in its index table , as an immediate successor, that is to say in the first line of its index tabie, an identifier node "m" greater than "j", In this case, the searched node is the identifier node " m "and, to access the identifier element" j ", a request is made to the identifier node" m ", which can retain the element" j "in memory or know, by its table of distributed hash, which node stores the desired "j" element in memory.
Par exemple, si le nœud 203 recherche l'identifiant du nœud responsable de l'élément 215, il interroge ie nœud 211 et celui-ci, ayant pour successeur immédiat le nœud 200, détermine que le nœud 200 est responsable de l'élément 215.For example, if the node 203 searches for the identifier of the node responsible for the element 215, it interrogates the node 211 and the latter, having as immediate successor the node 200, determines that the node 200 is responsible for the element 215 .
La manière dont les intervalles sont choisis fait que la recherche est effectuée de manière dichotomique et possède une complexité de Tordre de log(n), formule dans laquelle « n » est Ie nombre de nœuds connectés au système.The manner in which the intervals are chosen means that the search is done in a dichotomous manner and has a complexity of log (n), where "n" is the number of nodes connected to the system.
On peut aussi noter qu'un nœud peut être référencé par plusieurs nœuds qui possèdent, dans leur table d'index, des pointeurs qui le désignent, ce qui améliore îa tolérance aux fautes ou pannes, par exemple en cas de déconnexion de nœuds.It may also be noted that a node may be referenced by several nodes which have pointers in their index table which designate it, which improves the tolerance to faults or failures, for example in the event of disconnection of nodes.
Pour se joindre à la topologie DHT, un nœud remplit sa table d'index et se signale auprès des nœuds qui pourraient l'avoir dans leur table d'index. Il doit également récupérer les associations clé-élément dont il devient responsable, Réciproquement, avant de partir, un nœud doit signaler son départ aux nœuds qui l'ont dans leur table d'index et envoyer les associations au nœud qui possède l'identifiant immédiatement supérieur au sien et qui va devenir responsable de ces associations.To join the DHT topology, a node fills its index table and reports to nodes that might have it in their index table. It must also recover the key-element associations for which it becomes responsible. Conversely, before leaving, a node must signal its departure to the nodes that have it in their index table and send the associations to the node that has the identifier immediately. superior to his own and who will become responsible for these associations.
Pour implémenter Ia présente invention, en réponse à une requête identifiant un élément recherché, par son nom combiné, le serveur de nom de domaine responsable du domaine comportant les éléments d'un réseau non hiérarchisé et qui ne reconnaît pas l'identifiant recherché transmet au moins le nom du nœud «le plus proche» de l'identifiant en question.In order to implement the present invention, in response to a request identifying a searched element, by its combined name, the domain name server responsible for the domain comprising the elements of a non-hierarchical network and which does not recognize the desired identifier transmits to the minus the name of the "closest" node of the identifier in question.
Le client, qui recherche l'accès à l'élément considéré peut alors utiliser le nom de ce nœud « le plus proche » de l'identifiant en question et» grâce à la structure du réseau non hiérarchisé, accède ainsi à un nœud du réseau non hiérarchisé qui le dirige, directement ou indirectement, vers l'élément recherché.The client, who seeks access to the element in question can then use the name of this node "closest" to the identifier in question and " thanks to the structure of the non-hierarchical network, thus accesses a node of the network non-hierarchical who directs it, directly or indirectly, towards the desired element.
Deux principaux modes de réaïisation de la présente invention sont représentés dans les figures : - un espace de nommage DHT-chord au niveau mondial etTwo main embodiments of the present invention are represented in the figures: a global DHT-chord namespace and
- un espace de nommage DHT-chord au niveau privé, c'est-à-dire pour un domaine précis, comme par exemple « wanadoo.fr ».- a DHT-chord namespace at the private level, that is to say for a specific domain, such as "wanadoo.fr".
Dans le premier mode de réalisation particulier, illustré en figure 3, l'invention comprend ia désignation d'un nom de domaine «.chord» par exemple, qui sera considéré comme un TLD (sigle de « Top Levé! Domain » pour domaine de plus haut niveau) dans l'architecture DNS, domaine où sont disposés l'ensemble des identifiants des nœuds qui gèrent un intervalle de clés, dans un système de nommage non hiérarchisé. Dans ce premier mode de réalisation, il est ainsi prévu un TLD spécifique, dédié à l'hébergement des données de type DHT- chord. Cet espace est préférentieilement géré, tout comme l'est Ie DNS actuel, par un consortium mondial. Les nœuds hébergeant les données sont gérés comme les différents « root » serveurs par ce consortium international. Dans le second mode de réalisation, illustré en figure 4, l'ensemble des nœuds hébergeant les identifiants binaires sont gérés par l'organisation à qui appartient ce nom de domaine. Ceci correspond au cas où une entité décide d'administrer sa propre zone.In the first particular embodiment, illustrated in FIG. 3, the invention includes the designation of a ".chord" domain name for example, which will be considered as a TLD ("Top Survey! higher level) in the DNS architecture, domain where all the identifiers of the nodes that manage a key interval are arranged in a non-hierarchical naming system. In this first embodiment, it is thus provided a specific TLD, dedicated to the hosting of DHT-chord type data. This space is preferentially managed, as is the current DNS, by a global consortium. The nodes hosting the data are managed as the different "root" servers by this international consortium. In the second embodiment, illustrated in FIG. 4, all the nodes hosting the binary identifiers are managed by the organization to which this domain name belongs. This corresponds to the case where an entity decides to administer its own zone.
On observe que, dans la figure 3, le domaine public et mondial destiné à devenir un TLD illustré en figure 3 correspond, d'abord, au domaine Chord.arpa.It is observed that in Figure 3, the public and global domain intended to become a TLD illustrated in Figure 3 corresponds, first, to the Chord.arpa domain.
En effet, c'est la fonction du domaine « .arpa » d'héberger, du moins dans une première mise en place, ce genre d'extension à l'architecture DNS mondiale.Indeed, it is the function of the domain ".arpa" to host, at least in a first implementation, this kind of extension to the global DNS architecture.
Dans la figure 4, le domaine réservé pour les identifiants binaires deIn Figure 4, the reserved area for the binary identifiers of
Puniversité de Berkeley est représenté. Dans les deux cas, au sein d'un domaine, un ensemble de nœuds définissent l'architecture DHT-chord appartenant à ce domaine. Chaque nœud du réseau non hiérarchisé référencé dans le système DNS est défini par un nouveau type d'enregistrement DNS, appelé « ChordNODE ».University of Berkeley is represented. In both cases, within a domain, a set of nodes defines the DHT-chord architecture belonging to that domain. Each node of the non-hierarchical network referenced in the DNS system is defined by a new type of DNS record called "ChordNODE".
Une fois le domaine identifié par ce nouveau type d'enregistrement, on définit les différents nœuds de l'architecture DHT-Chord. Ces nœuds possèdent les informations suivantes:Once the domain is identified by this new type of record, we define the different nodes of the DHT-Chord architecture. These nodes have the following information:
- Ie nom de domaine auquel ils sont rattachés (dans les cas représentés en figure 3, il s'agit du domaine « Chord.arpa » et, en figure 4, du domaine- the domain name to which they are attached (in the cases shown in Figure 3, this is the domain "Chord.arpa" and, in Figure 4, the domain
« berkeley.edu ») - les îocaîisateurs (en anglais « locators ») qui lui sont rattachés (dans le cas représenté, il s'agit d'une adresse IP)."Berkeley.edu") - the "locators" attached to it (in the case represented, it is an IP address).
La figure 2 représente la structure DHT chord implémentée à Berkeley.Figure 2 shows the chord DHT structure implemented at Berkeley.
Cette architecture possède trois nœuds de type ChordNODE, dont les caractéristiques sont les suivantes : - Nœud 0 :This architecture has three nodes of type ChordNODE, whose characteristics are as follows: - Node 0:
- identifiant non hiérarchisé : 0- non-hierarchical identifier: 0
- adresse \P : 192.234.98.98- address \ P: 192.234.98.98
- nom de domaine : chord.berkeley.edu - identifiant combiné : O. chord.berkeley.edu- domain name: chord.berkeley.edu - combined identifier: O. chord.berkeley.edu
- Nœud 1 :- Node 1:
- identifiant non hiérarchisé : 1- non-hierarchical identifier: 1
- adresse IP : 192.234.98.99 - nom de domaine : chord.berkeley.edu- IP address: 192.234.98.99 - domain name: chord.berkeley.edu
- identifiant combiné : 1.chord.berkeley.edu- combined identifier: 1.chord.berkeley.edu
- Nœud 3 :- Node 3:
- identifiant non hiérarchisé : 3- non-hierarchical identifier: 3
- adresse IP : 192.234.98.100 - nom de domaine : chord.berkeley.edu- IP address: 192.234.98.100 - domain name: chord.berkeley.edu
- identifiant combiné : 3.chord. berkeley.edu- combined identifier: 3.chord. berkeley.edu
L'implémentation, au niveau du fichier DNS, est la suivante (les données en caractères droits sont celles dues à l'utilisation du protocole DNS, les données d'implémentation de Ia présente l'invention étant en italiques) : $ORIGlN chord.berkeley.edu. $TTL 8640The implementation, at the level of the DNS file, is as follows (the data in right characters are those due to the use of the DNS protocol, the implementation data of Ia presents the invention being in italics): $ ORIGIN chord. berkeley.edu. $ TTL 8640
@ IN SOA ns bogdan\.marinoiu.rdirancetelecom.com.( 2005112301 ; YY/MM/DD/version 200 ; update delay 100 ; retry@ IN SOA ns bogdan \ .marinoiu.rdirancetelecom.com. (2005112301; YY / MM / DD / version 200; update delay 100; retry
604800 ; give up 100 )604800; give up 100)
IN NS ns ns IN A 10.193.171.53IN NS ns ns IN A 10.193.171.53
0 IN ChordNODE « 192.234.98,98» «chord.berkeiey.edu.»0 IN ChordNODE "192.234.98.98" "chord.berkeiey.edu."
1 IN ChordNODE « 192.234.98.99» «chord.berkeiey.edu.» 3 IN ChordNODE « 192.234.98.100» «chord.berkeley.edu.»1 IN ChordNODE "192.234.98.99" "chord.berkeiey.edu." 3 IN ChordNODE "192.234.98.100" "chord.berkeley.edu."
On observe que les champs « SOA » et « ns » sont des champs du protocole DNS. Ainsi, si on cherche l'information correspondant à l'identifiant « 2 » du réseau Chord, qui n'est pas référencé dans Ie système DNS, on commence par interroger le nœud dont l'identifiant est « 3 » sur ce réseau, qui est référencé dans le système DNS. En effet, les identifiants des éléments sont hébergés par le nœud qui suit, c'est-à-dire que c'est le nœud qui suit qui en a la responsabilité.It is observed that the fields "SOA" and "ns" are fields of the DNS protocol. Thus, if we look for the information corresponding to the identifier "2" of the Chord network, which is not referenced in the DNS system, we first interrogate the node whose identifier is "3" on this network, which is referenced in the DNS system. Indeed, the identifiers of the elements are hosted by the node that follows, that is to say that it is the node that follows who has the responsibility.
Aussi, dans des modes de réalisation de ia présente invention adaptés aux réseaux non hiérarchisés de type « Chord », la résolution de l'identifiant « 2 » utilise des mécanismes permettant de donner à l'émetteur de la requête l'accès au nœud le plus proche du réseau non hiérarchisé qui est référencé dans le système DNS et qui suit l'identifiant recherché.Also, in embodiments of the present invention adapted to non-hierarchical networks of the "Chord" type, the resolution of the identifier "2" uses mechanisms making it possible to give the sender of the request access to the node closer to the non-hierarchical network that is referenced in the DNS system and follows the desired identifier.
A cet effet, dans des modes de réalisation particuliers de la présente invention, on utilise une propriété de l'extension DNSSEC, En effet, les champs DNS de type NSEC permettent de donner à l'émetteur d'une requête sur un nom de domaine n'appartenant pas à la zone (en l'occurrence le nœud dont l'identifiant est « 2 ») l'identifiant de nœud le plus proche et qui suit l'identifiant recherché qui n'a pas été trouvé.For this purpose, in particular embodiments of the present invention, a property of the DNSSEC extension is used. Indeed, the NSEC DNS fields make it possible to give the sender a request on a domain name. not belonging to the zone (in this case the node whose identifier is "2") the closest node identifier and which follows the searched identifier which has not been found.
Un fichier DNSSEC s'obtient d'après un fichier DNS. Dans un but didactique, on décrit, ci-dessous, l'extension sécurisée du DNS appelée « DNSSEC », étant cependant observé que la mise en œuvre de la présente invention ne requiert pas l'utilisation du champ NSEC de ce protocole.A DNSSEC file is obtained from a DNS file. For didactic purposes, the secure DNS extension called "DNSSEC" is described below, however, it is observed that the implementation of the present invention does not require the use of the NSEC field of this protocol.
Décrite pour la première fois par l'organisation de normalisation IETF (sigie de « internet engineering task force » pour force de travail d'ingénierie de l'intemet) dans le document RFC (sigie de « request for comments » pour requête de commentaires) 2535, cette extension est maintenant décrite dans les documents RFC 4033, RFC 4034 et RFC 4035. DNSSEC a été essentiellement conçu afin d'assurer l'authentification de l'origine des messages DNS et de garantir leur intégrité durant leur transport.Described for the first time by the IETF standardization organization ("internet engineering task force" sigy for the engineering work force of the intemet) in the RFC document ("request for comments" sigie for comment request) 2535, this extension is now described in RFC 4033, RFC 4034, and RFC 4035. DNSSEC was primarily designed to authenticate the origin of DNS messages and ensure their integrity during transport.
Pour authentifier les réponses négatives (par exemple, le nom ou l'enregistrement demandé n'existe pas), les enregistrements NSEC (anciennement nommés « NXT ») ont été rajoutés. Ils lient de façon cyclique les enregistrements d'une zone en indiquant, pour chaque nom, quels sont les types d'enregistrement qui y sont associés et quel est !e prochain nom (en ordre lexicographique) situé dans ie fichier de zone, On obtient la certitude qu'il n'y a pas d'enregistrement correspondant à une requête si on vérifie l'enregistrement NSEC du nom qui est, du point de vue lexicographique» le plus proche prédécesseur du nom concerné par la requête.To authenticate negative responses (for example, the requested name or record does not exist), the NSEC records (formerly named "NXT") have been added. They bind the records of a zone cyclically by indicating, for each name, which types of record are associated with it and what is the next name (in lexicographic order) located in the zone file, We obtain the certainty that there is no record corresponding to a request if the NSEC record is checked for the name which is, from the lexicographic point of view 'the closest predecessor of the name concerned by the request.
L'enregistrement « SOA » spécifie le nom du serveur primaire de la zone, « dnssed », mais sans suffixe. Le suffixe, par exemple « .mabanquea.fr », est rajouté à tous les noms qui ne finissent pas par « . ». Cet enregistrement donne également l'adresse électronique (ou « adresse email ») de l'administrateur de ia zone ainsi que des délais concernant Ia mise à jour des serveurs esclaves.The "SOA" record specifies the primary server name of the zone, "dnssed", but without a suffix. The suffix, for example ".mabanquea.fr", is added to all the names that do not end with ". ". This record also gives the e-mail address (or "e-mail address") of the zone administrator as well as deadlines for updating the slave servers.
L'enregistrement « NS » spécifie un serveur de noms pour le domaine. Les enregistrements « A » donnent des adresses « IPv4 » pour le serveur de noms et pour un serveur de la toile, ou web, qui appartient au domaine.The "NS" record specifies a name server for the domain. "A" records give "IPv4" addresses for the name server and for a web server, or web server, that belongs to the domain.
Les enregistrements d'un nom de type NSEC indiquent le nom DNS suivant dans ia zone, en ordre lexicographique, et la liste des types de ses enregistrements font la clôture cyclique de la zone (« mabanquea.fr » vers « dnssed .mabanquea.fr » vers www.mabanquea.fr vers « mabanquea.fr »).The records of a NSEC type name indicate the following DNS name in the area, in lexicographic order, and the list of types of its records make cyclic closure of the area ("mabanquea.fr" to "dnssed .mabanquea.fr To www.mabanquea.fr to "mabanquea.fr").
Ainsi, dans des modes particuliers de réalisation de la présente invention, le fichier DNSSEC prend la forme suivante, dans laquelle les données d'implémentation de la présente invention sont en italiques, les autres données étant dues à l'utilisation du protocole DNS/DNSSEC : ; dnssec_signzone version 9.3.1 $ORIGIN chord.berkeley.edu @. 8640 IN SOA ns.berkeley.edu. bogdanlrnarinoiu.rd.francetelecom.com.Thus, in particular embodiments of the present invention, the DNSSEC file takes the following form, in which the implementation data of the present invention are in italics, the other data being due to the use of the DNS / DNSSEC protocol : dnssec_signzone version 9.3.1 $ ORIGIN chord.berkeley.edu @. 8640 IN SOA ns.berkeley.edu. bogdanlrnarinoiu.rd.francetelecom.com.
((
2005112301 ; sériai 200 ; refresh (1 minute 40 seconds)2005112301; serial 200; refresh (1 minute 40 seconds)
100 ; retry (3 minutes 20 seconds) 604800 ; expire (1 week) 100 ; minimum (1 minute 40 seconds)100; retry (3 minutes 20 seconds) 604800; expires (1 week) 100; minimum (1 minute 40 seconds)
) 8640 RRSIG SOA 52 864020060104100453 () 8640 RRSIG SOA 52 864020060104100453 (
20051205100453 48254 chord.berkeley.edu20051205100453 48254 chord.berkeley.edu
5Vl!FIUdNmJvVZfpiHKYbRW4LePhRIWAdopf gcizυoYZ+PFg6FtM9RU1AXυVUS7UYH189p8 ttyQMXAFm 1 CADeddJoNT3ZXLx9quxzCYC3g2 2ACvLbjmljlvexV4OMWb8VHUCcc45ubYjP8 8RQtOF3juNMCBW+OVXDwy15u/H4= ) 8640 NS ns.berkeiey.edu. 8640 RRSIG NS 52 8640 20060104100453 (5Vl! FIUdNmJvVZfpiHKYbRW4LePhRIWAdopf gcizuuYZ + PFg6FtM9RU1AXυVUS7UYH189p8 ttyQMXAFm 1 CADeddJoNT3ZXLx9quxzCYC3g2 2ACvLbjmljlvexV4OMWb8VHUCcc45ubYjP8 8RQtOF3juNMCBW + OVXDwy15u / H4 =) 8640 NS ns.berkeiey.edu. 8640 RRSIG NS 52 8640 20060104100453 (
20051205100453 48254 chord.berkeley.edu, db2Tsfm/cnFyaSkHaYWlBon2r2HYtBrwQsYC BR2A300WuCk1ejMOP0464RkKDIKWJSz4JF6r OttW/TCwUy50yrXq+WMfZMjQ7GR5VTAs5UJQ b4WVOqfL YLxQ4sPaiorzolwWid 1 Y+J8WUbdj nzj1hFPp+Bx82dxJCdtyO6eAVAI= )20051205100453 48254 chord.berkeley.edu, db2Tsfm / cnFyaSkHaYWlBon2r2HYtBrwQsYC BR2A300WuCk1ejMOP0464RkKDIKWJSz4JF6r OttW / TCwUy50yrXq + WMfZMjQ7GR5VTAs5UJQ b4WVOqfL YLxQ4sPaiorzolwWid 1 + Y + J8WUbdj nzj1hFPp Bx82dxJCdtyO6eAVAI =)
100 NSEC 0. chord.berkeley.edu. NS SOA RRSIG NSEC DNSKEY 100 RRSIG NSEC 5 2 100 20060104100453 (100 NSEC 0. chord.berkeley.edu. NS SOA RRSIG NSEC DNSKEY 100 RRSIG NSEC 5 2 100 20060104100453 (
20051205100453 48254 chord.berkeiey.edu. scYwzOQihvasXeXUX1u3QwWbnH/mzkvuOQdc20051205100453 48254 chord.berkeiey.edu. scYwzOQihvasXeXUX1u3QwWbnH / mzkvuOQdc
MpD+BJzn7LSHF28kbiuizdua3ukN18IVjqtC m4MhmaVvxJpBtXbxMoOQG6eE0Wf6lvV/Gsbd bh8DSfudtU2ZuU7V0bpkQRodlgidyhnPbAZ BGC3KWbBplz9TuDprmGWm6CυiJ8≈ ) 8640 DNSKEY 2563 5 (MpD + BJzn7LSHF28kbiuizdua3ukN18IVjqtC m4MhmaVvxJpBtXbxMoOQG6eE0Wf6lvV / Gsbd bh8DSfudtU2ZuU7V0bpkQRodlgidyhnPbAZ BGC3KWbBplz9TuDprmGWm6CυiJ8≈) 8640 DNSKEY 2563 5 (
AQPvG9Z4OwGpYryJeQ5oDGRJYc45hvLiLE99 MzLwJ3Coix/FtidVexBqHRC9Js+fg/UVWSm ue6VMIuEteShtEohlc418/K9qAQcwyCS8ZNx scBKc1W1$w5RmCkCprGkltSυCUeP10SP/cPK yN/Z6/qSgvXxA Vjh7IMauhVeltv2iw==AQPvG9Z4OwGpYryJeQ5oDGRJYc45hvLiLE99 MzLwJ3Coix / FtidVexBqHRC9Js + fg / UVWSm ue6VMIuEteShtEohlc418 / K9qAQcwyCS8ZNx scBKc1W1 $ w5RmCkCprGkltSυCUeP10SP / cPK yN / Z6 / qSgvXxA Vjh7IMauhVeltv2iw ==
) ; key id = 48254 8640 DNSKEY 2573 5 (); key id = 48254 8640 DNSKEY 2573 5 (
AQOzHiM1NL7E5fuA3hpddBdXcHq3deTPHkLK nt3N3QPRc8XrXJ6WgHp9dreqS8uvp8bF76sB pen/XP8bn9ybOJBz9++wOScugKzlYbF6E/zE vGrKitky5iz1pZ+VsHwy78QKbDSMIslqT25T L8Sx2VthbWJF1lRLuuTAMo7sGnNERw≈= ) ; key id = 27075AQOzHiM1NL7E5fuA3hpddBdXcHq3deTPHkLK nt3N3QPRc8XrXJ6WgHp9dreqS8uvp8bF76sB pen / XP8bn9ybOJBz9 ++ wOScugKzlYbF6E / zE vGrKitky5iz1pZ + VsHwy78QKbDSMIslqT25T L8Sx2VthbWJF1lRLuuTAMo7sGnNERw≈ =); key id = 27075
8640 RRSlG DNSKEY 52864020060104100453 (8640 RRSlG DNSKEY 52864020060104100453 (
20051205100453 27075 chord.berkeley.edu. G063oIGAPTN0fUr4KK2xqAAiexfd9PTa1IU4 dl6NMrU8FfOhXKQemh/QGp+GCxa2bindz/lf RRYVICOWU 2BDA GPNHVFDoZDSLxJSPiHDWa TL h 7FpnJt0XQ44SFadA0 VtQZiOGFJgAasewfnK 9υhx+Q0HM60GXorQxS/RU8jlMB4= ) 8640 RRSlG DNSKEY 52864020060104100453 ( 2005120510045348254 chord.berkeley.edu. Θ5lYxOf/jJToz/tFa2wRt2NRZTOY02zoxwiq20051205100453 27075 chord.berkeley.edu. G063oIGAPTN0fUr4KK2xqAAiexfd9PTa1IU4 dl6NMrU8FfOhXKQemh / QGP + GCxa2bindz / lf RRYVICOWU 2BDA GPNHVFDoZDSLxJSPiHDWa TL h 7FpnJt0XQ44SFadA0 VtQZiOGFJgAasewfnK 9υhx + Q0HM60GXorQxS / RU8jlMB4 =) 8640 RRSlG DNSKEY 52864020060104100453 (2005120510045348254 chord.berkeley.edu. Θ5lYxOf / jJToz / tFa2wRt2NRZTOY02zoxwiq
7zoQhj2IR5IGHQkzvndqg54XmLldg8V+SwPf1 UqeX+G+wnuAθjLfGrqt2TkQSsVvZ3mVgJt+j EExuuWBFUxwgO7GDsM+WZvQ67HQbshυC2NkC UCGW0V6ddylEPbW2UVhyi6AyLQ= )7zoQhj2IR5IGHQkzvndqg54XmLldg8V + SwPf1 UqeX + G + wnuAθjLfGrqt2TkQSsVvZ3mVgJt + j EExuuWBFUxwgO7GDsM + WZvQ67HQbshυC2NkC UCGW0V6ddylEPbW2UVhyi6AyLQ =)
0.chord.berkeley.ec!u.8640 IN ChordNODE «192.234.98.98»0.chord.berkeley.ec! U.8640 IN ChordNODE "192.234.98.98"
«chord.berkeley.edu.»"Chord.berkeley.edu."
8640 RRSfG ChordNODE 5 3 8640 2Û060104100453 ( 2005120510045348254 chord.berkeley.edu. zjJsbRND8YziK26rYbABkYT07+IC+gφvea8640 RRSfG ChordNODE 5 3 8640 2Û060104100453 (2005120510045348254 chord.berkeley.edu.zjJsbRND8YziK26rYbABkYT07 + IC + gφvea
9oOjitL+NYFxE/ZVqdfbdlD2PaX2WoKaxOVq ljwxlfC2759C1 MG2WqzGFwf1 yyoNbcLtRNI qqq4l9kXm4Mgj+JHLEv6z2cJbZouUU5e62l 7d6iU2MYg+KYsY+DQMq/XLv3gOA= ) 100 NSEC 1.chord.berkeiey.edu. ChordNODE RRSIG NSEC## EQU1 ##. ChordNODE RRSIG NSEC
100 RRSIG NSEC 5 3 10020060104100453 (100 RRSIG NSEC 5 3 10020060104100453 (
20051205100453 48254 chord.berkeley.edu. ]XLIkQJJUDz3me0n4L8is3M JIHxaCkkEh 10V ZSdlCLXx2A6Y7H0w0xKKJp+1zdMlc4mBÛuZG 1 H8bdSaG6Do7R8s1 K5jOT8gOAuoGVho5PPob Z2WTLfRqDcYBAxr9hSL4GMi0FGYTq2V6h8zg AbWOyCcZm+6hknQVTiKgf6nZTei= )20051205100453 48254 chord.berkeley.edu. ] XLIkQJJUDz3me0n4L8is3M JIHxaCkkEh 10V ZSdlCLXx2A6Y7H0w0xKKJp + 1zdMlc4mBÛuZG 1 H8bdSaG6Do7R8s1 K5jOT8gOAuoGVho5PPob Z2WTLfRqDcYBAxr9hSL4GMi0FGYTq2V6h8zg AbWOyCcZm + 6hknQVTiKgf6nZTei =)
1.chord.berkeley.edu.8640 IN ChordNODE «192.234.98.99»1.chord.berkeley.edu.8640 IN ChordNODE «192.234.98.99»
«chord.berkeley.edu.» 8640 RRSiG ChordNODE 5 3 8640 20060104100453 ("Chord.berkeley.edu." 8640 RRSiG ChordNODE 5 3 8640 20060104100453
20051205100453 48254 chord.berkeley.edu. zjJsbRND8YziK26rYbABkYT07+iC+gdjsvea20051205100453 48254 chord.berkeley.edu. zjJsbRND8YziK26rYbABkYT07 + iC + gdjsvea
9oOjîtL+NYFxE/ZVqdfhdlD2PaX2WoKaxOVq ljvvxllC2759C1 MG2WqzGFwf1 yyoNbcLtRNl qqq4l9kXm4Mgj+JHLEv6z2cJbZou[JU5e62l 7d6lU2MYg+KYsY+DQMq/XLv3gOA= ) 100 NSEC 3.chord.berkeley.edu. ChordNODE RRSlG NSEC9oOjtL + NYFxE / ZVqdfhdlD2PaX2WoKaxOVq ljvvxllC2759C1 MG2WqzGFwf1 yyoNbcLtRNl qqq4l9kXm4Mgj + JHLEv6z2cJbZou [JU5e62l 7d6lU2MYg + KYsY + DQMq / XLv3gOA =) 100 NSEC 3.chord.berkeley.edu. ChordNODE RRSlG NSEC
100 RRSlG NSEC 5 3 100 20060104100453 (100 RRSlG NSEC 5 3 100 20060104100453 (
20051205100453 48254 chord.berkeley.edu. jXLIkGJJUDz3me0n4L8is3MJlHxaCkkEh1OV ZSdiCLXx2A6Y7H0w0xKKJp+1zdM!c4mB0uZG 1 H8bdSaG6Do7R8s1 K5jOT8gOAuoGVho5PPob20051205100453 48254 chord.berkeley.edu. jXLIkGJJUDz3me0n4L8is3MJlHxaCkkEh1OV ZSdiCLXx2A6Y7H0w0xKKJp + 1zdM! c4mB0uZG 1 H8bdSaG6Do7R8s1 K5jOT8gOAuoGVho5PPob
Z2WTLfRqDcYBAxr9hSL4GMi0FGYTq2V6h8zg AbWOyCcZm+6hknQVTiKgf6nZTei= ) 3.chord. berkeley.edu.8640 IN ChordNODE «192.234.98.100»Z2WTLfRqDcYBAxr9hSL4GMi0FGYTq2V6h8zg AbWOyCcZm + 6hknQVTiKgf6nZTei =) 3.chord. berkeley.edu.8640 IN ChordNODE "192.234.98.100"
«chord.berkeiey.edu.» 8640 RRSIG ChordNODE 5 3 8640 20060104100453 ("Chord.berkeiey.edu." 8640 RRSIG ChordNODE 5 3 8640 20060104100453
20051205100453 48254 chhord.berkeley.edu. zjJsbRND8YziK26rYbABkYT07+IC+gdjsvea 9oOjitL+NYFxE/ZVqdfhdlD2PaX2WoKaxOVq ljvvxIIC2759C1 MG2WqzGFwf1 yyoNbcLtRNl qqq4l9kXm4Mg]+JHLEv6z2cJbZoulJU5e62l20051205100453 48254 chhord.berkeley.edu. zjJsbRND8YziK26rYbABkYT07 + IC + gdjsvea 9oOjitL + NYFxE / ZVqdfhdlD2PaX2WoKaxOVq ljvvxIIC2759C1 MG2WqzGFwf1 yyoNbcLtRNl qqq4l9kXm4Mg] + JHLEv6z2cJbZoulJU5e62l
7d6IU2MYg+KYsY+DQMq/XLv3gOA= ) 100 NSEC chord.berkeley.edu. ChordNODE RRSIG NSEC 100 RRSIG NSEC 5 3 100 20060104100453 (7d6IU2MYg + KYsY + DQMq / XLv3gOA =) 100 NSEC chord.berkeley.edu. ChordNODE RRSIG NSEC 100 RRSIG NSEC 5 3 100 20060104100453 (
20051205100453 48254 chord.berkeley.edu. jXLIkQJJUDz3me0n4L8is3MJIHxaCkkEh1OV ZSdlCLXx2AδY7H0w0xKKJp+1zdMlc4mB0uZG 1 H8bdSaG6Do7R8s1 K5jOT8gOAuoGVho5PPob20051205100453 48254 chord.berkeley.edu. jXLIkQJJUDz3me0n4L8is3MJIHxaCkkEh1OV ZSdlCLXx2AδY7H0w0xKKJp + 1zdMlc4mB0uZG 1 H8bdSaG6Do7R8s1 K5jOT8gOAuoGVho5PPob
Z2WTLfRqDcYBAxr9hSL4GMi0FGYTq2V6h8zg AbWOyCcZm+6hknQVTiKgf6nZTel= )Z2WTLfRqDcYBAxr9hSL4GMi0FGYTq2V6h8zg AbWOyCcZm + 6hknQVTiKgf6nZTel =)
Une version plus allégée, sans les valeurs associées aux champs de type signatures donne le fichier suivant : ; dnssec_signzone version 9.3.1 $ORIGIN chord.berkeley.eduA lighter version, without the values associated with the signature type fields, gives the following file:; dnssec_signzone version 9.3.1 $ ORIGIN chord.berkeley.edu
@, 8640 IN SOA ns.berkeley.edu. bogdanïmarinoiu.rd.francetelecom.com. (@, 8640 IN SOA ns.berkeley.edu. bogdanïmarinoiu.rd.francetelecom.com. (
2005112301 ; sériai2005112301; Serial
200 ; refresh (1 minute 40 seconds) 100 ; retry (3 minutes 20 seconds) 604800 ; expire (1 week) 100 ; minimum (1 minute 40 seconds)200; refresh (1 minute 40 seconds) 100; retry (3 minutes 20 seconds) 604800; expires (1 week) 100; minimum (1 minute 40 seconds)
))
8640 RRStG SOA [...]8640 RRStG SOA [...]
8640 NS ns.berkeley.edu.8640 NS ns.berkeley.edu.
8640 RRSIG NS [...] 100 NSEC O.chord.berkeley.edu. NS SOA RRSIG NSEC DNSKEY8640 RRSIG NS [...] 100 NSEC O.chord.berkeley.edu. NS SOA RRSIG NSEC DNSKEY
100 RRSIG NSEC[...]100 RRSIG NSEC [...]
8640 DNSKEY2563 5 ( AQPvG9Z4OwGpYryJeQ5oDGRJYc45hvLiLE99 MzLwJ3Coix/FtidVexBqHRC9Js+fg/iJVWSm ue6VMIuEteShtEohlc418/K9qAQcwyCS8ZNx scBKc1W1sw5RmCkCprGkItSUCυeP10SP/cPK yN/Z6/qSgvXxA Vjh 7IMauh Veltv2iw==8640 DNSKEY2563 5 ( AQPvG9Z4OwGpYryJeQ5oDGRJYc45hvLiLE99 MzLwJ3Coix / FtidVexBqHRC9Js + fg / iJVWSm ue6VMIuEteShtEohlc418 / K9qAQcwyCS8ZNx scBKc1W1sw5RmCkCprGkItSUCuuP10SP / cPK yN / Z6 / qSgvXxA Vjh 7IMauh Veltv2iw ==
) ; key id = 48254 8640 DNSKEY 2573 5 (); key id = 48254 8640 DNSKEY 2573 5 (
AQOzHIM1NL7E5fuA3hpddBdXcHq3deTPHkLK nt3N3QPRc8XrXJ6WgHp9dreqS8uvp8bF76sB pen/XP8bn9ybOJBz9++wOScugKz!YbF6E/zE vGrKitky5iz1pZ+VsHwy78QKbDSMIslqT25T L8Sx2VthbWJF1IRLuuTAMo7sGnNERw== ) ; key id = 27075 8640 RRSIG DNSKEY [...] 8640 RRSlG DNSKEYf...]AQOzHIM1NL7E5fuA3hpddBdXcHq3deTPHkLK nt3N3QPRc8XrXJ6WgHp9dreqS8uvp8bF76sB pen / XP8bn9ybOJBz9 ++ wOScugKz! YbF6E / zE vGrKitky5iz1pZ + VsHwy78QKbDSMIslqT25T L8Sx2VthbWJF1IRLuuTAMo7sGnNERw ==); key id = 27075 8640 RRSIG DNSKEY [...] 8640 RRSlG DNSKEYf ...]
O.chord. berkeiey.edu.8640 iN ChordNODE «192.234.98.98»O.chord. berkeiey.edu.8640 iN ChordNODE «192.234.98.98»
«chord.berkeley.edu.» 8640 RRSIG ChordNODE [...] 100 NSEC 1.chord.berkeley.edu. A RRSIG NSEC"Chord.berkeley.edu." 8640 RRSIG ChordNODE [...] 100 NSEC 1.chord.berkeley.edu. A RRSIG NSEC
100 RRSIG NSEC [...]100 RRSIG NSEC [...]
1. chord.berkeley.edu. 8640 IN ChordNODE «192.234.98.99»1. chord.berkeley.edu. 8640 IN ChordNODE «192.234.98.99»
«chord.berkeiey.edu.» 8640 RRSIG ChordNODE [...]"Chord.berkeiey.edu." 8640 RRSIG ChordNODE [...]
100 NSEC 3.chord.berkeley.edu. ChordNODE RRSiG NSEC 100 RRSlG NSEC [...] 3.chord.berkeley.edu, 8640 IN ChordNODE100 NSEC 3.chord.berkeley.edu. ChordNODE RRSiG NSEC 100 RRSlG NSEC [...] 3.chord.berkeley.edu, 8640 IN ChordNODE
«192.234.98.100»«chord.berkeley.edu.» 8640 RRSiG ChordNODE [.,.]"192.234.98.100" "chord.berkeley.edu." 8640 RRSiG ChordNODE [.,.]
100 NSEC chord.berkeley.edu. ChordNODE RRSIG NSEC 100 RRSiG NSEC [...]. Dans ce dernier fichier, on constate que ies champs NSEC indiquent systématiquement le champ le plus proche qui suit. En cas d'interrogation pour !e champ « 2. chord.berkeley.edu », le serveur implémentant DNSSEC retourne un message de type « NXDOMAIN » indiquant que le champ n'existe pas mais, grâce au champ de type NSEC, il indique que l'identifiant « Lchord.berkeley.edu » est juste suivi par l'identifiant « 3.chord. berkeley.edu ».100 NSEC chord.berkeley.edu. ChordNODE RRSIG NSEC 100 RRSiG NSEC [...]. In this last file, we see that the NSEC fields indicate systematically the nearest field that follows. When queried for the "2. chord.berkeley.edu" field, the server implementing DNSSEC returns a message of type "NXDOMAIN" indicating that the field does not exist but, thanks to the NSEC type field, it indicates that the identifier "Lchord.berkeley.edu" is just followed by the identifier "3.chord. berkeley.edu ».
Le citent qui cherche à accéder à i'éiément « 2.chord. berkeley.edu » reçoit alors une réponse qui, bien que ne permettant pas l'accès direct à l'élément recherché, lui permet d'accéder au réseau non hiérarchisé et, de manière indirecte, au nœud hébergeant les données relatives à l'identifiant « 2. chord. berkeiey.edu ».Quote that seeks access to the "2.chord. berkeley.edu "then receives a response which, although not allowing direct access to the searched element, allows it to access the non-hierarchical network and, indirectly, the node hosting the data relating to the identifier "2. chord. berkeiey.edu ».
On décrit, ci-dessous, en regard de îa figure 5, le fonctionnement d'une résolution d'un identifiant combiné mis en oeuvre dans des modes de réalisation particuliers de la présente invention, en partant de l'exemple donné décrit ci- dessus dans le cas de la résolution de l'identifiant « 2 » dans le domaine « chord.berkeley.edu ».Below, with reference to FIG. 5, is described the operation of a resolution of a combined identifier implemented in particular embodiments of the present invention, starting from the example given described above. in the case of the resolution of the identifier "2" in the domain "chord.berkeley.edu".
Un client 500, par exemple de type ordinateur à usage général ou serveur, comporte des moyens de traitement 550, des moyens d'interrogation 555 et des moyens de réception 560 de réponse, de type connu mais adaptés à mettre en œuvre la présente invention. On considère que le client 500 souhaite accéder à l'élément d'identifiant « 2 » du domaine « chord.berkeley.edu ». II a donc besoin de résoudre l'identifiant combiné « 2. chord. berkeley.edu », c'est-à-dire obtenir les locators (en français, iocalisateurs) relatifs à cet identifiant, comme, par exemple, l'adresse IP. L'identifiant combiné « 2. chord. berkeley.edu » est représentatif, d'une part, du nom de domaine, hiérarchisé, auquel est lié le réseau Chord, non hiérarchisé, et, d'autre part, de l'identifiant de l'élément de ce réseau Chord auquel le client 500 souhaite accéder, le nom « 2, chord. berkeley.edu » étant inconnu des serveurs de résolution de nom de domaine, par exemple les serveurs DNS.A client 500, for example of the general purpose computer or server type, comprises processing means 550, interrogation means 555 and response receiving means 560, of known type but adapted to implement the present invention. Client 500 is considered to want to access the "2" identifier element of the "chord.berkeley.edu" domain. He therefore needs to solve the combined identifier "2. chord. berkeley.edu ", that is to say obtain the locators (in French, iocators) relating to this identifier, such as, for example, the IP address. The combined identifier "2. chord. berkeley.edu "is representative, on the one hand, of the hierarchical domain name to which the Chord network is linked, non-hierarchical, and, on the other hand, of the identifier of the element of this Chord network to which the 500 customer wants to access, the name "2, chord. berkeley.edu "being unknown to domain name resolution servers, for example DNS servers.
Les moyens d'interrogation 555 émettent donc une requête 505 indiquant l'identifiant combiné aux serveurs DNS successivement responsables des domaines et sous-domaines représentés hiérarchiquement par l'identifiant combiné. Après trois interrogations auprès des serveurs gérant les domaines « . », « ,edu » et « berkeley.edu », la requête arrive sur le serveur DNS 510 responsable du domaine « chord.berkeley.edu ». Le serveur DNS 510 comporte une mémoire 580 conservant une base de données de noms de domaine et d'adresses IP de serveurs responsables desdits soυs-domaines, des moyens de traitement 565, des moyens de réception de requêtes 570 et des moyens d'émission de réponse 575, de type connu mais adaptés à mettre en œuvre la présente invention. Le nom de domaine combiné n'existe pas dans Ia base de données du serveur DNS 510. Le message d'erreur renvoyé alors par le serveur DNS 510 est de type « NXDOMAINE ». En effet, puisque le serveur DNS 510 împlémente l'option DNSSEC, le message d'erreur 515 est complété par le champ « NSEC » indiquant le nom de domaine qui précède Ie nom de domaine faisant l'objet de la requête, et le nom de domaine qui suit le nom de domaine faisant l'objet de la requête, c'est-à-dire, dans l'exemple, respectivement « S.chord.berkeley.edu. » et « 1. chrord.berkeley.edu ». En effet, les noms de domaine étant classés par ordre lexicographique au sein de la zone, les noms de domaine qui encadrent l'identifiant recherché constituent des preuves de non existence du nom de domaine recherché.The interrogation means 555 thus issue a request 505 indicating the identifier combined with the DNS servers successively responsible for the domains and subdomains represented hierarchically by the combined identifier. After three queries with the servers managing the domains ". ",", Edu "and" berkeley.edu ", the request arrives on the DNS server 510 responsible for the" chord.berkeley.edu "domain. The DNS server 510 has a memory 580 maintaining a database of domain names and IP addresses of servers responsible for said so-called domains, processing means 565, request receiving means 570 and response sending means 575, of known type but adapted to implement the present invention. The combined domain name does not exist in the DNS server database 510. The error message then returned by the DNS server 510 is of type "NXDOMAIN". Indeed, since the DNS server 510 implements the DNSSEC option, the error message 515 is completed by the field "NSEC" indicating the domain name which precedes the domain name being the subject of the request, and the name following the domain name that is the subject of the request, that is, in the example, respectively "S.chord.berkeley.edu. And "1. chrord.berkeley.edu". Indeed, the domain names being classified by lexicographic order within the zone, the domain names which frame the sought identifier constitute evidence of non existence of the searched domain name.
Préférentiellement, le client 500 indique, pour les identifiants combinés, comme type de requête, le type ChordNode et le serveur DNS 510 n'effectue une réponse comportant le champ « NSEC » que pour ce type de requête. Cela évite que le serveur DNS 510 effectue, pour tout type de requête, une réponse comportant le champ « NSEC » et encombre, ainsi, le réseau hiérarchisé.Preferentially, the client 500 indicates, for the combined identifiers, as type of request, the ChordNode type and the DNS server 510 performs a response with the "NSEC" field only for this type of request. This prevents the DNS server 510 performs, for any type of request, a response with the "NSEC" field and encumber, and the hierarchical network.
Le champ additionnel « NSEC » de la réponse adressée, par ie serveur DNS 510 au client 500, comporte également les adresses IP des noms de domaine mentionnés par le champ de type « NSEC ».The additional field "NSEC" of the response sent by the DNS server 510 to the client 500 also includes the IP addresses of the domain names mentioned by the "NSEC" type field.
Une fois la réponse reçue par les moyens de réception 560, le client 500 interprète ïa réponse 515 qu'il reçoit, c'est-à-dire un message d'erreur « NXDOMAIN » indiquant que le nom de domaine n'existe pas, et continue la recherche de l'élément en utilisant la réponse du serveur DNS et en suivant le protocole Chord. Les moyens d'interrogation 555 émettent alors la requête 520 vers îe nom de domaine 525 qui suit, dans l'ordre lexicographique, celui faisant l'objet de ia requête, c'est-à-dire, ici, !e nœud chord ayant l'identifiant binaire « 3 », et l'identifiant combiné « 3. chord. berkeley.edu. », selon le protocole Chord.Once the response received by the receiving means 560, the client 500 interprets the response 515 it receives, that is to say an error message "NXDOMAIN" indicating that the domain name does not exist, and continue searching for the item using the DNS server response and following the Chord protocol. The interrogation means 555 then issue the request 520 to the domain name 525 which follows, in the lexicographic order, that which is the subject of the request, that is to say, here the chord node having the binary identifier "3", and the combined identifier "3. chord. berkeley.edu. According to the Chord protocol.
Le nœud 525 d'identifiant « 3 » étant capable, selon le protocole Chord exposé plus haut, de guider le client vers l'élément recherché, s'il ne possède pas directement l'accès à cet élément, il communique au client 500 l'identifiant d'un serveur du réseau Chord plus proche de l'élément recherché, en mettant en œuvre sa table d'index. Ainsi, s'il ne possède pas la réponse, Ii permet au client de l'obtenir par itérations d'interrogations de serveurs du réseau Chord, mêmes si ces serveurs possèdent un identifiant inconnu du système de nommage hiérarchisé, jusqu'à ce que le client obtienne l'accès à l'élément recherché, par exemple sous forme d'une adresse IP du serveur possédant l'élément recherché et la retourne au client 500, dans une réponse 530.The node 525 of identifier "3" being capable, according to the Chord protocol set out above, of guiding the client towards the sought-after element, if he does not possess directly access to this element, it communicates to the client 500 the identifier of a server of the Chord network closer to the desired element, by implementing its index table. Thus, if it does not have the answer, it allows the client to obtain it by query iterations of servers of the Chord network, even if these servers have an unknown identifier of the hierarchical naming system, until the client obtains access to the searched element, for example in the form of an IP address of the server having the searched element and returns it to the client 500, in a response 530.
L'architecture décrite pour des modes particuliers de réalisation de la présente invention permet d'insérer, au sein d'une architecture de nommage unique, ici le DNS, un espace de nommage dédié aux identifiants binaires.The architecture described for particular embodiments of the present invention allows to insert, within a single naming architecture, here the DNS, a namespace dedicated to binary identifiers.
L'invention permet, par exemple, d'intégrer le système Chord au système DNS par l'intermédiaire d'un nouveau champ DNS de type « ChordNODE ».The invention makes it possible, for example, to integrate the Chord system with the DNS system via a new DNS field of "ChordNODE" type.
La figure 6 concerne la gestion des identifiants lors de la création, l'ajout, le retrait et le référencement dans le système DNS, de serveurs sur ce réseau Chord,Figure 6 relates to the management of identifiers during the creation, addition, removal and referencing in the DNS system, of servers on this network Chord,
On observe, en figure 6, une étape 605 d'ajout de création d'un réseau Chord avec au moins un serveur, comportant une étape 606 d'affectation du dernier identifiant non hiérarchisé à un serveur, dans la relation d'ordre, selon des techniques connues en soi, une étape 607 d'affectation à chaque serveur du réseau Chord, de la responsabilité d'éléments dudit réseau Chord, par exemple dans une table de hachage distribuée et une étape 608 de création d'une table d'index pour chaque dit serveur.FIG. 6 shows a step 605 of adding creation of a Chord network with at least one server, comprising a step 606 of assigning the last non-hierarchical identifier to a server, in the order relation, according to techniques known per se, a step 607 for allocating to each server of the Chord network the responsibility for elements of said Chord network, for example in a distributed hash table and a step 608 for creating an index table for each said server.
Puis, au cours d'une étape 610, on attribue un identifiant combiné à au moins un serveur du réseau Chord, dont au moins le serveur possédant le dernier identifiant non hiérarchisé, en complétant l'identifiant de chaque dit serveur sur ie réseau Chord par le nom de domaine auquel appartient ce réseau et, éventuellement, par une information indiquant qu'il s'agit d'un identifiant combiné.Then, during a step 610, a combined identifier is assigned to at least one server of the Chord network, at least the server having the last non-hierarchical identifier, by completing the identifier of each said server on the Chord network by the domain name to which this network belongs and, possibly, information indicating that it is a combined identifier.
Au cours d'une étape 615, on met à jour la base de données du serveur responsable dudit domaine et, au cours d'une étape 620, on propage l'identifiant combiné sur les serveurs caches dudit domaine.During a step 615, the database of the server responsible for said domain is updated and, during a step 620, the combined identifier is propagated on the cache servers of said domain.
Au cours d'une étape 625, on détermine si un serveur est ajouté dans le réseau Chord. Sinon, on passe à l'étape 650, Si oui, au cours d'une étape 626, on affecte un identifiant non hiérarchisé audit serveur, au cours d'une étape 627, on affecte audit serveur la responsabilité d'éléments dudit réseau Chord possédant un identifiant non hiérarchisé, par exemple dans une table de hachage distribuée, au cours d'une étape 628, on crée une table d'index dudit serveur et au cours d'une étape 629, on met à jour chaque table d'index de chaque autre serveur dudit réseau Chord. Puis, au cours d'une étape 630, on détermine si ledit serveur doit être référencé dans le serveur de résolution de nom DNS du domaine auquel appartient le réseau Chord. Si non, on passe à l'étape 650. Si oui, au cours d'une étape 635, on attribue un identifiant combiné audit serveur, en complétant son identifiant sur le réseau Chord par le nom de domaine auquel appartient ce réseau et, éventuellement, par une information indiquant que cet identifiant est de type identifiant combiné, au sens de la présente invention. Au cours d'une étape 640, on met à jour la base de données du serveur responsable dudit domaine et, au cours d'une étape 645, on propage l'identifiant combiné sur les serveurs caches dudit domaine.During a step 625, it is determined whether a server is added in the Chord network. Otherwise, go to step 650, If yes, during a step 626, one assigns a non-hierarchical identifier to said server, during a step 627, said server is assigned responsibility for elements of said Chord network having a non-hierarchical identifier, for example in a distributed hash table, during a step 628 , an index table is created of said server and in a step 629, each index table of each other server of said Chord network is updated. Then, during a step 630, it is determined whether said server must be referenced in the DNS name resolution server of the domain to which the Chord network belongs. If not, we go to step 650. If yes, during a step 635, we assign a combined identifier to said server, by completing its identifier on the Chord network by the domain name to which this network belongs and, where appropriate, , by information indicating that this identifier is of combined identifier type, within the meaning of the present invention. During a step 640, the database of the server responsible for said domain is updated and, during a step 645, the combined identifier is propagated on the cache servers of said domain.
Au cours d'une étape 650, on détermine si un serveur est retiré du réseau Chord. Sinon, on retourne à l'étape 625. Si oui, au cours d'une étape 655, on affecte à au moins un autre serveur du réseau Chord, la responsabilité d'éléments dudit réseau Chord qui étaient sous la responsabilité du serveur sortant. Puis, au cours d'une étape 660, on met à jour chaque table d'index de chaque autre serveur dudit réseau Chord, Puis, au cours d'une étape 665, on détermine si ce serveur possède le dernier identifiant du réseau Chord. Si non, on passe à l'étape 685. Si oui, au cours d'une étape 670, on sélectionne un autre serveur du réseau Chord dont le nom combiné est référencé dans la base de données du serveur de résolution de nom du domaine auquel appartient Ie réseau Chord. Au cours d'une étape 675, on attribue ie dernier identifiant du réseau Chord au serveur sélectionné. Puis, au cours d'une étape 680, on modifie les affectations des éléments du réseau Chord entre les serveurs de ce réseau afin de respecter les règles d'affectation de ce type de réseau et on met à jour les tables d'index des serveurs du réseau Chord.During a step 650, it is determined whether a server is removed from the Chord network. Otherwise, we return to step 625. If yes, during a step 655, we assign to at least one other server in the Chord network, the responsibility for elements of said Chord network that were under the responsibility of the outgoing server. Then, during a step 660, each index table of each other server of said Chord network is updated. Then, during a step 665, it is determined whether this server has the last identifier of the Chord network. If no, go to step 685. If yes, during a step 670, another server of the Chord network whose combined name is referenced in the domain name resolution server database is selected. belongs to the Chord network. During a step 675, the last identifier of the Chord network is assigned to the selected server. Then, during a step 680, the assignments of the elements of the Chord network between the servers of this network are modified in order to respect the assignment rules of this type of network and the index tables of the servers are updated. of the Chord network.
Puis, au cours d'une étape 685, on détermine si ce serveur est référencé dans la base de données du serveur de résolution de nom du domaine auquel appartient le réseau Chord. Sinon, on passe à l'étape 625. Si oui, au cours d'une étape 690, on met à jour la base de données du serveur responsable dudit domaine et, au cours d'une étape 695, on propage l'identifiant combiné sur les serveurs caches dudit domaine et on retourne à l'étape 625.Then, during a step 685, it is determined whether this server is referenced in the database of the name resolution server of the domain to which the Chord network belongs. Otherwise, go to step 625. If yes, during a step 690, the database of the server responsible for said domain is updated and, during a step 695, the combined identifier is propagated on the cache servers of said domain and we return to step 625.
La figure 7 représente, sous forme d'un logigramme, des étapes mises en œuvre par un système informatique tentant d'accéder à un élément d'un réseau non hiérarchisé, en mettant en œuvre un premier mode de réalisation du procédé d'accès à un élément objet de la présente invention.FIG. 7 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a first embodiment of the access method of an object of the present invention.
Au cours d'une étape 705, le client détermine le nom d'un élément auquel il doit accéder ainsi que le nom du domaine auquel appartient cet élément, Au cours d'une étape 710, le client applique une fonction de hachage à au moins une partie dudit nom de l'élément pour déterminer l'identifiant de l'élément sur un réseau non hiérarchisé.During a step 705, the client determines the name of an element to which it must access as well as the name of the domain to which this element belongs, During a step 710, the client applies a hash function to at least a part of said element name to determine the identifier of the element on a non-hierarchical network.
Au cours d'une étape 715, le client détermine le nom combiné de l'élément en complétant le résultat de la fonction de hachage avec le nom de domaine auquel appartient ïedit élément.During a step 715, the client determines the combined name of the element by completing the result of the hash function with the domain name to which the element belongs.
Au cours d'une étape 720, le client effectue une requête concernant l'élément auquel l'accès est recherché, en indiquant que le type de requête est un type « ChordNode ».During a step 720, the client makes a request concerning the element to which access is sought, indicating that the type of request is a "ChordNode" type.
Au cours d'une étape 725, le serveur DNS interrogé répond à la requête en fournissant l'adresse IP du serveur DNS responsable du sous-domaine suivant dans l'ordre hiérarchique des sous-domaines représentés par la partie hiérarchisée de l'identifiant combiné. On retourne alors à l'étape 720, les étapes 720 et 725 se répétant jusqu'au dernier serveur DNS, responsable du dernier sous-domaine représenté par la partie hiérarchisée de l'identifiant combiné. Au cours d'une étape 730, ce dernier serveur DNS répond à la requête en indiquant, dans un champ « NSEC » :In a step 725, the polled DNS server responds to the request by providing the IP address of the DNS server responsible for the next subdomain in the hierarchical order of the subdomains represented by the hierarchical portion of the combined identifier. . We then return to step 720, steps 720 and 725 repeating until the last DNS server, responsible for the last subdomain represented by the hierarchical part of the combined identifier. During a step 730, the latter DNS server responds to the request by indicating, in a "NSEC" field:
- qu'il ne connaît pas ie nom d'élément objet de la requête,- that he does not know the name of the object element of the request,
- le nom de l'élément qui succède, dans sa base de données, à l'identifiant demandé, - l'adresse IP correspondant à ce nom,the name of the element that succeeds, in its database, to the identifier requested, the IP address corresponding to this name,
- le nom de l'élément qui précède, dans sa base de données, l'identifiant demandé,the name of the element which precedes, in its database, the requested identifier,
- l'adresse IP correspondant à ce nom. La réponse du serveur DNS est ainsi, préférentiellement, représentative d'au moins un nom de serveur qui se trouve, dans Tordre îexicographique et dans la mémoire dudit serveur de résolution de noms, immédiatement supérieur ou immédiatement inférieur audit identifiant. On observe que la mise en œuvre des étapes 700 à 730 présente, à la fois les avantages du système DNS et ies avantages des systèmes de nommage non hiérarchisés, par exemple, l'ajout ou le retrait aisé et rapide de fichiers ou de nœuds. En effet, dans les systèmes de nommage non hiérarchisés, les éléments sont gérés par les serveurs qui possèdent l'identifiant le plus proche, étant entendu que la notion de proximité dépendant d'une fonction de distance définie pour le système de nommage non hiérarchisé.- the IP address corresponding to this name. The response of the DNS server is thus preferentially representative of at least one server name which is, in the exographic order and in the memory of said name resolution server, immediately greater or lesser than said identifier. It is observed that the implementation of steps 700 to 730 presents both the advantages of the DNS system and the advantages of non-hierarchical naming systems, for example, the easy or fast addition or removal of files or nodes. In fact, in non-hierarchical naming systems, the elements are managed by the servers that have the closest identifier, it being understood that the notion of proximity depending on a distance function defined for the non-hierarchical naming system.
Au cours d'une étape 735, le client détermine que ia réponse comporte un champ « NSEC » et en extrait l'adresse IP du serveur possédant le nom qui succède à l'identifiant demandé. Au cours d'une étape 740, fe client adresse une requête identique à celle émise au cours des étapes 710 au serveur possédant le nom qui succède à l'identifiant demandé.During a step 735, the client determines that the answer includes an "NSEC" field and extracts the IP address of the server having the name that succeeds the requested identifier. During a step 740, the client sends a request identical to that sent during steps 710 to the server having the name that succeeds the requested identifier.
Au cours d'une étape 745, le serveur qui reçoit cette requête détermine s'il gère l'élément demandé. Si oui, au cours d'une étape 750, il fournit au client, l'accès à l'élément demandé, par exemple sous la forme d'un fichier, de données ou d'une adresse IP où le client peut télécharger l'élément demandé. Sinon, le serveur détermine, en mettant en œuvre ia table de hachage distribuée DHT, le nom et l'adresse IP d'un serveur du réseau non hiérarchisé qui est plus proche du nom de l'élément demandé et qui lui succède, au cours d'une étape 755 et retourne ce nom et cette adresse IP au client, au cours d'une étape 760.During a step 745, the server that receives this request determines whether it handles the requested element. If yes, during a step 750, it provides the client access to the requested element, for example in the form of a file, data or an IP address where the client can download the requested element. Otherwise, the server determines, by implementing the distributed hash table DHT, the name and the IP address of a server of the non-hierarchical network which is closer to the name of the requested element and which succeeds it, during of a step 755 and returns this name and this IP address to the client, during a step 760.
Au cours d'une étape 765, le client adresse une requête identique à celie émise au cours des étapes 710 au serveur possédant le nom identifié au cours de l'étape 755. Puis, on retourne à l'étape 740.During a step 765, the client sends a request identical to that sent during steps 710 to the server having the name identified in step 755. Then, we return to step 740.
Le premier mode de réalisation du procédé d'accès objet de la présente invention, illustré en figure 7, correspond au cas où ie réseau non hiérarchisé est structuré comme exposé en regard de la figure 6, c'est-à-dire avec, en permanence, un serveur possédant un identifiant sur le réseau non hiérarchisé supérieur aux identifiants de tous les autres éléments de ce réseau non hiérarchisé, ce serveur étant référencé dans le système DNS.The first embodiment of the access method that is the subject of the present invention, illustrated in FIG. 7, corresponds to the case where the non-hierarchical network is structured as explained with reference to FIG. 6, that is to say with, in permanently, a server with an identifier on the non-hierarchical network higher than the identifiers of all the other elements of this non-hierarchical network, this server being referenced in the DNS system.
Le deuxième mode de réalisation du procédé objet de la présente invention, illustré en figure 8 correspond au cas où les éléments peuvent avoir un identifiant sur Se réseau non hiérarchisé qui soit supérieur à chaque identifiant de serveur de ce réseau référencé dans le système DNS.The second embodiment of the method that is the subject of the present invention, illustrated in FIG. 8, corresponds to the case where the elements can have an identifier on the non-hierarchical network that is greater than each server identifier of this network referenced in the DNS system.
La figure 8 représente, sous forme d'un logigramme, des étapes mises en oeuvre par un système informatique tentant d'accéder à un élément d'un réseau non hiérarchisé, en mettant en oeuvre un premier mode de réalisation du procédé d'accès à un élément objet de la présente invention.FIG. 8 represents, in the form of a logic diagram, steps implemented by a computer system attempting to access an element of a non-hierarchical network, by implementing a first embodiment of the access method to an object of the present invention.
Au cours d'une étape 805, le client détermine le nom d'un élément auquel il doit accéder ainsi que le nom du domaine auquel appartient cet élément.During a step 805, the client determines the name of an element to which he must access as well as the name of the domain to which this element belongs.
Au cours d'une étape 810, le client applique une fonction de hachage à au moins une partie dudit nom de l'élément pour déterminer l'identifiant de l'élément sur un réseau non hiérarchisé.During a step 810, the client applies a hash function to at least a part of said element name to determine the identifier of the element on a non-hierarchical network.
Au cours d'une étape 815, Ie client détermine le nom combiné de l'élément en complétant le résultat de la fonction de hachage avec Je nom de domaine auquel appartient ledit élément.During a step 815, the client determines the combined name of the element by completing the result of the hash function with the domain name to which the element belongs.
Au cours d'une étape 820, le client effectue une requête concernant l'élément auquel l'accès est recherché, en indiquant que le type de requête est un type « ChordNode ».During a step 820, the client makes a request concerning the element to which access is sought, indicating that the type of request is a "ChordNode" type.
Au cours d'une étape 825, le serveur DNS interrogé répond à la requête en fournissant l'adresse IP du serveur DNS responsable du sous-domaine suivant dans l'ordre hiérarchique des sous-domaines représentés par Sa partie hiérarchisée de l'identifiant combiné. On retourne alors à l'étape 820, les étapes 820 et 825 se répétant jusqu'au dernier serveur DNS., responsable du dernier sous-domaine représenté par la partie hiérarchisée de l'identifiant combiné.In a step 825, the polled DNS server responds to the request by providing the IP address of the DNS server responsible for the next subdomain in the hierarchical order of the subdomains represented by its hierarchical portion of the combined identifier. . Then return to step 820, steps 820 and 825 repeating until the last DNS server . responsible for the last subdomain represented by the hierarchical part of the combined identifier.
Au cours d'une étape 830, ce dernier serveur DNS répond à la requête en indiquant, dans un champ « NSEC » : - qu'il ne connaît pas Ie nom d'élément objet de la requête,During a step 830, the latter DNS server responds to the request by indicating, in a "NSEC" field: - that it does not know the object element name of the request,
- le nom de l'élément qui succède, dans sa base de données, à l'identifiant demandé,the name of the element that succeeds, in its database, to the identifier requested,
- l'adresse IP correspondant à ce nom, - le nom de l'élément qui précède, dans sa base de données, l'identifiant demandé,- the IP address corresponding to this name, the name of the element which precedes, in its database, the requested identifier,
- l'adresse IP correspondant à ce nom.- the IP address corresponding to this name.
Au cours d'une étape 835, le client détermine que la réponse comporte un champ « NSEC » et en extrait les adresses IP des serveurs possédant, pour ('un, le nom qui succède à l'identifiant demandé et, pour l'autre, le nom qui précède l'identifiant demandé.During a step 835, the client determines that the response includes a "NSEC" field and extracts the IP addresses of the servers having, for (one, the name that succeeds the requested identifier and, for the other, , the name that precedes the requested identifier.
Au cours d'une étape 840, le client adresse une requête identique à celle émise au cours des étapes 810 au serveur possédant Ie nom qui succède à l'identifiant demandé, c'est-à-dire au serveur ayant le dernier des deux noms du champ « NSEC ».During a step 840, the client sends a request identical to that sent during steps 810 to the server having the name that succeeds the requested identifier, that is to say the server having the last of the two names. from the "NSEC" field.
Le client détermine alors si ia réponse qu'il reçoit est un message d'erreur, ce qui indiquerait que le serveur qui a reçu cette requête ne fait pas partie du réseau non hiérarchisé, au cours d'une étape 845. Si oui, le client adresse, au cours d'une étape 850, une requête identique à ceile émise au cours des étapes 840 au serveur possédant le nom qui précède l'identifiant demandé, c'est-à-dire au serveur ayant Ie premier des deux noms du champ « NSEC ».The client then determines whether the response it receives is an error message, which would indicate that the server that received the request is not part of the non-hierarchical network, in a step 845. If yes, the client, during a step 850, a request identical to that issued during steps 840 to the server having the name that precedes the requested identifier, that is to say to the server having the first of the two names of the NSEC field.
Le procédé d'accès comporte, ainsi, une étape de détermination d'obtention d'un accès à l'élément recherché, de ia part d'un serveur possédant un nom différent de l'identifiant recherché et, en l'absence d'obtention de cet accès, une étape d'interrogation d'un autre serveur possédant un dit nom différent dudit identifiant. Ainsi, si l'accès à l'élément recherché ne peut être obtenu de la part d'un serveur possédant un nom qui suit, dans l'ordre lexicographique, l'identifiant de l'élément recherché, on l'obtient de la part d'un serveur possédant un nom qui précède, dans l'ordre lexicographique, l'identifiant combiné.The access method thus comprises a determination step of obtaining access to the searched element, from a server having a name different from the sought identifier and, in the absence of obtaining this access, an interrogation step of another server having a different name of said identifier. Thus, if the access to the sought element can not be obtained from a server having a name which follows, in the lexicographic order, the identifier of the searched element, it is obtained from a server with a name that precedes, in lexicographic order, the combined identifier.
Le serveur qui a reçu la requête émise au cours de l'étape 850 ou le serveur qui a reçu la requête émise au cours de l'étape 840 et fait partie du réseau non hiérarchisé, détermine, au cours d'une étape 855, s'il gère l'élément demandé. Si oui, au cours d'une étape 860, il fournit au client, l'accès à l'élément demandé, par exemple sous îa forme d'un fichier, de données ou d'une adresse IP où le client peut télécharger l'élément demandé. Sinon, le serveur considéré détermine, en mettant en œuvre la table de hachage distribuée DHT, le nom et l'adresse IP d'un serveur du réseau non hiérarchisé qui est plus proche du nom de l'élément demandé et qui lui succède, au cours d'une étape 865 et retourne ce nom et cette adresse IP au client, au cours d'une étape 870.The server that received the request issued during step 850 or the server that received the request issued during step 840 and is part of the non-hierarchical network, determines, during a step 855, it manages the requested element. If yes, during a step 860, it provides the client access to the requested element, for example in the form of a file, data or an IP address where the client can download the requested element. Otherwise, the server considered determines, by implementing the distributed hash table DHT, the name and IP address of a server of the non-hierarchical network that is closer to the name of the server. the requested element and succeeding it, during a step 865 and returns this name and IP address to the client, during a step 870.
Au cours d'une étape 875, le client adresse une requête identique à celle émise au cours des étapes 810 au serveur possédant le nom identifié au cours de l'étape 865, Puis, on retourne alors à l'étape 855.During a step 875, the client sends a request identical to the one sent during steps 810 to the server having the name identified in step 865. Then, it returns to step 855.
Comme on le voit en regard des figures 3 à 8, conformément à la présente invention, pour obtenir l'accès à un élément possédant un identifiant, le client effectue l'interrogation des serveurs de résolution de noms d'un système de nommage hiérarchique, ici DNS, en leur fournissant l'identifiant combiné. L'un de ces serveurs répond en fournissant au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant, serveur du réseau non hiérarchisé référencé dans le système DNS. Puis, le client interroge au moins un te! serveur.As can be seen from FIGS. 3 to 8, in accordance with the present invention, to obtain access to an element having an identifier, the client interrogates the name resolution servers of a hierarchical naming system, here DNS, by providing them the combined identifier. One of these servers responds by providing at least one server name different from said identifier and hierarchically at the same level as said identifier, server of the non-hierarchical network referenced in the DNS system. Then, the customer asks at least one te! server.
Ainsi, quelle que soit la complexité et les modifications dynamiques du réseau non hiérarchisés, un élément possédant un identifiant inconnu du système de résolution d'adresse peut être retrouvé par l'intermédiaire du serveur du réseau non hiérarchisé référencé dans le système DNS, bien que son nom soit différent de l'identifiant de l'élément recherché.Thus, regardless of the complexity and the dynamic changes of the non-hierarchical network, an element having an unknown identifier of the address resolution system can be found via the server of the non-hierarchical network referenced in the DNS system, although its name is different from the identifier of the searched element.
La mise en œuvre de la présente invention permet ainsi d'intégrer deux systèmes de nommage, hiérarchique et non hiérarchique, de manière à utiliser, dans le système DNS, des identifiants possédant, en partie, un identifiant non- hiérarchique propre à un domaine.The implementation of the present invention thus makes it possible to integrate two naming systems, hierarchical and non-hierarchical, so as to use, in the DNS system, identifiers having, in part, a non-hierarchical identifier specific to a domain.
La présente invention ne se limite pas aux modes de réalisation décrits et représentés. Elle s'applique, bien au contraire, à tout procédé et dispositif dans lequel, en réponse à une requête spécifiant un identifiant d'élément sur un réseau, identifiant inconnu d'un système informatique, celui-ci répond en fournissant un identifiant (nom ou adresse IP, par exemple) qui est connue de M et, préférentiellement, l'identifiant ainsi fourni est le plus proche, parmi tous les identifiants connus du système informatique, dans l'ordre lexicographique, de l'identifiant objet de la requête.The present invention is not limited to the embodiments described and shown. It applies, on the contrary, to any method and device in which, in response to a request specifying an element identifier on a network, unknown identifier of a computer system, it responds by providing an identifier (name or IP address, for example) which is known from M and, preferably, the identifier thus provided is the closest, among all the known identifiers of the computer system, in the lexicographic order, of the object identifier of the request.
Ainsi, dans certains modes de réalisation de la présente invention appliqués aux réseaux de type Chord, le client ne met en œuvre aucune étape nouvelle. Par exemple, le dernier serveur DNS interrogé répond à la requête qui lui est adressée en fournissant l'identifiant qu'il connaît le plus proche et immédiatement supérieur, dans l'ordre lexicographique, à l'identifiant spécifié dans la requête adressée par te client, sans indiquer qui! ne s'agit pas du serveur possédant l'identifiant spécifié dans la requête. Ainsi, à Ia différence des modes de réalisation illustrés en figures 7 et 8, le client n'est pas informé de cette différence entre i'identifiant fourni et l'identifiant requis. On observe, néanmoins, que ces deux identifiants sont alors, préférentietlement, au même niveau hiérarchique dans le système de nommage hiérarchique puisqu'ils représentent le même nom de domaine et deux identifiants de réseau non hiérarchisés différents. En utilisant l'identifiant qui lui est retourné dans une nouvelle requête, comme s'i! s'agissait de l'adresse correspondant à l'identifiant spécifié dans la requête, le client accède alors à un serveur du réseau non hiérarchisé et obtient, de sa part, directement ou indirectement, comme exposé en regard de la figure 7, l'accès à l'élément possédant ledit identifiant. Ce mode de réalisation particulier présente l'avantage de ne pas nécessiter de modification, matérielle ou logicielle, au niveau des clients. Thus, in some embodiments of the present invention applied to Chord type networks, the client does not implement any new step. For example, the last DNS server polled responds to the request that is addressed to it by providing the identifier he knows closest and immediately superior, in lexicographic order, to the identifier specified in the request sent by the customer, without indicating who! is not the server with the identifier specified in the request. Thus, unlike the embodiments illustrated in FIGS. 7 and 8, the client is not informed of this difference between the supplied identifier and the required identifier. It is observed, however, that these two identifiers are then, preferably, at the same hierarchical level in the hierarchical naming system since they represent the same domain name and two different non-hierarchical network identifiers. Using the identifier returned to it in a new query, as if it is! was the address corresponding to the identifier specified in the request, the client then accesses a server of the non-hierarchical network and obtains, directly or indirectly, as exposed with reference to Figure 7, the access to the element having said identifier. This particular embodiment has the advantage of not requiring any modification, hardware or software, at the customer level.

Claims

REVENDICATIONS
1 - Procédé d'accès à un élément possédant un identifiant, caractérisé en ce qu'il comporte : - au moins une étape d'interrogation (720, 820) d'un serveur de résolution de noms d'un système de nommage hiérarchique, responsable d'un domaine représenté par ledit identifiant, ladite interrogation comportant ledit identifiant,1 - Method for accessing an element having an identifier, characterized in that it comprises: - at least one interrogation step (720, 820) of a name resolution server of a hierarchical naming system, responsible for a domain represented by said identifier, said interrogation comprising said identifier,
- une étape de réception (730, 830) d'une réponse provenant d'un dit serveur de résolution de noms, ladite réponse étant représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant eta step of receiving (730, 830) a response from a said name resolution server, said response being representative of at least one server name different from said identifier and hierarchically at the same level as said identifier and
- une étape d'interrogation (740, 840, 850) d'un serveur possédant un dit nom différent dudit identifiant. 2 - Procédé selon la revendication 1 , caractérisé en ce que, au cours de l'étape de réception d'une réponse (730 830), ladite réponse est représentative, d'une part, de ce que ledit identifiant est inconnu dudit serveur de résolution de noms et, d'autre part, de chaque dit nom différent dudit identifiant.an interrogation step (740, 840, 850) of a server having a said name different from said identifier. 2 - Method according to claim 1, characterized in that, during the step of receiving a response (730 830), said response is representative, on the one hand, that said identifier is unknown to said server of name resolution and, on the other hand, each said different name of said identifier.
3 - Système de nommage caractérisé en ce qu'il attribue, pour au moins un élément (200 à 215), un identifiant combiné représentatif, d'une part, d'un nom selon un système de nommage hiérarchisé et, d'autre part, d'un identifiant d'élément d'un système de nommage non hiérarchisé, l'identifiant du système de nommage hiérarchisé permettant l'accès à un serveur et l'identifiant du système de nommage non hiérarchisé permettant l'accès aux éléments accessibles audit serveur, en mettant en œuvre le système de nommage non hiérarchisé.3 - naming system characterized in that it assigns, for at least one element (200 to 215), a combined identifier representative, on the one hand, of a name according to a hierarchical naming system and, on the other hand , an element identifier of a non-hierarchical naming system, the identifier of the hierarchical naming system allowing access to a server and the identifier of the non-hierarchical naming system allowing access to the accessible elements server, by implementing the non-hierarchical naming system.
4 - Procédé de nommage d'un élément d'un réseau non hiérarchisé sur lequel ies identifiants sont gérés par intervalle, caractérisé en ce qu'il comporte une étape d'attribution (610 à 620), audit élément, d'un nom hiérarchisé d'un domaine possédant un serveur dudit réseau non hiérarchisé et une étape d'attribution (610), audit élément, d'un complément de nom représentant son identifiant sur le réseau non hiérarchisé.4 - Method for naming an element of a non-hierarchical network on which the identifiers are managed by interval, characterized in that it comprises a step of assigning (610 to 620), to said element, a hierarchical name a domain having a server of said non-hierarchical network and an assigning step (610), to said element, of a name complement representing its identifier on the non-hierarchical network.
5 - Procédé selon la revendication 4, caractérisé en ce qu'il comporte, en outre, une étape de mise à jour d'une table distribuée dans laquelle chaque élément du réseau non hiérarchisé est mis en relation avec un identifiant de serveur responsable dudit éiément.5 - Process according to claim 4, characterized in that it further comprises a step of updating a distributed table in which each element of the a non-hierarchical network is connected to a server identifier responsible for said element.
6 - Procédé selon l'une quelconque des revendications 4 ou 5, caractérisé en ce qu'il comporte, en outre, une étape de référencement (615, 620, 630 à 645) d'au moins un serveur dudit réseau non hiérarchisé sur au moins un serveur de résolution de nom de domaine (510). hiérarchisés.6 - Process according to any one of claims 4 or 5, characterized in that it further comprises a step of referencing (615, 620, 630 to 645) of at least one server of said non-hierarchical network on the least one domain name resolver (510). hierarchical.
7 - Procédé de réponse, par un serveur, à une interrogation de résolution de nom comportant un identifiant, caractérisé en ce qu'il comporte : - lorsque ledit serveur conserve, en mémoire, une adresse correspondant audit identifiant, une étape de réponse au cours de laquelle ledit serveur fournit ladite adresse (725) et7 - Method of response, by a server, to a name resolution interrogation comprising an identifier, characterized in that it comprises: - when said server stores, in memory, an address corresponding to said identifier, a response step to the course said server provides said address (725) and
- lorsque ledit serveur ne conserve pas, en mémoire, une adresse correspondant audit identifiant, une étape de réponse au cours de laquelle ledit serveur fournit une réponse représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant, sans indication de ce que ledit nom est différent dudit identifiant (730).when said server does not store, in memory, an address corresponding to said identifier, a response step during which said server provides a response representative of at least one server name different from said identifier and hierarchically at the same level as said identifier; , without indicating that said name is different from said identifier (730).
8 - Procédé selon la revendication 7, caractérisé en ce que, lorsque ledit serveur ne conserve pas, en mémoire, une adresse correspondant audit identifiant, au cours de l'étape de réponse (730), ladite réponse est représentative d'au moins un nom de serveur qui se trouve, dans l'ordre lexicographique et dans la mémoire dudit serveur, immédiatement supérieur ou immédiatement inférieur audit identifiant. 9 - Terminal (500) d'accès à un élément possédant un identifiant, caractérisé en ce qu'il comporte ;8 - Process according to claim 7, characterized in that, when said server does not store, in memory, an address corresponding to said identifier, during the response step (730), said response is representative of at least one server name which is, in the lexicographic order and in the memory of said server, immediately higher or immediately lower than said identifier. 9 - Terminal (500) for access to an element having an identifier, characterized in that it comprises;
- un moyen d'interrogation (555) adapté à interroger au moins un serveur de résolution de noms d'un système de nommage hiérarchique, responsable d'un domaine représenté par ledit identifiant, ladite interrogation comportant ledit identifiant etinterrogation means (555) adapted to interrogate at least one name resolution server of a hierarchical naming system, responsible for a domain represented by said identifier, said interrogation comprising said identifier and
- un moyen de réception (560) d'une réponse provenant d'un dit serveur de résolution de noms, ladite réponse étant représentative d'au moins un nom de serveur (525) différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant, ledit moyen d'interrogation étant adapté à interroger un serveur possédant un dit nom différent dudit identifiant, 10 - Terminal selon ia revendication 9, caractérisé en ce que iedit moyen d'interrogation (555) est adapté à ce que ledit identifiant soit un identifiant dit « combiné » représentatif, d'une part, du nom dudit domaine et, d'autre part, d'un identifiant d'élément sur un réseau dit « non hiérarchisé » (200 à 215) qui comporte ledit serveur possédant ledit nom différent dudit identifiant et ledit élément.means for receiving (560) a response from a said name resolution server, said response being representative of at least a server name (525) different from said identifier and hierarchically at the same level as said identifier, said interrogation means being adapted to interrogate a server having a said name different from said identifier, 10 - Terminal according to claim 9, characterized in that this interrogation means (555) is adapted so that said identifier is a so-called "combined" identifier representative, on the one hand, of the name of said domain and, on the other hand, of an element identifier on a network said "non-hierarchical" (200 to 215) which comprises said server having said name different from said identifier and said element.
11 - Terminal selon l'une quelconque des revendications 9 à 10, caractérisé en ce que le moyen d'interrogation (555) est adapté à déterminer si un accès audit élément a été obtenu de Ia part d'un dit serveur (525) possédant un nom différent dudit identifiant et, dans la négative, à interroger un autre serveur possédant un dit nom différent dudit identifiant.11 - Terminal according to any one of claims 9 to 10, characterized in that the interrogation means (555) is adapted to determine whether an access to said element has been obtained from a said server (525) having a name different from said identifier and, in the negative, to interrogate another server having a said different name of said identifier.
12 - Serveur (510) de résolution de nom comportant un identifiant comportant une mémoire (580) dans laquelle des identifiants sont associés à des adresses en une interrogation, caractérisé en ce qu'il comporte un moyen de réponse adapté12 - Name resolution server (510) comprising an identifier comprising a memory (580) in which identifiers are associated with addresses in one interrogation, characterized in that it comprises an adapted response means
- lorsque ladite mémoire conserve une adresse correspondant audit identifiant, à fournir une réponse représentative de ladite adresse etwhen said memory retains an address corresponding to said identifier, to provide a response representative of said address and
- lorsque ladite mémoire ne conserve pas une adresse correspondant audit identifiant, à fournir une réponse représentative d'au moins un nom de serveur différent dudit identifiant et hiérarchiquement au même niveau que ledit identifiant, sans indication de ce que ledit nom est différent dudit identifiant.when said memory does not retain an address corresponding to said identifier, to provide a response representative of at least one server name different from said identifier and hierarchically at the same level as said identifier, without indicating that said name is different from said identifier.
13 - Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé de procédé d'accès à un élément possédant un identifiant selon l'une quelconque des revendications 1 à 2, lorsque ce programme est chargé et exécuté par un système informatique.13 - Computer program loadable in a computer system, said program containing instructions for implementing the method of access method to an element having an identifier according to any one of claims 1 to 2, when this program is loaded and executed by a computer system.
14 - Programme d'ordinateur chargeable dans un système informatique, iedit programme contenant des instructions permettant la mise en œuvre du procédé de procédé de nommage d'un élément selon l'une quelconque des revendications 4 à 6, lorsque ce programme est chargé et exécuté par un système informatique, 15 - Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en œuvre du procédé de procédé de réponse à une interrogation seion l'une quelconque des revendications 7 ou 8, lorsque ce programme est chargé et exécuté par un système informatique. 14 - computer program loadable in a computer system, iedit program containing instructions for implementing the method of naming method of an element according to any one of claims 4 to 6, when this program is loaded and executed by a computer system, 15 - computer program loadable in a computer system, said program containing instructions for implementing the method of response to a query seion any one of claims 7 or 8, when this program is loaded and executed by a computer system.
PCT/FR2007/051347 2006-05-31 2007-05-29 Method, device and naming system, method and terminal for accessing a resource, method for responding to a query and resolving server WO2007138228A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0651989 2006-05-31
FR0651989 2006-05-31

Publications (2)

Publication Number Publication Date
WO2007138228A2 true WO2007138228A2 (en) 2007-12-06
WO2007138228A3 WO2007138228A3 (en) 2008-03-06

Family

ID=37685681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/051347 WO2007138228A2 (en) 2006-05-31 2007-05-29 Method, device and naming system, method and terminal for accessing a resource, method for responding to a query and resolving server

Country Status (1)

Country Link
WO (1) WO2007138228A2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047786A1 (en) * 2004-05-19 2006-03-02 Kabushiki Kaisha Toshiba Network retrieval system, information retrieval method, bridge device and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047786A1 (en) * 2004-05-19 2006-03-02 Kabushiki Kaisha Toshiba Network retrieval system, information retrieval method, bridge device and program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ERIC RESCORLA: "Introduction to Distributed Hash Tables" IAB PLANETARY, IETF 65, [Online] 24 mars 2006 (2006-03-24), pages 1-35, XP002418946 Extrait de l'Internet: URL:http://www3.ietf.org/proceedings/06mar/slides/plenaryt-2.pdf> [extrait le 2007-02-07] *
MICHAEL J. O'DONNELL: "A Proposal to Separate Handles from Names on the Internet" CORNELL UNIVERSITY LIBRARY / ARXIV.ORG, [Online] 12 février 2003 (2003-02-12), pages 1-17, XP002418945 Extrait de l'Internet: URL:http://arxiv.org/PS_cache/cs/pdf/0302/0302017.pdf> [extrait le 2007-02-07] *
WALFISH M; BALAKRISHNAN H; SHENKER S: "Untangling the Web from DNS" FIRST SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION (NSDI '04) 29-31 MARCH 2004 SAN FRANCISCO, CA, USA, 31 mars 2004 (2004-03-31), pages 225-238, XP009078576 First Symposium on Networked Systems Design and Implementation (NSDI '04) USENIX Assoc Berkeley, CA, USA ISBN: 1-931971-19-6 *
WEILER SPARTA S ET AL: "Legacy Resolver Compatibility for Delegation Signer (DS)" IETF STANDARD, INTERNET ENGINEERING TASK FORCE, IETF, CH, mai 2004 (2004-05), XP015009535 ISSN: 0000-0003 *

Also Published As

Publication number Publication date
WO2007138228A3 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
EP1974522B1 (en) Server, client and method for managing DNSSEC requests
US7467230B2 (en) Global names zone
US7565407B1 (en) Network proxy apparatus and methods
US11347797B2 (en) Asset search and discovery system using graph data structures
EP2000929B1 (en) Use of a prefix hash tree (PHT) to locate services within a peer-to-peer communication network
EP3043273A1 (en) Systems and methods for ontological searching in an iot environment
US20070283028A1 (en) Name Challenge Enabled Zones
US9705843B2 (en) Method and system for domain name system based discovery of devices and objects
EP1797696A1 (en) Method and system for distributed dns resolution
EP2052526A2 (en) Server and method for managing domain names in a network
FR2958104A1 (en) DNS SERVER, GATEWAYS AND METHODS FOR MANAGING AN IDENTIFIER OF A PORTS RANGE IN DATA TRANSMISSION.
FR2908540A1 (en) DEPLOYMENT OF DNSSEC BASES
FR3015824A1 (en) OBTAINING DATA CONNECTION TO EQUIPMENT VIA A NETWORK
Karolewicz et al. On efficient data storage service for IoT
WO2007138228A2 (en) Method, device and naming system, method and terminal for accessing a resource, method for responding to a query and resolving server
Balduf et al. The Cloud Strikes Back: Investigating the Decentralization of IPFS
US20080016234A1 (en) Resolving names to network endpoints
CN109495525B (en) Network component, method of resolving content identification, and computer-readable storage medium
Arouna et al. A first look at the African’s ccTLDs technical environment
Adiwal et al. Revisiting the performance of DNS queries on a DNS hierarchy testbed over dual-stack
FR3023098A1 (en) METHOD AND SYSTEM FOR PROCESSING A REQUEST FOR RESOLUTION OF A NAME OF A SERVER, ISSUED BY A CLIENT APPLICATION ON A COMMUNICATION NETWORK.
Cojocar BBUFs: A new lookup mechanism based on IPV6
Zhang et al. The design and implementation of an alternative domain name system
ierre St Juste et al. Advanced Computing and Information Systems Lab, University of Florida, Gainesville, FL 3261 I Email:{pstjuste, davidiw, klee, boykin, renato}@ acis. ujl. edu
Li et al. Web Services Discovery with QoS Based on P2P

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07766114

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07766114

Country of ref document: EP

Kind code of ref document: A2