GB2481389A - Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry - Google Patents

Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry Download PDF

Info

Publication number
GB2481389A
GB2481389A GB1010371.1A GB201010371A GB2481389A GB 2481389 A GB2481389 A GB 2481389A GB 201010371 A GB201010371 A GB 201010371A GB 2481389 A GB2481389 A GB 2481389A
Authority
GB
United Kingdom
Prior art keywords
data items
transmission
transmitting
data item
data
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB1010371.1A
Other versions
GB201010371D0 (en
Inventor
Arnaud Closset
Brice Le Houerou
Norihito Aoki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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
Application filed by Canon Inc filed Critical Canon Inc
Priority to GB1010371.1A priority Critical patent/GB2481389A/en
Publication of GB201010371D0 publication Critical patent/GB201010371D0/en
Publication of GB2481389A publication Critical patent/GB2481389A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)

Abstract

The embodiment is a serial link connecting the MAC and PHY layers of a 60GHz radio link carrying application payload A1-16 and control data C1-7 and operating an ARQ protocol. The application data is delivered isochronously TC1-16 and must exit the physical layer after a fixed latency TC7-22. The sporadically arriving control data relates to the next radio transmission slot and must arrive in time for it to be processed TC19. The application/control data is provisionally scheduled II with application data followed by control data within a given packet. However in the event of transmission failures III the scheduling is modified. In order of decreasing importance are urgent critical control data, urgent/critical application data, application retransmission, control retransmissions, application transmissions, control transmissions and padding.

Description

