Minimum delay value calculating device, information transmitting device, minimum delay value calculating method, and program storage medium

The purpose of the present invention is to appropriately detect propagation delay and the like (minimum delay value) in order to appropriately control a transmission rate of information. Upon input of a measured value of delay that is smaller than a value set as a minimum delay value, a minimum value setting unit (2) updates the set minimum delay value to the measured value of the delay. Delay refers to the time from transmission of information to arrival at the destination thereof, or the round trip time from transmission of information to receipt of reply information from the destination receiving the information by the originator. A timing determination unit (3) determines a review timing for reviewing the set minimum delay value on the basis of the measured value of the delay. A minimum value review unit (4) updates (reviews) the set minimum delay value at the determined review timing. The minimum delay value to be updated is a value calculated using the measured value of the measured delay or a preset initial value.

This application is a National Stage Entry of PCT/JP2014/006428 filed on Dec. 24, 2014, which claims priority from Japanese Patent Application 2013-268402 filed on Dec. 26, 2013, the contents of all of which are incorporated herein by reference, in their entirety.

TECHNICAL FIELD

The present invention relates to a technique controlling a transmission rate when transmitting information through an information communication network.

BACKGROUND ART

In recent years, with the increase in the Internet bandwidth and the development of the technique of handling versatile information, users can acquire information including not only characters and still images but also sounds and moving images by using mobile terminals at anytime and anywhere. The technologies for supporting such information acquisition include the communication schemes such as LTE (Long Term Evolution) and LTE-A (Long Term Evolution-Advanced).

In LTE, for example, a link adaptation technique contributes to improving communication performance (e.g., communication speed) and quality (e.g., connectivity and SN (Signal-Noise) ratio). To give a specific example, a base station (called as eNodeB in LTE) changes a data modulation scheme from QPSK (Quadrature Phase-Shift Keying) to 64QAM (Quadrature Amplitude Modulation) based on distance to the user's mobile terminal, power of radio wave or the like. QPSK is a data modulation scheme that is less susceptible to noise and interference. 64QAM is a data modulation scheme that can send more data per symbol. Changing the data modulation scheme in that way leads to dynamic variation of the transmission capacity per network resource (amount of information transmittable per unit time). The serialization delay time varies along with the variation of the transmission capacity.

In mobile terminals, when the communication condition is likely to become worse due to factors such as moving, a communication system being used is often switched to another communication system of a different communication scheme in order to continue the communication with, for example, the distribution source of contents. For example, a mobile terminal switches from an LTE system, which is one of the communication schemes, to a 3G (3rd Generation) system, which is another one of the communication schemes. Incidentally, 3G is a communication scheme for digital mobile phones that complies with the standards defined by ITU (International Telecommunication Union).

When a communication system being used by a mobile terminal is switched to a communication system of a different communication scheme as described above, a handover process is carried out in the mobile terminal and the communication systems used by the mobile terminal. Such the handover between the communication systems different from each other is called as a vertical handover. Processing relating to the vertical handover causes variation in the information transmission delay time, transmission capacity and the like in a communication path, and due to such variation, propagation delay and serializing delay (hereinafter called as propagation delay or the like) frequently vary.

By the way, in TCP (Transmission Control Protocol), which has been widely used in both wired and wireless data communications, techniques relating to congestion control are advanced in order to adapt to the recent communication environments where a lot of traffics coexist.

As the techniques relating thereto, there are delay-based TCPs, represented by TCP Vegas disclosed in NPL 1 and FAST TCP disclosed in NPL 2. In the delay-based TCPs, for example, a server device that performs communication control detects data (information) congestion in a network by estimating the amount of queue remaining in the network. When detecting the congestion, the server device then suppresses a data (information) transmission rate before occurrence of packet loss. In this way, the server device makes it possible to stabilize throughput without network corruption. More specifically, in the delay-based TCPs, the server device estimates the amount of queue remaining in the network based on the product of the available bandwidth (available transmission capacity) or transmission rate and the queuing delay. When the estimated amount of queue exceeds a threshold value, the server device then makes a detection of congestion and controls the transmission rate in a decreasing direction of the data transmission rate.

