Patent Publication Number: US-7225268-B2

Title: Radio terminal that decides a best route based on weight values of communication paths

Description:
FIELD OF THE INVENTION 
     The present invention relates to a wireless terminal, and more particularly to a wireless terminal that can set up a route to a terminal at the other end with which communication is to be established in a local network. 
     BACKGROUND OF THE INVENTION 
     Radio terminals such as portable terminals have become widely used with more and more attention on a local communication among those wireless terminals. A typical such local network is an ad hoc network. An ad hoc network is a local network temporarily created as required. A wireless terminal belonging to the network does not know what terminals are in the network. Nor is there a server that centrally manages the network. The wireless terminals do not have to create a special setting for communication but autonomously recognize surrounding wireless terminals to build a network for information exchange or sharing. On this network, there is a possibility that a wireless terminal suddenly leaves the network. A need therefore exists for a mechanism that can prepare for such a change. 
     In building such a local network, we must take into consideration how one wireless terminal transfers data to another wireless terminal via what wireless terminal. In general, when data is transferred between computers, IP (Internet Protocol) data is transferred from an IP address to a destination IP address in the network layer of the OSI (Open System Interconnection) using a routing protocol. In this case, as a routing protocols used for path selection, there are provided a first method that employs distance vector routing in which the distance is used as the selection condition and a second method that employs link state vector routing in which the link state is used as the selection condition. 
     Distance vector routing, given as a first method above, uses a hop count, which is the count number of gateway hops, as a factor determining the IP-datagram delivery route in order to calculate the distance vector. The route is determined by selecting a path whose distance vector is short. The hop count refers to the number of gateways encountered by an IP-datagram from a source terminal connected to a LAN (Local Area Network) to a destination terminal connected to another LAN. 
     Link state vector routing, given as a second method above, maps information indicating whether or not a link between neighboring gateways is available and uses the Dijkstra algorithm as the shortest network path search algorithm. In this case, the shortest distance is calculated for one origin node to all destination nodes. 
     Many other routing technologies or methods have also been proposed. For example, a third method disclosed in Japanese Patent Publication Kokai JP-A No. 2000-49852 modifies distance vector routing, described above as a first method, by incrementing the hop count each time an error packet is received that is generated at the termination of the search packet signal. That is, this method varies the path selection priority by increasing the distance vector. 
     Another method is disclosed in Japanese Patent Publication Kokai JP-A No. 2000-341199 as a fourth method. This fourth method selects a communication path using a plurality of pre-prioritized communication path information to build a network system. If an error occurs on any of the communication paths, data to which this error information is added is sent back to the source terminal. Upon receiving the error information, the source terminal checks its own path information to switch to the next highest-priority communication path to prevent communication efficiency from decreasing. 
     A still another method is disclosed in Japanese Patent Publication Kokai JP-A No. 2000-4469 as a fifth method. This fifth method is applied to a wireless communication system composed of a center station, a plurality of intermediary nodes, and a plurality of wireless terminals. In this method, the center station outputs the adjustment request signal, which is received by a wireless terminal via intermediary nodes. The wireless terminal sends back quality information such as the reception field strength and a bit error rates over radio waves. The plurality of intermediary nodes, which receive the radio waves from the wireless terminal, adds the radio wave reception quality information to the received radio waves and sends them to the center station. 
     SUMMARY OF THE DISCLOSURE 
     The Network State is more susceptible to change on a wireless communication path than on a wired communication path. For example, not only the strength of the electric field continuously changes as time goes on but also a phenomenon such as fading occurs. Fading refers to a fluctuation in a carrier frequency caused by radio waves affected by interferences such as reflection, diffraction, or scattering generated by building or trees. This state change sometimes results in a transmission or a reception error of data sent from the sending terminal to the receiving terminal. The degree of a transmission or reception error is represented as a bit error rates. A bit error rates, if higher than a predetermined rate, prevents communication from being performed and breaks the communication link. Thus, not only the communication transfer rate but also the bit error rate is an important factor in checking wireless communication quality. 
     Therefore, it is difficult to directly apply the proposals described above to local network such as an ad hoc network. 
     First, take a look at the first method. When calculating a vector distance only for a static network, there is no problem with this method. This is because creating a path table for all terminating ends is relatively easy. However, the first method is not applicable to a local network such as an ad hoc network described above. Each time a wireless terminal via which data is sent is changed to another wireless terminal in a local network, a plurality of path searches must be re-attempted as described above and, in addition, the path search processing takes long. Therefore, in such a network, it is not realistic to create a path table for all terminating ends. 
     Routing using a link state vector, given as the second method, covers the shortcomings of routing using a distance vector used in the first method. That is, the path search using link state vector checks if communication is possible with an adjacent gateway and, based on the result, creates a route map for calculating the shortest distance for each route. However, if a radio local network such as an ad hoc network, which has no dedicated gateway, is built using the second method, it becomes difficult to search for the best path. This is because, on a radio network in which the network quality changes in relatively short time, it is impossible to search for the best path based on link information only. 
     The third method, which is an application of the method using a distance vector, increments the hop count each time an error packet is received. Increasing the hop count and, thereby, decreasing the priority of a selection path for selecting the best route is efficient on a usual network. However, on a local network where the network quality is decreased in a relatively short time in the mobile environment, the best path cannot be selected simply by increasing the hop count to decrease priority as time goes on. 
     Next, consider the fourth method. The fourth method responds to a change in the communication state by switching the communication path to the next highest-priority communication path when an error occurs. However, the next highest-priority path information is priority information saved in advance. Therefore, when the network quality changes in a relatively short time as described above, the next highest-priority communication path selected based on the saved information is not always the best path at that time. 
     Finally, consider the fifth method. The fifth method performs routing processing with the use of field strengths and bit error rates to select a communication station of good communication quality during communication with a terminal via intermediary terminals. However, when this technology is applied to a network, such as an ad hoc network in which a wireless terminal also acts as an intermediary terminal, the communication mode becomes many-to-many rather than one-to-many. Therefore, the fifth method cannot be used for the route search. 
     Accordingly, it is an object of the present invention to provide a wireless terminal capable of quickly searching for the best route necessary for communication in a local network such as an ad hoc network. 
     The above and other objects are attained by a wireless terminal in accordance with a first aspect of the present invention, which comprises 
     (a) weight value setting means for setting a weight value for each of plurality of communication paths, each having one end connected to a neighboring other terminal, said weight value being a reference value for selection when communication is performed over the communication paths; 
     (b) route search request relaying means, on receipt of a route search request from another terminal, said route search request issued for establishing a communication route to a predetermined terminal as a communication destination, with the weight value of communication paths, through which said route search request has passed, attached thereto, sending to a predetermined communication path the route search request with a weight value of the communication path attached thereto, said predetermined communication path being selected from among communication paths beginning at an own terminal and being connected to the own terminal based on the weight values of the communication paths; 
     (c) route deciding means that, receiving the route search request specifying the own terminal as the communication destination, for deciding a best route based on the weight value of the communication paths through which the route search request has passed, said weight value being attached to the route search request; and 
     (d) route search result notifying means for notifying the route decided by said route deciding means to a source terminal of the route search request. 
     In the wireless terminal according to the first aspect of the present invention, the weight value, which serves as a reference value for selection when communication is performed over the communication paths, is set for each of communication paths each of which has one end connected to a neighboring terminal. When a route search request is received from some other terminal for establishing a communication route to a predetermined terminal as a communication destination, some communication paths connected to this own terminal are selected based on the weight values. At the same time, the route search request is sent to the selected communication paths with the weight value of each of the selected communication paths added to the weight value of the preceding communication paths that is attached to the route search request. By sending the route search request in this way, the route search request is finally sent to the communication destination. When the route search request is received, the communication destination decides the best route based on the weight values of the communication paths via which the route search request has passed. The route search result notifying means notifies the communication-starting terminal of the decided route. As described above, the wireless terminal according to the first aspect of the present invention can decide the route when the route search request is sent to the destination terminal, thus speeding up route search processing. It also makes route search processing on the communication starting side easy. 
     The above and other objects are attained by a wireless terminal in accordance with a second aspect of the present invention, which comprises: 
     (a) bit error rate measuring means for measuring bit error rate of each of plurality of communication paths, each having one end connected to a neighboring other terminal; 
     (b) transfer rate setting means for setting a data transfer rate of each of the communication paths, each having one end connected to a neighboring other terminal,; 
     (c) weight value setting means for setting weight values based on measurement and setting contents of said bit error rate measuring means and said transfer rate setting means, the weight value being a reference value for setting a route for communication with a destination terminal over the communication paths; 
     (d) route search request sending means for sending a route search request with the weight value attached thereto, to each of the communication paths, each beginning at, and being connected to, an own terminal, when communication is started after selecting routes via which communication is performed with a predetermined destination; 
     (e) route search request relaying means, on receipt of the route search request with the weight value of communication paths, through which the route search request has passed, attached thereto, sending to a predetermined communication path the route search request with the weight value of the communication path attached thereto, said predetermined communication path beginning at the own terminal and being selected from among communication paths connected to the own terminal based on the weight values of the communication paths; 
     (f) route deciding means, on receipt of the route search request specifying the own terminal as a communication destination, deciding a best route based on the weight value of the communication paths through which the route search request has passed, said weight value being attached to the route search request; 
     (g) route search result notifying means for notifying the route decided by said route deciding means to a source terminal of the route search request; and 
     (h) communication starting means for initiating communication for the communication destination according to the indicated route, when the notification sent by said route search result notifying means is received by the source terminal of the route search request. 
     According to the second aspect of the present invention, for each of the communication paths, each of which has one end connected to a neighboring terminal, the weight value is set as a reference value for selection when communication is performed over the communication paths. When setting the weight value, the measurement result of bit error rates of the communication paths, each of which has one end connected to this terminal, produced by the bit error measuring means and the setting result of data transfer rates of communication paths that is set by the transfer rate setting means for each of the communication paths each of which has one end connected to this terminal are used. The data transfer rate may also be decided through negotiation with the terminal at the other end of the communication path. The wireless terminal according to the second aspect of the present invention comprises route search request sending means. The route search request sending means is means that, when the wireless terminal starts communication after selecting routes via which communication is performed with a predetermined destination, sends a route search request, to which the weight value is attached, to each of the communication paths each of which begins at, and is connected to, this terminal. The route search request is sent to the communication destination via the communication paths. At this time, an intermediary terminal selects communication paths beginning at this terminal based on the weight values and, when the route search request is sent to a communication path, adds the weight value of that communication path. Upon receiving the route search request, the communication destination decides the best route based on the weight value of the communication paths through which the route search request has been sent. The route search result notifying means notifies the source of the route search request about the route decided by the route deciding means. Based on this, the communication starting means starts communication with the communication destination according to the modified route. As described above, in the second aspect of the present invention, the wireless terminal is able to decide a route when the route search request is sent to the destination, speeding up route search processing. The present invention also simplifies route search processing in the communication starting side. In addition, setting the weight value with the use of the bit error rate and the data transfer rate allows the wireless terminal to select a route satisfying the requirement for both communication speed and data reliability. 
     The above and other objects are attained by a wireless terminal in accordance with a third aspect of the present invention, which comprises: 
     (a) weight value setting means for setting a weight value for each of plurality of communication paths each having one end connected to a neighboring other terminal, said weight value being a reference value for selection when communication is performed over the communication paths; 
     (b) route search request sending means for sending a route search request with the weight value attached thereto, to each of the communication paths, each beginning at, and being connected to, an own terminal, when communication is started after selecting routes via which communication is performed with a predetermined destination; 
     (c) route search request relaying means, on receipt of the route search request by the own terminal, said route search request having the weight value of communication paths, through which the route search request has passed, attached thereto, sending to a predetermined communication path the route search request with the weight value of the communication path attached thereto, said predetermined communication path beginning at the own terminal and being selected from among communication paths connected to the own terminal based on the weight values of the communication paths; 
     (d) route deciding means, on receipt of the route search request specifying the own terminal as a communication destination by the own terminal, deciding a best route based on the weight value of the communication paths through which the route search request has passed, said weight value being attached to the route search request; 
     (e) route search result notifying means for notifying the route decided by said route deciding means to a source terminal of the route search request; 
     (f) communication starting means for initiating communication for the communication destination according to the indicated route, when the notification sent by said route search result notifying means is received by the source terminal of the route search request; 
     (g) data relaying means for sending data sent from the source terminal of the route search request after the route is decided, to a next communication path according to the route; and 
     (h) communication unavailability notifying means, in the case of the communication path via which said data relaying means send data being unavailable, notifying a communication initiating terminal of the communication unavailability by using rest of the routes decided by said route deciding means. 
     According to the third aspect of the present invention, a weight value for each of communication paths each of which has one end connected to a neighboring terminal is set, wherein the weight value is a reference value for selection when communication is performed over the communication paths. When a route search request for setting a route for communication with a predetermined terminal is received from some other terminal, some communication paths connected to this terminal are selected based on the weight values and, at the same time, the route search request is sent to the selected communication paths with the weight value of the communication path added to the weight value of the communication paths through which the route search request has passed. By sending the route search request in this way, the route search request is finally sent to the communication destination. Upon receiving the route search request, the communication destination decides the best route based on the weight value of the communication paths through which the route search request has passed, wherein the weight value is attached to the route search request. The route search result notifying means notifies the communication-starting terminal of this route to cause the communication starting means to start communication. In some cases, for example, when some terminal on the route has moved after communication starts and data cannot be relayed, the data relaying means cannot use the communication route over which data is to be sent. In such a case, the communication unavailability notifying means notifies the communication-starting terminal of the condition using a route, on which the terminal that has moved is not included, so that the route may be reset as necessary. Again, in this case, the wireless terminal reduces the load of the terminal that will restart communication and allows it to take quick action. 
     The above and other objects are attained by a wireless terminal in accordance with a fourth aspect of the present invention, which is constituted by the wireless terminal according to any one of the first to third aspects of the present invention, in which the weight value attached to the route search request is an added-up value of the weight values of the communication paths beginning with the source of the route search request and wherein the route deciding means decides the best route based on a magnitude of the added-up value. 
     According to the fourth aspect of the present invention, the weight value attached to the route search request is the value produced by adding up the weight values of the communication paths through which the route search request has passed beginning with the source terminal. Thus, the length of data, such as packets, becomes shorter than when values are individually attached to data. The communication destination can easily judge the best route from the smallest or largest added-up value. When the weight values of communication paths are one or larger, multiplication may be used instead of addition. 
     The above and other objects are attained by a wireless terminal in accordance with a fifth aspect of the present invention, which is constituted by the wireless terminal according to any one of the first to third aspects of the present invention, in which the route search request relaying means selects the communication path except an already-selected communication path by referencing the route sent with the route search request and relays the route search request. 
     According to the fifth aspect of the present invention, when communication paths are selected, one after another, to set a route, an already-selected communication path is not selected again. This not only prevents a path, which will form a closed loop before reaching the communication destination, from being selected. 
     The above and other objects are attained by a wireless terminal in accordance with a sixth aspect of the present invention, which is constituted by the wireless terminal according to any one of the first to third aspects of the present invention, in which the route deciding means decides the best route based on the weight value as well as on a time required for the route search request to be received via each route. 
     According to the sixth aspect of the present invention, a practical route may be selected by considering a time actually required for a route search request and so on. 
     Still other objects and advantages of the present invention will become readily apparent to those skilled in this art from the following detailed description in conjunction with the accompanying drawings wherein only the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out this invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawing and description are to be regarded as illustrative in nature, and not as restrictive. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram showing a state of a local network to which an embodiment of the present invention is applied. 
         FIG. 2  is a block diagram showing the major components of the circuit configuration of a wireless terminal that joins the local network in the embodiment. 
         FIG. 3  is a block diagram showing the circuit configuration of a fifth wireless terminal. 
         FIG. 4  is a block diagram showing the circuit configuration of a data processing CPU unit shown in  FIG. 3 . 
         FIG. 5  is a block diagram showing the circuit configuration of a memory unit shown in  FIG. 3 . 
         FIG. 6  is a flowchart showing the first half of the initial stage of processing when one wireless terminal joins the local network in the embodiment. 
         FIG. 7  is a flowchart showing the last half of the initial stage of processing when one wireless terminal joins a local network in the embodiment. 
         FIG. 8  is a diagram showing the state in which a sixth wireless terminal attempts to connect to neighboring terminals in the embodiment. 
         FIG. 9  is a diagram showing a transfer rate request and a response to the request transferred between two terminals in the embodiment. 
         FIG. 10  is a diagram showing a bit error rate detection command and a response to the command transferred between two terminals in the embodiment. 
         FIG. 11  is a flowchart showing link weighting processing, which is executed after the processing in  FIG. 6 , between a terminal that has joined the local network and neighboring terminals. 
         FIG. 12  is a diagram showing the state of the local network and route weight values at a particular point in the embodiment. 
         FIG. 13  is a flowchart showing the flow of processing executed in this embodiment by a terminal, which starts communication, to decide a route. 
         FIG. 14  is a diagram showing, in a generalized form, how a route is established in this embodiment between a communication requesting terminal and a terminal at the other end of the line. 
         FIG. 15  is a flowchart showing a procedure used by each terminal in this embodiment to process a route search command that has been received. 
         FIG. 16  is a flowchart showing the flow of search route response processing executed by a destination terminal shown in step S 144 . 
         FIG. 17  is a diagram showing an example in which a terminal on a route, on which communication is established, leaves the local network. 
         FIG. 18  is a flowchart showing the flow of processing executed by each intermediary terminal after communication is started in the embodiment. 
         FIG. 19  is a block diagram showing the configuration of a wireless terminal in a modified embodiment. 
         FIG. 20  is a diagram showing a simple configuration in which three wireless terminals in the modified embodiment form a route. 
     
    
    
     PREFERRED EMBODIMENTS OF THE INVENTION 
     Preferred embodiments of the present invention will now be described in detail. 
       FIG. 1  illustrates a local network to which terminals according to one embodiment of the present invention is applied. It is assumed that a plurality of wireless terminals  11   1 - 11   8  are provided in a relatively limited area as shown in the figure. The numerals  1 - 8  in the circles (◯), which indicate the terminals  11   1 - 11   8 , represent unique addresses of the terminals. This figure indicates the fifth wireless terminal  11   5  has moved from somewhere else and has joined this local network. Each of the straight lines joining the wireless terminals  11   1 - 11   8  indicates a link  12  between each two terminals. When the fifth terminal  11   5  has joined this network, the link  12  is created for data communication with other wireless terminals  11  in the network. Conversely, for example, when the eighth wireless terminal  11   8  has left the network, the link  12  is released at that time. Therefore, it is required for a wireless terminal  11 , which has been in communication over the released line  12 , to use another link  12 . 
       FIG. 2  shows the functional circuit configuration of a wireless terminal on the local network. The figure illustrates the circuit configuration of the fifth wireless terminal  11   5 . The functional configuration of the circuits of the first to fourth wireless terminals,  11   1 - 11   4 , and the sixth to eighth wireless terminals,  11   6 - 11   8 , is basically the same as the configuration shown. 
     The fifth wireless terminal  11   5  comprises two major units: one is a parameter detection unit  21  and the other is a detection result saving unit  22 . The parameter detection unit  21  detects parameters used for routing between any two terminals, that is, between the data sending terminal and the data receiving terminal, in a radio local network such as the one shown in  FIG. 1 . The detection result saving unit  22  is used to save the detected results. The parameter detection unit  21  comprises the following units: transfer rate negotiation unit  31  that negotiates the transfer rate with a terminal with which packets are to be transferred, bit error rate detection unit  32  that detects the bit error rate for communication with this terminal, link state detection unit  33  that checks if there is a link (connection) to a neighboring terminal, a routing weight calculation unit  34  that calculates a weight used for routing based on the detected bit rate and the transfer rate, route weight calculation unit  35  that sequentially adds up the weight result during routing, route search command transmission unit  36  that transmits a route search command used for searching for a route during communication, search route selection unit  37  that selects the terminals to which a route search command is to be issued, search route response unit  38  that returns the best route to a terminal from which the search command was issued, and routing data transfer unit  39  used by an intermediary terminal to transfer routing data from the source terminal to the destination terminal via a selected route. 
     The detection result saving unit  22  comprises the following units: transfer rate saving unit  41  used to save the transfer rate obtained as a result of negotiation by the transfer rate negotiation unit  31  in the parameter detection unit  21 , bit error rate saving unit  42  used to save a bit error rate detected by the bit error rate detection unit  32 , link state saving unit  43  used to save a current link state detected by the link state detection unit  33 , terminal address saving unit  44  used to save the unique terminal address of the fifth wireless terminal  11   5 , which does not overlap any of the addresses of the first to fourth wireless terminals  11   1 - 11   4  and the sixth to eighth wireless terminals  11   6 - 11   8 , as the terminal address, and search route saving unit  45  used to save the best route determined as a result of the search. 
       FIG. 3  outlines the circuit configuration of the fifth wireless terminal that has the functional configuration described above.  FIGS. 4 and 5  show the major parts of the circuit of the fifth wireless terminal more in detail. The circuit configuration of the first to fourth wireless terminals  11   1 - 11   4  and sixth to eighth wireless terminals  11   6 - 111   8  is basically the same as the configuration shown in those figures and, therefore, the description of the circuit configuration of those terminals is omitted. 
     As shown in  FIG. 3 , the fifth wireless terminal  11   5  has an information processing CPU (Central Processing Unit) unit  51  that performs various control. As shown in  FIG. 4 , the information processing CPU unit  51  comprises a CPU (Central Processing Unit)  51 A, a timer  51 C connected to the CPU  51 A via an internal bus  51 B, an interrupt controller  51 D, and a bus controller  51 E. The interrupt controller  51 D, which is connected to an interrupt control line  51 F, accepts an interrupt to the CPU  51 A. The timer  51 C, which is made up of a time measurement hardware unit, may also be configured by software using a control program that counts clocks. The bus controller  51 E connects the main bus  52  to the information processing CPU unit  51  to connect the information processing CPU unit  51  shown in  FIG. 3  to other circuit devices. 
     Returning to  FIG. 3 , the information processing CPU unit  51  is connected to a first oscillator  50  from which the clock signal is supplied to the information processing CPU unit  51 . The information processing CPU unit  51  is connected via the main bus  52  to the components within the terminal. A memory unit  53 , one of the components, is composed of a ROM  53 A and a RAM  53 B as shown in  FIG. 5 . The ROM  53 A is a read-only memory in which the control program executed by the CPU  51 A shown in  FIG. 4  and necessary permanent data are stored. The RAM  53 B is composed of random access memory in which temporary data is stored, such as intermediate results or processing results produced by the CPU  51 A during control program processing or route search processing. 
     An I/O (Input/Output) control unit  54  shown in  FIG. 3 , to which a key entry unit  55  is connected, performs the interface conversion between the key entry unit  55  and the main bus  52 . The key entry unit  55  is a user interface via which the user initiates terminal search processing. 
     A display unit  56  displays visual data such as processing results. A communication control unit  57 , which controls communication with other wireless terminals, is connected in this embodiment to a RF (Radio Frequency) unit  59  to which an antenna  58  is connected. The RF unit  59  amplifies and detects analog radio signals. The antenna  58  sends and receives analog radio signals. The RF unit  59  is connected to a second oscillator  61 , and the communication control unit  57  is connected to a third oscillator  62 . The second and third oscillators output predetermined signal outputs. The information processing CPU unit  51  is connected to, and controlled by, the interrupt control line  51 F shown in  FIG. 4  that performs necessary interrupt control. 
     The circuits in the detection result saving unit  22 , such as the transfer rate saving unit  41 , shown in  FIG. 2  are configured using the areas in the RAM  53 B in the memory unit  53 . The parameter detection unit  21  is configured using the information processing CPU unit  51 , RF unit  59 , and so on. 
       FIGS. 6 and 7  show the flow of processing in the initial stage in which a wireless terminal with the configuration described above joins one local network. As an example, assume that the sixth wireless terminal  11   6  will join the local network to start communication with the first wireless terminal  11   1 . For example, the sixth wireless terminal  11   6  will start an application that sends schedule data stored in the terminal to the first wireless terminal  11   1 . Of course, there is a case in which the sixth wireless terminal  11   6  shown in  FIG. 1  approaches the local network, composed of wireless terminals such as the fifth wireless terminal  11   5 , and joins this network for some reason. 
     In such a case, the sixth wireless terminal  11   6  sends a terminal search request to near terminals, each capable of relaying packets to other terminals, and attempts to connect to the terminals. Even when the sixth wireless terminal  11   6  attempts to communicate with the wireless terminal  11   1 , it first tries to connect to neighboring terminals, not the first wireless terminal  11   1 , in order to make the first wireless terminal  11   1  start communication, because the route to the first wireless terminal  11   1  is not known at this time. The sixth wireless terminal  11   6  sends to those near terminals a request for connecting to the first wireless terminal  11   1 . This is because, if none of those terminals is the first wireless terminal  11   1 , the same request must be propagated to other terminals until finally the request reaches the first wireless terminal  11   1 . 
     First, the sixth wireless terminal  11   6  sends the terminal search request to the neighboring terminals manually or automatically (step S 101  in  FIG. 6 ). The terminal search request includes the address of the sixth wireless terminal  11   6  that is a connection requesting terminal. The manual search is performed when the user of the sixth wireless terminal  11   6 , who finds a community that forms the local network, makes the search intentionally to connect to the community. By contrast, the automatic search is performed when the sixth wireless terminal  11   6  regularly makes the search at an interval based on the setting of the timer  51 C shown in  FIG. 4 . 
       FIG. 8  shows how the sixth wireless terminal attempts to connect to neighboring wireless terminals. In this example, there are the fifth, third, seventh, and eighth wireless terminals,  11   5 ,  11   3 ,  11   7 , and  11   8 , in the range where the radio wave from the sixth wireless terminal  11   6  reach. Therefore, in the example shown in  FIG. 8 , there is a possibility that a response will be received from those terminals. For simplicity, the following description assumes that a response is received from the fifth wireless terminal  11   5 . 
     In response to the terminal search request from the sixth wireless terminal  11   6 , the fifth wireless terminal  11   5  sends as the connection acknowledgement the address of the connected-to terminal, that is, the address of the fifth wireless terminal  11   5 , to the sixth wireless terminal  11   6  that is the connection requesting terminal (step S 102  in  FIG. 6 ). Upon receiving the address of the fifth wireless terminal  11   5 , the sixth wireless terminal  11   6  finds the wireless terminal to which it will connect. Therefore, the sixth wireless terminal  11   6  sends a link connection request to the obtained address to establish a communication link (step S 103 ). In response, the fifth wireless terminal  11   5  that is a connected-to terminal returns a connection request acknowledgement to the sixth wireless terminal  11   6  (step S 104 ). 
     Upon receiving this acknowledgement, the sixth wireless terminal  11   6  sends a transfer rate request to negotiate the maximum transfer rate with the fifth wireless terminal  11   5  (step S 105 ). At this time, the sixth wireless terminal  11   6  notifies the fifth wireless terminal  11   5  of the maximum transfer rate compatible with the sixth wireless terminal  11   6 . In response to this notification, the fifth wireless terminal  11   5  responds that it is compatible with the maximum transfer rate that is notified (step S 106 : Y). If the fifth wireless terminal  11   5  is not compatible with the maximum transfer rate (N), the fifth wireless terminal  11   5  notifies the sixth wireless terminal  11   6  of the maximum transfer rate the fifth wireless terminal  11   5  is comparable (step S 107 ). 
     If the fifth wireless terminal  11   5  responds that it can transfer data at the maximum transfer rate of the sixth wireless terminal  11   6  (step S 106 : Y), the transfer rate negotiation unit  31  in the parameter detection unit  21  shown in  FIG. 2  saves this rate in the transfer rate saving unit  41  in the detection result saving unit  22  (step S 108 ). By contrast, if the fifth wireless terminal  11   5  cannot transfer data at the transfer rate of the sixth wireless terminal  11   6 , the sixth wireless terminal  11   6  receives the compatible transfer rate of the fifth wireless terminal  11   5  (step S 107 : Y). In this case, the transfer rate saving unit  41  saves this transfer rate in the transfer rate saving unit  41  in the same way (step S 109 ). 
       FIG. 9  shows the transfer rate request and the response to it that are transferred between the two terminals. The sixth wireless terminal  11   6  sends the transfer rate request (step S 105  in  FIG. 9 ) and the fifth wireless terminal  11   5  responds to the request (steps S 106  and S 107  in  FIG. 9 ). 
     After a link over which the sixth wireless terminal  11   6  will start communication and the maximum transfer rate of the link are found, the CPU in the information processing CPU unit  51  ( FIG. 3 ) performs bit error detection processing for a terminal (for example, fifth wireless terminal  11   5 ) to which a link may be created. More specifically, the bit error detection command and the predetermined data packets containing checking data for detection are sent to the fifth wireless terminal  11   5  to which the link is established (step S 110  in  FIG. 7 ). 
     Predetermined data packets used as checking data will be described below more in detail. The data packets, which are sent with the bit error detection command for detecting a bit error rate, are composed of a predetermined number of packets containing particular bit arrays (bit patterns) predetermined among local networks. Each wireless terminal  11  in the local network has the same data packets, or has a pattern or an expression used to derive the data packets, for use as comparison packets in its ROM. Therefore, each terminal can detect the error generation ratio of the route from the sixth wireless terminal  11   6  to the wireless terminal  11 , such as the fifth wireless terminal  11   5  that is the next terminal, by receiving the data packets sent with the bit error rate detection command and comparing the received data packets with the comparison packets. 
     The bit pattern for calculating the bit error rate is detected by the bit error rate detection unit  32 , shown in  FIG. 2 , of the fifth wireless terminal  11   5 . The bit error rate detection unit  32  compares the bit pattern in the specified number of packets with the bit pattern in the comparison packets, one at a time, and counts the number of error bits. The number of errors counted in this way is divided by the total number of bits in the data packets to calculate the error generation ratio. 
     The bit pattern in the data packets used for bit error calculation is designed such that the bit string is not arranged in a particular sequence inappropriate for detection. To create such a bit pattern, a random bit string generator such as an M-sequential data generator is used. The M-sequential data generator allows each wireless terminal  11 , which has in itself a polynomial for generating a bit pattern and a pattern used as the seed (or a base) of the polynomial, to generate a random bit pattern common to the wireless terminals. This eliminates the need for each wireless terminal  11  to have a bit pattern for bit error calculation. 
     After calculating the bit error rate for the data packets in the above example, the fifth wireless terminal  11   5  sends the calculated bit error rate back to the sixth wireless terminal  11   6  from which the bit error detection command was received. The sixth wireless terminal  11   6  waits for this bit error rate to be received (step S 111  in  FIG. 7 ). When the bit error rate is received (Y) by the sixth wireless terminal  11   6 , the bit error rate is associated with the terminal (fifth wireless terminal  11   5  in this example), to which the bit error detection command was sent, and saved in the bit error rate saving unit  42  shown in  FIG. 2  (step S 112  in  FIG. 7 ). 
       FIG. 10  shows how the bit error rates detection command and the response to it are sent and received between the two terminals. The sixth wireless terminal  11   6  sends the bit error rate detection command (step S 110  in  FIG. 10 ), and the fifth wireless terminal  11   5  sends the response to it (step S 111  in  FIG. 10 ). 
     Bit error rate detection processing described above is performed for the fifth, third, seventh, and eighth wireless terminals  11   5 ,  11   3 ,  11   7 , and  11   8  shown in  FIG. 8  as indicated by the arrows  251   5 ,  251   3 ,  251   7 , and  251   8 , and the result is saved in the bit error rate saving unit  42 . The link state of the fifth, third, seventh, and eighth wireless terminals  11   5 ,  11   3 ,  11   7 , and  11   8 , to which the link is set at this time, is saved in the link state saving unit  43 . 
       FIG. 11  shows the flow of link weighting processing performed after the processing shown in  FIG. 6 . This link weighting processing is performed between the terminal that has joined the local network and each of the terminals near to that terminal. For example, for each of the fifth, third, seventh, and eighth wireless terminals  11   5 ,  11   3 ,  11   7 , and  11   8  to which the link has been created, the sixth wireless terminal  11   6  shown in  FIG. 8  sets a weight on each link as the data required for setting a communication or relay route. When setting the weights, the bit pattern rates of the link to the fifth, third, seventh, and eighth wireless terminals  11   5 ,  11   3 ,  11   7 , and  11   8  are used (step S 121  in  FIG. 11 ). 
     The fifth, third, seventh, and eighth wireless terminals  11   5 ,  11   3 ,  11   7 , and  11   8  are also required to create a link to the sixth wireless terminal  11   6  that has joined and, at the same time, set a route weight on the link for use in routing. In setting a route weight, the fifth, third, seventh, and eighth wireless terminals  11   5 ,  11   3 ,  11   7 , and  11   8  can set a weight using the bit error rate calculated by those terminals for the sixth wireless terminal  11   6 . 
     If this calculation is executed for each terminal each time a request is made, the calculated route weight value is used for setting a route as will be described later. Therefore, the calculated route weight value need not be saved. In some wireless communication system, the route weight value is calculated regularly for each link and the calculated result is stored in the link state saving unit  43  (step S 122  In  FIG. 11 ). 
     The root weight value, RootW, is calculated by the following equation (1).
 
