The invention relates to a network comprising several devices where the transmission operation of one device blocks the other devices that share the network. A mechanism for the medium access control is for example the Carrier Sense Medium Access with Collision Detection (CSMA/CD) in the Ethernet. An advantage of wireless networks is their ease of installation and their flexibility. On the other hand, the demands for the ability to run real-time applications such as Voice over Internet Protocol (VoIP) over these networks has to be answered. A mechanism called Point Coordinator Function (PCF) of the IEEE 802.11 supports real-time traffic.
The invention relates to a method of synchronizing devices that share a transmission medium. In a shared medium all the subscribing stations are connected via a commonly used medium. In the shared medium the data are seen by every node. If the address of a frame matches with the address of a node the data are operated by the subscribing device, if the address does not match the data are rejected.
The invention especially relates to the Quality of Service (QoS) support on unpredictable media. The QoS requirements of real-time traffic concern among others bandwidth, bounded delay and jitter. The network may be based on power line or wireless transmission, e.g. in a Local Area Network (LAN). The transmission mechanism has to be compatible with the CSMA/CD. Carrier Sense means that a station that intends to occupy a time slot for a certain period senses if the channel is busy or not. Only if the medium is free the station may transmit. Multiple Access means that one station immediately after a transmission of a packet re-accesses the medium in order to transmit further data packets.
On such a shared medium real-time transmissions as well as non real-time transmissions occur. Before the transmission starts a station senses the channel and synchronizes itself to the network.
The invention further relates to a method of distributed allocation for a Medium Access Control (MAC). The mechanism for the allocation is based on a priority principle.
Each device serving an isochronous application which requests parameterized guarantees (in terms of latency and bandwidth) has to occupy a time slot. A busy signal and a release symbol margin a time slot.
The length of a medium affects fair, shared access to the medium concerning the delay between frames and the minimum frame length as well as the strength of the electrical signals and noise immunity.
A LAN is a network with the features
The Ethernet that is defined in IEEE 802.3 and ISO 8802/3 is based on the CSMA/CD.
One object of the invention is to provide a method of distributed allocation for a medium access control (MAC) that enables real-time transmission as well as non real-time transmission on an unpredictable medium wherein a time frame comprises at least one part for real-time transmission and another part for non real-time transmission.
Another object of the invention is to provide a method for re-organizing the sequence for the medium access of at least two devices when an unused slot is detected, the at least two devices constitute a network wherein time slots are used for data transmission.
A further object of the invention is to provide a method for avoiding collision between a non real-time transmission and the beginning of a time frame.
It is also an object of the invention to provide a method of synchronizing a device that intends to occupy a time slot in a shared medium.
A further object of the invention is to provide a frame structure for a time frame or super frame that enables both real-time and non real-time transmission.
As regards the method of distributed allocation for a Medium Access Control the object is solved by a method as defined in claim 1. During the monitoring step the state of the medium is detected by sensing the medium and determining whether the medium has unused slots or not. The slot pre-occupying step serves as a back-off during which time a possibly occurred collision can be detected. And only if a collision is ruled out the send data step is started.
During the monitoring step the device may count the slots that are already occupied. In a fixed system the length of a time frame and of a transmission portion is preset and thus the maximum number of slots.
Counting the slots may be performed by counting busy and release signals that are transmitted before and after a data package is transmitted by another device as the busy and the release signals have a certain format and thus can be recognized.
It is advantageous that the device detects the time used by the slots within the frame as then the remaining time of the time frame can be computed and a transmission would only be started if the remaining time is large enough to ensure that a data package supposed to be sent will completely be transmitted.
Preferably the detection of the time used by the slots is done by counting busy signals that are at the front of a data package.
During the preoccupying step a device with a given slot number counts the previous busy and release signals and subsequently occupies the frame with it's slot number and if a collision occurs after a random time sends a release signal and after a random back-off delay returns to the monitoring step. Thus the preoccupying step serves to avoid in the medium collision by two devices that found the same time slot idle while monitoring.
According to one embodiment during the send data step those devices occupying slots after an unused one compete for the free slot. Once the competition is done the data rate has increased as the formerly free slot is used again.
As regards the method for re-organizing the sequence for the medium access when an unused slot is detected the object is solved by a method with at least two devices that constitute a network wherein time slots are used for data transmission and wherein each of the at least two devices sends a busy priority signal and the device with the highest priority occupies the unused time-slot and updates it's slot number. The priority is inverse to the device's slot number, i.e. the device with the lowest slot number has the highest priority. This is a first-come-first-serve policy.
According to one embodiment the busy priority signal comprises an application priority field and a slot priority field. The application priority field contains an indicator whether it belongs to a real-time application or a non real-time application. The slot priority field may contain the slot number allocated to the device.
Preferably during the non real-time transmission of the medium the access is based on a protocol based on contention such as Carrier Sense Medium Access with Collision Resolution (CSMA/CR).
As regards the method for avoiding collision between a non real-time transmission and the beginning of a time frame the object is solved by transmitting a guard slot that is generated just before the beginning of the time frame. If a collision with the guard slot is detected by a device sending a data package the device stops sending and continues with that data package or the next one later. The use of the guard slot ensures that a possible collision occurs before a new time frame starts with sending a MFS.
As regards the method of synchronizing a device that intends to occupy a time slot in a shared medium the object is solved by independent claims 12 and 13. Claim 12 describes the case that a Master Frame Symbol is expected, claim 13 describes the case that an Echo Frame Symbol is expected.
If a MFS is sensed, the device monitoring the medium becomes a client device, transmits an EFS of first order to inform the master that it participates in the network and adopts the frame time of the master device.
If a MFS is not sensed, the device monitoring the medium itself takes on the role of the master client and transmits a MFS which then can be sensed by other devices monitoring the medium.
An EFS transmitted in the medium has a certain order indicating the hop of the subnet the generating device belongs to. If an EFS is sensed and a preset maximum number of hops is not reached, the device transmits an EFS of the order incremented by one. This EFS is forwarded in the network all through to the master device. The device computes the frame time of the master device as the delay between a MFS and an EFS is fixed and also is the delay between an EFS of a certain order and an EFS of the subsequent order. After having computed the time frame of the master device the new client device adopts it an also participated in the network. By this way even a device that cannot immediately sense a MFS as the device is a hidden node relative to the master device can nevertheless synchronize itself to the time frame.
If an EFS is sensed but it's order has reached a preset maximum number of hops, the device continues with sensing the medium and cannot participate in the currently constituted network.
If an EFS is not sensed, the device takes on the role of a master device, sets the time frame and transmits a MFS.
As regards the frame structure for a time frame or super frame that enables both real-time and non real-time transmission, the object is solved as the frame structure comprises
The EFS follows the MFS directly in time with a preset delay. This delay can be used by devices intending to synchronize to the medium for computing the time frame preset by the master device.
Preferably the frame structure's transmission part comprises time slots during which at least the data packages are sent.
The inventive methods may be used in a power line or wireless Local Area Network (LAN) for a transmission with constant bit rate of data belonging to the group of Voice, Voice over IP, Video, ISDN (Integrated Services Digital Network), LBA (Logical Block Addressing), VBA (Visual Basic for Applications), MPEG (Motion Pictures Experts Group).
The inventive method may also be used in a power line or wireless Local Area Network (LAN) for a transmission with variable bit rate of data for applications belonging to the group of Ethernet, Internet, printer or using HTTP (HyperText Transfer Protocol) or FTP (File Transfer Protocol).
The invention will be explained by means of example wherein the drawing shows in
T_max=t_start#2−t_start#1 <60%×T_frame (1)
The period T_frame has a static value whereas the period T_max is variable. The last division of transmission portion's first part part#1 is used as a guard time T_guard. The guard time T_guard is supposed to ensure that a real-time transmission is only started if it can be finished within the maximum time T_max.
In order to guarantee a minimum asynchronous transmission time T_part#2 even under heavy loaded conditions of the media this is defined as:
Tpart#2>20%×Tframe (2)
Just as an example the period of busy slots T_busy_slots is illustrated to show the period T_left remaining for transmission. As the number of devices or subscribers changes in time, the period of busy slots T_busy_slots may vary with each time frame.
This signal EFS2 is also sensed by a fourth device “D” but as the maximum number of hops h_max, in this example two hops, is reached the fourth device “D” does not send an Echo Frame Symbol (EFS) and thus does not belong to the currently constituted network which comprises in this example the devices “A”, “B” and “C”.
If a station or device, respectively, that once has been synchronized to the network does not anymore sense a MFS symbol or its echo, respectively, for a limited number of time frames it assumes that all other stations formerly belonging to the network are gone or are in a sleep mode, respectively. This device then takes on the role of the MFS master. If several devices are candidate to become an MFS master, they will compete for this role by collision resolution arbitration in the MFS time slot. That device that occupies the lowest time slot has the highest priority and wins the competition.
The steps a real-time application has to pass through are presented in the FIGS. 5 to 7.
According to a preferred embodiment the monitoring phase takes more than one frame if more than one hop is allowed in the subnet.
Once a slot number is given, isochronous devices use a busy priority signal with a priority in a “slot-number” field inversely proportional to the slot number. That is, the higher the slot number, the lower the priority.
Step 500 is the idle state of a real-time application. Step 501 is the input that a new connection is supposed to be performed. Step 502 is the state of waiting for the beginning of a time frame or super frame. Step 503 is the input of a Master Frame Symbol and/or an Echo Frame Symbol. Following the MFS/EFS input the tasks in step 504 are
After having prosecuted the tasks of step 504 the real-time application goes on to the monitoring state of step 505. In case the next input is a busy signal 506, the busy counter is incremented by one [busy_cnt++] and the application goes back to step 505 and continues with the monitoring state.
In case the input finishing the monitoring state is a release signal 508, in the following task step 509
Then the monitoring state 505 is taken up again.
If the step finishing the monitoring state is the input of an MFS/EFS 510, the device intending to perform a real-time application can synchronize itself to the net. In task step 511, the remaining time is computed by subtracting the time of busy slots from the frame time [T_left=T_frame−T_busy_slots].
In condition step 512 it is determined whether the remaining time is larger than 20% of the frame time [T_left>20% T_frame]. If the result of step 512 is
The following step 514 is a preoccupation state.
The first state 600 is a preoccupation state and equals step 514 of
The following next step 603 is the send data state.
If the preoccupation state 600 is finished by the input of a busy signal in step 604, in step 605
Then the loop goes back to the preoccupation state 600.
If the preoccupation state 600 is finished by input of a release signal in step 607, in step 608 the release counter is incremented [rel_cnt++].
In step 609 the condition whether the release counter is less than or equal to the number of slots minus 2 is determined [rel_cnt<=slot_num−2]. If the result is “true” the time interval is scheduled [schedule t_gap] and the loop goes back to the preoccupation state 600. If the result is “false” the next condition in step 611 is to determine if the release counter equals the number of slot numbers minus 1 [rel_cnt==slot_num−1]. If the result is “false” the loop goes back to the preoccupation state of step 600. If the result is “true” the output is a busy signal in step 612. In the next step 613 the condition whether a collision had occurred is determined. If the result is
If the input after the preoccupation step 600 is an end of rt-signal [end_rt] in step 619, afterwards in step 620 an output busy signal is transmitted. In the following step 621 the condition is determined whether the application had won. If the result is
Then the flow diagram continues with the collision step 613.
In step 700 the send data state equals the step 603 of
Then the loop goes back to step 700 with the send data state.
If the input of step 703 finishing the send data state is a busy signal in the following step 704
Then the loop goes back to the step 700 with the send data state.
If the input finishing the send data state is a release signal of step 705 in the following step 706 the release counter is incremented [rel_cnt++]. In the following condition step 707 it is determined whether the release counter is less than or equal to the result of the slot numbers minus 2 [rel_cnt<=slot_num−2]. If the determination's result is
If the result is
In the following step 712 the output is a release signal. In step 713 the condition whether the end of the connection is a reached is determined. If the result is
If the input finishing the send data state is an end of rt-signal of step 715 in the following step 716 a busy signal is output. The following step 721 is a condition step which determines whether the application has won. If the result is
The invention may be summarized by a method of distributed medium access control wherein a device that intends to send data first monitors the medium, then pre-occupies a slot and only in case a collision has not occurred starts sending the data; a method for re-organizing the device's sequence for the medium access by using a busy priority signal wherein the device with the highest priority occupies the unused slot and updates it's slot number accordingly; a method for avoiding collision wherein a guard slot is generated just before the beginning of the MFS; a method for synchronizing a device by sensing the medium for a MFS or an EFS and a frame structure with a MFS, an EFS and a transmission portion with both a part for real-time and a part for non real-time transmission.
Number | Date | Country | Kind |
---|---|---|---|
04100524.0 | Feb 2004 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB05/50285 | 1/25/2005 | WO | 8/7/2006 |