METHOD FOR MINIMIZING DELAYS IN CONNECTION WITH NAME RESOLUTION SERVICES

Abstract: The invention concerns a method for speeding up name resolution services. The aim of the invention is to minimize delays caused by name resolution services and to reduce the network load caused by the system in question. In a normal situation a first server (14) containing a predetermined public name (15) routes inquiries to a client's public name (15) to a first name resolution server (18). The aim of the invention is achieved by linking a definition to the predetermined public name (15) at the first server (14), the definition routing inquiries to the predetermined public name (15) to a second name resolution server (19) in accordance with a second name (16) contained in the definition. This name resolution server is located such that rapid data transmission is enabled, thus reducing delays caused by name resolution service as well as network load.

Description: Method for minimizing delays in connection with name resolution services The invention relates to a method according to the preamble of claim 1 for minimizing delays in connection with name resolution services. According to the prior art the objective of a name resolution system, such as the DNS system used on the Internet, is to enable reference to the Internet resource without knowing the location thereof. In the case of DNS, the resource is usually a so called host which is a computer connected to the Internet. Further in the case of DNS, the location is a network location which on the Internet is expressed by means of an IP address. Being able to refer to a resource without knowing the location thereof is important, because if the names and locations of resources were not differentiated from each other, changing the location of a resource would lead to a labourious reconfiguration in all systems containing references to the transferred resource. This would entail a considerable amount of work, particularly if the transferred resource was a server. For this reason an Internet application or user must not, in a general case, resort to a direct indication, e.g. an IP address, in sending messages, but instead, the target must always be referred to in a manner which is as independent of location as possible. In other words, a DNS name, for instance, eliminates the need for applications to keep a record of the IP net locations of hosts. A DNS name is used for example in E-mail addresses as the domain name after the symbol @. Even the host can be seen as a location, in this case a physical place where an abstract resource is saved. Ideally the name of an abstract resource, e.g. a WWW page, must not contain parts referring to the host which is the location of the resource in question. To meet this need, e.g. the IEFT URN, Uniform Resource Name, has been developed, containing no location dependencies. The dynamic updating of URN, DNS, and other name resolution data, will constitute the basis for numerous locatability services. Many services based on the work of the IEFT MMUSIC work group, for example, will constitute such services. The increasing use of locatability services will lead to an increased load on name resolution systems. In order to achieve as small as possible an occupancy of the network it is of advantage to arrange a major part of the updating traffic relating to name resolution data as locally as possible. In the present DNS system there is usually only one quite static IP address corresponding to a specific host name. Therefore the updating load on the DNS system is at a reasonable level. New systems and services are being developed based on dynamic name server data updating, such systems and services essentially increasing the load on the name server system and depending on the system, application delays. An example of such a new system is the URN (Uniform Resource Name) where a net resource, for example an SW object or an HTML document published on the net is given a unique, e.g. ISBN-based name which is independent of the host and the net location. When this document having a specific URN is copied into different parts of the net, it is up to the name resolution system to keep a record of the several physical locations of the document. Another factor which considerably increases the load on name resolution systems is the use of distributed, e.g. object-oriented computer systems. Object orientation facilitates system distribution. WWW pages are an example of implementing dynamic screen updating using an object-oriented approach. Let's take the case of a client visiting the WWW page of an enterprise as an example. When the client uses a service on the page, the distributed computer system which makes the service possible may consist of e.g. the client's host and the WWW server and database server hosts of the company. As the transport network between the computers causes delays it is sensible for the system support services such as name resolution to be physically located as close as possible. The name resolution system causes delays not only due to name inquiries but also due to name updating. At the moment of its creation, each object or resource is allocated a unique name which is independent of location, and as the distributed system may, even within a very short time, create numerous beings or resources which are visible/accessible from outside the hosts, it is not unimportant how much time the retrieval, registration and set-up of unique names take. The system may be distributed between much more than two hosts. There are already at present services whose implementation is distributed to dozens of appliances. These include e.g. the so called chat services and strategic games played on the net. Thus, in order to minimize system delays, the registration and updating of the location data of the object and resource interfaces must be performed at a physical location of maximal advantage. As a rule, the most favourable physical location is a location which is as close to the users of the resolution services as possible. In a DNS name server system, the term alias definition means that if a predetermined name, e.g. enterprise.serviceprovider.fi, is replaced by a new name, e.g. enterprise.localareanetwork.fi, inquiries addressed to the old name, i.e. enterprise.serviceprovider.fi, can be routed to the new name, whereby the inquiry is answered according to the definition of the new name. Due to this arrangement the name server information corresponding to a predetermined name need not be updated after an alias determination. Instead, it suffices to update the name server data corresponding to the new name, whereby double registration is avoided. According to the prior art, when a client publishing a given network resource accessible on the basis of a predetermined name wants to add an alias definition to the name of the given network resource or to alter a valid alias definition or some other name server data item of the given network resource, contacting a network management center by phone, mail or e-mail is required of the client, whereby the person receiving the new data feeds them to the DNS server. A system is under development where a client may update DNS information linked to the name of a network resource they publish directly into the DNS system (Dynamic & Secure DNS). The present invention aims at minimizing delays caused by name resolution services and reducing the net load caused by said systems as well as facilitating the transfer of the responsibility for updating name server data from one operator or system to another one. The invention is based on the operator's management system or a first client configuring the first client's host name as an alias to a first name server contained in the first client's host name, i.e. defines all inquiries to the first name server under the first client's host name such that they are routed to a second name server in accordance with a new name provided in the alias definition, e.g. in the CNAME RR of the DNS, if the situation at hand concerns swapping a DNS name resolution server, or that the operator's management system or a first client configures new NAPRT-RR information to a first name server contained in the first client's NAPRT-RR, i.e. information about a second name resolution server, if swapping a URN resolution server is concerned. According to the invention, the responsibility for updating the name resolution server information concerning the first client's names is transferred to a second name resolution server, and data updated at the second name resolution server is retrieved automatically by means of a control system which determines the services for a telecommunication network client, the system being part of the operator's control system. On the basis of the definition recorded in the control system, the data to be updated is retrieved from an element or elements of the information network, which the control or routing system is capable of maintaining telecommunication with. Such information network elements are exemplified by the DNS system, other name server systems, the client's terminal, some other Internet host, as well as the operator's management system or the control system itself. The second name resolution server has a better location or is provided with better functionality than the first name resolution server. The second name resolution server takes care of the parts of the name space allocated to the server in question, and handles inquiries related to said parts. It is also possible that name services transferred to the first client contain a possibility to set the NAPTR RR at the second name server, whereby even the URN name resolution server information is retrieved from the second DNS server. A NAPTR recursion is possible; the NAPTR may refer to another NAPTR. Thus, for instance, the NAPTR-RR of the first server may be set to indicate the name of the second DNS server where a new NAPTR is found. Only the last NAPTR of the chain thus formed indicates the name resolution server. When a desired resolution server is provided with the responsibility for recording and updating, the recording and updating delays experienced by a first client can be minimized, and the name services experienced by a second client can be accelerated if the second client host is located near the first client host and the name resolution server host as estimated on the basis of network delays. In practice, a location where the parts of a distributed system which have the most contact with each other are located as close to each other even as regards delays in communication is favoured if possible, wherefore even the benefits of the invention are at their greatest in such cases. In more detail the method according to the invention is characterized by what is stated in the characterizing part of claim 1. The invention provides considerable benefits. The method according to the invention speeds up the recording and updating of name server information and access to the name server information in cases where the invention is used to route inquiries to a second name resolution server which is closer than the previous one and/or is accessible over better communication links. The second name resolution server may also be functionally more efficient or many-sided than the previous name resolution server. Even this will accelerate the name resolution server system and/or reduce network load. The invention enables flexible transfer of the responsibility for taking measures to update name resolution server information from one operator or system to another. The second name resolution server may be exploited in providing services which were impossible to arrange when the previous name resolution server was being used. The invention enables updating the dynamically updated name resolution server system by means of the name resolution servers which are closest and/or of advantage and/or necessary for providing desired services which are dependent on the name resolution server updating facility. The name services received by the client's hosts are speeded up and services presupposing greater name resolution server traffic can be taken into use, whereby computer systems requiring more complex and versatile distributed processing can be used in the implementation thereof. In the following, the invention is examined in more detail with reference to working examples in accordance with the annexed Figures. Figure 1 illustrates a first example which is provided in the form of a block diagram showing how the name services used by a client can be routed from one server to another in accordance with the invention. Figure 2 illustrates a second example which is provided in the form of a block diagram showing how the invention can be applied to transfer of the name resolution services used by a portable terminal, and to speed up the name resolution services used by said appliance. Figure 3 illustrates a third example which is provided in the form of a block diagram showing how the invention can be applied to speed up name resolution services in object- oriented systems. According to Fig. 1 the transfer of name resolution services is examined. The solution of the Figure is arranged in a TCP/IP environment. An IP terminal 11 forms a data link with the operator's system 12 e.g. via a modem pool. The first operator's system 12 performs the authentication, authorization and gathering of the debiting data of the IP terminal 11 and/or the network client 10 using the terminal as well as the routing thereof to the Internet and the definition of the IP address of the IP terminal 11. The user profiles of the clients are registered in the first operator's system 12, containing information about which services are available to the network client 10 and which services are already in use. Services which are already being used by the network client 10 can be defined e.g. via WWW pages on the basis of information received from the network client. If a control database in the operator's 12 system defines a service as available to the network client 10 which presupposes transfer of the responsibility for updating name server information from one server to another, and the service is not yet operational, the first operator's system 12 functions as follows. The first operator's system 12 checks whether is has updating rights to a first name server 14. The first name server 14 is a dynamically updatable Dynamic & Secure DNS where the client's public name 15 is located. If the first operator's system 12 has no updating rights to the first name server 14, the first operator's system 12 provides the network client 10 with a DNS name 16 e.g. via a negotiation carried out over WWW pages, as well as information on how to operate when transferring the responsibility for updating name server data. The first operator's system 12 may also provide information concerning the procedure and the DNS name 16 by providing the IP terminal 1 1 with software which takes the necessary measures. If the first operator's system 12 is authorized to update the first name server 14, the first operator's system 12 takes the measures required. The measures required are as follows. The client's public name 15 is configured as an alias by linking to the client's public name 15 at the first name server 14 a DNS CNAME Resource Record RR. The content of the RR in question will be constituted by the DNS name 16. The first operator's system 12 creates a DNS name 16 at a second name server 17 which is a Dynamic & Secure DNS managed by the first operator's system 12. The first operator's system 12 records applicable parts of the RR information read at the first name server 14 and corresponding to the client's public name as the RR information corresponding to the DNS name 16 at the second name server. Henceforth, due to the alias definition, if a terminal system sends an inquiry to the client's public name, it is routed to the second name server which then replies. From now on the operator's system 12 updates the name server information corresponding to the client's public name 15 to the second name server 17. In the following, a system is described where the name identifying a given Internet resource has no resource location information such as the name of the host contained in the resource or a network address. An example of such a name is the URN. A first name server 14 is used to find a first name resolution server 18 managed by a second operator, e.g. by defining NAPTR RR (IETF RFC 2168) such that it refers to a first name resolution server 18. After the alias definition, inquiries to the first name server 14 are routed to the second name server 17, which is controlled to find a second name resolution server 19 by the first operator's system 12, the second resolution server having a better location or better function than the first name resolution server 18. Next, the first operator' s system 12 takes care of updating the information of the second name resolution server 19. When the client desires to stop using the service due to which the name server information update was transferred to the second name server 17, the DNS CNAME Resource Record definition is deleted from the first name server 14. This may be performed manually by the client or by using software provided by the operator, or it may be carried out by the first operator's system 12 if it has the authorization required. Even the equivalent to CNAME RR found in other name service mechanisms can be used to implement a corresponding service with the mechanism in question. In accordance with Figure 2, name resolution services used by a portable terminal are described. The idea behind the URN is that each resource is allocated a name identifying said resource, the name being independent of which network locations contain instances of said resource. The term "location" is used here to refer to e.g. a host or an IP address. To find resource location information, a system (RFC 2168) may be used which first determines e.g. by means of a DNS the name resolution server needed, recursively if need be. Only then will it become clear which locations locate the resource defined by the URN. First, the name of the host or hosts which locate the resource defined by the URN are determined, and then the IP addresses of the hosts, if they were not received with the host information. On the basis of this information the system is then able the inquire about the resource it is looking for at the right location. The invention can be exploited e.g. in the following kind of case. The client has a portable terminal 21 which is part of a distributed system, e.g. the network 22 of some organisation, whereby the name records thereof, such as the DNS RR fields, are recorded at a first name resolution server 24 located in Finland. The terminal 21 is normally used nationally, e.g. within Finland. The first name resolution server 24 is normally accessed e.g. by means of the DNS and a NAPTR definition (IETF RFC 2168) by using a first DNS server 23. The portable terminal appliance 21 is then taken abroad e.g. to the USA for use. There the function of the appliance is slowed down because many name retrievals and transactions concerning information updates require communication with the first name resolution server 24 located in Finland. According to the prior art, the operation may be e.g. as follows. The client's terminal equipment 21 has by means of a DHCP (Dynamic Host Configuration Protocol) acquired information about the closest DNS server which is a name server 28 in the USA. Next, a so called stub resolver program in the client's terminal 21 , i.e. a program that is able to send a request for a recursive retrieval and receive the reply, sends all DNS inquiries to the name server 28 in the USA. Inquiries are requested in recursive form, whereby the DNS server 28 in the USA takes care of any further DNS inquiries for the stub resolver program at the terminal 21. Retrieval of a specific document having a given URN is desired. The location information corresponding to the given URN is recorded at the first name resolution server 24. The location of the first name resolution server 24 can be established by retrieving a given NAPTR from the first DNS server 23 in Finland. While the terminal 21 is looking for the specific document a DNS inquiry is sent to find the given NAPTR, The transmitted DNS inquiry travels to the first DNS server 23 via the name server 28 in the USA. The given NAPTR is accessed at the first DNS server. The given NAPTR provides the location of the first name resolution server 24. When the location of the first name resolution server 24 is known, a name resolution inquiry corresponding to the specific document can be sent to the first name resolution server 24. Only when the location information of the specific document sent by the first name resolution server 24 has been received can the document be requested at these locations. The specific document is recorded at several locations and the information sent by the first name resolution server 24 shows that the specific document is also available in the USA. It should be noted that except for the name resolution service, the whole procedure took place in the USA. Arranging the name resolution service in the USA is made possible by means of the invention. The system 27 of a US operator inquires whether the client using the portable terminal 21 is interested in faster name service, or whether the client is interested in speeding up the services used. The US name server 28 contains the public name of the name resolution server 24 or the public name of a server used to access the name resolution server 24. The public name of the name resolution server 24, or the name which is taken care of by the server used to find the name resolution server 24, is defined as an alias to refer to a dynamically introduced name resolution server 29 operating within the USA. Now, the US operator's system 27 sees to the updating of the name resolution server 29 data in the USA and makes sure the clients get the service they want. The name resolution service experienced by the client is speeded up as there is no need to retrieve the name resolution service from Finland. The US operator's system 27 or the US operator may also inquire about the client's interest in temporarily using the US operator's services necessitating dynamic updating of name server information, such services not being offered by the client's Finnish operator, or the services for some other reason not having been used by the client in Finland. Figure 3 illustrates the implementation of the invention in an object-oriented application. In this case, WWW-based services are offered. In offering the services, an object-oriented programming language such as Java is used. The system comprises an enterprise server 31 , a first operator's system 32 and several clients who may be communicating with each other. When a client's browser detects an applet tag on the WWW page of an enterprise, a program code is downloaded to the client's browser, e.g. a Java class, which the tag refers to. The code is run by the client's browser. This object runnable by the client's browser on the basis of a program code downloaded from the WWW pages of an enterprise is called an applet. The applet may download classes from the WWW pages of the enterprise during the run, instantiating them as objects and running them as its sub-programs. Even other visitors to the WWW pages may download a similar applet at the same time. Each applet and object has its own identifier independent of location, whose convertion into a physical address is the responsibility of a given name resolution server 33. The service has several concurrent users 36 - 39, who have a bad location with respect to the location of the given name resolution server 33. The service comprises e.g. a game on the WWW page of the enterprise. The players 36 - 39 are far from the given name resolution server 33 running the name resolution services of the game, for example, they are all located in the players' city or district 40 and the given name resolution server 33 in another city or district 49. In this arrangement, inquiries to applets in the distributed system are transmitted via a first DNS server 41 managed by the management system 32 of a first operator located in another city or district 39 to the given name resolution server 33 managed by the first operator's system 32 by means of a definition at the first name server 41. Such a definition may be e.g. a NAPTR RR definition (IETF RFC 2168). According to the invention, the given public name 48 at the first name server 41 in the players' city or district 47, which name enables accessing the name resolution server 33, is configured as an alias to refer to a second name resolution server 35 managed by the second operator's system 34. Next, the second operator's system 34 provides name resolution server updates required by the game to the second name resolution server 35, and the name resolution services required by the players are in their city and district 47, whereby delays disturbing the game are reduced. For example, if nothing happened for a while when a first client 37 playing the game of the example pressed a button e.g. to shoot at the virtual character of a competing player 38 prior to the transfer of the name resolution services to the second server 35, after the transfer of the name resolution services to the second server, the shot would seem to be fired when the player presses the button. The method of the invention is also useful in a case where there is a distributed system constantly in a given area, such as the network of an enterprise, whose name resolution services are provided at a location far from this system. In accordance with the invention the name resolution services can be controlled to a more practical location closer to the network users. In the present application and particularly in the claims thereof the term "name" refers to a symbol, e.g. a URN, occurring in datacommunication systems, having no location- dependent part. In the present context, the term "name" also refers to e.g. a DNS-host name, which on the one hand is a location name because the host is a location from the point of view of abstract resources, but which on the other hand is needed to give names independent of the network-level location, such as the IP address. In the present application and particularly in the claims thereof the term "name resolution server" is used of a system which after having received a name which is independent of location is capable of determining the locations of obj ect or resource instances according to such a name. In the present application and particularly in the claims thereof the term "name server" refers to a system which after having received a name as defined above is capable of determining the information linked to the name. The information in question may concern e.g. the network location of a named resource. In the present application and particularly in the claims thereof the term "updating responsibility" refers to an obligation to see to it that the information in the database can only be updated by a party having the authorization to do so, and/or that information received from a relevant party is recorded in the database, and/or the authorization to update information recorded in the system subject to updating responsibility. In the present application and particularly in the claims thereof the term "control system defining the services offered to a network client" refers to a system which has access to a recorded client- or client-group-specific definition of services offered to the client by means of name server updates. In addition, information recorded in the name server system and required by the services defined for the client and offered by the aid of name server updates, is recorded accessible to the control system defining the services offered to the network client, such information being exemplified by the new name 16 linked to the client's public name 15 and/or information linked to the new name 16. Such information linked to the new name 16 may comprise e.g. the network location of the client's network resource or possibly by means of recursion the network location of the name server defining the client's network resource. The control system or the operator's management system which includes the control system may also be programmed to retrieve information to be recorded in the name server system from an external element, such as some system component of the operator's or a network terminal connected to the information network. In the present application and particularly in the claims thereof the term "location information" is used to refer to the location at network level of a resource connected to the information network, or to the network location, or the information required for finding the location at network level or network location. Such information may be a name contained at a name resolution server where the location at network level or the location information of a resource connected to the network may be retrieved possibly recursively on the basis of the name. Even other information than the location information corresponding to a predetermined name or the information needed to retrieve the location information can be recorded at a name server such as a DNS server. Thus, the method according to the invention can be exploited e.g. in connection with data security services e.g. when it comes to authentication. With the acceleration of the retrieval of the encryption keys required, the total duration of authentication is reduced. This can be done by attaching the public key of a system with two encryption keys as data linked to a predetermined name at a new server. When one hereafter wishes to transmit encrypted data to a network terminal having the predetermined public name, the encryption key is conveniently provided in connection with a DNS inquiry. In the present application and particularly in the claims thereof the term "linking" is used to refer to the linking of data as a logical structure in a give database such that the data linked to a given piece of information can be retrieved from the database on the basis of the given piece of information. What is meant by mentioning the subspace and name subspace of a DNS name in claims 5 and 9 is that if it at some point in time is possible in the case of hierarchical names to link a definition of CNAME-RR -type to cover the subspace of a predetermined name 15, then all name server inquiries directed at a given subspace of the name 15 can be controlled to concern the new name 16 and/or the subspace thereof by means of one definition. In this manner, when implementing the method according to the invention, it becomes possible to reduce the number of steps performed in a case where the responsibility for updates is transferred to the subspace of the predetermined name 15.

