Patent Description:
As the speed of communication is getting faster, utilization of high frequency signals is increasing. Utilization of millimeter waves in the <NUM> (5th Generation) mobile system and satellite communication is becoming greater in the field of radio communication, and in the future, even greater utilization of a terahertz band and optical wavelength band is expected.

However, it is known that since energy for transferring one bit is small in a high-frequency band, radio signals are easily shielded, whereby a bit error rate worsens. When signal attenuation is large, in order to obtain a signal intensity of a desired level on the receiving side, more signal amplification is required, and the amplification noise thereof increases accordingly. According to the Friis transmission equation, signal attenuation increases in proportion to the square of the frequency. Therefore, when a high frequency is used in order to perform high-speed communication, the bit error rate increases simultaneously.

Incidentally, in recent radio communication systems, an adaptive modulation scheme and the like based on the reception signal intensity and the bit error rate has been introduced. In this case, for instance, adaptive modulation is carried out in order to provide communication with a sufficiently low bit error rate to the client, and as a result thereof, throughput may be extremely small. It is considered that when utilization of a higher frequency in the radio communication is further developed in the future, it will become more difficult to maintain the level of the bit error rate at the present-day standard while increasing the throughput.

Further, in the adaptive modulation scheme, the throughput to be provided to the user varies. When the adaptive modulation scheme is applied to high frequency communication that is susceptible to shielding and the like, in order to provide communication with a low bit error rate, it is necessary to change control more than in the case in which a high frequency is not used. Therefore, it is conceivable that a change in the throughput may become larger than that in the case in which a high frequency is not used.

In a mobile network or the like in which the throughput changes greatly in accordance with the adaptive modulation, it is presupposed that a link-level retransmission function such as ARQ (automatic repeat request) is used. Therefore, it is a general practice to provide, to a terminal, communication services in which communications are performed as if there are no packet losses. However, in a high-speed communication, many memory resources are necessary in order to implement the ARQ, which leads to a problem that the cost for implementation of the ARQ becomes high. Further, in a long-distance communication, there is a case in which the delay due to the ARQ that is added to the communication becomes unacceptably large for the processing of the terminal performed based on the TCP (Transmission Control Protocol). As described above, the environment in which the ARQ can be used is limited.

Regarding the terminal, when the bit error rate is high, serious degradation in the data transfer performance among the terminals is anticipated. In the transport protocol (TCP) which it is assumed is used in a general network, only an extremely low data transfer rate is obtained in communication among the terminals performed through a communication channel in which the bit error rate is high. There is another TCP which it is assumed is used in a radio communication channel in which there is a bit error. However, a case that can be handled by the aforementioned TCP is one in which the bit rate error rate is low, e.g. <NUM>-<NUM>, while it is known that in a case in which the bit error is high, e.g. exceeding <NUM>-<NUM>, the data transfer throughput decreases significantly.

According to the TCP, it is a general practice to detect congestions that occur within the network from the occurrence of packet losses and increase in the delay. However, supposing a case in which not all bit errors can be recovered even in accordance with the adaptive modulation and further, the delay fluctuates in accordance with the adaptive modulation or the ARQ, it is considered that a search based on the TCP for a suitable line speed is extremely difficult. Further, in a case where a large number of terminals share a line, it becomes even more difficult to search for a suitable line speed.

Further, as a related technique, a technique disclosed in Patent Literature <NUM> is known. In Patent Literature <NUM>, it is disclosed that in performing radio communication between the communication apparatuses, when a packet error rate is greater than a predetermined threshold value, control for lowering the data rate is performed.

As described above, Patent Literature <NUM> discloses that based on the packet error rate in the radio communication performed between the communication apparatuses, the data rate of the radio communication between the communication apparatuses is controlled. However, in Patent Literature <NUM>, congestions that occur in transmitting data from a terminal that utilizes radio communication performed by a communication apparatus to the communication apparatus are not taken into account.

