Mobile communication system, mobile terminal transfer device, and mobile communication method

A mobile communication system comprises a plurality of transfer devices configured to transfer packets to a visited position of a mobile terminal, a plurality of connection management devices arranged in a network and configured to connect to the mobile terminal, and a mobile terminal including a detection unit configured to detect the transfer device, and a communication unit configured to connect to the connection management device, and transmit/receive packets to/from the transfer device detected by the detection unit via the connection management device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. P2002-294209, filed on Oct. 7, 2002; the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a mobile communication system, a mobile terminal, a transfer device, and a mobile communication method.

2. Description of the Related Art

In a conventional mobile communication system, a base station conducts both connection management when a mobile terminal connects to the base station, and mobility management for ensuring mobility of a mobile terminal such as buffering and transfer of packets. Therefore, the base station and mobile terminal are designed and managed so that connection management and mobility management may coexist and be optimized.

Furthermore, in recent years, a mobility management scheme called HMIP (Hierarchical Mobile IPv6) is under consideration In HMIP, an access router for conducting connection management and a mobility anchor point for conducting mobility management are placed at different sites rather than at one site. Therefore, a mobile terminal needs to grasp a mobility anchor point used for mobility management. Accordingly, in an access router, the addresses of mobility anchor points in the neighborhood of the access router are previously set. Further, the mobile terminal is notified by the access router connected thereto of the preset address of the mobility anchor point, and thereby grasps the mobility anchor point.

However, in the case where a base station conducts both connection management and mobility management, a connection management service and a mobility management service are provided in an integrated manner. Also in HMIP in which an access router for conducting connection management and a mobility anchor point for conducting mobility management are placed at different sites, since the address of a mobility anchor point needs to be set in the access router, a connection management service and a mobility management service are provided in an integrated manner.

As a result, a user of the mobile terminal has a problem of small flexibility to select a service, because the user must always use the connection management service and mobility management service as a set. Furthermore, a communications carrier that provides services to mobile terminals has also a problem of failing to sufficiently acquire users of the mobility management service, because it can provide the mobility management service only to the users who use the connection management service it provides.

Furthermore, in the case where one attempts to provide a connection management service and a mobility management service separately, the following new problem occurs. Since an access router for providing a connection management service and a mobility anchor point for providing a mobility management service are separately placed and controlled, the address of the mobility anchor point cannot be previously set in the access router. As a result, a mobile terminal cannot be notified the address of the mobility anchor point by the access router. Therefore, the mobile terminal must be able to grasp a transfer device such as a mobility anchor point by itself. Furthermore, the mobility anchor point cannot also cause the access router to notify the mobile terminal of the address of the mobility anchor point. Therefore, a transfer device such as a mobility anchor point must be able to make the existence of the mobility anchor point known to a mobile terminal by itself.

Furthermore, a transfer device for conducting mobility management such as a mobility anchor point must be able to provide a mobility management service such as transfer of packets only to the mobile terminals used by subscribers of the mobility management service.

BRIEF SUMMARY OF THE INVENTION

An object of the present invention is to enable a connection management service and a mobility management service to be separately provided.

A mobile communication system according to the present invention comprises a plurality of transfer devices configured to transfer packets to a visited position of a mobile terminal, a plurality of connection management devices arranged in a network and configured to connect to the mobile terminal, and the mobile terminal including a detection unit configured to detect the transfer device and a communication unit configured to connect to the connection management device, and transmit/receive packets to/from the transfer device detected by the detection unit via the connection management device.

Furthermore, a mobile terminal according to the present invention comprises a detection unit configured to detect a transfer device transferring packets to a visited position of the mobile terminal, and a communication unit configured to connect to a connection management device arranged in a network and connecting to the mobile terminal, and transmit/receive packets to/from the transfer device detected by the detection unit via the connection management device.

According to the mobile communication system and the mobile terminal as described above, the detection unit detects a transfer device. Further, the communication unit connects to a connection management device and transmits/receives packets to/from the transfer device detected by the detection unit. Therefore, the mobile terminal can detect and grasp a transfer device by itself. Further, the mobile terminal can transmit/receive packets to/from the detected transfer device via the connecting connection management device. Therefore, a connection management service conducted by using a connection management device and a mobility management service conducted by using a transfer device can be separately provided to the mobile terminal.

A transfer device according to the present invention comprises a transfer device information storage unit configured to store addresses of a plurality of transfer devices, a notification packet creation unit configured to acquire the address of the transfer device stored in the transfer device information storage unit and create a notification packet for notifying the address of the transfer device, and a communication unit configured to transmit/receive packets to/from a mobile terminal, via a connection management device arranged in a network and connecting to the mobile terminal, transmit the notification packet created by the notification packet creation unit, and transfer packets to a visited position of the mobile terminal.

According to the transfer device as described above, the notification packet creation unit creates a notification packet for notifying the transfer device, based on the address of the transfer device stored in the transfer device information storage unit. Further, the communication unit transmits the notification packet to the mobile terminal. Therefore, the transfer unit can make the existence of the transfer unit known to the mobile terminal by itself. Therefore, the transfer device can receive notice of the address indicating the visited position from the mobile terminal, which has notified of its own existence, and can transfer packets to the visited position of the mobile terminal. Therefore, a connection management service conducted by using a connection management device and a mobility management service conducted by using a transfer device can be separately provided to the mobile terminal.

Another transfer device according to the present invention comprises a communication unit configured to transmit/receive packets to/from a mobile terminal via a connection management device arranged in a network and connecting to the mobile terminal, and transfer packets to a visited position of the mobile terminal, a determination unit configured to determine whether a packet received by the communication unit is a packet from a mobile terminal allowed to use packet transfer performed by the transfer device, and a transfer management unit configured to manage transfer of packets to the visited position based on a determination result by the determination unit.

According to the transfer device as described above, the determination unit determines whether a received packet is a packet from a mobile terminal allowed to use packet transfer performed by the transfer device. Further, the transfer management unit manages transfer of packets to the visited position of the mobile terminal, based on the determination result. Therefore, the transfer device can conduct packet transfer to the visited position only for such mobile terminals allowed to use packet transfer performed by the transfer device as mobile terminals used by the subscribers of the mobility management service. Accordingly, the mobility management service can be provided only to the subscribers of the mobility management service. Therefore, a connection management service conducted by using a connection management device and a mobility management service conducted by using a transfer device can be separately provided to the mobile terminal.

A mobile communication method according to the present invention comprises detecting a transfer device transferring packets to a visited position of a mobile terminal, by the mobile terminal, connecting to a connection management device arranged in a network and connecting to the mobile terminal, by the mobile terminal, and transmitting/receiving packets to/from a detected transfer device via the connection management device, by the mobile terminal.

Another mobile communication method according to the present invention comprises, determining whether a packet received from a mobile terminal via a connection management device arranged in a network and connecting to the mobile terminal is a packet from a mobile terminal allowed to use packet transfer performed by a transfer device transferring packets to a visited position of the mobile terminal, and managing transfer of packets to the visited position based on a determination result, by the transfer device.

DETAILED DESCRIPTION OF THE INVENTION

First Embodiment

As shown inFIG. 1, the mobile communication system1comprises a plurality of mobility anchor points (hereafter referred to as MAPs)10, a plurality of mobile nodes (hereafter referred to as MNs)20, a plurality of access routers (hereafter referred to as ARs) (A)30a, a plurality of AR(B)'s30b, a plurality of AR(C)'s30c, an access network (A)40a, an access network (B)40b, an access network (C)40c, and a backbone network50. The mobile communication system1uses a mobility management scheme called HMIP (Hierarchical Mobile IPv6).

This mobile communication system1is constructed and managed by a communications carrier A (hereafter referred to as Carrier A), communications carrier B (hereafter referred to as Carrier B), and communications carrier C (hereafter referred to as Carrier C). The backbone network50is a backbone IP network extending across all the areas. The access network (A)40a, access network (B)40band access network (C)40care local IP networks each extending over a part of the areas. The backbone network50and access network (A)40aare constructed and managed by Carrier A. The access network (B)40bis constructed and managed by Carrier B. The access network (C)40cis constructed and managed by Carrier C. Incidentally, the access network (A)40aand access network (B)40bare networks larger than the access network (C)40c. The access network (C)40cis a network smaller than the access network (A)40aand access network (B)40b.

Carrier A provides a connection management service for the MN20to connect to the network (A)40a. Furthermore, Carrier A provides a mobility management service such as transfer of packets to a visited position of the MN20and buffering of packets for ensuring that the MN20can receive packets even if it moves. Carrier B provides a connection management service for the MN20to connect to the network (B)40b. Carrier C provides a connection management service for the MN20to connect to the network (C)40c. Therefore, Carrier A arranges a plurality of AR(A)'s30ain the access network (A)40afor providing a connection management service. Furthermore, Carrier A arranges a plurality of MAPs10in the access network (A)40a, in the access network (B)40b, and at a boundary between the access network (C)40cand backbone network50.

In this case, Carrier A pays an arrangement toll to Carrier B to get permission to arrange a MAP10in the access network (B)40b. Carrier B arranges a plurality of AR(B)'s30bin the access network (B)40bfor providing a connection management service. Carrier C arranges a plurality of AR(C)'s30cin the access network (C)40cfor providing a connection management service.

In the present embodiment, the user of the MN20has a contract with Carrier A for using a mobility management service. Furthermore, the user of the MN20has a contract with Carrier A, Carrier B and Carrier C for using a connection management service. Therefore, in the access network (A)40a, the MN20can connect to the AR(A)30aand receive the connection management service. The MN20can receive the mobility management service using a MAP10of Carrier A arranged in the access network (A)40a. Furthermore, in the access network (B)40b, the MN20can connect to the AR(B)30band receive the connection management service. The MN20can receive the mobility management service using a MAP10of Carrier A arranged in the access network (B)40b. Furthermore, in the access network (C)40c, the MN20can connect to the AR(C)30cand receive the connection management service. The MN20can receive the mobility management using a MAP10of Carrier A arranged at the boundary of the access network (C)40cand backbone network50.

The MAP10is a transfer device for conducting mobility management to transfer packets to a visited position of the MN20. When the MN20conducts handoff, the MAP10also conducts receiving and temporarily buffering of packets directed to the MN20, and transferring of them to the visited position after the handoff. The MAP10can improve quality of the mobility management service by buffering. Incidentally, the MAP10needs not necessarily buffering.

In order to conduct such transfer of packets to the MN20, the MAP10stores binding information. Specifically, the MAP10receives from the MN20a packet for notifying a terminal care of address, which indicates a visited position of the MN20(hereafter referred to as binding update packet). For example, the MAP10receives from the MN20a binding update packet for notifying a home address which is a unique IP address assigned to the MN20, and a terminal care of address which indicates the visited position of the MN20. Here, in the terminal care of address, which indicates the visited position of the MN20, there is a on link care of address (hereafter referred to as LCoA). The LCoA is created from a network prefix of the IP address of the AR to which the MN20connects, and a host identity of the IP address assigned to the MN20. In this case, the MAP10binds the home address and LCoA of the MN20with each other, and stores the binding as binding information.

Or the MAP10may receive from the MN20a binding update packet for notifying a network care of address which includes data specifying a network in which a MAP10used by the MN20for transfer of packets exists, and the terminal care of address. Here, in the network care of address, there is a regional care of address (hereafter referred to as RCoA). The RCoA is created from a network prefix of the IP address of the MAP10used by the MN20for transfer of packets, and the host identity of the IP address assigned to the MN20. In this case, the MAP10binds the RCoA and LCoA of the MN20with each other, and stores the binding as binding information. Furthermore, the MAP10also receives from the MN20a buffering request packet for requesting buffering of packets and a buffering cancellation packet for canceling buffering.

The MAP10grasps MAPs located in its own neighborhood (hereafter referred to as neighbor MAPs) by searching and detecting other MAPs. The MAP10notifies the MN20of the address of the MAP10and makes the existence of the MAP10known to the MN20. Furthermore, the MAP10determines whether a packet received from a MN20is a packet from a MN20allowed to use packet transfer performed by the MAP10, and authenticates it. In other words, a determination is made whether it is a packet from a MN20used by a subscriber who has made a contract with Carrier A for using a mobility management service. Then, only if it is a packet from a MN20allowed to use packet transfer, the MAP10transfers the packet to a visited position of the MN20, which has transmitted the packet.

MAPs10are arranged according to the size of the access network. In the case of a large network like the access network (A)40aand access network (B)40b, MAPs10are arranged in the access network (A)40aand in the access network (B)40b, in a distributed manner as shown inFIG. 1. As a result, since a MAP10can be near the MN20even in a large network, the delay value in packet transfer between the MAP10and MN20can be reduced.

On the other hand, in the case of a small network like the access network (C)40c, a MAP10is arranged at the boundary between the access network (C)40cand backbone network50, which is outside the access network (C)40c, as shown inFIG. 1. In the case of this access network (C)40c, since the network is small, the MAP10can be located near the MN20, and the delay value in packet transfer between the MAP10and MN20can be sufficiently reduced, even if the MAP10is arranged outside the access network (C)40c. In this case, since Carrier A does not need to pay an arrangement toll to Carrier C for getting permission to arrange a MAP10in the access network (C)40c, the arrangement cost can be reduced. In this way, by arranging MAPs10according to the size of the network, they can be suitably arranged so that the delay value in packet transfer between the MAP10and MN20may not become large, and the performance of mobility management can be improved.

The AR(A)30ato AR(C)30care connection management devices, which connect to the MN20. The AR(A)30ato AR(C)30cconnect to the MN20via radio links. The AR(A)30ato AR(C)30cmanage handoff, which the MN20moves and switches ARs to which it connects. The AR(A)30ato AR(C)30creceive a packet transmitted from the MN20connecting to the AR itself via a radio link, and transfer it to a MAP10used by the MN20. Furthermore, the AR(A)30ato AR(C)30creceive a packet directed to the MN20connecting to the AR itself via radio link, from a MAP10used by the MN20, and transmit it to the MN20. Incidentally, the AR(A)30ato AR(C)30cconnect only to the MN20used by a subscriber who has made a contract for using an connection management service with Carrier A to Carrier C, respectively. Furthermore, as shown inFIG. 1, the AR(A)30ato AR(C)30care arranged in the access network (A)40ato access network (C)40c, respectively, in a distributed manner.

The MN20is a mobile terminal, which connects to the AR(A)30ato AR(C)30c, and transmits/receives packets to/from a MAP10, via the AR(A)30ato AR(C)30cconnecting as represented by a dot line inFIG. 1. The MN20connects to the AR(A)30ato AR(C)30cvia a radio link. Incidentally, the MN20connects to the AR(A)30ato AR(C)30cof Carrier A to Carrier C, respectively, with which it has made a contract for using an connection management service. The MN20grasps neighbor MAPs by searching and detecting MAPs10. From among them, the MN20selects a MAP10to use for transfer of packets, and transmits a binding update packet to the selected MAP10. Specifically, the MN20transmits a binding update packet for notifying the MAP10of the home address and LCoA of the MN20, or a binding update packet for notifying the MAP10of the RCoA and LCoA of the MN20. Furthermore, the MN20also transmits a buffering request packet and buffering cancellation packet to the selected MAP10. Incidentally, the MN20transmits the binding update packet and buffering request packet to the MAP10of Carrier A with which it has made a contract for using a mobility management service.

