Abstract:
A system for discovering, identifying and managing ad hoc networks and facilitating the communications within that network is disclosed. An addition to the network interface mediates discovery of adjacent computers with the same addition running and the exchange of profiles between these computers to allow device sharing and routing.

Description:
[0001]     The invention generally relates to the management of networks.  
         [0002]     More particularly the invention relates to the ad-hoc creation and management of networks from available units.  
       BACKGROUND ART  
       [0003]     It is known to create networks by wiring computers or other devices with a network interface to each other, or connecting them via wireless networks where a radio frequency connection replaces wiring. The interface will normally use either UDP (Universal Datagram Protocol) or TCP (Transmission Control Protocol) and IP (Internet Protocol) to provide for the forwarding of data packets from one device to another.  
         [0004]     While such protocols allow for the transmission of data from one interface to another they do not allow for the sharing of resources between devices.  
         [0005]     In most cases where a network exists a network server also exists which has explicit knowledge of the devices which it will allow to connect to its network and share the resources of the network. Unknown devices cannot connect.  
         [0006]     An exception exists for some peer to peer protocols, where known computers can directly connect to other known computers or network devices without an intermediate server, but each such accepted computer must still be known to the computer it is connecting to in terms of IP address and access privileges.  
         [0007]     A further exception exists for such things as wireless access points, where a public interface may be connected to by unknown wireless connections from computers, but there is normally no element of network management in the software of such access points, merely the ability to connect and share a single resource.  
         [0008]     It would be preferable to be able to construct networks from an assemblage of whatever network devices are present in a particular place, to allow the sharing of resources and to identify one user to another if necessary. Currently this is not easily possible.  
         [0009]     The present invention provides a solution to this and other problems which offers advantages over the prior art or which will at least provide the public with a useful choice.  
       SUMMARY OF THE INVENTION  
       [0010]     In one exemplification the invention consists in a method of forming an ad-hoc network consisting of:  
         [0011]     broadcasting or multi-casting from at least a first network interface on a first network capable device at least one data packet including a request to join an ad-hoc network and a profile of the requesting device,  
         [0012]     receiving at a second network interface on a second network capable device a request to join an ad-hoc network;  
         [0013]     responding from the second network device to the first network device with a confirmation of receipt and a profile of the responding device.  
         [0014]     Preferably the initial request to join is further broadcast or multi-cast the from the second network device.  
         [0015]     Preferably the first network device may additionally broadcast or multi-cast packets requesting an identifying response from every network device capable of joining the network and within range.  
         [0016]     Preferably the packets adhere to the IP protocol and the range is set by the TTL (time to live) information of an IP header.  
         [0017]     Preferably the transmitted profile includes an ID unique to the profile, the ID containing information based on the device address and profile.  
         [0018]     Preferably the profile includes information on the device user name, the ad-hoc network license identification and the MAC address.  
         [0019]     Preferably when the network capable device is capable of operating on differing network mediums it transmits packets in all mediums.  
         [0020]     Preferably wherein the network mediums include at least one wireless medium.  
         [0021]     Preferably the network capable device is a computer and the presence of responding devices is shown on the computer display.  
         [0022]     Preferably the presence of a responding device is as an icon on the computer display and wherein operations on the icon can show information on the profile or send a user message to the network device represented by the icon.  
         [0023]     Preferably the computer may maintain a list of contactable network devices.  
         [0024]     Preferably the list may include an attribute which prevents display of that network device presence.  
         [0025]     Preferably a computer may have more than a single profile.  
         [0026]     The method of claim  11  wherein the profiles are managed remotely via HTTP or HTTPS.  
         [0027]     Alternatively the invention consists in an apparatus for forming an ad-hoc network consisting of:  
         [0028]     a network capable device with at least one network interface  
         [0029]     the network interface being programmed to:  
         [0030]     (a) contact adjacent network devices with information on the profile of the network capable device;  
         [0031]     (b) respond to a request for information from a similar network capable device with information on its own profile  
         [0032]     (c) forward received profiles to other network capable devices.  
         [0033]     Preferably the network capable device is a computer.  
         [0034]     Preferably the computer is wireless capable.  
         [0035]     Preferably the network uses TCP/IP protocol and the radius of the network from an individual device is set by the TTL parameter.  
         [0036]     These and other features of as well as advantages which characterize the present invention will be apparent upon reading of the following detailed description and review of the associated drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0037]      FIG. 1  is a general view of the communications which create the ad-hoc network. 
     
    
     DESCRIPTION OF THE INVENTION  
       [0038]     The invention relates to creating ad-hoc networks, using individual items of equipment which are network capable, and with the ability to broadcast or multicast UDP or TCP/IP packets with a TTL (time to live) set to the desired radius of the network. Typically the items of equipment are computers, and normally mobile computers, but they may be switches, routers, servers, printers or other network capable equipment. The required functionality may be provided by separate hardware unit which is responsible for communicating on a desired protocol, e.g. 802.11a, 802.11b, 802.11g, Bluetooth or any similar wireless or wired protocol or it may merely be a software unit using the hardware already present on the item.  
         [0039]     As described the network functions on TCP/IP, however any other packet protocol could be used. As is usual the TTL information is decremented by one each time a packet is rebroadcast and a packet with a TTL of zero is not rebroadcast, to provide a limit to the number of nodes accessible and the amount of network traffic created.  
         [0040]     In operation, as shown in  FIG. 1 , from a computer  101  a first set of keep alive packets is broadcast on the network medium  102 , normally wireless, to alert any close computers of the existence of a pending message. Typically the TTL for the keep alive messages is set as low as  1  so that only directly accessible computers are contacted. The computer then issues a JOIN message which may be received by any units within range such as  103 ,  104 . The range is generally set as the desired network radius in terms of nodes accessed. Computers receiving the JOIN message can return a SCAN_REPLY addressed to the originating computer while re-broadcasting the JOIN packet if the TTL is still alive.  
         [0041]     Each message contains the identity of the computer issuing it (or, rather, the MAC address of the interface), and as part of the packet content, the profile of the user of the computer together with a profile ID.  
         [0042]     Access to facilities on other computers is based on the profile and its privileges on the other computers. Thus if an ad-hoc network is created within a workplace it can be expected that a profile may have extended privileges on workmates computers, while an ad-hoc network at an airport might be expected to have only access to a public internet access point, if necessary via intermediate computers acting as routers.  
         [0043]     A profile may contain various information about the computer user, such as the password required to operate the profile, the real name, gender, phone number and email address.  
         [0044]     A single computer may contain the profiles of one or more users, and each profile has a unique ID on the network, normally controlled by the license number of the ad-hoc networking software. Each profile may also contain details on the inter-relationship with the network, for instance the control of the wireless interface and what frequencies should be scanned, though this may alternatively be held in the normal operating system profiles. An additional part function of the networking software may be the allocation of an IP address.  
         [0045]     Since there may be no IP allocating server on the network which forms from multiple computers it is necessary that there be a method of allocating an IP address to each profile on the computer. This may either be done by applying a default IP address to each profile or by detecting the class or sub-class of an IP address detected on the ad-hoc network and allocating an unused address within a nominated range.  
         [0046]     To provide unique profile names on the network, since the user name which is normally used as a unique profile identifier may be duplicated on an ad-hoc network, a guaranteed unique identifier is required. This may be assembled from items including unique identifiers available to the computer, these being the MAC address of the network interface, and the unique identifier of the software license instance used by the profile. The IP address may also be included. The identifier would normally be concatenated with the standard user profile name to allow easy extraction of a user name.  
         [0047]     Profiles for users of the network may be extracted from the packets and may be displayed as icons on the screen of computers attached to the network. A simple click on the icon may display details of the profile, or serve to provide a message connection to that user.  
         [0048]     The network itself may also have a unique existence, since it is quite possible for two ad-hoc networks to form independently and expand as new computers join until the network edges overlap. Normally a computer in contact with two networks may act to join them together into one, but the size of a network may be limited for traffic reasons by the TTL setting chosen for the network and in such an instance a computer more than the chosen number of hops away from another will not have contact with it, and can be considered as being in a different network. Clearly the ability to contact various network nodes will vary as devices linked to others enter or leave the network.  
         [0049]     To ensure that each computer has a valid “picture” of the network it may issue a multi-cast or broadcast SCAN_REQUEST at intervals including its profile identification and an additional unique request ID. Receiving units both replicate the request on, to the TTL limit, and return a SCAN_REPLY to the originating computer with their profile and the request ID.  
         [0050]     Individual computers may also broadcast status information when a status change occurs on the computer. Such statuses may include offline, invisible (i.e. not to appear as an accessible computer), busy, idle or some other user chosen status. This information may appear beside a desktop icon of the profile on a remote computer. The information may include the number of network hops to each located computer, unless the originating computer indicates that it prefers not to show this.  
         [0051]     Management of profiles on a computer may be local, via a local management program, or may be via a remote linkage, for instance via HTTP or HTTPS.  
         [0052]     Individual profiles on a computer may also maintain a list of profile data versus the MAC address or IP address of other computers encountered on the network to act as a quick lookup for this information. Where a new computer is encountered on the network the address and profile information may be added to the list, and correspondingly where a computer has not been found on the network or accessed for a specified period it may be deleted from the list. Where a user wishes to contact a specified profile which is not in the listing a SCAN for that particular profile may be initiated.  
         [0053]     The list may also include an attribute to allow marking an address as black-listed, thus preventing the computer and its profile from appearing to the user. Management functions allow the list to be altered at will by the user.  
         [0054]     To provide security within the network the contents of the packets may be encrypted, so that all profile information is encrypted. The encryption and decryption forms part of the content creation and monitoring software.  
         [0055]     Where a computer is capable of working on more than one wireless frequency it may query on all available channels and may act as a router between channels for the network, if its profile allows this. This will essentially allow two or more joined networks to co-exist in the same physical area, with the disadvantage that they will become separated if the routing computer is taken offline or moves out of the area.  
         [0056]     The extensions to the network interface required to allow performance of the invention may be implemented either as hardware or as software.  
         [0057]     It is to be understood that even though numerous characteristics and advantages of the various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and functioning of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail so long as the functioning of the invention is not adversely affected. For example the particular elements of the network interface may vary dependent on the particular application for which it is used without variation in the spirit and scope of the present invention.  
         [0058]     In addition, although the preferred embodiments described herein are directed to computers with network interfaces for use in a TCP/IP system, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems such as NETBEUI, without departing from the scope and spirit of the present invention.