The present invention provides a terminal, a method for a terminal and a computer program as defined in the appended independent claims. Optional features are defined in the appended dependent claims.

Accordingly, the terminal, the control method, and the program claimed are each adapted to suitably set the transmission speed at which a terminal transmits data to a communication apparatus configured to perform radio communication while suppressing congestions.

An outline of example embodiments will be described prior to the detailed description thereof. <FIG> is a block diagram showing an example of a configuration of a communication system <NUM> according to an outline of an example embodiment. As shown in <FIG>, the communication system <NUM> includes a transmitting-side terminal <NUM>, a transmitting-side communication apparatus <NUM>, a receiving-side communication apparatus <NUM>, and a receiving-side terminal <NUM>. In the communication system <NUM>, the transmitting-side terminal <NUM> transmits data to the receiving-side terminal <NUM> through the transmitting-side communication apparatus <NUM> and the receiving-side communication apparatus <NUM>.

The transmitting-side communication apparatus <NUM> and the receiving-side communication apparatus <NUM> are apparatuses that perform radio communication with each other. That is, the transmitting-side communication apparatus <NUM> and the receiving-side communication apparatus <NUM> are communicably connected with each other so that they can perform radio communication with each other. Note that the transmitting-side terminal <NUM> and the transmitting-side communication apparatus <NUM> are communicably connected with each other so that they can perform wired or radio communication with each other. In the similar manner, the receiving-side terminal <NUM> and the receiving-side communication apparatus <NUM> are communicably connected with each other so that they can perform wired or radio communication with each other.

The transmitting-side communication apparatus <NUM> receives data transmitted by the transmitting-side terminal <NUM> and transmits the received data to the receiving-side communication apparatus <NUM> by radio transmission. The receiving-side communication apparatus <NUM> transmits the data received by radio transmission from the transmitting-side communication apparatus <NUM> to the receiving-side terminal <NUM>.

The transmitting-side terminal <NUM> includes at least a control unit <NUM>. The control unit <NUM> controls the transmission speed of the data addressed to the receiving-side terminal <NUM> based on a first error rate that is an error rate of radio transmission from the transmitting-side communication apparatus <NUM> to the receiving-side communication apparatus <NUM> and a second error rate that is an error rate of transmission from the transmitting-side terminal <NUM> to the receiving-side terminal <NUM>.

Here, the less the transmission error in the transmission from the transmitting-side terminal <NUM> to the transmitting-side communication apparatus <NUM>, the smaller the difference between the first error rate and the second error rate becomes. When there are a plurality of the transmitting-side terminals <NUM>, congestions occur in the data transmission from the transmitting-side terminals <NUM> to the transmitting-side communication apparatus <NUM> causing an error in the data transmission from the transmitting-side terminals <NUM> to the transmitting-side communication apparatus <NUM>. Therefore, by referring to the first error rate and the second error rate, the transmitting-side terminal <NUM> can determine the suitable transmission speed at which communication can be performed while suppressing congestions. That is, in the communication system <NUM>, since the transmitting-side terminal <NUM> has such a configuration to control the transmission speed based on the first error rate and the second error rate, a suitable transmission speed at which communication can be performed while suppressing congestions can be determined. Therefore, according to the communication system <NUM>, the transmission speed at which the terminal transmits data to the communication apparatus that performs radio communication can be set suitably while suppressing congestions.

Next, the example embodiments will be described in detail.

<FIG> is a block diagram showing an example of a configuration of a communication system <NUM> according to an example embodiment. As shown in <FIG>, the communication system <NUM> includes a terminal <NUM>, a network <NUM>, a communication apparatus <NUM>, a radio communication line <NUM>, a communication apparatus <NUM>, and a terminal <NUM>. Here, the terminal <NUM> corresponds to the transmitting-side terminal <NUM> shown in <FIG>. The communication apparatus <NUM> corresponds to the transmitting-side communication apparatus <NUM> shown in <FIG>. The communication apparatus <NUM> corresponds to the receiving-side communication apparatus <NUM> shown in <FIG>. The terminal <NUM> corresponds to the receiving-side terminal <NUM> shown in <FIG>.