Here, there are various criteria for determining whether the distance between nodes is short, for example between a MAP10and MN20, and between a MAP10and other MAP10. Therefore, the neighbor MAP means a nearby MAP, but may differ depending upon the decision criterion. For example, there are various decision criteria as to whether the distance between nodes is short, such as a shorter delay value in packet transmission between nodes, a smaller number of hops between nodes, a lower cost in packet transmission between nodes, a larger link capacity between nodes, a better propagation path between nodes, a larger processing capability of the node, a smaller traffic volume in the node, a smaller number of nodes using the node, and a lower transmission power of the node, a higher reliability of the node, all of which indicate a shorter distance. Furthermore, as for the decision criterion, a plurality of parameters for criterion may also be combined. Incidentally, as the decision criterion as to whether the distance between nodes is short, a suitable criterion can be used for a node. Furthermore, for the decision criterion as to whether the distance is short, various decision criteria can be used depending upon the routing protocol adopted by the mobile communication system1.

Since there are various decision criteria as to whether the distance between nodes is short, there are various kinds of information required for the decision as to whether the distance between nodes is short (hereafter referred to as remoteness/nearness decision information). For example, in the remoteness/nearness decision information, there are the delay value in packet transmission between nodes, the number of hops between nodes, the cost in packet transmission between nodes, the link capacity between nodes, the propagation path information between nodes, the processing capability of the node, the traffic volume of the node, the number of nodes using the node, the transmission power of the node, and the reliability of the node. In the present embodiment, a decision criterion that a smaller delay value in packet transmission between nodes indicates a shorter distance is used as the decision criterion for determining whether the distance between nodes is short. Furthermore, as the remoteness/nearness decision information, the delay value in packet transmission between nodes is used.

The MAP10will now be described with reference toFIG. 2. As shown inFIG. 2, the MAP10comprises an application unit11, a TCP/UDP (Transmission Control Protocol/User Data gram Protocol) unit12, an IP layer unit13, a mobility management unit14, a binding information storage unit14a, a buffer14b, an NMDP (Neighbor MAP Discovery Protocol) unit15, a second table15a, a neighbor MAP table16, a determination unit17, a subscriber database17a, a link layer unit18, and an interface19.

The application unit11has various applications installed therein. The application unit11inputs data to the TCP/UDP unit12, and acquires data from the TCP/UDP unit12. The TCP/UDP unit12conducts control of the TCP/UDP level. The TCP/UDP unit12adds a TCP/UDP header to the data acquired from the application unit11, and inputs resultant data to the IP layer unit13. Furthermore, the TCP/UDP unit12removes a TCP/UDP header from data acquired from the IP layer unit13, and supplies resultant data to a suitable application in the application unit11according to the content of the data.

The IP layer unit13conducts control of the IP level. The IP layer unit13adds an IP header to the data with the TCP/UDP header added thereto acquired from the TCP/UDP unit12, and inputs resultant data to the link layer unit18. Furthermore, the IP layer unit13removes an IP header from the data acquired from the link layer unit18, and inputs resultant data to the TCP/UDP unit12.

Furthermore, the IP layer unit13acquires from the link layer unit18a packet for mobility management, such as a binding update packet, buffering request packet and buffering cancellation packet from the MN20to the MAP10, a packet directed to a home address of the MN20, or a packet directed to a RCoA of the MN20, and inputs the packet to the mobility management unit14. Furthermore, the IP layer unit13acquires from the mobility management unit14a response packet in response to a binding update packet (hereafter referred to as binding update ACK packet) from the MAP10to the MN20, or a packet encapsulated by a header with its destination address being a LCoA, and inputs the packet to the link layer unit18.

Furthermore, the IP layer unit13acquires a MAP notification packet for notifying the address of a MAP10, a MAP notification initiator packet or a MAP query packet from the link layer unit18, and inputs it to the NMDP unit15. Furthermore, the IP layer unit13acquires a MAP notification packet, MAP notification initiator packet or MAP query packet from the NMDP unit15, and inputs it to the link layer unit18. Here, the MAP notification packet is a notification packet for notifying an address of a transfer device, that is, a packet for notifying an address of a MAP10as a transfer device. The MAP notification initiator packet is a notification initiator packet for requesting other transfer device to transmit a notification packet, that is, a packet for requesting a MAP10as a transfer device to transmit a MAP notification packet. The MAP query packet is a packet for searching for a transfer device, that is, a packet for searching for a MAP10as a transfer device.

The mobility management unit14is a transfer management unit configured to manage transfer of packets to a visited position of the MN20. The binding information storage unit14astores binding information required when the mobility management unit14manages transfer of packets. The buffer14btemporarily stores packets directed to the MN20.

Specifically, first, the mobility management unit14acquires from the IP layer unit13a packet concerning mobility management such as a binding update packet or buffering request packet transmitted from the MN20. The mobility management unit14temporarily inputs the acquired packet concerning mobility management to the determination unit17, and causes it to determine whether the packet received by the MAP10is a packet from a MN20allowed to use packet transfer performed by the MAP10. The packet is returned to the mobility management unit14only if the determination result indicates that it is a packet from a MN20allowed to use packet transfer.

First, the case where the mobility management unit14acquires a binding update packet will be described. The mobility management unit14conducts binding of addresses based on the binding update packet. When the mobility management unit14acquires from the MN20a binding update packet for notifying a home address and LCoA of the MN20, it binds the home address and LCoA of the MN20included in the binding update packet with each other. The mobility management unit14records the binding between the home address and LCoA of the MN20as binding information in the binding information storage unit14a.

When the mobility management unit14acquires from the MN20a binding update packet for notifying a RCoA and LCoA of the MN20, it binds the RCoA and LCoA of the MN20included in the binding update packet with each other. The mobility management unit14records the binding between the RCoA and LCoA of the MN20as binding information in the binding information storage unit14a. Finally, the mobility management unit14creates a binding update ACK packet that is a response to the binding update packet, and inputs it to the IP layer unit13.

After such binding of addresses, if the mobility management unit14acquires a packet directed to a home address of the MN20or a packet directed to a RCoA of the MN20from the IP layer unit13, then it acquires a LCoA bound with the home address or RCoA from the binding information storage unit14a. Further, the mobility management unit14encapsulates the packet directed to the home address of the MN20or the packet directed to the RCoA of the MN20, by using a header with its destination address being the LCoA, and supplies it to the IP layer unit13. In this way, the mobility management unit14functions as a transfer management unit configured to manage transfer of packets to the visited position of the MN20based on a determination result of the determination unit17.

Next, the case where the mobility management unit14acquires a buffering request packet will be described. When the mobility management unit14acquires a packet from the IP layer unit13directed to a home address or the RCoA of the MN20for which the buffering request is received, then it conducts temporary buffering by storing the packet in the buffer14b. Thereafter, the mobility management unit14acquires from the IP layer unit13a buffering cancellation packet from the MN20, which has completed handoff. Further, the mobility management unit14terminates buffering, and transfers the packet stored in the buffer14bto a visited position of the MN20, after handoff. Specifically, the mobility management unit14encapsulates the packet stored in the buffer14b, by using a header with its destination address being the LCoA that indicates the visited position of the MN20after handoff, and supplies it to the link layer unit18. In this way, the mobility management unit14also conducts buffering management.

The NMDP unit15conducts control for making the existence of the MAP10known to the MN20by notifying the MN20of the address of the MAP10, or control for supplying information concerning the MAP10to the MN20. Furthermore, the NMDP unit15controls the search for and detection of other MAPs. Specifically, the NMDP unit15conducts creation and processing of a MAP notification packet, MAP notification initiator packet and MAP query packet. For example, the NMDP unit15creates a MAP notification packet, MAP notification initiator packet or MAP query packet based on the neighbor MAP table16, the second table15a, and the acquired MAP notification packet, MAP notification initiator packet or MAP query packet, and inputs it to the IP layer unit13. In other words, the NMDP unit15functions as a query packet creation unit configured to create a MAP query packet which is a query packet, a notification packet creation unit configured to create a MAP notification packet which is a notification packet, and an initiator packet creation unit configured to create a MAP notification initiator packet which is a notification initiator packet.

Furthermore, the NMDP unit15conducts MAP detection, decision of inter-transfer-device information concerning the relation between MAPs, and update of the neighbor MAP table16and second table15abased on the neighbor MAP table16, second table15a, acquired MAP notification packet and the like. In other words, the NMDP unit15functions as a detection unit configured to detect other MAPs10, a decision unit configured to decide inter-transfer-device information, and an update unit configured to update the neighbor MAP table16and second table15a.

The second table15astores information required for searching other MAPs10and the update of the neighbor MAP table16, and information on the MAP10itself. The neighbor MAP table16is a transfer device information storage unit configured to store addresses of a plurality of MAPs10. The neighbor MAP table16stores information concerning a plurality of neighbor MAPs.

The determination unit17determines whether a packet received by the interface19is a packet from a MN20allowed to use packet transfer performed by the MAP10, and authenticates user. The subscriber database17ais a terminal information storage unit configured to store terminal information unique to each MN20allowed to use the packet transfer. For example, when the user of the MN20makes a contract with Carrier A for using the mobility management service, the user is assigned a user ID and registers a password. The subscriber database17astores, for example, a user ID assigned to the user of each MN20, and a password, which the user of each MN20has registered, as the terminal information unique to each MN20allowed to use the packet transfer.

The determination unit17acquires from the mobility management unit14a packet concerning mobility management such as a binding update packet or buffering request packet, which has been transmitted from the MN20and received by the interface19. The determination unit17determines whether the received packet is a packet from a MN20allowed to use packet transfer performed by the MAP10, based on whether information such as a user ID or password concerning the MN20included in the binding update packet or buffering request packet acquired from the mobility management unit14coincides with the terminal information such as a user ID or password unique to each MN20allowed to use the packet transfer stored in the subscriber database17a.

As a result of comparing the information such as a user ID or password concerning the MN20included in the binding update packet or buffering request packet acquired from the mobility management unit14, with the terminal information such as a user ID or password unique to each MN20allowed to use the packet transfer stored in the subscriber database17a, when they coincide with each other, the determination unit17determines that the received packet is a packet from a MN20allowed to use packet transfer performed by the MAP10. In this case, the determination unit17returns to the mobility management unit14the binding update packet or buffering request packet acquired from the mobility management unit14. On the other hand, as a result of the comparison, when they do not coincide with each other, the determination unit17determines that the received packet is not a packet from a MN20allowed to use packet transfer performed by the MAP10. In this case, the determination unit17discards the binding update packet or buffering request packet acquired from the mobility management unit14. As a result, only when the packet is a packet from a MN20allowed to use packet transfer, the MAP10can conduct transfer of the packet to a visited position of the MN20, which has transmitted the packet.

The link layer unit18conducts control of the data link level. The link layer unit18adds a header of data link level to data having an IP header acquired from the IP layer unit13, and inputs resultant data to the interface19. Furthermore, the link layer unit18removes a header of data link level from data acquired from the interface19, and supplies resultant data to the IP layer unit13.

The interface19is a communication unit configured to transmit/receive packets to/from the MN20via the AR(A)30ato AR(C)30c. The interface19connects to the AR(A)30ato AR(C)30cvia a radio link. The interface19transmits a binding update ACK packet, a packet encapsulated by a header with its destination address being a LCoA, a MAP notification packet, a MAP notification initiator packet and a MAP query packet to other MAP10or the MN20. Further, the interface19inputs a packet received from other MAP10or the MN20such as a binding update packet, a buffering request packet, a buffering cancellation packet, a packet directed to a home address of the MN20, a packet directed to a RCoA of the MN20, a MAP notification packet, a MAP notification initiator packet and a MAP query packet, to the link layer unit18.

The MN20will now be described with reference toFIG. 3. As shown inFIG. 3, the MN20comprises an application unit21, a TCP/UDP unit22, an IP layer unit23, a mobility management unit24, a management information storage unit24a, an NMDP unit25, a second table25a, a MAP selection policy storage unit25b, a neighbor MAP table26, a link layer unit28, and an interface29.

The application unit21is generally the same as the application unit11in the MAP10. The application unit21, however, sets a MAP selection policy. The MAP selection policy is a selection criterion for selecting a MAP10to be used by the MN20for transfer of packets. The MAP selection policy can be determined, for example, with respect to parameters of the MAP10, such as the reliability, processing capability, traffic volume, the number of MNs20using the MAP10, transmission power value, a degree of the remoteness/nearness, a delay value in packet transmission between the MAP10and MN20, the number of hops between the MAP10and MN20, the cost in packet transmission between the MAP10and MN20, the link capacity between the MAP10and MN20, and propagation path information between the MAP10and MN20. Furthermore, the MAP selection policy may be determined with respect to a single parameter, or may be determined by combining a plurality of parameters.

The application unit21records and sets the determined MAP selection policy in the MAP selection policy storage unit25b. When the application unit21has newly determined a MAP selection policy, then the application unit21updates and re-sets the MAP selection policy stored in the MAP selection policy storage unit25b. The user of the MN20or the system designer of the mobile communication system1may set the MAP selection policy.

The MAP selection policy storage unit25bis a selection criterion storage unit configured to store a selection criterion for selecting a MAP10to be used for the transfer of packets. The MAP selection policy storage unit25bstores a MAP selection policy set by the application unit21. Incidentally, the MAP selection policy storage unit25bmay store a MAP selection policy set by the user of the MN20or the system designer of the mobile communication system1. In the present embodiment, the MAP selection policy storage unit25bstores a MAP selection policy represented as “a MAP located nearest and included in MAPs provided by Carrier A and having processing capability of at least ‘high’”. A MAP located nearest is a MAP having a minimum delay value in packet transmission between the MAP and MN.

The TCP/UDP unit22is substantially the same as the TCP/UDP unit12in the MAP10. Furthermore, the IP layer unit23is also generally the same as the IP layer unit13in the MAP10. However, the IP layer unit23acquires from the link layer unit28a binding update ACK packet from the MAP10to the MN20, and supplies the packet to the mobility management unit24. Furthermore, the IP layer unit23acquires from the mobility management unit24a packet for mobility management, such as a binding update packet, buffering request packet and buffering cancellation packet from the MN20to the MAP10, and inputs the packet to the link layer unit28. The IP layer unit23acquires a MAP notification packet for notifying the address of the MAP10from the link layer unit28, and inputs the packet to the NMDP unit25. The IP layer unit23acquires a MAP query packet from the NMDP unit25, and supplies the packet to the link layer unit28.

The NMDP unit25controls the search for and detection of a MAP. Specifically, the NMDP unit25conducts creation of a MAP query packet and processing of the acquired MAP notification packet. For example, the NMDP unit25creates a MAP query packet based on the neighbor MAP table26and second table25a, and inputs it to the IP layer unit23. In other words, the NMDP unit25functions as a query packet creation unit configured to create a MAP query packet, which is a query packet. Furthermore, the NMDP unit25conducts MAP detection, decision of inter-mobile-terminal information concerning the relation between the MAP10and MN20, and update of the neighbor MAP table26and second table25a, based on the neighbor MAP table26, second table25aand acquired MAP notification packet. In other words, the NMDP unit25functions as a detection unit configured to detect a MAP10, a decision unit configured to decide inter-mobile-terminal information, and an update unit configured to update the neighbor MAP table26and second table25a.

