US 20060098604 A1
In a mesh communication network, a poll request protocol (PRP) is provided in which a special packet is broadcast by the congested node when it is ready to provide services. The controlling node (usually the more congested node) broadcasts a packet to request poll signals from nodes desiring resources of the controlling node. The contending nodes then have equal chances to request the services of the controlling node by sending poll signals. The controlling node can then arbitrate the requests, determine the most fair and efficient use of its resources, and broadcast a scheduling packet to inform the contending nodes when to inform the contending nodes of controlling node scheduling. The contending nodes then send their packets to the controlling node without lost packets caused by congestion collisions. The controlling node can then send data to the contending nodes also without lost packets.
1. In a mesh network having a plurality of communication nodes, wherein one or more nodes may be either a contending node when sending data for transmission within the mesh network or a controlling node for receiving data for transmission within the mesh network, a method for accessing a controlling node, comprising:
accessing the controlling node in a non-PRP mode where multiple nodes are not contending for access to the controlling node; and
accessing the controlling node in a PRP mode where multiple nodes are contending for access to the controlling node, the PRP mode comprising:
withholding, at a contending node, requests for access to a controlling node until receipt, at the contending node, of a poll request packet broadcast from the controlling node, the poll request packet containing information indicating availability of a communication slot;
broadcasting from the controlling node to a plurality of contending nodes the poll request packet when the controlling node is ready to provide services;
directing from the contending node a poll packet to request access to the controlling node; and
broadcasting from the controlling node to all of the plurality of contending nodes a control packet containing rules information for each contending node requesting access to follow in order to send data to the controlling node.
2. The method according to
causing each individual requesting node to transmit local data in turn to the controlling node.
3. The method of
scheduling each individual requesting node which receives rules information from the controlling node; thereafter
receiving at each individual requesting node acknowledgments from the controlling node, the acknowledgments being for corresponding individually transmitted data packets from the requesting node; and thereafter
transmitting from each individual requesting node further acknowledgments to receipt of data if data has been previously transmitted to it by the controlling node.
4. The method according to
purging data packets from a transmitting node upon receipt of acknowledgment of successful reception of said data packets.
5. In a mesh network having a plurality of communications nodes, wherein one or more modes may be either a contending node or a controlling node, an apparatus for requesting access to a congested controlling node, comprising:
means for accessing the controlling node in a non-PRP mode where multiple nodes are not contending for access to the controlling node; and
means for accessing the controlling node in a PRP mode where multiple nodes are contending for access to the controlling node, the means for accessing in a PRP mode comprising:
means for withholding, at a requesting node, requests for access to said congested node while awaiting receipt, at said requesting node, of a poll request packet containing a first datum of information indicating availability of a communication slot;
broadcasting means for broadcasting from said congested node said poll request packet when said congested node is ready to provide services; and thereafter
means at said requesting node for directing from said requesting node a poll packet to request access to the congested node; and
means operative to broadcast a control packet from the congested node to all the requesting nodes having rules information that directs the requesting nodes when to send and receive data packets.
6. The apparatus according to
means to cause thereafter each individual requesting node to transmit its data packets in turn to the controlling node.
7. The apparatus according to
means at said controlling node for scheduling transmitting times for each individual requesting node which receives rules information from the controlling node;
means for receiving at each individual requesting node acknowledgments of corresponding individually transmitted data packets from the requesting node; and
means for transmitting from each individual requesting node further acknowledgments to receipt of data if data has been previously transmitted to it by the controlling node.
8. The apparatus according to
means for purging data packets from a transmitting node upon receipt of acknowledgment of successful reception of said data packets.
This application is a continuation of U.S. patent application Ser. No. 09/894,843, filed Jun. 27, 2001, and entitled “METHOD AND APPARATUS FOR CONTENTION MANAGEMENT IN A RADIO-BASED PACKET NETWORK,” the complete disclosure of which is herein incorporated by reference.
This invention relates methods and apparatus for regulating traffic among contending nodes, being particularly advantageous in a wireless mesh packet radio network system.
In a meshed communication system, packets will favor routes which historically have provided the best performance. As traffic increases, previously acceptable paths will provide degraded performance because of congestion unless alternate, normally slower paths are used or unless communication protocols provide dynamic relief at the affected nodes by changing their characteristics to be more efficient under load.
Meshed packet networks are one of several types of data communication network architectures that support packet communication. Other major types are star (e.g., cellular or 10-baseT) and bus (e.g., computer backplane). Mesh networks have several advantages over other architectures for providing high-capacity, high reliability data communication over a large area and to a large number of users.
In a radio-based packet mesh network, an interconnected mesh of data packet sending and receiving nodes collectively captures, routes and delivers data packets in a shared medium. The sharing of this medium results in mutual interference and loss of some packets due to collisions caused by congestion. When a packet is lost, it must be retransmitted, which causes further congestion in the network and causes further packet loss. The packet loss and retransmission consume the limited bandwidth that is used to provide the communication services the network was installed for. It is desirable to minimize this loss of packets so that the network can provide a greater level of performance to the greatest number of users of the network.
Any transmissions or packets that are sent that do not deliver data to the users of the network decrease the efficiency of the network. The higher the efficiency of the network, the more useful work it is performing and the higher its intrinsic value. It is desirable therefore to minimize the overhead packets and transmissions that the protocol uses to communicate to other nodes and to maximize the number of packets that actually deliver data to the users of the network.
As a network becomes more congested and it attempts to deliver more packets than it is capable of, it is desirous that a user get their fair share of the resources. In typical packet networks some users will be favored over others because of the topology of the network or the time distribution of the traffic that they are sending. The network protocols should be designed so that the bandwidth is allocated in a fair and equitable manner regardless of these circumstances.
In a network with intelligent nodes, each node works to manage the traffic through itself. There are several known methods by which this might be done, each has disadvantages, as described below, over the invention described in this patent:
Polling: The controlling or contended node may poll each of the nodes contending for services. The controlling node has imperfect information regarding the servicing needs of the contending (or slave) nodes. Bandwidth used by the controlling node determining if demand exists is overhead which should be minimized. Particularly in a meshed radio network, the extra transmissions can cause further degradation of services because they can increase congestion for multiple nodes.
CSMA/CD: With the Carrier Sense Multiple Access/Collision Detect protocol each node contending for the services transmits (polls) and awaits a response. If the expected acknowledgment is not forthcoming, each of the contending nodes “backs off” or delays an algorithmic amount of time and then retries the poll transmission. This technique is commonly used in wired LAN topologies where all nodes are in reliable communication with each other and thus can reliably hear the acknowledgment to the poll and know when not to transmit. Unfortunately, in many topologies, because of unreliable communication channels, each node has only imperfect information about the state of the targeted node. In this case, only the successful contender (if there was one) is guaranteed to know exactly when the contended node will be free to receive another packet (after the successful node has finished transmitting its packet).
CDMA: With Code Division Multiple Access, contending nodes transmit by means of a limited set of orthogonal codes. These codes can be selectively detected by decoding each transmission with its own coding sequence. This technique can be used for sending packets from multiple simultaneously transmitting mobile units on the same frequency channel where relative timing can be maintained. However, the frequency channel bandwidth must be increased to handle the additional transmissions. The limitations of this technique are manifold: the processing gain of the coding used limits the number of simultaneously transmitting mobile units. For greatest capacity, the power level of the mobile units must be controlled to be nearly uniform when received at each multiple-station receiving node such as a mobile telephone cellsite. This requires additional protocol overhead which reduces the efficiency of the network.
It is well known that CSMA/CD does not work efficiently as a congestion-limiting scheme for meshed radio networks because of the nature of radio where all nodes cannot ‘see’, or simultaneously communicate with, each other and thus are not able to reliably avoid burst transmissions which block each other. This is a particularly severe problem when the applied load of traffic is large relative to congested node capacity.
Other, more sophisticated protocols (such as GAMA-PS as described by Andrew Muir and J. J. Garcia-Luna-Aceves, “An Efficient Packet Sensing MAC Protocol for Wireless Networks”, MONET 3(2):221-234 (1998)) work better as a congestion-limiting scheme for radio based systems communicating with each other on a single frequency channel (analogous to a wire). They are; however, unable to handle multiple channels and thus take advantage of the inherent efficiencies available in a meshed network where multiple packets can be sent between different pairs of nodes simultaneously. Protocols designed to handle multiple channels, such as those used for optical networks, have not been designed to efficiently handle unreliable channels, such as those typical in radio networks. Other protocols (such as PRMA as described by D. J. Goodman, R. A. Valenzuela, K. T. Gayliard and B. Ramamurthy, “Packet Reservation Multiple Access for Local Wireless Communications,” IEEE Transactions on Communications, (August 1989) require even more complicated collision detection that is not cost effective or is not available with current radio technology.
The following patents and publications provide further background information:
U.S. Pat. No. 5,384,777 Ahmadi, et. al. Jan. 24, 1995, entitled “Adaptive Medium Access Control Scheme for Wireless LAN”; Ahmadi, Hamid; Bantz, David F.; Bauchot, Frederic J.; Krishna, Arvind; La Maire, Richard O.; Natarajan, Kadathur S.; assigned to IBM Corporation filed Apr. 19, 1993. It discloses an evidently inflexible fixed slot master (base)/slave contention reduction scheme. Access is random access, but there is no teaching of mini-slot categories.
ANSI/IEEE Standard 802.11, 1999 Edition. “IEEE Standards for information technology; Telecommunications and information exchange between systems; Local and metropolitan area networks; specific requirements; Part II: Wireless LAN Medium Access Control (MAC) and Physical Specifications. It teaches a time-based scheme dependent on a single base-station with which all nodes must be in contact.
U.S. Pat. No. 5,471,469: Nov. 28, 1995, entitled. “Method of resolving media contention in radio communication links”; George Flammer and Brett Galloway, assigned to Metricom of Los Gatos, Calif. This disclosure teaches a novel way of reducing contention in a frequency hopped packet radio network but under load (heavy contention) is an inefficient and unfair protocol.
U.S. Pat. No. 5,297,144: “Reservation-based polling protocol for a wireless data communications network”; Gilbert; Sheldon L., Heide; Carolyn L., Director; Dennis L., assigned to Spectrix Corporation of Evanston, Ill. This teaches an inefficient polling mechanism that does not take advantage of the broadcast nature of wireless and requires multiple handshakes between each data transfer.
U.S. Pat. No. 5,818,828: Oct. 6, 1998 entitled “Hybrid multiple access protocol for wireless frequency hopping microcells with adaptive backhaul and heartbeat”; Packer; Robert L., Xu; Milton Y., Bettendorff; John, assigned to Metricom, Inc., Los Gatos, Calif. This disclosure teaches a polling system that requires a Master/Slave relationship to be set up and is inefficient in requiring a poll for every data packet sent and a poll to determine if there is any data available to send.
What is needed is an improvement in communication protocols for mesh networks with multiple channels that can perform efficiently with imperfect channels and provide increased throughput and fair allocation of resources, even under load, with minimal increase in control overhead.
According to the invention, in a mesh communication network such as a radio-based packet network, a poll request protocol (PRP) is implemented in which a special packet or datum of information is broadcast by the congested node when it is ready to provide services. Specifically, the controlling node (usually the more congested node) broadcasts a packet requesting poll signals from nodes desiring resources of the controlling node. The contending nodes then have equal chances to request the services of the controlling node by sending poll signals. The controlling node can then arbitrate the requests, determine the most fair and efficient use of its resources, and broadcast a scheduling packet to inform the contending nodes of when to send their packets and inform the contending nodes that the controlling node will send data to them. The contending nodes then send their packets as scheduled to the controlling node without lost packets caused by congestion collisions, the controlling node can then send data to the contending nodes also without lost packets caused by random access collisions with the receiving nodes.
The present invention is an advance on the typical method and apparatus utilized in a mesh network among communicating nodes that experience congestion due to unavoidably high traffic levels. The invention also provides advantages in efficiency and fairness, particularly in a meshed packet radio network system where broadcast must be used and bandwidth is a very limited resource.
This technique is particularly advantageous when coordinating the resource demands of an indeterminate number of nodes, each generating such demand asynchronously. In this case (which is typical of packet radio networks) the broadcast packet from the contended node provides identical information to all of the potential client nodes; such as timing, load, and availability, thereby giving each contending node an equal view of the controlling node's state. This allows each contending node an equal chance of using the controlling node's resources, thus preventing resource capture by lucky or favored nodes.
Widespread implementation of PRP increases the network carrying capacity by substantially reducing poll packets over the prior art and limiting them to the active clients of the contended node, the PRP master.
Unlike prior art polling methods, which operate within the master/slave paradigm, where the master polls the slave units, asking them if they have data for transfer and/or whether they are present to receive a data transfer to them; PRP limits the number of polls sent and received. In the prior art, the slave units either respond to polling whether or not they have data or decline to respond if they have none. It is worthwhile to note that the master interrogates the slaves through the polling. Polls unheard or which fall upon slaves with no data to send are examples of expensive spectrum wasted. Since the master (being the contended resource) is typically in a propagationally favored location or configuration, wasted packet from the master radio node are maximally deleterious to the network as a whole.
Since the PRP packet is broadcast, and thus available to a large number of interested and affected nodes, the number of Polls and the number of wasted packets in the media is minimized, leaving greater network capacity for message traffic. Since the radios responding to the single broadcast PRP packet, i.e., doing the polling, are often subscriber devices with a smaller radius of interference, their polls are less deleterious to the network, thus leaving greater network capacity for communicating.
Since all requested polls are received in the same phase, prioritization of the traffic around and through the contended node is optimizable so multiple levels of service are possible. This is an advance over prior art in polling which did not allow for scheduling or priority.
Since a PRP master can easily listen for another PRP master, and the PRP system operates asynchronously, all nodes in the network, even portable nodes, can use PRP to control their own congestion. In particular, network software code is more manageable since all nodes can run the same algorithm and all nodes react similarly.
The invention will be better understood upon reference to the following detailed description in connection with the accompanying drawings.
As shown in
Once it is determined that the PRP mode is appropriate, the congested node goes into the StartPRP state 2 and advertises its changed state via any mechanisms it has available to do so (transition Step B). These means include:
Broadcast packets that indicate state, timing, and traffic level.
Bits set in the header of packets exchanged in the course of ‘normal’ communication.
“Assumptions” made by other nodes in response to local failures generated and tabulated in the course of data traffic handling.
Thereupon, the node is in the PRP state 3 and the PRP mechanism is used to resolve contention and manage client radios in the vicinity (transition Step C).
When a node determines that it is no longer under contention, e.g., it receives no polls after a poll request or it determines that the requested services can be handled more efficiently without PRP, it exits the PRP state and returns to the NonPRP state 1 (via transition Step D).
The contending nodes that have not been scheduled to send data in the PRP packet send Polls to the master node requesting to send a data packet. The Polls are targeted to fall into one of several mini-slots in time after the end of the PRP packet according to the algorithms dynamically specified in the PRP packet. Several mini-slots may be assigned to a particular class of clients by the PRP master to reduce contention for that class of clients. The clients randomly target the polls into one of the designated mini-slots. (Step C2).
The PRP packet and, after receipt of the polls, the Contention Resolution Packet (CRP), lay out the rules of transmission among nodes desiring to transmit to the PRP master (Step C3). These are heard by all and provide useful client-client transmission information. [Note that a PRP master may be (and usually will be) a client to another PRP master.]
This mechanism has many advantages. By this means the client/master communications are synchronized, communication in the affected community of radios is freed of collisions, and priorities can be directly enforced so that high priority exchanges are completed before lower priority traffic is started.
Specifically, transmit/receive phases are enabled (Step C4). In this mode, all traffic to be sent to the master can be consecutively sent before the master radio node transmits data back. This mode permits reduction or elimination of “turn around time” as the clients and master radios switch back and forth between transmit and receive.
During this mode, availability and traffic load are announced, as well as acknowledgments for correctly received data packets (Step C5). Thereby, the “losers” of the polling competition for the attention of the master radio have useful knowledge by which they can decide whether to select another node for forwarding their traffic.
The clients that received data packets as schedule in the CR Packet, transmit their scheduled acknowledgments of the received data packets back to the controlling node (Step C6). Thus a complete PRP cycle is completed and data is transferred between a controlling node under contention to a plurality of requesting nodes in a fair and efficient manner.
The node then determines if it is still in poll-request mode. If not, it proceeds to transition Step D, if it is still under contention. For instance, multiple clients have just requested to transmit data to it in this PRP cycle, then the node stays in PRP mode. Before starting a new PRP cycle, the node can attempt to send data that it has that was not destined to any of the requesting clients. (This data would have been sent in Step C4). For instance, some of the data that a requesting client has just sent may be forwarded further along in the network.
The whole PRP cycle then repeats, starting at step C1.
The Poll Request Protocol (PRP) has been designed with a number of optional fields:
The PRP packet itself can be sent upon return from completion of off-channel traffic carrying (sent as an “I'm back” packet).
The PRP master allocates its resources by specifying the number and permitted occupants of the (smaller) poll minislots. These minislots are short periods in time where specific nodes or classes of nodes are permitted to poll the PRP master. By specifying the number of these slots and their possible occupants, the PRP master can arbitrarily refine the performance of the radios by using it as a forwarding or terminus link.
The client radios receive the results of their polls in a subsequent contention resolution packet. This form of contention resolution packet has timing and frequency information in it that the contending clients must follow if they are to utilize the PRP master.
Until the timer expires, the client listens for the Broadcast Poll Request Packet (6A-5) and if it doesn't hear it, continues with other work (6A-10). When it hears the Broadcast Poll Request Packet, it checks for a reserved contention minislot for itself (6A-7). Upon finding none it sends a Poll Packet in any random contention minislot (6A-8) and continues. Otherwise it sends a Poll Packet in the specified reserved minislot (6A-9) and continues.
Referring to 6C, if Data Packets are heard, it prepares a Receive Acknowledgment Packet (6C-1) and listens for a broadcast acknowledgment from the server (6C-2). Continuing it checks for whether it heard the Broadcast Acknowledgment of the sent packets (6C-3) and if heard, deletes the acknowledged packets from its own send queue (6C-4) and sends the receive acknowledgment packet (6C-5). Checking to see if any packets are left to be sent to the server (6C-6), if yes it reverts to the timer setup (6A-2) to repeat the process. If not, it checks for any further expected data to transfer (6C-7) and either reverts as above or if nothing further is expected, leaves the PRPstate with the server (6C-8).
The invention has now been explained with respect to specific embodiments. Other embodiments will be apparent to those of ordinary skill in the art. It is therefore not intended that the invention be limited, except as indicated by the appended claims.