Patent ID: 12261705

DETAILED DESCRIPTION

FIG.1is a schematic diagram of a communication system10according to an embodiment of the present invention. The communication system10may be any communication system using an orthogonal frequency-division multiplexing (OFDM) technique (also termed as a discrete multi-tone modulation (DMT) technique), and is composed of a transmitter12and a receiver14. The communication system10may be any wired communication system such as an asymmetric digital subscriber line (ADSL) system, a power line communication (PLC) system or an Ethernet over coax (EOC) but is not limited herein. The communication system10may be any wireless communication system such as a wireless local area network (WLAN) a Digital Video Broadcasting (DVB) system, a Long Term Evolution (LTE) system, a Long Term Evolution-advanced (LTE-A) system or a 5th generation (5G) system, but is not limited herein. In addition, the transmitter12and the receiver14may be installed in a mobile phone, a laptop, etc., but this is not limited herein.

The transmitter12may predict a throughput according to a data rate and an estimated packet error rate (e.g. an average of packet error rates) The throughput may be expressed as follows:
throughput=r×(1−PERestimated)  (Eq. 1)
wherein throughput is the throughput, r is the data rate and PERestimatedis the estimated packet error rate. In a case where the data rate r is 6, 9, 12, 18, 24, 36, 48 or 54 megabits per second (Mbps) the throughput, the data rate and the estimated packet error rate can be summarized as shown in Table 1.

TABLE 1Estimated packetData ratePacket error rate oferror rateThroughput(Mbps)last 5 times (%)(average) (%)(Mbps)60, 0, 0, 0, 00691, 3, 2, 4, 028.82125, 2, 1, 4, 3311.64185, 5, 2, 2, 6417.282423, 10, 30, 20, 172019.23635, 50, 30, 60, 254021.64896, 100, 96, 100, 100952.454100, 100, 100, 100, 1001000

The transmitter12may select the data rate 36 Mbps to transmit the packet according to Table 1, in order to obtain the highest throughput.

FIG.2is a schematic diagram of a computing device20according to an embodiment of the present invention. The computing device20may be utilized in the transmitter12ofFIG.1, for computing a packet transmission time. The computing device20comprises a storage circuit200, a first computing circuit210, a second computing circuit220and a third computing circuit230. In detail, the storage circuit200is configured for storing an arbitration interframe space (AIFS) time TimeAIFS, at least one expected value EXPbackoff[n] of at least one backoff time Timebackoff[n] (n is a number of transmissions of a packet) a preamble time Timepreamble, a short interframe space (SIFS) time TimeSIFSand an acknowledgement (ACK) time TimeACK. The first computing circuit210is configured for computing a payload time Timepayload[l, r] according to a packet length l and a packet rate r (e.g., a data rate defined in a communication standard) The second computing circuit220is coupled to the storage circuit200and the first computing circuit210, and is configured for computing at least one packet transmission time Timepacket[n, l, r] according to the AIFS time TimeAIFS, the at least one expected value EXPbackoff[n] of the at least one backoff time Timebackoff[n], the preamble time Timepreamble, the SIFS time TimeSIFS, the ACK time TimeACKand the payload time Timepayload. The third computing circuit230is coupled to the second computing circuit220, and is configured for computing a total packet transmission time Timepacket_total[j, l, r] according to the at least one packet transmission time Timepacket[n, l, r] and an estimated packet error rate PERestimated(j is a maximum number of transmissions of the packet).

In one example, the AIFS time TimeAIFSis a waiting time interval before transmitting the packet. In one example, the AIFS time TimeAIFSis a predefined value, and is defined in a communication standard (e.g., IEEE 802.11) In one example, the AIFS time TimeAIFSis related to a frequency band for transmitting the packet. Different frequency bands may have different AIFS times TimeAIFS.

