# Patent

## Title
Prioritized-routing for an ad-hoc, peer-to-peer, mobile radio access system based on battery-power levels and type of service

## Abstract

An ad-hoc, peer-to-peer radio access system having a series of remote terminals, where each remote terminal is capable of forming a node, or hop, of the routing of a call made by one of the series of terminals. The call is routed along a routing path of terminals based on the class-of-service. If the call to be transmitted is a voice call, then a routing bath having low latency will be selected. If the call is a video transmission, then a routing path of low bit-error without excessive latency will be chosen. If the call is a data transmission, then the least-energy routing path will be chosen.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This is a continuation-in-part of application Ser. No. 09/815,164, filed on Mar. 22, 2001, now U.S. Pat. No. 6,873,839.


BACKGROUND OF THE INVENTION
The present invention is directed to a method of routing radio telephone calls of an ad-hoc, peer-to-peer radio system, and, in particular, to such an ad-hoc, peer-to-peer radio system disclosed in copending application Ser. No. 09/705,588, filed on Nov. 3, 2001, entitled “Methods and Apparatus for Coordinating Channel Access to Shared Parallel Data Channels”, now U.S. Pat. No. 6,404,756, which application is incorporated by reference herein. The network system having coordinating channel access to shared parallel data channels via a separate reservation channel of U.S. Pat. No. 6,404,756 is directed to a network system, such as radio network, where each node, or radio terminal, of the network is capable of serving as a node or hop of a routing path of a call from another, or to another radio terminal. In that system, communication between nodes or radio terminals is achieved using Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) protocol with the addition of multiple parallel data channels serviced by one reservation channel. By dedicating a separate reservation channel for the multiple parallel data channels, collision-free access by all of the competing nodes or terminals of the service group of the network is greatly reduced. Communications between terminals or nodes is set up by information exchanged on the separate reservation channel, which information includes all of the call set-up information, such as data channel desired to be used for transferring voice, video or data, the desired power level of at least initial transmission, messaging such as Request-to-Send (RTS), Clear-to-Send (CTS), Not-Clear-to-Send (NCLS), Acknowledgment (ACK) for indicating reception of the transmitted call, Non-Acknowledgment (NACK) for indicating improper reception of the call, etc. in this system, in order to further ensure fast, adequate and collision-free transmission and reception, besides a primary modem typically provided with the transceiver of each node or terminal, a secondary modem is also provided which is dedicated to the reservation channel when the primary modem of the transceiver is occupied, such as when sending out data on a data channel. This system also provides for collision free transmission and reception between nodes or terminals by transmitting the reservation and data channels in time slots of time frames, with the information as to which time slot is to be used being included in the messaging transmitted by the reservation channel. Such a format not only provides collision-free transmission, but also allows for Quality-of-Service (QOS) for different types of Class-of-Service (COS), Thus, not only may voice and video be transmitted, besides data, but voice and data transmission may be prioritized, so that when competing calls vie for a data channel, the delay-dependent voice or video transmissions will take precedence. This prioritization is accomplished by assigning prioritized calls for transmission in earlier time slots of a time frame.
Voice data transmission is allowed a bit error rate (BER) of 10-3 bits/sec., data cannot have a BER in excess of 10-12 bits.sec., and video may have a BER of between 10-6–10-7 bits/sec. Voice should be transmitted with a delay that does not exceed 150 mil.sec. before noticeable degradation occurs.
The network system disclosed in U.S. Pat. No. 6,404,756 ensures that every node or terminal of a service set of terminals has the most information regarding all of other terminals of that service set, so that the choice of data channel to be used, any required delay is transmitting the call, information on power level, and the like, are checked and updated by each terminal by a practically continuous monitoring of the reservation channel, and utilizes protocol that provides collision-free channel access, which also emphasizes improving geographic reuse of the frequency spectrum.
In U.S. Pat. No. 5,943,322 —Mayer, et al., which patent is incorporated by reference herein, there is disclosed a radio system is for use in battlefield conditions. The ad-hoc, peer-to-peer radio system of this patent does not have, nor require, a base station, as conventional cellular systems, personal communications system (PCS), and the like, require; instead, each radio terminal forming part of the ad-hoc, peer-to-peer radio system may alternatively serve as a base station, in addition to being an ordinary link terminal of the radio system, whereby, if one such terminal serving as a base station should for some reason become inoperative, another terminal may take over and serve as the base station. The ad-hoc, peer-to-peer radio system of this patent is based on a transport-mechanism using a time division duplex (TDD) technique in a code division multiple access (CDMA) system. Time Division Duplex (TDD) is a way of maximizing the bits/hz/km2. Such a system not only may be used for providing commercial voice, but is also quite suited to both transmission and reception of data and video services.
Time Division Duplex (TDD) systems are typically used for packet data systems as they make much more efficient use of the available bandwidth, in order to deliver a much higher effective data rate to the end user. TDD is typically used in fixed wired solutions or point-to-point wireless systems because it has its own spectrum limitations. TDD systems, however, have not been deployed for voice systems.
In copending provisional application Ser. No. 60/248,182, which application is incorporated by reference herein, there is disclosed an ad-hoc, peer-to-peer radio system for use as a stand-alone system that is also connected to a cellular network and/or landline. The ad-hoc mobile radio networking system thereof is capable of receiving and transmitting voice, data and video calls through any number of different types of telecommunication networks, such as the PSTN, the Internet, and the like, besides the cellular and next-generation cellular networks.
In any ad-hoc, peer-to-peer radio system, a critical consideration is the status and life of the battery of each terminal forming a part of the system. With the arrival of laptop computers, portable digital assistants (PDAs) and high-tech cellular phones, consumers are beginning to request mobile data services in addition to traditional voice services. Such devices are in use much more than traditional cellular phones, and, therefore, deplete their limited-life batteries more quickly. The ad-hoc, peer-to-peer system disclosed in the above-mentioned priority, provisional application Ser. No. 60/248,182, depletes batteries even more quickly, since each terminal can also serve as a router and relay for other terminals of the system, in order to extend the range or provide alternate routes to destinations. The ability to limit the use of the battery, therefore, is a very important element and consideration of that system.
In commonly-owned U.S. application Ser. No. 09/815,157, filed on Mar. 22, 2001, entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, now U.S. Pat. No. 6,807,165, which application is incorporated by reference herein, there is disclosed a protocol method and algorithm for ad-hoc network system that is based on least-energy routing of calls from and between network radio terminals. In simple terms, the major component of the routing decision is to choose the route to the destination that uses the least amount of energy over the complete route. The major reason for this is that least-energy routing minimizes the radiated RF energy, in order to reduce interference between terminals. A consequence of this is that it creates the most efficient use of the power supply of the terminals.
There are, also, other components of most conventional routing algorithms for ad-hoc, peer-to-peer radio systems that are generally related to the Quality of Service (QOS). The two major attributes of QoS are: The potential for delay, or latency, and the potential for bit errors (BER) during transmission. However, no present or prior system or algorithm has taken into consideration the impact of the battery life of the terminals, which, as stated above, should be a major and primary consideration for any network that consists of hand-held terminals, and especially for an ad-hoc, peer-to-peer radio system where batteries are used so much more as compared to conventional radio systems such as the cellular network, PCS's, and the like. Since hand-held terminals only have limited battery life in terms of trade off of size and weight, users do all that is possible in order to conserve their batteries, so that there will be sufficient life in them when they wish to use the device. As stated above, ad-hoc networks discharge a battery even more, even when the terminal owner is not using the terminal, since each terminal may also serve as a base station or a router or a link in the routing decision for connecting a call.
In above-mentioned commonly-owned U.S. Pat. No. 6,807,165, entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, each radio terminal of the ad-hoc radio system initially determines a routing table which typically includes a plurality of different routing paths to a gateway, which is also called an TAP (Intelligent Access Point), by means of other radio terminals of the ad-hoc radio system forming a service group (SG), which other radio terminals serves as nodes, or relays for connecting a source radio terminal to a gateway. After this initial route-mapping, the ad-hoc radio terminal will then determine the most optimal gateway with which to connect, if more than one gateway is available, which decision is based on the most optimal path to a chosen gateway that provides least-energy connection, as described in above-mentioned commonly-owned U.S. Pat. No. 6,807,165. Least-energy routing is most applicable and relevant to data calls, such as FTP and bulk file transfers. However, for voice and video transmissions, latency is a critical factor, whereby a routing path for voice and video may not necessarily be the most optimal as that for data transmissions.
Reference is also had to commonly-owned pending provisional patent application Ser. No. 60/297,769, filed on Jun. 14, 2001, entitled “Embedded Routing Algorithm under the Internet Protocol Routing Layer in a Software Architecture Protocol Stack”, which application is incorporated by reference herein. The protocol stack of the system of this application defines the various algorithms used in establishing the connection of a radio terminal of the ad-hoc, peer-to-peer radio system disclosed in the present invention within its neighborhood of other terminals, with a gateway, and for setting necessary parameters for setting up and receiving calls, and updating necessary routing, power-level, quality-of-service parameters, as well as other essential processes used in the ad-hoc system of the present invention.
The present invention, therefore, is directed to the provision of the consideration of the status of the battery-charge of each terminal forming a part or link of an ad-hoc, peer-to-peer radio system, whereby the routing algorithm and method by which a call from a terminal-source is connected to the terminal-destination or to an exterior, independent radio system and/or PSTN interconnected with the ad-hoc, peer-to-peer radio system in which the present invention is deployed, also takes into consideration the status of the battery of each terminal by which the routing of the outgoing call is to be connected.
In addition, the present invention also takes into consideration the class-of-service (CoS) of the call to be transmitted, whether it be data, voice, or video. Based on the CoS, the ad-hoc radio terminal will choose a routing path among those available to that ad-hoc radio terminal that best meets the criteria for the particular class, based on bit error rate (BER) and latency.
SUMMARY OF THE INVENTION
It is, therefore, the primary objective of the present invention to provide an additional criterion to the routing decision of an ad-hoc, peer-to-peer radio system, which additional criterion includes information about the status of the battery-charge of each battery which may possibly serve as a link for call-routing of call over the radio system.
It is another objective of the present invention to provide such a system where the battery of each radio terminal forming a part of the ad-hoc, peer-to-peer radio system continually calculates and transmits to other, like terminals the status of its battery-charge, whereby each terminal is capable of taking into consideration the status of each battery of each terminal of the radio system when selecting the best route for connecting a call.
It is yet another objective of the present invention to provide such a system where the battery-status information calculated and transmitted to other terminals is used in conjunction with least-energy routing of a radio telephone call in order to choose the route to the destination that uses the least amount of energy over the complete route, whereby least-energy routing minimizes the radiated RF energy, in order to reduce interference between terminals, and in order to provide the most efficient use of the battery power supply of the terminals.
It is yet another objective of the present invention to provide such a system where the routing path chosen for transmitting a call is based on class-of-service (CoS), and in particular, whether data, voice or video is to be sent.
It is still another objective of the present invention to provide CoS-decision routing based on various criteria based on BER and latency, with each CoS being assigned parameters thereof for deciding which routing path among a plurality of routing paths is the most optimal for a particular CoS.
According to the present invention, routing algorithms are extended to include information about the battery state of each terminal, such that if a choice of routes is available, one of which includes a low battery terminal, an alternate route will be selected. Multiple levels of battery determination may be used, the number of which may change depending upon different radio protocols and topologies. For example, a terminal that is in a charging cradle, or hooked up to an external power supply, will identify itself as having infinite battery life. A terminal with a fully charged battery will identify itself as having excellent battery life. A terminal with a low battery life will identify itself as having poor battery life, which will indicate that it should only be used for routing emergency data, or in the case of no other available option. Once the battery drops below some configurable threshold, the terminal will identify itself as having no battery life. This will allow the terminal to reserve some battery life for it's own use.
In another aspect of the algorithm of the invention, the applications software level of the protocol stack of each ad-hoc radio terminal bases its routing path for transmitting a call based on class-of-service (CoS), and in particular, whether data, voice or video is to be sent.
For this CoS-decision routing, BER and latency are the criteria by which a routing path is chosen, with each CoS being assigned parameters thereof for deciding which routing path among a plurality of routing paths is the most optimal for a particular CoS.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be more readily understood with reference to the accompanying drawings, where:
FIGS. 1A and 1B are schematics showing a basic, ad-hoc, peer-to-peer radio system with which the method and algorithm of the present invention may be used;
FIG. 2 is a schematic showing an example of least-energy routing with which the system of the present invention is to be used;
FIG. 3 is a schematic showing the exchange of routing tables of between end-users of an ad-hoc, peer-to-peer radio system with which the battery-status routing method and algorithm of the present invention is used;
FIGS. 4A and 4B are flow charts showing the subroutine conducted by each terminal of the ad-hoc, peer-to-peer radio system for initiating the checking of the status of its battery, either when it is in its idle state or when it in its stable, alert state;
FIG. 5 is a flow chart showing the subroutine by which the status of battery of the terminal is determined for subsequent reporting to other similar terminals in order to serve as a basis for calculating the best route of connection of a radio telephone call;
FIG. 6 is a flow chart showing the subroutine performed at the terminal-source that is initiating an outgoing radio telephone call, in order to actuate the subroutine for determining the best routing of its outgoing call;
FIG. 7 is a flow chart showing the routing table messaging subroutine for establishing the outgoing radio telephone call which may be based not only on least energy routing, but also on the status of the battery of each terminal-link potentially forming a part of the route for connecting the outgoing radio telephone call; and
FIG. 8 is a diagram showing a typical connection of a call made by an ad-hoc radio with which a number of different routing paths to the destination are available, the one being chosen being dependent upon the class-of-service (CoS).