The network <NUM> is a network communicably connected with the terminal <NUM> and the communication apparatus <NUM>, for instance, a wired network, but it may instead be a radio network. The network <NUM> is a network that is present between the terminal <NUM> and the communication apparatus <NUM> and is a network for relaying communication between the terminal <NUM> and the communication apparatus <NUM>. That is, the terminal <NUM> and the communication apparatus <NUM> are communicably connected with the network <NUM>.

The radio communication line <NUM> is any radio communication line, and to be more specific, a radio communication line using, for instance, radio waves having a wavelength equal to or smaller than <NUM> millimeter (e.g. FSOC (Free Space Optical Communications) or the like). The radio communication line <NUM> is a communication line between the communication apparatus <NUM> and the communication apparatus <NUM>, and the communication apparatus <NUM> and the communication apparatus <NUM> perform radio communication with each other using the radio communication line <NUM>. Specifically, the communication apparatus <NUM> and the communication apparatus <NUM> perform radio communication with each other by a predetermined radio communication method in accordance with the adaptive modulation.

In the communication system <NUM>, a plurality of the terminals <NUM> perform communication with the respective terminals <NUM> through the radio communication line <NUM> via the communication apparatus <NUM> and the communication apparatus <NUM>. In this example embodiment, the terminal <NUM> is a terminal on the transmitting side and the terminal <NUM> is a terminal on the receiving side. The communication apparatus <NUM> and the terminal <NUM> are communicably connected with each other. Note that another network for relaying communication may be present between the communication apparatus <NUM> and the terminal <NUM>.

The terminal <NUM> is a terminal on the data transmitting side, and in the terminal <NUM>, the data to be transmitted is generated at irregular intervals. The data transmitted by performing transmission control in the terminal <NUM> to be described later reaches the communication apparatus <NUM> through the network <NUM> where there is a confluence of traffic of a plurality of the terminals <NUM>. When the network <NUM> is congested due to the traffic volume exceeding the line speed of the communication line to the communication apparatus <NUM>, a part of the traffic is lost in the network <NUM>. It can be said that the traffic volume that can be input from the network <NUM> to the communication apparatus <NUM> is equal to the throughput of radio transmission by the radio apparatus <NUM>, and among the traffic that exceeds this traffic volume, the traffic exceeding the buffer amount by a certain amount and causing the congestion is discarded.

The communication apparatus <NUM> performs adaptive modulation so as to attain the desired error rate or the effective communication speed in accordance with the state of the radio communication line <NUM>. That is, the communication apparatus <NUM> performs radio communication with the communication apparatus <NUM> on the receiving side in accordance with the adaptive modulation. By this configuration, the maximum communication speed varies. A signal transmitted by the communication apparatus <NUM> is partially lost due to noise and the like and reaches the communication apparatus <NUM>. The traffic received by the communication apparatus <NUM> is transferred to the terminal <NUM> which is the destination of the traffic.

That is, in the communication method according to the present example embodiment, the following state is assumed. There is an error in a part of the transmission in the radio communication line <NUM> and the maximum communication speed varies in accordance with the processing (the adaptive modulation) of the communication apparatus. Further, since applications of the terminal <NUM> on the transmitting side perform any communication, the total transmission speed of the plurality of the terminals <NUM> is unknown. Further, packet loss may occur due to the congestion in the network <NUM> on the transmitting side. In such a state, each terminal <NUM> on the transmitting side controls the transmission speed of the data transmitted therefrom by the method described below.