In addition, the NMDP unit25also functions as a selection unit configured to select a MAP10to be used for transfer of packets. The NMDP unit25selects a MAP10to be used, from among the MAPs10detected by the NMDP unit25, based on the MAP selection policy stored in the MAP selection policy storage unit25b. In other words, the NMDP unit25selects an optimum MAP10satisfying the MAP selection policy, by comparing the MAP selection policy stored in the MAP selection policy storage unit25bwith the detected MAPs10. The NMDP unit25notifies the mobility management unit24of an address of the selected MAP10.

The mobility management unit24conducts mobility management such that the MN20can transmit/receive packets even if it moves. The mobility management unit24conducts management so as to receive packets using the MAP10, which the NMDP unit25has detected and selected. The management information storage unit24astores information concerning mobility management such as the address of the MAP10selected by the NMDP unit25, the LCoA and RCoA. Furthermore, the management information storage unit24astores information concerning the MN20required for user authentication such as a user ID assigned and a password registered when the user of the MN20made a contract with Carrier A for using a mobility management service.

Specifically, first, the mobility management unit24receives from the NMDP unit25a notice of an address of the MAP10selected by the NMDP unit25. The mobility management unit24records the address of the MAP10, which the NMDP unit25has notified, to the management information storage unit24a. Next, the mobility management unit24obtains a LCoA and RCoA. The mobility management unit24obtains a LCoA by creating for itself the LCoA from a network prefix of the IP address of the AR to which the MN20connects via radio link, and a host identity of the IP address assigned to the MN20. The mobility management unit24obtains a RCoA by creating for itself the RCoA from a network prefix of the IP address of the MAP10used by the MN20for transfer of packets, and a host identity of the IP address assigned to the MN20. The mobility management unit24records the obtained LCoA and RCoA to the management information storage unit24a.

Next, the mobility management unit24creates a binding update packet to be transmitted to the MAP10, which the NMDP unit25has detected and selected. The mobility management unit24acquires a LCoA of the MN20and information concerning the MN20required for user authentication such as user ID and password, from the management information storage unit24a. Further, the mobility management unit24creates a binding update packet which includes a home address and a LCoA of the MN20, and information concerning the MN20required for user authentication such as user ID and password, and which is directed to the MAP10detected and selected by the NMDP unit25. Or the mobility management unit24may acquire a RCoA and LCoA of the MN20from the management information storage unit24aand create a binding update packet which includes a RCoA and LCoA of the MN20, and information concerning the MN20required for user authentication such as user ID and password, and which is directed to the MAP10detected and selected by the NMDP unit25. The mobility management unit24inputs the created binding update packet to the IP layer unit23and causes the interface29to transmit it to the MAP10. Finally, the mobility management unit24can grasp the completion of notice of the address, by acquiring from the IP layer unit23a binding update ACK packet, which is a response to the binding update packet transmitted from the MAP10.

Packets can be transferred from the MAP10to the MN20by transmitting such a binding update packet to the MAP10. Thus by creating a binding update packet and causing the interface29to transmit it, the mobility management unit24manages so that MN20receives transfer of packets using the MAP10, which the NMDP unit25has detected and selected.

Furthermore, the mobility management unit24, at the time of handoff, creates a buffering request packet directed to the MAP10detected and selected by the NMDP unit25. The mobility management unit24acquires information concerning the MN20required for user authentication such as a user ID and password from the management information storage unit24a, and creates a buffering request packet including the acquired information. The mobility management unit24supplies the created buffering request packet to the IP layer unit23and causes the interface29to transmit it to the MAP10. When the interface29connects to a new AR and completes the handoff, the mobility management unit24creates a new LCoA from a network prefix of the IP address of the newly connecting AR, and a host identity of the IP address assigned to the MN20. Further, the mobility management unit24creates a buffering cancellation packet including the new LCoA indicating a visited position of the MN20that is a transfer destination to which the buffered packets are to be transferred, and which is directed to the MAP10detected and selected by the NMDP unit25. The mobility management unit24supplies the created buffering cancellation packet to the IP layer unit23and causes the interface29to transmit it to the MAP10. In this way, the mobility management unit24also conducts the control concerning buffering.

The second table25astores information required for searching for a MAP10and updating the neighbor MAP table26. The neighbor MAP table26is a transfer device information storage unit configured to store addresses of MAPs10. The neighbor MAP table26stores information concerning a plurality of neighbor MAPs.

(Search For and Detection of MAP)

The search for and detection of a MAP10performed by a MN20and other MAPs10, and a notice of an address of a MAP10and of information concerning a MAP10performed by the MAP10will now be described. In the mobile communication system1shown inFIG. 1, if a plurality of MAPs10arranged in the access network (A)40a, in the access network (B)40b, and at the boundary between the access network (C)40cand backbone network50, and one MN20alone are picked up, the result is as shown inFIG. 4. The description will be given using a plurality of MAP(a)10ato MAP(n)10nshown inFIG. 4. An alphabetic letter in parentheses is a MAP symbol for discriminating a plurality of MAPs10.

First, a detailed description will be given on the neighbor MAP tables16,26and the second tables15a,25a, which are used in the search for and detection of a MAP10performed by a MN20and other MAPs10, and in a notice of an address of a MAP10and of information concerning a MAP10performed by the MAP10. By taking a neighbor MAP table16kof the MAP(k)10kshown inFIG. 5as an example, the neighbor MAP table16of the MAP10will now be described.

As shown inFIG. 5, the neighbor MAP table16kstores information concerning neighbor MAPs corresponding to the maximum number of MAP entries. In the neighbor MAP table16, the maximum number of node entries is set to “5”. By thus setting the maximum number of node entries, pressure on the storage capacity in the MAP10can be prevented. In the neighbor MAP table16k, the MAP(k)10kitself is also included as a neighbor MAP. As a result, it is not necessary to conduct exception processing for removing the MAP(k)10kitself, which has the neighbor MAP table16k, from the neighbor MAP table16k, thus improving convenience. In order to prevent pressure on the storage capacity in the MAP10, however, it is also possible to conduct setting so as not to register the MAP(k)10kitself, which has the neighbor MAP table16k, in the neighbor MAP table16k.

With respect to each neighbor MAP, the neighbor MAP table16kstores an IP address, a delay value (in msec), processing capability, a lifetime (in sec), and a sequence number 1. InFIG. 5, a MAP symbol is used as the IP address in order to simplify the description. Hereafter, the IP address of a MAP10is represented by using a MAP symbol. The IP address of a MN20is represented by “MN”.

The delay value is a one-way transmission delay value between the MAP(k)10kitself having the neighbor MAP table16kand each neighbor MAP. In this way, the neighbor MAP table16kstores the delay value, which is inter-transfer-device information and which can be used as remoteness/nearness decision information. The neighbor MAP table16kstores information concerning each of neighbor MAPs according to a criterion “five neighbor MAPs having shortest delay values are stored in the order of increasing delay value”. Therefore, the MAP10can easily conduct the work of controlling and updating the stored information.

The processing capability is the processing capability of each neighbor MAP. Furthermore, the processing capability is own-transfer-device information representing the characteristics of the MAP10itself. The processing capability is represented by the height of processing capability divided into four steps: highest (represented by“00”), high (represented by “01”), medium (represented by “10”), and low (represented by “11”). The height of the processing capability of the MAP10is determined based on the processing speed of the MAP10, the number of MNs20using the MAP10, and hardware specifications such as the storage capacity and CPU speed of the MAP10.

The lifetime is the lifetime for information concerning each neighbor MAP in the neighbor MAP table16k. The lifetime is decreased by the NMDP unit15every second. When the lifetime reaches 0, then the information concerning the neighbor MAP is erased from the neighbor MAP table16kby the NMDP unit15. The sequence number 1 is a sequence number of a MAP notification packet that serves as a reference for updating the delay value, processing capability, and lifetime concerning each neighbor MAP.

Next, by taking the second table15aof the MAP(k)10kshown inFIG. 5as an example, the second table15aof a MAP10will be described. As shown inFIG. 5, the second table15astores a sequence number 2, an initial lifetime (in sec), a search lifetime (in sec), processing capability, time in a timer (in sec), and a smoothing factor a.

The sequence number 2 is a sequence number of a MAP query packet last transmitted by the MAP(k)10k. The sequence number 2 is increased by “1” by the NMDP unit15when creating a MAP query packet. The initial lifetime is a lifetime that is set when updating the lifetime in the neighbor MAP table16k. The search lifetime is the time when the search for a MAP is started. Therefore, if the lifetime of the neighbor MAP table16kreaches the search lifetime in the second table15a, then the NMDP unit15starts the MAP search for a neighbor MAP.

The processing capability is the processing capability of the MAP(k)10kitself. In the same way as in the neighbor MAP table16k, the processing capability is indicated by the height of the processing capability divided into four steps. The timer indicates the time used by the MAP(k)10kto measure a delay value. In order to improve the precision of delay value measurement, it is desirable that the time of the timer is updated by the NMDP unit15by taking a millisecond as the unit. The smoothing factor a is used to smooth a measured delay value and previous delay value when deciding a delay value. As the smoothing factor a, an arbitrary value in the range of 0 to 1 can be set. In the present embodiment, the smoothing factor a is set to “0.5”.

The neighbor MAP table26of the MN20will now be described. As shown inFIG. 6, the neighbor MAP table26stores information concerning neighbor MAPs corresponding to the maximum number of node entries. In the neighbor MAP table26, the maximum number of node entries is set to “5”. By thus setting the maximum number of node entries, pressure on the storage capacity in the MN20can be prevented.

With respect to each neighbor MAP, the neighbor MAP table26stores an IP address, a delay value (in msec), processing capability, a lifetime (in sec), a sequence number 1, and the name of a communications carrier. The delay value is a one-way transmission delay value between each neighbor MAP and the MN20. The name of a communications carrier is the name of the communications carrier that arranges MAPs and provides a mobility management service. The neighbor MAP table26stores information concerning each of neighbor MAPs according to a criterion “five neighbor MAPs having shortest delay values are stored in the order of increasing delay value”. Therefore, the MN20can easily conduct the work of controlling and updating the stored information. The processing capability, lifetime, and the sequence number 1 are generally the same as those in the neighbor MAP table16kof the MAP(k)10k.

Next, the second table25aof the MN20will now be described. As shown inFIG. 6, the second table25astores a sequence number 2, an initial lifetime (in sec), a search lifetime (in sec), time in a timer (in sec), and a smoothing factor B. These are generally the same as those in the second table15aof the MAP(k)10k. In the second table25a, however, the initial lifetime is set so as to become shorter as compared with the second table15a. It is desirable to also set the search lifetime to a shorter value accordingly. As a result, the MN20can search for a MAP10many times. Therefore, the MN20can update the information concerning the neighbor MAPs10, which changes according to the movement many times, and can suitably grasp information concerning the MAPs10according to the movement. In addition, it is desirable to set the smoothing factor β of the second table25aso as to be smaller than the smoothing factor a of the second table15a. As a result, the MN20can suitably grasp the delay value between a neighbor MAP and the MN20, which changes according to the movement. In the present embodiment, the smoothing factor β is set to “0”.1. Transmission and Reception of MAP Query Packet, MAP Notification Initiator Packet, and MAP Notification Packet

A description will be given by taking a search for and detection of a MAP10performed by a MN20as an example. Furthermore, the description will be given by taking the case where the neighbor MAP table26of the MN20is in a state shown inFIG. 6, as an example. The lifetime for the MAP(k)10kstored in the neighbor MAP table26as a neighbor MAP is currently 16 (sec), and it is decreased every second. Then one second later, the lifetime for the MAP(k)10kin the neighbor MAP table26reaches 15 (sec), which is the search lifetime in the second table25a, and the lifetime coincides with the search lifetime. Thereupon, the MN20starts a search for a MAP regarding the MAP(k)10k.

When the MN20starts to search for a MAP, as shown inFIG. 7, the MN20transmits a MAP query packet to the MAP(k)10k, and the MAP(k)10kreceives it as represented by a solid line arrow inFIG. 7. In this case, therefore, the MAP(k)10kbecomes a query packet reception transfer device, which receives the transmitted query packet. InFIG. 7, neighbor MAP tables16ato16nand the neighbor MAP table26, respectively, of the MAP(a)10ato MAP(n)10nand the MN20are shown together with the MAP(a)10ato MAP(n)10nand the MN20. For brevity of description, however, only IP addresses of the neighbor MAPs, and delay values (decimals omitted) between each of the MAP(a)10ato MAP(n)10nand MN20, and its neighbor MAPs are shown.

Specifically, the NMDP unit25in the MN20creates a MAP query packet3shown inFIG. 8, and the interface29transmits it. The MAP query packet3includes an IPv6 header31and a destination option header32. A version for indicating the version of IP, a source address for indicating the transmission source of the MAP query packet3, and a destination address for indicating the destination of the MAP query packet3are stored in the IPv6 header31. Although only information relating to the present invention will now be described, various other kinds of information are also stored in the IPv6 header. The destination option header32is one of the extended headers in the option of the IPv6. A type for indicating the kind of the packet, a sequence number for controlling the MAP query packet3, search start time for indicating the time at which a search for a MAP is started (the time at which the MAP query packet3is transmitted), and a delay value in packet transmission between the query packet reception transfer device and the MN20are stored in the destination option header32.

The NMDP unit25sets the source address in the IPv6 header31to “MN” of the MN20, and sets the destination address in the IPv6 header31to the IP address “k” of the MAP(k). The NMDP unit25sets the type in the destination option header32to “31” which indicates the MAP query packet3. The NMDP unit25sets the sequence number in the destination option header32to “668”, which is obtained by adding 1 to the value “667” of the sequence number 2 in the second table25ashown inFIG. 6. At this time, the NMDP unit25also updates the value of the sequence number 2 in the second table25ato “668”.

In addition, the NMDP unit25copies the time of creation of the MAP query packet3, “53.0121” in the timer of the second table25a(the search for a MAP is started one second after the state “52.0121” as shown inFIG. 6), and sets the search start time in the destination option header32to the copied time. Furthermore, the NMDP unit25copies a delay value “8.1” for the MAP(k)10kin the neighbor MAP table26shown inFIG. 6, as a delay value between the MN20and the MAP(k)10kserving as the query packet reception transfer device, and sets the delay value in the destination option header32to the copied delay value. In this way, the NMDP unit25creates the MAP query packet3to be transmitted to an address of a neighbor MAP stored in the neighbor MAP table26, and functions as the query packet creation unit.

Upon receiving the MAP query packet3, as shown inFIG. 7, the MAP(k)10ktransmits a MAP notification initiator packet to each of the neighbor MAPs stored in the neighbor MAP table16kin the MAP(k)10k, i.e., the MAP(k)10k, MAP(f)10f, MAP(i)10i, MAP(n)10nand MAP(g)10gas represented by a dot-dash line inFIG. 7. In this way, the MAP(k)10k, which has become the query packet reception transfer device, transmits the MAP notification initiator packet to the MAP(f)10f, MAP(i)10i, MAP(n)10nand MAP(g)10gother than the MAP(k)10kitself. Here, the MAP(f)10f, MAP(i)10i, MAP(n)10nand MAP(g)10gbecome peripheral transfer devices. The peripheral transfer device is a transfer device other than the query packet reception transfer device. All transfer devices other than the query packet reception transfer device included in the mobile communication system1correspond to peripheral transfer devices. Furthermore, the peripheral transfer device can be a MAP having an address stored in the neighbor MAP table16kof the MAP(k)10k.

