[go: up one dir, main page]

HK1066352B - Channel access method for powerline carrier based media access control protocol - Google Patents

Channel access method for powerline carrier based media access control protocol Download PDF

Info

Publication number
HK1066352B
HK1066352B HK04109105.9A HK04109105A HK1066352B HK 1066352 B HK1066352 B HK 1066352B HK 04109105 A HK04109105 A HK 04109105A HK 1066352 B HK1066352 B HK 1066352B
Authority
HK
Hong Kong
Prior art keywords
signal
transmission
time
channel
station
Prior art date
Application number
HK04109105.9A
Other languages
Chinese (zh)
Other versions
HK1066352A1 (en
Inventor
Dan Raphaeli
Mordechai Mushkin
Ronen Gazit
Yael Kacen
Amir Erez
Original Assignee
Itran Communications Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/883,589 external-priority patent/US7570656B2/en
Application filed by Itran Communications Ltd. filed Critical Itran Communications Ltd.
Publication of HK1066352A1 publication Critical patent/HK1066352A1/en
Publication of HK1066352B publication Critical patent/HK1066352B/en

Links

Description

Channel access method for power line carrier-based medium access control protocol
Technical Field
The present invention relates to a data communication system, and more particularly, to a channel access method for a power line carrier based Medium Access Control (MAC) protocol.
Background
In recent years, the entire world has witnessed an explosive increase in demand for various types of communications and it can be predicted that such demand will increase in the future. Power Line Carriers (PLCs) are expected to play a major role in providing communications in the home, SOHO, and enterprise business environments. One of the main advantages of using PLC communication is that communication can be done over existing power supply lines. Networks running on traditional LAN cables require installation of copper wires or optical cables, which typically takes a lot of manpower and material resources. However, because the PLC network uses existing power lines within the building, the PLC network does not require any special cable installations.
In addition, there is an increasing trend in the electrical equipment industry to enable previously independent electrical equipment, such as sensors and lighting control devices, to communicate with each other over some type of communication network. Previously, sensors, switches and control devices communicated using point-to-point connections. Today, manufacturers are installing communication devices into these devices so that they can communicate over some type of shared medium constructed as one or more Local Area Networks (LANs). There are various systems commercially available today that manufacturers of electrical devices can integrate into their products so that the devices can communicate over a network. One convenient medium over which these devices communicate is the power line, since most devices are already connected to the power line system in order to draw power.
One such communication system is the CEBus system, which was originally developed by the Intellon corporation and has been established as the EIA standard, referred to as the EIA600 standard. A second well known communication system is the LonWorks system developed and commercialized by Echelon corporation. Both the CEBus and LonWorks systems specify physical and link layer devices that communicate over a variety of different media, including power line carriers, coaxial cables, fiber optic cables, Radio Frequency (RF), Infrared (IR), and twisted pair cables.
The common ISO OSI communication model specifies a 7-layer communication protocol stack, including a physical layer, a link layer or Medium Access Control (MAC) layer, a network layer, a transport layer, a session layer, a presentation layer, and an application layer. The main role of the MAC layer and associated protocols is to provide an efficient way of accessing the physical channel, which in this example is the power line. While providing basic channel access, the MAC protocol also desirably provides (1) efficient and reliable host packet and session transport for different kinds of possible connections, including unicast, multicast and broadcast; (2) an active addressing scheme for stations connected to the network; (3) a repeater function for a large network with a wide site distribution, and (4) a quality of service function.
The main function of any MAC protocol is to provide an efficient channel access method that enables efficient and reliable host packet transmission for different kinds of possible connections, such as unicast, multicast and broadcast connections.
One channel access scheme that is currently in widespread use is known as Carrier Sense Multiple Access (CSMA), which is used in ethernet LANs (IEEE standard 802.3). A more recent scheme is carrier sense multiple access with collision avoidance (CSMA/CA), which is used in wireless LANs (IEEE standard 802.11). They are typically used in networks that include a shared medium, whereby multiple nodes can access the same medium at the same time. The medium may be any physical medium that can be shared by multiple nodes at the same time, for example: cable, Radio Frequency (RF), power line, etc.
Characteristics of power line network
Figure 1 shows an example of a shared network. The network, generally designated 10, includes a plurality of communication nodes 12 (nodes a through F) connected to a common physical medium 14. An example of a shared medium is the ac power wiring network found in homes, offices, and businesses. In a residential environment, groups of adjacent households are connected together by outdoor wiring, which forms a large common medium. The signals are propagated over a wide area due to the inductive coupling between each other, which in some cases allows a signal transmitted in one phase to be induced into the other phase. Note that the power line medium is shared until the transformer is reached, where the signal can propagate out without the use of a signal coupler due to low inductive coupling.
Shared media, such as power lines, are often characterized by a wide variety of different signal propagation conditions. The stations on the same logical network may not be able to communicate freely with each other, which creates the problem of hidden nodes, whereby parts of the medium are not visible to other parts.
Another feature of power line based networks is that stations on different logical networks can share the same physical network. In many cases, a home, business, or other building includes more than one communication network. Each communication network may comprise a plurality of nodes, each network comprising at least two nodes. All nodes on the same network perform the same communication technology and can communicate with each other, thus allowing mutual cooperation (assuming that the propagation conditions on said medium allow communication). Nodes from different networks can perform different communication technologies, in which case they cannot communicate with each other. In addition, the propagation characteristics of a shared medium (such as a power line net) can have large variations and irregularities. This results in large attenuation variations over the communication path between two given nodes.
Because the power grids of adjacent households are physically connected together by a power transmission network, the common medium in fig. 1 may refer to the power line network of a single household or the power line networks of several adjacent households (such as several apartments in a building).
Thus, the entire physical network is huge, may comprise a large number of residences or businesses, and cannot be divided into small logical units, such as a single residence. This is generally because adjacent households are wired so that many homes or businesses in the same area are electrically connected to the same phase of the utility line.
Another characteristic of power line networks is that the channel attenuation may be non-uniform, for example the attenuation in the opposite direction of signal propagation may be different. In other words, the impedance seen by the stations on both ends of the transmission is different. This may create power mismatch or other problems in the transmission and reception process.
Yet another feature of power line networks is that they are ad hoc in nature, meaning that stations can join or leave the network at any time. In this type of network, there is no system administrator or installer present in other well-controlled networks, such as telecommunications carrier Wide Area Networks (WANs), corporate networks, and the like. No calibration measurements are made in such a network and each end user purchases and installs the device independently of, and without knowledge of, the other users of the network.
Power line channels are also characterized by significant noise and unreliability, which makes power lines a very difficult medium in which to communicate at high speeds and over long distances despite the recent advent of advanced modulation schemes employing various forms of frequency-wide technology. At any time, any number of noise-producing devices may be present on the network, such as incandescent light dimmers, fluorescent light dimmers, or other electrical devices that utilize noise-producing semiconductor switching elements, such as triacs, Silicon Controlled Rectifiers (SCRs), diacs, and the like. Other noise-producing devices include electric motors in electric drills, compressors, etc.
Conventional Medium Access Control (MAC) protocol
Some conventional MAC protocol techniques are explained below. Because the power line is a distributed environment, only the distributed protocols and methods are illustrated.
There are a number of known channel access techniques. Most of these methods can be classified into the following two categories: (1) central control and (2) distributed control. In central control, a single station, called the channel master, controls all access to the channel and allocates channel access to stations in the network. In distributed control, all stations can contend for the channel, as long as the access rules set forth in a particular MAC protocol are adhered to.
Some distributed channel access techniques take the form of a back-off mechanism whereby stations that sense that the channel is busy back off and try to transmit at a later time. The time of backoff is selected by a random number of time slots, where each time slot represents a time at which a signal present on the channel is detected with a high probability. This is typically a relatively long time and increases the overhead of the protocol.
MAC protocols also employ some type of site addressing in the network to uniquely identify the site. Typically, a6 byte MAC address is used for this purpose. The MAC address is used within the channel contention packet and it constitutes a large fraction of the packet size. For example, a basic channel contention packet must contain at least a source MAC address (6 bytes) and a destination MAC address (6 bytes). In some MAC control packets, such as channel contention packets, the MAC address may constitute more than 90% of the packet content. Because the channel contention packets are the packets most likely to collide on the channel, they are frequently retransmitted. These transmissions and retransmissions constitute a large portion of all MAC layer overhead.
A broadcast transmission is a transmission that is sent out by a single station and is destined for all stations in the network. In a network where all stations in the logical network can interconnect with all other stations, it is sufficient to use a single broadcast transmission in order for all stations to receive the transmission. However, if this is not the case and all stations are required to receive the broadcast transmission, then more sophisticated broadcast transmission techniques must be used. Such a transmission method is commonly referred to as flooding and is based on repeating the transmission of an initial broadcast transmission by many stations (possibly all stations) on the network.
However, if the physical network comprising multiple logical networks is very large, simple flooding will cause the initial transmission to be sent unnecessarily a very large number of times, which will cause congestion in the entire physical network. By reserving some logical networks and letting only stations within the same logical network repeat the initial transmission, it is possible to reduce the number of such transmissions. A disadvantage of this approach is that different logical networks must be defined in the MAC layer, which is not a practical requirement in some applications.
A multicast transmission is sent by a single station to a predetermined group of stations. Most multicast transmission methods do not support acknowledgment of multicast transmissions because of the complexity of managing acknowledgments from numerous sites. One solution is to have a single site that will return an acknowledgement. This single acknowledgement may be used to ensure, in part, that the multicast transmission does not collide on the channel. It cannot ensure, however, that all stations in the multicast group have correctly received the transmission. Thus, there is a need for a MAC protocol that supports acknowledgements from all stations within a multicast group, even under poor channel conditions.
The MAC protocol should also support different kinds of services. The services can be divided into: (1) real-time traffic, which is traffic that is sensitive to transmission time, where the traffic is actually lost and can be discarded if the transmission is not completed within a given period, and (2) non-real-time traffic, which is almost insensitive to transmission time, where the transmission can be completed within any given period of time after the request from the host.
The MAC layer is responsible for providing adequate service to the upper layer protocols, which means that high priority traffic must be given preferential access to the channel over low priority traffic. One requirement of the MAC protocol is to provide some type of channel access priority over the backoff algorithm. The use of successive backoff periods will take into account channel access priorities on a per traffic type basis. One disadvantage of this is that it will require a large backoff period, whereby each priority level requires the same calculated backoff size for the entire network, since it is not known how many stations transmit at a given priority at any given time. Such a large backoff period would significantly increase the overhead of the MAC layer.
The MAC layer should provide some form of repeater capability when not all stations in a logical network are able to communicate with all other stations within the same logical network. This requires that the stations in the network act as intermediate stations between the source and destination stations. A problem arises in selecting an appropriate site with which both the source and destination sites can communicate. Since the network conditions are always changing, the network conditions are not known in advance, and it is therefore difficult to make such a selection. In addition, in ad hoc networks, such as power line networks, there is no knowledge of the sites that are online at any given moment in the network, and therefore, it is almost impossible to manage such information.
The MAC protocol should also be able to handle the transmission of at least packets as large as 1500 bytes (corresponding to the size of the largest ethernet frame) and as small as 64 bytes (corresponding to the size of the smallest ethernet frame) or even smaller.
Once the channel is acquired, the simple MAC protocol will transmit the entire packet in a single transmission. This has the disadvantage that it may take a very long time to complete the transmission of a large packet, thus causing real-time traffic to be delayed and eventually dropped. Therefore, there is a need for a MAC protocol that allows the original packet to be fragmented into smaller portions, transmitted one fragment at a time, between each fragment the channel should be released and will allow other stations that may have real-time traffic to transmit.
On the other hand, small size packets will greatly increase the overhead of the MAC layer, since the overhead of the header and the overhead of contention are fixed and do not depend on the size of the packet. It is therefore desirable to be able to support large packet fragmentation and small packet accumulation, which allows for efficient transmission of data.
Summary of The Invention
The present invention is a new and useful Medium Access Control (MAC) protocol intended for use over noisy shared medium channels. The MAC protocol of the present invention is particularly suitable for power line based communication systems, but it can also be used in other media, such as wireless, infrared, twisted pair, etc., and in other applications, such as network access. The MAC protocol is suitable for communication over power lines in different environments, including homes, offices, businesses, factories, etc. The MAC protocol provides an efficient channel access mechanism that enables efficient and reliable packet transmission for any kind of connection, i.e. unicast, broadcast and multicast.
When using the MAC protocol to provide communication services over a network utilizing a shared medium, the MAC protocol provides several advantages over prior art protocols by incorporating the following capabilities: (1) an efficient fallback mechanism for CSMA/CA channel access, (2) efficient and compact link addressing that can reduce the overhead of long MAC addresses, (3) a controlled risk (controlled exposure) flooding scheme for broadcast transmissions, (4) multicast transmissions with selective ACKs, (5) implementation of traffic prioritization with adaptive fallback scheme, (6) providing second layer forwarder setup procedures, and (7) multi-packet transmission for short partitions and segmented transmission for long partitions.
The MAC protocol includes mechanisms that reflect the special nature and unique requirements of the power line carrier medium, including means for significantly improving the quality of service and throughput of the PLC channel. The MAC protocol of the present invention includes elements and features including access mechanisms including CSMA/CA techniques using RTS/CTS mechanisms, physical and virtual carrier sense functions to ensure a minimum number of collisions on the channel and acquisition of the channel by the transmitting and receiving stations.
The protocol also includes frame and packet transmission including support for sending a single ethernet packet in one burst, support for short packet transmission without RTS/CTS mechanism, support for PLC based broadcast and multicast transmissions, discarding packets that are out of time, frame transmission and ARQ and partial ARQ for broadcast and multicast frames, and support for second layer repeater mechanisms.
The protocol also includes quality of service (QoS) characteristics including multiple priority levels, a limit on the maximum time for channel acquisition, multiple contention windows based on priority levels, and a contention-free period that allows stations to control a channel for an extended period.
The management features include logical network definition implemented by network key distribution, using dedicated 16-bit link address addressing instead of two 48-bit source and destination MAC address addressing, supporting adaptation of rate and power according to the quality of the channel, and providing link status updates by the PHY and MAC layers.
It should be noted that many aspects of the present invention can be constructed in the following forms: a software object executed as firmware in an embedded device, a software object executed as part of a software application on a computer system running an operating system such as Windows, UNIX, LINUX, etc., an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or a functionally equivalent discrete hardware component.
Thus according to one aspect of the present invention there is provided a method of accessing a channel in a network for use in a communications transceiver connected to the network, the transceiver being adapted to provide a carrier sense signal comprising a fast carrier sense, FCD, signal generated at a relatively short time after the start of transmission compared to a carrier sense, CD, signal, the fast carrier sense signal having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal being generated after the fast carrier sense signal and indicating with a high probability that transmission is starting, the method comprising the steps of: establishing a channel contention period after the termination of the current transmission session, said channel contention period being divided into a plurality of time slots, each time slot having a width substantially equal to the time of said FCD signal; initializing a back-off counter with a back-off value equal to a random number of time slots; decreasing said back-off counter when said channel is idle; when receiving the FCD signal, pausing the back-off counter; when no CD signal arrives in the CD time, continuously reducing the back-off counter; when receiving CD signal, postponing transmission to next competition period; and starting transmission when said back-off counter expires.
According to a further aspect of the present invention there is provided a method of accessing a channel in a communications transceiver connected to a communications channel, the method comprising the steps of: establishing one or more contention windows after termination of a current transmission session, assigning a priority to each contention window, and subdividing each contention window into a plurality of backoff slots, wherein the width of each backoff slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating that transmission is starting with a higher probability; deferring 0 or more contention windows until a contention window having a priority corresponding to the priority of the particular transmission arrives; initializing a backoff counter using a backoff value equal to a random number of backoff slots; decreasing said back-off counter when said channel is idle; and attempting to reserve said channel after expiration of said backoff counter.
According to a further aspect of the present invention there is provided a carrier sense multiple access, CSMA, based communication system in which transmission is preceded by a contention phase during which one or more transmitters contend for access to a channel, the system comprising: means for establishing one or more contention windows, each contention window being assigned a priority; means for dividing each contention window into a plurality of backoff slots, wherein detection of a carrier sense signal during a slot potentially indicates that the channel is busy and the width of each backoff slot is substantially equal to the time of a fast carrier detect FCD signal generated at a relatively short time after the start of transmission compared to a carrier detect CD signal, the fast carrier detect signal having a high false alarm rate and indicating that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating that transmission is starting with a high probability; backoff means adapted to count a randomly selected backoff time equal to a plurality of said backoff slots using a backoff counter; and reservation means adapted to attempt to reserve said channel after expiry of said backoff counter and to enable transmission after successful reservation of said channel.
According to a further aspect of the present invention there is provided a communications transceiver for transmitting and receiving on a carrier sense multiple access, CSMA, frame based communications network, wherein the transmission of frames is separated by contention frame gaps, CIFS, during which one or more nodes contend for access to the network, the transceiver comprising: a coupling circuit for generating a received signal received on said network and for outputting a transmitted signal onto said network; the transmitter is adapted to modulate data to be transmitted in accordance with a modulation scheme to produce said transmission signal therefrom; the receiver is adapted to demodulate said received signal in accordance with said modulation scheme to produce therefrom a received data signal and to generate a carrier sense signal comprising a fast carrier detect FCD generated at a relatively short time after the start of transmission compared to a carrier detect CD signal, having a high false alarm rate and indicating that transmission may be starting, and said CD signal generated after said fast carrier detect signal, having a low false alarm rate and indicating that transmission is starting; medium access control, MAC, said medium access control comprising means adapted to: establishing one or more contention windows after termination of a current transmission session, each contention window being assigned a priority and being subdivided into a plurality of backoff slots, wherein a width of each backoff slot is substantially equal to a time of the FCD signal; deferring 0 or more contention windows until a contention window having a priority corresponding to a particular transmitted priority arrives; initializing a backoff counter with backoff values equal to a random number of backoff slots; decreasing said back-off counter when a channel for access to said network is idle; attempting to reserve said channel after said backoff counter has expired; when the channel is reserved successfully, the channel is sent to the channel; and a processor adapted to control the operation of said transmitter, receiver and MAC and to provide an interface between said MAC and an external host.
According to a further aspect of the present invention there is provided a method of accessing a communications channel in a network comprising a plurality of stations, the method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; assigning a different priority to each of said one or more contention windows; initializing a back-off counter with a back-off value equal to a random number of back-off time slots, wherein each back-off time slot has a width substantially equal to the time of a fast carrier sense (FCD) signal generated at a relatively short time after the start of transmission compared to a carrier sense (CD) signal, the fast carrier sense signal having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal being generated after the fast carrier sense signal and indicating with a high probability that transmission is starting; waiting until a contention window corresponding to a priority level of transmission by a specific station arrives, and decreasing the back-off counter when the communication channel is idle after the contention window arrives; and attempting to reserve said communication channel upon expiration of said backoff counter.
According to a further aspect of the present invention there is provided a method of accessing a communications channel in a network comprising a plurality of stations, the method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; assigning a priority to each of the one or more contention windows; initializing a back-off counter with a back-off value equal to a random number of back-off time slots, wherein each back-off time slot has a width substantially equal to the time of a fast carrier sense (FCD) signal generated at a relatively short time after the start of transmission compared to a carrier sense (CD) signal, the fast carrier sense signal having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal being generated after the fast carrier sense signal and indicating with a high probability that transmission is starting; waiting until the arrival of a contention window having a priority corresponding to the priority of transmission by a particular station, and when the contention window arrives and the communication channel is idle, decrementing the back-off counter; attempting to reserve said channel after said backoff counter has expired; and adjusting the size of the contention window as a function of the number of stations contending for the communication channel within the contention window.
According to a further aspect of the present invention there is provided a method of accessing a communications channel in a network comprising a plurality of stations, the method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting; estimating the number of stations in the network as a function of the size of the current contention window and a time t from the moment a station is allowed to transmit until the actual time a station starts transmitting; adjusting the size of each of said one or more contention windows as a function of the estimated number of stations in said network; and each station deferring attempts to reserve the communication channel until the contention window associated with a particular transmission arrives.
According to a further aspect of the present invention, there is provided a method of accessing a communication channel in a power line carrier based network including a plurality of stations, the method including the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting; assigning a different priority to each of said one or more contention windows; each station monitors the communication channel to see whether carrier signals exist; each station which wants to send selects random back-off time; each station waits until a contention window arrives, whose associated priority corresponds to the priority of transmission by the particular station; waiting for a random backoff time within the contention window having the matched priority; attempting to reserve said communication channel after said backoff time has expired; and suspending the inverse of said backoff time if the presence of a carrier signal is detected.
According to a further aspect of the present invention, there is provided a method of accessing a communication channel in a network comprising a plurality of stations, the method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting; initializing a backoff counter with backoff values equal to a random number of backoff slots; waiting until the arrival of a contention window corresponding to a particular transmission and, when it arrives, decrementing said backoff counter when said communication channel is idle; attempting to reserve said channel after said backoff counter has expired; declaring the existence of a hidden station after a predetermined number of failed reservation attempts for the communication channel; and thereby increasing the width of said backoff slot and repeating said initialization step, waiting and attempting to reserve said communication channel.
According to a further aspect of the present invention there is provided a method of accessing a communications channel in a network comprising a plurality of stations, the method comprising the steps of: segmenting a transmission session into a plurality of frames; establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting; initializing a backoff counter with backoff values equal to a random number of backoff slots; waiting until the arrival of a contention window corresponding to a particular transmission and, when it arrives, decrementing said backoff counter when said communication channel is idle; when said backoff counter expires, attempting to reserve said channel for a time sufficient to transmit said plurality of frames; transmitting the plurality of frames from the transmitting station to the receiving station; and the receiving station sends an ACK response to the sending station, the ACK response including a plurality of ACK bits, each ACK bit indicating whether to resend one of the frames.
According to a further aspect of the present invention there is provided a method of accessing a communications channel in a network comprising a plurality of stations, the method comprising the steps of: estimating the number of stations in said communication network according to:where the expected value of t is:and where CW represents the width of one or more contention windows, within which each station randomly selects a backoff time slot, N is the number of stations contending for the channel at any given time, t is the actual time from the time a station is allowed to transmit until the time a station begins transmitting, and E [ t]Is a desired value of t, each contention window comprising a plurality of backoff slots, wherein the width of each backoff slot is substantially equal to the time of a fast carrier detect FCD signal generated at a relatively short time after the start of transmission compared to a carrier detect CD signal, the fast carrier detect signal having a high false alarm rate and indicating that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating that transmission is starting with a high probability.
Thus, according to the present invention, there is provided a method of accessing a channel in a communication transceiver connected to a communication channel, said transceiver being adapted to provide a carrier sense signal comprising a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission, said FCD having a high false alarm rate and indicating that transmission may be starting, and a Carrier Detect (CD) signal generated at a relatively long time after the start of transmission, said CD signal having a low false alarm rate and indicating that transmission is starting, said method comprising the steps of: establishing a channel contention period after the termination of the current transmission session, said channel contention period being divided into a plurality of time slots, each time slot having a width substantially equal to the time of the FCD signal, initializing a back-off counter with a back-off value equal to a random number of time slots, decrementing said back-off counter when the medium is idle, suspending said back-off counter after the FCD signal is received, continuing to decrement the back-off counter if no CD signal arrives within a CD time, transmitting a push-off to the next contention period when a CD signal is received, and starting transmission when the back-off counter times out.
According to the present invention there is also provided a method of accessing a channel in a communications transceiver connected to a communications channel, said method comprising the steps of: establishing one or more contention windows after a current transmission session ends, assigning each contention window a priority and being subdivided into a plurality of backoff slots, deferring zero or more contention windows until a contention window arrives having a priority corresponding to the priority of a particular transmission, initializing a backoff counter with a backoff value equal to a random number of backoff slots, decreasing the backoff counter when the medium is idle, and attempting to reserve a channel after the backoff counter times out.
There is also provided in accordance with the present invention a Carrier Sense Multiple Access (CSMA) -based communication system wherein transmission is preceded by a contention phase in which one or more transceivers contend for access to a channel, the one or more transceivers including means for establishing one or more contention windows, means for assigning a priority to each contention window, means for subdividing each contention window into a plurality of backoff slots, wherein a carrier sense signal detected within a slot may indicate that the channel is busy, backoff means adapted to use a backoff counter to count a randomly selected backoff time equal to the plurality of backoff slots, and reservation means adapted to attempt to reserve the channel after a backoff timer expires and to begin transmission after the channel is successfully reserved.
There is also provided in accordance with the present invention a communication transceiver for transmitting and receiving on a Carrier Sense Multiple Access (CSMA) frame based communication network in which transmission of frames is separated by a contention frame gap (CIFS) and one or more nodes contend for access to the network during the CIFS, the transceiver comprising: a coupling circuit for generating a received signal for reception on a network and for sending a transmission signal onto the network; a transmitter adapted to modulate data to be transmitted according to a modulation scheme to produce a transmission signal therefrom; a receiver adapted to demodulate a received signal in accordance with a modulation scheme to produce therefrom a received data signal, the transmitter and receiver further adapted to produce a carrier sense signal, the carrier sense signal comprising a Fast Carrier Detect (FCD) produced at a relatively short time after the start of transmission, having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal further comprising a Carrier Detect (CD) produced at a relatively long time after the start of transmission, having a low false alarm rate and indicating that transmission is starting; a Medium Access Control (MAC), said MAC comprising means adapted to: establishing one or more contention windows after the termination of the current transmission session, assigning a priority to each contention window and subdividing it into a plurality of backoff slots, deferring 0 or more contention windows until a contention window with a priority corresponding to the priority of a particular transmission arrives, initializing a backoff counter with a backoff value equal to a random number of backoff slots, decrementing said backoff counter when the medium is idle, and attempting to reserve the channel after the backoff counter expires, transmitting the reserved channel onto said channel after the reservation of the channel is successful; and a processor adapted to control the operation of the transmitter, receiver, and MAC and to provide an interface between the MAC and an external host.
The present invention also provides a computer readable storage medium having embodied thereon a computer program for causing a suitably programmed system to access a channel in a Carrier Sense Multiple Access (CSMA) frame based communication system in which the transmission of frames is separated by using a contention frame gap (CIFS), during which one or more transmitters contend for access to said channel by performing the following steps when such a program is executed on the system: establishing one or more contention windows after termination of a current transmission session, each contention window being assigned a priority and being subdivided into a plurality of backoff slots; deferring 0 or more contention windows until a contention window arrives whose priority corresponds to that of a particular transmission; initializing a backoff counter with backoff values equal to a random number of backoff slots; decrementing said back-off counter when said medium is idle; attempting to reserve said channel after expiration of said backoff counter, and transmitting to said channel after successful reservation of said channel.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; assigning a different priority to each of said one or more contention windows; initializing a backoff counter with a backoff value equal to a random number of backoff slots; and waits until a contention window corresponding to a priority pair of transmissions by a particular station arrives, and decrements the back-off counter when the medium is idle, and attempts to reserve the communication channel after the back-off counter expires.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; assigning a priority to each of said one or more contention windows; initializing a backoff counter with backoff values equal to a random number of backoff slots; waiting until a contention window with a priority level corresponding to the priority level of transmission of a specific station arrives, and after the contention window arrives, reducing the back-off counter when the medium is idle; attempting to reserve said channel upon expiration of a backoff counter; and adjusting the size of the contention window as a function of the number of stations contending for the communication channel within the contention window.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; estimating the number of stations on the network as a function of the size of the current contention window and the actual time t between the time when a station is allowed to transmit and the start of transmission by a station; adjusting the size of each of said one or more contention windows as a function of an estimate of the number of stations in said network; and each station will defer attempts to reserve the communication channel until a contention window associated with a particular transmission arrives.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: each station generating a virtual carrier sense signal indicating that the communication channel is busy; and sending a message containing the updated reservation counter time onto the network when said virtual carrier sense signal indicates that said communication channel is currently busy and that the station currently reserving said communication channel determines that the reservation counter associated with its session is to be updated.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: detecting one or more sessions established between sites in said network; maintaining a reservation counter in each station for each session detected by a particular station, said reservation counter maintaining a reservation time; periodically decrementing each reservation counter; and said communication channel is considered released when the reservation counter with the largest reservation time expires.
The present invention also provides a method for accessing a communication channel on a power line carrier based network including a plurality of stations, the method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; assigning a different priority to each of said one or more contention windows; each station monitors the communication channel to see whether carrier signals exist; selecting a random back-off time for each station to be transmitted; each station waits until a contention window arrives, whose associated priority corresponds to the priority of the transmission of the particular station; waiting for a random backoff time within the contention window having the matched priority; when the back-off time expires, an attempt is made to reserve the communication channel, and the back-off time is suspended if a carrier signal is detected.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: establishing one or more contention windows within which the stations contend for access to the communication channel; initializing a backoff counter with a backoff value equal to a random number of backoff slots; waiting for the arrival of a contention window corresponding to a particular transmission to be known and, when said medium is idle, decrementing said backoff counter; attempting to reserve said communication channel after said backoff counter has expired; declaring the existence of a hidden station after a predetermined number of failed attempts to reserve the communication channel have been made; and thereby increasing the width of said backoff slot and repeating the steps of initializing, waiting and attempting to reserve said communication channel.
According to the present invention there is also provided a method of accessing a communications channel over a network comprising a plurality of stations, said method comprising the steps of: segmenting a transmission session into a plurality of frames; establishing one or more contention windows within which the stations contend for access to the communication channel; initializing a backoff counter with a backoff value equal to a random number of backoff slots; waiting until the arrival of a contention window corresponding to a particular transmission and, after its arrival, decrementing said back-off counter when said medium is idle; when said backoff counter expires, attempting to reserve said channel for a time sufficient to transmit said plurality of frames; transmitting the plurality of frames from the transmitting station to the receiving station; and the receiving station sends an ACK response to the sending station, the ACK response including a plurality of ACK bits, each ACK bit indicating whether to retransmit one of the frames.
The present invention also provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: estimating the number of sites on a communication network according to
Where the expected value of t is:
where CW represents each of one or more contention windows, each station randomly selects a backoff time slot within CW, N is the number of stations contending for the channel at any given time, t is the actual time from the time the station is allowed to transmit to the time the station begins transmitting, and e (t) is the expected value of t.
The present invention further provides a method of accessing a communication channel over a network comprising a plurality of stations, said method comprising the steps of: sending a message from a sending station to a receiving station; the receiving station sends a confirmation message after receiving the message; when the sending station does not receive the confirmation message, the sending station sends a request confirmation (RA) message to the receiving station; and when the sending station has not received the confirmation message, the sending station repeatedly sends an RA message to the receiving station.
Drawings
The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein:
FIG. 1 is a block diagram illustrating an example communication system including a plurality of stations connected to a shared medium, such as a power line;
fig. 2 is a diagram showing a reference model of a communication protocol stack implemented in each station connected to a network;
FIG. 3 is a diagram illustrating a data flow model of the MAC protocol of the present invention;
fig. 4 is a diagram illustrating a broadcast transmission procedure of a MAC protocol of the present invention;
FIG. 5 is a diagram illustrating a multicast transmission process of the MAC protocol of the present invention;
FIG. 6 is a diagram illustrating the transmission process of Long Session Transport (LST) of the MAC protocol of the present invention;
fig. 7 is a diagram illustrating a transmission procedure of a Short Session Transport (SST) of a MAC protocol of the present invention;
FIG. 8 is a diagram illustrating the fragmentation process of the MAC protocol of the present invention;
FIG. 9 is a diagram illustrating an ACK procedure of a MAC protocol of the present invention;
FIG. 10 is a flow chart illustrating an ACK method of the MAC protocol of the present invention;
FIG. 11 is a flowchart illustrating the portion of the wait for ACK method of the ACK process illustrated in FIG. 10;
FIG. 12 is a flowchart illustrating portions of a request ACK method of the ACK procedure illustrated in FIG. 10;
fig. 13 is a diagram showing a repeater setup procedure of the MAC protocol of the present invention;
FIG. 14 is a flow chart illustrating a source site based forwarder method of the present invention;
FIG. 15 is a flow chart illustrating a transponder-based transponder method of the present invention;
FIG. 16 is a flow chart illustrating the wait for LASR/RSR method of the present invention;
FIG. 17 is a flow chart illustrating a method of waiting for a connection to be established in accordance with the present invention;
FIG. 18 is a diagram showing a contention period divided into a plurality of contention windows having priorities;
FIG. 19 is a diagram illustrating a contention window divided into a plurality of CD and FCD slots in accordance with the present invention;
FIGS. 20A and 20B are flow diagrams illustrating the fallback mechanism of the MAC protocol of the present invention;
FIG. 21 is a diagram illustrating channel overhead time relative to contention window size;
FIG. 22 is a schematic diagram illustrating the RTS/CTS process of the present invention;
FIG. 23 is a flow chart illustrating the RTS method of the present invention;
FIG. 24 is a flow chart illustrating the CTS method of the present invention;
FIG. 25 is a diagram showing a frame gap inserted between transmission sessions;
FIG. 26 is a diagram showing the structure of a control frame;
FIG. 27 is a diagram showing payload structures of RTS, CTS, and RA control frames;
fig. 28 is a diagram showing an ACK frame format;
fig. 29 is a diagram showing a data frame structure;
fig. 30 is a diagram showing the structure of a payload header portion of a data frame;
fig. 31 is a diagram showing the structure of a frame information field of a data frame;
FIG. 32 is a diagram showing a payload structure of a multicasted data frame;
fig. 33 is a flowchart showing a link address allocation method of a transmitting station;
fig. 34 is a flowchart showing a link address allocation method of a receiving station;
fig. 35 is a diagram showing a management frame structure;
fig. 36 is a diagram showing a structure of a header part of a management frame;
fig. 37 is a diagram showing the structure of a management item part in a management frame;
FIG. 38 is a block diagram representing an exemplary station adapted to implement the MAC protocol mechanism of the present invention;
representation and definition
The following notations and definitions apply throughout the document
Detailed Description
The present invention is a Power Line Carrier (PLC) based Medium Access Control (MAC) protocol intended for use over a number of different types of communication systems and channels. The MAC protocol of the present invention is particularly suitable for noisy shared medium channels, such as power line carrier based communication systems. The protocol may also be used in other media such as wireless, infrared, twisted pair peer-to-peer, and in other applications such as network access. The MAC protocol is suitable for communication over power lines in various environments, including homes, offices, businesses, factories, and the like. The MAC protocol provides an efficient channel access mechanism that enables efficient and reliable packet transmission for any type of connection, such as unicast, broadcast, and multicast.
1 description of the function
1.1 architecture
A general description of the architecture of the MAC layer and link layer protocols of the present invention is given below, followed by a more detailed description of the various features and prescribed functionality of the protocols. It should be noted that although the MAC protocol described is illustrated in a power line carrier based network environment, it is not intended to limit the scope of the present invention, and thus one skilled in the art may also apply the principles of the present invention to other types of networks and media.
1.1.1 network reference model
A schematic diagram of a reference model of the communication protocol stack implemented in each station connected to the network is shown in fig. 2. The model includes two communication devices 22, device a and device B. Each device includes a PHY or physical layer 28 connected to a shared medium 20, such as a power line, a link layer 26 provided by the MAC protocol of the present invention and a block representing an upper layer 24 including an application layer. As indicated by the dash-dot lines with double-headed arrows, each different layer in the protocol stack of device a communicates with a corresponding layer in the protocol stack of device B. It should be noted that the upper layers may be implemented (1) in an external host computing device, while the MAC and PHY layers are in a modem device optimized for power line carrier communications, or (2) in the same device as the PHY and MAC layers.
The PHY layer provides a physical interface with the medium, such as an electrical interface with a power line. The MAC layer provides packet transport services to the hosts and serves to transmit data provided by the hosts for communication over the network. The protocol between the host and the MAC provides the specification of the maximum latency and security requirements indicated to the MAC by the host. The MAC provides the received data and reports back to the host the status, e.g., the detection of a link failure event.
1.1.2 data flow
Fig. 3 presents a schematic diagram of a data flow model representing the MAC protocol of the present invention. A data packet 30 to be transmitted is sent from the host to the MAC. The length of the data packet is limited to MaxLength bytes. In operation, a data packet received from a host is divided into a plurality of data segments 32. These data segments are then encapsulated with a header and a Frame Control Sequence (FCS) to form the MAC frame 34. Up to MaxFragNumber frames are combined together to form a session, whereby all frames constituting the session are sequentially transmitted to a receiving station.
1.2 channel Access mechanism
Channel access methods can be divided into two categories: (1) a central control in which a single station, referred to as the channel master, controls all access to the channel and allocates channel access to stations in the network, and (2) a distributed control in which all stations contend for the channel while adhering to the access rules defined in the MAC protocol described herein.
The basic access method of the MAC of the present invention is a distributed access method called carrier sense multiple access with collision avoidance (CSMA/CA) with random backoff. The Carrier Sense (CS) mechanism includes a physical CS performed by the PHY layer and a virtual CS (vcs) performed by the MAC layer. For transmission, the station selects a random backoff interval that is reduced when the medium is idle during the contention window assigned to the frame of the particular priority class to be transmitted. The station decreases its backoff interval only during a contention window assigned to a priority class equal to or less than the priority of the frame waiting to be transmitted. When the back-off timer expires, the transmitting station transmits if the channel is still idle. If the carrier sense mechanism determines that the medium is busy, the transmission is deferred until after the current transmission. The fallback mechanism is explained in more detail in section 6.3 below.
1.3 determining virtual Carrier sensing
All stations on the network implement a virtual carrier sense mechanism in order to improve the reliability of channel access. Virtual carrier sensing is set based on information contained in the received frame. The station uses the information contained in the received frame to calculate the expected busy state of the medium, which is then stored as virtual carrier sense. The virtual carrier sensing is always updated with information from a correctly received control frame (such as RTS, CTS, ACK, RA) or a dedicated data frame. To support multiple transmissions occurring at the same time, each station maintains virtual carrier sensing on a per transmission basis, thereby setting the total virtual carrier sensing to a maximum.
1.4 logical network
Logical networks are subsets of sites that behave as if they were the only independent networks. The definition of the logical network is provided by encryption and network key management. Each logical network has its own network key that serves to separate information belonging to different logical networks. A site may belong to several logical networks.
1.4.1 site addressing
Using a 16-bit Link Address (LA) to define a link between two stations, a near 2 link can be achieved16And (4) a link. The LA is used to identify the transmitter and receiver that are participating in the transmission. The host requests a send from the MAC layer using a 48-bit MAC address. To support 48-bit MAC addresses, the MAC layer creates and maintains a table that represents the mapping between MAC addresses and LA addresses, as described in more detail below in section 8.1.
1.5 packet Transmission
The fractions received by the MAC layer from the host layer are fragmented and combined to form MAC frames and MAC sessions. Segmentation is the process of dividing host packets into smaller data segments, while concatenation is the process of grouping several packets into one session. At the receiving site, each session is torn down and fragmented reassembled to recover the original host packets. The packet is only passed to the host after it has been completely restored.
Management of each host packet is achieved using two parameters: (1) packet timeout, which determines the maximum time for the packet to be effectively transmitted, and (2) priority level. The packet transmission process is described in more detail in section 2 below.
1.6 Session transfer
The MAC protocol is adapted to support two session formats: long Session Transport (LST) format and Short Session Transport (SST) format. A LST type session consists of several data frames that are sent using the RTS/CTS mechanism after the channel is captured. SST-type sessions consist of a single data frame that can be transmitted without previously acquiring a channel. An SST session type can be used if the packet size does not exceed the fragment threshold number of bytes, otherwise an LST type session is used. The transmission time of the session is delimited by the SessionTimeout parameter. Session transfer is described in more detail in section 3 below.
1.7 second layer Transponder
When a source station detects a link failure while communicating or attempting to communicate with its destination, it may transmit a frame to the destination using an intermediate station. The intermediate site acts as a second tier repeater. In operation, the entire session, including the retransmission, is sent to the repeater site, whereupon the data frame is transmitted to the destination site in the new session. A more detailed description of the second layer repeaters and repeater setup procedures is provided in section 4 below.
1.8 broadcast and multicast
The MAC protocol of the present invention is adapted to support broadcast and multicast transmissions with partial ACK or full ACK options. Broadcast and multicast MAC addresses are transmitted using broadcast transmissions, assuming that the upper layers are used to filter the transmissions. The multicast transmission is started by specifically identifying the stations included in the multicast group.
1.9 quality of service
The MAC protocol is adapted to support the use of multiple priority classes that limit the maximum time any station can acquire the channel (e.g., session timeout SessionTimeout parameter). According to the present invention, stations contend for control of a channel during a contention window assigned to a priority class equal to or less than the priority of a frame waiting to be transmitted. The channel contention procedure is performed according to a backoff algorithm, which is described in more detail in section 6 below.
1.10 network synchronization
The MAC protocol also provides a mechanism for network synchronization. The network synchronization scheme described provides better than 8 musec synchronization between adjacent stations in the network. The Synchronization scheme is described in more detail in section 5 below and in U.S. application No. 09/822,939 entitled Distributed Synchronization Mechanism For Shared communication media Based Networks, filed on 3/30 2001, having the same assignee and incorporated herein by reference in its entirety.
1.11 channel detection
The MAC protocol also provides a channel detection mechanism for determining the quality of the link between stations on the network. The station sends out a channel detection request by sending a management frame of the channel detection type. The receiving station replies with a channel sensing response management frame that includes the following parameters:
1. the Channel Quality (CQ) calculated by the PHY layer for the last transmission (i.e., channel detection request).
2. Average channel quality of last StatInterval (AvgCQ).
3. The number of data frames sent in the last StatInterval second (CS _ TxDataCounter), which includes a retransmission.
4. Number of corrupted data frames (CS _ txfail counter) retransmitted in the last StatInterval second.
1.12 statistics Collection
According to the MAC protocol, each station collects internally stored transmission and network statistics. One or more of the following data may be collected and stored: the percentage of failed data frames on each link; the number of data frames transmitted per priority; the number of data frames received per priority; an average channel quality table including an average channel quality for each source; a data rate for transmission to each station; and the transmission power level to each station. In addition, a station may use the management frame to request statistics from any other station, as described in more detail below in section 9.3.2.12.
2 packet transmission
2.1 type of Transmission
The MAC protocol is adapted to support three types of transmissions: unicast, broadcast, and multicast. The following section gives a detailed description of each type of transmission.
2.1.1 unicast Transmission
The host specifies unicast transmissions to the MAC layer by the ethernet MAC address of the destination station. The MAC layer converts the MAC address into a Link Address (LA), and uses the LA in subsequent transmission. Section 8.1 below provides a more detailed description of link address management. The packets are transmitted according to a session transmission procedure, which is described in more detail in section 3.
2.1.2 broadcast transmissions
The broadcast transmission is implemented using a flooding algorithm whereby each station in the network repeats the broadcast transmission. This ensures that each non-orphaned station will receive the transmission. In a network containing a large number of sites and logical networks, the message will propagate throughout the medium. According to the invention, the propagation of the broadcast transmission is controlled to allow the transmission to be confined to only a limited site area. Note that due to the limited range of the transmission signal in the power line carrier shared medium, the network can be seen as a set of overlapping cells.
The concept of using the number of hops required from one station to another enables control of the propagation of broadcast transmissions. Hop count is defined as the minimum number of times a message is transmitted by the source and intermediate stations before the message is considered to have reached the destination station. The following describes the flooding broadcast algorithm of the MAC protocol. This configurable algorithm uses the hop count parameter to limit the retransmission of broadcast messages.
The host specifies the broadcast transmission using an ethernet broadcast MAC address. The MAC address is broadcast using the ethernet as described for the broadcast link address. The broadcast session includes a counter, a Hop To Live (HTL) field indicating the maximum number of times the message was retransmitted, and a unique broadcast ID number (BID) that uniquely identifies the message. The broadcast message also includes the MAC address of the source to allow responses as necessary.
The initial sending station initializes the HTL counter to the maximum value of the number of hops requested. Each station receiving the broadcast message decrements the HTL field by 1 and resends the message if the HTL field is not 0 and the station did not send the message in advance, one station resending the broadcast message only once. The initial transmitting station initializes the HTL field according to a required area in which a message is to be broadcasted. Each station decrements the counter value before retransmitting. The message is retransmitted hop by hop until the HTL field is 0, which ends the retransmission process. For example, an HTL initial value of 1 indicates no retransmission, and an HTL initial value of 2 indicates 1 retransmission is allowed.
The use of the BID field prevents the generation of dead loops, since messages that have been broadcast are always listened to and rebroadcast by the same station. The initial source randomly selects a value of BID from a list of unused BID values. Each time a station receives a broadcast message, it updates the unused BID values in its list. The used BID value is saved as BID _ Timeout before being released and added to the unused list.
Contention for the channel is achieved using an RTS frame with a broadcast link address, which is followed by a broadcast transmission. Each retransmission uses a backoff that is longer than the nominal backoff. The source station uses an RTS frame to acquire the link before initiating the broadcast message. The RTS is sent using a broadcast link address followed by a broadcast message.
Fig. 4 shows a diagram representing the broadcast transmission procedure of the MAC protocol of the present invention for a network with 5 stations. Station 1 sends an initial broadcast session and defines the HTL field according to the expected propagation area of the session. The channel is reserved for the initial transmission of the broadcast packet from station 1 using RTS and BLA LA.
Stations 2 and 3 listen to the initial broadcast session and they retransmit the session only once. Stations 4 and 5 hear the retransmission and they subsequently retransmit the session. Note that each site sends the session only once, regardless of the number of times the session is received from other sites. Each site drops the replicated session.
2.1.3 multicast Transmission with Selective acknowledgement
In accordance with the MAC protocol of the present invention, multicast transmission may be implemented in which a source station may specify which stations in a multicast group are required to acknowledge the message. The source station may select 0 or more stations from the multicast group in any desired combination. The source station designates the station that replies with an ACK, which is done by setting a bit in the message. The message also indicates the order in which the stations reply.
The host specifies the multicast transmission in one of two ways: (1) the ethernet multicast MAC address (0x01:00:5E: xx: xx) is used or (2) a predetermined multicast group is used which defines a plurality of stations (for example 16) belonging to the multicast group. The ethernet multicast MAC address is converted to a broadcast transmission and transmitted as described in section 2.1.2 above.
The predetermined multicast group transmission is processed as follows. Stations use RTS packets to start contention for the channel. The RTS packet is sent using a Multicast Link Address (MLA). The multicast message immediately follows the RTS packet. The multicast message includes the number of stations in the group, the link addresses of the stations, and a bit for each station indicating whether an ACK is required. Each station that is required to send an ACK sends the ACK in the order specified in the address list without backoff or contention. A more detailed description of the multicast frame structure is provided in section 2.1.3 below.
Fig. 5 shows a diagram representing the multicast transmission procedure of the MAC protocol of the present invention for an example network with 5 stations. Station 1 first reserves the channel for the duration of the initial multicast transmission and any required ACKs using RTS/MLA packets. The transmitted multicast message includes the link addresses of stations 2, 3, 4, 5. The message also includes an ACK request bit, which in this example is set to '1011', which indicates that there is an ACK requirement for stations 2, 4 and 5, but no ACK requirement for station 3. Upon receiving the multicast message, stations 2, 4 and 5 transmit their ACK packets in the same order as in the initial multicast message.
2.2 packet timeout
According to the present invention, the host may indicate Packet _ Timeout, which is defined as the maximum allowed transmission delay of a Packet transmitted from the host, to the MAC layer. When Packet Timeout expires, the Packet is dropped and not transmitted. In the case where the host does not specify Packet _ Timeout, Default _ Packet _ Timeout is used.
When a Packet is received from the host, a Packet _ Timeout timer is initialized to the value of Packet _ Timeout. When a predetermined Threshold Packet _ Timeout _ Threshold is reached, the priority of the Packet is increased by 1 and an attempt is made to contend for the channel using the new priority. When the Packet Timeout timer expires, transmission is dropped and the Packet is dropped. In section 3.6 below, there is a more detailed description of transmission abandonment. Note that when using a repeater, the source station sends the value of the Packet _ Timeout timer in the first data frame in the session.
2.3 time stamping of packets
To support higher layer synchronization, the MAC protocol of the present invention is adapted to enable the transmitting and receiving stations to synchronize to the clock of the transmitting MAC. To achieve this synchronization, the transmitter's MAC adds a timestamp t when required1Into the packet. The receiver MAC adds its timestamp to the packet before sending it to the transmitter station. Both the transmitter and receiver stations access their respective MAC layer clocks. The receiver host calculates the time at the transmitter MAC using the following equation:
t=t1-(r2-r1)
wherein
t is the current time at the transmitter;
t1is a timestamp added to the packet by the transmitter;
r1is the time stamp that the receiver indicates when the packet was received;
r2is the current time at the receiver;
note that the time stamp t1Is added to the payload header by the transmitter as illustrated in section 7.5.2.1.
3-Session Transmission
In the MAC protocol, communication between stations is implemented during a session. A session is defined as a logically related transmission between two stations, including a contention frame (RTS/CTS), a data frame, an ACK frame, and any subsequent retries. Packets received from the hosts are joined together to form a session. The described combining process allows for segmenting large packets into multiple sessions or accumulating several small packets into one session.
The two types of sessions of transmission supported include Long Session Transport (LST) and Short Session Transport (SST). In the LST session, the channel is acquired and reserved using the RTS/CTS mechanism. The session includes variable size frames up to MaxFragNumber and includes any retransmissions required. In an SST session, no channel is reserved prior to session transmission. The session contains a single frame and includes any retransmissions required. The size of the segment is defined as fragment threshold bytes. The two session transfer procedures are described in more detail in the following sections.
At the transmitter, incoming data packets from the hosts are first combined into one or more MAC sessions and then fragmented into multiple MAC frames. At the receiver, data received from the PHY layer is first fragmented from MAC frames to create a session, and then broken into packets to be transmitted to the host. Detailed descriptions of the join/unjoin and segmentation reassembly processes are given in the following sections.
3.1 Long Session Transport (LST) procedure
The LST session may include up to MaxFragNumber data frames, whereby the size of each frame is determined using the procedure detailed below. Fig. 6 shows a diagram representing a Long Session Transport (LST) transmission procedure of the MAC protocol of the present invention. After the contention frame gap (CIFS) and backoff interval, access to the channel is achieved using RTS control frames. The response frame gap (RIFS) separates the transmitted packets. After the CTS packet, a data frame is sent, followed by an ACK and any retransmissions.
3.2 Short Session Transfer (SST) procedure
SST sessions can be used to transmit sessions up to the fragment threshold byte. An SST session includes a single frame (including any required retransmissions). SST packets are used in the same way as RTS packets to contend for the channel and, in the event of a collision, the same backoff procedure as RTS frames is used.
An SST session may or may not use an ACK or retransmission procedure. If no ACK is used, there is no retransmission and the session ends after the single frame is transmitted. Note that in such a case, it is impossible to detect a collision. Fig. 7 shows a diagram representing a Short Session Transport (SST) transmission procedure of the MAC protocol of the present invention. After CIFS and backoff interval, channel access is achieved using the data frame itself. RIFS separates the transmitted packets. After the data frame, the destination acknowledges with an ACK, followed by any retransmissions and subsequent ACKs.
3.3 joining and breaking apart
According to the present invention, the bonding process is defined as a process of merging and dividing a packet into a plurality of MAC sessions. Unpacking is the reverse process and is defined as extracting packets from a received session. The incoming packets are divided into data sessions up to the Session Capacity, which is a parameter calculated by each site as described below.
Only packets with the same destination station are combined. The priority of the session is equal to the lowest priority of the packets in the session. A session header is added at the beginning of each session. The session header is used to tear down the session and contains information about the session and the packets in the session. The receiver provides support for at least one pending (pending) packet for each source station. In case a new session with a new packet is received and the receiver does not have sufficient resources to process the incoming packet, the ongoing (pending) packet is discarded.
3.3.1 Session Capacity calculation
The sessioncapacity (sc) parameter is calculated using the following formula:
SC=m×n (2)
wherein
m=min(FL1,FL2) (4)
mFL1=max(MinFL,CQFL) (5)
And wherein
n is the number of data frames in the session (e.g., up to 8);
m is the number of bytes in the segment;
FL is the length of the segment;
MinFL is the minimum segment size (e.g., 64 bytes-with 20% overhead per data frame);
q is the number of data bytes queued up;
session _ Timeout is the longest Session duration;
CQFL is the length of the segment, which is determined by modeling as a function of channel quality and expressed as a percentage of corrupted data frames;
session capacity calculations are performed periodically by the various stations or when requested by the host.
3.3.2 Session header
The session header is contained in the first frame of each session, and it is a variable length field,
it includes a session information field followed by various optional fields as illustrated in table 1 below:
table 1: session header field format
Note that the BID and HTL fields are only used for broadcast transmissions, where the transmission type is 0b 11. The NumOfPacket and Packet Length fields are used only when LSHV is equal to 1.
3.3.2.1 Session information field
The session information field is illustrated in table 2 below.
Table 2: session information field format
Note that the SID serves to detect a session with loss. If a lost session is detected, the incomplete packet is discarded. The EOP bit indicates that the last packet in a session is complete and can be sent to the host without waiting for the next session. The use of the EOP bit avoids the need to wait for the next session to determine whether the packet in the current session is finished.
3.4 segmentation and segment reassembly
The MAC protocol of the present invention includes two different mechanisms for efficient packet transmission: (1) segmenting long packets into shorter data segments to ensure that the channel is not captured for a very long time, which would prevent adequate quality of service, and (2) combining some small packets into larger data blocks. Segmenting or merging packets into a single MAC session (e.g., a single uninterrupted transmission) is referred to as a combining process. Unpacking is defined as extracting packets from a received session.
The process of dividing a MAC session into multiple MAC frames, referred to as fragmentation, is illustrated in fig. 3. The size of each data segment in the MAC frame is calculated using equation 4 described above. The process of recombining the data frames of the MAC layer into a single host packet is defined as segment reassembly. Segment reassembly is performed at each receiving site.
The first step of the bonding process is to queue the packets received from the host. The size of each session, also referred to as session capacity, is then determined using equation 2 above. The queued contents are then segmented into data segments, each encapsulating a header and a trailer.
Fig. 8 shows a diagram representing the fragmentation process of the MAC protocol of the present invention in more detail. A plurality of packets constituting a session are segmented into a plurality of data frames. Data frames generated from the fragmentation of the host packet are sent as sequential transmissions in the session, i.e., data frame 0, data frame 1, etc.
Each MAC frame includes a frame (MAC) header, a data segment, and a Frame Check Sequence (FCS). The frame header contains a frame index that enables the session to be fragmented from the data frames from which it is composed. The frames are transmitted in the order of lowest frame number to highest frame number, where the frame number value starts from 0 and increases by 1 for each successive segment.
3.5 retransmission procedure
The MAC protocol supports ACK and NACK responses as part of its retransmission process. ACK and NACK responses are sent on a per session basis. If the session includes several frames, the response includes information about each frame in the session. Whenever the destination station receives a session indicating that a response is required, it sends an appropriate response. The transmission of the response starts during at most one RIFS after the end of the last frame in the session, regardless of the medium busy status indicated by the VCS. If the last frame of the session is not received, the receiving station will not send an ACK response.
The ACK or NACK response is sent using an ACK control frame, the structure of which is described in more detail in section 7.4.2.2. The AckBits field in the ACK frame indicates which data frame in the session is in error. Each bit represents an ACK for one data frame, each ACK responding to a maximum of 8 frames. A value of "1" indicates a negative ACK or NACK, and a value of "0" indicates a positive ACK.
If the receiver determines that a session interruption has occurred (explained in section 3.6 below), or it receives a request ACK (ra) from a station that is not the transmitter of the last session in which the receiver is involved, then an ACK _ FAIL frame is sent instead of an ACK frame.
The actions taken by the transmitting station after receiving the ARQ response are listed in table 3 below.
Table 3: transmission response solution
Fig. 9 shows a diagram representing an ACK procedure and a retransmission procedure of the MAC protocol of the present invention. The ACK response time begins after the end of the transmission of the last data frame. In this example, the destination node sends an ACK bit of '00010001', which represents a NACK for data frames 0 and 4. In response, the source node retransmits data frames 0 and 4 to the destination. During the ACK response time after the retransmission, the destination node sends the remaining ACK, e.g., '00000000', which indicates to the source node that there are no errors in the retransmission process.
Note that the ACK frame is sent using the maximum power level and the minimum sending rate in order to achieve high reliability of correct reception by the source. Broadcast transmissions are not retransmitted using the MAC layer. The multicast transmission is retransmitted using the MAC layer, including the ACK/NACK responses from each station in the multicast group as explained in section 2.1.3 above.
A flow chart representing the ACK method of the MAC protocol of the present invention is shown in fig. 10. After the last segment is sent (step 40), the source waits for an ACK (step 42). Either an ACK or an ACK _ FAIL is received (step 44). If an ACK is received, the AckBits are compared to 0 (step 48) and if equal (i.e., a positive ACK), the method terminates successfully. If the AckBits is not 0 (i.e., a NACK), the corrupted segment is retransmitted (step 50) and the method continues to step 42. If an ACK _ FAIL is received (step 44), a link failure is declared (step 46).
A flowchart representing the portion of the wait for ACK method in the ACK process illustrated in fig. 10 is shown in fig. 11. First, the timeout variable is set to the current ACK _ timeout value (step 60). If timeout has not expired (step 62), timeout is decremented (step 64), otherwise the send request ACK method is performed (step 68). If the ACK is successfully received (step 66), the method terminates, otherwise the process repeats step 62.
A flow chart representing the part of the request ACK (ra) method in the ACK procedure illustrated in fig. 10 is shown in fig. 12. Typically, after the last frame in the session is transmitted, the transmitting station waits to receive an ACK frame (step 70). If the transmitting station does not receive the ACK frame, the transmitting station repeatedly transmits an ACK request (request ACK or RA frame) to the receiving station and waits to receive the ACK. After transmitting the RA frame, the transmitting station checks whether the number of retries exceeds a predetermined maximum value (max _ RA _ retries) (step 72). If so, a transmission failure is declared and the method ends (step 76). If not, the transmitting station transmits an RA frame to the receiving station (step 74), and the station then waits for an ACK (step 70). These steps are repeated max _ RA _ retries times or until an ACK is received.
3.6 Session interruption
After successfully acquiring the channel, the receiver may interrupt the session in response to the following events listed in table 4.
Table 4: session interrupt event
The station may also send a medium release message when the station determines that the channel may be released. A determination may be made that a channel may be released when a Virtual Carrier Sense (VCS) signal indicates that the communication channel is busy (i.e., through reservation calculations), but the channel is no longer needed or can no longer be used. The medium release message includes the updated value of the reservation counter. The station transmitting the medium release message may (1) increment a reservation counter if the current reservation time is found to be too short; (2) if the current reservation time is found to be too long, decreasing the value of the reservation counter; or (3) if the channel is found to be no longer needed or unusable, the value of the reservation counter is set to 0 to immediately release the channel.
4. Second layer repeater
The MAC protocol is adapted to provide layer two forwarding, which refers to sessions transmitted using intermediate sites. Said intermediate site is called a repeater. The forwarder receives the entire session from the original source site (OS) and then retransmits the session to the original destination site (OD).
A schematic diagram representing the repeater setup procedure of the MAC protocol of the present invention is shown in fig. 13. When the source station detects a link failure, it can search for a station as a second-layer repeater by transmitting a special broadcast message called a Repeater Search (RS) management frame whose hop count for retransmission success is set to 0. The RS message includes the quality requirements for the repeater site. A station that receives an RS frame and is capable of connecting with an initial source (OS) station and an initial destination (OD) station at a higher or equal required Power Level and Rate (PLR) state defined in the RS frame may respond with a Repeater Search Response (RSR) frame.
After waiting for a period of time, i.e., Repeater _ Search _ Timeout, the OS selects the station responding with the highest PLR status as its Repeater. In the following steps, two new Link Addresses (LA) are established: one between the OS and the repeater and one between the repeater and the OD. These LAs are only used for session transport through the repeater in question. The OS sends to the selected repeater an LAS frame allocating a new LDA between the OS and the repeater. The repeater sends a second LAS frame to the OD that allocates a new LDA between the repeater and the OD.
The OD site responds with a laser frame that assigns a new LSA to the repeater. When the repeater receives the laser frame, it transmits a laser frame, which assigns a new LSA to the OS in response, to the OS site, thus completing the repeater setup procedure. If the repeater does not receive a laser frame from the OD site after the laser _ Timeout time, it transmits a Failed Connection (FC) frame indicating a connection failure to the OS.
When the repeater detects a link failure with the OD site, it sends RF frames to the OS and OD indicating the link failure and the terminating link address definition. The OS may then initiate a new repeater search process to establish a connection through a different repeater site. If the OS detects a link failure with a transponder, it sends a source cancellation transponder (SCR) frame to said transponder and restarts the transponder search process.
The OS transmits a link present (LE) frame to the OD site every LE _ interval. If the source receives a link present response (LER) frame, the source sends the source cancel the repeater (SCR) frame as a response to the repeater station and communicates directly with the destination, since there is now a direct connection between the source and the destination.
Note that the OS may not receive an RSR response frame after the RSR _ Timeout time, possibly because the station that may act as a repeater has not previously communicated with either the OS or the OD. In this case, the OS broadcasts a new RS frame with a channel detection request (CSR) whose retransmission successful hop count (hops to live) field is set to 0. A station receiving a new RS frame with a quality equal to or higher than required initiates a CSR to the OD station and responds to the OS with an RSR frame comprising the result of the channel detection procedure of the OD. The OS waits for a time of Extended _ repeat _ Search _ Timeout, after which it selects the station with the best channel detection and initiates the Repeater setup procedure.
A flow chart representing the repeater method of the present invention as performed at the source site is shown in fig. 14. The repeater process is triggered by the station detecting the link failure (step 90). A repeater search frame is then sent (step 92) and the wait for laser/RSR method is performed (step 94). If an RSR is received, the LAS is sent to the selected repeater (step 96). The wait for connection (EC) method is then executed (step 98). If an EC is received, a session with the repeater is started (step 100). If no EC is received, then if the repeater _ retries exceeds the max _ repeater _ retries (step 108), a new repeater is selected (step 110) and the method continues to step 96, else another RS retry is attempted and the method continues to step 92.
If no RSR is received (step 94), then if the retry exceeds max RS retries (step 102), a link failure is declared (step 106), otherwise the retry number is increased (step 104) and another RS retry is attempted, and the method continues to step 92.
Fig. 15 shows a flow chart representing the repeater method of the invention as performed on a repeater. An RS frame is first received (step 120). If the PLR status at the source and destination is not above the minimum value (step 122), the method terminates. Otherwise, RSR is sent (step 124). If no LAS is received (step 126), the station may attempt to broadcast the CSR as explained above. Otherwise, an RC frame is sent (step 128) and the wait for laser/RSR method is performed (step 130). If no LASR is received, then if the retry does not exceed max _ RC _ retries (step 142), the retry is increased (step 144) and another RC transmission is attempted, continuing to step 128. Otherwise, an EC frame with EC set to 1 is sent to the source (step 146) and the method terminates.
If the LASR frame is received (step 130), an LAS frame is transmitted to the destination (step 132) and an EC frame with EC set to 0 is transmitted to the source (step 134). A session is then received from the source (step 136) and conducted with the destination (step 138). If no link failure has occurred (step 140), the method returns, otherwise an EC frame with EC set to 1 is sent to the source (step 146) and the method returns.
Fig. 16 shows a flow chart representing the wait for laser/RSR method of the present invention. Timeout is first set to the value of RSR/laser _ Timeout (step 150). If timeout expires (step 152), the method returns that no laser/RSR was received (step 160). Otherwise, timeout is decremented (step 154) and then a check is made whether a laser or RSR frame is received (step 156). If so, the method returns the received LASR/RSR (step 158).
Fig. 17 shows a flow chart illustrating a method of waiting for a connection to be established according to the invention. Timeout is first set to the value of EC _ Timeout (step 170). If timeout expires (step 172), the method returns that no EC was received (step 180). Otherwise, timeout is decremented (step 174), and then a check is made as to whether an EC frame has been received (step 176). If so, the method returns the received EC (step 178).
5. Network synchronization
The MAC protocol is adapted to selectively provide network synchronization using the scheme described below. Each site maintains a Global Time (GT) counter to count the time to the next tick. The time length of the ticks is Tick Interval seconds long. If the GT is less than Sync _ Interval from the next tick, the station will use the long RTS/CTS frame during the channel access, whereby the transmitting station updates the Time To Tick (TTT) field of the long RTS frame with the GT-RTS _ Transmit _ Time-CTS _ Transmit _ Time value. The destination station responds with a long CTS frame containing the same TTT value. Stations receiving the long RTS update their GT with TTT + CTS _ Transmit _ Time. Stations receiving the long CTS update their GT with the received TTT value. Note that the value of TTT is measured from the last bit of the control frame.
After initialization, the station waits 1 second to receive a GT update, after which the station sends a request using a request GT update (RGTU) management frame to receive the GT update. If the frame has a valid LA, the frame is sent using unicast transmission. Otherwise, it uses a broadcast transmission with the number of hops retransmitted to success (hops to live) set to 0. The receiving station (unicast or broadcast) responds with a GT update response (GTUR) management frame.
6. Media sharing
According to the invention, medium sharing is achieved using a modified CSMA/CA mechanism with random backoff. The media sharing implemented by the MAC protocol uses the following mechanism: virtual Carrier Sensing (VCS) and Physical Carrier Sensing (PCS), channel reservation, backoff, and frame gap. Each mechanism is described in detail in the following section.
Note that the channel can be in one of 3 states: (1) busy-indicates that a session is being processed by the VCS or PCS, (2) contention period-indicates that the session has ended and the channel is not busy (stations may contend for the channel in order of decreasing priority) and (3) idle-if transmission does not begin at the end of the contention period, the channel is defined as being in an idle state.
6.1 virtual Carrier sense mechanism
The MAC protocol uses physical and virtual carrier sensing functions to determine the state of the channel. The channel can be in one of 3 states: busy, contention, or idle. Physical Carrier Sensing (PCS) is provided by the PHY layer. Virtual Carrier Sensing (VCS) is provided by the MAC layer. When a PCS or VCS indicates that the channel is busy, the channel is considered busy. Otherwise the channel is in a contention or idle state.
During the current transmission session, the VCS may be increased or decreased depending on the reservation time indicated in the frame transmitted by the transmitter or receiver. A station may start the transmission process only when the VCS is 0 (i.e., the medium is not busy) and the physical carrier sensing is idle, indicating that the channel is not busy.
Each receiving station keeps a reservation counter for each LA pair associated with a session in which it is not participating and updates the counter appropriately during the session. VCS is set to the maximum value of all reservation counters.
Table 5 lists some frames that cause the VCS to update according to the reservation times specified in them.
Table 5: setting a VCS timer
6.2 channel contention period
The MAC protocol implements a priority-based channel access method that can be implemented using any number of priority levels. The method has the advantage of being able to adapt to the traffic content on the channel. The following is a detailed description of the prioritized channel access method. For illustrative purposes only, the method is illustrated using an example containing 4 priority levels. Note that the present invention is not intended to be limited to this example, as any number of priority levels may be implemented by one of ordinary skill in the art using the principles and methods disclosed herein.
Fig. 18 shows a diagram representing a contention period divided into a plurality of prioritized contention windows. The contention period is divided into 4 contention windows. Stations contend for control of the channel during a contention window assigned to a priority class equal to or less than the priority of packets waiting to be transmitted. Contention for the channel is achieved according to a backoff algorithm described below. During the higher priority contention period, stations do not activate their backoff procedures and do not decrement their backoff counters. The contention windows are ordered in descending priority order, whereby priority 3 is highest and priority 0 is lowest. This technique ensures that packets are sent in order of decreasing priority.
The size of the contention window for each priority level depends on: (1) the number of stations transmitting in the same priority level, and (2) the number of collisions occurring on the channel. Each station calculates the size of the contention window for each priority level according to the method described in section 6.4.
Note that the method described above is efficient and robust, it does not require global synchronization between the stations in the network. In the case where stations use different contention window sizes, the probability of lower priority frames being sent before higher priority frames is very low because stations only decrease their back-off counter during priority classes that are equal to or less than their own priority. This feature is particularly important in PLC-based networks, where the physical medium comprises a large number of partially overlapping cells using the same channel. By making the station-to-station slight differences, a gradual change from one cell to the next can be provided.
After the end of the current session, the channel transitions from busy to contention period CIFS, which is indicated by the VCS and PCS transitioning from busy to idle or by the end of the session in which the station just participated.
The backoff algorithm described below is initiated at the beginning of the contention window whose priority is associated with the frame waiting to be transmitted. When the back-off counter reaches 0, the station starts contending for the channel. Stations contend for the channel by attempting to reserve the channel for transmission. If a session transmission is to be made and the priority of the current contention window is lower than the priority of the session, the back-off algorithm is started immediately. If a new session arrives with a higher priority than the current session to be conducted, the new session takes over the contention channel for the session to be conducted.
6.3 channel Access backoff Algorithm
The back-off procedure described herein is initiated before the session can be sent on the channel. If the channel is free when the back-off algorithm is initiated, the station immediately starts transmitting. Otherwise the station is in 0 to CWPXA backoff is randomly generated between, which is initiated at the beginning of a contention window corresponding to the priority of the station. Transmission begins when the backoff reaches 0 and the channel is not busy. The transmission of the session is started by attempting to reserve the channel as explained in section 6.5 below.
The station decreases the backoff value only if the channel is not busy and during a contention window having a priority equal to or less than the priority of the transmission to be made. If a transmission is detected during the back-off countdown, the station will defer transmission until a contention window in the next cycle having a priority equal to or less than its priority and decrease the value of the back-off counter from its previous value.
If no frame is detected (i.e., false detection) and physical carrier sensing is stopped, the contention window starts from its previous state and the backoff continues to count down from its previous value.
As explained in the background section, the time width selected for the backoff slot (also referred to as the backoff gap or slot) may constitute the overhead of most channel access mechanisms. On the other hand, the time slot cannot be so small that a station cannot recognize that another station has started transmitting. The MAC protocol includes a mechanism to set the width of the slot to a time much shorter than the algorithms of the prior art using two signals provided by the physical layer, Fast Carrier Detection (FCD) and Carrier Detection (CD).
The FCD signal is a signal from the physical layer to the MAC layer that indicates that a transmission may be starting. This signal arrives very quickly after the start of transmission, but with a relatively high false alarm rate. The CD signal also goes from the physical layer to the MAC layer, which indicates with high probability that transmission is starting. This signal arrives a relatively long time after the start of transmission, but with a very low false alarm rate.
The prior art backoff algorithm sets the time slot to the CD time. The backoff algorithm of the present invention sets the width of the time slot as the FCD time, which greatly reduces the overhead. The choice of FCD time as a time slot (i.e. backoff time slot) has the advantage that said time slot is large enough so that stations using random backoff times do not collide, while it is also much shorter than the time it takes for the physical layer to recognize with high probability that a transmission has started. In the exemplary embodiment presented herein, the ratio between the FCD time and the CD time is a minimum of 1: 6, which provides many advantages over conventional algorithms.
Fig. 19 shows a diagram representing a contention period divided into a plurality of prioritized contention windows. The contention window 196 is shown divided into a plurality of CD times 194. Each CD time is then further divided into a plurality of FCD times 192. According to the invention, the time slot used for randomly selecting the backoff time is the FCD time instead of the CD time. This greatly reduces the time required for a station to acquire a channel.
The backoff algorithm of the present invention is intended to prevent stations from contending for the channel at the same time. After the current transmission ends, the station may start contending for the channel. The contention period is divided into time slots. The station randomly selects how many slots it must defer before attempting to contend for the channel. If another station begins transmitting during the deferred time, the station waits for the next time the channel is idle. The size of the time slot is determined such that stations randomly selecting different deferral periods do not collide on the channel. This means that a station randomly selected for a longer deferral period will detect that a second station has begun transmitting. The size of the time slot is typically set to the time it takes for a station to synchronize to a packet on the channel. However, the larger the time slot, the more overhead the backoff algorithm adds to the channel access mechanism.
The following is a description of the back-off algorithm. Fig. 20A and 20B show a flow chart representing the fallback mechanism of the MAC protocol of the present invention. Before sending a new session to the channel, a backoff algorithm is started at the beginning of a contention window corresponding to the priority of the session. First, a station receives a transmission request from a host (step 200). The Contention Window (CW) is then set to the value CWMin (step 202). At the beginning of the contention period, the station randomly selects the backoff time to be a number of slot widths, i.e., from 0 to CWPXTo (step 204). If the backoff algorithm is started when the channel is idle, the station can start transmitting immediately, otherwise the transmitting station randomly selects backoff.
When the channel is in the contention period (step 206), the station decreases the back-off time (step 210) after waiting for the higher priority CWMin time (step 208). When the back-off counter is not 0 (step 212), the method checks the VPC and PCS to see if the channel is free and decrements the back-off counter. When the back-off counter reaches 0 (step 212), transmission is made by attempting to reserve (or acquire) a channel as described in section 6.5 below. The reserved channel is implemented by sending an RTS or RA frame (step 214). The protocol implements two special control packets designed to capture the channel: request To Send (RTS) and Clear To Send (CTS). The source and receiving stations use the RTS and CTS packets to acquire and reserve channels.
If the RTS/RA frame times out (step 216), then if the number of retries is less than RTS/RZ _ first _ retry (step 220), the CW is resized as described in section 6.4 below and a new random backoff is generated (step 232). Otherwise, the CW is resized and a new random backoff is generated (step 224). If max _ RTS/RA _ retries has not been reached, the method continues to check for a free channel status in step 206. Otherwise, a link failure is declared (step 228).
If the RTS/RA frame has not timed out (step 216), the station checks for receipt of the frame (step 218). If a frame is received, the method returns, otherwise the method continues to step 216.
Thus, according to the MAC protocol, if the FCD signal is reached, the station stops decrementing the back-off counter. If the CD signal is not reached within the CD time after receiving the FCD signal, this indicates that the FCD signal is a false alarm. The station then continues to decrement the back-off counter from the point in time before receiving the FCD signal. If the CD signal arrives, the station defers transmission and waits for the next contention period.
The station only decreases the backoff value when the channel is not busy and during a contention window having a priority equal to or less than the priority of the session waiting to be transmitted. If a transmission is detected during the back-off countdown, the station defers transmission until the next cycle when the contention window corresponding to its priority is reached. At that point, the station continues to decrement the back-off counter from its previous value.
The transmission is made after the back-off counter expires and the contention channel is successful. Once the current transmission is completed, the station again randomly selects the back-off interval. Note that the effect of the back-off time is to have each station wait a different time to spread out the time that stations contend for the channel. The back-off time is set according to the number of stations and contention events.
6.4 contention window size adaptive adjustment
The size of the contention window for each priority class is changed to accommodate the current characteristics of the network traffic. According to the invention, the backoff time that each station waits starts at a random time after the last transmission. The random time is chosen between 0 and the size of the contention window.
Note that the size of the contention window plays a major role in determining the likelihood of a collision. Another factor that affects the likelihood of a collision is the number of sites attempting to access the channel. For example, consider that there are 20 stations waiting to transmit at the same time. If each station selects a random number within a contention window of size 10, there may be many collisions. On the other hand, if the contention window is expanded to 60, there may be only few collisions. The present invention provides a mechanism to dynamically adjust the size of the contention window to the number of stations wishing to transmit at any given time.
Fig. 21 shows a graph representing estimated channel overhead time versus contention window size. The overhead of the channel access procedure includes a combination of: (1) a silent period in which all stations defer transmission until the back-off time expires, and (2) a collision in which two or more stations attempt to transmit at the same time. If the size of the contention window is reduced, the likelihood of collision increases and vice versa. Thus, there is an optimal CW size that minimizes channel overhead. This is represented in the figure by the size of the CW, denoted as 'a'.
Note that the slope on the left side of point a is steeper than the slope on the right side of point a in the figure. Moving to the left of point a, the probability of collision increases until finally the channel overhead gradually reaches infinity. Moving to the right of point a, the channel overhead increases gradually due to the increase in the silent period. To take into account the error margin for the following reason, point B on the right of point a is taken as the optimum point.
The inability to accurately estimate the optimal CW size is mainly due to (1) limitations in the accuracy and reliability of the estimation process, and (2) dynamic variations in the load over time that require time to adjust.
According to the present invention, a method for adjusting the size of a contention window is provided. Using the estimated number of stations to transmit on the channel in the same priority class, the contention window size is adjusted using the following equation:
CW=α·N 3≤α≤10 (7)
wherein
And wherein
The backoff value is the random time each station waits before contending for the channel;
CW is a contention window in which each station randomly selects a backoff value;
α is a factor determined by the simulation;
n is the number of stations contending for the channel at any given time. N is the actual number, and E (N) is the number of desired sites;
k is a factor determined by simulation;
time _ of _ bundling _ packet is the expected transmission Time of the contention packet. It may comprise the data packet itself or a control packet;
1/λ represents the probability that a station has a packet to send.
Note that α and K are fixed as part of the network specification and are determined by calculations, measurements and/or simulations for each particular network implementation.
The value of N may be estimated using one of the following equations:
where the expected value of t is:
and wherein t is the actual time from the time a station is allowed to transmit to the time a station starts transmitting; e [ t ] is the expected value of t; each station transmits its CW. All stations determine t by measuring the time from the last transmission to the current transmission time. Each station calculates an estimated N using the transmitted CW and t. Each station then calculates a new N using the following equation:
Nnew=(1-β)·NOld age+β·NEstimating (11)
Wherein the weighting factor beta is determined by simulation. The station then calculates the new CW in the following manner using equation (7).
Note that the weighting factor β may be assigned two different values: when N is presentNew<NEstimatingWhen is beta1And when N isNew>NEstimatingWhen is beta2. Sites are given a large initial number at startup and as each new site enters the networkN of (A)0From this initial N, the station0Begin to calculate their first CW values. However, thereafter, the CW value is rapidly adjusted to the characteristics of the actual network.
6.4.1 adjustment method considering hidden node problem
Collisions on the channel may occur in two cases: (1) two or more stations have selected the same random backoff time, and (2) the two stations are hidden from each other. In the second case, the two stations cannot hear each other, but can hear other stations on the network. In this case, it is possible that one station starts transmission before the other station finishes transmission.
In the first collision scenario, the colliding station wishes to retransmit and thus becomes part of a group of stations that want to contend for the channel. This is the normal behavior of the CSMA/CA method, and the adaptive CW size algorithm of the present invention is designed to optimize this CW size parameter.
The second collision scenario is more complicated because the hidden node will not receive an acknowledgement and will want to retransmit. This pattern will repeat until the number of retransmissions has been completed. The upper communication layer will be notified and as a result will generate a packet again, which will result in an infinite loop until the upper communication layer closes the connection.
According to the invention the generation of infinite loops can be avoided by allowing a limited number of contentions, after which the station declares that it suspects that it is a hidden station, i.e. that the reception of a certain number of acknowledgements fails, indicating that this failure is not due to a normal collision.
Infinite loops are avoided when a station ends its transmission before the second node begins its transmission. This can be ensured if both stations use a time slot of size of the collision packet or larger to select a random backoff time. In case a hidden node situation is suspected, all involved stations choose a random backoff number in units of the size of the collision packet or larger. In this case, CW would be Y × collating _ packet _ time _ units, where Y is a predetermined or dynamically set factor. Thus, these stations select a relatively larger back-off value than the rest of the stations on the network. However, eventually the two stations will transmit without colliding with each other.
6.5 reservation channel
As described above, when the back-off counter reaches 0, the station attempts to reserve the channel by transmitting a frame with reservation counter update information using a control frame in the LST or an SST frame in the SST. During transmission, necessary updates to the reservation of the channel are made in case of retransmission or session interruption.
6.5.1 channel reservation in Long-Session Transmission
A station attempts to reserve a channel by sending a Request To Send (RTS) control frame. The RTS frame includes the reserved time required for a new transmission including an ACK packet from the destination. The destination station responds with a clear-to-send (CTS) frame within RIFS seconds after the RTS frame ends. The CTS frame includes a reserved time copied from the RTS packet.
Fig. 22 shows a diagram representing the RTS/CTS procedure of the present invention. If the receiver does not have sufficient resources to process the incoming transmission, it responds with a CTS _ Fail frame. In addition, RTS and CTS frames are transmitted using the maximum power level of the transmitter and the minimum transmission rate in order to obtain maximum transmission reliability.
After the sending station receives the CTS frame, it starts sending session data frames at a time up to RIFS after the end of the CTS frame. In case of retransmission, ACK, RA and the first frame update the reservation of the channel. Reservation calculations are described in section 6.5.3 below. In case of a session interruption, the channel is released as explained in section 3.6 below. If the transmitter does not receive a CTS response to the RTS after CTS _ Timeout, the transmitter considers that a collision occurred and invokes the reservation retry procedure explained in section 6.6.
6.5.2 channel reservation in short-session transmission
Channel reservation in SST is only valid in SST with ACK. The source station transmits an SST frame including the reservation value. The destination station responds with an ACK frame that includes a reserved time equal to the retransmission time, if needed. If no ACK frame is received, the source site considers a collision and invokes the reservation retry procedure described in section 6.6.
6.5.3 Reserve calculation
All reserved time is compressed to fit in one byte size before transmission. This byte is represented by the RES field. Each receiving station decompresses the RES field and updates the VCS timer with the decompressed reserved time. The reserved time is counted from the last bit of the frame received and is also used to update the VCS timer. Any suitable compression and decompression technique may be used, and what technique is used is not important to the operation of the present invention. The reservation time is calculated as described in the table below.
Table 6: value of reserved field
6.6 reservation retry procedure
If the source station does not receive a response to the reservation frame or receives a frame with CRC8 or CRC16 error (RTS or SST frame), the station considers a collision and invokes a reservation retry procedure. If the source station receives a valid frame that is not a response, the station defers transmission and waits for the next contention period.
Fig. 23 shows a flow chart representing the RTS method of the present invention. The First step is to resend the reservation frame RTS _ First _ retries times (steps 240, 242, 244, 246). If no response is received after the RTS _ First _ retries (step 246), the station randomly selects a new backoff and resends the reservation frame (steps 248, 250, 252, 254, 256). This step is repeated MAX _ RTS _ Retries times.
If no response is received after MAX _ RTS _ Retries (step 256), the source station sends an RTS _ Fail frame and invokes a new LA allocation procedure (steps 258, 260). If the LA allocation procedure fails, the station declares a link failure with the destination station (step 262) and the method returns. If the source station receives a CTS frame (step 242 or 252), transmission of a data frame for the ongoing session is started (step 264).
Note that in the First RTS/RA _ First _ retries, the transmitter randomly selects either the Backoff value of Backoff _ slotTime or Backoff _ slotTime # 2 before retransmitting. During the next MAX _ RTS/RA _ Retries, the transmitter will CWPXThe value is increased by a factor of two and a new backoff value is randomly selected before each retransmission. CWPXShould not exceed CWPX -MAX
For each successful channel reservation, CW is transmittedPXThe value is reduced by half and the CW is reduced each time said contention window has elapsed and no transmission has startedPXThe values are initialized to the values calculated by the formula illustrated in section 6.2.
Fig. 24 shows a flow chart representing the CTS method of the present invention. Timeout is first set to the value of CTS _ Timeout (step 270). When a timeout has not occurred (step 272), timeout is decremented (step 274) and a check is made whether a CTS frame has been received (step 276). If so, the method returns to the received CTS (step 280), otherwise the method continues to a timeout check at step 272. When timed out, the method returns to a timeout (step 278).
6.7 frame gap
The time interval between frames on the medium constitutes a frame gap, and a frame gap is necessary due to signal propagation and site processing time. Three frame gap values are defined for the MAC protocol, as described below. Fig. 25 shows a diagram representing a frame gap inserted between transmission sessions.
A contention frame gap (CIFS) is defined as the interval between the end of the previous session and the start of a new contention period. With the highest priority and 0 fallback, the new session is to start at least at a time no less than CIFS after the end of the previous session.
A response frame gap (RIFS) is defined as the time between the end of a frame transmission and the beginning of its associated response. Note that if no response is expected, CIFS is invalid.
For the case when the station has no full knowledge of the medium state, an extended frame gap (EIFS) is defined. This may occur when a station hears only a portion of a frame, an error in the received frame makes decoding difficult, or when the station first accesses the network. EIFS is preferably much longer than other frame gaps to avoid collisions that cause ongoing sessions.
7 frame format
7.1 frame type
The MAC protocol defines two frame structure types: data frames and control frames. Both frame types consist of a PHY header (frame control) portion, a payload portion and a Frame Check Sequence (FCS) (i.e., CRC), and a status portion. The specific structure, content and functionality of the two frame types are given in the following sections.
7.2 bit sequence
Data is passed to the physical layer with the most significant byte preceding and the most significant bit preceding, where bit number 7 is the MSB of the byte. The diagram presented here shows the most significant bits or bytes on the left.
7.3 frame Structure
The frame format of the control frame includes a frame control followed by a payload and Frame Check Sequence (FCS)/state. The frame control includes control information, described below, which is used by the receiver to decode the payload. The payload has a byte capacity varying according to the type of frame between 3 and 2048 bytes.
7.3.1 frame control header
The frame control header has different size and content properties for control frames and data frames. The control frame uses a 24-bit frame control, and the data frame uses a 40-bit frame control.
7.3.2 Net load
The payload has different sizes and contents for control frames and data frames. The control frame has a fixed payload of 3 bytes and the data frame has a variable payload that can vary between 4-2048 bytes.
7.4 control Frames
Fig. 26 shows a diagram representing the structure of a control frame. The control frame has a fixed length and its format includes a 24-bit frame control followed by a 3-byte payload and an 8-bit Frame Check Sequence (FCS)/status.
7.4.1 frame control header (control frame)
The frame control provides parameters used by the PHY layer for the frame. The destination station uses the frame control information to identify the frame type and frame parameters. The frame control is a 24-bit long field. The definition of the bit fields is shown in table 7 below.
Table 7: frame control field
7.4.1.1 conditional Transmission
If the conditional transmit bit (CT) is '1', the station transmits only if the CRC of the last received packet is error free. If the bit is set to '0', the station transmits regardless of the CRC of the last packet. The bit is set to '0'.
7.4.1.2 data/control frame types
If the data/control frame bit (DC) is set to '0', a data frame is indicated, and '1' indicates a control frame. The bit is set to '1' to indicate a control frame.
Rate of 7.4.1.3
The rate bits indicate the rate at which the frame is transmitted. A rate bit of '0' indicates full speed (i.e., a symbol duration of 4 mus), and a rate bit of '1' indicates half speed (i.e., a symbol duration of 8 mus).
7.4.1.4 frame type
The Frame Type (FT) field indicates which control frame is to be transmitted. The values of the frame type field are listed in table 8 below.
Table 8: frame type field
7.4.1.5Tx latency
The Tx latency is a 6-bit long field indicating the delay time after the request is sent before the start of the transmission. The resolution of the Tx latency is 4 μ s.
7.4.1.6 network ID
The network ID field of 3 bits indicates the network ID of the modem. This field is configurable by the MAC. The default value of the network ID is '000'.
7.4.1.7 acknowledgement bit
The acknowledgement bit indicates to the source station whether the previous frame was received properly. This bit is set by the PHY layer at the destination station. A value of '0' indicates that the last frame is corrupted, and a value of '1' indicates that the last frame has been correctly received. The acknowledgement bit is only valid on reception. This bit is set to '0' by the MAC layer of the source station.
7.4.2 control frame payload Structure
7.4.2.1RTS、CTS、RA
Fig. 27 shows a diagram representing the payload structure of RTS, CTS, and RA control frames. The 3-byte payload includes a 1-byte Link Destination Address (LDA), a 1-byte Link Source Address (LSA), and a 1-byte reserved field. The Frame Check Sequence (FCS)/state follows the payload.
7.4.2.2ACK structure
Fig. 28 shows a diagram representing an ACK frame format. The ACK frame includes a 1-byte XMAC address, a 1-byte acknowledgement bit (AckBits) field, and a 1-byte reserved field. The Frame Check Sequence (FCS)/state follows the payload.
The XMAC field is the exclusive or (XOR) result of the 6 bytes of source site MAC address. Bit 1 of XMAC is the XOR of bit 0 of each byte in the 6 bytes of the source site MAC address. Bit 2 of XMAC is the XOR of bit 1 of each byte in the 6 byte source site MAC address, and so on.
The AckBits field is used to acknowledge receipt of the data frame. Each bit in the AckBits field corresponds to an ACK for one segment. The position of the ACK bit in the AckBits field corresponds to the frame index in the session. '0' indicates positive ACK and '1' indicates NACK.
The reserved field is used to reserve a channel for retransmission of corrupted data frames.
7.4.2.3 failed control frame
Each control frame has a connection failure indication option. The failed control frame is the same as a conventional control frame in which all RES bits are set to '0'.
7.4.3 frame check sequence and status
In the transmit direction, the Frame Check Sequence (FCS) is an 8-bit field that includes an 8-bit Cyclic Redundancy Check (CRC). The FCS is calculated using the standard 8-th order generator polynomial below.
P8(x)=X8+X7+X2+1 (13)
The P is8The generator polynomial is not a maximum length generator polynomial. In the receive direction, the status byte is as set forth below in table 9.
Table 9: status field description
7.5 data frame
Fig. 29 shows a diagram representing the structure of a data frame. The data frame format includes a 40-bit frame control header followed by a variable 4 to 2048 byte payload and an 8/16 bit FCS/status field.
7.5.1 frame control header (data frame)
The frame control header includes information used by the destination station to identify the type of frame, in addition to information about the address of the destination station. The frame control header is a 40-bit field. The bit field definitions for the frame control header are listed in table 10 below.
Table 10: frame control field definition
7.5.1.1 bits of each symbol
The PP field indicates the number of bits per symbol. The PP value of '00' indicates 4 bits per symbol;
'01' indicates 5 bits per symbol; '10' indicates 6 bits per symbol; and '11' indicates that there are 7 bits per symbol.
7.5.1.2 double rate
A Double Rate (DR) bit indicates whether the frame is transmitted using a double rate. A maximum of 6 bits per symbol may be used when operating with this rate. The '0' value indicates that the rate is according to the R and PP fields. The '1' value indicates double rate operation, and the PP field cannot be '11'.
7.5.1.3 payload length
The payload length field indicates the length of the payload field in bytes. This field is divided into two fields: MSB LEN, which represents 3 MSB bits of the data length; and an LSB LEN field indicating LSB bits of 8 data lengths. The 11-bit payload length field allows the payload to be a maximum of 2048 bytes in length.
7.5.2 data frame payload structure
Fig. 29 shows a diagram representing the structure of a data frame. The payload portion of the data frame includes a payload header of 4-20 bytes, a session header of variable length, and a data field of 0-2043 bytes. The payload is preceded by a 40-bit frame control, followed by an 8/16-bit Frame Check Sequence (FCS)/status field.
7.5.2.1 data frame payload header
Fig. 30 shows a diagram representing the structure of the payload header portion of the data frame. The payload header is of variable length and may vary between 4 bytes (SST of 1 for VLA) to 19 bytes (SST of 0 for VLA and using a repeater). The payload header includes the following fields: a 16-bit frame information field, an 8-bit LDA (only when VLA equals 1), an 8-bit LSA (only when VLA equals 1), an 8-bit frame index field (only in LST session), a 48-bit destination MAC address (only in SST frame where VLA equals 0), a 48-bit source MAC address (only in SST frame where VLA equals 0 and only in the first or SST frame), an 8-bit Reserved (RES) field (only in the first frame or in the first retransmission or in SST frame), a 16-bit packet timeout field (only when session is sent to the repeater), a 1-byte session header length field (only when LSHV equals 1), and a 2-byte transmitter timestamp field (only when TSE equals 1).
7.5.2.1.1 frame information
Fig. 31 shows a diagram showing the structure of the frame information field of the data frame. The 16-bit frame information field includes fields listed in table 11 below.
Table 11: frame information field
The protocol version field indicates the version of the MAC being used. Assuming that only 1 version is being used, the transmitter sets these bits to '00'. If PV is not '00', the receiver discards the frame. The L/S type field indicates whether the frame includes an LST or SST session. '0' represents an LST session and '1' represents an SST session. The transmission type field indicates the type of transmission as described below: '00' denotes unicast transmission; '10' denotes a multicast data frame; '11' denotes a broadcast data frame ('01' reservation).
The data type field indicates the type of data frame as follows: '0' denotes a data frame and '1' denotes a management frame. The priority bit determines the priority of the current data session, where '00' is the lowest priority and '11' is the highest priority.
The first frame/ACK field has different meanings for LST and SST sessions. For an LST session, this field indicates whether the frame is the first frame or the first retransmission as follows: '0' indicates the 2 nd to 8 th frames, and '1' indicates the first frame or the first retransmission. For an SST session, this field indicates whether an ACK is required from the destination station. '0' means no ACK is required and '1' means ACK is required.
The LSHV field indicates whether the session header includes more than one packet. If the session header includes more than one packet, the payload header includes a session header length field. A LSHV value of 0 indicates that the session header includes one packet and a LSHV value of 1 indicates that the session includes 2 or more packets. The TSE field functions to indicate whether or not there is a timestamp field. A TSE value of 0 indicates no timestamp, and a TSE value of 1 indicates a timestamp.
The valid LA (VLA field) is valid only in the SST frame. In the LST frame, this bit is set to '0' by the transmitter and ignored by the receiver. The VLA bit in the frame information field is used to indicate whether the LA address is valid. '0' means LA is invalid and '1' means LA is valid. If the LA is invalid, the MAC addresses of the source and destination are used.
7.5.2.1.2 frame index
The 8-bit frame index field includes two subfields: a 4-bit aggregate frame field and a 4-bit frame index. The total frame indicates the total number of frames in the session, and the frame index indicates the index of the frame in the session.
7.5.2.2 frame check sequence/State
At the transmitter, there are two FCS: (1) a header FCS, including the last 8 bits of the frame control header, and (2) a data FCS following the payload field. At the receiver, the status byte is inserted after the payload field as specified in section 7.4.2 above. The header CRC is the same as the 8-bit CRC of the control frame (see section 7.4.2). The data FCS is a 16-bit field including a 16-bit Cyclic Redundancy Check (CRC). Data FCS was calculated using the following standard 16-degree polynomial.
P16(X)=X16+X15+X2+1 (16)
7.5.3 broadcast payload structure
The broadcast payload is similar to the conventional data payload except that its payload header includes two additional fields: broadcast id (bid) and retransmit to successful hop count (HTL) field. See section 3.3.2.
7.5.4 multicast payload structure
Fig. 32 shows a diagram representing a payload structure of a multicast data frame. The multicast payload includes two bytes of frame information (see section 7.5.2.1.1), a 1 byte frame number (present only in LST sessions) (see section 7.5.2.1.1), a 1 byte RES (present only in the 1 st frame or in the first retransmission or SST), a 1 byte session header field, a 1 byte NumOfLA indicating the number of stations in the multicast group, a 16 bit LDAx for destination 'x', an LSAx field, payload data, followed by a 1 byte AckBits requesting ACK from destination 'x'. Note that the AckBits are padded with 0's to become one complete byte. Note that the transmission type TxT field in the frame information field is set to '10' to indicate that it is a multicast transmission. The frame information field further includes PV of 2 bits, L/S of 1 bit, DT of 1 bit, FF of 1 bit, P of 2 bits and reserved field of 7 bits.
8. Layer management
8.1 Link Address assignment procedure
As described above, each station on the network is identified using a 6-byte MAC address. The 6 bytes that must be used for each site are because: the MAC address is not only a unique identification of a station in the logical network but also a unique identification of a station as a physical entity. In a logical network, however, logical addresses may be assigned in order to reduce the size of the address space. For example, if the logical network has a maximum of 256 sites, a logical address of one byte is sufficient, which reduces the size of the address by more than 80%. As described above, the station address is used in the RTS and CTS frames, which reduces the overhead of the address and thus greatly reduces the total overhead of the MAC layer.
The deployment of logical addresses in a centrally controlled network is as follows. Each site joining the network is assigned a logical address by the central controller. In a distributed network, the process of assigning logical addresses must also be performed in a distributed manner. The main problem with allocating logical addresses in a distributed network is to ensure that a station does not select a logical address that has already been used.
To ensure that the logical addresses are unique, the present invention provides a join process that is performed between sites. The invention also enables link addresses to be implemented very efficiently in terms of memory allocation and address search time. According to the MAC protocol of the present invention, instead of using a 2-byte logical address including a 1-byte source address and a 1-byte destination address, a 2-byte Link Address (LA) is used. Only a single 2-byte LA with the same overhead as a 2-byte logical address is used in each transmission. The LA is a unique address that identifies a link between two stations, as opposed to a logical and MAC address that represents a unique address for a station in the network. The advantage of using link addresses (as compared to site addresses) is that a much larger address space is obtained, i.e. 216 compared to 28 using logical addresses, while maintaining the same address size and overhead (i.e. 2 bytes).
When a new connection is to be established between two sites in a network, a new LA is established between the two sites. The LA includes two 1-byte portions: a Link Source Address (LSA) and a Link Destination Address (LDA). The LSA is associated with the transmitting site and the LDA is associated with the receiving site. Each site randomly selects LSAs and LDAs from unused values stored in an address table maintained by each site. This value may vary between 0x00 and 0 xFD. Note that the value 0xFF is illegal for both LSA and LDA and is only used in BLA broadcast transmissions.
Each site maintains the address table with all assigned LAs associated with other sites. When one or more repeaters are used, there may be more than 1 LA associated with each site. A station that receives a request to establish a new LA with a station with which an LA has already been established discards an old LA and establishes a new LA.
The link address is used for all transmissions between a pair of stations. Each site maintains an address table containing defined pairs of LSAs and LDAs, one entry for each link. Each station also maintains a table storing bi-directional mappings between MAC addresses and link addresses, for example by maintaining a dual link list. Typically, the link address is established using a link address table. The link address table is 256 in length, with each record adapted to store 8-bit link addresses and various statistics-related data, such as the number of successful and failed frame transmissions, the number of erroneously received frames, the number of ACKs sent and received, the number of retransmissions, and so on. The value 0xFF stored in the table indicates that the link address is available. The contents of the table are initialized to 0xFF at power-up or after reset. Each station recognizes a message with a broadcast link address of 0xFFFF as a broadcast transmission. Thus, the 256 th entry is reserved and cannot be used for unicast messages.
The transmitting source station randomly selects an address from the available address entries in the link address table. The selected address is used as a lookup in the table and is the LDA of the source site. The station sends the selected LDA to the destination receiving station. The destination then randomly selects an entry from the available address entries in its link address table. The destination station stores the received LDA in the table. The address of the LDA is stored as an LSA, and the LSA is returned to the source site. Upon receiving the LSA, the source site stores the received LSA at the LDA address of the table.
When sending a message, the source station forms the LA by first looking up the LA using the destination MAC address. The LA is then formed using the LDA (i.e., the lookup address in the table) and the LSA (i.e., the contents of the table at the LDA address).
At the destination, the LA is checked to determine if the message was addressed to this site. This is achieved by using the second half of the LA (i.e. the LSA sent by the source) as the lookup address in its table and comparing that content with the first half of the LA in the message (i.e. the LDA sent by the source).
The link address allocation procedure may be implemented using the long RST and the long CTS frames or by using two management frames, i.e., a Link Address Setup (LAS) and a link address setup response (laser). The LAS frame is transmitted by the originating station and includes the LDA portion of the LA. The laser frame is transmitted by the destination station and includes an LSA portion of the LA. The process of establishing a link address is described in the following section.
8.1.1 Link Address establishment Using management Frames
According to the invention, the two stations communicate with each other using link addresses. The following procedure is used to establish a link address between two stations using LAS and laser management packets. However, prior to establishing the link address, SST packets with ACK and VLA ═ 0 are used for communication.
Fig. 33 shows a flowchart representing a link address assignment method of a transmitting station. First, the sending station randomly selects a new LDA from a list of unused LDAs (step 290). The LAS frame with the new LDA is then transmitted to the receiving station (step 292). Then, the transmitting station waits for reception of a laser frame from the destination station (step 294). If a LASR frame is received, the address table is updated with the received LSA (step 302). Otherwise, if the LSAR timeout is reached (step 296), the process is repeated MAX _ LAS _ retries times (step 298). If a LASR frame has not been received after the maximum number of retries, a link failure is declared (step 300).
Fig. 34 shows a flowchart representing a link address assignment method of a receiving station. An LAS frame is received from a transmitting station (step 310). The destination site then randomly selects a new LSA from a pool (pool) of available LSAs (step 312). The destination site then updates its address table with the received LDA, thus completing the LA (step 314). It then transmits the selected LSA to the transmitting station in an ARLS frame (step 316), after which the selected LSA is recorded in the address table of the transmitting station.
Note that if LASR is not acknowledged, the destination site marks the new LA as "problematic," but does not delete its entry from its LA table. If the sending station initiates a session using the new LA, the receiving station changes the state of the LA to "established". If the receiving station must initiate a new session with the transmitter, a new LA is established instead of the "problematic" LA.
8.1.2 Link Address setup Using Long RTSCTS Frames
The channel is acquired using a long RTS and a long CTS control frame. The sending station uses the LDA field of the long RTS to allocate LDA and the receiving station responds by allocating LSA using the LSA field in the long CTS, thus completing the new LA. The advantage of using long RTS and CTS frames is that there is no need to wait until the LA is established before sending the host data packet.
8.1.3 Link Address duplication solution
The above-mentioned combination of a large link address space (2)16One possible link address) significantly reduces the likelihood of collisions. In some extreme cases, however, duplicate link addresses may occur. The MAC protocol of the present invention includes a mechanism to resolve duplicate link addresses. The occurrence of duplicate link addresses may have one of the following effects: (1) the CTS response frames from both stations collide preventing reception at the source station to either, or (2) only one CTS response frame is received but from the wrong station, (3) both stations respond with CTS and both responses are correctly received at the source station.
The first scenario is prone to link failure because the source cannot transmit to the destination station. To address this type of duplicate address problem, the source station attempts to establish a new link address (using a management frame approach) before declaring a link failure.
The second and third cases tend to cause packets to be received by the wrong station. To address this type of duplicate address problem, the source station inserts the MAC address of the destination station into the packet. Upon receiving the packet, the destination station checks the MAC address and if not, the destination discards the packet and establishes a new LA. Otherwise, processing is performed as described above.
8.2 Power and Rate Adaptation
The power and rate adaptation process assumes that the physical layer is adapted to change its power and rate settings during the transmission session. The algorithm is suitable for implementation as a transceiver including a physical layer having such capabilities. The MAC protocol is adapted to change the power level and rate of ongoing connections in order to enhance connectivity and reliability in the network. The MAC layer uses statistics gathered from the channel to manage rate and power.
The combination of power level and rate is defined as a Power Level and Rate (PLR) state. The PLR state ranges from 1 to m, with PLR state 1 corresponding to a minimum power level and a maximum rate, and PLR state m corresponding to a maximum power level and a minimum rate. For each link, the transmitter dynamically calculates the percentage PrErrData of the corrupted data frame using equation 11 given below.
The PLR status is not changed during the session. The decision to increase, decrease or not change the PLR status is made by the transmitter prior to the transmission of the first RTS frame of the session. The length of the fragment is determined according to the transmission rate. If the transmission of the MaxFragNumber's data frame exceeds the Session _ Timeout, the length of the segment is reduced to meet the Session _ Timeout limit (see section 3.3).
The reserved field in the ACK frame is calculated according to the transmission rate used by the transmitter. When the session is over, the transmitter records the power level and rate used in the transmission. The power level and rate records will be used for the next transmission on the same link.
According to the invention, each site maintains a database called neighboredstates, which is used to store the collected statistics. The neighboredstates database includes an entry for each link maintained by the site. Each entry includes the following fields:
LastPL: the last power level used on this link;
LastRate: the last rate used on this link;
percentage of PrErrData corrupted data frames;
note that the LastPL and LastRate fields are updated when the station ends the transmission session. The quantity PrErrDate is calculated using two counters as follows:
wherein
TotalNumOfRecData is the total number of data frames received from the link (including erroneous data frames);
ErrDataFrame is the number of erroneous data frames received from this link;
α is a weight assigned to the statistical history;
the TotalNumOfRecData and ErrDataFrame quantities are updated as the station receives and transmits sessions. After the PLR state change, the quantity PrErrDAT is reset to 0.
The PLR status changes as follows. If PrErrDAt is higher than DecPLRThreshold, the transmitter lowers the PLR state. For PLR states 1 to n, DecPLRThreshold is equal to plinchreshold. DecPLRThreshold is equal to RDechhreshold for PLR states n +1 through m. After reducing the rate of a particular link, the transmitter resets all counters for that link.
If PrErrDAT is NumOfGoodSessions times lower than IncPLRThreshold, the transmitter increases the PLR state. For PLR states 1 through n, NumOfGoodSessions is equal to PLDecThreshold. NumOfGoodSessions is equal to RIncThreshold for PLR states n +1 through m. After increasing the rate of the link, the transmitter resets all counters for the link.
To be suitable for the TCP protocol, the initial PLR level is set to a minimum level in order to ensure connectivity, IncPLRThreshold and DecPLRThreshold start from small values and increase with each PLR state increase until their final values are reached.
8.3 statistical information
According to the present invention, a station receives statistical information from other stations using a request for collected statistical information (RGS) frame. The station receiving the request responds with a collected statistics response (GSR) frame. The GSR frame is sent as a broadcast session initialized to 0 as MAX _ HTL. Optionally, each station is adapted to broadcast a GSR frame with MAX _ HTL equal to 0 periodically every StatInterval. In addition, each station broadcasts a management frame that includes the priority type of the session that the station sent in the past StatInterval seconds. The stations add the received information to their statistics and calculate the CWMin value based thereon.
9. Layer management frame
The MAC protocol is adapted to provide several different types of management frames. Fig. 35 shows a diagram representing the structure of a management frame. The format of the management frame is based on the format of an SST data frame and includes a 28-bit frame control header followed by 11/15-byte management header, a variable length management item (payload), and a 16-bit FCS.
9.1 frame control header (management frame)
The format of the frame control header is the same as the header format of the data frame described in more detail in section 7.5.1 above.
9.2 management headers
Fig. 36 shows a diagram representing the structure of the header of the management frame. The management header includes a payload header of 10/14 bytes with a flag set to indicate SST header, followed by a management entry field of 1 byte number. SST headers are described in section 7.5.1 above.
9.3 management items
Fig. 37 shows a diagram representing the structure of the management item portion of the management frame. Each management entry includes a 1-byte Management Type (MT) field followed by a variable length Management Data (MD) field.
9.3.1 management type
Possible values for the Management Type (MT) field are listed in table 12 below.
Table 12: value of management type field
9.3.2 management data
9.3.2.1 Link Address Setting (LAS)
The LAS entry is used to allocate a Link Address (LA) between two sites (see section 8.1). The LAS entry includes a 1-byte management entry containing a Link Destination Address (LDA).
9.3.2.2 Link Address Setup Response (LASR)
The receiving station acknowledges the LAS frame with the laser entry during the link address assignment process (see section 8.1). The laser entry is a 1-byte management entry including a Link Source Address (LSA).
9.3.2.3 Transponder search (RS)
The source site sends the RS entry as a broadcast session to search for possible repeater sites (see section 4). The RS entry is a 12-byte management entry that includes a 6-byte initial destination mac (odm) address followed by a 6-byte initial source mac (osm) address.
9.3.2.4 Source Cancellation Repeater (SCR)
The initiating source sends an SCR term to the transponder to terminate its role as a transponder. The SCR entry is a 6-byte management entry including an initial destination MAC address (ODM) of 6 bytes.
9.3.2.5 Link present (LE)
The initial source station sends an LE entry to the initial destination station to check if a direct link exists between the two stations. The LE entry has no management data.
9.3.2.6 Link Presence response (LER)
The receiver sends an LER entry to indicate that an LE was received. The LER item has no management data.
9.3.2.7 Failed Connection (FC)
The repeater sends an FC entry to the initial source station to indicate that communication with the initial destination station has failed and may or may not result in a transmission. FC is a 1 byte management entry that includes an initial destination MAC address of 6 bytes.
9.3.2.8 Long RTS/CTS
As described above, the MAC protocol is adapted to provide long RTS and CTS frame transmissions for synchronization and link address assignment purposes. As shown in table 13 below, the long RTS/CTS entry includes a 4-byte management entry for the LDA/LSA, followed by the RES and TTT.
Table 13: long RTS/CTS management items
9.3.2.9 transponder search response (RSR)
As an acknowledgement to the RS frame, the repeater sends an RSR entry. The RSR entry is a 14-byte management entry including the destination MAC address, the source MAC address thereafter, the PLR status between the repeater and the OS station, and the PLR status between the repeater and the OD station. The definition of the RSR management entry field is given in table 14 below.
Table 14: RSR management items
9.3.2.10 request channel detection (RCS)
The station transmits an RCS entry to request channel sensing parameters. The RCS has no management data.
9.3.2.11 channel detection response (CSR)
The station sends a CSR entry as a response to the RCS frame. The CSR frame is a 2-byte management entry, which includes CQ, AvgCQ, CS txdacounter, and CS txfail counter (see section 1.11), as shown in table 15 below.
Table 15: CSR management items
9.3.2.12 Request for Gathering Statistics (RGS)
Stations send RGS entries to request statistical parameters from other stations. The RCS has no management data.
9.3.2.13 response to collected statistics (GSR)
The station sends a GSR entry as a response to the RGS frame (see section 1.12). The GSR is a 19-byte management entry that includes the statistical parameters shown in table 16 below.
Table 16: QSR management items
9.3.2.14 Request Global Time Update (RGTU)
The station sends an RGTU entry to request global time (see section 1.10). RGTU has no management data.
9.3.2.15 Global Time Update Response (GTUR)
The station sends a GTUR entry as a response to the RGTU frame (see section 1.10). The GTUR is a 2-byte management entry that includes a 16-bit Time To Tick (TTT) field.
9.3.3 management frame priority
Management frames sent prior to a session are assigned a higher priority than the session (if such a priority level exists). These frames include: LAS, LASR, Long RTS/CTS, RS, RSR, SCR, LE, LER, and FC. The management frame containing the important information for immediate use, which is transmitted by the station in response, is assigned the highest priority. These frames include: RCS, CSR, RGTU, and GTUR. The management frame requesting or including information for general use and continued operation of the station is assigned the lowest priority. These frames include: RGS and GSR. Station comprising a medium access controller
An exemplary embodiment of a node apparatus of the present invention including a Medium Access Controller (MAC) will now be described. Fig. 38 illustrates a block diagram of an example station that represents a mechanism suitable for implementing the MAC protocol of the present invention. The station, generally indicated at 320, represents a station that may operate independently or be incorporated into a network device such as a switch, router, hub, broadband modem, cable modem, PLC-based modem, etc., for performing communication functions (i.e., implementing OSI protocol stack functions including MAC functions). The node device includes an application processor 330, the application processor 330 having associated static, dynamic, volatile and/or nonvolatile memory (not shown) in communication with the processor. The application processor also communicates with a host computing device 334 through a host interface 332. The host may be adapted to communicate over one or more other networks.
The station also includes a media coupling circuit 322 that functions as an interface for the station to the shared media 340. The transmit circuitry 324 and receive circuitry 326 communicate over a medium through the medium coupling circuitry. The Rx circuitry is adapted to provide not only the received data but also FCD and CD carrier sense signals used by the MAC during channel contention. At one end, the Media Access Controller (MAC)328 functions to provide transmit data to the transmit circuitry and receive data from the receive circuitry. On the processor side, it interfaces with the application processor. The MAC is adapted to implement the functions of the MAC protocol layer of the present invention including controlling access to the shared medium using the methods and techniques described above.
Note that the media access control described may be implemented in software and is suitably embodied in a computer readable medium, such as a magnetic disk, floppy disk, flash memory card, EEROM based memory, bubble memory, RAM memory, ROM memory, or the like. The software may also reside, in whole or in part, in a static or dynamic main memory of a computer system or in firmware within a processor. The processor may include any suitable processing device, including microcontrollers, microcomputers, microprocessors, digital signal processors, FPGA cores, ASIC cores, and the like. In particular, the media access control software comprises a sequence of instructions which, when executed by a processor, cause a computer system to perform the steps of any of the above-described MAC layer methods.
In another embodiment, the present invention may be adapted to implement the above described methods and apparatus in an integrated circuit, in particular in an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or chipset, a wireless modem implementation, a power line modem implementation, a switching system product, and a transmission system product. Note that it is also possible to implement a combination of software and hardware, the former performing complex operations and the latter performing time-critical operations.
For the purposes of this document, the term switching system product is used to refer to private branch exchange (PBX), central office switching system interconnecting subscribers, long distance/tandem switching centers, broadband core switches at the center of a service provider's network that can be fed by broadband edge switches or access multiplexers, and related signaling and support systems and services. The term transport system product is used to refer to the product and associated signaling and support systems and services that are used by service providers to provide interconnections between their subscribers and their networks, such as ring systems, and to provide multiplexing, aggregation and transport between switching systems across a wide area of service providers.
It is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the limited number of embodiments illustrated herein. It is therefore to be understood that all suitable variations, modifications and equivalents may be resorted to, falling within the spirit and scope of the invention.