<FIG> is a block diagram showing an example of the configuration of the terminal <NUM>. As shown in <FIG>, the terminal <NUM> includes an application <NUM>, a data transmission and reception control unit <NUM>, a network processing unit <NUM>, and a data link processing unit <NUM>. The application <NUM> is an application program that generates any data to be transmitted and acquires the data received by the terminal <NUM>. The data transmission and reception control unit <NUM> performs transmission and reception processing of the TCP layer. In particular, the data transmission and reception control unit <NUM> performs data segmentation and adjustment of the transmission volume (the transmission speed) when transmitting data. The data transmission and reception control unit <NUM> passes the segment to be transmitted to the network processing unit <NUM>. The network processing unit <NUM> performs transmission and reception processing of the IP (Internet Protocol) layer. The network processing unit <NUM> packetizes the data segments from the data transmission and reception control unit <NUM> when transmitting data, and passes the packet to the data link processing unit <NUM>. Further, when receiving data, the packet from the data link processing unit <NUM> is segmented and passed to the data transmission and reception control unit <NUM>. The data link processing unit <NUM> performs transmission and reception processing of the Ethernet (registered trademark) layer. The data link processing unit <NUM> frames the packet received from the network processing unit <NUM> when transmitting data and transmits the framed packet. Further, the data link processing unit <NUM> packetizes the frame received from an external apparatus when receiving data, and passes the packetized frame to the network processing unit <NUM>.

In the terminal <NUM> according to the present example embodiment, the data transmission and reception control unit <NUM> sets the transmission volume (the transmission speed) of data from the terminal <NUM>. The data transmission and reception control unit <NUM> stores a target error rate. The target error rate corresponds to an error rate of communication from the communication apparatus <NUM> to the communication apparatus <NUM> in the radio communication line <NUM>. Then, the terminal <NUM> determines the data transmission speed so that the error rate of communication from the terminal <NUM> to the terminal <NUM> approaches this target error rate. Here, errors in the communication from the terminal <NUM> to the terminal <NUM> include an error that occurs due to the congestion in the network <NUM> and an error in communication from the communication apparatus <NUM> to the communication apparatus <NUM> on the radio communication line <NUM>. Therefore, it can be said that control of the transmission speed of the terminal <NUM> is controlling the transmission speed so as to reduce the former error. That is, the terminal <NUM> reduces the transmission speed when it is determined that the error rate due to the congestions is high and increases the transmission speed when it is determined that the error rate falls within the target range.

Specifically, the data transmission and reception control unit <NUM> controls the transmission speed (the transmission volume) by controlling the size of the transmission window by referring to the target error rate and the error rate of communication from the terminal <NUM> to the terminal <NUM>. The method of determining the size of the transmission window in the present example embodiment will be described later.

Note that the terminal <NUM> calculates the error rate of communication from the terminal <NUM> to the terminal <NUM> based on the acknowledgement of TCP from the terminal <NUM> with which the terminal <NUM> communicates. Further, in the example embodiment, the error rate of communication from the communication apparatus <NUM> to the communication apparatus <NUM> in the radio communication line <NUM> is obtained by the measurement performed by the communication apparatus <NUM> on the receiving side and notified to the terminal <NUM> on the receiving side. To be more specific, the communication apparatus <NUM> on the transmitting side notifies the terminal <NUM> on the transmitting side of the error rate in the radio communication line <NUM> measured by the communication apparatus <NUM> on the receiving side. Then, the terminal <NUM> controls the transmission speed by referring to the notified error rate.

Next, an example of a hardware configuration of the terminal <NUM> will be described. <FIG> is a block diagram showing an example of a hardware configuration of the terminal <NUM>. As shown in <FIG>, the terminal <NUM> includes, for instance, a network interface <NUM>, a memory <NUM>, and a processor <NUM>.

The network interface <NUM> is used to perform communication with an external apparatus. The network interface <NUM> may include, for instance, a network interface card (NIC).