As described above, the MAP(k)10ktransmits a MAP notification initiator packet uniformly to all neighbor MAPs stored in the neighbor MAP table16k. As a result, operation of the MAP(k)10kserving as the query packet reception transfer device can be simplified. In this case, however, the MAP(k)10kalso transmits the MAP notification initiator packet to the MAP(k)10kitself. Therefore, the MAP(k)10kmay exceptionally remove the MAP(k)10k, which is itself serving as a query packet reception transfer device, from destinations of the MAP notification initiator packet. As a result, it is possible to prevent extra packet transmission.

Specifically, the NMDP unit15in the MAP(k)10kcreates a MAP notification initiator packet, and the interface19transmits the MAP notification initiator packet. Hereafter, this operation will be described by taking the transmission of a MAP notification initiator packet to each of the MAP(i)10iand MAP(f)10fas an example.FIG. 9Ashows a MAP notification initiator packet4ito be transmitted to the MAP(i)10i, andFIG. 9Bshows a MAP notification initiator packet4fto be transmitted to the MAP(f)10f.

The MAP notification initiator packets4iand4finclude IPv6 headers41iand41f, and destination option headers42iand42f, respectively. Versions for indicating the IP version, source addresses for indicating sources of the MAP notification initiator packets4iand4f, and destination addresses for indicating destinations of the MAP notification initiator packets4iand4fare stored in the IPv6 headers41iand41f, respectively. A type, a search source address for indicating the MN20or MAP10which has transmitted the MAP query packet, a sequence number for controlling the MAP notification initiator packet4ior4f, search start time, a delay value 1 in packet transmission between the MN20or MAP10which has transmitted the MAP query packet and the query packet reception transfer device, and a delay value 2 in packet transmission between the query packet reception transfer device and a peripheral transfer device are stored in each of the destination option headers42iand42f.

The NMDP unit15in the MAP(k)10ksets the source address in the IPv6 header41ito the IP address “k” of the MAP(k)10k, and sets the destination address in the IPv6 header41ito the IP address “i” of the MAP(i)10i. Furthermore, the NMDP unit15in the MAP(k)10ksets the type in the destination option header42ito “32” which indicates a MAP notification initiator packet. Furthermore, the NMDP unit15in the MAP(k)10kcopies the IP address “MN” of the MN20serving as the source address in the received MAP query packet3shown inFIG. 8, and sets the search source address in the destination option header42ito the copied IP address “MN”.

The NMDP unit15in the MAP(k)10kcopies the value “668” of the sequence number and the value “53.0121” of the search start time in the received MAP query packet3shown inFIG. 8, and sets the sequence number and the search start time in the destination option header42ito the copied values, respectively. Furthermore, the NMDP unit15in the MAP(k)10kcopies the delay value “8.1” in the MAP query packet3shown inFIG. 8, as the delay value between the MN20which has transmitted the MAP query packet and the MAP(k)10kserving as the query packet reception transfer device, and sets the delay value 1 in the destination option header42ito the copied delay value. Furthermore, the NMDP unit15in the MAP(k) copies the delay value “6.8” between the MAP(k)10kand MAP(i)10iin the neighbor MAP table16kshown inFIG. 5, as a delay value between the MAP(k)10kserving as the query packet reception transfer device and the MAP(i)10iserving as a peripheral transfer device, and sets the delay value 2 in the destination option header42ito the copied delay value. In this way, the NMDP unit15in the MAP(k)10kcreates the MAP notification initiator packet4ifor requesting an other MAP to transmit a MAP notification packet to the MN, and functions as the initiator packet creation unit. In addition, the NMDP unit15creates the MAP notification initiator packet4ito be transmitted to the peripheral transfer device. And, the interface19functions as a communication unit configured to transmit the MAP notification initiator packet created by the NMDP unit15to other MAP.

In the same way, the NMDP unit15in the MAP(k)10kcreates the MAP notification initiator packet4fto be transmitted to the MAP(f)10f. However, the NMDP unit15in the MAP(k)10ksets the destination address in the IPv6 header41fto the IP address “f” of the MAP(f)10f. Furthermore, the NMDP unit15in the MAP(k)10kcopies the delay value “6.5” between the MAP(k)10kand MAP(f)10fin the neighbor MAP table16kshown inFIG. 5, and sets the delay value 2 in the destination option header42fto the copied delay value.

Upon receiving the MAP notification initiator packet, as shown inFIG. 7, the MAP(k)10k, MAP(f)10f, MAP(i)10i, MAP(n)10nand MAP(g)10geach transmit a MAP notification packet to the MN20as represented by a dot line arrow inFIG. 7. In this way, the MAP(f)10f, MAP(i)10i, MAP(n)10nand MAP(g)10gserving as the peripheral transfer devices each returns a MAP notification packet to the MN20, which has transmitted the MAP10query packet. As described above, the MAP(k)10ktransmits a MAP notification initiator packet uniformly to all neighbor MAPs stored in the neighbor MAP table16k. Therefore, the MAP(k)10kserving as the query packet reception transfer device also receives the MAP notification initiator packet, and transmits a MAP notification packet.

Specifically, the NMDP unit15in each of the MAP(k)10k, MAP(f)10f, MAP(i)10i, MAP(n)10nand MAP(g)10gcreates a MAP notification packet, and the interface19transmits the MAP notification packet. Hereafter, this operation will be described by taking the return of a MAP notification packet from each of the MAP(i)10iand MAP(f)10fas an example.FIG. 10Ashows a MAP notification packet5ito be returned from the MAP(i)10i, andFIG. 10Bshows a MAP notification packet5fto be returned from the MAP(f)10f.

The MAP notification packets5iand5finclude IPv6 headers51iand51f, and destination option headers52iand52f, respectively. Versions for indicating the IP version, source addresses for indicating sources of the MAP notification packets5iand5f, and destination addresses for indicating destinations of the MAP notification packets5iand5fare stored in the IPv6 headers51iand51f, respectively. A type, a sequence number for controlling the MAP notification packet5ior5f, search start time, a delay value 1 in packet transmission between the MN20or MAP10which has transmitted the MAP query packet and the query packet reception transfer device, a delay value 2 in packet transmission between the query packet reception transfer device and a peripheral transfer device, processing capability of the peripheral transfer device, and the name of a communications carrier are stored in each of the destination option headers52iand52f.

Thus, the MAP notification packet includes transfer device information concerning a MAP serving as the transfer device. In the transfer device information, there are own-transfer-device information concerning the transfer device itself, inter-mobile-terminal information concerning the relation between the transfer device and MN, and inter-transfer-device information concerning the relation between the transfer device and other transfer device. The own-transfer-device information includes at least one of the processing capability of the transfer device, traffic volume in the transfer device, the number of mobile terminals using the transfer device, transmission power value of the transfer device, reliability of the transfer device, and communications carrier of the transfer device.

The inter-mobile-terminal information includes at least one of the delay value between the transfer device and mobile terminal, the number of hops between the transfer device and mobile terminal, the cost in packet transmission between the transfer device and mobile terminal, the link capacity between the transfer device and mobile terminal, and the propagation path information between the transfer device and mobile terminal. The inter-transfer device information includes at least one of the delay value between the transfer device and other transfer device, the number of hops between the transfer device and other transfer device, the cost in packet transmission between the transfer device and other transfer device, the link capacity between the transfer device and other transfer device, and the propagation path information between the transfer device and other transfer device.

The NMDP unit15in the MAP(i)10isets the source address in the IPv6 header51ito the IP address “i” of the MAP(i)10i. The NMDP unit15in the MAP(i)10icopies the IP address “MN” of the MN20serving as the search source address in the received MAP notification initiator packet4ishown inFIG. 9A, and sets the destination address in the IPv6 header51ito the copied IP address “MN”. The NMDP unit15in the MAP(i)10isets the type in the destination option header52ito “33” which indicates a MAP notification packet.

The NMDP unit15in the MAP(i)10icopies the value “668” of the sequence number and the value “53.0121” of the search start time in the received MAP notification initiator packet4ishown inFIG. 9A, and sets the sequence number and the search start time in the destination option header52ito the copied values, respectively. The NMDP unit15in the MAP(i)10icopies the delay value 1 “8.1” in the MAP notification initiator packet4ishown inFIG. 9A, as a delay value between the MN20which has transmitted the MAP query packet and the MAP(k)10kserving as the query packet reception transfer device, and sets the delay value 1 in the destination option header52ito the copied delay value. The NMDP unit15in the MAP(i)10icopies the delay value 2 “6.8” in the MAP notification initiator packet4ishown inFIG. 9A, as a delay value between the MAP(k)10kserving as the query packet reception transfer device and the MAP(i)10iserving as a peripheral transfer device, and sets the delay value 2 in the destination option header52ito the copied delay value.

Furthermore, the NMDP unit15in the MAP(i)10icopies the processing capability in the second table15aof the MAP(i)10i, as the processing capability of the MAP(i)10iitself serving as a peripheral transfer device, and sets the processing capability in the destination option header52ito the copied processing capability. Here, it is supposed that the processing capability of the MAP(i)10iis “01” (high). The NMDP unit15memorizes the name of the communications carrier that arranges MAP and provides a mobility management service. The NMDP unit15in the MAP(i)10imemorizes “Carrier A” as the name of the communications carrier. Therefore, The NMDP unit15in the MAP(i)10isets the name of the communications carrier in the destination option header52ito the memorized “Carrier A”. In this way, the NMDP unit15in the MAP(i)10icreates the MAP notification packet5i, and functions as the notification packet creation unit.

In the same way, the NMDP unit15in the MAP(f)10fcreates the MAP notification packet5fto be returned from the MAP(f)10f. However, the NMDP unit15in the MAP(f)10fsets the destination address in the IPv6 header51fto the IP address “f” of the MAP(f)10f. The NMDP unit15in the MAP(f)10fcopies the delay value 2 “6.5” in the MAP notification initiator packet4fshown inFIG. 9B, and sets the delay value 2 in the destination option header52fto the copied delay value. The NMDP unit15in the MAP(f)10fcopies the processing capability in the second table of the MAP(f)10f, and sets the processing capability in the destination option header52fto the copied processing capability. Here, it is supposed that the processing capability of the MAP(f)10fis “11” (low). And, the NMDP unit15in the MAP(f)10fmemorizes “Carrier A” as the name of the communications carrier. Therefore, The NMDP unit15in the MAP(f)10fsets the name of the communications carrier in the destination option header52ito the memorized “Carrier A”.2. Inter-mobile-terminal Information Decision, MAP Detection, and Neighbor MAP Table Update

Upon receiving the MAP notification packet, the MN20conducts decision of inter-mobile-terminal information, detection of the MAP10, and update of the neighbor MAP table26based on the returned MAP notification packet. Hereafter, this operation will be described by taking MAP notification packets5iand5freturned from the MAP(i)101and MAP(f)10fas an example.FIG. 11shows the state of the neighbor MAP table26and second table25awhen the MN20has received the MAP notification packet5ireturned from the MAP(i)10i.FIG. 12shows the state of the neighbor MAP table26and second table25awhen the MN20has received the MAP notification packet5freturned from the MAP(f)10f. In the neighbor MAP table26and second table25ashown inFIGS. 11 and 12, some items have already been updated, as compared with the state immediately preceding the start of the search for a MAP shown inFIG. 6.

First, the case where MN20has received the MAP notification packet5ireturned from the MAP(i)10iwill now be described. Upon receiving the MAP notification packet5i, the MN20first measures a delay value between the MN20and the MAP(i)10iserving as a peripheral transfer device. Specifically, the NMDP unit25in the MN20refers to the time of the timer in the second table25a(FIG. 11) when the MAP notification packet5ihas been received, and thereby acquires the arrival time “53.0330” of the MAP notification packet5i. Subsequently, the NMDP unit25acquires the search start time “53.0121”, the delay value 1 “8.1” between the MN20and the MAP(k)10kserving as the query packet reception transfer device, and the delay value 2 “6.8” between the MAP(k)10kserving as the query packet reception transfer device and the MAP(i)10iserving as a peripheral transfer device, from the received MAP notification packet5i(FIG. 10A).

Further, the NMDP unit25conducts a calculation of subtracting the search start time, delay value 1 and delay value 2 from the arrival time, and thereby obtains the delay value between the MN20and MAP(i)10i. The calculation result becomes 53.0330−(53.0121+0.0081+0.0068)=0.0060. In this way, the delay value between the MN20and MAP(i)10inewly measured in the MN20becomes 0.0060 (sec), i.e., 6.0 (msec).

Subsequently, the NMDP unit25retrieves to determine whether the source address “i” in the MAP notification packet5i(FIG. 10A) is included in the IP addresses in the neighbor MAP table26(FIG. 11). If the source address “i” in the newly received MAP notification packet5iexists in the neighbor MAP table26, then the NMDP unit25determines that the MAP(i)10iserving as the transmission source of the MAP notification packet5iis an already detected MAP. In this case, therefore, the NMDP unit25determines that the MAP notification packet5ishould be used to update the information concerning the MAP(i)10ialready stored as a neighbor MAP. In the case ofFIG. 11, the source address “i” is included in the IP addresses in the neighbor MAP table26. Therefore, the NMDP unit25determines that the MAP notification packet5ishould be used to update the information concerning the MAP(i)10i.

Subsequently, the NMDP unit25determines whether update of existing information concerning the MAP(i)10iin the neighbor MAP table26based on the received MAP notification packet5ishould be executed. Specifically, the NMDP unit25compares the sequence number “668” in the received MAP notification packet5iwith the sequence number 1 “667” for the MAP(i)10iin the neighbor MAP table26(FIG. 11) when the MAP notification packet5iis received. If the sequence number in the MAP notification packet5iis higher, then the NMDP unit25determines that the information based on the MAP notification packet5iis the latest information and update of the information should be executed. In the case ofFIG. 11, the sequence number in the MAP notification packet5iis higher. Therefore, the NMDP unit25determines that update of the information should be executed.

On the other hand, in some cases, a MAP notification packet in response to a MAP query packet transmitted before the MAP query packet corresponding to the MAP notification packet used when the MN20updates the neighbor MAP table26the last time, may arrive at the MN20later for some reason. If the sequence number in the MAP notification packet5iis lower than the sequence number 1 for the MAP(i)10iin the neighbor MAP table26, therefore, then there is a possibility that information included in the MAP notification packet5iis not the latest information or suitable information. In this case, therefore, the NMDP unit25determines that update of the information should not be executed.

Subsequently, the NMDP unit25executes update of information concerning the MAP(i)10iin the neighbor MAP table26. First, the NMDP unit25conducts smoothing on measured delay values. Specifically, the NMDP unit25accesses the neighbor MAP table26and second table25ashown inFIG. 11when the MN20receives the MAP notification packet5i, and thereby acquires an existing delay value “6.3” and a smoothing factor β “0” for the MAP(i)10i. Further, the NMDP unit25substitutes the above-mentioned measured delay values, existing delay value and smoothing factor β in the following expression (1), and thereby smoothes the delay value. The result of substitution is given by expression (2).
Existing delay value×β+measured delay value×(1−β)  (1)
6.3×0+6.0×(1−0)=6.0  (2)