Queuing delay refers to a time obtained by subtracting the propagation delay or the like from the current delay (a time from transmission of information (data) to arrival at a destination or a round trip time from transmission of information to receipt by an information originator of reply information by the destination having received the information). In TCPs, the propagation delay or the like is estimated by a minimum value of delay dmin measured in data (information) communication, and the minimum value dmin is stored as a value of the propagation delay or the like in, for example, a storage device of the server device. When a minimum value of delay dmin smaller than the estimated value dmin is measured, the value of the propagation delay or the like is generally updated to the newly measured minimum value dmin. In this case, however, the value of the propagation delay or the like is updated only when a smaller delay (minimum value dmin) is measured, and therefore, there is a problem that if the propagation delay or the like increases, the increase is not reflected in the value of the propagation delay or the like when the propagation delay or the like increases.

In other words, the increase in the propagation delay or the like results in the discrepancy between the actual propagation delay or the like and the propagation delay or the like that the server device recognizes. The discrepancy in the propagation delay or the like also causes a discrepancy in the estimated value of the queuing delay, and as a result, the server device estimates a queue amount that is larger than the actual queue amount by using the queuing delay. Consequently, the server device erroneously recognizes that the network is congested based on the erroneous queue amount and unnecessarily reduces the transmission rate in the delay-based TCPs. This will cause an inconvenience that throughput in TCPs decreases.

Meanwhile, a solution for the problem is proposed in NPL 3. In the approach proposed in NPL 3, a server device checks whether the propagation delay or the like has increased for each constant interval (each fixed number of packets, in the example described in NPL 3) and, resets the value dmin of the propagation delay or the like, when an the propagation delay or the like has increased. Specifically, the server device computes the minimum value of delay for each N (N is an integer equal to or greater than 2) acknowledgements (ACK (ACKnowledge)) as dmin_est. When the value obtained by subtracting the value dmin set as the propagation delay or the like from the computed value dmin_est (dmin_est−dmin) is greater than the queuing delay L (L is an integer equal to or greater than 2) consecutive times, the server device then judges that the propagation delay or the like has increased. According to such determination, the server device resets the value dmin of the propagation delay or the like to the minimum value dmin_est of the latest delay. Accordingly, the server device is able to recognize the increase in the propagation delay or the like within a fixed number of packets (L×N packets).

CITATION LIST

Non Patent Literature

SUMMARY OF INVENTION

Technical Problem

However, the approach in NPL 3 has a problem that it is difficult to set an appropriate interval for computing the minimum value dmin_est of the propagation delay or the like. In other words, there is a disadvantage that increasing the fixed interval for computing the minimum value dmin_est will extend time for reflecting the increase of propagation delay or the like to the value dmin of the propagation delay or the like when the propagation delay or the like increases. In contrast, reducing the fixed interval for computing the minimum value dmin_est will often lead to the increase in the value dmin of the propagation delay or the like, even when the propagation delay or the like does not show a large change. This will cause an inconvenience that the server device underestimates the queuing delay and excessive traffic flows in the network. In addition, the communication condition of the mobile terminals or network varies from moment to moment depending on, for example, changes in surrounding conditions due to moving of the mobile terminals, changes in radio wave conditions between the mobile terminals and the base station, and changes in cross traffic conditions. A fixed constant interval for computing the minimum value dmin_est regardless of such a dynamic variation in the communication condition will impose a limitation on the optimization of the network communication state.

The present invention was made in order to solve the problems as described above. In other words, the main objective of the present invention is to provide a technique capable of appropriately detecting propagation delay or the like (minimum delay value) in order to appropriately control a transmission rate of information in information communications.