Claims (71)

1. A method of accessing a channel in a network for use in a communication transceiver connected to the network, the transceiver being adapted to provide a carrier sense signal comprising a fast carrier sense, FCD, signal generated at a relatively short time after the start of transmission compared to a carrier sense, CD, signal, the fast carrier sense signal having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal being generated after the fast carrier sense signal and indicating with a high probability that transmission is starting, the method comprising the steps of:
establishing a channel contention period after the termination of the current transmission session, said channel contention period being divided into a plurality of time slots, each time slot having a width substantially equal to the time of said FCD signal;
initializing a back-off counter with a back-off value equal to a random number of time slots;
decreasing said back-off counter when said channel is idle;
when receiving the FCD signal, pausing the back-off counter;
when no CD signal arrives in the CD time, continuously reducing the back-off counter;
when receiving CD signal, postponing transmission to next competition period; and
when the back-off counter expires, transmission is started.
2. The method of claim 1, wherein termination of the current transmission session is indicated by a change in the status of the channel from busy to contended.
3. The method of claim 1 further comprising: a contention frame gap CIFS is inserted between the end of the previous transmission session and the beginning of said channel contention period.
4. The method of claim 1 further comprising the step of attempting to reserve said channel upon expiration of said backoff counter.
5. The method of claim 1 further comprising the step of reserving the channel by sending a request-to-send RTS frame with a reservation time to a destination station.
6. The method of claim 1 further comprising the step of reserving the channel by transmitting a clear to send, CTS, frame with a reservation time from the destination station to the source station.
7. The method of claim 1, wherein each contention period is further divided into a plurality of contention windows, each contention window corresponding to a different priority.
8. The method of claim 7, wherein the size of each contention window is dynamically adjusted as a function of the number of stations in the network.
9. The method of claim 8, wherein the number of stations is determined using a management frame.
10. A method as claimed in claim 8, wherein the number of stations is determined by calculating an estimate of the number of stations in the network as a function of the current size of the contention window and the time from when a station is allowed to transmit until when it actually starts transmitting.
11. The method of claim 7, wherein the back-off counter is suspended until a contention window corresponding to a priority of a transmission to be transmitted arrives.
12. The method of claim 1, wherein the initializing step comprises selecting a random number of slots between 0 and the size of the contention window.
13. The method of claim 1, wherein said back-off counter continues from a value prior to receipt of a most recent FCD signal.
14. The method of claim 1, wherein the absence of receipt of a CD signal within the CD time at which the FCD signal was received indicates that said FCD signal is a false alarm.
15. The method of claim 4, further comprising the step of releasing the once reserved channel or decrementing a reservation counter in the event of a link failure.
16. The method of claim 15, wherein the link failure is indicated by a frame adapted to indicate CTS failure.
17. The method of claim 15 wherein the link failure is indicated by a frame adapted to indicate an RTS failure.
18. The method of claim 1, further comprising the step of releasing said channel upon expiration of a maximum time allocated to the session.
19. The method of claim 1, further comprising the step of decrementing one or more reservation counters, each reservation counter maintaining a reservation time, wherein a separate reservation counter is maintained for each session detected by the station, and wherein said channel is considered released only when the reservation counter with the largest reservation time expires.
20. A method of accessing a channel in a communication transceiver connected to a communication channel, the method comprising the steps of:
establishing one or more contention windows after termination of a current transmission session, assigning a priority to each contention window, and subdividing each contention window into a plurality of backoff slots, wherein the width of each backoff slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating that transmission is starting with a higher probability;
deferring 0 or more contention windows until a contention window having a priority corresponding to the priority of the particular transmission arrives;
initializing a backoff counter using a backoff value equal to a random number of backoff slots;
decreasing said back-off counter when said channel is idle; and
after expiration of said backoff counter, attempting to reserve said channel.
21. The method of claim 20, wherein the width of the backoff time slot is a multiple of the carrier detect CD signal.
22. The method of claim 21, wherein the CD signal is generated at a relatively long time after the start of transmission compared to the FCD signal, the CD signal having a low false alarm rate and indicating that transmission is beginning.
23. The method of claim 20, wherein the width of the backoff time slot is a multiple of a Fast Carrier Detect (FCD) signal.
24. The method of claim 23, wherein the FCD signal is generated at a relatively short time after transmission is initiated compared to the CD signal, the FCD signal having a high false alarm rate and indicating that transmission may be being initiated.
25. The method of claim 20, further comprising the steps of:
when a Fast Carrier Detect (FCD) signal is received, pausing the back-off counter;
when no carrier wave detection CD signal arrives in the CD time, continuously reducing the back-off counter; and
when a CD signal is received, transmission is deferred until after the subsequent transmission is completed.
26. The method of claim 20, wherein the step of attempting to reserve the channel comprises sending a request-to-send RTS frame containing a reservation time to the destination station.
27. The method of claim 20, further comprising the step of declaring a link failure after a predetermined number of attempts to reserve the channel have been made.
28. The method of claim 20, further comprising the step of increasing a size of a contention window after a failure to reserve the channel.
29. The method of claim 20, further comprising the step of: if the channel is successfully reserved, the size of the contention window is reduced to the size of the smallest contention window.
30. The method of claim 20, further comprising the step of adjusting the size of each contention window as a function of the number of stations in the network.
31. A carrier sense multiple access, CSMA, based communication system in which transmission is preceded by a contention phase during which one or more transmitters contend for access to a channel, the system comprising:
means for establishing one or more contention windows, each contention window being assigned a priority;
means for dividing each contention window into a plurality of backoff slots, wherein detection of a carrier sense signal during a slot potentially indicates that the channel is busy and the width of each backoff slot is substantially equal to the time of a fast carrier detect FCD signal generated at a relatively short time after the start of transmission compared to a carrier detect CD signal, the fast carrier detect signal having a high false alarm rate and indicating that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating that transmission is starting with a high probability;
backoff means adapted to count a randomly selected backoff time equal to a plurality of said backoff slots using a backoff counter; and
reservation means adapted to attempt to reserve said channel after expiry of said backoff counter and to enable transmission after successful reservation of said channel.
32. The system of claim 31, wherein said fallback means comprises:
means for suspending said back-off counter during a back-off time slot in which a fast carrier sense FCD signal is detected;
continuing said back-off counter during a back-off time slot in which no FCD signal is received; and
after receiving the carrier sense CD signal within the CD time when the FCD signal is not received, the transmission is deferred until the next contention phase.
33. The system according to claim 32, wherein said FCD signal is detected faster than said CD signal.
34. The system according to claim 32, wherein said FCD signal has a higher false alarm rate than said CD signal.
35. The system of claim 31 wherein said fallback means comprises means for resuming transmission upon receipt of a CD signal.
36. The system of claim 32, wherein said backoff counter is adapted to generate a new random backoff time in response to said deferred transmission.
37. The system of claim 36, wherein said back-off counter is adapted to continue counting from a time at which said back-off counter previously stopped after continuing said transmission.
38. A system as claimed in claim 31, wherein said reservation means is adapted to send a request-to-send RTS frame containing a reservation time to the destination station.
39. A system as claimed in claim 31, wherein the reservation means is adapted to send a clear to send CTS frame containing the reservation time from the destination station to the source station.
40. The system of claim 31 wherein said means for partitioning each contention window comprises adjusting means adapted to adjust the size of each contention window as a function of the number of stations contending for the channel within said contention window.
41. A system as recited in claim 40, wherein said number of stations is determined using a management frame.
42. A system as claimed in claim 40, wherein the number of stations is determined using means for calculating an estimate of the number of stations in the network as a function of the current size of the contention window and the time from when a station is allowed to transmit until when it actually starts transmitting.
43. The system of claim 31, further comprising means for releasing the once reserved channel in the event of a link failure.
44. The system of claim 43 wherein the link failure is indicated by a frame adapted to indicate a CTS failure.
45. The system of claim 43 wherein the link failure is indicated by a frame adapted to indicate RTS failure.
46. The system of claim 43, wherein the link failure is indicated by a frame adapted to indicate an ACK failure.
47. The system of claim 31, further comprising means for releasing the channel if a maximum time allocated to a session expires.
48. The system of claim 31, further comprising means for decrementing one or more reservation counters, each reservation counter maintaining a reservation time, wherein a separate reservation counter is maintained for each session detected by a station, and wherein the channel is considered released only when the reservation counter with the largest reservation time expires.
49. A communication transceiver for transmitting and receiving on a carrier sense multiple access, CSMA, frame based communication network, wherein the transmission of frames is separated by a contention frame gap, CIFS, during which one or more nodes contend for access to the network, the transceiver comprising:
a coupling circuit for generating a received signal received on said network and for outputting a transmitted signal onto said network;
the transmitter is adapted to modulate data to be transmitted in accordance with a modulation scheme to produce said transmission signal therefrom;
the receiver is adapted to demodulate said received signal in accordance with said modulation scheme to produce therefrom a received data signal and to generate a carrier sense signal comprising a fast carrier detect FCD generated at a relatively short time after the start of transmission compared to a carrier detect CD signal, having a high false alarm rate and indicating that transmission may be starting, and said CD signal generated after said fast carrier detect signal, having a low false alarm rate and indicating that transmission is starting;
medium access control, MAC, said medium access control comprising means adapted to:
establishing one or more contention windows after termination of a current transmission session, each contention window being assigned a priority and being subdivided into a plurality of backoff slots, wherein a width of each backoff slot is substantially equal to a time of the FCD signal;
deferring 0 or more contention windows until a contention window having a priority corresponding to a particular transmitted priority arrives;
initializing a backoff counter with backoff values equal to a random number of backoff slots;
decreasing said back-off counter when a channel for access to said network is idle;
attempting to reserve said channel after said backoff counter has expired;
when the channel is reserved successfully, the channel is sent to the channel; and
a processor adapted to control the operation of said transmitter, receiver and MAC and to provide an interface between said MAC and an external host.
50. The transceiver of claim 49, wherein termination of the current transmission session is indicated by a change in the channel state from busy to idle.
51. The transceiver of claim 49, wherein the MAC means is adapted to insert a contention frame gap, CIFS, between the end of a previous transmission session and the beginning of the channel contention period.
52. The transceiver of claim 49, wherein reserving the channel comprises sending a request-to-send (RTS) frame including a reservation time to a destination station.
53. The transceiver of claim 49, wherein a function of the number of stations in the network dynamically adjusts the size of each of the one or more contention windows.
54. The transceiver of claim 53, wherein the number of stations is determined using a management frame.
55. A transceiver as claimed in claim 53, wherein the number of stations is determined using means for calculating an estimate of the number of stations on the network as a function of the current size of the contention window and the time between when a station is allowed to transmit and when it actually starts transmitting.
56. The transceiver of claim 49, wherein the back-off counter is suspended until a contention window corresponding to a priority of a transmission to be transmitted arrives.
57. The transceiver of claim 49, wherein the initializing step comprises selecting a random number of time slots between 0 and the size of the contention window.
58. The transceiver of claim 49, wherein the back-off counter continues from a value prior to receipt of a most recent Fast Carrier Detect (FCD) signal.
59. The transceiver of claim 49, wherein the absence of receipt of a carrier sense CD signal during the CD time that the fast carrier sense FCD signal is received indicates that the FCD signal is a false alarm.
60. A method of accessing a communication channel in a network comprising a plurality of stations, the method comprising the steps of:
establishing one or more contention windows within which the stations contend for access to the communication channel;
assigning a different priority to each of said one or more contention windows;
initializing a back-off counter with a back-off value equal to a random number of back-off time slots, wherein each back-off time slot has a width substantially equal to the time of a fast carrier sense (FCD) signal generated at a relatively short time after the start of transmission compared to a carrier sense (CD) signal, the fast carrier sense signal having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal being generated after the fast carrier sense signal and indicating with a high probability that transmission is starting;
waiting until a contention window corresponding to a priority level of transmission by a specific station arrives, and decreasing the back-off counter when the communication channel is idle after the contention window arrives; and
attempting to reserve said communication channel upon expiration of said backoff counter.
61. The method of claim 60, wherein the contention window is increased in size when a station fails to reserve the communication channel.
62. The method of claim 60, wherein the size of the contention window is reduced after a station successfully reserves the communication channel.
63. In a network comprising a plurality of stations, a method of accessing a communication channel, the method comprising the steps of:
establishing one or more contention windows within which the stations contend for access to the communication channel;
assigning a priority to each of the one or more contention windows;
initializing a back-off counter with a back-off value equal to a random number of back-off time slots, wherein each back-off time slot has a width substantially equal to the time of a fast carrier sense (FCD) signal generated at a relatively short time after the start of transmission compared to a carrier sense (CD) signal, the fast carrier sense signal having a high false alarm rate and indicating that transmission may be starting, the carrier sense signal being generated after the fast carrier sense signal and indicating with a high probability that transmission is starting;
waiting until the arrival of a contention window having a priority corresponding to the priority of transmission by a particular station, and when the contention window arrives and the communication channel is idle, decrementing the back-off counter;
attempting to reserve said channel after said backoff counter has expired; and
and adjusting the size of the contention window as a function of the number of stations contending for the communication channel within the contention window.
64. The method of claim 63, wherein the contention window is increased in size when a station fails to reserve the communication channel.
65. The method of claim 63, wherein the contention window is reduced in size after a station successfully reserves the communication channel.
66. A method as recited in claim 63, wherein said number of sites is calculated according to the following equation:
where the expected value of t is:
where CW is a contention window, each station randomly selects a backoff value within CW, N is the number of stations contending for the communication channel at any given time, t is the actual time from the time a station is allowed to transmit to the time a station begins transmitting, and E [ t ] is the expected value of t.
67. A method of accessing a communication channel in a network comprising a plurality of stations, the method comprising the steps of:
establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting;
estimating the number of stations in the network as a function of the size of the current contention window and a time t from the moment a station is allowed to transmit until the actual time a station starts transmitting;
adjusting the size of each of said one or more contention windows as a function of the estimated number of stations in said network; and
each station defers attempts to reserve the communication channel until the contention window associated with a particular transmission arrives.
68. A method of accessing a communication channel in a power line carrier based network comprising a plurality of stations, the method comprising the steps of:
establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting;
assigning a different priority to each of said one or more contention windows;
each station monitors the communication channel to see whether carrier signals exist;
each station which wants to send selects random back-off time;
each station waits until a contention window arrives, whose associated priority corresponds to the priority of transmission by the particular station;
waiting for a random backoff time within the contention window having the matched priority;
attempting to reserve said communication channel after said backoff time has expired; and
suspending the inverse of said backoff time if the presence of a carrier signal is detected.
69. A method of accessing a communication channel in a network comprising a plurality of stations, the method comprising the steps of:
establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting;
initializing a backoff counter with backoff values equal to a random number of backoff slots;
waiting until the arrival of a contention window corresponding to a particular transmission and, when it arrives, decrementing said backoff counter when said communication channel is idle;
attempting to reserve said channel after said backoff counter has expired;
declaring the existence of a hidden station after a predetermined number of failed reservation attempts for the communication channel; and thereby
Increasing the width of the backoff slot and repeating the initialization step, waiting and attempting to reserve the communication channel.
70. A method of accessing a communication channel in a network comprising a plurality of stations, the method comprising the steps of:
segmenting a transmission session into a plurality of frames;
establishing one or more contention windows within which the stations contend for access to the communication channel, each contention window comprising a plurality of backoff time slots, wherein the width of each backoff time slot is substantially equal to the time for a Fast Carrier Detect (FCD) signal generated at a relatively short time after the start of transmission compared to a Carrier Detect (CD) signal that has a high false alarm rate and indicates that transmission may be starting, the carrier detect signal being generated after the fast carrier detect signal and indicating with a higher probability that transmission is starting;
initializing a backoff counter with backoff values equal to a random number of backoff slots;
waiting until the arrival of a contention window corresponding to a particular transmission and, when it arrives, decrementing said backoff counter when said communication channel is idle;
when said backoff counter expires, attempting to reserve said channel for a time sufficient to transmit said plurality of frames;
transmitting the plurality of frames from the transmitting station to the receiving station; and
the receiving station sends an ACK response to the sending station, where the ACK response includes a plurality of ACK bits, and each ACK bit indicates whether to resend one of the frames.
71. A method of accessing a communication channel in a network comprising a plurality of stations, the method comprising the steps of:
estimating the number of stations in said communication network according to:
where the expected value of t is:
and where CW represents the width of one or more contention windows within which each station randomly selects a backoff slot, N is the number of stations contending for the channel at any given time, t is the actual time from the time a station is allowed to transmit until the time a station begins transmitting, and E [ t ] is the expected value of t, each contention window comprising a plurality of backoff slots, wherein the width of each backoff slot is substantially equal to the time of the fast carrier detect FCD signal, the fast carrier detect signal is generated at a relatively short time after the start of transmission compared to the carrier detect CD signal, the fast carrier detect signal having a high false alarm rate, and indicates that transmission may be commencing, said carrier sense signal being generated after said fast carrier sense signal and indicating with a higher probability that transmission is commencing.
HK04109105.9A 2001-06-18 2002-06-18 Channel access method for powerline carrier based media access control protocol HK1066352B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/883,589 2001-06-18
US09/883,589 US7570656B2 (en) 2001-06-18 2001-06-18 Channel access method for powerline carrier based media access control protocol
PCT/IL2002/000475 WO2002103943A1 (en) 2001-06-18 2002-06-18 Channel access method for powerline carrier based media access control protocol

