Abstract:
A naming service in a multihop wireless ad hoc network having a plurality of network nodes. A database in each node stores information associating user information with network information. The stored user information may include user identifications, available services, authority levels of users, and network addresses. When changes occur to user information, network topology information, or network infrastructure information in a given node&#39;s database, the naming service automatically updates the databases in other nodes.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates in general to a name service in a wireless ad hoc network and particularly to a distributed auto discovering name service for multihop wireless ad hoc networks. 
       BACKGROUND OF THE INVENTION 
       [0002]    It is an increasing interest for developing and deploying wireless multihop ad hoc networks in several different application areas within commercial, private installations, and for governmental purposes. The commercial applications of ad hoc networks can for instance be used for hot spot installations during special events. Hot spots are local areas where wireless access are provided for paying customers so they can be in contact with a network, such as the Internet or a private network. Private installations can be within a company or during a special event. 
         [0003]    The governmental applications can be during rescue operations within disaster areas, military applications, or during special events. 
         [0004]    A multihop wireless ad hoc network is built up by the nodes present since the network actually is formed by the present nodes; an ad hoc network does not have any central control function. The nodes all act as routers, routing traffic to other nodes which is a similar concept as for fixed networks. However, the routing protocol used in these types of multihop wireless ad hoc networks is often quite different from the normal routing protocols used for fixed networks. The nodes keep track of the other nodes by updating a routing table using the protocol and there are mainly two different categories of routing protocols: reactive and proactive. The reactive protocol reacts on the need of routing a message in the network and updates the routing table paths on demand. The proactive protocol updates the routing table on a regular basis. 
         [0005]    The term multihop is defined as using the nodes together building up the network forwards messages and traffic not intended for themselves to other nodes able to communicate with the node until the data traffic reaches the intended node. 
         [0006]    The existing solutions for multihop wireless network has knowledge about which nodes are available and possible routing routes to the nodes part of the network; however, there is a lack of knowledge about the users in the multihop wireless network. The network infrastructure routing tables do not handle any naming services. 
         [0007]    Central domain name system (DNS) has a drawback in the fact that it is central, this means that it is vulnerable as a single point of failure. During update of such a central database, it may become unavailable for a certain period of time, thus making traffic within the network impossible or at least difficult. 
       SUMMARY OF THE INVENTION 
       [0008]    Accordingly the present invention according to a preferred embodiment preferably seeks to mitigate, alleviate or eliminate one or more of the above-mentioned disadvantages singly or in any combination. 
         [0009]    This is done by a method for automatic name service discovery, which is distributed to all nodes present in a network. A name service database is updated locally in each node present in the network. 
         [0010]    A first embodiment of the present invention, a method for associating user information with network information in a multihop wireless ad hoc network comprising a plurality of nodes is presented, comprising the steps of:
       receiving data indicative of changes of user information;   updating a database stored in each node with entries associating the user information with network information;   detecting in each node changes in the database; and   distributing from each node data indicative of changes of the user information to nodes within radio range;       
 
         [0015]    In the method, the user information may comprise information about at least one of user identifications, network addresses, available services within network, and authority level of each user. 
         [0016]    Another aspect of the present invention, a node in a multihop wireless ad hoc network comprising a plurality of nodes is presented, comprising
       a database for associating user information with network address; and   a service for responding to changes of user information; the user information comprising at least one of users, network addresses, available services, and authority levels;   wherein the service distributes the information changes to nodes within radio range.       
 
         [0020]    The service in the node may further update the information changes in the database. 
         [0021]    In yet another aspect of the present invention, a multihop wireless ad hoc network comprising a plurality of nodes, together forming the network, wherein changes of user information of the nodes are automatically distributed to all nodes within the network and wherein the user information is a naming service for associating user information with a respective network address. 
         [0022]    The user information may further comprise information about available services in nodes. The user information may further comprise information about authority level of each user. 
         [0023]    The at least one node within the network may be connected to a second network and wherein the at least one node acts as a gateway between the network and the second network; adapting user information in the network to usable information in the second network. 
         [0024]    In still another aspect of the present invention, an instruction set in a node in a multihop wireless ad hoc network comprising a plurality of nodes is presented, for responding to changes of user information reaching the node, the instruction set comprising:
       an instruction set for detecting changes in a database, stored in each node, comprising association information between user information and network addresses;   an instruction set for updating the database with changes of user information; the changes can be received from the node or other nodes; and   an instruction set for distributing changes in the database to nodes within radio range.       
 
         [0028]    Yet another aspect of the present invention is presented: a database in a node in a multihop wireless ad hoc network, comprising entries for associating user information with network information; changes of the database being updated and distributed to all nodes within the network when changes in the database has been detected. 
         [0029]    In the database the entries may comprise at least one of user identification of each user connected within the network and corresponding network address, available services in each node, and authority level of each user. 
         [0030]    Yet another aspect of the present invention is presented: an application in a node in a multihop wireless ad hoc network using a database for finding a network address of a user within the network when communicating with a certain user; the database comprising entries for associating user information with network information; changes of the database being updated and distributed to all nodes within the network when changes in the database has been detected. 
         [0031]    Yet another aspect of the present invention comprise a database associating user information with network information for use when a mobile station in a packet based network system connects to a private network using a virtual private network function (VPN), wherein a VPN server contains one instance of the database for each connected user, and the instances of the database are automatically updated when changes of user information occur. 
         [0032]    Another aspect of the present invention comprise a database in a mobile station associating user information with network information for use when a mobile station in a packet based network system connects to a private network using a virtual private network function (VPN), wherein each mobile station contains one instance of the database, and each instance of the database are automatically updated when changes of user information occur. 
         [0033]    These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0034]    In the following the invention will be described in a non-limiting way and in more detail with reference to exemplary embodiments illustrated in the enclosed drawings, in which: 
           [0035]      FIG. 1  illustrates a network according to the present invention; 
           [0036]      FIG. 2  is a schematic of a node in the network found in  FIG. 1 ; 
           [0037]      FIG. 3  is a schematic of a method according to the present invention; and 
           [0038]      FIG. 4  is a schematic of another embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0039]      FIG. 1  illustrates a multihop wireless ad hoc network or cell  10  according to the present invention comprising, for example sake, a number of nodes  1 ,  2 ,  3 ,  4 ,  5  part of the network  10 . The number of nodes that can be part of the network is not limited. The ad hoc network can in turn be connected to another network  12 , fixed or wireless, for example the Internet, through one or several nodes acting as gateways. There is some type of routing protocol available for keeping a routing table with knowledge about the different nodes available and there network address information, as well as paths to gateways within the network. 
         [0040]    In this example, node  1  with a user named X has the desire to communicate with a user named Y. In order to do this X needs to translate the user name, Y, to a network address. Thereafter, the routing protocol will be able to find user Y in the network. Finally communication is established between X and Y. The present invention uses a method for updating a database comprising information about available users and their network location (which is not the same as physical location of course); associating user information with network information. Each node continuously tracks traffic on the network in order to respond to changes in the network configuration. Each node may be looking in a neighbor cache available in each node, looking for neighbor topology changes. Such neighbor cache functions may be for example an ARP (Address Resolution Protocol) function in IPv4 or a Neighbor Discovery function in IPv6. These protocols keep track of network hardware addresses for neighboring nodes. 
         [0041]    Upon activation of the network, if a node discovers traffic on the network, it will exchange information to the nearest neighbors, the information may comprise, but not limited to, user information, address information, services available from the node, or authority level. The different types of information will be discussed later in more detail. The nearest neighbors obtain this information and store it in their local database located in each node. They will also pass the information on to their nearest neighbors and so on until equilibrium is reached and all nodes in the network have updated their database. Thus all nodes may have the same data about the network. 
         [0042]    When the network has formed, the nodes will still keep track of traffic and look for new users or new information available. If so, a new update stream will be sent to the nearest neighbors again and the network will be updated in the same manner as described above for the network activation situation. 
         [0043]    When a first node sees a new node it will ask the new node for information. There are two possible responses to this request:
       1. If the new node is using the method according to the present invention, the two nodes will exchange information.   2. If the new node is not using the method according to the present invention, no answer will come back to the first node, and the first node goes back to a tracking mode: looking for new traffic in the network.       
 
         [0046]    A node may be triggered to send out new information to the network by using an internal trigger such as updating their own database with new information about themselves, thus the system will be triggered and start a network update transmission. 
         [0047]    Optionally it is possible to configure the system to flood the network with information in order to trigger a new update from the nearest neighbors or to update the entire network. This ensures that the network has fresh and correct information about users and available services. The flooding behavior may be triggered if there has been a long time period without any information exchange in the network or for the node, or it may be triggered on a regularly basis. 
         [0048]    When applications (or users) desire to communicate with a certain user, the node in question looks into the name service database and connects the user to a network address, enabling traffic to be routed within the network to the desired user. 
         [0049]    A more detailed description about different types of information that could be exchanged using the present invention will now follow. The two most important information types are user name and network address. These provide the possibility to find a route to a specific user. If a user logs out from a node and logs into another node the network updates the database entries accordingly and it will still be possible to route traffic to the correct user. The user information may comprise at least one of name, user name, identification data, email address, IP address in “Home” network, or other information relating to the user, such as home address, telephone number or similar data. With “Home” network means a network where the user belongs to such as, for instance, a private network or company network. This may be a network where the user often resides in with user equipment but it may also be a network provided by a Service Provider (SP) granting access for the user and charging the user for these services. 
         [0050]    Other information that may be distributed is information about services provided by a modem, such as a VOIP gateway (Voice over IP), Internet gateway, fixed network services, infrastructure services, calculational services, database services, and other such informative services. Information about authority level of a user may be distributed using the present invention as well. This may be of interest for instance in a military application or in a rescue application, where it may be important to find a chain of command, a access level of databases available as services in the network, and so on. 
         [0051]    Advantages of the present invention include:
       No single point of failure, because all nodes have their own name service database.   Discovery of available nodes in the network is automatic.   No central administration of the network is needed; each node may be manually configured locally by the users.   Data about all available nodes in the network is stored locally and may be retrieved in one single operation (e.g. for use by applications).       
 
         [0056]    The invention may be implemented in software using many different coding approaches and run on a suitable calculational device, such as a microprocessor. It may also be implemented in more hardware close environments, such as in an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), or an ASIC (Application Specific Integrated Circuit). These are non-limiting examples of units or devices in which the present invention may be implemented. 
         [0057]      FIG. 2  illustrates a device  200  acting as a node in a multihop wireless ad hoc network. The device  200  may be a communicating device such as laptop, PDA (Personal Digital Assistant), PC (Personal Computer), mobile telephone (e.g. GPRS or 3G), or an application specific device for commercial, industrial, or governmental processes or purposes. The device may comprise a processing unit, such as a microprocessor  201 , controlling communication, calculations, and similar operations, a storage unit, such as a memory (volatile or non-volatile), a wireless interface unit  208  connected to an optional antenna  204 , a communication interface  203  handling communication specific processes, and other units  205  to  207  for different processes, such as user interface, authorization interface, or display unit. 
         [0058]      FIG. 3  illustrates a method according to the present invention:
       receiving data indicative of changes of user information ( 301 );   updating a database with entries associating user information with network information ( 302 );   detecting changes in the database ( 303 ); and   distributing data indicative of changes of user information to nodes within radio range ( 304 ).         
         [0063]      FIG. 4  illustrates a second embodiment of the present invention in which the present invention finds applicability on other networks apart from ad hoc networks, for instance in when a mobile station connects to a infrastructure based network, such as a WLAN (Wireless Local Area Network, e.g. hot spots or similar), a GPRS, or 3G network. For example, nodes  401  to  403  in a GPRS or 3G network are connected with an infrastructure  404  of the GPRS or 3G network. The infrastructure  404  is connected with for instance the Internet  405  and the user nodes establish a connection with a private network  408  through a VPN (Virtual Private Network) link using a VPN server  406 . The VPN server stores instances of name service databases  407  each associated with the user connecting to the VPN network. 
         [0064]    Users may log into a VPN (Virtual Private Network) protected private network  408  using their GPRS or 3G equipment. They log in to the VPN network via for instance the Internet or some similar public or semi public network (e.g. a network provided by a Service Provider). In order to keep track of the users from the private network and providing communication possibilities between users logged into the private network, a naming service according to the present invention is utilized. When a user logs out, a new user logs in, or any other new information is available the name services in the private network are updated. Each user logged in has a dedicated name service database  407  associated with the user. This dedicated database  407  may be located in a server  406  associated with the private VPN protected network or locally cached (not shown) in each node, such as a PDA. A mobile station may be for instance a mobile phone, a laptop, a PDA, or similar equipment used in mobile applications. 
         [0065]    In this second embodiment the system is triggered for an update of information using a similar method as for the first embodiment. 
         [0066]    An interpretation interface or “translator” may be provided that can handle interfacing to applications that is not normally designed to communicate in a network using the present invention, i.e. a name resolution function for “legacy” applications. 
         [0067]    The name service database may communicate with an SNMP (Simple Network Management Protocol) application in order to collect statistical data, configurations, and so on, as well as being able to control and configure name service databases remotely from a central view point. 
         [0068]    A route export function implemented in a gateway may also be provided in order to communicate between the multihop wireless ad hoc network and other networks, such as a fixed network (e.g. Ethernet). This function acts as an interpreter between the name service available in the ad hoc network according to the present invention and standard routing and/or name service protocols available in other networks, such as OSPF (Open Shortest Path First) protocol. 
         [0069]    It should be noted that the word “comprising” does not exclude the presence of other elements or steps than those listed and the words “a” or “an” preceding an element do not exclude the presence of a plurality of such elements. It should further be noted that any reference signs do not limit the scope of the claims, that the invention may be implemented by means of both hardware and software, and that several “means” may be represented by the same item of hardware. 
         [0070]    The above mentioned and described embodiments are only given as examples and should not be limiting to the present invention. Other solutions, uses, objectives, and functions within the scope of the invention as claimed in the below described patent claims should be apparent for the person skilled in the art.