The smoothed delay value in this way becomes 6.0 (msec). The NMDP unit25thus functions as the decision unit configured to decide inter-mobile-terminal information between peripheral transfer device and the MN20, by measuring and smoothing the delay value between the MAP(i)10iserving as the peripheral transfer device and the MN20, based on the inter-mobile-terminal information between the MAP(k)10kserving as the query packet reception transfer device and the MN20, and the inter-transfer-device information between the MAP(k)10kserving as the query packet reception transfer device and the MAP(i)10iserving as the peripheral transfer device, which are included in the MAP notification packet, and thereby determining a delay value. Incidentally, smoothing of the delay value need not necessarily be conducted.

Subsequently, the NMDP unit25acquires the processing capability “01” (high) and the sequence number “668” from the MAP notification packet5i(FIG. 10A). The NMDP unit25acquires the initial lifetime “30” from the second table25a(FIG. 11). The NMDP unit25updates so as to have the latest information concerning the MAP(i)10iin the neighbor MAP table26(FIG. 11), by replacing the existing delay value “6.3” with the determined delay value “6.0”, replacing the existing processing capability “01” (high) with the acquired processing capability “01” (high), replacing the existing lifetime “21” with the acquired initial lifetime “30”, replacing the existing sequence number 1 “667” with the acquired sequence number “668”, and replacing the existing name of the communications carrier “Carrier A” with the acquired name of the communications carrier “Carrier A”.

As a result of such an updating operation, the information concerning the MAP(i)10iin the neighbor MAP table26becomes the latest information concerning the MAP(i)10iin the neighbor MAP table26shown inFIG. 12. In this way, the NMDP unit25updates the neighbor MAP table26, and functions as the update unit.

The case where the MN20has received the MAP notification packet5freturned from the MAP(f)10fwill now be described. Upon receiving the MAP notification packet5f, the MN20first measures a delay value between the MN20and the MAP(f)10fserving as a peripheral transfer device. Specifically, the NMDP unit25refers to the time of the timer in the second table25a(FIG. 12) at the time when the MAP notification packet5fhas been received, and thereby acquires the arrival time “53.0419” of the MAP notification packet5f. Subsequently, the NMDP unit25acquires the search start time “53.0121”, the delay value 1 “8.1” between the MN20and the MAP(k)10kserving as the query packet reception transfer device, and the delay value 2 “6.5” between the MAP(k)10kserving as the query packet reception transfer device and the MAP(f)10fserving as the peripheral transfer device, from the received MAP notification packet5f(FIG. 10B).

Further, the NMDP unit25calculates in the same way as the MAP notification packet5i, and thereby obtains the delay value between the MN20and MAP(f)10f. The calculation result becomes 53.0419−(53.0121+0.0081+0.0065)=0.0152. In this way, the delay value between the MAP(f)10fand MN20newly measured in the MN20becomes 0.0152 (sec), i.e., 15.2 (msec).

Subsequently, the NMDP unit25retrieves to determine whether the source address “f” in the MAP notification packet5f(FIG. 10B) is included in the IP addresses in the neighbor MAP table26(FIG. 12). If the source address “f” in the newly received MAP notification packet5fdoes not exist in the neighbor MAP table26, then the NMDP unit25determines that the MAP(f)10fserving as the transmission source of the MAP notification packet5fis a newly detected MAP. In other words, the NMDP unit25determines that there is a possibility that the MAP(f)10fis newly registered in the neighbor MAP table26as a neighbor MAP for the MN20. In the case ofFIG. 12, the source address “f” is not included in the IP addresses in the neighbor MAP table26. Therefore, the NMDP unit25determines that the MAP(f)10fis a newly detected MAP.

Subsequently, the NMDP unit25determines whether the detected MAP(f)10fshould be newly recorded in the neighbor MAP table26as a neighbor MAP for the MN20. First, the NMDP unit25compares to determine whether the delay value of the MAP(f)10fmeasured based on the MAP notification packet5fis shorter than the greatest delay value of the neighbor MAPs stored in the neighbor MAP table26(FIG. 12) when the MAP notification packet5fhas been received.

If the delay value of the MAP(f)10fis greater than or equal to the greatest delay value in the neighbor MAP table26(FIG. 12), then the NMDP unit25determines that the MAP(f)10fshould not be newly recorded in the neighbor MAP table26as a neighbor MAP for the MN20. In the case ofFIG. 12, the measured delay value “15.2” of the MAP(f)10fis greater than or equal to the greatest delay values in the neighbor MAP table26. Therefore, the NMDP unit25determines that the MAP(f)10fshould not be newly recorded in the neighbor MAP table26. In this case, the NMDP unit25does not update the neighbor MAP table26based on the MAP notification packet5f.

On the other hand, if the delay value of the MAP(f)10fis shorter than the greatest delay values in the neighbor MAP table26when the MAP notification packet5fhas been received, then the NMDP unit25erases information concerning a neighbor MAP having the greatest delay value in the neighbor MAP table26. Further, the NMDP unit25updates the neighbor MAP table26based on the MAP notification packet5f. As a result, the NMDP unit25records the MAP(f)10fin the neighbor MAP table26as a new neighbor MAP of the MN20.

Specifically, since the MAP(f)10fis a newly registered MAP, the NMDP unit25decides to store the measured delay value as it is in the neighbor MAP table26. The NMDP unit25acquires the source address, processing capability, sequence number, and the name of the communications carrier from the MAP notification packet5f, and acquires the initial lifetime from the second table25a. The NMDP unit25stores information concerning the acquired MAP(f)10fin such a location in the neighbor MAP table26as to satisfy the criterion that information concerning neighbor MAPs is stored in the order of increasing delay value.

In this way, the MN20can register the newly detected MAP(f)10fin the neighbor MAP table26as a neighbor MAP for the MN20. A fixed number of neighbor MAPs can be stored in the neighbor MAP table26in the order of increasing delay time. In this way, the NMDP unit25detects a new MAP based on the MAP notification packet5f, and functions as the detection unit. The NMDP unit25updates the neighbor MAP table26based on the decided delay value and a newly detected MAP, and functions as the update unit.3. Neighbor MAP Erasing

In response to a MAP query packet transmitted by the MN20, a MAP notification packet is returned from the MAP(k)10kserving as the query packet reception transfer device as shown inFIG. 7. If the MAP(k)10kmalfunctions or is removed due to a failure, then the MAP notification packet is not returned from the MAP(k)10kin response to the MAP query packet transmitted by the MN20.

Here, as described above, a search for a MAP is started when the lifetime of the information concerning a neighbor MAP has become short as with the lifetime for the MAP(k)10kin the neighbor MAP table26shown inFIG. 6. The lifetime is decreased every second. If a MAP notification packet is not returned from the MAP(k)10k, then the information concerning the MAP(k)10kin the neighbor MAP table26is not updated, and the lifetime is not updated, either. As a result, the lifetime of the information concerning the MAP(k)10kin the neighbor MAP table26reaches 0. In this case, the NMDP unit25in the MN20erases the information concerning the MAP(k)10kfrom the neighbor MAP table26.

Additionally, as described above, in the case where the sequence number in the MAP notification packet returned from the MAP(k)10kis lower than the sequence number 1 for the MAP(k)10kin the neighbor MAP table26, update of the information based on the MAP notification packet is not conducted, and the lifetime is not updated, either. In this case too, therefore, the lifetime of the information concerning the MAP(k)10kin the neighbor MAP table26reaches 0 in the same way, and the NMDP unit25erases the information concerning the MAP(k)10kfrom the neighbor MAP table26.

While the search for and detection of a MAP10effected by the MN20have been described above as an example, the MAP10can also conduct the search for and detection of other MAPs10in the same way as the search for and detection of a MAP10performed by the MN20. In other words, the NMDP unit15in the MAP10functions as the query packet creation unit configured to create a MAP query packet. The NMDP unit15functions as the detection unit configured to detect other MAPs based on the MAP notification packet. The NMDP unit15functions as the decision unit configured to decide a delay value (inter-transfer-device information) based on the MAP notification packet. Furthermore, the NMDP unit15functions as the update unit configured to update the neighbor MAP table16. Further, the MAP10also conducts transmission and reception of a MAP query packet, MAP notification initiator packet, and MAP notification packet, decision of inter-transfer-device information, detection of other MAPs10, update of the neighbor MAP table16, and erasing of a neighbor MAP.4. Movement of MN20

As to how the MN20searches for and detects a MAP10while moving on a movement route indicated by an arrow D inFIG. 13will now be described. First, the MN20is in a position indicated by an arrow A inFIG. 13. The position indicated by the arrow A inFIG. 13is in the access network (A)40aand near the access network (B)40b, in the mobile communication system1shown inFIG. 1.

When the lifetime of the information concerning any of MAPs in the neighbor MAP table26in the MN20reaches the search lifetime, then the MN20starts a search for a MAP. The MN20transmits a MAP query packet to the MAP. Subsequently, the MN20receives a MAP notification packet returned from a MAP that has become a peripheral transfer device, in response to the MAP query packet. The NMDP unit25detects a new MAP, and updates the neighbor MAP table26, based on the received MAP notification packet.

As a result, information concerning neighbor MAPs having short delay values between the MAPs and the MN20located in the position indicated by the arrow A inFIG. 13, is recorded in the neighbor MAP table26in the order of increasing delay time as MAP(g)10g, MAP(i)10i, MAP(k)10k, MAP(h)10hand MAP(n)10n. In this case, the position indicated by the arrow A inFIG. 13where the MN20exists is in the access network (A)40aand near the access network (B)40bin the mobile communication system1shown inFIG. 1. Therefore, the MN20can detect both a MAP10arranged in the access network (A)40aand a MAP10arranged in the access network (B)40b, and record them in the neighbor MAP table26.

As shown inFIG. 6, the initial lifetime and search lifetime stored in the second table25aof the MN20are set to short time values. While the MN20moves on the movement route indicated by the arrow D from the position indicated by the arrow A to a position indicated by an arrow C via a position indicated by an arrow B inFIG. 13, the lifetime values for information concerning neighbor MAPs in the neighbor MAP table26reaches the search lifetime one after another, and the MN20searches for a MAP repetitively.

In the position indicated by the arrow B inFIG. 13, therefore, information concerning neighbor MAPs having short delay values between the MAPs and the MN20located in the position indicated by the arrow B inFIG. 13, is recorded in the neighbor MAP table26in the order of increasing delay time as MAP(k)10k, MAP(i)10i, MAP(n)10n, MAP(h)10hand MAP(g)10g. Incidentally, the position indicated by the arrow B inFIG. 13is in the access network (B)40band near the access network (A)40a, in the mobile communication system1shown inFIG. 1. Therefore, the MN20can detect both a MAP10arranged in the access network (B)40band a MAP10arranged in the access network (A)40a, and record them in the neighbor MAP table26.

Furthermore, in the position indicated by the arrow C inFIG. 13, information concerning neighbor MAPs having short delay values between the MAPs and the MN20located in the position indicated by the arrow C inFIG. 13, is recorded in the neighbor MAP table26in the order of increasing delay time as MAP(n)10n, MAP(k)10k, MAP(i)10i, MAP(l)10land MAP(e)10e. Incidentally, the position indicated by the arrow C inFIG. 13is in the access network (C)40cand near the access network (B)40b, in the mobile communication system1shown inFIG. 1. Therefore, the MN20can detect both a MAP arranged at the boundary between the backbone network50and access network (C)40c, and a MAP arranged in the access network (B)40b, and record them in the neighbor MAP table26.

Incidentally, it is desirable to previously set an address and delay value of at least one MAP10included in the mobile communication system1in the neighbor MAP table26of the MN20, as initialization. As a result, the MN20can transmit a MAP query packet to at least one MAP10, and start a search for a MAP. As for the address of the MAP10to be set, it may be an address of an arbitrary MAP10. It is desirable, however, in consideration of the area in which the user of the MN20uses the mobile communication system1, to set the address of a MAP10that is arranged in the area in which the user uses it.

Selection of a MAP10will now be described by taking the case where the MN20has the neighbor MAP table26shown inFIG. 6, as an example. The NMDP unit25in the MN20first acquires the MAP selection policy represented as “a MAP located nearest (a MAP having a minimum delay value in packet transmission between the MAP and MN), and included in MAPs provided by Carrier A and having processing capability of at least ‘high’” from the MAP selection policy storage unit25b.

Subsequently, the NMDP unit25compares the information concerning neighbor MAPs stored in the neighbor MAP table26shown inFIG. 6with the MAP selection policy acquired from the MAP selection policy storage unit25b, and selects an optimum MAP10satisfying the MAP selection policy. As a result, the NMDP unit25selects the MAP(g)10gas the MAP to be used for transfer of packets. In this way, the NMDP unit25functions as the selection unit. The NMDP unit25notifies the mobility management unit24of the address of the MAP(g)10g. The mobility management unit24creates a binding update packet or buffering request packet to be transmitted to the MAP(g)10gnotified by the NMDP unit25. Finally, the interface29transmits the binding update packet or buffering request packet to the MAP(g)10g.

According to the mobile communication system1, MN20, MAP10, and mobile communication method, the following effects can be obtained. The NMDP unit25in the MN20detects a MAP10. Further, the interface29connects to the AR(A)30ato AR(C)30cand transmits/receives packets to/from the MAP10detected by the NMDP unit25. Therefore, the MN20can detect and grasp a MAP10by itself. Further, the MN20can transmit/receive packets to/from the detected MAP10via the connecting AR(A)30ato AR(C)30c.

Furthermore, the MN20has a MAP selection policy storage unit25b. The NMDP unit25selects a MAP to be used for transfer of packets from among the detected MAP10based on the MAP selection policy stored in the MAP selection policy storage unit251. Therefore, the MN20can select an optimum MAP10satisfying the MAP selection policy from among the detected MAP10and causes the MAP10to transfer packets.

In the present embodiment, the delay value is used as one of the parameters for the MAP selection policy. The delay value is determined under the influence of various parameters, such as the link capacity and number of hops between the MN20and MAP10, and the processing capability and traffic volume of the MAP10itself. Therefore, the MN20can select the optimum MAP by using the delay value as one of the parameters of the MAP selection policy. In the present embodiment, the MN20uses the processing capability, which is information other than the remoteness/nearness decision information, as one of the parameters of the MAP selection policy. Therefore, the MN20can select the optimum MAP10by considering not only the remoteness/nearness condition but also the state of the MAP10itself.

In addition, in the present embodiment, “MAP provided by Carrier A” is used as the first condition of the MAP selection policy. In this manner, using communications carrier as the MAP selection policy, in step of selecting the MAP10, narrows the range of MAPs that the MN20can select. As a result, the MN20can prevent transmitting the binding update packet to the MAP10, with which the MN20has no contract for using a mobility management service.