Transmitting data items having different tytes of timing constraint
1. FIELD OF THE INVENTION
The present invention relates to a method and a device for transmitting data items, a computer program which causes a computer or processor to carry out the steps of the transmitting method, and an information storage means storing the computer program.
The invention falls within the technical field of data communications from a transmitting device to a receiving device and is particularly applicable for implementing a connection from a MAC layer to a PHY layer of a communication device.
2. TECHNOLOGICAL BACKGROUND
In conventional communication links, error management usually relies either on error-correction codes or on communication protocols with data acknowledgement and retransmission. Error correction codes are for instance convolution codes (e.g. code of Viterbi type) or block-codes (e.g. of Reed-Solomon type). Such error-correction codes aim at enabling the receiving device to correct corrupted data of the received packets on its own.
Communication protocols with data acknowledgement and retransmission, also referred to as ARQ (Automatic Repeat reQuest) protocols, are simply based on a retransmission of data detected as corrupted by the receiving device. Some techniques also mix both approaches and are known as Hybrid-ARQ communication protocols.
For a given stream of data items, the bandwidth allocated to transmit data items is selected greater than the mean data throughput, in order to allow data retransmission to face for instance fast transient perturbations (as normalized in the document IEC 61000-4-4 second edition, about electromagnetic compatibility (EMC) of electrical and electronic equipment). The bandwidth allocated may also be greater than the maximum data throughput for the given stream. Anyway, the bandwidth is limited for said given stream of data items and systematic retransmission of corrupted data items is not desirable. First of all, it may overload buffers at the transmitting device and significantly impact the transmission latency from the transmitting device to the receiving device.
Moreover, the quality of service may suffer from an interruption of the stream, due to unavailability at the receiving device of data items due to the extra-latency involved by the retransmission. This may be overcome by introducing extra-buffering at the receiving device, but this involves some extra cost, as well as an increase in the transmission latency, which might not be acceptable from the system or application standpoint.
US 7,124,333 proposes an approach consisting in giving priority to the data items transmitted from the transmitting device to the receiving device, and initiating a retransmission only if the corrupted data item has a priority level greater than a given threshold. Indeed, the transmitting device gives priority information to each data item awaiting transmission, and stores a copy of only data items having priorities greater than the given threshold. When a transmission error is detected by the receiving device, the priority information of the data item in error is retrieved and a retransmission request for the data item in error is output only if the retrieved priority is greater than the predetermined threshold. With this approach, only critical data items are retransmitted.
In at least one embodiment, it is desirable to overcome at least one of
these drawbacks of the prior art.
3. SUMMARY OF THE INVENTION
According to a first aspect, in at least one embodiment, the invention relates to a method of transmitting data items from a transmitting device to a receiving device, the transmitted data items including first data items subject to a first type of timing constraint and also including second data items subject to a second type of timing constraint and the first and second data items sharing a common transmission bandwidth. The transmitting device modifies a sharing rule for sharing said common transmission bandwidth between the first data items and the second data items, taking account of how the first and second timing constraints affect at least one data item awaiting transmission. Therefore, the ratio between the common transmission bandwidth and the throughput of the data items is improved. In other words, the extra amount of transmission bandwidth compared to the throughput of the data items is reduced compared
to the methods of the prior art.
Preferably: -the timing constraint of the first data items is that said first data items are available for processing at the receiving device a substantially fixed amount of time after said first data items are obtained by the transmitting device; and -the timing constraint of the second data item is that said second data items are available for processing at the receiving device at a substantially fixed instant in time.
For instance, the application data items should be made available for processing at a modem or a PHY layer. Therefore the application data items are made available for processing at the receiving device with the same scheduling as they are received by the transmitting device, with a constant shift in time.
For instance, the control data items are made available for processing at a modem or a PHY layer. Therefore plural control data items are simultaneously made available for processing at the receiving device, irrespective of the timing at which they are received by the transmitting device.
Yet another example of first given process is that the application data items are modulated by the receiving device and that the control data items provide control information to control (set parameters) the modulation of the application data items.
The bandwidth sharing rule discussed may also be applied to other sets of different timing constraints, as discussed hereafter.
Said sharing rule may be modified when a data retransmission is required for such a data item. Therefore the transmitting device may be reactive to occurrence of interferences that damage the data items transmission.
To take account of how the first and second timing constraints affect at least one data item awaiting transmission, the transmitting device may identify at least one data item, if any, considered in a time-critical situation with respect to the timing constraint to which it is subject. Therefore, when a data item is in a position in which there is a risk that the timing constraint to which it is subject is not met, then the transmitting device modify the sharing rule so that receiving of expired data items is limited.
In at least one embodiment, when a remaining time before expiry of second data items awaiting transmission is less than a first threshold, the transmitting device decreases a first share of said common transmission bandwidth allocated to said first data items and increases a second share of said common transmission bandwidth allocated to said second data items.
Therefore, this allows increasing the transmission priority of some second data items compared to the transmission priority of some first data items. It shall be noticed that it doesn't correspond to a switch of priorities between the transmissions of the first and second data items. This therefore allows fulfilling the need for data item retransmission without significantly affecting the first data items in view of their timing constraints.
It is understood herein by expiry of a data item a situation in which a data item doesn't meet its timing constraint.
When a remaining time before expiry of remaining second data items awaiting transmission is greater than the first threshold, the transmitting device may restore an initial sharing rule for sharing said common transmission bandwidth between the first data items and the second data items.
The initial sharing rule may involve transmitting each first application data item awaiting transmission and also involve transmitting second each control data item awaiting transmission.
The sharing rule may be modified so that it involves transmitting first each control data item in a time-critical situation with respect to the timing constraint to which it is subject and also involves transmitting second each application data item awaiting transmission. Therefore, each time-critical control data item is transmitted prior to each application data item and each application data item is transmitted prior to each other (i.e. non time-critical) control data item.
Preferably, the second data items correspond to control data items applicable to a processing of respective first data items by the receiving device.
For instance, as already mentioned, the control data provides control information to control (set parameters) a modulation of the application data items.
Advantageously, the transmission from the transmitting device to the receiving device is scheduled by transmission cycles, and second data items correspond to control data applicable to respective first data items that are scheduled to be transmitted in a transmission cycle subsequent to a transmission cycle during which said second data items are respectively transmitted. Therefore, when the receiving device starts processing given application data items, all the control information necessary to process said given application data items should have been made available. For instance, all control data items are provided to the receiving device when the processing of respective first data items is started by the receiving device.
When at least one second data item doesn't meet its timing constraint, the transmission of the respective corresponding first data items may be cancelled.
Therefore, as control data items may be missing at the receiving device to correctly process their respective application data items, these application data items may be discarded in order to relax the timing constraints of the data items awaiting transmission.
In at least one embodiment, the first data items are grouped by frames.
When at least one first data item doesn't meet its timing constraint, the transmission of said first data items is cancelled until a predetermined event is reached. Therefore, as application data items may be missing at the receiving device to correctly process the whole frame, application data items of this frame may be discarded and not transmitted in order to relax the timing constraints of the data items awaiting transmission.
Advantageously, the predetermined event is an indication that a frame boundary is reached. In other words, the last data item of a frame is obtained by the transmitting device or the first data item of a following frame is obtained by the transmitting device. Therefore, the transmission of the application data items of the concerned frame still awaiting transmission or retransmission is cancelled, thus improving the consumption of the common transmission bandwidth.
Preferably, the transmitting device includes to a Medium Access Controller layer function and the receiving device includes a Physical layer function.
Therefore, by implementing a robust ARQ-based protocol, it allows setting up access to a network (to which the PHY layer provides a physical access) with a low cost link between the MAC and the PHY layers. Such a low cost link allows increasing the distance between the MAC and the PHY layer (for instance to avoid shadowing effects in a 60GHz communications network, by placing the PHY layer and the associated antenna above a given height, while the MAC layer and the rest of the processing modules stay at a reasonable height so that they can be easily operated by a human operator).
In at least one embodiment, the transmission from the transmitting device to the receiving device is scheduled by transmission cycles. The first data items transmitted in a given transmission cycle may then be application data used by the receiving device to generate a first radio frame, and the second data items transmitted during said given transmission cycle are control data applicable to first data items to generate a second subsequent radio frame. Therefore, it allows maintaining low latency communications over the network (to which the PHY layer provides a physical access).
According to a second aspect, in at least one embodiment, the invention relates to a transmitting device for transmitting data items to a receiving device, the transmitted data items including first data items subject to a first type of timing constraint and also including second data items subject to a second type of timing constraint, the first and second data items sharing a common transmission bandwidth. The transmitting device comprises modifying means for modifying a sharing rule for sharing said common transmission bandwidth between the first data items and the second data items, said modifying means being activated taking account of how the first and second timing constraints affect at least one data item awaiting transmission.
According to a third aspect, in at least one embodiment, the invention relates to a computer program comprising instructions for implementing the abovementioned method (in any one of its various embodiments), when said program is run by a computer or by a processor.
According to a fourth aspect, the present invention also relates to an information storage means, storing a computer program comprising a set of instructions that can be run by a computer or by a processor to implement the abovementioned method (in any one of its various embodiments), when the stored information is read by the computer or the processor. In an embodiment, this storage means is totally removable.
Since the particular features and benefits of this transmitting device, of this computer program product and of this information storage means, are similar to those of the corresponding transmitting method, they are not repeated here.
4. LIST OF FIGURES Other features and benefits of the invention will become more apparent from the following illustrative and non-limiting description, illustrated by the appended drawings, in which: -Figure 1 schematically illustrates a MAC-PHY interconnection, in at an embodiment of the present invention; -Figure 2 schematically illustrates a transmitter module of a serial link adapter, in the MAC-PHY connection of Figure 1; -Figure 3 schematically illustrates a receiver module of a serial link adapter, in the MAC-PHY connection of Figure 1; -Figure 4 schematically illustrates formats of data transmitted over an intermediate connection of the MAC-PHY connection of Figure 1; -Figure 5 represents a flow diagram of a first algorithm for transmitting a stream of packets, as performed by the transmitter module of a serial link adapter, in the MAC-PHY connection of Figure 1; -Figure 6 schematically illustrates a sequence of data items transmitted over the intermediate connection of the MAC-PHY connection of Figure 1; -Figure 7 represents a flow diagram of a second algorithm for transmitting a stream of packets, as performed by the transmitter module of a serial link adapter, in the MAC-PHY connection of Figure 1.
5. DETAILED DESCRIPTION
The steps and means related to the invention are more fully described hereinafter in the context of an implementation of a MAC-PHY connection in a device adapted for 60 GHz wireless communications. However, the present invention is by no means limited to this implementation scenario. Indeed, the present invention applies to communication devices of other kind, such as devices for wireless communications operating at other frequencies, and even devices for wired communications.
Even though the detailed description above relates to data exchanges between a MAC layer and a PHY layer, the principles of the present invention similarly apply to data exchanges of communication modules of other kind.
Figure 1 diagrammatically illustrates a MAC-PHY connection, according to an embodiment of the present invention.
The MAC layer 101 and the PHY layer 102 are functions implemented in a communication device, adapted to transmit and receive radio frames via a wireless network, such as for instance a 60 GHz wireless network.
The MAC layer 101, the PHY layer 102 comprises respective interfaces adapted to communicate via the parallel connection 100. The parallel connection 100 comprises two different sub-connections: -a control data sub-connection 103; and -an application data sub-connection 104.
The signals constituting the control data sub-connection 103 and the application data sub-connection 104 are not detailed herein, and are respectively only referred to as the signals CTRL_TX 104 and DATA_TX 103 for transmitting a MAC frame onto.
The MAC-PHY interconnection further comprises first 200a and second 200b serial link adapters connected together via an intermediate connection 200c, such as a serial link. The serial link adapter 200a is connected to the parallel interface of the MAC layer 101 and serial link adapter 200b is connected to the parallel interface of the PHY layer 102. The serial link adapters 200a and 200b are interconnected by an intermediate connection 200c comprising two lines, SL_TX 206 (to transmit data from the serial link adapter 200a to serial link adapter 200b) and SL_RX 207 (to transmit data from the serial link adapter 200b to serial link adapter 200a).
Each serial link adapter 200a and 200b comprises respective transmitter 201a, 201b, and receiver 202a, 202b, modules. These transmitter 201a, 201b and receiver 202a, 202b modules are used to adapt the data exchanged via the parallel connection 100 into a format suitable for the communication protocol used over the intermediate connection 200c, and vice-versa. The transmitter 201a, 201b modules are also used to shape the rate of the application and control data items over the intermediate connection 200c.
The transmitter module 201a of the serial link adapter 200a is connected to the line SL_TX 206 via a high speed serial transmitter 204. The high speed serial transmitter 204 of the serial link adapter 200a receives data items from the transmitter module 201 a via signals Tx 208 and DIS 211, the signal DIS 211 indicating whether what is provided via the signals Tx 208 corresponds to payload characters or to signalling characters (also known as special characters). The high speed serial transmitter 204 of the serial link adapter 200a then encodes the data received from the transmitter module 201a, for instance according to an 8b/lOb coding scheme and serializes the encoded characters. The high speed serial transmitter 204 of the serial link adapter 200a then transmits the serialized characters to the line SL_TX 206 by using a high speed differential amplifier, of PECL (Positive Emitter Coupled Logic) type for instance. The high speed serial transmitter 204 of the serial link adapter 200a further provides a clock signal SCLK_TX 220 to the transmitter module 201a of the serial link adapter 200a.
The transmitter module 201 a of the serial link adapter 200b is similarly connected to the line SL_TX 205 and similarly receives a clock signal SCLK_RX 230.
The receiver module 202b of the serial link adapter 200b is connected to the line SL_TX 206 via a high speed serial receiver 203. The high speed serial receiver 203 of the serial link adapter 200b provides data items to the receiver module 202b via signals Rx 209 and DIS 210, the signal DIS 210 indicating whether the data items provided via the signals Rx 208 corresponds to payload characters or to signalling characters (also known as special characters). The high speed serial receiver 203 of the serial link adapter 200b receives signals from the line SL_TX 206 by using a high speed differential amplifier, of PECL type for instance. The high speed serial receiver 203 of the serial link adapter 200b then de-serializes the signals received from the line SL_TX 206. The high speed serial receiver 203 of the serial link adapter 200b then decodes the de-serialized data, for instance according to the 8bIlOb coding scheme mentioned above. The high speed serial transmitter 204 of the serial link adapter 200a further provides a recovered clock signal SCLK_TXr 221 to the receiver module 202b of the serial link adapter 200b. The clock signal SCLK_TXr 221 is recovered from the signals received the line SL_TX 206.
The receiver module 202a of the serial link adapter 200a is similarly connected to the line SL_TX 205 and similarly receives a clock signal SCLK_RXr 231.
Other signals are present between the transmitter and receiver modules inside each serial link adapter 200a and 200b, for information exchange about data item acknowledgements, are not represented in Figure 1. They are addressed hereafter in relation to Figure 2 and 3.
The transmitter modules 201a, 201b, are detailed hereafter in relation to Figure 2. The receiver modules 202a, 202b, are detailed hereafter in relation to Figure 3.
Figure 2 diagrammatically illustrates an embodiment of the transmitter module 201 a of the serial link adapter 200a. The same module structure applies to the transmitter module 201 b of the serial link adapter 200b.
The transmitter module 201a of the serial link adapter 200a comprises a data clock generator 306 reproducing, at MAC layer side, a data clock used at PHY layer side.
The transmitter module 201a of the serial link adapter 200a further comprises a symbol period generator 304 generating a periodic signal TX_PERIOD 309 used to schedule the transmissions of data items over the intermediate connection 200c, from the standpoint of the serial link adapter 200a.
The transmitter module 201a of the serial link adapter 200a further comprises a message queue 303 transforming control signals provided by the MAC layer 101 into messages. For instance the data items input in the message queue 303 by the signals CTRL_TX 104 are control information corresponding to the structure of MAC frames to be transmitted by the PHY layer 102 in the wireless network.
The message queue 303 outputs a signal START 319, indicating that the MAC layer 101 initiates a transmission of a MAC frame and that application data items can be obtained via the signals DATA_TX 103. The message queue 303 also outputs signals MESG_PENDING 310, used to transmit the pending messages to a packet assembler 305.
The transmitter module 201a of the serial link adapter 200a further comprises a data buffer 307 receiving application data items provided by the MAC layer 101 via the signals DATA_TX 103. The data buffer 307 outputs signals DATA_PENDING 313, used to transmit the pending application data items to the packet assembler 305.
The transmitter module 201a of the serial link adapter 200a further comprises a transmitting controller 301 and the packet assembler 305. The transmitting controller 301 adapts the stream of packets output by the packet assembler 305 to the character format input to the transmitter2O4. The packet assembler 305 forms the data packets to be transmitted via the intermediate connection 200c. The packet assembler 305 outputs signals DATA_PCK 317, used to transmit packets to the transmitting controller 301. The transmitting controller 301 also receives a signal ACK_TX 370 from the receiver module 202a of the serial link adapter 200a. The signal ACK_TX 370 is used to provide feedback information to the serial link adapter 200b to enable retransmission of data items in case of unrecoverable errors detected by the receiver module 202a. The packet assembler 305 also receives a signal ACK_RX 380 from the receiver module 202a of the serial link adapter 200a. The signal ACK_RX 380 is used to receive information from the serial link adapter 200b about whether the data items transmitted by the serial link adapter 200a have been correctly received.
Figure 3 diagrammatically illustrates an embodiment of the receiver module 202b of the serial link adapter 200b.
The same module structure applies to the receiver module 201a of the serial link adapter 200a. A difference however resides in that the receiver module 202b of the serial link adapter 200b uses a data clock signal CLK provided by the PHY layer 102 and the receiver module 202a of the serial link adapter 200a uses, as data clock signal CLK, the clock signal provided by the data clock generator 306 of the transmitter module 201 a.
The receiver module 202b comprises a receiving controller 502 and a packet dis-assembler 503. The receiving controller 502 adapts the characters output by the receiver2O3 into a stream of packets input to the packet dis-assembler 503. The receiver controller 502 outputs signals DATA_PCK 511, used by the packet dis-assembler 503 in order to format messages and application data items. The packet dis-assembler 503 is also in charge of checking whether the received packets contain unrecoverable errors. The packet dis-assembler 503 consequently provides acknowledgements or non-acknowledgement indications to the transmitting controller 301 of the serial link adapter 200b, via the signal ACK_TX 370, to provide feedback information to the serial link adapter 200a. The packet dis-assembler 503 also receives acknowledgement or non-acknowledgement indications from the serial link adapter 200a. The packet dis-assembler 503 then provides these acknowledgement or non-acknowledgement indications to the packet assembler 305 of the serial link adapter 200b, in order to enable the packet assembler 305 managing any required retransmission.
The receiver module 202 further comprises a message buffer 505 storing all the messages received from the packet dis-assembler 503 via the signals MESG_RX 513. The message buffer 505 then transmits the stored messages to the PHY layer 102 via the signals CTRL_TX 104.
The receiver module 202b further comprises a data buffer 504 storing all the application data items received from the packet dis-assembler 503 via the signals DATA_PENDING 515. The data buffer 504 then transmits the stored application data items to the PHY layer 102 via the signals DATA_TX 103.
Figure 4 diagrammatically illustrates formats of data transmitted over the intermediate connection 200c.
Figure 4 shows a MAC frame 616. The MAC frame 616 is constituted of a plurality of data segments DSi 618a, 618b, 618c, 618d and 618e. The PHY layer 102 transmits on the medium of the wireless network symbols Sj (also known as encoded data blocs), obtained from the data segments DSi. In order to obtain the symbols Sj, the PHY layer 102 applies to each data segment DSi its respective code rate CRi and coding scheme CSi. All the symbols Sj have the same length, whereas the data segments DSi may have different lengths (for instance the header part of the MAC frame may be encoded with a more robust coding scheme CSI).
The transmission of data on the intermediate connection 200c is scheduled according to clock events 619a, 619b, 619c, 619d, 619e and 6l9fon the basis of the clock signal TX_PERIOD 309.
The stream packets 620, 621, 622, 623, 624, 625, are generated by the packet assembler 305 from the application data items and the control data items received from the MAC layer 101. For instance, the streams packets 620, 621, 622, 623, 624, 625, have a constant size of 32 words of 32 bits.
Each stream packet 620, 621, 622, 623, 624, 625 comprises a first header field 602a and a first header checksum field 603a associated with the first header field 602a. It further comprises a second header field 602b and a second header checksum field 603b associated with the second header field 602b. It further comprises a first payload field 604 and a first payload CRC (Cyclic Redundancy Check) field 606 associated with the first payload field 604.
It further comprises a second payload field 605 and a second payload CRC field 607 associated with the second payload field 605. If any padding is required to maintain a constant packet length, it further comprises a padding field 608.
The constant packet length is defined on the basis of a common bandwidth allocated to the application and control data items considered.
Indeed, the intermediate connection 200c may be set up on a medium that is shared with other transmission connections, and a given bandwidth amount is allocated to each application. The bandwidth share allocated to the application and control data items considered is therefore limited. In another embodiment, the medium supporting the intermediate connection 200c is not shared with other applications, but it still has limited capacities that cannot be exceeded and which define a value of common bandwidth allocated to the considered application and control data items.
The header checksum field 603 and the payload CRC fields 606 and 607 are used by the packet dis-assembler 503 to determine whether the transmission over the intermediate connection 200c occurred with no unrecoverable errors. If any such unrecoverable error is detected by the packet dis-assembler 503, the MAC frame under reception is corrupted. When a MAC frame is detected by the packet dis-assembler 503 as being corrupted, the packet dis-assembler 503 transmits a non-acknowledgement indication in the signal ACK_TX 370 to the transmitting controller 301 (of the transmitting module 201 b of the serial link adapter 200b). If the MAC frame is correctly received, the packet dis-assembler 503 transmits an acknowledgement indication in the signal ACK_TX 370 to the transmitting controller 301 (of the transmitting module 201b of the serial link adapter 200b). The transmitting controller 301 then generates a dedicated special character, either an ACK (acknowledgement) character or a nACK (non-acknowledgement) character, according to the indication provided in the signal ACK_TX 370.
The first header field 602a comprises a first sub-field A/C 611 indicating whether the first payload field 604 contains application data items or control data items.
It further comprises a second sub-field 612 representative of an index of the data segment DSi or the control message, a part of which is contained in
the first payload field 604.
The first header field 602a further comprises a third sub-field S/E 613 indicating whether the first payload field 604 contains a start of packet or an end of packet. In this example of embodiment, the data segments DSi or the control messages may be segmented into two parts by the packet assembler 305, as further detailed hereafter. More generally, the data segments DSi or the control messages may be segmented into more than two parts; in this case, this third sub-field 613 indicates which part is contained in the first payload field 604.
The first header field 602a further comprises a fourth sub-field 614a indicating the size of the first payload field 604.
The first header field 602a further comprises a fifth sub-field 614b indicating the size of the data segment DSior the control message, which differs from the size of the first payload field 604 if the data segment DSi or the control message has been segmented.
The first header field 602a further comprises a sixth sub-field 615 indicating, if the first payload field 604 contains application data items, whether it corresponds to a start of MAC frame.
The second header field 602b comprises identical sub-fields, which are interpreted in relation to the second payload field 605.
Figure 5 represents a flow diagram of an algorithm for transmitting a stream of packets, as performed by the transmitter module 201a of the serial link adapter 200a, in at least one embodiment of the present invention. The steps 901 to 905 may be more particularly performed by the packet assembler 305.
In a step 700, the transmitter module 201a is initialized. All registers and memory zones in the serial link adapter 200a are cleared. Then the serial link adapter 200a is configured with settings depending on a wireless communication protocol that applies to the wireless network. These settings enable configuring the data clock generator 306 and the symbol period generator 304.
For example, the IEEE 802.15.3c AV standard requires a data sampling frequency of 2538 GHz, each symbol period being constituted by 576 samples (512 samples issued from the Fast Fourrier Transform and 64 samples issued from the Cyclic Prefix), a modulation scheme of 16 QAM (Quadrature Amplitude Modulation with a constellation grid of 16 points) type with a code rate of 2/3.
The total number of carriers is 512, but only 336 can be used for useful data transmission (the remaining being dedicated to pilots and nulls).
The processing frequency commonly used in serial link transceivers is 156.25 MHz. The processing frequency of the serial link adapter 200a shall be set to a frequency value of this order.
Therefore, the data clock generator 306 may be configured to output a clock signal having a frequency of 158.625 MHz (2.538 GHz I 16). With this frequency, the symbol period generator 304 corresponds to a divider by 36 (2.538 GHz I 576 = 158.625 MHz I 36).
Then, a step 701 is performed, in which the transmitter module 201a applies a sharing rule to share the common bandwidth between the application data items and the control data items. Therefore, application and control data items have dedicated shares (respectively first and second shares) of bandwidth, as they are subject to different types of timing constraints.
Indeed, in the MAC-PHY interconnection of Figure 1: -the application data items provided by the MAC layer 101 are first data items that are to be available for processing by the PHY layer 102 a fixed (or substantially-fixed) amount of time after having been obtained from the MAC layer 101; -the control data items provided by the MAC layer 101 are second data items that are to be available for processing by the PHY layer 102 at a fixed (or substantially-fixed) instant in time.
The embodiment detailed herein relates to providing a dedicated share of common bandwidth to data items having these two timing constraints: a substantially-fixed transmission latency (application data items) and a substantially-fixed processing deadline (control data items). The bandwidth sharing rule discussed herein may also be applied to other sets of different timing constraints: for instance, the transmitting device may have to manage two types of application data items that have to respect distinct substantially-fixed transmission latencies. In addition, such dedicated shares of common bandwidth may also be applied to more than two types of data items: for instance, the transmitting device may have to manage two types of control data items and one type of application data items.
The common bandwidth allocated to the considered transmission enables supporting the total throughput of the application data items, as well as the control data items. In addition, the common bandwidth allocated to the transmission considered enables accepting a given retransmission rate in order to counter interferences that may occur during the transmission.
For instance, the bandwidth sharing rule applied in the step 701 may consist in transmitting the application data items prior to the control data items.
The transmission of the control data items is in this case performed on a best-effort basis.
Then, a step 702 is performed, in which the transmitter module 201a forms the stream of packets on dependence of the sharing rule previously determined.
The stream of packets is built as already explained in relation to Figure 4.
Then, a step 703 is performed, in which the transmitter module 201a analyses the acknowledgement and non-acknowledgement indications received from the serial link adapter 200b concerning the data items transmitted in the step 702. The transmitter module 201a identifies data items, either control or application data items, if any, that are time-critical. In other words, the transmitter module 201a determines whether the data items awaiting transmission or retransmission are in a critical position with regards to their respective timing constraint. For such a data item in a critical position it means that there is a risk, if the actual sharing rule is maintained, that the identified data items don't meet their respective timing constraint.
Such a situation may for instance be encountered when interferences occur, implying that some unrecoverable error are present in at least one stream packet (in the first payload field 604 and/or in the second payload field 605).
Such a situation may also be encountered when control data item are lately obtained from the MAC layer 101 and for which, there is a risk, if the actual sharing rule is maintained, that said control data item doesn't meet its timing constraint.
In order to ease the description of the present invention, it is considered hereinafter that such a situation is encountered when interferences occur.
If no such time-critical data items are identified, the transmission of data items can continue with the current settings and the step 702 is reiterated. If at least one unrecoverable error is detected, a retransmission of at least one data item has to be set up, and a step 704 is performed.
In the step 704, the transmitter module 201a determines whether the retransmission of at least one data item to be set up affects the data item(s) awaiting transmission (including the data item(s) awaiting retransmission).
If the data item(s) awaiting transmission are affected, a step 705 is performed; else, the step 702 is reiterated. It may be noticed that the way data items awaiting transmission are affected depends on their respective type of timing constraints. For instance, it may depend on a remaining time before expiry of the data item. It may also depend on an amount of data items already transmitted compared to a mean value.
As a first example, the transmitter module 201a may check whether a remaining time before expiry of control data items awaiting transmission is less than a first predetermined threshold. The first predetermined threshold may be defined as a given time limit (e.g. number of transmission cycles) before expiry of said control data items. This first predetermined threshold may also be adjusted according to a number of remaining control data items (for instance the transmitter module may predetermine the total number of control data items expected for a given period) to be transmitted before expiry of said control data items.
As a second example (that may be combined with the first example above), the transmitter module 201a may check whether a remaining time before expiry of application data items awaiting transmission is less than a second predetermined threshold. This second predetermined threshold may be defined as a given time limit (e.g. number of transmission cycles) before expiry of said application data items.
In the step 705, the transmitter module 201a modifies the bandwidth sharing rule. New first and second bandwidth shares for the application and control data items are therefore respectively determined. For instance, when a remaining time before expiry of control data items awaiting transmission is less than the first predetermined threshold, the transmitting device may increase the share of bandwidth dedicated to control data items and decrease the share of bandwidth dedicated to application data items.
Once the step 705 is performed, a step 706 is performed. The step 706 is similar to the step 702, except that the new sharing rule is used.
Then a step 707 is performed, in which the transmitter module 201a checks whether the delay due to the retransmission that has involved the modification of shares of bandwidth has been recovered. For instance, the transmitter module 201a may check whether a remaining time before expiry of the remaining control data items awaiting transmission is greater than the first predetermined threshold. If the delay has been recovered, initial values of the first and second shares of bandwidth may be restored and the step 702 is reiterated; else, the step 703 is reiterated, as other values of first and second shares of bandwidth may be set in order to better match the current transmission conditions (the conditions may be better or worse).
Figure 6 schematically illustrates a sequence of data items transmitted over the intermediate connection 200c during 19 transmission cycles (referred to as TCi (i = ito 19). Figure 6 is divided into 4 parts (I, II, III & IV).
Part I represents the data items, as they are obtained by the serial link adapter 200a from the MAC layer 101. From the transmission cycle TC1 to the transmission cycle TC1 6, one application data item is obtained per transmission cycle TCi from the MAC layer 101. The application data items may have different sizes according to the data segment DSi they respectively represent in the MAC frame.
At each transmission cycle TCi (i = ito 16) one application data item is obtained from the MAC layer 101. The transmission latency that shall be achieved and maintained for the application data items is for instance equal to 6 transmission cycles. It means that the application data item Al obtained from the MAC layer at the transmission cycle TC1 must be delivered to the PHY layer 102 at the transmission cycle TC7. It must therefore be received by the serial link adapter 200b before the transmission cycle TC7.
During the transmission cycles TC1 to TC16, control data items are asynchronously obtained from the MAC layer 101. All the control data items during the transmission cycles TC1 to TC16 must be available at a given instant, which is the beginning of the transmission cycle TC1 9 in the example of Figure 6. For instance, the control data item Cl is obtained during the transmission cycle TC3, the control data item C2 during the transmission cycle TC4, the control data item C3 during the transmission cycle TC5, the control data item C4 during the transmission cycle TC1O, the control data item C5 during the transmission cycle TC1 1, the control data item C6 during the transmission cycle TC13 and the control data item C7 during the transmission cycle TC15.
Part II represents the data items, as they are transmitted by the serial link adapter 200a over the intermediate connection 200c when no interferences occur.
A first part Ala of the application data item Al is transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC3. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item Cl. In this illustrative example, there is an initial buffering latency of two transmission cycles before transmitting the application data items, whereas the control data items are sent on a best-effort basis once obtained. This allows compensating timing fluctuations of the transmission of application data items over the intermediate connection 200c.
A second part Al b of the application data item Al and a first part A2a of the application data item A2 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC4. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item C2.
A second part A2b of the application data item A2 and a first part A3a of the application data item A3 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC5. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item C3.
A second part A3b of the application data iterri A3, the application data item A4 and a first part A5a of the application data item A5 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC6. In this transmission cycle, the second payload field 605 of the concerned stream packet is empty.
A second part A5b of the application data item A5 and a first part A6a of the application data item A6 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC7. In this transmission cycle, the second payload field 605 of the concerned stream packetisempty.
A second part A6b of the application data item A6 and the application data item A7 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC8. In this transmission cycle, the second payload field 605 of the concerned stream packet is empty.
The application data item A8 and a first part A9a of the application data item A9 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC9. In this transmission cycle, the second payload field 605 of the concerned stream packet is empty.
A second part A9b of the application data item A9 and a first part Al Oa of the application data item Al 0 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC1O. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item C4.
A second part Al Ob of the application data item Al 0 and a first part Al I a of the application data item Al 1 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC1 1. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item CS.
A second part Al 1 b of the application data item Al 1 and a first part Al 2a of the application data item Al 2 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC12. In this transmission cycle, the second payload field 605 of the concerned stream packet is empty.
A second part Al 2b of the application data item Al 2 is transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC13. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item C6.
The application data item A13 and a first part A14a of the application data item A14 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC14. In this transmission cycle, the second payload field 605 of the concerned stream packet is empty.
A second part Al4b of the application data item Al4 is transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC15. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item C7.
A third part A14c of the application data item A14, the application data item A15 and a first part A16a of the application data item A14 are transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC16. In this transmission cycle, the second payload field 605 of the concerned stream packet is empty.
A second part Al 6b of the application data item Al 6 is transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC17. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with padding data P. In order to maintain the synchronization of the data stream, stream packets filled with padding data may be transmitted during the subsequent transmission cycles TC18 and TC19.
In another embodiment, the padding data is spread over transmission cycles, instead of being inserted only once all application and control data items have been transmitted in the concerned transmission cycles. However, it may uselessly consume bandwidth.
In yet another embodiment, when a stream packet contains only application data items, at least one application data item may be transported in the first payload field 604 of said stream packet and at least one other application data item may be transported in the second payload field 605 of said stream packet. This allows increasing limiting the need for data retransmission, as a smaller volume of data items is protected by any of the first 606 and second 607 payload CRC fields. Similarly, one application data item may be split into first and second parts, the first part being transported in the first payload field 604 of said stream packet and the second part being transported in the second payload field 605 of said stream packet.
Part III represents the data items, as they are transmitted by the serial link adapter 200a over the intermediate connection 200c when interferences occur, in at least one embodiment of the present invention.
For the transmission cycles TC3 to TC5, the stream packets are formatted as already described for part II.
In the transmission cycle TC5, interferences occur (represented by a cross on the figure) and the first payload field 604 of the concerned stream packet cannot be correctly received. The application data item parts A2b and A3a shall then be retransmitted. The second payload field 605 is not affected by these interferences and is correctly received.
For the transmission cycle TC6, the stream packet is formatted as already described for part II.
In the transmission cycle TC7, the application data item parts A2b and A3a are retransmitted in the first payload field 604 of the concerned stream packet. These retransmitted data item parts are referred to as RA2b and RA3a.
In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with a second part A5b of the application data item AS.
The application data item A6 is transmitted, in the first payload field 604 of the concerned stream packet, during the transmission cycle TC8. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with a first part A7a of the application data item A7. In the transmission cycle TC8, interferences occur (represented by a cross on the figure) and the first payload field 604 of the concerned stream packet cannot be correctly received. The application data item A6 shall then be retransmitted.
In the transmission cycle TC9, a second part A7b of the application data item A7 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with a first part A8a of the application data iternA8.
In the transmission cycle TCIO, a second part A8b of the application data item A8 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with a first part RA6a of the application data item A6 (to be retransmitted due to interferences in the transmission cycle TCTC8).
In the transmission cycle TC1 1, a second part RA6b of the application data item A6 (to be retransmitted due to interferences in the transmission cycle TCTC8) is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data items C4 and 05. In this transmission cycle, interferences occur (represented by a cross on the figure) and the second payload field 605 of the concerned stream packet cannot be correctly received. The control data items 04 and 05 shall then be retransmitted.
It can be noticed that the application data item A6 is not retransmitted with the same format as used initially. Indeed, the application data item A6 has been segmented in two parts RA6a and RA6b in order to allow a retransmission in two successive transmission cycles TCI 0 and 1011. The retransmission of a data item (or part of a data item) may therefore occur in a format, different from the format used in the initial transmission of the data item (the one during which interferences occurred).
In the transmission cycle 1012, the application data items A9 and AlO are respectively transmitted in the first 604 and second 605 payload fields of the concerned stream packet.
In the transmission cycle 1013, a first part Al 1 a of the application data item Al 1 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the control data items C4 and C5 are retransmitted in the second payload field 605 of the concerned stream packet.
These retransmitted data items are referred to as RC4 and RC5.
In the transmission cycle TC1 4, a second part Al 1 b of the application data tern Al 1 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item 06. In this transmission cycle, interferences occur (represented by a cross on the figure) and the second payload field 605 of the concerned stream packet cannot be correctly received. The control data item 06 shall then be retransmitted.
In the transmission cycle TC15, a first part A12a of the application data item Al2 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the control data item 07. In this transmission cycle, interferences occur (represented by a cross on the figure) and the second payload field 605 of the concerned stream packet cannot be correctly received. The control data item 07 shall then be retransmitted.
In the transmission cycle TOl 6, a second part Al 2b of the application data item A12 and a first part A13a of the application data item Al3 are transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is used to retransmit the control data item C6. This retransmitted data item is referred to as R06.
In the transmission cycle TC1 7, a second part Al 3b of the application data item A13 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is used to retransmit the control data item 07. This retransmitted data item is referred to as R07.
In the transmission cycle TC18, a third part A13c of the application data item A13 is transmitted in the first payload field 604 of the concerned stream packet. In this transmission cycle, the second payload field 605 of the concerned stream packet is filled with the application data item A14.
The transmission continues in the subsequent transmission cycles, but is not further detailed herein.
Part IV represents the data items, as they are provided to the PHY layer 102 by the serial link adapter 200b. From the transmission cycle TC7 to the transmission cycle TC22 (not represented), one application data item is provided per transmission cycle TCi to the PHY layer 102. The schedule of the providing of the application data items Ai to the PHY layer 102 conforms to the schedule of the obtaining of said application data items Ai from the MAC layer 101, with a constant difference in time that corresponds to the transmission latency of these application data items.
At the transmission cycle TC19, the control data items Cl to C7 are provided to the PHY layer 102 by the serial link adapter 200b. The transmission cycle TC19 corresponds to the fixed deadline for said control data items Cl to 07 to be processed by the PHY layer 102.
In a preferred embodiment, the application data items Ai (i = 1 to 16) correspond to the data items constituting a MAC frame of the wireless network.
The control data items Cj (j = 1 to 7), transmitted during the transmission cycles TCi (i = 1 to 16), correspond to control or management data items pertaining to a MAC frame subsequent to the MAC frame constituted by the application data items Ai (i = ito 16) transmitted during said transmission cycles TCi (i = ito 16). Preferably, the subsequent MAC frame is the one immediately following the MAC frame constituted by the application data items Ai (i = 1 to 16).
The example of Figure 6 is only illustrative. A different number of transmission cycles may be necessary to transport one MAC frame over the intermediate connection 200c. A different number of application data items may constitute one MAC frame, as well as a different number of control data items may constitute the control or management information associated with one MAC frame.
In the example of Figure 6, the control data items are transmitted without segmentation. In another embodiment, said control data items may be segmented for transmission in order to provide further flexibility in the management of the bandwidth share between the application data items and the control data items.
Figure 7 represents a flow diagram of an algorithm for transmitting a stream of packets, as performed by the transmitter module 201a of the serial link adapter 200a, in at least one embodiment of the present invention. The steps 1000 to 1023 may be more particularly performed by the packet assembler 305.
In a step 1000, the transmitter module 201a is initialized. All registers and memory zones in the serial link adapter 200a are cleared. Then the serial link adapter 200a is configured with settings depending on a wireless communication protocol that applies to the wireless network. These settings enable configuring the data clock generator 306 and the symbol period generator 304. One can refer to the step 700 for an example of initialization of the transmitter module 201a.
Then a step 1001 is performed. In the step 1001, the transmitter module 201a waits for a new transmission cycle TCi. Once a new transmission cycle TCi is detected, a step 1002 is performed.
In the step 1002, the transmitter module 201a checks whether any time-critical control data item has to be transmitted. A control data item to be transmitted or retransmitted is considered as time-critical when a remaining time before expiry of the control data item (i.e. with regard to the fixed deadline at which the control data item shall be processed by the PHY layer 102) is below the already-mentioned first predetermined threshold. If any such critical control data item exists, then a step 1008 is performed, else a step 1003 is performed.
In the step 1 003, the transmitter module 201 a checks whether any time-critical application data item has to be transmitted. An application data item to be transmitted or retransmitted is considered as time-critical when a remaining time before expiry of the application data item (i.e. with regard to the transmission latency to provide the application data item to the PHY layer 102) is below the already-mentioned second predetermined threshold. If any such application data item exists, then a step 1010 is performed, else a step 1004 is performed.
In the step 1004, the transmitter module 201a checks whether any application data item has to be retransmitted. If any such application data item exists, then a step 1012 is performed, else a step 1005 is performed.
In the step 1005, the transmitter module 201a checks whether any control data item has to be retransmitted. If any such control data item exists, then a step 1014 is performed, else a step 1006 is performed.
In the step 1006, the transmitter module 201a checks whether any application data item has to be transmitted (first time this(these) application data item(s) is(are) transmitted). If any such application data item exists, then a step 1016 is performed, else a step 1007 is performed.
In the step 1007, the transmitter module 201a checks whether any control data item has to be transmitted for the first time. If any such control data item exists, then a step 1018 is performed; else a step 1020 is performed.
In the step 1008, time-critical control data items are included in the current stream packet. This is done until there is no more room in the stream packet or until no more time-critical control data items exist. Then a step 1009 is performed, in which the transmitter module 201a checks whether there is some available space remaining in the stream packet. If some space is available for data items, the step 1003 is performed; else a step 1021 is performed.
In the step 1010, time-critical application data items are included in the current stream packet. This is done until there is no more room in the stream packet or until no more time-critical application data items exist. Then a step 1011 is performed, in which the transmitter module 201a checks whether there is some available space remaining in the stream packet. If some space is available for data items, the step 1004 is performed; else the step 1021 is performed.
In the step 1012, application data items to be retransmitted are included in the current stream packet. This is done until there is no more room in the stream packet or until no more application data items to be retransmitted exist.
Then a step 1013 is performed, in which the transmitter module 201a checks whether there is some available space remaining in the stream packet. If some space is available for data items, the step 1005 is performed; else the step 1021 is performed.
In the step 1014, control data items to be retransmitted are included in the current stream packet. This is done until there is no more room in the stream packet or until no more control data items to be retransmitted exist. Then a step 1015 is performed, in which the transmitter module 201a checks whether there is some available space remaining in the stream packet. If some space is available for data items, the step 1006 is performed; else the step 1021 is performed.
In the step 1016, application data items to be transmitted (first time these application data items are transmitted) are included in the current stream packet. This is done until there is no more room in the stream packet or until no more application data items to be transmitted exist. Then a step 1017 is performed, in which the transmitter module 201a checks whether there is some available space remaining in the stream packet. If some space is available for data items, the step 1005 is performed; else the step 1021 is performed.
In the step 1018, control data items to be transmitted (first time these control data items are transmitted) are included in the current stream packet.
This is done until there is no more room in the stream packet or until no more control data items to be transmitted exist. Then a step 1017 is performed, in which the transmitter module 201a checks whether there is some available space remaining in the stream packet. If some space is available for data items, the step 1005 is performed; else the step 1020 is performed.
In the step 1020, the available space remaining in the stream packet is filled with padding data items. Then the step 1021 is performed.
In the step 1022, the transmitter module 201a formats the packet stream.
The header fields 602a and 602b are updated according to the data items selected to build the stream packet; the header checksum fields 603a and 603b are updated accordingly. The payload fields 604 and 605 are formatted so that any payload field 604 or 605 only contains either application data items or control data items (whatever their time-critical or non-time-critical character). If the stream packet is constituted by only application data items or by only control data items, they can be either included in the same payload field 604 or 605, or split in the payload fields 604 or 605. Then a step 1023 is performed, in which the stream packet is transmitted to the serial link adapter 200b. Then a step 1023 is performed.
In the step 1023, the useless data items (if any) are discarded. Useless data items are for instance expired data items. Useless data items may also be data items for which the remaining time before expiry is too short to ensure their transmission or retransmission without significantly affecting the other data items awaiting transmission, in view of their own respective timing constraints.
For instance, application data items may be discarded if there is no more enough bandwidth to transmit all the application and control data items. In this case, particularly when the control data items pertain to a subsequent MAC frame (relatively to the MAC frame under transmission from the MAC layer 101 to the PHY layer 102), the application data items may be discarded to save bandwidth in favour of the control data items. This provides a greater chance to succeed in transmitting said subsequent MAC frame. For instance, the application data items may be discarded until reaching the end of the MAC frame under transmission (from the MAC layer 101 to the PHY layer 102).
Once the step 1023 is performed, the step 1001 is reiterated.
In other words, the algorithm of Figure 7 ensures that the application data items are preferably transmitted, in normal transmission conditions (no occurrence of interferences), in order to meet the transmission latency constraint of the application data items. In this situation, the transmission of control data items is performed on a best-effort basis. This is shown in part II of Figure 6. When interferences occur, the transmission of some control data items shall be performed prior to any transmission of application data item, else the fixed-deadline timing constraint of these control data items cannot be met.
This is shown in part III of Figure 6. When these time-critical data items have been transmitted, the application data items are preferably transmitted compared to the control data items.
In the example shown in Figure 6 and in the algorithm shown in Figure 7, the fixed (or substantially fixed) transmission latency to be met by the application data items is relatively small compared to the time usually remaining for a control data item to meet the fixed (or substantially fixed) deadline at the instant at which said control data item is obtained from the MAC layer 101. The algorithm of Figure 7, and more generally the bandwidth sharing rules, would require being adapted on dependence of the type of timing constraints to meet, and/or of respective remaining times before expiry of the handled data items.
The process described above, in relation to Figures 5, 6 and 7, in the context of a MAC frame transmission on the wireless network similarly applies for a MAC frame reception from the wireless network.
Any and all steps of the algorithm shown in Figures 5 and 7 may be implemented in software by execution of a set of instructions or program by a programmable computing machine, such as a PC ("Personal Computer"), a DSP ("Digital Signal Processor") or a microcontroller; or else implemented in hardware by a machine or a dedicated component, such as an FPGA ("Field-Programmable Gate Array") or an ASIC ("Application-Specific Integrated Circuit").
In case of software implementation, a CPU (Central Processing Unit) is capable of executing instructions loaded into a RAM (Random Access Memory) loaded from a ROM (Read-Only Memory) or from an external memory. After the communication device has been powered on, the CPU is capable of reading from the RAM and executing the instructions. The instructions form one or more computer programs. The computer program(s) cause(s) the CPU to perform some or all of the steps of the algorithms described above in relation to Figures and 7.
Furthermore, some steps of the algorithms described above in relation to Figures 5 and 7 may be performed in a different sequential order or in parallel.

Claims (20)

  1. CLAIMS1. A method of transmitting data items from a transmitting device to a receiving device, the transmitted data items including first data items subject to a first type of timing constraint and also including second data items subject to a second type of timing constraint, the first and second data items sharing a common transmission bandwidth, wherein, taking account of how the first and second timing constraints affect at least one data item awaiting transmission, the transmitting device modifies a sharing rule for sharing said common transmission bandwidth between the first data items and the second data items.
  2. 2. The transmitting method according to Claim 1, wherein: -the timing constraint of the first data items is that said first data items are available for processing at the receiving device a substantially fixed amount of time after said first data items are obtained by the transmitting device; and -the timing constraint of the second data item is that said second data items are available for processing at the receiving device at a substantially fixed instant in time.
  3. 3. The transmitting method according to any one of Claims 1 and 2, wherein said sharing rule is modified when a data retransmission is required for such a data item.
  4. 4. The transmitting method according to any one of Claims 1 to 3, wherein to take account of how the first and second timing constraints affect at least one data item awaiting transmission, the transmitting device identifies at least one data item, if any, considered in a time-critical situation with respect to the timing constraint to which it is subject.
  5. 5. The transmitting method according to any one of Claims 2 to 4, wherein, when a remaining time before expiry of second data items awaiting transmission is less than a first threshold, the transmitting device decreases a first share of said common transmission bandwidth allocated to said first data items and increases a second share of said common transmission bandwidth allocated to said second data items.
  6. 6. The transmitting method according to Claim 5, wherein, when a remaining time before expiry of remaining second data items awaiting transmission is greater than the first threshold, the transmitting device restores an initial sharing rule for sharing said common transmission bandwidth between the first data items and the second data items.
  7. 7. The transmitting method according to Claim 6, wherein the initial sharing rule involves transmitting each first application data item awaiting transmission and also involves transmitting second each control data item awaiting transmission.
  8. 8. The transmitting method according to Claim 7, wherein the sharing rule is modified so that it involves transmitting first each control data item in a time critical situation with respect to the timing constraint to which it is subject and also involves transmitting second each application data item awaiting transmission.
  9. 9. The transmitting method according to any one of Claims 1 to 8, wherein the second data items correspond to control data items applicable to a processing of respective first data items by the receiving device.
  10. 10. The transmitting method according to any one of Claims 1 to 8, wherein the transmission from the transmitting device to the receiving device is scheduled by transmission cycles, and wherein second data items correspond to control data applicable to respective first data items that are scheduled to be transmitted in a transmission cycle subsequent to a transmission cycle during which said second data items are respectively transmitted.
  11. 11. The transmitting method according to Claim 9, wherein, when at least one second data item doesn't meet its timing constraint, the transmission of the respective corresponding first data items is cancelled.
  12. 12. The transmitting method according to any one of Claims 10 and 11, wherein the first data items are grouped by frames, and wherein, when at least one first data items doesn't meet its timing constraint, the transmission of said first data items is cancelled until a predetermined event is reached.
  13. 13. The transmitting method according to Claim 11, wherein the predetermined event is an indication that a frame boundary is reached.
  14. 14. The transmitting method according to any one of Claims 1 to 13, wherein the transmitting device includes to a Medium Access Controller layer function and the receiving device includes a Physical layer function.
  15. 15. The transmitting method according to Claim 13, wherein the transmission from the transmitting device to the receiving device is scheduled by transmission cycles, and wherein the first data items transmitted in a given transmission cycle are application data used by the receiving device to generate a first radio frame, and wherein the second data items transmitted during said given transmission cycle are control data applicable to first data items to generate a second subsequent radio frame.
  16. 16. The transmitting method according to any one of Claims 14 and 15, wherein the Medium Access Control layer and the Physical layer functions are adapted to communications at 60 GHz.
  17. 17. Computer program comprising program code instructions for implementing the method according to at least one of Claims 1 to 16, when said program is run by a processor.
  18. 18. Computer-readable storage means, storing a computer program comprising a set of instructions that can be run by a processor to implement the method according to any one of Claims 1 to 16.
  19. 19. A transmitting device for transmitting data items to a receiving device, the transmitted data items including first data items subject to a first type of timing constraint and also including second data items subject to a second type of timing constraint, the first and second data items sharing a common transmission bandwidth, wherein, the transmitting device comprises modifying means for modifying a sharing rule for sharing said common transmission bandwidth between the first data items and the second data items, said modifying means being activated taking account of how the first and second timing constraints affect at least one data item awaiting transmission.
  20. 20. A method, computer program or device for transmitting data items from a transmitting device to a receiving device substantially as hereinbefore described with reference to the accompanying drawings.t::r: INTELLECTUAL . ...* PROPERTY OFFICE Application No: GB 1010371.1 Examiner: Owen Wheeler Claims searched: 1-20 Date of search: 19 October 2010 Patents Act 1977: Search Report under Section 17 Documents considered to be relevant: Category Relevant Identity of document and passage or figure of particular relevance to claims X 1-19 US2005/249118A1 [TERRY] See Fig. 2 and paras. 15-23 X 1-19 U52007/025357A1 [ZHANG] See Fig. 2 and paras. 29-37 Categories: X Document indicating lack of novelty or inventive A Document indicating technological background and/or state step of the art.Y Document indicating lack of inventive step if P Document published on or after the declared priority date but combined with one or more other documents of before the filing date of this invention.same category.& Member of the same patent family E Patent document published on or after, but with priority date earlier than, the filing date of this application.Field of Search:Search of GB, EP, WO & US patent documents classified in the following areas of the UKCX: Worldwide search of patent documents classified in the following areas of the IPC HO4J; HO4L The following online and other databases have been used in the preparation of this search report EPODOC, WPI International Classification: Subclass Subgroup Valid From HO4L 0001/18 01/01/2006 HO4J 0003/16 01/01/2006 Intellectual Property Office is an operating name of the Patent Office www.ipo.gov.uk
GB1010371.1A 2010-06-21 2010-06-21 Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry Withdrawn GB2481389A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1010371.1A GB2481389A (en) 2010-06-21 2010-06-21 Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1010371.1A GB2481389A (en) 2010-06-21 2010-06-21 Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry

Publications (2)

Publication Number Publication Date
GB201010371D0 GB201010371D0 (en) 2010-08-04
GB2481389A true GB2481389A (en) 2011-12-28

Family

ID=42582722

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1010371.1A Withdrawn GB2481389A (en) 2010-06-21 2010-06-21 Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry

Country Status (1)

Country Link
GB (1) GB2481389A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249118A1 (en) * 2004-05-07 2005-11-10 Interdigital Technology Corporation Method and apparatus for implementing a data lifespan timer for enhanced dedicated channel transmissions
US20070025357A1 (en) * 2005-07-27 2007-02-01 Interdigital Technology Corporation Wireless communication method and apparatus for detecting and scheduling urgent data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249118A1 (en) * 2004-05-07 2005-11-10 Interdigital Technology Corporation Method and apparatus for implementing a data lifespan timer for enhanced dedicated channel transmissions
US20070025357A1 (en) * 2005-07-27 2007-02-01 Interdigital Technology Corporation Wireless communication method and apparatus for detecting and scheduling urgent data

Also Published As

Publication number Publication date
GB201010371D0 (en) 2010-08-04

Similar Documents

Publication Publication Date Title
US20200260322A1 (en) Bluetooth low energy connected isochronous stream acknowledgement and flush algorithm and implementation
JP5381049B2 (en) Transmitting device and receiving device
CN103370895A (en) Framing for an improved radio link protocol including FEC
CN107342848A (en) A kind of adaptive code stream transmission method, device and equipment
US6640325B1 (en) Immediate negative acknowledgement for a communication network
US9780938B2 (en) Patch download with improved acknowledge mechanism
CN105376173A (en) Sending window flow control method and terminal
US9130740B2 (en) Variable acknowledge rate to reduce bus contention in presence of communication errors
JP2007180611A (en) Communication system and communication method
US7447976B2 (en) Data transfer apparatus
US8406298B2 (en) Method and apparatus to transmit data on PLC network by aggregating data
CN101969371A (en) User data packet protocol-based method for realizing high-speed reliable transmission of network data
CN113938431B (en) Burst data packet transmission method and device and electronic equipment
CN117560304B (en) Network state monitoring method, system, equipment and medium
JP2009100118A (en) Transmission device, reception device, communication device, and communication method
CN109067506A (en) A kind of lightweight asynchronous message implementation method concurrent based on multi-slide-windows mouth
GB2481389A (en) Scheduling control/data items with prioritisation of (re)transmissions nearing transmission deadline expiry
CN103838691B (en) Realize the method and common interface chip of high speed data transfer
JP7210867B2 (en) Acknowledgment packet transmission method and communication device
CN106603480A (en) Streaming media file transmission method and device
US8942146B2 (en) Signal transmission method and apparatus in wireless communication system
JPH0955718A (en) Data communication device
US20210250123A1 (en) User station for a serial communication network and method for correcting individual errors in a message of a serial communication network
US8780934B2 (en) Method for performing serial transport communication, and associated device
JP3148733B2 (en) Signal processing device and signal processing system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)