Claims: Claims: 1. A method for minimizing delays in connection with name resolution services, wherein a predetermined name (15) and the normal location information related thereto are recorded as an information structure at a first server (14) and wherein a specific reference to a new name (16) is defined as linked to the predetermined name (15), characterized by - recording a definition of the data to be linked to the new name (16) in the control system which determines the services offered to an information network client (10), - checking whether a definition has been recorded in the control system defining the services offered to the information network client (10) such that a swap of the server (14 or 18) offering name resolution to the predetermined name (15) is desired, - in response to the definition in the control system defining the services offered to the information network client (10), automatically retrieving information defined to be linked to the new name (16), such as location information, and recording said information at a second server (17) linked to the new name (16), - receiving an inquiry concerning the new name (16) at the second server (17), whereby the new name (16) is in compliance with the specific reference linked to the predetermined name (15) at the first server (14), - on the basis of the inquiry (16) relating to the new name (16) retrieving the location information corresponding to the new name (16) and/or other information linked to the new name at the second server (17). 2. The method of claim 1 , characterized by the normal location information referring to a first name resolution server (18) or a server by the aid of which the first name resolution server (18) is found, and the new location information referring to a second name resolution server (19) or a server by the aid of which the second name resolution server (19) is found, and by setting the second name resolution server (19) to perform measures for updating the name resolution information administered by the first name resolution server (18). 3. The method of claim 1 or 2, characterized by a first operator being responsible for updating the first server (14) and a second operator being responsible for updating the second server (17). 4. The method of claims 1 to 3, characterized by the first operator or a third operator being responsible for updating the first name resolution server (18) and a second operator or a fourth operator being responsible for updating the second name resolution server (19). 5. The method of any one of the claims 1 to 4, characterized by automatically taking the measures according to the method on the basis of the second operator's system and the information retrieved and maintained thereby. 6. The method of any one of the claims 1 to 5, characterized by the predetermined name (15) and the second name (16) being public names in the DNS system and the location data consisting of public names in the DNS system or the corresponding IP addresses, and the first server (14) and/or the second server (17) being name servers of the DNS system and the specific reference linked to the predetermined name (15) being a CNAME RR field attached to the predetermined name (15) or a corresponding RR field which also covers the subspace of the DNS name. 7. The method of any one of the claims 1 to 6, characterized by finding the normal location information used for accessing the name resolution servers in the NAPTR RR field of the DNS prior to the measures of the method, and by finding the new location information in the NAPTR RR field of the DNS after the measures of the method, and by the NAPTR providing the rule by which the DNS name can be produced from the URI and that by altering the rules the name resolution server used is changed. 8. The method of any one of the claims 1 to 7, characterized by measuring name server traffic and/or name resolution server traffic and by transferring the responsibility for updating the name server information and/or name resolution server information to the second server dynamically on the basis of the measured data in accordance with the method. 9. The method of any one of the claims 1 to 8, characterized by the specific reference to the new name (16) referring to the subspace of the name (16) when hierarchical names are used. 10. The method of any one of the claims 1 to 9, characterized by locating the second name resolution server (19) such that the average delay of resolution services retrieved via the first server (14) is reduced.

Inventors: JUHOLA ARTO, JUHOLA, ARTO
Applicants: ELISA COMM OYJ, JUHOLA ARTO, ELISA COMMUNICATIONS OYJ, JUHOLA, ARTO
Application year: 2000
Main classification: H04L29
IPC codes: H04L29