Solution to Problem

To achieve the objective of the present invention, a minimum delay value calculating device of the present invention includes:

a minimum value setting unit that updates a minimum delay value to a measured value of delay that is a time from transmission of information to arrival at a destination of the information or a round trip time from transmission of information to receipt of reply information from a destination receiving the information by an information originator, upon input of the measured value of delay if the measured value of delay is smaller than a value set as the minimum delay value;

a timing determination unit that determines a review timing for reviewing the minimum delay value based on the measured value of delay; and

a minimum value review unit that updates the minimum delay value to a newly minimum delay value calculated using the measured value of delay or updating the minimum delay value to a preset initial value at the review timing determined by the timing determination unit.

An information transmitting device of the present invention includes:

the minimum delay value calculating device of the present invention; and

a transmitting unit that transmits information at a transmission rate calculated based on the minimum delay value set by the minimum delay value calculating device.

A minimum delay value calculating method of the present invention includes:

updating a minimum delay value to a measured value of delay that is a time from transmission of information to arrival at a destination of the information or a round trip time from transmission of information to receipt of reply information from a destination receiving the information by an information originator, upon input of the measured value of delay if the measured value of delay is smaller than a value set as the minimum delay value;

determining a review timing for reviewing the minimum delay value based on the measured value of delay; and

updating the minimum delay value to a newly minimum delay value calculated using the measured value of delay or updating the minimum delay value to a preset initial value at the review timing.

A storage medium of the present invention storing a computer program that causes a computer to execute:

processing for updating a minimum delay value to a measured value of delay that is a time from transmission of information to arrival at a destination of the information or a round trip time from transmission of information to receipt of reply information from a destination receiving the information by an information originator, upon input of the measured value of delay if the measured value of delay is smaller than a value set as the minimum delay value;

processing for determining a review timing for reviewing the minimum delay value based on the measured value of delay; and

processing for updating the minimum delay value to a newly minimum delay value calculated using the measured value of delay or updating the minimum delay value to a preset initial value at the review timing.

The objective of the present invention is also achieved by the minimum delay value calculating method of the present invention related to the minimum delay value calculating device of the configuration as described above. In addition, the objective is also achieved by the computer program that causes a computer to implement the minimum delay value calculating device and the minimum delay value calculating method of the present invention, and by the program storage medium that stores the computer program.

Advantageous Effects of Invention

The present invention enables appropriate detection of propagation delay or the like (minimum delay value) in order to appropriately control a transmission rate of information in information communications.

DESCRIPTION OF EMBODIMENTS

Exemplary embodiments of the present invention will be described below with reference to the accompanying drawings.

FIG. 1is a block diagram illustrating a simplified configuration of a minimum delay value calculating device of a first exemplary embodiment according to the present invention. A minimum delay value calculating device1of the first exemplary embodiment includes a minimum value setting unit2, a timing determination unit3and a minimum value review unit4. In the first exemplary embodiment, the minimum delay value calculating device1is configured to receive input of a measured value of delay, which is measured, from the outside of the device1. The term “delay” herein refers to a time from transmission of information to arrival at a destination of the information or a round trip time from transmission of information to receipt by an information originator of reply information from the destination having received the information.

The minimum value setting unit2includes a function of, when a measured value of delay (hereinafter also referred to as a measured delay value) is input and the measured delay value is smaller than a value set as a minimum delay value, updating the minimum delay value to the measured delay value. In other words, the minimum value setting unit2includes a function of setting the measured delay value as a new minimum delay value, when the measured delay value is smaller than the set minimum delay value.

The timing determination unit3includes a function of determining (detecting) a review timing for reviewing the set minimum delay value based on the measured delay value.

The minimum value review unit4includes a function of updating the set minimum delay value at the determined review timing. The minimum delay value to be updated is a value calculated using the measured delay value or a preset initial value. After the minimum delay value is updated by the minimum value review unit4, the minimum value setting unit2sets the minimum delay value as described above using the updated minimum delay value.