Furthermore, the NMDP unit25creates a MAP query packet to be transmitted to an address stored in the neighbor MAP table26. The interface29transmits the MAP query packet and receives a MAP notification packet in response to the MAP query packet. Further, NMDP unit25detects a MAP10based on the MAP notification packet. Therefore, the MN20can search for and detect a MAP by itself. In addition, the MN20detects a MAP10based on the notification packet returned from the MAP serving as the query packet reception transfer device or peripheral transfer device. Therefore, the MN20can easily detect a MAP10located in the mobile communication system1. Furthermore, the MN20can receive a MAP notification packet, which meets the situation at the time of transmission of the MAP query packet. Therefore, the MN20can detect a MAP, which exists in the mobile communication system1at the time of transmission of the MAP query packet.

The MAP notification packet includes transfer device information concerning a MAP10. Therefore, the MN20can detect a MAP10based on the MAP notification packet, as well as grasp the transfer device information concerning the MAP10. Furthermore, the MN20can grasp the transfer device information, which meets the situation at the time of transmission of the MAP query packet, by receiving the MAP notification packet, which meets the situation at the time of transmission of the MAP query packet.

As the transfer device information, the MAP notification packet includes inter-mobile-terminal information concerning the relation between the MAP10serving as the query packet reception transfer device and the MN20, and inter-transfer-device information concerning the relation between the MAP10serving as the query packet reception transfer device and the MAP10serving as the peripheral transfer device. The NMDP unit25decides the inter-mobile-terminal information concerning the relation between the MAP10serving as the peripheral transfer device and the MN20, based on the inter-mobile-terminal information concerning the relation between the query packet reception transfer device and the MN20, and the inter-transfer-device information concerning the relation between the query packet reception transfer device and peripheral transfer device, included in the notification packet. Therefore, the MN20can easily grasp the inter-mobile-terminal information between the peripheral transfer device and the MN20based on the inter-mobile-terminal information between the query packet reception transfer device and the MN20, and the inter-transfer-device information between the query packet reception transfer device and peripheral transfer device. In addition, it becomes unnecessary to attain synchronization between the MN20and a plurality of MAPs10.

The NMDP unit15in the MAP10creates a MAP notification packet for notifying the address and transfer device information of the MAP10, based on the address of the MAP10stored in the neighbor MAP table16. Further, the interface19transmits the MAP notification packet to the MN20. Therefore, the MAP10itself can make the existence of the MAP10known to the MN20. Consequently, the MAP10can receive notice of a terminal care of address from the MN20, which the MAP10has notified of its own existence, and transfer packets to a visited position of the MN20.

The NMDP unit15creates a MAP notification initiator packet, and the interface19transmits it to other MAPs10. Therefore, the MAP10can provide the MN20with more information concerning the MAP10, by making it possible for the MN20to receive MAP notification packets returned from more MAPs10by requesting other MAPs10to return MAP notification packets.

The NMDP unit15creates a MAP notification initiator packet to be transmitted to peripheral transfer devices other than the query packet reception transfer device. Therefore, the MAP10serving as the peripheral transfer device transmits a notification packet to the mobile terminal. Therefore, the MAP10can also provide information concerning the MAP10serving as the peripheral transfer device.

Furthermore, the determination unit17in the MAP10determines whether a binding update packet or buffering request packet received from the MN20is a packet from a MN20allowed to use packet transfer performed by the MAP10. Further, the mobility management unit14manages the transfer of packets to the visited position of the MN20based on the determination result. Therefore, the MAP10can conduct packet transfer to the visited position only for such a MN20allowed to use packet transfer performed by the MAP10as a MN20used by the subscriber of the mobility management service. Accordingly, the mobility management service can be provided only to the subscribers of the mobility management service, by using the MAP10as described above.

The MAP10has a subscriber database17awhich stores terminal information unique to each MN20allowed to use the packet transfer. The determination unit17determines based on the whether the information included in the packet received by the interface19coincides with the terminal information stored in the subscriber database171. Therefore, the MAP10can easily determine whether the received packet is a packet from a MN20allowed to use packet transfer performed by the MAP10.

By using the mobile communication system1, MN20and MAP10as described above, a connection management service conducted by using AR(A)30ato AR(C)30cand a mobility management service conducted by using a MAP10can be separately provided to the MN20. As a result, the user of the MN20will obtain greater flexibility to select a service, because the user can use the connection management service and mobility management service separately. Furthermore, a communications carrier that provides services to MNs20can also provide a mobility management service to users who do not use the connection management service it provides, and can also provide a connection management service to users who do not use the mobility management service it provides. Therefore, the communications carrier that provides services to MNs20will obtain a greater possibility of sufficiently acquiring users of each service.

Second Embodiment

In the present embodiment, a decision criterion that a smaller number of hops between nodes indicates a shorter distance, is used as the decision criterion for determining whether the distance between nodes is short. As the remoteness/nearness decision information, the number of hops between nodes is used. The MAP and MN according to the present embodiment are generally the same as the MAP10and MN20shown inFIGS. 2 and 3, respectively, except that the operation concerning the search for a MAP, the decision of inter-mobile-terminal information and inter-transfer-device information, the detection of a MAP, and the update of a neighbor MAP table conducted by the NMDP unit15and NMDP unit25, and the neighbor MAP tables and second tables of the MAP and MN are different. Furthermore, the MAP selection policy storage unit25bstores a MAP selection policy, “a MAP located nearest”. A MAP located nearest is a MAP having a minimum number of hops between the MAP and MN. The configuration of the mobile communication system according to the present embodiment is substantially the same as that of the mobile communication system1shown inFIG. 1, except for the MAP and MN.

A plurality of MAP(a)110ato MAP(n)110nand one MN120alone in the mobile communication system are shown inFIG. 14. Furthermore, neighbor MAP tables116ato116nand the neighbor MAP table126, respectively, of the MAP(a)110ato MAP(n)110nand the MN120are shown together with each MAP(a)110ato MAP(n)110nand the MN120. For brevity of description, however, only IP addresses of the neighbor MAPs, and the number of hops between each of the MAP(a)110ato MAP(n)110nand MN120, and its neighbor MAPs are shown.

FIG. 15shows the neighbor MAP table116kand second table115aof the MAP(k)110kshown inFIG. 14. The neighbor MAP table and second table of the MAP according to the present embodiment will now be described by taking a neighbor MAP table116kand second table115ashown inFIG. 15, as an example. The neighbor MAP table116kstores an IP address, the number of hops, lifetime (in sec), and a sequence number 1 for each neighbor MAP. The maximum number of node entries in the neighbor MAP table116kis set to 5.

The number of hops is the number of hops between the MAP(k)110kitself having the neighbor MAP table116kand each neighbor MAP. The neighbor MAP table116kstores information concerning the neighbor MAPs according to the criterion, “five neighbor MAPs having smallest number of hops are stored in the order of increasing number of hops.” The lifetime and sequence number 1 are similar to those in the neighbor MAP table16kshown inFIG. 5.

The second table115astores a sequence number 2, initial lifetime (in sec), search lifetime (in sec), and initial HL (Hop Limit). The sequence number 2, initial lifetime, and search lifetime are similar to those in the second table15ashown inFIG. 5. The value of the initial HL is the number of hops that becomes a reference value for determining the number of hops between the MAP(k)1101itself and other MAPs. The initial HL is set to the initial value of HL in the MAP notification packet. The initial HL of the MAP is set to the maximum value in the number of hops for the neighbor MAPs stored in the neighbor MAP table116k. Therefore, the second table115astores the number of hops “13” between the MAP(k)110kand MAP(g)110gas the initial HL. The initial HL may not be set to the maximum value in the number of hops for the neighbor MAPs stored in the neighbor MAP table116k, but the initial HL may be previously set to a constant value in the second table115a. Or, the initial HL may be set to a value obtained by adding a preset constant value to the maximum value in the number of hops for the neighbor MAPs stored in the neighbor MAP table116k.

FIG. 16shows the neighbor MAP table126and second table125aof the MN120shown inFIG. 14. The neighbor MAP table126stores an IP address, the number of hops, lifetime (in sec), and a sequence number 1 for each neighbor MAP. The maximum number of node entries in the neighbor MAP table126is set to “5”. The number of hops is the number of hops between the MN120and each neighbor MAP. The neighbor MAP table126stores information concerning the neighbor MAPs according to the criterion, “five neighbor MAPs having smallest number of hops are stored in the order of increasing number of hops.” The lifetime and sequence number 1 are similar to those in the neighbor MAP table26shown inFIG. 6.

The second table125astores a sequence number 2, initial lifetime (in sec), search lifetime (in sec), and initial HL. The sequence number 2, initial lifetime, and search lifetime are similar to those in the second table25ashown inFIG. 6. The value of the initial HL is the number of hops that becomes a reference value for determining the number of hops between the MN120and MAP. The initial HL is set to the initial value of HL in the MAP notification packet. The initial HL of the MN20is set to a sufficiently larger constant value than the initial HL of the MAP. In the case where the number of hops between the MN20and a neighbor MAP has varied largely according to the movement, therefore, the situation that MAP notification packets do not arrive at the MN120at all can be prevented.

(Search For and Detection of MAP)

1. Transmission and Reception of MAP Query Packet and MAP Notification Packet

A description will be given by taking the search for and detection of a MAP performed by a MN120as an example. The description will be given by taking the case where the neighbor MAP table126of the MN120is in a state shown inFIG. 16, as an example. The lifetime for the MAP(k)110kregistered in the neighbor MAP table126as a neighbor MAP is currently 16 (sec), and it is decreased every second. Then one second later, the lifetime for the MAP(k)110kin the neighbor MAP table126reaches 15 (sec), which is the search lifetime. Thereupon, the MN120starts a search for a MAP with respect to the MAP(k)110k.

When the MN120starts to search for a MAP, as shown inFIG. 14, the MN120first transmits a MAP query packet to the MAP(k)110k, and the MAP(k)110kreceives it as represented by a solid line arrow inFIG. 14. In this case, therefore, the MAP(k)110kbecomes a query packet reception transfer device. Specifically, the NMDP unit25in the MN120creates a MAP query packet103shown inFIG. 17, and the interface29transmits it.

The MAP query packet103includes an IPv6 header131and a destination option header132. A version for indicating the version of IP, a source address for indicating the transmission source of the MAP query packet103, and a destination address for indicating the destination of the MAP query packet103are stored in the IPv6 header131. A type, a sequence number for controlling the MAP query packet103, and an initial HL are stored in the destination option header132.

The NMDP unit25in the MN120sets the source address in the IPv6 header131to the IP address “MN” of the MN120, and sets the destination address in the IPv6 header131to the IP address “k” of the MAP(k)110k. The NMDP unit25in the MN120sets the type in the destination option header132to “41” which indicates the MAP query packet103. The NMDP unit25in the MN120sets the sequence number in the destination option header132to “668”, which is obtained by adding 1 to the value “667” of the sequence number 2 in the second table125ashown inFIG. 16. At this time, the NMDP unit25in the MN120also updates the value of the sequence number 2 in the second table125ato “668”. The NMDP unit25in the MN120copies the initial HL “255” in the second table125a, and sets the initial HL in the destination option header132to the copied initial HL.

Upon receiving the MAP query packet103, as shown inFIG. 14, the MAP(k)110ktransmits an encapsulated MAP notification packet to each of the neighbor MAPs stored in the neighbor MAP table116kin the MAP(k)110k, i.e., the MAP(k)110k, MAP(f)110f, MAP(i)110i, MAP(n)110nand MAP(g)110gas represented by a dot-dash line inFIG. 14. The encapsulated MAP notification packet means a packet obtained by encapsulating a MAP notification packet returned from the MAP(k)110kserving as a query packet reception transfer device to the MN120which has transmitted the MAP query packet. In other words, the MAP(k)110kserving as the query packet reception transfer device encapsulates the MAP notification packet with a header directed to the MAP(f)110f, MAP(i)110i, MAP(n)110nand MAP(g)110gneighboring the MAP(k)110kitself, and transmits a resultant encapsulated MAP notification packet. In this case, therefore, the MAP(f)110f, MAP(i)110i, MAP(n)110nand MAP(g)110gbecome peripheral transfer devices. The peripheral transfer device can be a transfer device having an address stored in the neighbor MAP table116kof the MAP(k)110k.

Specifically, the NMDP unit15in the MAP(k)110kcreates an encapsulated MAP notification packet, and the interface19transmits the encapsulated MAP notification packet. Hereafter, this operation will be described by taking the transmission of an encapsulated MAP notification packet to each of the MAP(i)110iand MAP(f)110f, as an example.FIG. 18Ashows an encapsulated MAP notification packet104ito be transmitted to the MAP(i)110i, andFIG. 18Bshows a MAP notification packet104fto be transmitted to the MAP(f)10f.

The encapsulated MAP notification packets104iand104fincludes IPv6 headers141iand141f, and MAP notification packets105iand105f, respectively. The IPv6 headers141iand141fare headers, respectively, for encapsulating the MAP notification packets105iand105fto be returned from the MAP(k)110kserving as the query packet reception transfer device to the MN120which has transmitted the MAP query packet. Versions for indicating the IP version, source addresses for indicating sources of the encapsulated MAP notification packets104iand104f, and destination addresses for indicating destinations of the encapsulated MAP notification packets104iand104fare stored in the IPv6 headers141iand141f, respectively.

The MAP notification packets105iand105fincludes IPv6 headers151iand151fand destination option headers152iand152f, respectively. A version for indicating the IP version, an HL, a source address for indicating the source of the MAP notification packet105i,105f, and a destination address for indicating a destination of the MAP notification packet105i,105fare stored in each of the IPv6 headers151iand151f. A type, an intermediate MAP address, a sequence number for controlling the MAP notification packet105ior105f, and an initial HL are stored in each of the destination option headers152iand152f. The intermediate MAP address is an address of a peripheral transfer device which the MAP notification packet105ior105fis passed through.

The NMDP unit15in the MAP(k)110ksets the source address in the IPv6 header141ito the IP address “k” of the MAP(k)110k, and sets the destination address in the IPv6 header141ito the IP address “i” of the MAP(i)110i. The NMDP unit15in the MAP(k)110kcopies the initial HL “255” in the received MAP query packet103shown inFIG. 17, and sets the HL in the IPv6 header151ito the copied initial HL “255”. The NMDP unit15in the MAP(k)110ksets the source address in the IPv6 header151ito the IP address “k” of the MAP(k)110k, and sets the destination address in the IPv6 header151ito the IP address “MN” of the MN120.

The NMDP unit15in the MAP(k)110ksets the type in the destination option header152ito “42” which indicates a MAP notification packet. The NMDP unit15in the MAP(k)110kcopies the destination address “i” in the IPv6 header141I, which is the transmission destination of the packet obtained by encapsulating the MAP notification packet105i, and sets the intermediate MAP address in the destination option header152ito the copied destination address “i”. The NMDP unit15in the MAP(k)110kcopies the value “668” of the sequence number and the value “255” of the initial HL in the received MAP query packet103shown inFIG. 17, and sets the sequence number and the initial HL in the destination option header152ito the copied values, respectively.