DETAILED DESCRIPTION OF THE INVENTION
Referring now to the drawings in greater detail, and to FIGS. 1–3 for now, an ad-hoc, peer-to-peer radio system is shown. The ad-hoc radio system consists of a series of radios or terminals 10, which may communicate directly with one to another, as shown in FIG. 1A, or to other terminals 10 via link-routing where other, intermediate terminals are used, as shown in FIG. 1B. For simplicity, only three such terminals 10 have been shown in FIG. 1B, it being understood that the ad-hoc, peer-to-peer radio system will employ a multitude of such terminals, whereby the routing of a call from one terminal to another will employ a number of other, intet-mediate terminals. Such an ad-hoc, peer-to-peer radio system is disclosed in the above-mentioned commonly-owned applications Ser. No. 60/246,833 and in. U.S. Pat. No. 6,807,165, and in priority application Ser. No. 60/248,182. The present invention applies to all types of ad-hoc, peer-to-peer radio systems, but has particular relevance to type disclosed in the above-mentioned U.S. Pat. No. 6,404,756.
In the ad-hoc, peer-to-peer radio system disclosed in above-mentioned commonly-owned patent applications, routing of a radio call from a source-terminal to a destination-terminal is achieved by a method and algorithm that calculates the routing path based on least energy; that is, the major component of the routing decision is to choose the route to the destination that uses the least amount of energy over the complete route. The major reason for this is that least-energy routing minimizes the radiated RF energy, in order to reduce interference between terminals. As a result of this, it creates the most efficient use of the power supply of the terminals.
FIG. 2 shows an extreme example of what happens without using least energy routing. The radio source uses a direct route to the destination. This route requires high power, which results in a large number of other radios being interfered with. Therefore, according to least energy routing disclosed in the above-mentioned, commonly-owned U.S. applications Ser. No. 60/246,833 and U.S. Pat. No. 6,807,165 the source radio will choose an alternative routing path with a greater number of radio-hops through intermediate terminals, which will result in reduced interference in the other radio terminals.
There are, also, other components of most conventional routing algorithms for ad-hoc, peer-to-peer radio systems that are generally related to the Quality of Service (QOS). The two major attributes of QoS are: The potential for delay, or latency, and the potential for bit errors (BER) during transmission.
As seen in FIG. 3, the routing of calls is achieved by each terminal storing a routing table if that terminal is to be part of a node, or hop, of the routing path. This routing table includes all of the information required by the source-terminal in order to determine and calculate the least-energy path of routing of the call from source-terminal to the destination-terminal. Adjacent or proximate terminals 10 exchange routing tables, as seen in FIG. 3, whereby, when a call is to be set up from a source-terminal, each terminal 10 already knows the routing table of its most immediate or adjacent neighbor-terminal, whereby a call may be routed to another destination-terminal, or to a router or gateway 20, for subsequent transmittal of the call to another similar cell of terminals, to a cellular switched network, or to the PSTN, and the like.
In accordance with the present invention, additional information is added to each routing table of each terminal 10, which additional information contains information about the status of the charge of the battery of that terminal, whereby when routing tables are exchanged, the battery status of each terminal is also taken into consideration when determining or calculating the best and most efficient routing path to take for completing a call from a source-terminal to a destination-terminal.
According to the preferred embodiment of the invention, each battery of each terminal 10 may assume one of four status-conditions of 2 bits, or more than four status-conditions may be employed:













00
critical


01
poor


10
full


11
infinite.









When a terminal 10 is in a charging cradle, or hooked up to an external power supply, it will identify itself as having infinite battery life—code 11. A terminal with a fully charged battery will identify itself as having excellent battery life—code 10. A terminal with a low battery life will identify itself as having poor battery life—code 01, which will indicate that it should only be used for routing emergency data, or in the case of no other available option. Once the battery drops below some configurable threshold, the terminal will identify itself as having no battery life—code 00. This will allow the terminal to reserve some battery life for it's own use.

“Battery Conservation Algorithms”
The components of the system of the present invention described above are independent of the link layer of the ad-hoc transport of that system disclosed in the above-identified commonly-owned patent applications. The present invention adds the capability to the routing layer and call-control layers of the ad-hoc network system, in order to permit the function of battery-conservation to be accomplished.
The basic reasoning behind the algorithm of the present invention is to add a component to the routing decision that includes consideration for the state of the battery. In order for this to work, the routing algorithms are extended to include information about the battery state of the terminal, such that if a choice of routes is available, one of which includes a low battery terminal, the alternate route will be selected.
Referring now to FIGS. 4–7, there are shown the flow charts for the method of adding battery-status information to the routing tables of the terminals 10. Each terminal periodically wakes up in order to check its own battery status (FIG. 4A 0 Blocks 30, 32), after which it will update, if necessary, it routing table (FIG. 5). If the status remains unchanged, then the status of the battery of that terminal will remain unchanged, or stable, as shown in FIG. 4B (block 36), and no change will be made to that terminal's routing table. Again, periodically, the terminal will self-test its battery life (block 38). The battery status is checked using the subroutine “Evaluation” (blocks 34 and 40 in FIGS. 4A and 4B, respectfully).
Referring to FIG. 5, the “Evaluation” subroutine 42 is shown. This subroutine determines whether or not its terminal's routing table needs updating based on the “check-battery status” subroutine of FIGS. 4A and 4B (block 44 of FIG. 5). One the most recent status has been determined (block 46), it is determined which of the four status 14 conditions exists: Infinite—block 48(code 11), high—block 50(code 10), low—block 52(code 01), or critical—block 54 (code 00). If the status determined in block 46 is the same as that of the previous results from the “check battery status” subroutine, then the program goes to block 56, indicating that the terminal's battery is stable, indicating that no change of status from the previous determination has occurred, whereby no change is made to the terminal's routing table. However, if there has been a change from the previous status,then the program will update the terminal's routing table to the appropriate code-value. The update need not necessarily be a downgrade; if, since the last status-check of the battery the battery had been recharged, then a status-upgrade to the routing table will ensue. The updated routing table will be transmitted to each adjacent terminal of the ad-hoc, peer-peer-radio system, preferably as part of the configuration data time-frame messaging transmitted and received on the control channel, as disclosed in commonly-owned U.S. application No. 60/246,833 and U.S. Pat. No. 6,807,165, which are incorporated by reference herein. Radio terminals of the ad-hoc, peer-to-peer system thereof routinely exchange routing tables with their neighbors, either after some configurable time delay, which is typically several seconds, or when they note a change in the environment or view of the neighbors. The battery condition of the terminal then becomes a new and critical factor or parameter of the routing update message, which, according to the present invention, is incorporated into the updated routing table messaging.
Referring to FIGS. 6 and 7, there is shown the flow charts for a source terminal 60 determining (block 62) the optimal route 64 for the type of call it is sending. In FIG. 7, the routing table messaging subroutine includes calculated values for the Code Rate (block 66), the Symbol Rate (block 68), the Power Level (70), and the RTS (Request to Send) message to another node-terminal or gateway(block 70), after which is waits for the CTS (Clear to Send) message (block 72) from the other terminal or gateway.
“Terminal Battery Determination Algorithm”
The following are algorithms for performing the battery-status check and update of a terminal's battery, and its consideration in the routing decision made by a source-terminal.