The minimum value setting unit2, the timing determination unit3, and the minimum value review unit4are implemented by, for example, a control device (e.g., CPU (Central Processing Unit))5. In other words, the minimum delay value calculating device1of the first exemplary embodiment includes, for example, the control device5and a storage device (storage medium)6. In the storage device6, a computer program (program)7that indicates a control procedure (processing procedure) for controlling the overall operation of the minimum delay value calculating device1is stored. The control device5executes the program7read out from the storage device6, thereby implementing each function of the minimum value setting unit2, the timing determination unit3, and the minimum value review unit4.

The minimum delay value calculating device1of the first exemplary embodiment includes a function of determining a review timing for reviewing the minimum delay value by means of the timing determination unit3based on the measured delay value. In other words, the minimum delay value calculating device1includes a function of changing the review timing for the minimum delay value in response to delay variation. Thus, the minimum delay value calculating device1makes it possible to review the minimum delay value at an appropriate timing taking account of the delay variation, and to calculate the minimum delay value suitable for the communication condition.

FIG. 2is a block diagram illustrating a simplified configuration of an exemplary embodiment of an information transmitting device according to the present invention. An information transmitting device10of the exemplary embodiment includes the minimum delay value calculating device1as described above and a transmitting unit11. The transmitting unit11includes a function of calculating a transmission rate based on the minimum delay value calculated by the minimum delay value calculating device1, and transmitting information at the calculated transmission rate.

The information transmitting device10transmits information at the transmission rate calculated based on the minimum delay value (i.e., the minimum delay value suitable for the communication condition) calculated by the minimum delay value calculating device1. Thus, the information transmitting device10makes it possible to control the transmission rate following rapidly and accurately the changes in the communication condition. Consequently, the information transmitting device10can greatly contribute to the improvement of throughput in information transmission.

A second exemplary embodiment according to the present invention will be described below.

FIG. 3is a block diagram illustrating a simplified configuration of an information transmitting device including a minimum delay value calculating device of the second exemplary embodiment according to the present invention. An information transmitting device20of the second exemplary embodiment is connected via an information communication network35such as the Internet to a user's device with communication function (hereinafter referred to as a user terminal)36serving as an information supply destination. The information transmitting device20is a device including a function of transmitting (replying) information (data) requested by the user terminal36to the user terminal36via the information communication network35. Specific examples of the information transmitting device20include an origin server. Alternatively, information transmitting device20may be an information relay device (specifically, e.g., a cache server, a proxy server, and an edge server) that is interposed on the communication path between the origin server and the user terminal36and temporarily terminates information communication. Alternatively, the information transmitting device20may be communication equipment (e.g., P-GW (Packet Data Network Gateway) and S-GW (Serving Gateway)) that constitutes an information communication system. When the information transmitting device20is interposed on the communication path between the origin server and the user terminal36, the information communication network connecting between the information transmitting device20and the user terminal36may be different from the information communication network connecting between the information transmitting device20and the origin server.

Hardware configurations in the information transmitting device20include a control device30and a storage device (storage medium)31. The storage device31is, for example, a hard disk device. The storage device31stores a computer program (hereinafter also abbreviated as a program)32for controlling operations of the information transmitting device20and various data therein. The control device30includes a CPU (not illustrated) and may have functions as are described below by CPU that executes the program32read out from the storage device31. In other words, in the second exemplary embodiment, the control device30includes, as functional units, a minimum value setting unit21, a timing determination unit22, a minimum value review unit23, an update interval calculating unit24, a measuring unit25, and a transmitting unit26. In the second exemplary embodiment, a minimum delay value calculating device33is constituted by the minimum value setting unit21, the timing determination unit22, the minimum value review unit23, the update interval calculating unit24, and the storage device31(program32), which are implemented by the CPU.

