Proxy routing

A method of routing messages destined for a mobile node (6) in a communications system, such as the Internet, including sending the messages to a proxy node (18) according to reachability information recording the current reachability of the mobile node (6), as well as user preference information provided by a service controller (13), which is able to divert an incoming message to an address specified by the user, and in the absence of current location information for the mobile node (6), can intervene to send an incoming message to a default location such as the proxy node (18).

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the routing of data within communications networks, including but not confined to networks such as the Internet and particularly, but not exclusively, to a method of routing data directed to a mobile node. The mobile node may be a mobile host, such as a portable computer, or it may be a router which is responsible for the mobility of one or more entire networks, for example, the mobile data network within an aircraft. In either case, the mobile node may change its point of attachment from one network or subnetwork to another.

The routing of data around the diverse networks which make up the Internet is based on a protocol known as the Internet Protocol (IP). Data is transferred in the form of data units known as IP datagrams between points in the Internet specified by IP addresses. The detailed specification of IP is available in a “Request for Comments” document, RFC 791, maintained by the Internet Engineering Task Force (IETF). RFC documents are widely available on the Internet at, for example, “ftp://ds.internic.net/rfc/rfcxxxx.txt”, where “xxxx” represents the RFC number, so that RFC 791 is available as rfc791.txt.

The current version of IP, known as IPv4, does not itself support mobility, but a protocol entitled “IP Mobility Support”, commonly referred to as Mobile IP, has been designed to enhance IPv4 to support mobility. This protocol is described in document RFC 2002, available as detailed above. The next generation of IP (IPv6) is being specifically designed to deal with the mobility requirement.

IPv4 assumes that a node's IP address uniquely identifies the node's fixed point of attachment to the Internet. If the node is transferred to a different point, it can only be contacted by allocating it a new IP address. Mobile IP, however, enables a mobile node, such as a laptop or palmtop computer, to send and receive IP datagrams over the Internet regardless of the physical location at which it is connected to the Internet and without changing its IP address. One example of the mechanism by which it does so is illustrated inFIGS. 1aand1b.

Referring toFIG. 1a, the Internet comprises a large number of networks and sub-networks1,2,3,4connected via routers5. A router may be a general purpose computer programmed to perform routing tasks. Increasingly, routers throughout the Internet are dedicated pieces of hardware provided by companies such as Cisco Systems, California, USA. In either case, the functionality of a router intended for use in an IP based network is defined in RFC 1812.

A mobile node (MN)6is normally connected to the Internet via a home network1. The unique IP address assigned to the node6is known as its home address. Mobility agents, known as foreign agents (FA) and home agents (HA), advertise their presence on a network via availability messages known as Agent Advertisements. A mobility agent is typically a router connected to a particular network; for example, a home agent7is a router connected to the home network1and a foreign agent8is a router connected to a foreign network2. The mobile node6may optionally solicit an Agent Advertisement message from any local mobility agents via an Agent Solicitation message. By receiving Agent Advertisements, the mobile node6is able to determine whether it is on its home network1or on a foreign network2,3,4.

While the mobile node6is on its home network, it has no need for mobility services. When the mobile node6is temporarily moved to a foreign network2, as shown by the dotted box inFIG. 1a, it obtains a temporary care-of address on the foreign network2. This can be a foreign agent care-of address, which is the IP address of the foreign agent, obtained by receiving or soliciting Agent Advertisements from any foreign agents based on the foreign network2. Alternatively, the care-of address may be obtained by using an external assignment mechanism, such as Dynamic Host Configuration Protocol (DHCP) (the reader is referred to RFC 1541 for further information), in which case it is known as a co-located care-of address.

The mobile node6then registers its new care-of address with its home agent7by exchanging Registration Request and Registration Reply messages with it. Registration provides a mechanism by which mobile nodes can communicate their current reachability information to their home agent. The registration process is described in more detail below, assuming that the mobile node6on the foreign network2is registering a foreign agent care-of address received via an Agent Advertisement from, for example, foreign agent8.

First, the mobile node6sends a Registration Request message to the foreign agent8, which processes it and forwards it to the mobile node's home agent7. The Registration Request message includes the IP address of the foreign agent. The home agent7sends a Registration Reply message to the foreign agent8granting (or denying) the registration request. The foreign agent8processes this Reply and forwards it to the mobile node6. This process establishes a temporary address for the mobile node6to which datagrams can be delivered while the node is roaming away from its home network1.

If the mobile node6is returning to its home network1having been on a foreign network2, it deregisters with its home agent7, through exchange of Registration Request and Registration Reply messages.