In the same way, the NMDP unit15in the MAP(k)110kcreates the encapsulated MAP notification packet104fto be transmitted to the MAP(f)110f. However, the NMDP unit15in the MAP(k)110ksets the destination address in the IPv6 header141fto the IP address “f” of the MAP(f)110f. The NMDP unit15in the MAP(k)110kcopies the destination address “f” in the IPv6 header141f, which is the transmission destination of the packet obtained by encapsulating the MAP notification packet105f, and sets the intermediate MAP address in the destination option header152fto the copied destination address “f”.

Upon receiving the encapsulated MAP notification packet104i,104f, the MAP(i)110iand MAP(f)110fconduct decapsulation to remove the outermost IPv6 header141i,141f, and take out a MAP notification packet105i,105fto be returned from the MAP(k)110kserving as the query packet reception transfer device to the MN120which has transmitted the MAP query packet. The MAP(i)110iand MAP(f)110ftransmit the MAP notification packet105i,105ftaken out to the MN120. The MAP(k)110k, MAP(n)110nand MAP(g)110gconduct similar processing as represented by a dot line arrow inFIG. 14. Thus, the MAP(k)110kserving as the query packet reception transfer device returns the MAP notification packet to the MN120which has transmitted the MAP query packet, via the MAP(f)110f, MAP(i)110i, MAP(n)110nand MAP(g)110gserving as peripheral transfer devices. Specifically, the IP layer unit13in each of the MAP(k)110k, MAP(f)110f, MAP(i)110i, MAP(n)110nand MAP(g)110gsimply decapsulates the encapsulated MAP notification packet, and the interface19transmits the MAP notification packet taken out.

Thus, the MAP(k)110kserving as the query packet reception transfer device encapsulates the MAP notification packet with the IPv6 header having an address of a neighbor MAP serving as a peripheral transfer device stored in the neighbor MAP table116kas its destination, and conducts tunnel transfer of the encapsulated MAP notification packet. As a result, the MAP(k)110kserving as the query packet reception transfer device can return the MAP notification packet to the MN120which has transmitted the MAP query packet, via MAP(f)110f, MAP(i)110i, MAP(n)110nand MAP(g)110gserving as peripheral transfer devices. Apart from such tunnel transfer, the MAP serving as the query packet reception transfer device can return the MAP notification packet to the MN120which has transmitted the MAP query packet, via MAPs serving as peripheral transfer devices, by using a route control header, which is an extension header of an option of IPv6.2. Inter-Mobile-Terminal Information Decision, MAP Detection, and Neighbor MAP Table Update

Upon receiving the MAP notification packet, the MN120conducts inter-mobile-terminal information decision, MAP detection, and neighbor MAP table update based on the returned MAP notification packet. Hereafter, this operation will be described by taking MAP notification packets105iand105freturned from the MAP(i)110iand MAP(f)110f, respectively, as an example.

First, the case where the MAP(i)110ihas transmitted the MAP notification packet105iwill now be described. The MN120receives the MAP notification packet105ishown inFIG. 19A. The MN120decides the number of hops between the MAP(i)110iserving as a peripheral transfer device, which the MAP notification packet105iis passed through (a MAP having an address stored in the intermediate MAP address in the MAP notification packet105i) and the MN120. Specifically, the NMDP unit25in the MN120acquires a value “249” of the HL included in the IPv6 header151iand a value “255” of the initial HL included in the destination option header152i, from the received MAP notification packet105i.

Here, as shown inFIG. 18A, the value of HL in the MAP notification packet105iincluded in the encapsulated MAP notification packet104ireceived by the MAP(i)110i, is “255”. On the other hand, the value of HL in the MAP notification packet105ireceived by the MN120is “249” as encircled inFIG. 19A, because the value of HL in the MAP notification packet105iis decreased by “1” every transfer while the MAP notification packet105iis transmitted from the MAP(i)110ito the MN120.

The NMDP unit25in the MN120conducts a calculation for subtracting the value “249” of HL from the value “255” of the acquired initial HL, and thereby obtains the number of hops between the MAP(i)110iand the MN120. The result of the calculation becomes 255−249=6. In this way, the number of hops between the MAP(i)110iand MN120, which is decided in the MN120, becomes “6”.

Subsequently, the NMDP unit25in the MN120retrieves to determine whether the intermediate MAP address “i” in the MAP notification packet105iis included in the IP addresses in the neighbor MAP table126shown inFIG. 20.FIG. 20shows the state of the neighbor MAP table126and second table125ain the MN120when the MN120has received the MAP notification packet105i,105fshown inFIG. 19A and 19B. In the neighbor MAP table126and second table125ashown inFIG. 20, there are places already updated from the state immediately before the MAP search is started shown inFIG. 16.

If the intermediate MAP address “i” in the newly received MAP notification packet105iexists in the neighbor MAP table126, then the NMDP unit25in the MN120determines that the MAP(i)110iwhich the MAP notification packet105ihas been passed through is an already detected MAP. In this case, therefore, the NMDP unit25in the MN120determines that the MAP notification packet105ishould be used to update the information concerning the MAP(i)110ialready stored as a neighbor MAP. In the case ofFIG. 20, the intermediate MAP address “i” is included in the IP addresses in the neighbor MAP table126. Therefore, the NMDP unit25in the MN120determines that the MAP notification packet105ishould be used to update the information concerning the MAP(i)110i.

Subsequently, the NMDP unit25in the MN120determines whether update of existing information concerning the MAP(i)110iin the neighbor MAP table126based on the received MAP notification packet105ishould be executed. Specifically, the NMDP unit25in the MN120compares the sequence number “668” in the received MAP notification packet105iwith the sequence number 1 “667” for the MAP(i)110iin the neighbor MAP table126(FIG. 20) when the MAP notification packet105iis received. When the sequence number in the MAP notification packet105iis higher, then the NMDP unit25in the MN120determines that the information based on the MAP notification packet105iis the latest information and update of the information should be executed. In the case ofFIG. 20, the sequence number in the MAP notification packet105iis higher. Therefore, the NMDP unit25in the MN120determines that the update of the information should be executed. On the other hand, when the sequence number in the MAP notification packet105iis lower than the sequence number 1 for the MAP(i)110iin the neighbor MAP table126, then the NMDP unit25in the MN120determines that update of the information should not be executed.

Subsequently, the NMDP unit25in the MN120executes update of information concerning the MAP(i)110iin the neighbor MAP table126. The NMDP unit25in the MN120acquires the sequence number “668” from the MAP notification packet105i(FIG. 19A). The NMDP unit25in the MN120acquires the initial lifetime “30” from the second table125a(FIG. 20). The NMDP unit25in the MN120conducts updating so as to have the latest information by replacing the existing number of hops “6” concerning the MAP(i)1101in the neighbor MAP table126(FIG. 20) with the decided number of hops “6”, replacing the existing lifetime “21” with the acquired initial lifetime “30”, and replacing the existing sequence number 1 “667” with the acquired sequence number “668”.

Next, the case where the MAP(f)110fhas transmitted the MAP notification packet105fwill now be described. The MN120receives the MAP notification packet105fshown inFIG. 19B. The MN120determines the number of hops between the MAP(f)110fserving as a peripheral transfer device, which the MAP notification packet105fis passed through (a MAP having an address stored in the intermediate MAP address in the MAP notification packet105f) and the MN120. Specifically, the NMDP unit25in the MN120acquires a value “244” of the HL included in the IPv6 header151fand a value “255” of the initial HL included in the destination option header152ffrom the received MAP notification packet105f.

The NMDP unit25in the MN120conducts a calculation for subtracting the value “244” of HL from the value “255” of the acquired initial HL, and thereby obtains the number of hops between the MAP(f)110fand MN120. The result of the calculation becomes 255−244 =11. In this way, the number of hops between the MAP(f)110fand MN120, which is decided in the MN120, becomes “11”.

Subsequently, the NMDP unit25in the MN120retrieves to determine whether the intermediate MAP address “f” in the MAP notification packet105fis included in the IP addresses in the neighbor MAP table126shown inFIG. 20. When the intermediate address “f” in the newly received MAP notification packet105fdoes not exist in the neighbor MAP table126, then the NMDP unit25in the MN120determines that the MAP(f)110fwhich the MAP notification packet105fhas been passed through is a newly detected MAP. In other words, the NMDP unit25in the MN120determines that there is a possibility that the MAP(f)10fis newly registered in the neighbor MAP table126in the MN120, as a neighbor MAP for the MN120. In the case ofFIG. 20, the intermediate address “f” in the newly received MAP notification packet105fis not included in the IP addresses in the neighbor MAP table126. Therefore, the NMDP unit25determines that the MAP(f)110fis a newly detected MAP.

Subsequently, the NMDP unit25determines whether the detected MAP(f)10fshould be newly recorded in the neighbor MAP table126as a neighbor MAP for the MN120. First, the NMDP unit25compares to determine whether the number of hops between the MAP(f)110fand MN120determined based on the MAP notification packet105fis smaller than the greatest number of hops of the neighbor MAPs stored in the neighbor MAP table126in the MN120when the MAP notification packet105fhas been received. When the number of hops of the MAP(f)110fis greater than or equal to the greatest number of hops in the neighbor MAP table126, then the NMDP unit25determines that the MAP(f)110fshould not be newly registered in the neighbor MAP table126, as a neighbor MAP for the MN120. In the case ofFIG. 20, the determined number of hops “11” of the MAP(f)110fis greater than or equal to the greatest number of hops in the neighbor MAP table126. Therefore, the NMDP unit25determines that the MAP(f)110fshould not be newly recorded in the neighbor MAP table126. In this case, the NMDP unit25does not update the neighbor MAP table126based on the MAP notification packet105f.

On the other hand, when the number of hops between the MAP(f)110fof and MN120is smaller than the greatest number of hops in the neighbor MAP table126in the MN120when the MAP notification packet105fhas been received, then the NMDP unit25in the MN120determines that the MAP(f)110fshould be newly recorded in the neighbor MAP table126, as a neighbor MAP for the MN120. The NMDP unit25in the MN120erases information concerning a neighbor MAP having the greatest number of hops in the neighbor MAP table126. Further, the NMDP unit25updates the neighbor MAP table126based on the MAP notification packet105f.

Specifically, the NMDP unit25in the MN120acquires the intermediate MAP address and sequence number from the MAP notification packet105f, and acquires the initial lifetime from the second table125a. The NMDP unit25stores the decided number of hops, the acquired intermediate MAP address, initial lifetime and sequence number in the neighbor MAP table126, as information concerning the MAP(f)110f. In this way, the MAP(f)110f, which is a newly detected neighbor MAP for the MN120, is registered in the neighbor MAP table126.

While the search for and detection of a MAP performed by the MN120have been described above, the MAP(a)110ato MAP(n)110ncan also search for and detect other MAPs in the same way as the search for and detection of a MAP performed by the MN120. Incidentally, the initial HL in the second table115ais set to the greatest number of hops of the neighbor MAPs stored in the neighbor MAP table116kas shown inFIG. 15. In other words, in the case of the MAP(a)110to MAP(n)110n, the initial HL is set to the greatest number of hops of the neighbor MAPs stored in each of the neighbor MAP tables116ato116n. As a result, before the MAP notification packet arrives at the MAP which has transmitted the MAP query packet, the value of HL in the MAP notification packet is decreased by 1 every transfer and may become 0. In other words, on the route between the MAP serving as a peripheral transfer device and the MAP, which has transmitted the MAP, query packet, the MAP notification packet may disappear and not arrive at the MAP, which has transmitted the MAP query packet. In this case, update of the neighbor MAP table116ato116kbased on the MAP notification packet is not conducted in the MAP which has transmitted the MAP query packet.

As a result, the MAP notification packet transmitted from the MAP serving as a peripheral transfer device that is located so far away and may not be registered in the neighbor MAP tables116ato116k, can be extinguished on the route between the MAP serving as a peripheral transfer device and the MAP which has transmitted the MAP query packet. In other words, the MAP that is greater in number of hops than the neighbor MAPs in the current neighbor MAP tables116ato116kis not registered in the neighbor MAP tables116ato116k. It is possible to extinguish the MAP notification packet transmitted from such a MAP without being them received by the MAP, which has transmitted the MAP query packet. Therefore, the control load of the MAP, which has transmitted the MAP query packet can be reduced, and the transfer of extra packets can be prevented.3. Movement of MN

As to how the MN120searches for and detects a MAP while moving on a movement route indicated by an arrow D inFIG. 21will now be described. First, the MN120is in a position indicated by an arrow A inFIG. 21. When the lifetime of the information concerning any of the MAPs in the neighbor MAP table126in the MN120reaches the search lifetime, then the MN120starts a search for a MAP. The MN120transmits a MAP query packet to the MAP. Subsequently, the MN120receives a MAP notification packet in response to the MAP query packet returned via a MAP that has become a peripheral transfer device. The NMDP unit25detects a new MAP, and updates the neighbor MAP table126, based on the received MAP notification packet. As a result, information concerning neighbor MAPs having small number of hops between the MAPs and the MN120located in the position indicated by the arrow A inFIG. 21, is recorded in the neighbor MAP table126in the order of increasing number of hops as MAP(g)110g, MAP(i)110i, MAP(k)110k, MAP(h)110hand MAP(n)110n.

As shown inFIG. 16, the initial lifetime and search lifetime stored in the second table125aof the MN120are set to short time values. While the MN120moves on the movement route indicated by the arrow D from the position indicated by the arrow A to a position indicated by an arrow C via a position indicated by an arrow B inFIG. 21, the lifetime values for information concerning neighbor MAPs in the neighbor MAP table126reaches the search lifetime one after another, and the MN120searches for a MAP repetitively.

In the position indicated by the arrow B inFIG. 21, therefore, information concerning neighbor MAPs having small number of hops between MAPs and the MN120located in the position indicated by the arrow B inFIG. 21, is recorded in the neighbor MAP table126in the order of increasing number of hops as MAP(k)110k, MAP(i)110i, MAP(n)110n, MAP(h)110hand MAP(g)110g. Furthermore, in the position indicated by the arrow C inFIG. 21, information concerning neighbor MAPs having small number of hops between MAPs and the MN120located in the position indicated by the arrow C inFIG. 21, is recorded in the neighbor MAP table126in the order of increasing number of hops as MAP(n)110n, MAP(k)110k, MAP(i)110i, MAP(l)110land MAP(e)110e.

Selection of a MAP will now be described by taking a case where the MN120has the neighbor MAP table126shown inFIG. 16, as an example. The NMDP unit25in the MN120first acquires a MAP selection policy represented as “a MAP located nearest (a MAP having a minimum number of hops between the MAP and MN)” from the MAP selection policy storage unit25b.

Subsequently, the NMDP unit25compares the information concerning neighbor MAPs stored in the neighbor MAP table126shown inFIG. 16with the MAP selection policy acquired from the MAP selection policy storage unit25b, and selects an optimum MAP satisfying the MAP selection policy. As a result, the NMDP unit25selects the MAP(g)110gas the MAP to be used for transfer of packets. The NMDP unit25notifies the mobility management unit24of the address of the selected MAP(g)110g. The mobility management unit24creates a binding update packet or buffering request packet to be transmitted to the MAP(g)110gnotified by the NMDP unit25. Finally, the interface29transmits the binding update packet or buffering request packet to the MAP(g)110g.

According to the mobile communication system, MAP(a)110ato MAP(n)110n, MN120, and mobile communication method of the second embodiment as described above, the following effects can be obtained in addition to the effects obtained by the mobile communication system1, MAP10, MN20, and mobile communication method according to the first embodiment.