The measuring unit25has a function of measuring delay of information communication in the information communication network35. The term “delay” herein refers to a round trip time of information from transmission of information (data packet) by the information transmitting device20toward the user terminal36as a destination to receipt of an ACK (ACKnowledge) packet as reply information from the user terminal36having received the information by the information transmitting device20. Such delay being the round trip time of information (round-trip delay) is sometimes called as a RTT (Round Trip Time). There may be also a case where the delay is defined by a time from transmission of information (data packet) by the information transmitting device20to receipt of the information by the user terminal36as a destination (also referred to as one-way delay). The delay measured by the measuring unit25may be the round-trip delay as described above or the one-way delay, which may be determined as appropriate.

In the second exemplary embodiment, the measuring unit25measures the delay either at a time when the information transmitting device20receives the ACK packet corresponding to a data packet transmitted by the information transmitting device20or at each preset timing, in the following manner. For example, the information transmitting device20(measuring unit25) transmits a packet (search packet) different from the data packet and measures the delay using the propagation time of the search packet. There is a variety of ways to measure delay and the information transmitting device20(measuring unit25) may measure delay by a measuring method other than the measurement by use of the search packet, but the descriptions thereof are omitted herein.

The measuring unit25further includes a function of holding a measured value of delay (hereinafter also referred to as a measured delay value dm) obtained by measurement for a predetermined period (e.g., a set time period or a period for which a set number of packets are transmitted). Further, the measuring unit25includes a function of outputting the measured delay value dm to the minimum value setting unit21, each time the measured delay value dm is measured. The timing at which the measuring unit25outputs the measured delay value dm to the minimum value setting unit21is not limited to each time the measured delay value dm is measured, but may also be, for example, each predetermined number of times of measurement.

The minimum value setting unit21includes a function of holding a value set as a minimum delay value (the set minimum delay value is hereinafter referred to as a minimum delay value dmin also). Further, the minimum value setting unit21includes a function of comparing the measured delay value dm with the minimum delay value dmin, each time the measured delay value dm measured by the measuring unit25is input. Still further, the minimum value setting unit21includes a function of updating the held minimum delay value dmin to the measured delay value dm (in other words, resetting the value of the minimum delay value dmin to the value of the measured delay value dm), when the measured delay value dm is equal to or less than the minimum delay value dmin.

The timing determination unit22includes a function of determining a review timing for reviewing the minimum delay value dmin held by the minimum value setting unit21. In other words, the timing determination unit22determines whether the measured delay value dm is the minimum delay value dmin held by the minimum value setting unit21or a value close thereto, each time the measuring unit25measures the measured delay value dm. The timing determination unit22makes a determination of a review timing (in the communication condition so as to review the minimum delay value dmin), when the measured delay value dm is determined to be the minimum delay value dmin or a value close thereto.

To give a specific example, the timing determination unit22determines that the measured delay value dm is a value close to the minimum delay value dmin (including the case where the measured delay value dm is the minimum delay value dmin (dm=dmin)), when the measured delay value dm satisfies Equation (1).
dm≤e×dmin  (1)

Where, “e” in Equation (1) represents a preset constant greater than 1. The constant “e”, which is a numerical value set as appropriate taking account of a communication schemes or the like used by the information transmitting device20and is not to be limited as long as it is a numerical value greater than 1. The constant “e” is set to, for example, a numerical value within the range of greater than 1 and equal to or less than 1.5 or 2.

Alternatively, the timing determination unit22may determine that the measured delay value dm is a value close to the minimum delay value dmin in a case as follows. For example, the timing determination unit22calculates either a variation width h or a standard deviation s with respect to a plurality of values that have been set as the minimum delay value dmin within a predetermined period M. The term “period M” refers to, for example, a period from a point in time of starting communication in execution to a point in time of calculating the variation width h or standard deviation s. Alternatively, the period M may be a period between a point in time of calculating the variation width h or standard deviation s and a point in time back to a predetermined timing.