Publications (2)

Publication Number Publication Date
HK1066352A1 HK1066352A1 (en) 2005-03-18
HK1066352B true HK1066352B (en) 2011-03-04

Family

ID=

Similar Documents

Publication Publication Date Title
CN1533643B (en) Channel access method for power line carrier-based medium access control protocol
US5673031A (en) Redundant radio frequency network having a roaming terminal communication protocol
US7916747B2 (en) Redundant radio frequency network having a roaming terminal communication protocol
EP0560886B1 (en) Multiaccess carrier sensing network communication protocol with priority messages
Giambene Queuing theory and telecommunications: networks and applications
US5339316A (en) Wireless local area network system
US8274961B2 (en) Apparatus and associated methodology of adjusting a RTS/CTS transmission protocol
US7406094B2 (en) Power line communication network
US8432888B2 (en) Wireless communication system, wireless communication device and wireless communication method, and computer program
US20040081089A1 (en) Transmitting data on scheduled channels in a centralized network
EP2237492A1 (en) System and method for retransmitting packets over a network of communication channels
JP2002185473A (en) Medium access control protocol with priority and contention-free interval
US20040062229A1 (en) Relay transmission of data in a centralized network
JP2004350086A (en) Communication control method
US8468252B2 (en) Selecting optimal transmission in a centralized network
HK1066352B (en) Channel access method for powerline carrier based media access control protocol
CN119603729B (en) Coexisting transmission method for WIA-FA network and other wireless network protocols
JP2008211600A (en) Wireless communication system, communication apparatus, and communication control method
WO1991009366A1 (en) Method and apparatus for dispersed end-entity flow control in computer networks