/*This algorithm is used by a hand-held terminal to define the battery


status and will report to other terminals in the routing data exchange:


*/


IF power_source = external









THEN  Battery := infinite



ELSE IF battery_level = full









THEN Battery := excellent



ELSE IF battery_level >= config_param_battery









THEN Battery := poor



ELSE Battery := critical







/* config_param_battery is a system parameter that is provisioned


over the air or the terminal interface that defines the threshold for


eliminating the terminal from the routing options. This should range


from 25% to 50% of the available battery power.


*/









Terminals exchange routing table information on a regular basis via the time-frame messaging on the control channel of the ad-hoc, peer-to-peer radio system. These messages include information on the terminals that the initiating device can see and the parameters that it understands about those terminals. The critical components are the quality of the link between the initiating device and all those terminals, the data rates that it could maintain on those links, and the congestion level of the terminal. To this information is added the present invention's indication of the battery level of the initiating terminal.
The routing update message includes a new field battery_condition:
battery_condition (2 bits)













02
critical


03
poor


11
full


11
infinite









As previously mentioned, there are several schemes that can be employed by the source of a message to determine the optimal route to the destination. The following algorithm is based on a minimum energy routing algorithm.

    
    
        source-routing (message_ptr,msg_length,destination, msg-type)
        /* source based routing including link adaptation algorithm
        */
        opt_route(destination, msg_type)
        /* determine optimal route to destination this will return the best available route based on Class-of-service (COS) from msg_type and other network parameters including link quality and battery life. The returned information will be used to calculate the data rate and power level
        */
        calc_symbol_rate (sym_rate)
        calc_code_rate (code_rate)
        calc_pwr_level (pwr_level)
        send_msg(RTS,msg_length,destination,sym_rate,code_rate,pwr_level)
        /* send RTS to first router and await CTS to send the data packet
    
    


The Symbol Rate is a standard calculation of the number of RF chips to be used to define a symbol or bit of data in the transmission.
The Code Rate is conventional, and is a function of the direct sequence spread spectrum, and, specifically, the spreading code PN to be used for the transmission.
Power Level is defined in 1 dB steps between −27 and +28 dBm, where 28 dBm is approximately equivalent to the maximum power allowed under FCC Rules for the ISN band; for other RF spectrums, the range may vary.
opt_route (destination, msg_type)
RTS refers to Request-To-Send message; CTS refers to Clear-To-Send message; msg refers to the message sent from each terminal. The “code” is one of the four 2-digit codes of the battery status described above.
In a second embodiment, instead of utilizing four battery levels in the algorithm of the invention, there are seven battery levels used and reported.
Battery—A value from 0–7 designating the following battery conditions:

    
    
        0. IAP;
        1. Wireless Router;
        2. Subscriber Device with non-battery power;
        3. Subscriber Device with nearly full battery (>80%);
        4. Subscriber Device with battery level (>50%);
        5. Subscriber Device with battery level low (>20%);
        6. Subscriber Device (or Wireless Router) with minimal battery (>0%);
        7. Subscriber Device: Don't Use Ever. This prevention should be capable of being chosen by the network manager remotely.
    
    


In another aspect of the invention the class-of-service is considered in determining a routing path. This may done independently of the status of the battery-power level described above, or in conjunction with it.
Routing a packet of data through an ad-hoc radio network is typically achieved through a number of intermediate nodes, and not done directly between two points. The algorithms that determine the route are based on the shortest distance or the least power required, as set forth in above-mentioned U.S. Pat. No. 6,807,165. These algorithms do not produce a predictable delivery of packets. Packets may be delayed because of congestion in intermediate nodes, and delivery failure may occur because of noise on the radio links. The algorithm of the present invention modifies the algorithm described in the above-mentioned U.S. Pat. No. 6,807,165, and determines the chosen optimal routing path based on packet content—class-of-service (CoS).
While there are numerous data types and delivery options that can be used, they typically fall between the two extremes of minimum latency (delay) and maximum reliability—bit error rate (BER). The simplest forms of packet content are voice, video and data. Voice requires very low latency, so that the routing algorithm of the invention must not use nodes that are congested.
When an ad-hoc radio terminal first initializes, it will advertise its presence and initially establish a chosen routing path to a gateway, as described in above-mentioned U.S. Pat. No. 6,807,165. However, in accordance with the present invention, the chosen routing path may not necessarily be the same for voice, video and data transmissions, because of the above-described differing constraints among them. The routing information collected by the radio terminal source includes the number of nodes that make up each potential routing path, as well as the link-level interference and noise between each node, and the congestion level of each intermediate node. The noise level is the primary determinant of BER due to the interference, although congested nodes may also impact data errors if they are so overloaded as to cause failure of packet-delivery. The number of hops required is also a primary determinant in determining latency, along with congestion. Each additional hop of a path increases the latency by a minimum of the processing delay to relay the packet, which is typically 5 millisec. Congestion levels of a node also increases latency. The algorithm of the present invention, in addition to considering, also takes into consideration the class-of-service, whereby the chosen optimal routing path for a call is based on latency and bit error rate.
/*This algorithm determines the best route to the destination based on the COS in the message type.
The following example illustrates the decision process when both battery-power level and CoS are used in the determination of the routing path.


    Route 1 term1->term4
    Low latency, worst battery level=excellent, BER =high
    Route 2 term1->term2->term4
    High latency, worst battery level=good, BER=low
    Route 3 term1->term2->term3->term4
    High latency, worst battery level=poor, BER=low
    Route 4 term1->term5->term6->term4
    Low latency, worst battery level=poor, BER=low
    BER is Bit-Error-Rate; latency is delay.


In the case of a voice call that has a COS that can tolerate a high BER but not high latency, it would choose route 1 over route 4 because of the battery and because it cannot tolerate high latency.
In the case of a data call that has a COS that can tolerate high latency but not high BER, it will choose route 2 over route 3 or 4 because of the battery.
Referring now to FIG. 8, an example is shown where the CoS but not the battery-power level status is used for determining the routing path. Source terminal 1 wishes to make a call to a device such as remote terminal 5. Alternatively, the destination device may be a gateway instead of a remote terminal 5. A total of three different routing paths are possible. The first path is: 1, 6, 7, and 5; the second path is 1, 2, 3, and 5; and the third path is 1, 4, 3, and 5.
The three types of packet-contents, as described above, are: Voice, such as real-time voice and streaming audio; video, such as real-time video and video streaming; and data, such as FTP and bulk file transfers. Voice requires the lowest latency, video requires lowest BER without excessive latency, and data requires best effort.
The following are examples of how each of these three routing paths differ in the determinant factors:
First Routing Path
Node 1-Node 6 Low BER, low latency
Node 6-Node 7 Low BER, 7 congested(high latency)
Node 7-Node 5 Low BER
Second Routing Path
Node 1-Node 2 Low latency, high BER
Node 2-Node 3 Low latency, low BER
Node 3-Node 5 Low latency, low BER
Third Routing Path
Node 1-Node 4 Low BER, medium latency
Node 4-Node 3 medium latency, low BER
Node 3-Node 5 Low latency, low BER
The first routing path because of its low BER, and no excessive latency would be the path chosen for the transmission of video. The second path with low latency would be used for voice transmission. The third path with low BER but not low latency would be used for data transmission, such as FTP and bulk file transfers.
The following is an example of the routing table messaging used in the present invention incorporating seven such battery status indications.










1 Ad-Hoc Routing Header










Mod ID (8 bits)
Msg ID (8 bits)
Version (8 bits)
TOS (8 bits)












Lateral (1 bits)
Sequence
Carrier ID (16 bits)


TTL (hops) (7 bits)
Num (8)



Source Address (48 bits)









Destination Address (48 bits)







Payload (X bits)









This is the standard header for all AHRL inter-node messages. The Payload field may be an IP message to be transmitted, or any other AHRL message going over-the-air. Each field is described as:

    Mod ID: the module generating the message
    Msg ID: the unique message type identified assigned and known on a module-by-module basis.
    Version: The software version being used by the generating terminal: 4 bits for major rev, and 4 bits for minor rev.
    TOS: the standard internet TOS field which effects QoS. Inter AHR messages shall set the TOS based on a lookup table of values TBD which is based on the payload being sent.
    LAT/TTL: The TTL (time to live) field is the estimated hop count based on the number of hops indicated in the routing table. One is subtracted from this count at each relaying node. If the TTL reaches zero, then the message is destroyed. The Lateral bit is used to indicate that this message has been laterally forwarded, and the hop count is not decremented.
    Carrier ID: This value is used to distinguish one Arachnet system from another. Source Address: The 48-bit hardware address of the originating terminal of the message.
    Destination Address: The 48-bit hardware address of the destination terminal.
    Payload: Any block of data that is to be transmitted over-the-air.

2. Routing Advertisement Message (RA)













2.1 Routing Advertisement Header



















Node Addr (48-bits)






Seq. Num (8-bits)
Num Entries (8-bits)



Metrics (32-bits)










    Note Addr—The 48-bit address of the sender of the Routing Advertisement.
    Seq Num—A sequence number which is incremented each time a node sends a Routing Advertisement.
    Num Entries—The number of entries in the Routing Advertisement.
    Metrics—The metrics associated with a sending node. See section 3.












2.2 Routing Advertisement Entry

















Node Address (48-bits)









Next Hop Address (48-bits)









Metrics (32-bits)







Repeat up to MAX_RA_NODES...






This is the Routing Advertisement message, which is defined in the Routing module. It is contained within the RT to TC IMM.

    Node Address—The 48-bit address of the destination being reported by the sender of the Routing Advertisement.
    Next Hop Address—The 48-bit address of the node that is being used as the next hop from the sender of the Routing Advertisement towards the destination being reported.
    Metrics—The metrics associated with the destination being reported. See section 3.












3 Routing Metrics


Energy (16-bits)















Hops-3
Congestion-3
Mobility-1
Ra Heard-1
Battery-3
pad-5









The metrics sent in the routing advertisement are used to determine a Link Resistance value that becomes the cost associated with the route to the destination. The metrics are associated with the best path that the sender has currently chose to reach that destination.

    The following are descriptions of each metric:


Energy—A value that is calculated with the formula:

Cost=10 dB+(Power Level)+10*log10 (Max Data Rate/DataRate)

EXAMPLE 1
Power level=−10 dbm, Data Rate=8 Mbps

Cost=10+(−10)+10*log10(8/8)=10+(−10)+0

EXAMPLE 2
Power level=+30 dbm, Data Rate=500 kbps.

Cost=10+(+30)+10*log10 (8/0.5)=40+10*1.2=52

    The range for this value is 0–52.
    Hops—The number of hops to the sender of the RA to the destination.
    Congestion—The average quantized level of congestion from the sender of the RA to the destination (range 0–7).
    Mobility—A bit designating whether or not the destination node is currently moving.
    Ra Heard—A bit designating whether or not the sender of the RA has recently received an RA from the destination being reported.


Battery—A value from 0–7 designating the following battery conditions:
0. IAP
1. Wireless Router
2. Subscriber Device with non-battery power
3. Subscriber Device with nearly full battery (>80%)
4. Subscriber Device with battery level (>50%)
5. Subscriber Device with battery level low (>20%)
6. Subscriber Device (or Wireless Router) with minimal battery (>0%)
7. Subscriber Device: Don't Use Ever. This prevention should be capable of being chosen by the network manager remotely
There are 5 additional bits remaining for future metrics expansion. Also, there are additional bits in the energy field that may be used.
While specific embodiments of the invention have been shown and described, it is to be understood that numerous changes and modifications may be made therein without departing from the scope and spirit of the invention.

## Claims

1. A method of routing a call in an ad-hoc, peer-to-peer radio system, which radio system comprising a series of radio terminals, each said terminal for use as a node to a call made from a source-terminal, said method comprising:
(a) transmitting one of voice-type, video-type and data-type over a routing path of said terminals serving as nodes;
(b) determining a class-of-service of the call;
(c) said step (b) comprising determining which one of said voice-type, video-type, and data-type is to be transmitted by the call;
(d) selecting a routing path based on said step (c);
(e) said step (ed) comprising basing its decision of a routing path based on latency and bit error rate.

2. The method of routing a call in an ad-hoc, peer-to-peer radio system according to claim 1, wherein when said step (b) indicates voice transmission, said step (d) comprises choosing a routing path of terminals having relatively high BER and relatively low latency.

3. The method of routing a call in an ad-hoc, peer-to-peer radio system according to claim 1, wherein, when said step (b) indicates data transmission, said step (d) comprises choosing a routing path of terminals having relatively low BER and relatively high latency.

4. The method of routing a call in an ad-hoc, peer-to-peer radio system according to claim 1, wherein, when said step (b) indicates video transmission, said step (d) comprises choosing a routing path of terminals having relatively low BER without excessive latency.

5. In an ad-hoc, peer-to-peer radio system comprising a series of terminals, each said terminal comprising computer means and memory means for storing program software means therein, said memory means comprising software means for generating a routing table for use in determining the routing path of an outgoing call, and where said outgoing call is routed to its destination by routing said call along a route utilizing at least some of said terminals of said series of terminals as nodes, the improvement comprising:
said software means of said memory means of each said terminal comprising determination means for determining a class-of-service of said call, said determination means indicating one of voice, video and data is to be transmitted;
said software means further comprising measuring means for measuring the latency and bit error rate of each possible routing path available; and
said software means further comprising selecting means for selecting the optimal routing path for one of a voice, video or data transmission based on said measuring means, said selecting means comprising generating means for generating informational data indicating the selected routing path for the respective class-of-service of the outgoing call based on latency and bit error rate.

6. The ad-hoc, peer-to-peer radio system according to claim 5, wherein said software means further comprises message-generating means for generating a routing table, said routing table comprising time-frame based messaging, said time-frame based messaging having said informational data as a part thereof.

7. The ad-hoc, peer-to-peer radio system according to claim 6, wherein time-frame based messaging is based on time division technique in a code division multiple access system.

8. The ad-hoc, peer-to-peer radio system according to claim 6, wherein message-generating means for generating a routing table of each said terminal also comprises information on least-energy routing, so that the least amount of energy over a selected route is chosen for completing a call, whereby the minimizing of radiated RF energy is achieved in order to reduce interference between terminals, said time-frame based messaging also having said a section for reporting least-energy routing of a call.

9. The ad-hoc, peer-to-peer radio system according to claim 5, wherein said selecting means comprises means for choosing a routing path of terminals having relatively high BER and relatively low latency when the call to he transmitted is a voice type transmission.

10. The ad-hoc, peer-to-peer radio system according to claim 5, wherein said selecting means comprises means For choosing a routing path of terminals having relatively low BER and relatively high latency when the call to be transmitted is a data-type transmission.

11. The ad-hoc, peer-to-peer radio system according to claim 5, wherein said selecting means comprises means for choosing a routing path of terminals having relatively low BER without excessive latency when the call to be transmitted is a video-type transmission.

12. In an ad-hoc, peer-to-peer radio system comprising a series of terminals, each said terminal comprising computer means and memory means for storing program software therein, the method comprising:
(a) generating at each said terminal a routing table for use by it and other said terminals in determining the routing path of a call;
(b) routing a call to its destination using said muting tables by selecting a path utilizing at least some of said terminals of said series of terminals as nodes;
(c) said step (a) comprising in each said routing table informational data about a class-or-service of the call;
(d) said step (b) comprising selecting a path for said routing based on said informational data about the class-of-service.

13. The method according to claim 12, wherein said step (a) comprises including in each said routing table informational data about least-energy routing so that the least amount of energy over a selected route is chosen for completing a call, whereby the minimizing of radiated RF energy is achieved in order to reduce interference between terminals.

14. The method according to claim 12, wherein said step (d) comprises determining whether the class-of-service is one of voice-type, video-type, or data-type transmission.

15. The method according to claim 12, wherein said step (d) also comprises selecting a path based on the status of battery-life of at least one of said radio terminals.

16. In an ad-hoc radio terminal used in an ad-hoc, peer-to-peer radio system, which radio system comprising a series of ad-hoc radio terminals, each said radio terminal comprising computer means, and memory means for storing program software therein, said memory means comprising software means having generating means for generating potential routing paths for connecting a call to its destination utilizing at least some of said radio terminals of said series of terminals as nodes, the improvement comprising:
measuring means for measuring the values of latency and bit error rate along each potential routing path;
said software means comprising determination means for determining a class-of-service of the call to be transmitted, said determination means determining one of voice-type transmission, video-type transmission, or data-type transmission;
said software means further comprising discriminating means for discriminating between possible routing paths based on die class-of-service and the values of the latency and bit error of each potential routing path from said measuring means.

17. The radio terminal according to claim 16, wherein said software means of said memory means further comprises means for determining and reporting in said routing table information on least-energy routing so that die least amount of energy over a selected route is chosen for completing a call, whereby the minimizing of radiated RF energy is achieved in order to reduce interference between terminals.

18. The ad-hoc, peer-to-peer radio system according to claim 16, wherein said discrimination means comprises means For choosing a routing path of terminals having relatively high BER and relatively low latency when the call to be transmitted is a voice-type transmission.

19. The ad-hoc, peer-to-peer radio system according to claim 16, wherein said discrimination means comprises means for choosing a muting path of terminals having relatively low BER and relatively high latency when the call to be transmitted is a data-type transmission.

20. The ad-hoc, peer-to-peer radio system according to claim 16, wherein said discrimination means comprises means for choosing a routing path of terminals having relatively low BER without excessive latency when the call to be transmitted is a video-type transmission.