In one example, the at least one backoff time Timebackoff[n] is at least one waiting time interval before transmitting a packet (and after the AIFS time TimeAIFS). In one example, the at least one backoff time Timebackoff[n] is at least one random variable with a probability distribution (e.g., a uniform distribution) In one example, the at least one expected value EXPbackoff[n] of the at least one backoff time Timebackoff[n] is at least one median of the at least one backoff time Timebackoff[n].

Table 2 illustrates an example of the backoff time Timebackoff[n] and the expected value EXPbackoff[n] for the n-th transmission of the packet. As n increases, a range of the backoff time Timebackoff[n] and the expected value EXPbackoff[n] increase. That is, compared with the case of transmitting the packet for the first time (n=1) the transmitter12which retransmits the packet (n>1) may wait for a longer time. The more the number of retransmissions, the longer the transmitter12may wait.

TABLE 2Backoff timen-th transmission of packet(microsecond (μs))Expected value (μs)n = 10-13567.5n = 20-279139.5n = 30-567283.5n = 40-1143571.5n = 50-22951147.5n = 60-45992299.5n ≥ 70-92074603.5

In one example, the preamble time Timepreambleis a predefined value, and is defined in a communication standard (e.g., IEEE 802.11). In one example, the SIFS time TimeSIFSis a time interval for the transmitter12to wait for an ACK from the receiver14after transmitting the packet. In one example, the SIFS time TimeSIFSis a predefined value, and is defined in a communication standard (e.g., IEEE 802.11). In one example, the ACK time TimeACKis a time interval for receiving an ACK (e.g., by the transmitter12). In one example, the ACK time TimeACKis a predefined value, and is defined in a communication standard (e.g., IEEE 802.11).

In one example, the estimated packet error rate PERestimatedis a function of a plurality of packet error rates. For example, the function may be an average of the plurality of packet error rates or a maximum of the plurality of packet error rates.

The following example is used for illustrating how the computing device20computes the total packet transmission time. First, the storage circuit200stores the AIFS time TimeAIFSas 43 μs, the preamble time Timepreambleas 20 μs, the SIFS time TimeSIFSas 16 μs, the ACK time TimeACKas 44 μs and the expected values EXPbackoff[n] of the backoff times Timebackoff[n] as shown in Table 2. The first computing circuit computes the payload time Timepayload[l, r] according to the packet length l and the packet rate r as follows:

Timepayload[l,r]=lr(Eq.2)

For example, the packet length l is 1538 bytes and the packet rate r is 6 Mbps. The payload time Timepayload[l, r] is computed as follows:

Timepayload[l,r]=1⁢5⁢3⁢8×86×1⁢06=2051⁢µs(Eq.3)

Then, the second computing circuit220computes the at least one packet transmission time Timepacket[n, l, r] as follows:
Timepacket[n,l,r]=TimeAIFS+EXPbackoff[n]+Timepreamble+Timepayload[l,r]+TimeSIFS+TimeACK(Eq. 4)

It is assumed that the packet length l is 1538 bytes. In the case where the packet rate r is 6, 9, 12, 18, 24, 36, 48 or 54 Mbps and n is 1, 2, 3, 4, or 5, the packet transmission time Timepacket[n, l, r] can be summarized as shown in Table 3.

TABLE 3PacketPacketPacketPacketPackettransmis-transmis-transmis-transmis-transmis-Packetsion timesion timesion timesion timesion timeratewith n = 1with n = 2with n = 3with n = 4with n = 5(Mbps)(μs)(μs)(μs)(μs)(μs)62241231324572745332191558163017742062263812121612881432172022961887494610901378195424703775919120717833653260474810361612484475196639511527544184906349221498

Then, the third computing circuit230computes the total packet transmission time Timepacket_total[j, l, r] according to the packet transmission times Timepacket[n, l, r] and the estimated packet error rate PERestimatedas follows:
Timepacket_total[j,l,r]=Σi=1jTimepacket[i,l,r]×PERestimatei-1(Eq. 5)
wherein j is a maximum number of transmissions of the packet, l is the packet length and r is the data rate.