The memory <NUM> is configured of, for instance, a combination of a volatile memory and a non-volatile memory. The memory <NUM> is used to store software (a computer program) including one or more instructions executed by the processor <NUM> and data used in various processing performed by the terminal <NUM>. The aforementioned program can be stored and provided to a computer using any type of non-transitory computer readable media. Non-transitory computer readable media include any type of tangible storage media. Examples of non-transitory computer readable media include magnetic storage media (such as floppy disks, magnetic tapes, hard disk drives, etc.), optical magnetic storage media (e.g. magneto-optical disks), Compact Disc Read Only Memory (CD-ROM), CD-R, CD-R/W, and semiconductor memories (such as mask ROM, programmable ROM (PROM), Erasable PROM (EPROM), flash ROM, Random Access Memory (RAM), etc.). Further, the program may be provided to a computer using any type of transitory computer readable media. Examples of transitory computer readable media include electric signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer through a wired communication channel such as electric wires and optical fibers or a wireless communication channel.

The processor <NUM> performs the processing of the terminal <NUM> by reading out a software (a computer program) from the memory <NUM> and executing the software. That is, the processing of the terminal <NUM> may be implemented by executing the program. Thus, the terminal <NUM> may include a function as a computer. The processor <NUM> may be, for instance, a microprocessor, a MPU (Micro Processor Unit), a CPU (Central Processing Unit), or the like. The processor <NUM> may include a plurality of processors.

Note that each of the communication apparatuses <NUM> and <NUM> and the terminal <NUM> also has the hardware configuration shown in <FIG> and functions as a computer. Therefore, regarding the processing of the communication apparatuses <NUM> and <NUM> and the processing of the terminal <NUM>, each processing may also be implemented by causing the processor to execute a computer program.

Hereinbelow, operations of each structural elements in the communication system <NUM> will be described. <FIG> is a flow chart showing an example of operations of the terminal <NUM>. Hereinbelow, the flow of operations of the terminal <NUM> will be described with reference to the flowchart shown in <FIG>.

The processing of the terminal <NUM> according to the present example embodiment is started by the application <NUM> passing the data to be transmitted to the data transmission and reception control unit <NUM>. The data transmission and reception control unit <NUM> establishes a connection with the terminal <NUM> with which the terminal <NUM> communicates.

When there is data to be transmitted, the processing proceeds to Step S102. When there is no data to be transmitted, the processing proceeds to Step S107.

When the data transmission and reception control unit <NUM> has already received notification of the target error rate from the communication apparatus <NUM>, the processing proceeds to Step S103. When the data transmission and reception control unit <NUM> has not received the target error rate, the processing proceeds to Step S104. Note than the target error rate is, for instance, notified from the communication apparatus <NUM> to the terminal <NUM> on a periodic basis and the data transmission and reception control unit <NUM> that has received the target error rate stores the received target error rate in the memory <NUM>. Note that the target error rate to be notified is the error rate of communication from the communication apparatus <NUM> to the communication apparatus <NUM> in the radio communication line <NUM>.

The data transmission and reception control unit <NUM> refers to the latest target error rate that is stored and determines the value of the target error rate used to set the transmission speed (the transmission window size). The target error rate used to set the transmission speed may be the notified value or may be an adjusted value. For instance, a target error rate adjusted so as to increase the error rate may be used. This means that congestions are somewhat allowed.

The data transmission and reception control unit <NUM> calculates the transmission window size based on the target error rate determined in Step S103 and the error rate of communication from the terminal <NUM> to the terminal <NUM>. However, when notification of the target error rate has not been received (when the processing moves on to Step S104 without going through Step S103), the transmission window size is calculated based on a predetermined error rate (e.g. <NUM>) and the error rate of communication from the terminal <NUM> to the terminal <NUM>. When the error rate of communication from the terminal <NUM> to the terminal <NUM> has not been obtained, a predetermined error rate (e.g. <NUM>) is used instead. Note that when notification of the target error rate has not been received or the error rate of communication from the terminal <NUM> to the terminal <NUM> has not been obtained, the data transmission and reception control unit <NUM> may set the transmission window side to a predetermined size.