The timing determination unit22then determines that the measured delay value dm is a value close to the minimum delay value dmin, when the measured delay value dm satisfies Equation (2) using the variation width h or Equation (3) using the standard deviation s.
dm≤dmin+(f×h)  (2)
dm≤dmin+(g×s)  (3)

Where, “f” in Equation (2) represents a preset constant greater than 0. “g” in Equation (3) represents a preset constant greater than 0. The constant “f” in Equation (2) and the constant “g” in Equation (3) are set as appropriate as long as they are numerical values greater than 0, and the numerical values of the constants “g” and “f” are not to be limited. However, since the variation width h and the standard deviation s are numerical values representing variations of the minimum delay value dmin, the measured delay value dm is determined to be close to the minimum delay value dmin, when the measured delay value dm is smaller than the variations, and the constant “f” is set as appropriate to a numerical value within the range of greater than 0 to smaller than 0.5, for example. Additionally, the constant “g” is set as appropriate to a numerical value within the range of greater than 0 to smaller than 1.0.

The timing determination unit22determines the review timing for reviewing the minimum delay value dmin, when the measured delay value dm is determined to be a value close to the minimum delay value dmin by the method as described above. Further, the timing determination unit22includes a function of holding information (e.g., time information) representing the determined review timing.

The update interval calculating unit24includes a function of calculating an update interval (hereinafter also expressed as an update interval INTupdate) used in processing for reviewing the minimum delay value dmin, when the timing determination unit22determines the review timing. For example, when the timing determination unit22determines the review timing, the update interval calculating unit24takes in information as to the determined review timing and the latest review timing from the timing determination unit22. The update interval calculating unit24then calculates an interval between the review timings (hereinafter expressed as an interval INT_m). The interval INT_m may be represented by time or may be represented by the number of packets.

The update interval calculating unit24calculates the update interval INTupdate, based on the calculated interval INT_m, as follows. For example, the update interval calculating unit24calculates a value by constant multiplication of the interval INT_m as the update interval INTupdate. Alternatively, the update interval calculating unit24calculates an average value of a plurality of intervals INT_m calculated during a predetermined period, and calculates a value obtained by constant multiplication of the average value as the update interval INTupdate. Alternatively, the update interval calculating unit24calculates a value obtained by multiplying a value taking an exponential moving average of the calculated intervals INT_m with a constant as the update interval INTupdate. A numerical value for the constant multiplication as described above is set as appropriate taking account of a communication schemes or the like, and is not limited.

Alternatively, the update interval calculating unit24computes a histogram of the plurality of intervals INT_m calculated during the predetermined period, approximates the histogram to a probability distribution function, and calculates an average μ and a standard deviation σ of the approximated probability distribution function. The update interval calculating unit24then calculates the update interval INTupdate by using Equation (4). “k” in Equation (4) represents a preset constant.
INTupdate=μ+k×σ(4)

Alternatively, the update interval calculating unit24models a communication path for information by a queue, calculates a utilization rate ρ of the queue based on the interval INT_m, and calculates the update interval INTupdate based on a current transmission rate and the utilization rate ρ.

The minimum value review unit23includes a function of reviewing the minimum delay value dmin, when the timing determination unit22determines the review timing. For example, each time the review timing is determined, the minimum value review unit23acquires, from the measuring unit25, the plurality of the measured delay values dm measured during a period H between a point in time of determining the review timing and a point in time back by the time of the update interval INTupdate. The minimum value review unit23then detects a minimum value dm_min among the plurality of the measured delay values dm during the period H and calculates the minimum value dm_min as a minimum delay value dmin_k.

Alternatively, the minimum value review unit23may calculate the minimum delay value dmin_k as follows. For example, the minimum value review unit23calculates the minimum delay value dmin_k based on Equation (5) using the minimum delay value dmin held by the minimum value setting unit21and a preset smoothing factor α. In other words, the minimum value review unit23calculates a value obtained by taking an exponential moving average of the minimum values dm_min among the measured delay values dm in each the period H based on the update interval INTupdate as the minimum delay value dmin_k.
dmin_k=α×dm_min+(1−α)×dmin  (5)

