GB2414637A - Data transmission method using a transmission time threshold - Google Patents

Data transmission method using a transmission time threshold Download PDF

Info

Publication number
GB2414637A
GB2414637A GB0411588A GB0411588A GB2414637A GB 2414637 A GB2414637 A GB 2414637A GB 0411588 A GB0411588 A GB 0411588A GB 0411588 A GB0411588 A GB 0411588A GB 2414637 A GB2414637 A GB 2414637A
Authority
GB
United Kingdom
Prior art keywords
data
network
transmitting
packet
busy
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.)
Granted
Application number
GB0411588A
Other versions
GB2414637B (en
GB0411588D0 (en
Inventor
Darren Phillip Mcnamara
Neil Fanning
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.)
Toshiba Europe Ltd
Original Assignee
Toshiba Research Europe Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Research Europe Ltd filed Critical Toshiba Research Europe Ltd
Priority to GB0411588A priority Critical patent/GB2414637B/en
Publication of GB0411588D0 publication Critical patent/GB0411588D0/en
Publication of GB2414637A publication Critical patent/GB2414637A/en
Application granted granted Critical
Publication of GB2414637B publication Critical patent/GB2414637B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • H04L1/0018Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • 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

Abstract

A method and apparatus for transmitting data in a communications network. The method comprises determining an amount of data to be transmitted, determining a data rate at which said data is to be transmitted, calculating a transmission time for said data using the amount of data and said data rate, and comparing said transmission time with a threshold time 527. If said transmission time is not greater than said threshold time the data is transmitted in a first manner 528, and if said transmission time is greater than said threshold time, said is transmitted in a second manner, 529. The threshold may be used to determine whether a Carrier Sense Multiple Access (CSMA) mechanism is used for the transmission, involving use of Clear-to-send (CTS) and Ready-to-send (RTS) packets. The method and apparatus is particularly useful for wireless LAN (WLAN) IEEE 802.11 networks. The method may also involve determining if the network is busy or idle before transmission and may also involve fragmenting the data to be transmitted into a plurality of packets, S23.

Description

24 1 4637
DATA TRANSMISSION METHOD
The present invention relates to a method of transmitting data in a communications network.
In a communications network a plurality of communications stations share a communications channel for passing data between one another. In the case of a wired network such as an Ethernet local area network (LAN), this communications channel is a wire connecting stations together. In the case of a wireless network such as a wireless LAN (WLAN), this communications channel is simply the medium though which signals are transmitted between stations. It will be appreciated that a mechanism is required for ensuring that when a first station is to transmit data to a second station, the channel is clear, and not transmitting other data which may corrupt the data sent by the first station. A number of protocols are well known for allowing use of a communications channel to be properly shared.
One protocol in widespread use is known as Carrier Sense Multiple Access (CSMA).
This protocol specifics that when a station wishes to transmit a packet of data it "listens" to determine whether or not the channel is clear. If the channel is clear transmission then begins. It is possible that two stations will concurrently sense that that the channel is available, and concurrently begin transmitting data. In such a case a collision will occur which can sometimes be detected by the sending stations and retransmission can then occur. Successful reception of a packet is reported to the sender by means of an ACK (acknowledgement) packet, and if no ACK packet is received within a predetermined time period, the sender assumes that transmission has not been successful, and resends the packet.
Given that collisions can occur in networks using the CSMA protocol, some networks allow the use of ready to send (RTS) and clear to send (CTS) packets. A station wishing to transmit a packet sends an RTS packet directed to the receiver. This RTS packet is received by the receiver and some or possibly all other stations connected to the channel. Following receipt of an RTS packet a station does not make any transmissions for a predetermined time period, which may be specified in the RTS packet. On receiving the RTS packet the receiver replies with a CTS packet directed to the sender of the RTS packet, but again received by some or possibly all other stations connected to the channel. All stations receiving the CTS packet again refrain from sending any packets for a predetermined time period, which may be specified in the CTS packet.
When the CTS packet is received by the sender of the RTS packet, transmission of the data packet can then begin in the knowledge that no other station, which received either the RTS or CTS packet, will begin transmitting during the time period specified in the RTS or CTS packets, thereby avoiding collisions.
When an RTS/CTS mechanism is employed in wireless networks, it should be noted that the set of stations receiving the RTS packet may be different to the set of stations receiving the CTS packet. In this way all stations within range of the sender or receiver will refrain from sending data thereby preventing collisions. It should however be noted that RTS packets may themselves collide, however given their short length, such collisions require relatively small amounts of data to be resent.
Although the RTS/CTS mechanism described above prevents collisions, it will be appreciated that its use represents a considerable overhead due to the extra transmissions and inter-frame spaces required, increasing the total duration necessary to convey the same amount of useful data. This mechanism should therefore be used only when this overhead is outweighed by the benefits of collision avoidance. One way of determining when its use is worthwhile, is to apply the RTS/CTS mechanism only for transmission of data packets containing more than a predetermined quantity of data.
This is because collisions involving large data packets will involve retransmission of greater quantities of data. It is known to specify the predetermined quantity of data in terms of number of bits, or bytes, of data. Such a limit for the use of RTS and CTS packets can be imposed in WLANs operating in accordance with the IEEE 802.11 standard.
Another way of minimising the effect of collisions of large data packets is to fragment a relatively large data packet into a plurality of relatively small data packets. If any of the small data packets are involved in collisions, only a smaller quantity of data needs to be retransmitted. Such a fragmentation mechanism incurs similar overheads to the use of the RTS/CTS mechanism due to the increased number of interframe spaces and signalling overheads involved. This mechanism should therefore be used only when this overhead is outweighed by the benefits of collision avoidance. One way of determining when its use is worthwhile, is to apply the fragmentation mechanism only for transmission of data packets containing more than a predetermined amount of data. In a conventional system, the predetermined amount of data is a threshold specified as the number of bits, or bytes, of data. Such a limit for the use of packet fragmentation can be imposed in WLANs operating in accordance with the IEEE 802.11 standard.
The thresholds on packet size which determine whether or not mechanisms such as RTS/CTS or packet fragmentation are used are commonly configurable by a user during the setup of a terminal or network, but then held constant over time until the user desires to change the configuration.
In "The impact of RTS threshold on IEEE 802.11 MAC protocol", S. ShiannTsong, T. Chen, C. Jenhui and Y. Fun, in Proc. Ninth International Conference on Parallel and Distributed Systems, Dec. 2002, and other similar works, it has been shown that the performance of communications networks can be improved by the dynamic adjustment of the threshold determining the use or not of the RTS/CTS mechanism. This dynamic control mechanism varies the RTS/CTS threshold, specified by the number of bytes in a packet, according to the number of active stations using the medium.
Although the use of RTS and CTS packets, and the use of fragmentation, reduces the impact of collisions, activating these mechanisms on the basis of the amount of data contained in the packet is not always ideal.
It is an object of the present invention to obviate or mitigate one or more of the problems set out above.
According to the present invention, there is provided a method and apparatus for transmitting data in a communications network. The method comprises determining the amount of data to be transmitted, determining a data rate at which said data is to be transmitted, calculating a transmission time for said data using the size of said data packet and said data rate and comparing said transmission time with a threshold time.
Said data is transmitted in a first manner if said transmission time is not greater than said threshold time. Said data is transmitted in a second manner if said transmission time is greater than said threshold time. Said data may conveniently be arranged in a data packet.
By transmitting the data in different manners in dependence upon its calculated transmission time, it is possible to balance two manners of transmission, both of which offer advantages, but which are such that the best manner is a function of transmission speed and packet length. For example in a first embodiment, transmitting data in the first manner may involve transmitting data without any additional protection mechanisms, while transmitting data in the second manner may involve using ready to send (RTS) and clear to send (CTS) packets before the transmission of a data packet.
The inventors have realised that the overhead of RTS/CTS packets may vary in dependence upon both the amount of data to be transmitted and transmission rate.
Therefore, using embodiments of the invention, RTS/CTS can be used in circumstances where its overhead is properly justified.
The data may be transmitted using carrier service multiple access (CSMA) when transmitting data using CSMA, transmitting data may comprise, listening for network traff c, including determining whether another mechanism, such as a notification contained in a previous packet from another station, indicates that the medium is busy.
If no network traffic is identified, the data packet may be transmitted, and if network traffic is identified transmission of said data packet is delayed.
When transmitting data in the second manner involves the use of RTS/CTS packets, transmitting said data packet in said second manner may employ CSMA and may comprise, transmitting data indicating an intention to transmit the data packet to a designated sender, receiving from the designated sender data indicating its readiness to accept said data packet, and transmitting said packet.
In alternative embodiments of the invention, transmitting data in the second manner involves packet fragmentation. Transmitting data in said second manner may employ CSMA and may comprise splitting the data to be transmitted to create a plurality of sub- packets, each of said sub-packets then being transmitted. The sub-packets may be subject to control by RTS and CTS packets.
The method for calculating the transmission time for the data packet will vary depending on the transmission means being employed. For singlecarrier transmissions, this may comprise dividing the amount of data to be transmitted by the data rate. For multi-carrier transmissions, such as those using orthogonal frequency-domain multiplexing (OFDM) a single symbol may be capable of conveying a plurality of bits of information. In such a case, transmission time for the data packet may be calculated by determining the number of symbols required to transmit the data packet, and multiplying this number of symbols by the time taken to transmit a single symbol. The number of symbols may be computed by dividing the number of bits of data within the data packet by the number of bits of data that can be represented by a single symbol, and rounding the result of this division up to the nearest integer.
It will be appreciated that in some embodiments of the invention, transmission time calculation needs to take into account overheads imposed by the physical layer, and this can be done by adding a suitable quantity during calculation of transmission time.
In some embodiments of the present invention, acknowledgement (ACK) packets are used. The invention may then further comprise waiting for an acknowledgement indicative of receipt of said data packet by a receiver, and resending said data packet if said acknowledgement is not received within a predetermined time period.
The invention is applicable to a wide range of communications networks, including wireless and wired networks. The invention may be used in wireless local area networks (WLANs) which include those operating in accordance with the IEEE 802.11 standard.
Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which: Figure I is a schematic illustration of three computers connected to a local area network (LAN) which can be used in an embodiment of the present invention; Figure 2 is a schematic illustration of a protocol stack used in TCP/IP networks; Figure 3 is flowchart illustrating a prior art network communication mechanism known as carrier sense multiple access (CSMA); Figure 4 is a flow chart showing a prior art network communication mechanism based upon that of Figure 3, and incorporating ready to send (RTS) and clear to send (CTS) packets.
Figure 5 is a schematic illustration of three computers connected to a Wireless LAN (WEAN) which can be used in an embodiment of the present invention; Figure 6 is a flow chart showing network communication in accordance with an embodiment of the present invention using RTS and CTS packets; Figure 7 is a schematic illustration of packet fragmentation, used in some embodiments of the present invention; Figure 8 is a flow chart showing network communication in accordance with an embodiment of the present invention using fragmentation as illustrated in Figure 7; and Figure 9 is a flow chart showing network communication in accordance with an embodiment of the present invention where fragmentation is used alongside RTS and CTS packets.
Referring to Figure 1, there are illustrated three computers 1, 2, 3 connected to a wired local area network (LAN) 4. Each of the computers is configured such that it can transmit data to any other computer via the LAN 4.
As is well known in the art, communications protocols typically use a protocol stack comprising number of layers, with data for transmission being configured such that an application program provides data to a relatively high layer of the protocol stack, which processes the data as necessary, and passes the data on to a next lower-level of the protocol stack. Figure 2 illustrates a protocol stack used in Transmission Control Protocol/Internet Protocol networks. Data to be communicated is provided to an application layer 7 by a sending process. The application layer 7 is responsible for relatively high level communications issues. Data is then passed to a transport layer (which implements the TCP) and Internet layer 9 (which implements the IP). The transport and Internet layers 8, 9 add appropriate header(s) and formatting information to the received data. These layers are not described in further detail here, as they will be well known to those skilled in the art.
A data link layer 10 is responsible for arranging data for transmission using a physical layer 11. The physical layer is the communications channel over which the data is to be transmitted. The data link layer is responsible for relatively low-level communications issues such as packet fragmentation, and the way in which access to the communication channel is handled.
One known way of controlling access to a communications channel is known as carrier sense multiple access (CSMA), and this is illustrated in Figure 3. CSMA is now described with reference to transmission of data from a first computer 1 to a second computer 2 using the LAN 4. At step S 1 the first computer 1 determines the state of the channel by listening for activity on the channel and by using any other means available.
Other means for determining the state of the channel may for example comprise the utilisation of channel activity notifications contained In previously received packets. At step S2 a decision is made on the information obtained in S1 to determine whether or not the l,AN 4 is currently busy. If the LAN is busy, transmission is deferred at step S3 and the channel is checked again at a later time. If the channel is not busy, the data packet is transmitted from the first computer 1 at step S4. The time for which the first computer I defers transmission at step S3 can be determined in one of a number of ways which will be readily apparent to one skilled in the art. For example, each computer can have a random deferral time which can be chosen so as to minimise the possibility of collisions between two computers wanting to use the channel.
Using CSMA as illustrated in Figure 3, communication is not initiated until the channel is determined not to be busy. However, it is possible that a third computer 3 will cheek that the channel is not busy at the same time as the first computer 1, both will determine that the channel is not busy, and both will transmit data to the second computer 2 at the same time, thereby resulting in collision of the transmitted data packets, and the necessity to resend the data packets. If the data packets transmitted are long, the cost of this retransmission is relatively high. Figure 4 illustrates an alternative communication mechanism which may be used by the first computer 1 and, or, the third computer 3, when sending data to the second computer 2. This mechanism is intended to reduce the cost of packet collisions. The following description will illustrate the process for the transmission from the first computer 1.
At step S5 the amount of data to be transmitted is determined. At step S6 a cheek is made to determine whether this amount of data exceeds a threshold size. If the packet does not exceed the threshold size, then it is transmitted, with the transmission process continuing at step Sl of Figure 3.
Alternatively, if the packet is greater than the predetermined threshold a ready to send packet (RTS) is transmitted, using the process indicated in Figure 3, to the second computer 2 by the first computer I at step S7. This RTS packet is also received by all other computers using the appropriate part of the LAN 4. The RTS packet specifies time period during which the channel is to be considered as being busy, and during which all other computers receiving the RTS packet should not attempt to send data. That is the RTS packet effectively reserves the channel for the data to be sent by the first computer 1.
The second computer 2 responds to the RTS packet with a clear to send (CTS) packet, if the channel is clear, for which the first computer l waits at step S8. This CTS packet again specifies a time during which the channel is to be considered as being busy, and again all stations receiving the CTS packet should refrain from sending data during a time period specified within the CTS packet. In some network configurations some stations will receive the CTS packet which did not receive the RTS packet sent by the first computer 1. When a clear to send packet is received by the first computer 1, transmission of the data packet occurs immediately after a pause of predetermined length, without employing CSMA. The flow chart of Figure 4 also includes a timeout at step S9 which ensures that the first computer I does not wait indefinitely for a CTS packet, but instead sends a further RTS packet if no CTS packet is received within the specified timeout.
Figure 5 illustrates an alternative network topology to that of Figure 1, where fourth, fifth and sixth computers 12, 13, 14 are connected together by a wireless LAN (WLAN) operating in accordance with IEEE 802.1 l. Full details of the IEEE 802.11 standard can be found in "Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specification", ANSI/IEEE Std 802.11, 1999 Edition. Referring back to Figure 2, the protocol layers specified by the WLAN 802.11 standard are illustrated. It can be seen that the 802.11 standard 17 specifies a medium access control layer (MAC) 15 which performs data link layer functions and a physical layer PHY 16 which specifies properties of the physical layer. These two layers together make up the WLAN 802.11 standard 17.
Referring back to Figure 5, it can be seen that the fourth computer 12 transmits data over a radius rat, thereby covering an area denoted by a circle 18, the fifth computer 13 transmits data over a radius r2, thereby covering an area denoted by a circle 19, and the sixth computer 14 data over a radius r3, thereby covering an area denoted by a circle 20.
Thus, the fourth computer 12 can directly transmit data for reception by the fifth computer 13, the fifth computer l 3 can directly transmit data for reception by the fourth computer 12 and the sixth computer 14, and the sixth computer 14 can directly transmit data for reception by the fifth computer 13. Data cannot be directly transmitted between the fourth computer 12 and the sixth computer 14.
The MAC layer 15 controls access to the channel using CSMA in conjunction with RTS/CTS packets for packets exceeding a particular size. That is, it uses the mechanism illustrated in Figure 4. It should be noted that RTS/CTS packets are particularly useful in a WLAN of the type illustrated in Figure 3 given that the CSMA mechanism will not allow the fourth computer 12 to sense data sent by the sixth computer 14. However, the RTS/CTS mechanism will allow such data to be identified given that an RTS packet sent by the fourth computer 12 will be received by the fifth computer 13. The CTS then sent in response will reach not only the fourth computer 12, but also the sixth computer 14. Thus, the RTS/CTS mechanism allows a wider network to be informed of imminent transmission before data packets above a predetermined length are transmitted.
It has been explained above that the RTS/CTS mechanism imposes a cost overhead on a network, measured in terms of channel occupancy, and this mechanism is therefore only applied to data packets exceeding a particular size. However, in many WEAN systems the PHY layer is able to transmit data at a variety of different rates, and the MAC layer can select an appropriate rate at the time of transmission, for example on the basis of the quality of the channel between the transmitter and the receiver. The overhead of RTS/CTS will vary as the transmission rate varies, and given that with a higher data rate data can be transmitted more quickly, the relative overhead of RTS/CTS may increase.
Thus the overhead of RTS/CTS is a function of transmission time, not simply packet size. This fact is not taken into account using known methods for activating the RTS/CTS mechanism. As a result, when a relatively high transmission rate is used, RTS/CTS may be employed too often, and when a low transmission rate is used, RTS/CTS may not be used often enough.
In accordance with an embodiment of the present invention, use of RTS/CTS is not determined by packet size alone. Referring to Figure 6, at step S10 the size of the data packet to be sent is determined, and at step Sl I the data rate to be used is detcrrnined, for example by selecting one of a plurality of rates supported by the PHY layer in dependence upon some predetermined parameter. Determination of the data rate at which the data packet is to be transmitted can be carried out in a manner well known to one of ordinary skill in the art, and is not described in further detail here. Having determined the size of the data packet to be sent (step S10) and the data rate (step S11) the time taken to send the data can be determined (step S12) according to a method appropriate for the PHY transmission scheme being employed (determined in step Sl 1).
For example, in a simple single-carrier transmission, if M bits of data are to be transmitted at a rate of N bits per second (bps), the time taken can be determined in accordance with equation (1): Time=- (1) where Time is given in seconds.
Havmg determined the time taken at step S12, this is compared with a predetermined threshold time at step S13. If the time taken exceeds the threshold time, an RTS packet Is sent at step S 14, using the process indicated in Figure 3, a CTS packet is awaited at step S15, and a timeout is provided at step Sib. If the CTS is received before the timeout is exceeded, transmission of the data packet occurs immediately after a pause of predetermined length, without employing CSMA.
It will be appreciated that transmission time need not necessarily be computed in accordance with equation (1), but can instead be carried out in a range of different ways.
For example, in embodiments of the present invention using multi-carrier transmission schemes such as orthogonal frequency-division multiplexing (OFDM), each symbol is capable of conveying N bits of information, and it takes Tsymh seconds to transmit each symbol, Tsymb being dependent upon the data rate used for transmission. Therefore, if M bits of data are to be transmitted it is unlikely that M will be exactly divisible by N. Instead, there will be a remainder having length R bits. Thus, even if remainder is only a single bit an entire additional symbol must be transmitted to convey the data. Similarly, when the remainder is a single bit, an additional N-l bit could be transmitted without requiring further symbols and transmission time would therefore be unaffected by the additional N-l bits. It should be noted that in some cases N can be very large.
In embodiments of the invention using OFDM, transmission time is calculated in accordance with equation (2): Time = Tsymb x ceiling ( N) + P (2) where: Tsymb is the time taken to transmit a single symbol as described above, measured in seconds; M, and N. are numbers of bits as described above; ceiling is a function taking a real number and rounding this real number up to the nearest integer; and p is a quantity added to the time calculation which represents overhead of the PHY layer.
It will be appreciated that transmission the time calculation can also be carried out in a variety of other ways and the appropriate way of calculating transmission time will be readily apparent to one of ordinary still in the art.
It has been described above that in accordance with embodiments of the invention, an RTS/CTS mechanism can be activated on the basis of transmission time. In some embodiments of the present invention, a data packet can be fragmented into a plurality of sub-packets of shorter length. In a WEAN operating in accordance with IEEE 802. l l, fragmentation is carried out by the MAC layer. A data packet for transmission (known as a MAC service data unit, (MSDU)) is received by the MAC layer and fragmented to create a plurality of MAC level frames. Such fragmentation is schematically illustrated in Figure 7. An MSDU 21 is fragmented to create four sub-packets or frames 22, 23, 24, 25. Each of the frames 22, 23, 24, 25 comprises a body portion which contains data from the MSDU 21, a MAC header containing data for use by the MAC layer of a receiver, and error check data in the form of a cyclic redundancy check (CRC) which can be used to detect packets which arc not fully and correctly received.
In known WEAN systems, fragmentation is usually activated by data packets (MSDUs) exceeding a predetermined length. This is because the cost of collisions and other unsuccessful transmissions of large packets is greater, thereby justifying the overhead of fragmentation. In embodiments of the present invention, fragmentation as illustrated in Figure 7 is activated when it is calculated that transmission time for a data packet will exceed a predetermined time. Use of fragmentation in accordance with an embodiment of the present invention, is now described with reference to Figure 8. At step S20 the size of the packet to be transmitted is determined, and the data rate to be used and PHY parameters are determined at step S21. At step S22 the time taken to send the data packet at the determined transmission rate is calculated as described above with reference to Figure 6. At step S23 the determined time is compared with a threshold time. If the determined time does not exceed the threshold time, the packet is transmitted at step S24 using the transmission process starting at step S l of Figure 3. If it is determined that the threshold time is exceeded, N sub-packets are created at step S25. The creation of sub-packets can be carried out using well known mechanisms which are not described in further detail here. At step S26 each sub-packet is transmitted in turn. The first of these sub- packets must employ the CSMA mechanism as described above with reference to Figure 3, however different embodiments may or may not require the use of CSMA for the transmission of the remaining sub-packets.
The fragmentation mechanism described with reference to Figure 8 can be combined with the RTS/CTS mechanism described with reference to Figure 6. That is, fragmentation can be used when transmission of a data packet exceeds a first upper time limit, and RTS/CTS can be used when the data packet, or the first sub-packet's transmission time exceeds a second lower time limit. That is, if a data packet is not fragmented, it may still be subject to RTS/CTS protection, and sub-packets created as a result of fragmentation may themselves be subject to the additional protection of RTS/CTS packets.
Figure 9 is a flow chart showing how these mechanisms can be combined. Steps S20 to S23 illustrated in Figure 9 are identical to the corresponding steps of Figure 8. If step S23 determines that thefragmentation threshold time is not exceeded, step S27 then checks whether the RTS/CTS threshold time is exceeded. If this time is not exceeded, the data packet is transmitted at step S28, using the CSMA process indicated in Figure 3.Tf however the RTS/CTS threshold time is exceeded, an RTS packet is sent at step S29, using the CSMA process indicated in Figure 3, and a CTS packet is awaited at step S30. When a CTS packet is received, transmission of the data packet occurs immediately after a pause of predetermined length, without employing CSMA. It should be noted that a timeout is provided by step S31, such that if a CTS packet is not received within a predetermined time period, a further RTS packet is sent at step S29.
If step S23 determines that the time to send the data packet exceeds the fragmentation threshold time, the data packet is fragmented to create N sub-packets at step S32. Each sub-packet is then processed in turn. For the first sub-packet, the sub-packet size is determined at step S33, and the data rate at which that sub-packet is to be sent is determined at step S34. The time to transmit the sub-packet is then calculated at step S35, and the calculated time is compared with the RTS/CTS threshold time at step S36.
If the threshold time is not exceeded, the first sub-packet is transmitted at step S37, using the CSMA process indicated in Figure 3, and i is incremented at step S38 to process the next sub-packet. If step S36 determines that the RTS/CTS threshold time is exceeded, an RTS packet is sent at step S39, using the CSMA process indicated in Figure 3, and a CTS packet is then awaited at step S40. When a CTS packet is received, the first sub-packet is transmitted at step S37 immediately after a pause of predetermined length, without employing CSMA. A timeout is provided by step S41, which functions analogously to that of step S31. In this embodiment, the remaining sub- packets are transmitted without need for CSMA as the previous sub-packet will reserve the channel for the duration required to transmit the next sub-packet. In alternative embodiments some, or all, sub-packets may be transmitted independently with the first sub-packet in each group being required to use CSMA, and checking whether or not to employ the RTS/CTS mechanism.
In all embodiments of the present invention described above, having transmitted a data packet or sub-packet a sender may await an acknowledgemcut message from the receiver, indicating that the transmitted data has been received, and correctly validated by, for example, computing a checksum such as a CRC on the received data and comparing this to a CRC value transmitted within the data. If no such acknowledgement is received within a predetermined time period, the sender can then retransmit the data.
In some embodiments of the invention, an acknowledgment is awaited before a subsequent data packet is transmitted.
It will be appreciated that the threshold times for use of RTS/CTS and fragmentation mentioned in the preceding description can be selected either on the basis of the time taken to transmit an entire data packet, or the time taken to transmit its payload. It may be more appropriate to base threshold times on time taken to transmit the payload, since such a calculation can be carried out without knowledge of any overheads associated with the PHY layer.
In embodiments of the invention applied to infrastructure WEAN networks, it may be possible for an access point to set threshold times for all network stations, and communicate these to all stations using broadcast frames. These threshold times can then be varied by the access point if network loading varies.
In further embodiments the threshold times may be dynamically adjusted by a device according to some observed value, such as the network load.
The preceding description has described particular embodiments of the present invention, it will be readily apparent to one of ordinary skill in the art that various modifications lie within the scope of the invention. For example, it will be appreciated that the invention is not restricted to computer networks such as LANs and WLANs, but is instead applicable to a wide range of communications networks.

Claims (33)

  1. CLAIMS: 1. A method of transmitting data in a communications network, the
    method comprising: determining an amount of data to be transmitted; determining a data rate at which said data is to be transmitted; calculating a transmission time for said data using the amount of data to be transmitted, and said data rate; comparing said transmission time with a threshold time; and transmitting said data in a first manner if said transmission time is not greater than said threshold time, and transmitting said data in a second manner if said transmission time is greater than said threshold time.
  2. 2. A method according to claim 1, wherein transmitting said data in said first manner comprises: determining if the network is busy; and if the network is not busy, transmitting said data; or if the network is busy, delaying transmission of said data.
  3. 3. A method according to claim 2, wherein transmitting said data in said second manner comprises: determining if the network is busy; and if the network is not busy: transmitting data indicating an intention to transmit the data to a designated recipient; receiving from the designated recipient data indicating its readiness to accept said data; and transmitting said data; or if the channel is busy, delaying transmission of said data.
  4. 4. A method according to claim 2 or 3, wherein determining if the network is busy comprises listening to the network.
  5. 5. A method according to claim 2, 3 or 4, wherein determining if the network is busy comprises using information contained within received messages.
  6. 6. A method according to claim I or 2, wherein transmitting said data in said second manner comprises: fragmenting said data to create a plurality of data packets; and transmitting each of said data packets.
  7. 7. A method according to claim 6, wherein transmitting each of said data packets comprises: determining the amount of data in the data packet to be transmitted; determining a data rate at which said data packet is to be transmitted calculating a transmission time for said data packet using the amount of data in said data packet, and said data rate; comparing said transmission time with a threshold time; and transmitting said data packet in a third manner if said transmission time is not greater than said threshold time, and transmitting said data packet in a fourth manner if said transmission time is greater than said threshold time.
  8. 8. A method according to claim 7, wherein transmitting said data packet in said third manner comprises: determining if the network is busy; and if the network is not busy, transmitting said data packet; or if the network is busy, delaying transmission of said data packet.
  9. 9. A method according to claim 7 or 8, wherein transmitting said data packet in said fourth manner comprises: determining if the network is busy; and if the network is not busy: transmitting data indicating an intention to transmit the data packet to a designated recipient; receiving from the designated recipient data indicating its readiness to accept said data packet; and transmitting said data packet; or if the network is busy, delaying transmission of said data packet
  10. 10. A method according to claim 8 or 9, wherein determining if the network is busy comprises listening to the network.
  11. l l. A method according to claim 8, 9 or l 0, wherein determining if the network is busy comprises using information contained within received messages.
  12. 12. A method according to claim any one of claims 7 to 11, wherein calculating the transmission time for a data packet comprises dividing the amount of data in the data packet by the data rate.
  13. 13. A method according to any one of claims 7 to 1 1, wherein calculating the transmission time for a data packet comprises calculating a number of symbols required to transmit the data packet, and multiplying said number of symbols by the time taken to transmit a single symbol.
  14. 14. A method according to claim 13, wherein calculating the number of symbols comprises dividing the amount of data in the data packet by a quantity of data which can be conveyed by a single symbol, and rounding a result of said division up to the nearest integer.
  15. 15. A method according to claim 13 or 14 wherein said symbols are OFDM symbols.
  16. 16. A method according to claim 12, 13, 14 or 15, wherein calculating the transmission time for a data packet further comprises adding a quantity representing a overhead imposed by a physical layer of the communications network.
  17. 17. A method according to any preceding claim, wherein calculating the transmission time for said data comprises dividing the amount of data by the data rate.
  18. 18. A method according any one of claims I to 16, wherein calculating the transmission time for said data comprises determining a number of symbols required to transmit said data and multiplying said number of symbols by a time taken to transmit a single symbol.
  19. 19. A method according to claim 18, wherein calculating the number of symbols required to transmit said data comprises dividing the amount of data in said data by a quantity of data which can be conveyed by a single symbol and rounding the result of said division up to the nearest integer.
  20. 20. A method according to claim 18 or 19, wherein said symbols are OFDM symbols.
  21. 21. A method according to anyone of claims 17,18, 19 or 20, wherein calculating the transmission time for said data further comprises adding a quantity representing an overhead of a physical layer of the communications network.
  22. 22. A method according to any preceding claim, further comprising: awaiting an acknowledgement indicative of receipt of said data by a receiver; resending said data if said acknowledgement is not received within a predetermined time period.
  23. 23. A method according to any preceding claim, wherein the communications network is a wired network.
  24. 24. A method according to any one of claims I to 22, wherein the communications network is a wireless network.
  25. 25. A method according claim 24, wherein the communications network is a wireless local area network (WEAN) operating in accordance with the IEEE 802.1 1 standard.
  26. 26. A method according to any preceding claim, wherein said threshold time is configured by a user.
  27. 27. A method according to any preceding claim, wherein said threshold time is determined by an access point, and provided to network terminals.
  28. 28. A method according to any preceding claim, wherein said threshold time is variable in dependence upon network load.
  29. 29. A data carrier carrying computer program code means for controlling a computer to carry out the method of any preceding claim.
  30. 30. Computer apparatus for network communication, the apparatus comprising: a program memory containing processor readable instructions; and a processor for reading and executing instructions contained in the program memory; wherein said processor readable instructions control the processor to carry out the method of any one of claims I to 28.
  31. 31. Apparatus for transmitting data in a communications network, the apparatus comprising: means for determining an amount of data to be transmitted; means for determining a data rate at which said data is to be transmitted means for calculating a transmission time for said data using the amount of data and said data rate; comparator means for comparing said transmission time with a threshold time; and transmitting means configured to: transmit said data in a first manner if said transmission time is not greater than said threshold time; and transmit said data in a second manner if said transmission time is greater than said threshold time.
  32. 32. A method of transmitting data in a communications network substantially as hereinbefore described, with reference to the accompanying drawings.
  33. 33. Apparatus for transmitting data in a communications network substantially as hcrcinbefore described with reference to the accompanying drawings.
GB0411588A 2004-05-24 2004-05-24 Data transmission method Expired - Fee Related GB2414637B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0411588A GB2414637B (en) 2004-05-24 2004-05-24 Data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0411588A GB2414637B (en) 2004-05-24 2004-05-24 Data transmission method

Publications (3)

Publication Number Publication Date
GB0411588D0 GB0411588D0 (en) 2004-06-23
GB2414637A true GB2414637A (en) 2005-11-30
GB2414637B GB2414637B (en) 2006-08-23

Family

ID=32607889

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0411588A Expired - Fee Related GB2414637B (en) 2004-05-24 2004-05-24 Data transmission method

Country Status (1)

Country Link
GB (1) GB2414637B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008075177A2 (en) * 2006-12-19 2008-06-26 Nokia Corporation Techniques for rts/cts usage for wireless networks
CN102571303A (en) * 2012-02-10 2012-07-11 北京傲天动联技术有限公司 Dynamic determination device and method for request to send (RTS)-clear to send (CTS) handshaking mechanism
WO2017208578A1 (en) * 2016-06-03 2017-12-07 Sony Corporation Wireless communication device and wireless communication method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG187002A1 (en) * 2010-07-09 2013-02-28 Agency Science Tech & Res Communication devices and methods for sending a message
CN114025376B (en) * 2021-11-10 2023-09-19 国网江苏省电力有限公司泰州供电分公司 System for utilizing 5G idle bandwidth credibility of network load equipment
CN115022045B (en) * 2022-06-02 2023-09-19 联通(广东)产业互联网有限公司 Data processing method and system based on edge cloud

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304909B1 (en) * 1998-12-18 2001-10-16 International Business Machines Corporation Client-controlled link processing in computer network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
http://dec.bournemouth.ac.uk/staff/pchatzimisios/iwna2002.pdf, "Throughput and delay analysis of IEEE 802.11 protocol", P. Chatzimisios et al., last modified 23/10/2002 *
http://www.csie.cgu.edu.tw/jhchen/publications/ICPADS-2002.pdf, "The impact of RTS threshold on IEEE 802.11 MAC protocol", Sheu et al., last modified 26/02/2003 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008075177A2 (en) * 2006-12-19 2008-06-26 Nokia Corporation Techniques for rts/cts usage for wireless networks
WO2008075177A3 (en) * 2006-12-19 2008-08-14 Nokia Corp Techniques for rts/cts usage for wireless networks
US9374834B2 (en) 2006-12-19 2016-06-21 Nokia Technologies Oy Techniques for RTS/CTS usage for wireless networks
CN102571303A (en) * 2012-02-10 2012-07-11 北京傲天动联技术有限公司 Dynamic determination device and method for request to send (RTS)-clear to send (CTS) handshaking mechanism
WO2017208578A1 (en) * 2016-06-03 2017-12-07 Sony Corporation Wireless communication device and wireless communication method
EP3451783A1 (en) * 2016-06-03 2019-03-06 Sony Corporation Electronic device and method
US10292183B2 (en) 2016-06-03 2019-05-14 Sony Corporation Wireless communication device and wireless communication method
US10743349B2 (en) 2016-06-03 2020-08-11 Sony Corporation Wireless communication device and wireless communication method

Also Published As

Publication number Publication date
GB2414637B (en) 2006-08-23
GB0411588D0 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
US7733866B2 (en) Packet concatenation in wireless networks
US7650559B2 (en) Communication apparatus, communication system, communication method, and communication control program
JP4680263B2 (en) Method and system for combining frames to be transmitted on a channel in a wireless network
JP3962405B2 (en) Link adaptation
US7697561B2 (en) Communication apparatus, communication method, and communication system
JP4095618B2 (en) Packet format
US7894413B1 (en) Adaptive MAC fragmentation and rate selection for 802.11 wireless networks
US6829227B1 (en) Dual polling media access control protocol for packet data in fixed wireless communication systems
US7301965B2 (en) Packet shaping for mixed rate 802.11 wireless networks
US7298691B1 (en) Method and protocol to adapt each unique connection in a multi-node network to a maximum data rate
JP4927940B2 (en) Method and apparatus for improved data communication in a cellular access system
JP2005102228A (en) Method and apparatus for rate fallback in radio communication system
US20020141353A1 (en) Method and device for improving a data throughput
US20050169296A1 (en) Temporary priority promotion for network communications in which access to a shared medium depends on a priority level
US20080101332A1 (en) Expected channel occupancy time as a wireless link metric
US20060215626A1 (en) Apparatus to transmit OFDM symbols with aligned fragmentation threshold
KR101139536B1 (en) Wireless Multicast retransmissions to adjust contention window in the terminal system and its control method
US7613191B2 (en) Packet transmission method of wireless network
Razafindralambo et al. Dynamic packet aggregation to solve performance anomaly in 802.11 wireless networks
GB2414637A (en) Data transmission method using a transmission time threshold
Zhai et al. A distributed packet concatenation scheme for sensor and ad hoc networks
EP1505759B1 (en) Method and device for transmitting/receiving data using acknowledged transport layer protocols
WO2008012789A1 (en) Method for reduced latency wireless communication having reduced latency and increased range and handoff performance between different transmitting stations
KR100529931B1 (en) Server system communicating through the wireless network
JP2004088464A (en) Data transmission method

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20220524