Root W=BER*BWK+ 1/ Tr Rate* TWK   (1)
 
     In the above equation, BER is a bit error rates, BWK is the weighting coefficient of the bit error rate, TrRate is a packet transfer rate, and TWK is the weighting coefficient of the transfer rate. The symbol * indicates a multiplication. It would be more efficient that the weighting coefficients BWK and TWK in the equation (1), though dependent on the operation circuit of the wireless terminal  11 , are precise enough to prevent the significant digits from being cancelled. 
     When setting the weighting coefficients BWK and TWK, it would be more efficient to determine the values based on what purpose the local network will be used for. For example, for a local network where the effect of the bit error rate on the communication quality is considered important, the weighting coefficients BWK and TWK should be set such that BER*BWK in the equation (1) is larger than 1/TrRate*TWK. 
     The weighting coefficients BWK and TWK may be saved in a predetermined location in the detection result saving unit  22  shown in  FIG. 2  or may be set in the equation (1) for calculation when a route search is made which will be described below. 
       FIG. 12  shows the state of the local network, as well as the route weight values, at a particular time. This figure shows the state of the local network after the sixth wireless terminal  11   6  shown in  FIG. 8  has joined the local network. As in the  FIG. 1 , the numerals  1 - 8  in circles (◯) represent the terminal address unique to each terminal, and the numeric values 1-5 on the links  12  among the wireless terminals  11  represent the route weight value. 
       FIG. 13  shows the flow of processing executed by a terminal to decide a route before the terminal starts communication. In the description below, it is assumed that the first wireless terminal  11   1  in  FIG. 12  starts wireless communication with the eighth wireless terminal  11   8 . For example, the first wireless terminal  11   1  will send schedule data to the eighth wireless terminal  11   8  as described above. Upon receiving a communication start request (step S 131 : Y in  FIG. 13 ), the first wireless terminal  11   1 , which starts data communication, sends the route search command. As described above, before issuing the route search command, the first wireless terminal  11   1  has already performed transfer rate negotiation and bit error detection for each of the neighboring second, third, and fourth wireless terminals  11   2 ,  11   3 , and  11   4 ; the first wireless terminal  11   1  has already saved the maximum transfer rates and the bit error rates in the transfer rate saving unit  41  and the bit error rate saving unit  42  to update those values to the latest values. 
     The first wireless terminal  11   1  uses the transfer rate and the bit error rate to calculate the route weight value of each of the second, third, and fourth wireless terminals  11   2 ,  11   3 , and  11   4  (step S 132  in  FIG. 13 ). In the description below, a smaller route weight value means a better route search. In case the CPU in the information processing CPU unit  51  ( FIG. 3 ) in the first wireless terminal  11   1  regularly calculates the route weight values and saves the resulting values in a predetermined location in the detection result saving unit  22 , the contents of the area may be read instead of calculating the values. 
     After calculating the route weight values, the first wireless terminal  11   1  checks the neighboring second, third, and fourth wireless terminals  11   2 ,  11   3 , and  11   4  based on the calculated values to select a terminal to which the route search command is to be issued (step S 133  in  FIG. 13 ). In this embodiment, the number of these wireless terminals  11  are to be narrowed down to two. Thus, the terminal with the smallest route weight value and the terminal with the next smallest route weight values are selected. 
     After selecting the two terminals, which satisfy the conditions, as the terminals to which the route search command is to be issued (step S 133  in  FIG. 13 ), the route search command is issued to those wireless terminals  11  which act as intermediary terminals (step S 134  in  FIG. 13 ). The wireless terminal  11  acting as an intermediary terminal repeats the same procedure to send the route search command to the next wireless terminal  11 . As a result, the route to the eighth wireless terminal  11   8  is finally decided. Then, the first wireless terminal  11   1 , which issued the command, waits for the search route response to be received from the neighboring wireless terminal  11  (step S 135  in  FIG. 13 ). This response is the result sent back from the eighth wireless terminal  11   8  via intermediary terminals. After that, data communication between the first wireless terminal  11   1  and the eighth wireless terminal  11   8  is executed in this example. 
     In the above description, the search route selection unit  37  shown in  FIG. 1  selects the terminals to which the route search command is to be issued. This is described using the example shown in  FIG. 12 . Among the second, third, and fourth wireless terminals  11   2 ,  11   3 , and  11   4  all of which are neighboring terminals of the first wireless terminal  11   1 , the third wireless terminal  11   3  with the weight value of 1 is the terminal with the smallest route weight value. The terminal with the next smallest route weight value is the fourth wireless terminal  11   4  with the route weight value of 2. Thus, the first wireless terminal  11   1  issues the route search command to those two radios terminal  11   3  and  11   4 . 
     Similarly, the third wireless terminal  11   3  attempts to issue the route search command to the terminals with the smallest and the next smallest route weight values, that is, the first wireless terminal  11   1  and the second wireless terminal  11   2 . However, the first wireless terminal  11   1  is the terminal whose route has already been selected. Therefore, the first wireless terminal  11   1  is removed from the candidates. As a result, the third wireless terminal  11   3  issues the route search command to the second wireless terminal  11   2  and the seventh wireless terminal  11   7 . Similarly, the fourth wireless terminal  11   4  attempts to issue the route search command to the terminals with the smallest and the next smallest route weight values, that is, the first wireless terminal  11   1  and the seventh wireless terminal  11   7 . However, the first wireless terminal  11   1  is the terminal whose route has already been selected. Therefore, the first wireless terminal  11   1  is removed from the candidates. As a result, the fourth wireless terminal  11   4  issues the route search command to the seventh wireless terminal  11   7  and the third wireless terminal  11   3 . The terminals to which the route search command is issued are sequentially selected in the same way. 
       FIG. 14  shows, in a generalized format, how a route is set between a communication requesting terminal and a terminal at the other end of the line. In the figure, a terminal that is going to start communication (first wireless terminal  11   1  in the example given above) is the source terminal A, and the subscript A is used to represent its circuits devices, and so on. A neighboring terminal to which the source terminal A issues the route search command (one of second, third, and fourth wireless terminals  11   2 ,  11   3 , and  11   4 ) is the neighboring terminal B, and the subscript B is used to represent its circuits devices, and so on. In addition, a terminal at the other end of the line (eighth wireless terminal  11   8  in the above example) is the destination terminal C, and the subscript C is used to represent its circuits devices, and so on. The terminals between the neighboring terminal B and the destination terminal C are represented collectively as intermediary terminals D. 
     The route search command transmission unit  36   A  of the source terminal A sends the route search command  262   A  to the neighboring terminal B. The search route selection unit  37   B  of the neighboring terminal B selects, from the neighboring wireless terminals  11 , the two terminals to which the route search command is to be issued with the terminal itself as an origin node. At this time, a terminal to be selected must not be the one already selected. Based on this condition, the route search command transmission unit  36   B  of the neighboring terminal B creates a route search command  262   B  and sends it to the intermediary terminals D. Similarly, the route search command  262   D  is sent from the last intermediary terminal D to the search route selection unit  37   C  of the destination terminal C. 
     The destination terminal C receives the route search command  262   D  from several terminals. The destination terminal C selects the best or optimized route using the method, which will be described later, and sends the search route response  263   c , which represents the route, back to the intermediary terminals D via the same route. The intermediary terminal D sends the response to the neighboring terminal B. Upon receiving the search route response  263   D , the neighboring terminal B sends it to the route search command transmission unit  36   A  of the source terminal A as the search route response  263   B . In this way, the source terminal A knows the best route between the source terminal A and the destination terminal C and starts communication with the destination terminal C along the decided route. The route search command transmission unit  36  is equipped with not only send function but also receive function of the command. 
     In a wireless communication system using wireless terminals in this embodiment, the eighth wireless terminal  11   8 , which is the destination terminal C, finally selects a route and returns the selected route to the first wireless terminal  11   1  which is the source terminal A. To do so, the route weight calculation unit  35  shown in  FIG. 2  is used. 
     Returning to  FIG. 14 , the route search command  262   D  sent to the search route selection unit  37   C  of the destination terminal C includes not only the address of the destination terminal C with which data communication is to be established but also the address of the source terminal A that is the source terminal of data packets, the addresses of the neighboring terminal B and intermediary terminals D via which the command has passed in order to search for the route, and information on the added-up weight value of the route via which the command has passed. The address data included in the route search command  262   D  is composed of the address of the source terminal, followed by the sequentially-arranged addresses of the neighboring terminal B and intermediary terminals D, followed by the address of the destination terminal C to which the command is sent. Therefore, the delivery route of the route search command  262   D  may be easily determined by reading a sequence of these addresses. 
       FIG. 15  shows the procedure provided for each terminal to process the route search command sent to that terminal. First, the wireless terminal  11  waits for the route search command to be received (step S 141  in  FIG. 15 ). Upon receiving the route search command (Y), the terminal extracts the address with which data communication is to be established (destination terminal) (step S 142 ). If the address is the address of the own terminal itself (step S 143 : Y), the wireless terminal  11  is the eighth wireless terminal  11   8  that is the destination terminal in this example. In this case, the terminal performs search route response processing that will be described later (step S 144 ). 
     In this example, if the address is not the address of the eighth wireless terminal  11   8  that is the destination terminal (step S 143 : N), the receiving terminal selects a plurality of neighboring wireless terminals  11  (two terminals in this embodiment) to relay the route search command (step S 145 ). The selected terminals are those with small route weight values. The route weight value included in the received command is added to the route weight value of the selected wireless terminal  11 . When the wireless terminal  11  on the next path is selected as described above, a check is made if the wireless terminal  11  is on the route already selected during the same route search processing (step S 146 ). This checking is made to prevent the route, which will be formed by the intermediary terminal  11  during the selection of the next wireless terminal  11 , from forming a closed loop. If a terminal to which the route search command has already been sent is included, the route to that terminal is removed and the wireless terminal  11  with the next smallest route weight value is added. 
     As described above, the wireless terminal  11  that has received the route search command issues the route search command to the terminal that is selected in step S 145  (step S 147  in  FIG. 15 ). The number of wireless terminals  11  to which the route search command is issued is basically increased in a network where many intermediary paths are included. This is because each wireless terminal  11  that performs the processing shown in  FIG. 15  issues the route search commands to a plurality of terminals. 
       FIG. 16  shows search route response processing executed by the destination terminal in step S 144 . Although the eighth wireless terminal  11   8  is the destination terminal in this embodiment, the destination terminal may be any wireless terminal  11  included in the local network. The wireless terminal  11  collects the route search commands issued from the same source terminal (step S 151 ). The wireless terminal  11  continues collecting route search commands from the same source terminal until a predetermined time t, which is decided by considering the local network propagation time, elapses since the source terminal first issued the route search command (step S 152 ). Note that the time t need not take into consideration the time required for the route search command to travel via the worst (longest) route. This is because the purpose of the route search is to select a good route. For this reason, instead of waiting for the period of t, collecting the route search commands may be terminated when the number of route search commands from the same source terminal reaches a predetermined number. 
     When the collection is terminated in some way or other, the destination terminal selects the route whose route weight value total is the minimum (step S 153 ). Then, the destination terminal sends back the search route response indicating the selected route (step S 154 ). As shown in step S 135  in  FIG. 13 , the wireless terminal  11  that is going to start communication receives this search route response to start communication via the decided route. In the example above, the first wireless terminal  11   1  and the eighth wireless terminal  11   8  can start communication. 
     In step S 147  in  FIG. 15  where an intermediary terminal issues the route search command to the next destination, there is a possibility that the next destination terminal has already left the local network at that time. Processing in such a case does not produce any problem. This is because, although the route sequentially followed by the wireless terminal  11  that is going to start communication is broken at this time, such a broken route is not basically available for communication and therefore continuing such processing is meaningless. 
     The following describes processing executed when a wireless terminal  11  on a route, on which communication has already started, leaves the local network. When some wireless terminal  11  leaves the local network during the route setup stage that is executed before starting communication, another route that does not pass through the wireless terminal  11  should be selected. However, when the wireless terminal  11  on the route leaves the local network during communication, the route must be reconfigured. 
       FIG. 17  shows an example in which a terminal on a route, on which communication is established, leaves the local network. Again, in the example shown in this figure, the communication route is set up between the first wireless terminal  11   1  and the eighth wireless terminal  11   8 . The path is composed of the following terminals sequentially arranged: first wireless terminal  11   1 , second wireless terminal  11   2 , fifth wireless terminal  11   5 , sixth wireless terminal  11   6 , and eighth wireless terminal  11   8 . In this case, if the fifth wireless terminal  11   5  has moved to a place where radio waves do not reach or if the power supply of the terminal is made off for some reason or other, the link disappears. This prevents the first wireless terminal  11   1  and the eighth wireless terminal  11   8  from communicating on the route on which they have been communicating. 
     In such a circuimstance, the second wireless terminal  11   2  and the sixth wireless terminal  11   6 , which are the neighboring terminals of the fifth wireless terminal  11   5 , each set the weight value of the link between itself and the fifth wireless terminal  11   5  to ∞ (infinity) as shown in the figure. Instead of transferring the data packets received from the first wireless terminal  11   1  to some other terminal, the second wireless terminal  11   2  sends the data packets back to the first wireless terminal  11   1  indicating that the selected route has become unavailable. In response to those packets, the first wireless terminal  11   1  searches for a new route to the eighth wireless terminal  11   8  using the procedure described above. 
       FIG. 18  shows the flow of processing performed by an intermediary terminal after communication starts. After sending data packets to a neighboring terminal (step S 161  in  FIG. 18 ), the wireless terminal  11  checks if an acknowledgement to the data packets is received from the neighboring terminal (step S 162 ). If the acknowledgement is received (Y), the data packets are sent to the wireless terminal  11  that has responded (step S 163 ). 
     On the other hand, if no acknowledgement is received from the next terminal and the data packets cannot be sent to that terminal (step S 162 : N), the weight value of the link to that wireless terminal  11  is changed to ∞ (step S 164 ). Then, a check is made if the weight value of the link of the communication-starting terminal side (first wireless terminal  11   1  in this example) is ∞ (step S 165 ). If the weight value is ∞ (Y), the processing is terminated without performing any processing (End). This prevents the sixth wireless terminal  11   6  in this example, which has received data packets from the eighth wireless terminal  11   8 , from sending back data packets to the eighth wireless terminal  11   8 , which is the destination terminal, to indicate that the selected route is unavailable. Sending such data packets would cause both the first wireless terminal  11   1  and the eighth wireless terminal  11   8  to start searching for a route. 
     If the weight value of the link to the next wireless terminal  11  in the communication-starting terminal side in relation to the wireless terminal  11  that is checked in step S 165  is not ∞ (N), the data packets are sent with the communication-starting wireless terminal  11  as the destination (step S 166 ). In this example, the data packets are sent directly to the first wireless terminal  11   1 . A plurality of wireless terminals  11 , if present along the path, perform the processing shown in  FIG. 18  to propagate the packets from one terminal to another on the local network. 
     Modification of the present invention will now described in the below. 
       FIG. 19  shows the configuration of a modification of the wireless terminal according to the present invention. In the figure, the same references numerals as those of the embodiment in  FIG. 2  described above denote the same structural elements and the description of those elements is omitted. A wireless terminal  71  in this modification corresponds to the wireless terminals  11   1 - 11   8  in the embodiment described above. The wireless terminal  71  comprises a parameter detection unit  72 , which detects parameters used for routing between a data sending terminal and a data receiving terminal in a radio local network such as the one shown in  FIG. 1 , and a detection result saving unit  73  used to save the detected results. The parameter detection unit  72  has a configuration in which a delay amount detection unit  74  is added to the circuit devices of the parameter detection unit  21  shown in  FIG. 2 . The detection result saving unit  73  has a configuration in which a delay amount saving unit  75  is added to the circuit devices of the detection result saving unit  22  shown in  FIG. 2 . 
     When the route search command is relayed, the delay amount detection unit  74  detects the processing delay amount of a wireless terminal at an intermediary point between a data packet source terminal and a wireless terminal at the other end of the line. The delay amount detected by the delay amount detection unit  74  is saved in the delay amount saving unit  75  of the detection result saving unit  73 . 
       FIG. 20  shows an example of a simple configuration in which a route is formed by three wireless terminals. In this configuration, a terminal that is going to start communication is a source terminal  71 A and the terminal at the other end of the line is the destination terminal  71 C. The terminal that is the neighbor of the source terminal  71 A is a neighboring terminal (or intermediary terminal)  71 B. Data packets issued from the source terminal  71 A are sent to the destination terminal  71 C via the neighboring terminal  71 B. 
     Assume that a delay time of n seconds is generated from the time the neighboring terminal  71 B receives the data transmission instruction from the source terminal  71 A to the time the neighboring terminal  71 B sends the data transmission instruction to the destination terminal  71 C. In such a case, the actual transfer rate RTrRate (bits/second), which is determined by the transfer rate negotiation unit  31  ( FIG. 19 ), with respect to the predetermined transfer rate TrRate (bits/second) is represented by the following equation (2):
 
 RTr Rate= Tr Rate/(1+ n )(bits/second)  (2)
 
     Let RootWD, TrRateD, TrD, BER, TWK, and BWK be the route weight value, the predetermined transfer rate when the delay amount is taken into consideration, the delay amount of the neighboring terminal (or intermediary terminal)  71 B, the bit error rate, the weighting coefficient of the transfer rate, and the weighting coefficient of the bit error rate respectively. In this case, the route weight value is calculated by the following equation (3).
 