Any method other than the above may be employed as the method for calculating the minimum delay value dmin_k by the minimum value review unit23. For example, each time the review timing is determined, the minimum value review unit23may calculate a predetermined initial value as the minimum delay value dmin_k. Thus, there are various methods for calculating the minimum delay value dmin_k, and an appropriate method may be employed here to calculate the minimum delay value dmin_k.

In addition, when calculating the minimum delay value dmin_k as described above, the minimum value review unit23updates the minimum delay value dmin held by the minimum value setting unit21to the minimum delay value dmin_k thus calculated.

In this manner, after the minimum delay value dmin is updated by the minimum value review unit23, the minimum value setting unit21sets (updates) the minimum delay value dmin based on the minimum delay value dmin thus updated.

The transmitting unit26includes a function of transmitting data while controlling a transmission rate of the data to be transmitted to the user terminal36. For example, the transmitting unit26includes a function of controlling (changing) the transmission rate each time the measuring unit25measures delay dm, or for each predetermined time interval or for each predetermined number of packets. The transmitting unit26herein controls the transmission rate using the measured delay value dm measured by the measuring unit25, the minimum delay value dmin held by the minimum value setting unit21, and the current transmission rate. More specifically, for example, the transmitting unit26determines that the information communication network35is congested in the event of packet loss, in the same manner as a communication control method that is proposed as TCP Westwood+. The transmitting unit26then calculates the product of an estimated value of the current throughput of the congested information communication network35and the minimum delay value dmin, and controls the transmission rate so as to be the value of the product.

Alternatively, the transmitting unit26calculates the queuing delay based on a difference between the measured delay value dm and the minimum delay value dmin, in the same manner as a communication control method that is proposed as TCP Vegas. The transmitting unit26then estimates the queue amount in the communication path from the information transmitting device20to the user terminal36via the information communication network35based on the product of the available bandwidth or current transmission rate and the queuing delay. Further, the transmitting unit26determines that the information communication network35is congested when the queue amount exceeds a set threshold value, and reduces the transmission rate by a predetermined adjustment rate. In this manner, the transmitting unit26may control the transmission rate. The transmitting unit26may control the transmission rate with any method other than the above.

When the information transmitting device20of the second exemplary embodiment is an origin server, original information (original data) to be transmitted is held in the storage device that is built in or externally connected to the information transmitting device20. Therefore, the information transmitting device20is able to transmit the original data toward the user terminal36at the transmission rate controlled by the transmitting unit26. In addition, when the information transmitting device20is a relay server device or communication equipment that constitutes a communication system (e.g., P-GW and S-GW), the information transmitting device20caches information received from outside to be transmitted (relayed) in its own storage device and temporarily holds a data stream as a buffer. Consequently, the information transmitting device20(relay server device or the above communication equipment) is able to transmit the information to be transmitted (relayed) at the transmission rate controlled by the transmitting unit26, without being influenced by the throughput with the origin server.

When the information transmitting device20is the relay server device or the communication equipment as previously mentioned, there are some cases where the information transmitting device20transmits information (data) to the user terminal36in place of the origin server. In this case, it is necessary for the information transmitting device20to acquire a data request message transmitted from the user terminal36toward the origin server. As a method for acquiring the request message, for example, the information transmitting device20is connected to a router that is interposed on the communication path connecting between the user terminal36and the origin server. The router is allowed to transfer the request message addressed to the origin server to the information transmitting device20based on header information of the request message.