When the transmission window size is determined in Step S104, the data transmission and reception control unit <NUM> performs transmission processing of the data segment in accordance with the determined window size. That is, the data transmission and reception control unit <NUM> transmits the amount of data segments that fit into the set transmission window size. Note that as described later, the transmission window side that has been temporarily set is fixed until a predetermined period lapses.

The terminal <NUM> that has received the segment transmitted in Step S105 transmits an acknowledgement indicating that the segment has been received to the terminal <NUM> on the transmitting side. In Step S106, the data transmission and reception control unit <NUM> of the terminal <NUM> on the transmitting side determines as to whether there is segment loss during communication by checking whether there is an acknowledgement for the transmitted segment. By this configuration, the data transmission and reception control unit <NUM> calculates the error rate of communication from the terminal <NUM> to the terminal <NUM>. That is, the data transmission and reception control unit <NUM> calculates the error rate from the number of successful transmissions and the number of failed transmissions. The data transmission and reception control unit <NUM> stores the calculated error rate in the memory <NUM> in order to set the transmission window size. The processing of Step S101 to Step S106 as described above is repeated.

When there is no data to be transmitted, the processing proceeds to Step S107, and in Step S107, the data transmission and reception control unit <NUM> cuts off the connection to end the processing.

<FIG> is a flowchart showing an example of operations of the communication apparatus <NUM> on the transmitting side. Hereinbelow, the flow of operations of the communication apparatus <NUM> will be described with reference to the flowchart shown in <FIG>.

Processing of the communication apparatus <NUM> according to the present example embodiment is started by turning on the power of the communication apparatus <NUM>. When the processing is started, the communication apparatus <NUM> performs transfer of the communication packets (frames). The communication apparatus <NUM> performs transfer by, for instance, embedding, in the frames, numbers that are regularly set in accordance with the order of transmission. Further, the communication apparatus <NUM> waits for reception of the notification of the error rate from the communication apparatus <NUM> on the receiving side.

If the communication apparatus <NUM> has received the error rate from the communication apparatus <NUM>, the processing proceeds to Step S202. When the error rate has not been received, the processing proceeds to Step S203.

The communication apparatus <NUM> stores the error rate received from the communication apparatus <NUM> as a target error rate to be notified to the terminal.

The communication apparatus <NUM> notifies the terminal <NUM> on the transmitting side of the latest target error rate stored in Step S202. Note that when a new error rate is not received from the communication apparatus <NUM> (when the processing proceeds to Step S203 without going through Step S202), the communication apparatus <NUM> notifies the terminal <NUM> of the same error rate as that previously notified. The processing as described above from Step S201 through to Step S203 is repeated.

<FIG> is a flowchart showing an example of operations of the communication apparatus <NUM> on the receiving side. Hereinbelow, the flow of operations of the communication apparatus <NUM> will be described with reference to the flowchart shown in <FIG>.

Processing of the communication apparatus <NUM> according to the present example embodiment is started by turning on the power of the communication apparatus <NUM>. When the processing is started, the communication apparatus <NUM> performs transfer of the communication packets (frames).

The communication apparatus <NUM> receives a communication signal from the communication apparatus <NUM>.

The communication apparatus <NUM> calculates the error rate of the communication signal. That is, the communication apparatus <NUM> calculates the error rate of communication from the communication apparatus <NUM> to the communication apparatus <NUM> in the radio communication line <NUM>. Specifically, for instance, the communication apparatus <NUM> detects occurrence of the transmission error by confirming the numbers that are regularly set in the frames transmitted from the communication apparatus <NUM>. That is, when a frame with a certain number is not received, the communication apparatus <NUM> grasps that an error has occurred in the transfer of the frame with the certain number. The communication apparatus <NUM> calculates the error rate from the number of times of successful and unsuccessful transmissions from the communication apparatus <NUM> to the communication apparatus <NUM>.