Referring toFIG. 1b, when a correspondent node (CN)9attached to a network4sends a message intended for the mobile node6, while it is connected to the foreign network2, the message is intercepted by the home agent7, as shown by arrow A. The home agent7encapsulates the datagrams forming the message with the care-of address for the mobile node6, in this example being the IP address of the foreign agent8, and forwards the message to the foreign agent8.

The transmission of the encapsulated datagrams, shown by arrow B, is known as tunnelling. The foreign agent8receives the datagrams, decapsulates them and forwards them to the mobile node6, as shown by arrow C. Messages from the mobile node6to other nodes in the Internet need not follow this route, but may be sent directly via an appropriate router, which may be foreign agent8.

The concepts of encapsulation and tunnelling are described in detail in RFC 2003, “IP Encapsulation within IP”. The model is that a tunnel is the path followed by a datagram while encapsulated. Encapsulation allows an IP datagram to be hidden from intermediate routers which would incorrectly attempt to route it to the mobile node. Instead, the datagram is routed between the encapsulator and a knowledgeable decapsulator, such as a foreign agent, which can correctly route the datagram. The home agent7and foreign agent8are known as the endpoints of the tunnel. In the case of the co-located care-of address, the mobile node itself acts as an endpoint of the tunnel.

U.S. Pat. No. 5,325,362 (Aziz) and Johnson D B: “Ubiquitous Mobile Host Internetworking”, Proceedings of the workshop on workstation operating systems, 14 Oct. 1993, pp. 85-90, XP000672247, disclose tunnelling schemes which enable efficient routing of data to a mobile node to be maintained when the mobile node moves between its home network and foreign networks.

To enable the tunnelling process described above to function correctly, the home agent7maintains reachability information for the mobile node6, in a form known as a mobility binding. This is the association of the mobile node's identity with a care-of address and a parameter known as the Lifetime, which is the number of seconds remaining before the registration of the node6with the home agent7expires. The aim behind a Lifetime value is to maintain the dynamic nature of the system, with a binding expiring within a set time unless positively maintained by the mobile node6. As an example, the default Router Advertisement Lifetime value, which may be used where a mobile node is registering with a foreign agent which it has acquired via an Agent Advertisement, is 1800 seconds.

On receipt of a Registration Request message, the home agent7creates or modifies the mobility binding, for example, by re-setting the Lifetime value where the Request is a re-registration request and the mobility binding has not yet expired. If the Lifetime value for a given mobility binding expires before a re-registration request has been received, the home agent7deletes the mobility binding from its record. The Registration-Reply message from the home agent7informs the mobile node6(via the foreign agent8) of the status of its Request, including the Lifetime value allocated by the home agent7.

Mobile IP supports multiple simultaneous mobility bindings, so that each mobile node6may register with a number of foreign agents and so obtain a number of care-of addresses. This is particularly useful where a mobile node using a wireless interface to a network, for example an RF interface, moves within range of more than one foreign agent. For example, if the mobile node is a router on an aircraft, then while the aircraft is in flight, the router may from time to time register with a series of foreign agents based on the ground below using a radio link.

In the case of multiple simultaneous mobility bindings, the home agent7retains its existing list of mobility bindings when it receives a Registration Request containing the IP address of a new foreign agent. If the Lifetime value of one mobility binding expires, the home agent7deletes that mobility binding from its record, but retains in its record the other non-expired bindings.

FIG. 2shows a situation in which the mobile node6is within range of two foreign agents10,11. Once the registration process with each foreign agent10,11is complete, Mobile IP provides for the home agent7to tunnel a separate copy of each arriving datagram to each care-of address. The mobile node6will therefore receive multiple copies of each datagram depending on the number of foreign agents with which it is registered, in this case, two. This improves the bit error rate of the transmission.

The very nature of a mobile communications system means that links may be being constantly established, broken and re-established. The home agent7may lose contact with the mobile node6through one foreign agent, only to have it re-established through another foreign agent. However, the home agent7may lose contact with the mobile node6entirely, so that the Lifetime of each of its mobility bindings will eventually expire. When this occurs, the home agent7deletes each mobility binding, when it expires, from its record for that mobile node6. Once all the mobility bindings have expired, the mobile node is no longer reachable through the home agent7. Data sent to the mobile node6cannot therefore be routed to its destination. This type of event is dealt with by a protocol known as the Internet Control Message Protocol (ICMP), which is an integral part of all IP implementations. The functions of ICMP include dealing with error reporting and reachability testing as well as performance measurement and congestion control. In the event that the home agent7has no mobility bindings specifying a route to the mobile node6, the home agent7generates an ICMP Destination Unreachable error report and sends this to the correspondent node9with a code indicating that the destination network is unreachable.

