COLLISION AVOIDANCE IN COMMUNICATION NETWORKS
FIELD OF THE INVENTION
This invention relates to systems for allocation of a broadcast channel among competing nodes in a communication network. In particular but not solely, the invention relates to protocols for use in the MAC (Medium Access Control) sub-layer of the data link layer in a wireless LAN (Local Area Network). The protocols enable a node in the network to make a periodic reservation of bandwidth in a way that is useful for transmission of real time data.
BACKGROUND TO THE INVENTION
Numerous systems exist for allocating a parts of communication channel among multiple nodes or active devices in a network. Contention systems allow the nodes to transmit their signals with low regard for others, providing fast access but with low efficiency as overlapping transmissions collide and must be repeated. Collision-free systems enable nodes to transmit only when the channel is available, providing relatively slow access but relatively high efficiency. Reservation protocols in which nodes are required to indicate and negotiate their transmissions in advance are a common feature of collision-free systems. Many real networks use systems that combine both contention and collision-free features, depending on various factors such as the number and arrangement of nodes, the average time for transmissions to pass between senders and receivers, and the nature of the data being transmitted.
The IEEE (Institute of Electrical and Electronics Engineers) has produced several standards for LANs that include provisions for reducing contention, collectively known as IEEE 802. A standard of growing significance is IEEE 802.11 for wireless LANs, based on an earlier protocol from 1990 called MACA (Multiple Access with Collision Avoidance) and another called MACAW from 1994. In general terms, a sender node stimulates an intended receiver node to output a short signal or frame that can be detected by nearby nodes in the network environment, containing information about a relatively large frame which is pending for transmission at the sender. This frame indicates to other nodes within range of the receiver that the sender is about to transmit data and therefore that they should avoid using the
channel themselves for the duration of the transmission. The sender transmits an RTS (Request To Send) frame containing the length of the main frame that will follow. The receiver replies with a CTS (Clear To Send) frame containing information from the RTS frame. Upon receipt of the CTS frame the sender begins the transmission.
One significant feature of IEEE 802.11 and other 802 standards is the absence of a central control node or dedicated control channel. There are generally no ways to communicate between nodes in such networks other than through one or more multi-access or broadcast channels. Control is distributed over these channels by interactions such as the RTS/CTS exchange in MACA. Wireless LANs are increasingly common as non-centrally controlled networks using a single multi-access channel as the basis of their communications, unlike many other wireless systems. Portable computer devices such as laptops and mobile radios are able to implement IEEE 802.11 to form ad-hoc or multi-hop networks that connect to and become part of the Internet, for example. The protocols that determine which node transmits next on a multi-access channel lie in the MAC sub-layer of the data link layer in network models. The data link layer is responsible for conversion of digital data into frames, each typically a few hundred or few thousand bytes. It is often referred to as Layer 2, lying between the physical and network layers.
System designers emphasise QOS (Quality Of Service) in different ways to provide satisfactory operation of a network for the particular users. For example, low error rates are usually more important than delays when providing a file transfer service between computers, while errors and delays are more and less acceptable respectively, for voice or video signals between mobile stations in a radio network. Sufficient quality in voice and some other communications generally requires the transmission between users to occur in real time, without perceptible delay and without any variation in delay known as jitter. Delays in transmission on packet networks occur for a range of reasons generally related to data conversion and contention processes.
Efficient utilisation of bandwidth in each channel is another consideration for network systems, which must be managed in relation to QOS. For example, data in a file transfer can often be transmitted at constant rate to make efficient use of a
particular channel. However, data from a voice signal arrives intermittently as the users pause between phrases and is difficult to transmit in conjunction with other signals in a way that makes full use of available bandwidth. Collisions generally require retransmission of data and also cause inefficiency. There are few if any wireless systems in which both QOS and utilisation of bandwidth have been fully addressed for transmission of real time data.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide systems for improved utilisation of bandwidth when transmitting real time data in wireless networks having multi-access channels, or at least to provide an alternative to existing systems.
In general terms, the invention involves periodic but flexible reservations of the bandwidth in a way that accommodates nodes having a range of local environments and data rates. Nodes monitor reservations made by other nodes in their local network environment and set up or vary their own reservations in accord with others. A reservation made for transmission of real time data may be varied in relation to other reservations so that bandwidth is used more efficiently overall. Non-periodic reservations are also possible. The invention is particularly applicable to ad-hoc wireless networks.
The invention may be said to consist in a method of obtaining sender or receiver status at a node in a communication network, comprising: if requiring sender status then listening for announcements of receiver status made by other nodes in the network, and if no announcements of receiver status are heard within a predetermined send period then assuming sender status; if requiring receiver status then listening for announcements of sender status made by other nodes in the network, if no announcements of sender status are heard within a predetermined receive period then assuming receiver status.
In another aspect the invention consists in a method of negotiating a reservation for transmission between nodes in communication network comprising: determining sender status and a first proposed reservation at a sender node requiring
transmission to a receiver node, announcing the sender status and the first proposed reservation at the sender node for response by the receiver node, determining receiver status and a second proposed reservation at the receiver node, and announcing the receiver status and the second proposed reservation at the receiver node for response by the sender node.
In another aspect the invention consists in a method of adapting a reservation during transmission between nodes in a communication network comprising: transmitting data from a sender node to a receiver node in accord with a reservation of bandwidth on a channel in the network, determining a requirement for variatio of the reservation at either one of the nodes, announcing a proposed variation of the reservation at the one node, and transmitting data from the sender node to the receiver node in accord with the proposed variation of the reservation. In another aspect the invention consists in a method of communication between nodes in a wireless network comprising: determining and announcing a first reservation for communication between a first pair of nodes, determining and announcing a first reservation for communication between a second pair of nodes, transmitting or receiving data at a node in the first pair in accord with their first reservation, transmitting or receiving data at a node in the second pair in accord with their first reservation, wherein the node in the first pair is also the node in the second pair and transmits or receives in accord with both reservations.
In another aspect the invention consists in a method of transmitting data between - nodes in a communication network comprising: determining a periodic reservatio of bandwidth on a channel in the network, announcing the reservation to the network including status information, and transmitting data at a sender node in accord with the reservation, wherein the status information includes two or more parameters as follows : a period of the reservation, a time to end of the reservation, a time to end of the period, a time from start of the reservation.
LIST OF FIGURES
Preferred embodiments of the invention will be described with reference to the accompanying drawings, of which:
Figure 1 indicates a simplified network of wireless nodes,
Figure 2 indicates simple transmit and receive relationships between two pairs of nearby nodes,
Figure 3 indicates an example of a periodic reservation system set up by a node for sending data to another node,
Figure 4 indicates a possible transmit and acknowledge pattern including reservation announcements,
Figure 5 indicates multiple links between nodes,
Figure 6 indicates a simplified network environment for a sender node transmitting data to a receiver node,
Figure 7 indicates a table including information about reservations in the network environment of the sender node in Figure 6,
Figure 8 indicates transmissions made by nodes in the environment of the sender node in accord with respective reservations, Figure 9 indicates possible transmit and acknowledge patterns for the nodes in one of the slots in Figure 6,
Figure 10 indicates extension and reduction at the start of a reservation,
Figure 11 indicates extension and reduction at the end of a reservation,
Figure 12 indicates extension and reduction at the end of a related reservation,
Figure 13 outlines how a reservation between sender and receiver nodes may be set up or changed by the sender node,
Figure 14 outlines how a change to the reservation may be implemented at either node following a proposal by the other,- and ■ Figure 15 outlines how a change may be implemented at either node following an announcement by another unrelated node.
DESCRIPTION OF PREFERRED EMBODIMENTS
Referring to the drawings it will be appreciated that the invention can be implemented in many ways within the scope of this specification. A multi-access protocol according to the invention can be implemented within a range of standards such as IEEE 802.11, for example. Other aspects of wireless networks, packet radio
and other existing systems which are involved will be appreciated by skilled readers and need not be described in detail.
Figure 1 shows an ad-hoc radio network 10 having various mobile stations MS and fixed stations FS that communicate in a loose and varying configuration. Stations in a network are also commonly referred to as nodes. No one station is necessarily aware of all the others and is only able to communicate directly with a relatively small number of other stations that are within a local transmission and reception range, often said to be within one hop. Each station is typically but not necessarily a packet radio, sometimes referred to as an Internet radio, which forms a node in the network. They generally transmit and receive both real time and non real time data using packet protocols such as TCPΛP (Transmission Control Protocol Internet Protocol). There are several sub-networks 11, 12, 13 within the network, each having various characteristics, and may or may not include a fixed station FS. One primary purpose of a fixed station is to enable connection of network 10 to other networks which may or may not implement all of the same protocols. Station 15 enables connection to a wired network 16 with host computers in this example, while stations 17 enable connection to the Internet through a wired network 18 with a router.
The stations in Figure 1 form a network within which communication occurs using broadcast or multi-access channels, rather than point-to-point connections. The channels may operate with slotted time by which transmission must occur in discrete slots, or continuous time by which -transmissions can begin at any instant. A slot- typically contains 0, 1 or more frames or packets of data. There are usually no central stations or base stations which cany out dedicated MAC management functions, and no control channels over which stations can send external signals for management of their transmissions. All stations are usually peers, being equivalent in terms of hardware, although software may assign them different priorities, and some may implement additional software that enables bridging to other networks. The hardware involves known transceiver technology. Stations may operate with or without carrier sense capability that enables them to determine whether or not the channel is currenuy busy, within their local network environment. A collision occurs when two or more frames overlap in their times of transmission on the channel and
the resulting signal is garbled. All stations can detect collisions, usually by monitoring power levels and error rates on the channel. A collided frame must generally be transmitted again later, according to one of several protocols. However, all stations can make reservations of bandwidth on the channel to prevent collisions if required. Reservations are generally handled in the MAC sub-layer of the operating system at each node.
Figure 2 indicates four nodes A, B, C, D having a simple spatial arrangement in a radio network. Each node is shown with a simple circular range for transmission and reception of signals to and from other nodes, although in practice the transmission and reception ranges of any node will be different and irregular in shape. There are two pairs of nodes A/B and C D, each having a sender node and a receiver node, although again in practice, the relationships are more complex because each node that sends data to another will also generally receive acknowledgements from the other, so that both are acting as a sender and receiver to some extent. In this simple example, it can be seen that nodes B and D are within range of A, being able to transmit to A and receive from A, while nodes A and C are within range of node D, being able to transmit to D and receive from D. Nodes that are sending and receiving data may be called a Sender End Point (SEP) and a Receiver End Point (REP) respectively, having sender status or receiver status, while recognising that each has relatively lesser functions of the other kind. It is also assumed for present purposes that the nodes are simplex rather than duplex transmitters and receivers, so that only a single one-way channel is available between them at any time. The discussion may be generalised to duplex systems having a- two-way interaction, perhaps though a pair of linked channels, as required.
There are four possible combinations of transmission and reception for the pairs of nodes in Figure 2, namely I and II in which the two geographically closest nodes A and D are either both SEP or both REP, and III and IV in which either one is SEP while the other is REP. For each combination the nature of the communication within each pair is indicated by an arrow, with the REP and SEP being at head and tail of each arrow respectively. In general terms, using a single channel, transmission of signals by A will collide with reception of signals at D sent by C, and vice versa, so that operation in accord with combinations I and II is more likely to be successful
than operation in accord with combinations III and IV. Two general rules are required for successful operation of the network medium without collisions. Firstly, that a node can assume sender status and begin transmission to another node, so long as there are no other nearby nodes with receiver status that would be disrupted by the transmission. Secondly, a node can assume receiver status and indicate an ability to receive transmissions from another node, so long as there are no other nearby nodes with sender status that would disrupt the reception. A reservation system will generally be required to implement these rules and to ensure that the bandwidth of the channel is used effectively and that QOS can be maintained. Collisions may still occur but should also be resolved by actions within the system.
Figure 3 indicates a reservation system on a multi-access channel, represented as two intervals RI and R2 that repeat with a period POR. The system in this example is said to have two separate reservations within which the sender node has sole access to the channel for transmission of data to a receiver node. Outside the reservations all nodes may attempt transmissions to the sender or receiver, or to other nodes, and collisions may occur. The reservations are therefore contention free intervals surrounded by contention intervals that run for the remainder of the period. There may be any number of intervals of either kind. An intending sender observes any existing reservations that may be underway in the local network environment, and makes an initial determination of a reservation in accord with its anticipated need to transmit data, such as real time data for a video communication. Negotiation then takes place with the intended receiver according to needs of the receiver in relation to its own transmissions and network environment. General rules are observed as mentioned above. The sender and receiver nodes eventually agree and begin data transfer, having announced their reservation on the network. Announcements regarding requirements of the sender and status of the reservation are made by the sender and preferably confirmed by the receiver in each period. A reservation can be non-periodic, such as a single interval for example.
Various parameters may be associated with a reservation, such as indicated in relation to R2 in Figure 3. These may vary in accord with sender and receiver requirements, and are announced to the network from time to time for observation by other nodes. At any time T the parameters could include the period of the
reservation POR, which may or may not be a network constant without need of announcement, time to end of the period TTEOP, time from start of the reservation TFSOR, time to end of the reservation TTEOR, and time from end of a last reservation TFEOLR, if any. Where a sender and receiver pair have several reservations underway at once on the same channel, an appropriate combination of parameters representing one, some or all of the reservations may be announced together. The four parameters POR, TTEOP, TFSOR and TTEOR have a simple relationship so that only three need be known or announced to allow deduction of the other. If POR is known a network constant then in general, only two of the parameters need be announced. In any case POR is usually kept constant once a reservation has commenced. The parameter TFEOLR is optionally announced depending on the circumstances.
Figure 4 indicates a preferred pattern of transmission between sender and receiver nodes, that might be used in a reservation forming part of a link between those nodes. Other patterns are of course possible, such as that described in NZ 509242. The sender transmits a portion of data and the receiver transmits an acknowledgement according to known protocols. The pattern also includes at least one reservation announcement RA by each node, preceding their respective transmissions of data or acknowledgement, based on their respective understanding of the reservation. The announcements are termed RTS and CTS made by sender and receiver respectively. The pattern is preferably identical in each instance and required to fit integrally within a single slot of a slotted channel, although not necessarily. Each announcement includes various items of information such as the identity of the nodes and their status as sender or receiver, and parameters such as those described above. The sender part of the pattern can be observed by other nodes within reception range of the sender node, including the receiver node, while the receiver part of the pattern can be observed by other nodes within reception range of the receiver, including the sender node. Overall a reservation and announcement system of this kind enables nodes to monitor their local environments and create links with respective reservations, in accord with the general rules stated above, having less risk of collision with existing links.
Figure 5 schematically shows three nodes A, B, C having various reservations and links, generally all using the same channel, byway of example. Node B communicates simultaneously with nodes A and C, using three links overall, each with one or more reservations. Link 1 was set up by node A which provides the SEP in two separate reservations RI and R2. The capacity of two reservations may be required to meet the current data rate, with a single reservation of the same capacity not being available due to other network conditions at either node. Link 2 was set up by node B which forms the SEP for transfer of data to node A and involves a single reservation R3. Link 3 was set up by node C involving the SEP for a single reservation R4. Nodes A and C may lie within each others transmit and/or receive range in which case all four reservations would be interleaved to avoid collisions at any of the three nodes. Each node is aware of reservations held by the others by way of an announcement system. Announcements enable nodes to claim sufficient bandwidth in the network medium for their own needs. A node forming a SEP can thereby generally ensure that its transmissions of data do not disturb another node, and that its reception of acknowledgements is not disturbed by other transmissions. A node forming a REP can also generally ensure that its reception of data is not disturbed by transmissions of other nodes, and that its acknowledgements do not disturb other nodes.
Figure 6 shows a node A in communication with another node B, having a network environment including nodes B, C, D, R, T. The transmit and receive ranges of node A are shown in a simple circular form having a common radius, although in practice the ranges would be irregular and different. A and B are sender and receiver nodes respectively. G and D -are- receiver nodes- in relation to sender nodes E- and -F respectively. R and T are sender nodes in relation to receiver nodes S and U respectively. E, F, S, U are not in either of the transmit or receive ranges of A, although information regarding their communications is available to A through announcements made by D, C, R and T. All nodes use the same channel for their communications but have reserved different portions of the bandwidth that the channel represents. In this case the channel provides slots rather than continuous opportunities for communication and each reservation involves an integral number of slots.
Figure 7 shows a simple table held at node A containing information about the network environment at A, derived by observations of announcements made by the nodes within the circular range of Figure 6. In this example reservations have been made in terms of a period having 10 slots. The CTS columns represent reservations announced by receiver nodes B, C, D, with B being included as expected from the communication with A. Slots 1 to 4 have been reserved by A and B, slots 7 and 8 by E and C, and slot 10 by F and D. Node B is outside transmission ranges of E and R but not necessarily that of F. By virtue of appropriate reservations node F is nevertheless able to transmit to D without colliding with transmissions between A and B. Column RTS2 represents a reservation announced by sender node R. Column RTS3 represents reservations announced by sender node T. The reservations held by nodes R and T happen to share slot 3, made possible because R and T have no portion of their respective environments in common and neither interacts directly with A. Slot 2 is shared by A and T, slot 4 by A and R, slot 8 by E and T, and so on. Various table structures may be required to represent various environments, and other entirely different ways of representing the information might be used.
Figure 8 indicates transfer of data between the nodes in Figure 6, in accord with their respective reservations over a single period. Links to observed receiver nodes in the environment of A are terminated at receiver endpoints in their respective nodes. Those links from observed sender nodes in the environment of A are originated at sender endpoints in their respective nodes. In addition, node A contains its own sender endpoint. Sender and receiver endpoints of links are shown side by side in a way derived directly from the table- in Figure 7. Figure 9 indicates how the transmissions in slot 3 are enabled by common use of the preferred pattern from Figure 4. The sender transmissions by A, R, T each involve an RTS announcement followed by data. The receiver transmissions by B, S, U each involve a CTS announcement followed by an acknowledgement. The transmissions are all synchronised on the slotted channel so that even though R and T are within the environment of A, all are transmitting simultaneously and there are no collisions. Similarly all are receiving simultaneously their acknowledgements from B, S and U without collision. The receive range of R does not include B. Each reservation includes sufficient bandwidth, by ay of a sufficient number of slots.
Figures 10, 11 and 12 indicate possible variations in an existing reservation, with the head and tail of the reservation placed to the left and right respectively. Possible methods for implementing the variations in the MAC sub-layer of the operating system at a node are outlined in Figures 14 and 15. Information received by a node in a new reservation announcement is compared with information previously stored in relation to the local network environment, perhaps recorded in a table such as shown in Figure 7, for example. The node compares values for one or more of the parameters that have been provided in relation to the particular reservation and updates the recorded information as required. In general, new information for the parameters TFSOR, TTEOR and TFEOLR will be compared with previous information recorded from an earlier announcement, indicated here as TFSOR Λ , TTEOR Λ , TFEOLR^ respectively. A positive or negative difference dR between a new and recorded value is used to determine a change or a proposed change in the particular reservation. If dR is zero then there is no difference between the new and recorded values, indicating that the reservation has not changed or there is no proposal for change.
Figure 10 indicates two possibilities for the comparison of values for the time-from- start-of-reservation, affecting the head. Where dR = TFSOR - TFSOR Λ > 0 the reservation is to be extended as indicated by "+". Where dR < 0 the reservation is to be reduced as indicated by "-". Figure 11 indicates two possibilities for the comparison of values for the time-to-end-of-reservation, affecting the tail. Where dR = TTEOR - TTEOR ~ > 0 the reservation is to be extended by "+". Where dR < 0 the reservation is to be- reduced by "-".--Figure 12 indicates two possibilities for comparison of the values for the time-from-end-of-last-reservation, affecting the tail of the next previous reservation RI, if any. Where dR = TFEOLR - TFEOLR Λ > 0 the tail of RI is extended. Where dR < 0 the tail of RI is reduced. In each of these examples, the change may be observed by one node in relation to a pair of others, such as by A or B in relation to D and F in Figure 6, or may represent part of a negotiation between a sender node and a receiver node that are currently in communication, such as A and B themselves.
Figure 13 outlines how the MAC sub-layer in a sender or receiver node determines a change to a reservation as part of a link to another node. A request for the change
is received either from a higher sub-layer, typically the link layer control, or from the peer node, in step 130. The node may be commencing a new link for example, or require more or less bandwidth in an existing link, or may be responding to a collision. The MAC accesses and reviews recorded information regarding the environment in step 131 and determines whether the request can be met in step 132. If not, then the request is denied in step 133 and further action takes place in the higher layer. If so, a change is proposed in step 134. The information for an RA is then prepared in step 135, including proposed values for TFSOR, TTEOR and TFEOLR, for example. The RA is transmitted to the other node in step 136, generally with or without associated data, depending on whether the node is negotiating a new reservation or varying an existing reservation. The transmission pattern must generally satisfy an existing format where required to fit a slot, for example. The pattern may also adopt a variable format to suit the circumstances so long as all nodes in the network are able to determine the format in each transmission, and carry out any necessary actions for synchronisation. A response from the other node is received by way of a respective RA in step 137. Whether or not the information contained in the incoming RA matches that of the proposal is determined in step 138. If the values of the parameters match, then the change is considered to be agreed and the recorded information is updated in step 139- An indication that the initial request has been accepted is made to the higher layer in step 140. If there is a mismatch between one or more parameters, then the incoming RA represents a counterproposal and the change is returned to step 131 for further review.
Figures 14 and 15 outline procedures for updating the information that has been recorded by a node in relation to its local network environment. They may be understood in view of Figures 10, 11, 12, 13 and are generally self explanatory. Figure 14 represents the process at one or other node in link after or during a negotiation for a change to a reservation. The reservation is changed according to comparisons between values of the parameters with the difference and the change to the representation being represented by dR. An RA is received from "node x" being the other node in the link, either sender or receiver. Figure 14 may represent the process in step 139 of Figure 13, for example. Figure 15 represents the process at a node which is simply observing changes to a link between other nearby nodes,
and updating its network information. An RA is received from either one of "nodes x y" being the two nodes at each end of the link.