The NMDP unit15in the MAP(a)110ato MAP(n)110ncreates a MAP notification packet to be passed through the MAPs serving as peripheral transfer devices other than the query packet reception transfer device, which has received the MAP query packet transmitted from the MN120. Therefore, the MAP notification packet can also include information concerning the MAPs which are peripheral transfer devices which the MAP notification packet is passed through. As a result, the MAP(a)110ato MAP(n)110ncan also provide the MN120with information concerning the MAPs, which have become peripheral transfer devices.

The present invention is not limited to the embodiments described above, and various variations are possible.

In the embodiments described above, a MAP notification packet including transfer device information, such as the delay value, the number of hops and the processing capability, is used. A MAP that has become a query packet reception transfer device or a peripheral transfer device may create a MAP notification packet including an IP address of a neighbor MAP stored in its own neighbor MAP table, and return the MAP notification packet to a MAP or MN which has transmitted the query packet. In this case too, the MAP or MN which has transmitted the query packet can grasp an IP address of other MAPs, detect MAPs, and register the detected MAPs in the neighbor MAP table. In addition, it is possible to reduce the information included in the MAP notification packet, and make the packet transmission and packet processing more efficient.

In this case, the MAP or MN, which has transmitted the query packet transmits a ping (Packet Internet Groper) request for investigation of the delay value or the number of hops to an IP address of the MAP detected on based on the MAP notification packet. Upon receiving the ping request, the detected MAP returns a ping response in response to the ping request. Upon receiving the ping response, the MAP or MN, which has transmitted the query packet updates the neighbor MAP table based on the received ping response.

In this case, the NMDP unit15in the MAP or the NMDP unit25in the MN functions as a data creation unit, which creates a ping request as data for investigating transfer device information, and to be transmitted to the MAP detected by the NMDP unit15or25. The interface19or29functions as the communication unit, which transmits a ping request created by the NMDP unit15or25, and receives a ping response as response data returned from the detected MAP, in response to the ping request.

In this way, by using the ping request and ping response, the MAP or MN which has transmitted the query packet can also grasp the transfer device information concerning the detected MAP. Furthermore, by receiving a ping response depending upon the situation at the time of transmission of the ping request, the MAP or MN, which has transmitted the query packet can grasp the transfer device information depending upon the situation at that time.

Furthermore, after the MAP or MN has registered a MAP in the neighbor MAP table as a neighbor MAP, the MAP or MN can investigate the transfer device information, such as the delay value and the number of hops between the MAP or MN and an already detected neighbor MAP, as occasion demands by using the data for investigating the transfer device information and its response data, such as the ping request and ping response. Further, the MAP or MN can update the neighbor MAP table based on the transfer device information, and store the latest information.

In the embodiments described above, IPv6 is used. However, IPv4 can also be used. In the case where IPv4 is used, a packet obtained by storing information stored in the destination option header of a MAP query packet, MAP notification initiator packet, or MAP notification packet, in a data part of an IPv4 packet is used. Using the port number in the UDP header indicates the kind of the packet indicated by the type in the destination option header.

FIG. 22shows a configuration of a MAP310in the case where IPv4 is used. The MAP310comprises an application unit11, a TCP/UDP unit312, an IP layer unit313, a mobility management unit14, a binding information storage unit14a, a buffer14a, an NMDP unit315, a neighbor MAP table316, a second table315a, a determination unit317, a key storage unit317a, a link layer unit18and an interface19. Parts substantially the same as those in the MAP10shown inFIG. 2have identical reference numerals and the description thereof will be omitted.

The key storage unit317ais a data storage unit configured to store common data, which is commonly assigned to the MNs allowed to use packet transfer. A user of the MN acquires the common data such as a key which is commonly assigned to the MNs allowed to use packet transfer when the user makes a contract with Carrier A for using the mobility management service. The key storage unit317astores, for example, a key, as the common data, which is commonly assigned only to the MNs allowed to use packet transfer.

The determination unit317acquires from the mobility management unit14a packet concerning mobility management such as a binding update packet or buffering request packet, which has been transmitted from the MN and received by the interface19. The determination unit317determines whether the received packet is a packet from a MN allowed to use packet transfer performed by the MAP, based on the whether data such as a key included in the binding update packet or buffering request packet acquired from the mobility management unit14coincides with the common data such as a key stored in the key storage unit317a.

At this time, the binding update packet or buffering request packet received by the interface19may include the common data such as a key as it is, or may include a result of calculation using an address such as a home address, LCoA or RCoA of the MN, and the common data such as a key. Therefore, if the calculation result is included in the binding update packet or buffering request packet, the determination unit317conducts an operation for taking out the common data such as a key from the calculation result. Further, the determination unit317compares the common data such as a key obtained by the operation with the common data such as a key stored in the key storage unit317a.

As a result of comparing the data included in the binding update packet or buffering request packet acquired from the mobility management unit14, with the common data stored in the key storage unit317a, when they coincide with each other, the determination unit317determines that the received packet is a packet from a MN allowed to use packet transfer performed by the MAP. In this case, the determination unit317returns to the mobility management unit14the binding update packet or buffering request packet acquired from the mobility management unit14. On the other hand, as a result of the comparing, when they do not coincide with each other, the determination unit317determines that the received packet is not a packet from a MN20allowed to use packet transfer performed by the MAP. In this case, the determination unit317discards the binding update packet or buffering request packet acquired from the mobility management unit14.

Consequently, the MAP310can easily determine whether a received packet is a packet from a MN allowed to use packet transfer performed by the MAP, by storing common data which is commonly assigned only to the MNs allowed to use packet transfer and comparing it with the data included in the received packet. In addition, the key storage unit317ahas only to store the common data, and does not need to store information concerning all the MNs allowed to use packet transfer. Therefore, pressure on the storage capacity in the MAP can be prevented.

The TCP/UDP unit312acquires a MAP notification packet for notifying the address of the MAP10, a MAP notification initiator packet or a MAP query packet from the IP layer unit313, and inputs the packet to the NMDP unit315. The TCP/UDP unit312acquires a MAP notification packet, MAP notification initiator packet or MAP query packet from the NMDP unit315, and inputs the packet to the IP layer unit313. The TCP/UDP unit312determines the kind of the packet based on a port number in a TCP header of the packet. Except for these points, the TCP/UDP unit312is substantially the same as the TCP/UDP unit12of the MAP10shown inFIG. 2.

The NMDP unit315inputs a MAP notification packet for notifying of the address of the MAP, a MAP notification initiator packet or a MAP query packet to the TCP/UDP unit312, and acquires the same from the TCP/UDP unit312. Furthermore, the NMDP unit315acquires information from the neighbor MAP table316and second table315a, and updates information in the neighbor MAP table316and second table315a. Thus, the NMDP unit315is substantially the same as the NMDP unit15in the MAP10shown inFIG. 2except that the processing is conducted at the TCP/UDP level. The neighbor MAP table316and second table315aare substantially the same as the neighbor MAP table16and second table15ain the MAP10shown inFIG. 2except that they are used in processing conducted at the TCP/UDP level. The IP layer unit313is substantially the same as the IP layer unit13shown inFIG. 2except that the IP layer unit313does not input packets to and receive packets from the NMDP unit315.

FIG. 23shows a configuration of a MN320in the case where IPv4 is used. The MN320comprises an application unit21, a TCP/UDP unit322, an IP layer unit323, a mobility management unit24, a management information storage unit24a, an NMDP unit325, a neighbor MAP table326, a second table325a, a MAP selection policy storage unit325b, a link layer unit28and an interface29. Parts substantially the same as those in the MN20shown inFIG. 3have identical reference numerals and the description thereof will be omitted.

The TCP/UDP unit322acquires a MAP notification packet from the IP layer unit323, and supplies the packet to the NMDP unit325. The TCP/UDP unit322acquires a MAP query packet from the NMDP unit325, and inputs the packet to the IP layer unit323. The TCP/UDP unit322determines the kind of the packet based on a port number in a TCP header of the packet. Except for these points, the TCP/UDP unit322is substantially the same as the TCP/UDP unit22of the MN20shown inFIG. 3.

The NMDP unit325supplies a MAP query packet to the TCP/UDP unit322, and acquires a MAP notification packet from the TCP/UDP unit322. Furthermore, the NMDP unit325acquires information from the neighbor MAP table326, second table325aand MAP selection policy storage unit325b, and updates information in the neighbor MAP table326and second table325a. Thus, the NMDP unit325is substantially the same as the NMDP unit25in the MN20shown inFIG. 3except that the processing is conducted at the TCP/UDP level. The neighbor MAP table326, second table325aand MAP selection policy storage unit325bare substantially the same as the neighbor MAP table26, second table25aand MAP selection policy storage unit25bin the MN20shown inFIG. 3except that they are used in processing conducted at the TCP/UDP level. The IP layer unit323is substantially the same as the IP layer unit23shown inFIG. 3except that the IP layer unit323does not input packets to and receive packets from the NMDP unit325.

In peripheral transfer devices, there is a MAP directly neighboring a MAP serving as the query packet reception transfer device, and a MAP indirectly neighboring the MAP serving as the query packet reception transfer device. For example, denoting a MAP directly neighboring a MAP serving as the query packet reception transfer device by first neighbor MAP, a second neighbor MAP directly neighboring the first neighbor MAP and a third neighbor MAP directly neighboring the second neighbor MAP become MAPs indirectly neighboring the MAP serving as the query packet reception transfer device.

In the embodiments described above, upon receiving a MAP notification initiator packet, a MAP serving as a peripheral transfer device directly neighboring a MAP serving as the query packet reception transfer device simply transmits a MAP notification packet. However, a MAP serving as a peripheral transfer device directly neighboring a MAP serving as the query packet reception transfer device may further transmit a MAP notification initiator packet to a MAP having an address stored in its own neighbor MAP table. As a result, a MAP or MN, which has transmitted a query packet can also receive a MAP notification packet from a MAP serving as a peripheral transfer device indirectly neighboring a query packet reception transfer device. In the same way, upon receiving a MAP notification initiator packet, a MAP may create a MAP notification initiator packet and transmit the MAP notification initiator packet to a MAP having an address stored in the neighbor MAP table in the MAP. This operation may be repeated one after another.

Furthermore, upon receiving a MAP notification packet, a MAP existing on a route which the MAP notification packet is passed through may create a MAP notification packet that includes information concerning a MAP stored in its own neighbor MAP table, and transmit the MAP notification packet to a MAP or MN which has transmitted the query packet. Or upon receiving a MAP notification packet, a MAP existing on a route which the MAP notification packet is passed through may store information concerning a MAP stored in its own neighbor MAP table, in the received MAP notification packet.

In this way, each MAP may transmit a packet concerning a MAP search or MAP notice to a MAP neighboring itself, and propagation to the surrounding MAPs may be conducted by repeating this operation. As a result, each MAP can grasp information concerning a larger number of MAPs.

NMDP unit15can create a notification packet or notification initiator packet in either case where the interface19has received a MAP query packet for searching for a MAP from the MN, where the interface19has received a MAP notification packet from other MAPs, or where the interface19has received a MAP notification initiator packet from other MAPs.

The method for deciding a delay value and the number of hops between a MAP and MN or between a MAP and other MAPs is not limited to that in the embodiments described above. In the embodiments described above, a MAP or MN which has transmitted a query packet decides inter-mobile-terminal information or inter-transfer-device information between the MAP or MN itself which has transmitted the query packet and a MAP serving as a peripheral transfer device, based on a delay value between the MAP or MN itself and a MAP serving as a query packet reception transfer device and a delay value between the MAP serving as a query packet reception transfer device and the MAP serving as the peripheral transfer device. If the MAPs are in synchronism with each other and a MAP is in synchronism with the MN, however, the delay value itself between the MAP or MN itself which has transmitted the query packet and the MAP serving as the peripheral transfer device can be measured directly. For example, when transmitting a MAP notification packet, the MAP serving as the peripheral transfer device needs only to store its transmission time in the MAP notification packet. It is also not necessary to store the search start time in a MAP query packet, MAP notification initiator packet, or MAP notification packet.

In the case where the MAPs are in synchronism with each other and a MAP is in synchronism with the MN, each MAP that exists on the route of a MAP notification packet may store its own IP address and transmission time of the MAP notification packet when it has received the MAP notification packet. In other words, each MAP may press a time stamp of transmission time on a MAP notification packet. As a result, the MAP or MN, which has transmitted the query packet can grasp information concerning a larger number of MAPs at a time.

In the case where the MAPs are in synchronism with each other and a MAP is in synchronism with the MN, the MN or MAP which has transmitted the query packet may comprise a table in which the sequence number of each MAP query packet is associated with its search start time. By accessing the table based on the sequence number in the returned MAP notification packet, the search start time can be grasped. As a result, it is not necessary to store the search start time in the MAP query packet, MAP notification initiator packet and MAP notification packet.

Also, as for the number of hops, the number of hops between the MN or MAP itself, which has transmitted the query packet and the MAP serving as the peripheral transfer device may be directly measured. Or the number of hops between the MN or MAP itself, which has transmitted the query packet and the MAP serving as the peripheral transfer device may be calculated from the numbers of hops between MAPs.

Information included in the MAP notification packet and information stored in the neighbor MAP table are not limited to those in the embodiments described above. The information included in the MAP notification packet and the information stored in the neighbor MAP table vary according to the remoteness/nearness decision criterion and MAP selection policy used by the mobile communication system, MAP and MN. If, apart from the delay value and the number of hops, for example, inter-mobile-terminal information and inter-transfer-device information such as the cost and link capacity, and own-transfer-device information such as traffic volume, are used as parameters for the remoteness/nearness decision criterion, then the MAP notification packet includes such inter-mobile-terminal information, inter-transfer-device information and own-transfer-device information, and the neighbor MAP table stores such inter-mobile-terminal information, inter-transfer-device information and own-transfer-device information.

If, apart from the processing capability, inter-mobile-terminal information or inter-transfer-device information such as propagation path information between MN and MAP or MAPs, and own-transfer-device information such as reliability (such as whether a mirror configuration is adopted), traffic volume, the number of MNs using the MAP, and transmission power, are used as parameters for the MAP selection policy, then the MAP notification packet includes such inter-mobile-terminal information, inter-transfer-device information and own-transfer-device information, and the neighbor MAP table stores such inter-mobile-terminal information, inter-transfer-device information and own-transfer-device information.

It is also possible that the neighbor MAP table stores a plurality of kinds of inter-mobile-terminal information, inter-transfer-device information and own-transfer-device information, and the NMDP unit changes the remoteness/nearness decision criterion to be adopted or the MAP selection policy to be used, according to the situation. A criterion used to store information by the neighbor MAP table is not limited to that in the embodiments described above, either. For example, information concerning MAPs that are less than a predetermined value in the delay value or the number of hops may be stored without setting the maximum number of node entries. Furthermore, information concerning MAPs maybe stored in the order of lifetime, or in the order determined by other transfer device information. It is desirable that the criterion according to which the neighbor MAP table of the MN stores information is set based on the MAP selection policy. By previously registering MAPs satisfying the MAP selection policy in the neighbor MAP table, a MAP to be used can be selected efficiently.