It is also possible for the home agent7to be unaware that the mobile node6is no longer reachable, for instance because the node becomes unreachable soon after re-registering its presence with the home agent7, so that the Lifetime of the corresponding mobility binding has not yet expired. In this case, the home agent7will continue sending encapsulated datagrams through the tunnel, but the foreign agents10,11will be unable to relay these to the mobile node. ICMP error messages will therefore be generated which will be relayed to the correspondent node9as before.

Although ICMP is useful in providing some indication of communication difficulties, it does not resolve the problem of ensuring that data reaches its destination, but simply notifies the existence of a problem. Further, there are times when the mobile node6itself knows that it will be unreachable at its present location and requires some method of call forwarding. It is further inconvenient if, after becoming unreachable, the mobile node6subsequently becomes contactable again and re-registers with the home agent7, but the data destined for it is no longer available.

SUMMARY OF THE INVENTION

To address the above problems, the present invention provides a method of routing data directed to a mobile node in a communications system, comprising the steps of maintaining reachability information for the mobile node and is receiving data directed to the mobile node, characterised by setting a destination to which the received data is to be sent when the reachability information indicates that the mobile node is unreachable.

The data destination may comprise a proxy node and the method may further comprise instructing the proxy node to send received data to the mobile node when the reachability information indicates that the mobile node has become reachable.

The data destination may be set in accordance with a user preference, which may also specify the conditions in which the user specified destination is to be used. Advantageously therefore, the user may control the circumstances in which a proxy destination is used, while the system can be arranged so that if the user does not specify a default destination, such a destination is always provided when the mobile node is not reachable from the home agent.

The reachability information may be a single destination address or a plurality of addresses, such as the care-of addresses provided by a plurality of foreign agents in a mobile IP based system.

The invention further provides a mobile communications system comprising a mobile node, means for maintaining reachability information for the mobile node and means for receiving messages directed to the mobile node, characterised by a service controller configured to set a destination for a message directed to the mobile node when the reachability information indicates that the mobile node is unreachable.

According to the invention, there is further provided a method of routing data directed to a mobile host which is away from its home network, comprising the steps of maintaining a record of locations through which the data can be routed to the mobile host, and in the event that the data cannot be routed to the mobile host through any of the locations specified in the record, then routing the data to an alternative destination from which it is available for subsequent retrieval to the mobile host.

In accordance with the invention, there is also provided a mobile communications system comprising a mobile host movable between its home network and a plurality of connected communications networks, a router configured to route data intended for the mobile host to a location through which the data can be sent to the mobile host, when the mobile host is away from its home network, and a service controller configured to intervene so as to send the data to an alternative location, when the data cannot be sent to the mobile host.

The invention also provides a mobile communications system comprising a mobile node and means for receiving a message directed to the mobile node, characterised by means for controlling the destination to which the message is to be sent in accordance with a user preference.

The system can further comprise means for maintaining reachability information for the mobile node, and the controlling means can be operative to set a user defined destination for the message when the reachability information indicates that the node is unreachable.

The invention further provides a method of routing data directed to a mobile node in a communications system, comprising the steps of receiving data directed to the mobile node, and setting the destination to which the data is to be sent in accordance with a user preference.

DETAILED DESCRIPTION

Referring toFIG. 1b, in a known IP based system such as the Internet, the home agent7plays a passive role in data transmission to the mobile node6. When the home agent7intercepts a data message destined for the mobile node6, its only options are to tunnel the message to the mobile node6based on its record of the current location of that node, or, if it has no reachability information, to return an ICMP error.

Referring toFIG. 3, in a system according to the invention, the home agent7, for example a PC running software which provides routing functionality, is re-configured so that before any datagrams are tunnelled to the foreign agents10,11, a service controller13can intervene. The functions of the service controller13as defined below can be readily implemented in software on a general purpose computer. The service controller13comprises a user interface14as well as processing capability to execute user applications15. It also provides data storage in the form of a temporary store16and a user preferences database17. The principal function of the service controller13is to determine appropriate mobility bindings for the home agent7based on current binding information from the home agent, together with user or system defined preferences.

Where the mobile node6is reachable from the home agent7, the service controller may intervene to set new mobility bindings, where the user preferences specify that it should do so.