It is assumed that the estimated packet error rate PERestimatedis the average of the packet error rates and the packet length l is 1538 bytes. In the case where the packet rate r is 6, 9, 12, 18, 24, 36, 48 or 54 Mbps and j is 8 or 16, the estimated packet error rate PERestimatedand the total packet transmission time Timepacket_total[j, l, r] can be summarized as shown in Table 4.

TABLE 4EstimatedpacketTotal packetTotal packetPacketPacket errorerror ratetransmissiontransmissionraterate of last 5(average)time withtime with(Mbps)times (%)(%)j = 8 (μs)j = 16 (μs)60, 0, 0, 0, 002241224191, 3, 2, 4, 0215911591125, 2, 1, 4, 3312561256185, 5, 2, 2, 649149142423, 10, 30,2090990920, 173635, 50, 30,401059106460, 254896, 100, 96,951281235065100, 10054100, 100,1001652356158100, 100, 100

According to Table 4, the same packet can be transmitted 8 times or 16 times at most, and the time required for the transmitter12to transmit the packet at the data rate 24 Mbps is the shortest. That is, compared with the case where the packet retransmission is not considered (i.e., Table 1), in the case of the packet retransmission, the transmitter12obtains a greater throughput by selecting the data rate 24 Mbps rather than 36 Mbps.

Assuming that the estimated packet error rate PERestimatedis the maximum of the packet error rate and other parameters are the same as in Table 4, the estimated packet error rate PERestimatedand the total packet transmission time Timepacket_total[j, l, r] can be summarized as shown in Table 5.

TABLE 5EstimatedpacketTotal packetTotal packetPacketPacket errorerror ratetransmissiontransmissionraterate of last 5(maximum)time withtime with(Mbps)times (%)(%)j = 8 (μs)j = 16 (μs)60, 0, 0, 0, 002241224191, 3, 2, 4, 0416261626125, 2, 1, 4, 3512841284185, 5, 2, 2, 669359352423, 10, 30,301078107820, 173635, 50, 30,602190240060, 254896, 100, 96,1001675156613100, 10054100, 100,1001652356158100, 100, 100

According to Table 5 (i.e., considering the worst case of transmitting a packet), the same packet can be transmitted 8 times or 16 times at most, and the time required for the transmitter12to transmit the packet at the data rate 18 Mbps is the shortest. That is, compared with the case where the packet retransmission is not considered (i.e., Table 1), in the case of the packet retransmission, the transmitter12may obtain a lower latency by selecting the data rate 18 Mbps rather than 36 Mbps.

Operations of the computing device20in the above examples can be summarized into a process30shown inFIG.3. The process30may be utilized in the transmitter12ofFIG.1. InFIG.3, a computing method performed by the computing device20includes the following steps:

Step300: Start.

Step302: Store an AIFS time, at least one expected value of at least one backoff time, a preamble time, an SIFS time and an ACK time.

Step304: Compute a payload time according to a packet length and a packet rate.

Step306: Compute at least one packet transmission time according to the AIFS time, the at least one expected value of the at least one backoff time, the preamble time, the SIFS time, the ACK time and the payload time.

Step308: Compute a total packet transmission time according to the at least one packet transmission time and an estimated packet error rate.

Step310: End.

Detailed description and variations of the process30can be known by referring to the previous description, and are not narrated herein.

It should be noted that realizations of the computing device20(including the storage circuit200, the first computing circuit210, the second computing circuit220and the third computing circuit230) are various. For example, the devices/circuits mentioned above may be integrated into one or more devices/circuits. In addition, the computing device20and the circuits in the computing device20may be realized by hardware (e.g. circuits), software, firmware (known as a combination of a hardware device, computer instructions and data that reside as read-only software on the hardware device), an electronic system or a combination of the devices mentioned above, but are not limited herein.

To sum up, the present invention provides a computing device and a computing method. In the case where a transmitter retransmits a packet, the computing device computes a total packet transmission time according to different estimated packet error rates. Compared with the prior art, the transmitter of the present invention selects a better data rate to obtain a high throughput or a low latency.

Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.