The user terminal36may be allowed to transmit a request message explicitly designating the information transmitting device20as a proxy server. Further, when the user terminal36uses a DNS (Domain Name System) or the like to acquire an address of the destination in order to transmit a request message to the origin server, the request message may be acquired as follows. In other words, the DNS (Domain Name System) or the like is caused to reply the address of the information transmitting device20instead of the address of the origin server. Consequently, the information transmitting device20is able to acquire the request message of the user terminal36in place of the origin server.

An example of operations relating to reviewing and setting of a minimum delay value in the information transmitting device20is described below with reference toFIG. 4. The flowchart inFIG. 4illustrates a processing procedure executed by the control device30(CPU).

For example, when the measuring unit25of the control device30measures delay (step S101), the timing determination unit22determines whether a review timing for reviewing a minimum delay value dmin as previously described (step S102). When the timing determination unit22determines the review timing, the update interval calculating unit24then calculates an update interval INTupdate (step S103). Thereafter, the minimum value review unit23calculates a minimum delay value dmin_k using the update interval INTupdate and the measured value of delay (measured delay value dm) (step S104). The minimum value review unit23then updates (sets) the minimum delay value dmin set in the minimum value setting unit21to the calculated minimum delay value dmin_k (step S105).

Thereafter, the minimum value setting unit21determines whether the measured value of delay (measured delay value dm) is equal to or less than the set minimum delay value dmin (step S106). When the timing determination unit22determines that it is not review timing in the determination operation at step S102, the operations at steps S103to S105are not executed but the operation by the minimum value setting unit21at step S106is initiated.

When the measured delay value dm is equal to or less than the minimum delay value dmin, the minimum value setting unit21updates (sets) the minimum delay value dmin to the measured delay value dm (step S107).

As described above, the control device30executes the operations relating to reviewing and setting of the minimum delay value dmin.

The information transmitting device20of the second exemplary embodiment is able to review the minimum delay value dmin in an increasing direction when the delay changes in an increasing direction, and to review the minimum delay value dmin, in contrast, in a decreasing direction when the delay changes in a decreasing direction. In other words, the information transmitting device20is able to review the minimum delay value dmin depending on the communication condition.

Further, since timing for reviewing the minimum delay value dmin can be changed depending on the communication condition, the information transmitting device20is able to review the minimum delay value dmin at an appropriate timing suitable for the communication condition.

Additionally, the information transmitting device20includes a function of varying the width of the update interval INTupdate used when reviewing the minimum delay value dmin (i.e., the range for selecting the measured delay value dm used when calculating the minimum delay value dmin) depending on the communication condition. Consequently, the information transmitting device20is able to calculate the minimum delay value dmin taking account of the speed of change in the communication condition.

In this way, since the minimum delay value suitable for the communication condition can be set, the information transmitting device20makes it possible to accurately control a transmission rate using the minimum delay value. Thus, the information transmitting device20makes it easy to improve the throughput in the information communication.

The present invention is not limited to the first and second exemplary embodiments but may employ various exemplary embodiments. For example, in the second exemplary embodiment, an example in which a communication protocol used when transmitting information is TCP is described, but the present invention is applicable to a device or the like that communicates information using a communication protocol such as UDP (User Datagram Protocol), for example, other than TCP.

Further, in the second exemplary embodiment, the operations (processing) relating to setting of the minimum delay value at steps S106and S107are executed after the operations (processing) relating to reviewing of the minimum delay value at steps S102to S105, as illustrated inFIG. 4. In contrast, the operations relating to setting of the minimum delay value (steps S202and S203) may be executed before the operations relating to reviewing of the minimum delay value (steps S204to S207), as illustrated inFIG. 5.

In addition, in the second exemplary embodiment, the determination as to the review timing or not is made each time the delay is measured, but the determination as to the review timing or not may be made each time a preset number of times of delay are measured.

This application is based upon and claims the benefit of priority from Japanese patent application No. 2013-268402, filed on Dec. 26, 2013, the disclosure of which is incorporated herein in its entirety by reference.

REFERENCE SIGNS LIST