In the event that the mobile node6is not reachable from the home agent7, the service controller13can be instructed always to intervene, so that incoming data is always sent to an appropriate destination. This may be, for example, the temporary store16, but, in a preferred embodiment of the invention, the appropriate destination is a proxy node18, which can store data destined for the mobile node6when the mobile node is unavailable, and effectively takes the place of the correspondent node9when the mobile node6subsequently becomes available on the network.

A preferred destination, for use either in particular circumstances, or as a general default destination, may be specified by a user through the user interface14, or by a user application15running on the service controller13. If no preferred destination is specified by the user, the system administrator may in any case set up a default destination, for example the proxy node18.

Preferences requested by a user may be stored in the user preferences database17. The preference may indicate an alternative destination, such as one of a plurality of alternative proxy nodes19a-n, for any messages addressed to the mobile node6and may also contain codes specifying the circumstances in which the alternative destination is to be used. For example, the database17may specify that the alternative destination is only to be used at or after a particular date or time. The database17may further contain multiple destination addresses, each to be used in different circumstances. For example, different destinations may be used in different time periods or in response to different types of message, so that file transfers may be routed to one destination, proxy node19asay, while video calls are routed to another, such as proxy node19b.

The above examples are not intended to be limiting, since the database17may store any data format so as to allow the service controller13to be configured to provide intelligent network services in line with the requirements of any particular system with which the service controller13is used.

The operation of the system is described below with reference to FIG.3.

When a message, in the form of a stream of datagrams, is received from a correspondent node9destined for the mobile node6, the home agent7checks its internal record for unexpired mobility bindings for that node.

If the home agent's record reveals no mobility bindings recorded for the mobile node6, the home agent7signals the service controller13. The service controller13then examines the user preferences database17and provides the home agent7with a default binding which is active only when there are no other bindings. If no user preference is supplied, the service controller13uses the default provided by the system administrator.

While the mobile node6is unavailable, and so the default binding is active, any message intended for the mobile node6will be tunnelled to the preferred destination, for example, the proxy node18. The proxy node18decapsulates the message and stores it. When the home agent7receives a message from the correspondent node9, the service controller13may also instruct the home agent7to send back a message, for example, a previously stored user message, to the correspondent node9.

At some time after the message from the correspondent node9is sent, the mobile node6becomes available again, either on its home network1, in which case it deregisters with the home agent7, or on a foreign network2,3,4, in which case it re-registers a new care-of address with the home agent7. In either case, the home agent7updates the service controller13, which instructs the proxy node18to send the stored message to the mobile node6. As far as the mobile node6is concerned, the proxy node18therefore takes the place of the correspondent node9and sends the stored message to the mobile node6in accordance with the conventional Mobile IP protocol. For example, if the mobile node6has returned to its home network1, then the proxy node18sends the message directly to the mobile node6, ignoring the home agent7. If, on the other hand, the mobile node6is on a foreign network2,3,4and registered with the home agent7, the proxy node18sends the message to the home agent7for onward transmission to the mobile node6through the appropriate care-of address.

To deal with the possibility that the home agent7is unaware that the mobile node6is no longer reachable, for instance because the node becomes unreachable soon after re-registering its presence with the home agent7, the foreign agents10,11are configured to send back all ICMP error messages to the home agent7, so that the home agent7can modify the bindings. This ensures that such error messages are not sent back to the correspondent node9, so that, as far as the correspondent node9is concerned, the mobile node6is available to it, and the message will be routed in accordance with the settings specified at the service controller13.

Where the home agent's record contains unexpired mobility bindings in respect of at least one of the foreign agents10,11, the home agent7then requests the service controller13to check whether a user preference is recorded in the user preferences database17. As described above, the user database17also records information indicating the circumstances in which the user preference is to be used. If no user preference is indicated, or if the conditions or circumstances of use are not satisfied, the home agent7sends the message to the mobile node6via the appropriate foreign agents10,11. If an active user preference is found, the service controller13acts in accordance with that preference to amend the home agent's mobility bindings. For example, the preference may specify that, despite the mobile node6being reachable, messages should be sent to proxy node19aduring some predetermined period. The service controller13therefore amends the home agent's mobility bindings at the appropriate times so as to put the preference into effect. At the expiry of the predetermined period, the service controller13instructs the proxy node19ato send the stored message to the mobile node6in accordance with the conventional Mobile IP protocol, as described above.

The system described above is capable of working with real-time telecommunications services such as video calls, enabling on-the-fly redirection of such services to a mobile node via a proxy node when the mobile node is unavailable.

Although the above examples have been described with reference to the internet, the invention is applicable to any network based on the Internet Protocol and the principles may be extended to systems based on other network protocols.