Root WD=BER*BW/ ( Tr Rate D/ (1+ TrD ))* TWK   (3)
 
     Accordingly, setting the root weight value with the delay amount taken into consideration allows a wireless terminal to search for the optimized route with consideration for the data transfer delay of the neighboring terminal (or intermediary terminal)  71 B. 
     The embodiment and the modification described above may be applied not only to an ad hoc network but also to other wireless communication systems in which wireless terminals are used as intermediary terminals. 
     The meritorious effects of the present invention are summarized as follows. 
     According to the first to sixth aspects of the present invention, terminals, each of which propagates a route search request to the next terminal, attach to the route search request the weight value of the next communication path to which the request is to be sent, as described above and hence, upon receiving the route search request, the communication destination can easily find which route is best based on the weight value that has been added up. This not only makes it possible to do route search processing quickly but also, on the communication starting side, makes route search processing easy. 
     According to the second aspect of the present invention, the wireless terminal comprises bit error rate measuring means that measures bit error rates of communication paths each of which has one end connected to a neighboring terminal and transfer rate setting means that, for each of the communication paths each of which has one end connected to a neighboring terminal, sets a data transfer rate of the communication path. This makes it possible to set a weight value using the bit error rate and the data transfer rate, allowing the wireless terminal to select the best route based on both communication speed and data reliability. 
     According to the third aspect of the present invention, the wireless terminal further comprises communication unavailability notifying means that, when the communication path via which the data relaying means will send data becomes unavailable, notifies a communication-starting terminal of this fact using the rest of the routes decided by the route deciding means. Accordingly, when communication cannot be established, the communication-starting terminal can receive information on this condition and reset the route as necessary. Again, in this case, the load of the communication-starting terminal is reduced and the terminal can take action quickly. 
     According to the fourth aspect of the present invention, the weight value attached to the route search request is an added-up value of the weight values of the communication paths beginning with the source of the route search request. Therefore, the route deciding means can easily compare the added-up values to decide the route. 
     According to the fifth aspect of the present invention, when communication paths are selected, one after another, to set a route, an already-selected communication path is not selected again. This not only prevents a path, which will form a closed loop before reaching the communication destination, from being formed but also reduces the traffic. 
     According to the sixth aspect of the present invention, the route deciding means decides the best route based on the weight value as well as on a time required for the route search request to be received via each route. This makes it possible to select a practical route based on an actual communication speed. 
     It should be noted that other objects, features and aspects of the present invention will become apparent in the entire disclosure and that modifications may be done without departing the gist and scope of the present invention as disclosed herein and claimed as appended herewith. 
     Also it should be noted that any combination of the disclosed and/or claimed elements, matters and/or items may fall under the modifications aforementioned.