The communication apparatus <NUM> notifies the communication apparatus <NUM> on the transmitting side of the error rate measured in Step S302. The error rate thus notified is received by the communication apparatus <NUM> in Step S201 shown in <FIG> as described above. The processing from Step S301 through to Step S303 as described above is repeated. Thus, the notification of the error rate is performed on a periodical basis. Note that as described above, in the present example embodiment, the error rate in the radio communication line <NUM> is measured and notified. Therefore, it is expected that more accurate control can be performed compared to the case in which, for instance, the reference value of the error rate (i.e. the error rate referred to for carrying out adaptive modulation) preset in the communication apparatus <NUM> or the communication apparatus <NUM> in order to ensure desired line quality by carrying out the adaptive modulation is notified.

Next, calculation of the transmission window size (i.e. the transmission speed) by the data transmission and reception control unit <NUM> of the terminal <NUM> according to the present example embodiment will be described. The data transmission and reception control unit <NUM> adjust the window size so that the difference between the error rate of communication from the terminal <NUM> to the terminal <NUM> and the target error rate is small. In other words, the data transmission and reception control unit <NUM> adjusts the window size so as to reduce the error due to the congestion in the network <NUM>. A specific example of control of the transmission window according to the present example embodiment is shown in <FIG> is a graph showing an example of transitions in the throughput based on a transmission window set by the data transmission and reception control unit <NUM>.

The data transmission and reception control unit <NUM> performs setting so as to express the initial value winit of the transmission window size in Expression (<NUM>). [Expression <NUM>]<MAT>.

Here, S denotes the predetermined communication bandwidth that is assumed in advance. As the value for S, for instance, <NUM> Gbit/s is applied. D denotes the predetermined round trip time (RTT: Round Trip Time) of data transmission between the terminal <NUM> and the terminal <NUM> that is assumed in advance. For instance, as the value for D, <NUM> is applied. α is a coefficient for adjusting a so-called bandwidth-delay product. That is, α is a coefficient for specifying the margin set with respect to the product of S and D. When the initial value winit in which α is equal to or larger than <NUM> is set as the transmission window size, assuming that there is a buffer in the network <NUM>, the terminal <NUM> transmits the data volume exceeding the bandwidth-delay product. For instance, as the value for α, <NUM> is applied.

Further, the data transmission and reception control unit <NUM> performs control of the transmission window size as expressed by the following Expression (<NUM>) every time the control cycle period ci elapses. Here, i denotes an integer equal to or greater than <NUM>, more specifically, c<NUM> represents the period during which winit is applied to the transmission window size. Further, the data transmission and reception control unit <NUM> initializes the transmission window size for every predetermined initialization time interval θ. That is, the data transmission and reception control unit <NUM> resets the transmission window size to the initial value winit for every predetermined initialization time interval θ. [Expression <NUM>]<MAT>.

Note that wi is the transmission window size used in the i-th period of the control cycle period ci. Therefore, wi+<NUM> represents the new transmission window size used in period after the i-th period of the control cycle period ci. P is the target error rate. Note that P may be, for instance, a predetermined value such as <NUM>. pi denotes the error rate of communication from the terminal <NUM> to the terminal <NUM> measured in the i-th period of control cycle period ci. Note the fraction indicated on the right side of Expression (<NUM>) represents comparison of the error rates. Since the error rates are subtracted from <NUM> in the denominator and the numerator of this fraction, it can be said that the fraction represents comparison of communication success rates. β is a coefficient for adjusting the measured error rate of communication from the terminal <NUM> to the terminal <NUM>. For instance, the value of β is <NUM>, but other value may be applied in order to perform the adjustment. γ is a parameter for adjusting the acceleration speed of the transmission window size. For instance, the value of γ is <NUM>.

Here, the error rate is adjusted according to β so as to reduce the error rate. In this case, the window size is set allowing some congestions. With this configuration, since traffic of certain extent can be accumulated in the buffer of the network <NUM>, it is possible to suppress reduction in the throughput due to lack of traffic. Note as mentioned in the description of Step S103, the target error rate may be adjusted. That is, the target error rate adjusted so as to increase the error rate may be used. In this case too, the same effect can be expected. As described above, the data transmission and reception control unit <NUM> may control the transmission speed based on the error rate adjusted so as to reduce the error rate of communication from the terminal <NUM> to the terminal <NUM>. Further, the data transmission and reception control unit <NUM> may control the transmission speed based on the error rate adjusted so as to increase the target error rate.

Further, in Expression (<NUM>), u(t) is a function expressed by the following Expression (<NUM>). Note that θ is a parameter for adjusting the initialization interval of the transmission window size. For instance, <NUM> seconds is applied as a value for θ. [Expression <NUM>]<MAT>.

Further, in the present example embodiment, the control cycle period ci is expressed by the following Expression (<NUM>). [Expression <NUM>]<MAT>.

Here, di is a round trip time of data transmission between the terminal <NUM> and the terminal <NUM> measured in the i-th period of the control cycle period ci. Note that as the value of di-<NUM> (that is, the value of d<NUM>) when i=<NUM>, for instance, a predetermined value is used. Further, µ is a parameter for adjusting the updating interval of the transmission window size. For instance, as a value for µ, <NUM> is used.

As indicated in Expression (<NUM>), the data transmission and reception control unit <NUM> controls the transmission speed (the transmission window size) of data addressed to the terminal <NUM> in a control cycle set in accordance with the round trip time of data transmission from the terminal <NUM> to the terminal <NUM>. As described above, in the present example embodiment, the error rate of communication from the terminal <NUM> to the terminal <NUM> is calculated based on an acknowledgement from the terminal <NUM>. Therefore, when the control cycle period ci shorter than the round trip time is set, the window size is updated (that is, the calculation processing expressed by the Expression (<NUM>) is performed) before a new error rate is calculated, causing unnecessary calculation of error rates. On the other hand, by defining the control cycle period ci as shown in the Expression (<NUM>), the control cycle period ci longer than the round trip time can be set, whereby it is possible to suppress unnecessary processing.

As understood from the Expression (<NUM>), the data transmission and reception control unit <NUM> performs control so as to reduce the transmission speed (the transmission window size) compared to the currently set value when, for instance, the error rate of communication from the terminal <NUM> to the terminal <NUM> is higher than the target error rate. Accordingly, congestions can be suppressed. Further, the data transmission and reception control unit <NUM> performs control so as to increase the transmission speed (the transmission window size) compared to the currently set value, when, for instance, the error rate of the communication from the terminal <NUM> to the terminal <NUM> is lower than the target error rate. Accordingly, it is possible to maximize the transmission speed while suppressing congestions. As described above, according to the present example embodiment, the terminal <NUM> can determine an appropriate transmission speed at which communication can be performed while suppressing congestions.

Note that the present disclosure is not limited to the example embodiments described above and can be changed as appropriate without departing from the scope of the present claims.

As described above, the present disclosure has been made with reference to the example embodiments, however the present disclosure is not to be limited to the above. Various changes can be made to the configuration and the details of the present disclosure within the scope of the claims.

Claim 1:
A terminal (<NUM>) configured to transmit, to a transmitting-side communication apparatus (<NUM>) configured to perform radio communication with a receiving-side communication apparatus (<NUM>) configured to perform communication with a receiving-side terminal (<NUM>), data addressed to the receiving-side terminal (<NUM>), the terminal (<NUM>) comprising
control means (<NUM>) for acquiring a first error rate from the transmitting-side communication apparatus (<NUM>), for calculating a second error rate and for controlling a transmission speed of the data addressed to the receiving-side terminal (<NUM>) based on the first error rate that is an error rate of radio transmission from the transmitting-side communication apparatus (<NUM>) to the receiving-side communication apparatus (<NUM>) and the second error rate that is an error rate of transmission from the terminal (<NUM>) to the receiving-side terminal (<NUM>),
characterized in that
the control means (<NUM>) is configured to perform control so as to increase the transmission speed to be higher compared to the currently set value when the second error rate is lower than the first error rate.