WO2011151884A1 - 通信装置及び通信方法 - Google Patents
通信装置及び通信方法 Download PDFInfo
- Publication number
- WO2011151884A1 WO2011151884A1 PCT/JP2010/059221 JP2010059221W WO2011151884A1 WO 2011151884 A1 WO2011151884 A1 WO 2011151884A1 JP 2010059221 W JP2010059221 W JP 2010059221W WO 2011151884 A1 WO2011151884 A1 WO 2011151884A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- bandwidth
- communication
- band
- unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5691—Access to open networks; Ingress point selection, e.g. ISP selection
- H04L12/5692—Selection among different networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
Definitions
- the present invention relates to a technique for controlling a communication band in communication performed via a network between a transmission device and a reception device.
- IP Internet Protocol
- IP Internet Protocol
- TCP Transmission Control Protocol
- Reliable communication refers to communication in which transmission data is transferred without excess or deficiency in the order of transmission.
- TCP currently occupies a large part of traffic, but its performance is unstable and varies. In order to stably supply video distribution services such as moving images, it is necessary to stabilize the TCP performance.
- TCP bandwidth control technology is one of known technologies related to TCP performance.
- TCP bandwidth control technology limits traffic to a predetermined amount or less, and basically assigns priorities according to the type of traffic, and avoids network congestion by discarding low priority traffic. It is.
- TCP has a function of adjusting the data transmission rate by flow control during congestion. This function operates when there is congestion, and tries to improve performance as long as transmission data reaches the receiving terminal device without being discarded. That is, although the performance can be improved according to the communication state, it is not possible to perform control such that the performance is suppressed to an appropriate range.
- the communication performance required for a certain communication includes a performance A determined by an application or a system administrator. Then, there is a performance B that is dynamically determined by the actual communication situation with this performance A as a target. Considering the trend of traffic increase in recent years, for example, when the actual communication situation is good and the performance B exceeds the performance A, the performance B is lowered and the performance B needs to be raised. It is necessary to control the bandwidth so as to increase B.
- the present invention has an object to provide a technique capable of performing band adjustment so that necessary performance can be obtained in consideration of the balance between band adjustment and high speed.
- the disclosed communication device is a communication device that controls a communication band when the transmission device and the reception device perform communication via a network, from the transmission device to the reception device, And a measuring unit that measures a band for communication in at least one of the two directions of communication from the receiving device to the transmitting device, and a storage unit that stores information relating to band adjustment including a target band indicating a band necessary for communication And reading the target band in the direction in which the band is measured from the storage unit, and adjusting the packet transmission interval based on the comparison between the band measured by the measurement unit and the read target band, thereby suppressing the band or It is set as the structure provided with the adjustment part which performs promotion.
- communication is stabilized and packet retransmission can be effectively suppressed.
- FIG. 1 is an overall view showing a communication system having a bandwidth adjustment apparatus according to the present embodiment. It is a block diagram of the band adjustment apparatus which concerns on this embodiment. It is a block diagram of a band adjustment relay unit. It is a figure explaining the method by which the band adjustment relay part of the band adjustment apparatus which concerns on this embodiment measures the band of a data packet. It is a figure explaining the method the band adjustment relay part of the band adjustment apparatus which concerns on this embodiment measures the band of an ACK packet. It is a figure explaining the zone
- FIG. 1 is an overall view showing a communication system having a bandwidth adjusting apparatus according to the present embodiment.
- two terminal devices 2A and a terminal device (hereinafter referred to as a terminal) 4B are connected to each other via a network 10, and for example, video distribution (moving image distribution) using TCP communication or the like.
- Communicate Examples of the network 10 include, for example, wired access networks such as ADSL (Asymmetric Digital Subscriber Line) and FTTx (Fiber To The x), and wireless such as HSPA (High Speed Packet Access) and WiMAX (Worldwide Interoperability for Microwave Access).
- the terminals 2A and 4B are, for example, home or small office network devices connected to the network 10, personal computers, portable terminals, network connection adapters, and the like.
- Each terminal 2A, 4B has a bandwidth adjustment device 1A, 1B, respectively, and the bandwidth adjustment devices 1A, 1B adjust the bandwidth of the packet transmitted / received by the device to an appropriate value according to the communication.
- the bandwidth adjustment devices 1A, 1B adjust the bandwidth of the packet transmitted / received by the device to an appropriate value according to the communication.
- Bandwidth adjustment apparatuses 1A and 1B can be arranged at any location as long as they can observe TCP / IP packets.
- FIG. 1A shows a configuration in which band adjusting devices 1A and 1B are provided in a transmission terminal and a reception terminal.
- FIG. 1B is a system configuration diagram when the bandwidth adjusting apparatus 1 according to the present embodiment is incorporated in an apparatus other than the terminal.
- the bandwidth adjustment device 1C is incorporated in the relay device 3, and adjusts the bandwidth of packets transmitted and received between the terminal 2A and the terminal 4B to an appropriate value according to communication. To do.
- the relay device 3 refers to a network device that recognizes TCP partially or completely and provides a function related to TCP.
- a proxy server for example, a proxy server, a load balancer, a traffic shaper, A WAN (Wide Area Network) optimization device and the like are also included in the relay device.
- WAN Wide Area Network
- FIGS. 1A and 1B in order to explain the installation position of the bandwidth adjusting apparatus 1 according to the present embodiment, the configuration of the communication system is simplified and the bandwidth terminals 2A and 4B and the relay device are simplified. Only 3 are shown.
- the bandwidth adjustment apparatus 1 is mounted on the relay apparatus 3 arranged on the network 10 between the transmission terminal 2A and the reception terminal 4B, that is, the configuration of FIG.
- a method for adjusting the communication band between the transmission terminal 2A and the reception terminal 4B by the band adjustment device 1 will be specifically described.
- FIG. 2 is a configuration diagram of the bandwidth adjustment device 1 according to the present embodiment.
- the band adjustment apparatus 1 shown in FIG. 2 includes two band adjustment relay units 11 and 12 and a session table 13.
- the band adjustment relay units 11 and 12 receive packets from “other modules 30 and 32”, respectively. Receive and pass the packet to “other modules 31, 33”.
- “Other modules 30 to 33” shown in FIG. 2 are network device drivers and other protocol stacks provided in the relay apparatus 3, and each process a packet including a TCP / IP packet.
- the bandwidth adjustment relay units 11 and 12 of the bandwidth adjustment device 1 exchange packets with the other modules 30 to 33.
- the bandwidth adjustment relay units 11 and 12 perform bandwidth adjustment for communication in the direction from the transmission terminal 2A to the reception terminal 4B and from the reception terminal 4B to the transmission terminal 2A, respectively. .
- the communication directions are described as “A ⁇ B direction” and “B ⁇ A direction”.
- the session table 13 stores information necessary for the bandwidth adjustment relay units 11 and 12 to perform bandwidth adjustment. Details of the session table 13 will be described later with reference to FIGS. 29 and 30.
- the bandwidth adjustment device 1 When packets in both directions from the transmission terminal 2A to the reception terminal 4B and from the reception terminal 4B to the transmission terminal 2A pass through the bandwidth adjustment device 1, the bandwidth adjustment device 1 performs bandwidth adjustment for communication in both directions. When only a packet in one direction passes through the bandwidth adjustment device 1, the bandwidth adjustment device 1 performs bandwidth adjustment in the bandwidth adjustment relay portion of the bandwidth adjustment relay portions 11 and 12 through which the packet passes. The necessary information is stored in the session table 13. The other bandwidth adjustment relay unit can also perform bandwidth adjustment with reference to the session table 13.
- FIG. 3 is a configuration diagram of the bandwidth adjustment relay unit.
- the band adjustment relay unit 11 illustrated in FIG. 3 includes a packet determination unit 21, a session management unit 22, a reception band measurement unit 23, a band adjustment unit 24, and a transmission band measurement unit 25.
- FIG. 3 shows only the configuration of the band adjustment relay unit 11 in the A ⁇ B direction, the configuration of the band adjustment relay unit 12 in the B ⁇ A direction is the same as that of the band adjustment relay unit 11 shown in FIG.
- the bandwidth adjustment relay units 11 and 12 share the session table 13 and the buffer unit 14 in the same manner as the configuration.
- the packet discriminating unit 21 discriminates whether or not the packet received from the other module 30 is a packet subjected to bandwidth adjustment. Specifically, it is determined whether or not the packet is a TCP packet.
- the session management unit 22 manages the TCP session when the packet determination unit 21 determines that the packet is a bandwidth adjustment target.
- the session management unit 22 stores information necessary for managing the TCP session in the session table 13, and executes processing such as extracting necessary information from the session table 13.
- the reception band measurement unit 23 measures the reception band of the packet that is managed by the session management unit 22.
- the reception band measurement unit 23 stores the measured reception band in the session table 13 and stores the received packet in the buffer unit 14 when necessary.
- the bandwidth adjustment unit 24 adjusts the bandwidth based on information such as the measurement bandwidth stored in the session table 13. Specifically, the bandwidth adjustment is performed by increasing or decreasing the packet transmission interval according to the magnitude relationship between the target bandwidth indicating the bandwidth required for communication and the actually measured bandwidth. A method for adjusting the packet transmission interval will be described in detail later with reference to the drawings.
- the transmission bandwidth measurement unit 25 measures the bandwidth of a packet transferred to another module 31 according to an instruction from the bandwidth adjustment unit 24 or a packet transferred from the packet determination unit 21 to the other module 31. The result is stored in the session table 13.
- the notations of “reception” and “transmission” are used in the description of the reception band measurement unit 23 and the transmission band measurement unit 25 in FIG. Is mainly composed of the bandwidth adjustment device 1. That is, the reception bandwidth measuring unit 23 processes a packet “received” by the bandwidth adjustment device 1 from another module 30, and the transmission bandwidth measurement unit 25 is a packet that the bandwidth adjustment device 1 “transmits” to the other module 31. This is written in this way.
- the band adjusting unit 24 transmits / receives information related to the band adjustment to / from the band adjusting unit of the band adjusting relay unit 12 in the opposite direction. As described above, the information stored in the session table 13 by the other bandwidth adjustment relay unit or the other even if the bandwidth adjustment relay unit does not send and receive TCP packets and does not perform bandwidth measurement, The bandwidth adjustment is performed based on the control information received from the bandwidth adjustment section.
- the bandwidth adjustment device 1 monitors the TCP communication and performs bandwidth adjustment.
- many common server applications such as Apache HTTP Server, Lighttpd, Squid cache, and BitTorrent have a function (Bandwidth Throttling) for adjusting the transmission bandwidth for each TCP communication.
- BitTorrent has a function (Bandwidth Throttling) for adjusting the transmission bandwidth for each TCP communication.
- BitTorrent BitTorrent
- such a known application bandwidth adjustment technique cannot be expected to perform bandwidth adjustment with high accuracy.
- bandwidth adjustment is performed by the application, the situation from the TCP layer to the network layer cannot be accurately grasped, and the application cannot recognize the difference between the communication performance expected by the application and the actual communication performance, The bandwidth cannot be adjusted according to the communication. For example, even for data to be subjected to bandwidth adjustment, it is impossible to recognize in real time how much data is actually transmitted / received / retransmitted. For this reason, the application only adjusts the bandwidth so as to achieve “communication performance that is logically required for communication”, and cannot adjust the bandwidth according to the substance.
- the bandwidth adjustment apparatus 1 can monitor actual TCP communication and perform bandwidth adjustment according to this. Compared with the bandwidth adjustment by the application, more accurate bandwidth adjustment is possible.
- the transmitting terminal 2A and the receiving terminal 4B transmit a data packet and an ACK packet to the other terminal, respectively.
- the bandwidth adjustment relay units 11 and 12 monitor communications in the A ⁇ B direction and the B ⁇ A direction, respectively. For this reason, the bandwidth adjustment apparatus 1 provided on the communication path not only transfers the data packet and the ACK packet, but also transfers either the data packet or the ACK packet. Adjustments can be made.
- bandwidth adjustment relay unit 11 of the bandwidth adjustment device 1. Only monitor data packets and make bandwidth adjustments.
- FIG. 4 is a diagram illustrating a method in which the bandwidth adjustment relay unit 11 of the bandwidth adjustment device 1 according to the present embodiment measures the bandwidth of the data packet.
- FIG. 5 is a diagram illustrating the bandwidth adjustment relay unit 12 of the bandwidth adjustment device 1. It is a figure explaining the method to measure the zone
- the upper part of FIG. 4 and FIG. 5 shows the flow of the data packet DP, and the lower part shows the flow of the ACK packet AP.
- the bandwidth adjustment device 1 is incorporated in the relay device 3, and the same applies to the following description.
- the relay device 3 as a network device will be described as an example, but the present invention is not limited to this.
- a part that delivers TCP / IP inside the operating system can perform the same function, and various processes described below can be incorporated as software and hardware.
- the reception bandwidth measuring unit 23 in the bandwidth adjustment device 1 of the relay device 3 receives the data packet DP that the transmission terminal 2A transmits to the reception terminal 4B, and the ACK that the reception terminal 4B that has received the data packet DP returns to the transmission terminal 2A.
- the packet AP is monitored and the communication band is measured.
- the sequence number (SEQ in FIG. 4) included in the data packet and the data length of the packet are observed, and the integrated value of the data length is obtained.
- the transmission band at the installation position of the relay device 3 in the communication system is measured.
- the relay device 3 When the communication band is measured by the ACK packet, as shown in FIG. 5, by measuring the increment of ACK based on the ACK number (ACK in FIG. 5) included in the ACK packet, the relay device 3 in the communication system. Measure the reception band at the installation position.
- the ACK packet has a smaller data length than the data packet, and unlike the data packet, the data length does not vary greatly from packet to packet. For this reason, the reception band is measured by observing only the ACK number and integrating the increments of ACK packets relayed by the relay device 3 within a predetermined period.
- the bandwidth adjustment unit 24 of the bandwidth adjustment device 1 uses the communication band measured by the method shown in FIGS. 4 and 5, the bandwidth adjustment unit 24 of the bandwidth adjustment device 1 adjusts the time interval for sending packets (data packet DP and ACK packet AP) from the relay device 3. By doing so, the bandwidth is adjusted. As described in the description of FIG. 3, the bandwidth adjusting unit 24 performs a process of increasing a packet transmission time interval (increasing the time interval) or a packet transmission time interval according to the measured communication bandwidth (time). Decide which of the processes (to shorten the interval) should be executed.
- bandwidth suppression performing bandwidth adjustment to increase the packet transmission time interval
- bandwidth promotion performing bandwidth adjustment to shorten the packet transmission time interval
- FIG. 6 is a diagram for explaining a bandwidth suppression method in the data packet transmission direction
- FIG. 7 is a diagram for explaining a bandwidth suppression method in the ACK packet transmission direction.
- the bandwidth adjustment unit 24 in the bandwidth adjustment device 1 of the relay device 3 controls the communication to control the bandwidth when the communication bandwidth measured by the reception bandwidth measurement unit 23 exceeds the target bandwidth indicating the bandwidth necessary for communication. Suppress.
- the bandwidth suppression method includes a method for controlling the transmission interval of data packets and a method for controlling the transmission interval of ACK packets.
- the bandwidth adjustment unit 24 of the bandwidth adjustment device 1 performs control to suppress the bandwidth of the data packet transmitted by the transmission terminal 2A.
- the data packet transfer interval is controlled so that the increment per unit time of the sequence number is suppressed within a predetermined range with respect to the target bandwidth.
- the bandwidth adjustment unit 24 controls the bandwidth of the ACK packet transmitted by the receiving terminal 4B to control the transmission interval of the ACK packet. Specifically, the ACK packet transfer interval is controlled so that the increment per unit time of the ACK number is within a predetermined range with respect to the target band.
- the transmission terminal 2A transmits data packets corresponding to the window size as burst traffic at the beginning of TCP communication, but for subsequent data packet transmission, the transmission terminal 2A responds to the reception band of the ACK packet. A data packet addressed to the receiving terminal 4B is transmitted in the band. For this reason, by controlling the transmission interval of the ACK packet as described above, the transmission terminal 2A transmits the data packet according to the increment of the received ACK packet, and thereby the bandwidth in the data packet transmission direction. Can be adjusted.
- FIG. 8 is a diagram for explaining a bandwidth promotion method for the data packet transmission direction
- FIG. 9 is a diagram for explaining a bandwidth promotion method for the ACK packet transmission direction.
- the bandwidth adjustment unit 24 in the bandwidth adjustment device 1 of the relay device 3 performs control so as to promote the bandwidth when the communication bandwidth measured by the reception bandwidth measurement unit 23 is lower than the target bandwidth. Similar to the bandwidth suppression method described above, the bandwidth promotion method includes a method for controlling the transmission interval of data packets and a method for controlling the transmission interval of ACK packets.
- the bandwidth adjustment unit 24 of the bandwidth adjustment device 1 buffers the data packet received from the transmission terminal 2A in the buffer unit 14 and controls the data packet transmission interval.
- the stored data packet is transmitted to the receiving terminal 4B at least once.
- the retransmission of the buffered data packet may be performed a plurality of times depending on the target bandwidth.
- transmitting the data packet buffered by the bandwidth adjustment device 1 to the receiving terminal 4B is referred to as “proxy retransmission of data packet”.
- the bandwidth adjustment device 1 in contrast to the transmission terminal 2A retransmitting a data packet by the TCP retransmission function, the bandwidth adjustment device 1 retransmits the data packet in this way.
- the receiving terminal 4B that has received the proxy retransmitted data packet refers to the sequence number included in the data packet and, when recognizing it as an unreceived data packet, returns a ACK packet for the proxy retransmitted data packet.
- the ACK packet for the data packet discarded between the relay device 3 and the receiving terminal 4B is returned from the receiving terminal 2A by the bandwidth promotion process, that is, the proxy retransmission of the data packet.
- the ACK packet does not reach the transmission terminal 2A sufficiently, so the data from the transmission terminal 2A The packet transmission may be delayed.
- the transmitting terminal 2A when the transmitting terminal 2A receives the ACK packet for the proxy retransmitted data packet, the transmitting terminal 2A transmits the data packet to be transmitted next. Therefore, the transmitting terminal 2A prompts the transmitting terminal 2A to transmit the data packet. It will be.
- the receiving terminal 4B discards the proxy retransmitted data packet, so that the proxy retransmission process adversely affects TCP communication. There is nothing.
- the transmission band is increased by transmitting a proxy ACK packet from the relay device in order to prompt the transmitting terminal to transmit the data packet of the next sequence number.
- This is a TCP relay technology known as “Splitting TCP” or “TCP Spoofing”.
- the relay device once completes TCP communication from the transmitting terminal and performs new TCP communication to the receiving terminal.
- the bandwidth adjustment device 1 even when the data packet is proxy retransmitted, the transmission terminal 2A does not discard the proxy retransmitted data packet, and the relay device 3 Even if it is removed from the network, it has the advantage that no data is lost.
- the bandwidth adjustment unit 24 of the bandwidth adjustment device 1 buffers the ACK packet in the buffer unit 14 and performs buffering according to the target bandwidth.
- the transmitted ACK packet is transmitted to the transmitting terminal 2A.
- the retransmission of the buffered ACK packet may be performed a plurality of times depending on the target bandwidth.
- transmitting the ACK packet buffered by the bandwidth adjustment device 1 to the transmission terminal 2A is referred to as “proxy packet retransmission”. In the following description, it is expressed in this way that the bandwidth adjustment device 1 retransmits the ACK packet while the receiving terminal 4B retransmits the ACK packet.
- the transmitting terminal 2A that has received the proxy-transmitted ACK packet may transmit a data packet corresponding to the ACK packet.
- the transmitting terminal 2A by performing proxy retransmission of the ACK packet when the measurement band is lower than the target band, the transmission of the data packet by the transmitting terminal 2A is promoted, and the effect of promoting the delayed communication can be obtained.
- “Fast Recovery” is one of TCP congestion control technologies. According to this technique, when the transmitting terminal 2A receives three identical ACK packets in succession, the transmitting terminal 2A determines that the packet discard is temporary, and sets the congestion window size. Retransmit the data packet without reducing it. According to the above proxy resending process of the ACK packet, the function of resending the data packet by “FastyRecovery” is promoted, thereby obtaining the effect of increasing the bandwidth of the transmitting terminal 2A.
- the transmission terminal 2A processes the ACK packet received in duplicate as in the prior art, so that the proxy retransmission of the ACK packet is TCP There is no negative impact on communication.
- the bandwidth adjustment device 1 (including the relay device 3) retransmits the packet on behalf of the transmission terminal 2A and the reception terminal 4B.
- the proxy resending by the bandwidth adjustment device 1 is executed earlier than the packet resending by the TCP resending function. Therefore, when the packet is discarded on the route and the communication is hindered, this proxy is performed. By retransmission, it becomes possible to return to the normal communication state more quickly.
- the bandwidth adjustment apparatus 1 monitors packets transmitted and received between the transmission terminal 2A and the reception terminal 4B, and performs bandwidth adjustment for suppressing or promoting the bandwidth. The method will be described with reference to a flowchart.
- FIG. 10 is a flowchart showing the received packet discrimination process by the packet discriminator 21 of FIG.
- the bandwidth adjustment apparatus 1 starts the process shown in FIG. 10 when receiving a packet from the other modules 30 and 32.
- step S1 it is determined whether or not the received packet is a TCP packet. If the packet is a TCP packet (Yes in step S1), the packet is received by the session management unit 22 in FIG. 3 in step S2. The passed packet is handed over and the process is terminated. If it is determined in step S1 that the received packet is not a TCP packet (in the case of no in step S1), the process proceeds to step S3, and the bandwidth adjustment device 1 relays the packet without performing any particular processing. The process ends.
- step S1 the packet is determined by referring to a predetermined field of the IP header.
- a predetermined field of the IP header For example, in IPv4, the value of the protocol field is referred to, and in IPv6, the value of the next header (Next ⁇ Header) field is referenced to determine whether the packet is a TCP packet. Since the format of the IP header is a known technique, a detailed description thereof is omitted.
- step S1 the IP address or port number included in the IP header or TCP header is referred to, and if the IP address or port number belongs to a predetermined range, the process proceeds to step S2 to be a target packet for bandwidth adjustment. Etc. are possible. By determining an IP address or port number within a predetermined range as an object of bandwidth adjustment, it is possible to actively perform bandwidth adjustment for communication between specific terminals.
- the present invention is generally applicable to a communication protocol in which a value that can be used as an index for identifying a session and a value indicating the order of packets in the session are stored in the packet.
- Examples of such communication protocols include IPsec (Security Architecture for Internet Protocol) ESP (Encapsulating Security Payload), RTP (Real-time Transport Protocol), and the like.
- FIG. 11 is a flowchart showing the band measurement process by the reception band measurement unit 23.
- the packet subjected to bandwidth adjustment by the packet discrimination process of FIG. 10 is passed to the session management unit 22 of FIG.
- the session management unit 22 registers necessary information in the session table 13
- the session management unit 22 passes the packet to the reception band measurement unit 23.
- the reception bandwidth measurement unit 23 of the bandwidth adjustment device 1 starts the process illustrated in FIG. 11.
- step S11 it is determined whether or not the packet is a data packet. If the packet received from the session management unit 22 is a data packet (Yes in step S11), the process proceeds to step S12, regardless of whether the sequence number of the data packet overlaps with a packet received in the past. The amount of data relayed per unit time is updated, and the process proceeds to step S15. When the packet received from the session management unit 22 is an ACK packet (in the case of no in step S11), the process proceeds from step S11 to step S13.
- step S13 it is determined whether or not the ACK number of the received packet is the maximum ACK number.
- the maximum ACK number means the maximum ACK number included in the ACK packet received by the bandwidth adjustment device 1.
- the determination in step S13 is held in the session table 13. This is done by comparing the maximum ACK number being received with the ACK number of the received packet. If the ACK number of the received packet is the maximum (in the case of yes in step S13), the process proceeds to step S14, and after updating the ACK amount per unit time, the process proceeds to step S15. If the ACK number of the received packet is not the maximum (in the case of no in step S13), it is determined that the ACK packet with the ACK number has been relayed, and no processing is performed, and the process proceeds to step S15.
- step S15 it is determined whether or not the unit measurement time has elapsed. If the unit measurement time has not yet elapsed (in the case of no in step S15), the process is terminated without performing any particular process.
- the unit measurement time refers to a predetermined time for measuring the data amount of the data packet and the ACK amount of the ACK packet, and a value is stored in the session table 13. Details will be described with reference to FIG.
- step S15 If it is determined in step S15 that the unit measurement time has elapsed (in the case of yes in step S15), the maximum value and the minimum value of the data amount / ACK amount per unit time are updated in step S16. At the same time, the values of the data amount and the ACK amount per unit time updated in step S12 and step S14 are cleared, and the process ends.
- the band adjustment unit 24 executes the band adjustment process based on the comparison between the target band and the measurement band obtained by the band measurement process shown in FIG.
- the timing at which the bandwidth adjustment device 1 receives a relay packet and the timing of periodic interrupt processing are cited.
- bandwidth adjustment is performed at the timing of periodic interrupt processing, and the bandwidth adjustment processing in this case will be described with reference to FIG.
- FIG. 12 is a flowchart showing the band adjustment process interruption process by the band adjustment unit 24. As described above, in the embodiment, the bandwidth adjustment device 1 periodically starts the process illustrated in FIG. 12 at predetermined time intervals.
- step S21 it is determined whether or not a unit time of an interrupt cycle for executing interrupt processing has elapsed. If the interrupt processing cycle has not yet elapsed (in the case of no in step S21), the processing is terminated without performing any particular processing.
- step S21 if the period of the interrupt process has elapsed (in the case of yes in step S21), the process proceeds to step S22, and if it is determined that it is necessary, the process of adjusting the target band is executed. . Details of the bandwidth adjustment processing and the processing for adjusting the target bandwidth will be described later. In addition, when necessary when executing the bandwidth adjustment processing, the packet buffered in the buffer unit 14 is used. The buffering process will be described later. When the bandwidth adjustment process is executed, the process ends.
- FIG. 13 is a flowchart showing the bandwidth adjustment processing by the bandwidth adjustment unit 24. As described above, the processing shown in FIG. 13 is started when triggered by periodic interrupt processing or reception of a relay packet.
- step S31 it is determined whether or not the unit adjustment time has elapsed.
- the “unit adjustment time” refers to the time for measuring the data transfer amount of the relay device 3. If the unit adjustment time has not yet elapsed (in the case of no in step S31), the process proceeds to step S32, and if the held unit transfer amount is cleared, the process proceeds to step S33. When the unit adjustment time has already passed (in the case of yes in step S31), the process proceeds to step S33 without performing any particular process.
- step S33 it is determined whether or not the data packet is buffered in the buffer unit 14 of FIG. If the data packet is buffered in the buffer unit 14 (Yes in step S33), the process proceeds to step S34, and the band for the data packet is compared with the target band. Specifically, it is determined whether the unit transfer amount of the data packet is less than the target transfer amount read from the session table 13.
- the “unit transfer amount of packet” is the amount of data transferred by the band adjustment device 1 within the unit adjustment time measured by the reception band measurement unit 23 and measured in the band measurement process of FIG. The amount of data transferred in the direction.
- step S33 if the data packet is not buffered in the buffer unit 14 (in the case of no in step S33), the process proceeds to step S36.
- step S34 If the unit transfer amount of the data packet is less than the target transfer amount in step S34 (in the case of no / suppression in step S34), the bandwidth is suppressed and the process proceeds to step S36.
- the data packet transmission interval is controlled so that the unit transfer amount of the data packet is within a predetermined range with respect to the target transfer amount.
- step S34 If it is determined in step S34 that the unit transfer amount of the data packet exceeds the target transfer amount (in the case of yes / promotion in step S34), the process proceeds to step S35 to promote the bandwidth. As described above, in the bandwidth promotion process, the data packet buffered in the buffer unit 14 is transferred according to the target transfer amount.
- Step S36 When the bandwidth control process for the transmission direction is executed, the bandwidth control process for the reception direction after step S36 is performed.
- Step S36 to Step S38 when the ACK packet is buffered in the buffer unit 14, the bandwidth is suppressed or promoted according to the magnitude relationship between the unit transfer amount of the ACK packet and the target transfer amount. This process corresponds to the process for the data packet in steps S33 to S35.
- the interrupt cycle in step S21 in FIG. 12 is set to a time shorter than the unit adjustment time in step S31 in FIG. This is because by setting the interrupt cycle to be shorter than the unit adjustment time, a blank period during which no bandwidth adjustment processing is performed is not created.
- the bandwidth adjustment device 1 when the bandwidth is determined by monitoring the transfer amount of TCP packets passing through the bandwidth adjustment device 1 and exceeding the target bandwidth necessary for communication, Controls packet transmission and suppresses bandwidth.
- the buffered packet is retransmitted (proxy retransmission) instead of the transmitting terminal 2A and the receiving terminal 4B to promote the bandwidth.
- burst traffic that is, traffic with a high peak temporarily occurs.
- the reason for the occurrence of burst traffic is that, for example, after the session starts, transfer is started with an initial value and burst traffic is transmitted “for the time being”.
- the network on the user side is often connected to the network on the server side by a low-speed access network.
- the server transmits burst traffic under such a configuration, there is a high possibility that the user side cannot receive burst traffic. Burst traffic that cannot be received on the user side is highly likely to be discarded at the connection point of the access network on the user side.
- an application program transmits data
- a TCP or IP protocol stack processes using an operating system mechanism
- a network driver transmits data.
- application programs and operating systems operate by time-sharing scheduling. For this reason, every time transmission data passes through various programs, scheduling is performed, and processing is performed in bursts. In a heavily loaded server, the burstiness of this processing tends to be large, which may lead to burst traffic.
- Burst traffic can cause congestion in the network path.
- a router or the like that aggregates many TCP sessions always has a risk of congestion.
- the band is suppressed when the actual band exceeds the target band. Thereby, burst traffic can be effectively suppressed.
- the bandwidth adjustment device 1 measures the bandwidth of the packet that passes through the device itself, and controls the packet that passes through the device itself. Unlike the conventional TFRC (TCP-Friendly Rate Control) or the like, there is no need for the receiving terminal 4B to notify the packet discard information or for the sending terminal 2A to measure the delay for each packet. Further, if the bandwidth adjustment device 1 is arranged on the path, the bandwidth adjustment processing described above can be performed. Therefore, the transmission terminal 2A and the reception terminal 4B are not necessarily provided with the bandwidth adjustment device 1. Nor.
- the bandwidth adjustment method it is determined that bandwidth adjustment is necessary for communication where the measurement bandwidth exceeds or falls below the target bandwidth, and the bandwidth is suppressed and promoted. For communications that do not require bandwidth adjustment, only packets are transferred. Since the bandwidth adjustment is performed by such a method, even if the communication requiring the bandwidth adjustment competes with the communication not requiring the bandwidth adjustment in the relay device 3, the speed of the communication not requiring the bandwidth adjustment is adversely affected. There is nothing. [Buffering] As described in the above description of the bandwidth adjustment processing, the bandwidth adjustment device 1 according to the present embodiment suppresses or promotes bandwidth by buffering packets in the buffer unit 14. Next, a method for using buffered packets will be described.
- FIG. 14 is a diagram for explaining a method of buffering data packets.
- the bandwidth adjustment device 1 provided in the relay device 3 buffers the data packet in the buffer unit 14 of FIG. Then, processing such as copying the data packet buffered in the buffer unit 14 and transmitting the copied data packet to the receiving terminal 4B is executed.
- the bandwidth adjustment device 1 monitors the vacancy of the buffer unit 14 and recognizes that the memory of the bandwidth adjustment device 1 or the relay device 3 is depleted, the data packet may be discarded without being buffered. This is because even if the discarded data packet does not reach the reception terminal 4B, the transmission terminal 2A will retransmit the data packet by the TCP function, so that there is no communication problem.
- the same buffering is performed for ACK packets. Similar to data packet buffering, even if the ACK packet is discarded when the capacity of the memory is exceeded, the receiving terminal 4B retransmits the ACK packet by the TCP function, so that no communication problem occurs.
- the bandwidth adjusting device 1 may be configured to execute the following processing using a packet buffering function to the buffer unit 14.
- the order of arrival at the receiving terminal 4B may be changed depending on the network route. Even in such a case, by arranging the packets in the order of the sequence number or the ACK number, the order can be corrected in the network device (the relay device 3 in the embodiment) including the bandwidth adjusting device 1.
- the sequence number and ACK number of the received packet can be compared with that of the packet already buffered in the buffer unit 14, and the duplicated packet can be discarded without buffering.
- a terminal device (receiving terminal 4B or transmitting terminal 2A) that receives a packet does not need to discard a duplicate packet.
- FIG. 15 is a diagram for explaining a method of using a buffered ACK packet.
- the ACK packet it is possible to further limit the number of packets to be buffered to one.
- the ACK packet having the largest ACK number among the ACK numbers of the ACK packets received by the bandwidth adjusting device 1 is buffered. This is because in TCP, if the maximum ACK number is known, the sequence number of the data packet to be transmitted next can be determined.
- the bandwidth adjustment device 1 of the relay device 3 receives the ACK packet AP (5) with the ACK number “5” from the receiving terminal 4B, the ACK number “ 4 "is discarded, and the ACK packet (5) having the largest ACK number is buffered. Then, using the ACK packet AP (5), the above-described bandwidth promotion process is executed.
- the bandwidth adjustment apparatus 1 copies and transmits the buffered ACK packet (ACK packet AP (5) in FIG. 15) in the embodiment. Thus, the band adjustment is executed.
- the bandwidth adjustment apparatus 1 copies and transmits the ACK packet buffered in the buffer unit 14 so that the ACK packet is returned to the transmission terminal 2A at a predetermined frequency.
- the ACK packet copied / transmitted from the buffer unit 14 is also transmitted from the receiving terminal 4B and is received redundantly by the transmitting terminal 2A.
- the transmitting terminal 2A has a range of known IP network specifications. Process within. For this reason, there is no problem in communication due to such retransmission of the ACK packet.
- the buffer unit 14 is managed by the session table 13, and is a queue (queue) prepared for each direction of the session, that is, for each of the A ⁇ B direction and the B ⁇ A direction in FIG.
- the queue is realized by a data structure such as a linked list. Since the linked list is a known technique, a description thereof will be omitted.
- FIG. 16 is a flowchart showing a data packet buffering process.
- the reception bandwidth measuring unit 23 of the bandwidth adjustment device 1 in FIG. 3 receives the data packet from the session management unit 22, it starts the process shown in FIG. 16.
- step S41 it is determined whether or not a data packet having the same sequence number as the sequence number of the received data packet exists in the queue (buffer unit 14). If there is a data packet having the same sequence number (Yes in step S41), the process proceeds to step S42, the received data packet is discarded, and the process ends.
- step S41 If it is determined in step S41 that there is no data packet having the same sequence number (in the case of no in step S41), the process proceeds to step S43, where the data packet is added to the queue according to the order indicated by the sequence number, and the process is performed. finish.
- FIG. 17 is a flowchart showing ACK packet buffering processing. 3 receives the ACK packet from the session management unit 22 and starts the process shown in FIG. FIG. 17 shows a process for buffering an ACK packet having the maximum ACK number.
- step S51 it is determined whether or not the ACK number of the received ACK packet takes the maximum value.
- the process proceeds to step S52, and the received ACK packet is discarded and processed. Exit.
- step S51 If it is determined in step S51 that the ACK number of the received ACK packet has the maximum value (Yes in step S51), the process proceeds to step S53.
- the bandwidth adjustment device 1 is configured to hold a plurality of ACK packets, the ACK packets are added to the queue according to the order indicated by the ACK numbers.
- the queue length is 1 and only one ACK packet is held, the ACK packet held in the queue is discarded, the received new ACK packet is stored in the queue, and the process is terminated. To do.
- the transmitting terminal 2A Since the buffering process shown in FIG. 16 and FIG. 17 is a process executed when performing the above-described band adjustment, unlike the conventional technique, the transmitting terminal 2A does not continuously transmit excessive packets. . As a result, the number of packets to be buffered does not continue to increase and does not constantly increase.
- At least two buffer memories for a packet are prepared for each communication direction of a session, that is, for a data packet buffer and an ACK packet buffer.
- the buffer memory for packets includes not only packet data but also management information for managing the buffer unit 14, the amount of memory is larger than the packet length.
- the amount of memory required per session is 100 kilobytes and 1 gigabyte for 10,000 sessions.
- the average buffer amount per session is actually 10 packets or less. If a 1 gigabyte buffer memory is prepared, processing is possible even with simultaneous relay of 100,000 sessions.
- the buffer memory may be exhausted. In such a case, the bandwidth adjustment process is continued without buffering the packet.
- the transmission terminal 2A and the reception terminal 4B retransmit the packet by the TCP function, there is no communication problem even if the buffering is not performed when the memory is exhausted.
- the bandwidth adjustment process can be performed without adversely affecting the communication.
- a data packet that does not need to be buffered among the packets stored in the buffer unit 14 is determined. It can also be configured to be discarded. A method for discarding data packets that do not need to be buffered will be specifically described with reference to FIG.
- FIG. 18 is a diagram for explaining processing for discarding buffer data.
- the receiving terminal 4B When receiving the data packet, the receiving terminal 4B includes the sequence number of the data packet to be transmitted next by the transmitting apparatus 2A in the ACK number and returns the ACK packet.
- the relay device 3 including the bandwidth adjustment device 1 refers to the sequence number of the data packet in the buffer unit 14.
- the ACK packet When the data packet having the sequence number that matches the received ACK number is buffered, the ACK packet is discarded without being relayed, and it is determined that an unnecessary data packet is buffered. Then, the data packet older than the ACK number is discarded. That is, the data packet having a sequence number smaller than the sequence number of the packet to be transmitted next by the transmitting terminal 2A is discarded.
- the relay device 3 determines that buffering and transfer are unnecessary for the data packet having a sequence number smaller than the ACK number among the data packets that have subsequently arrived from the transmitting terminal 2A side, and discards them.
- the bandwidth adjustment apparatus 1 can perform bandwidth adjustment even when only packets in one direction among the two directions of the A ⁇ B direction and the B ⁇ A direction are relayed. is there.
- the data packet that is, the communication in the A ⁇ B direction
- the ACK packet that is, the communication state in the B ⁇ A direction. Therefore, the packet discarding process of FIG. 18 is applicable when monitoring communication in both directions.
- the bandwidth adjustment device 1 transmits a packet (proxy retransmission) instead of the transmission terminal 2A and the reception terminal 4B.
- proxy a packet proxy retransmission
- FIG. 19 is a flowchart showing proxy retransmission processing of a data packet.
- the bandwidth adjustment unit 24 of the bandwidth adjustment device 1 of FIG. 3 executes, for example, the bandwidth adjustment process shown in FIG. 13 and the proxy retransmission process of the data packet shown in FIG.
- step S61 it is determined whether or not the measurement band is below the target band.
- the process is terminated without performing any particular process.
- step S61 when the measurement band is equal to or larger than the target band (in the case of no in step S61), the process proceeds to step S62. Then, a data packet having a maximum ACK number or a sequence number larger than the maximum value managed in the session table 13 is copied from the buffer unit 14, transmitted to the receiving terminal 4B, and the process is terminated.
- FIG. 20 is a flowchart showing proxy retransmission processing of an ACK packet. Similarly to the process illustrated in FIG. 19, the bandwidth adjustment unit 24 can also execute the proxy retransmission process of the ACK packet illustrated in FIG. 20 when performing the bandwidth adjustment process illustrated in FIG. 13.
- step S71 it is determined whether or not the measurement band is lower than the target band. If the measurement band is lower than the target band (Yes in step S71), the process ends without performing any particular process. This is the same as in the case of yes in step S61 in FIG.
- step S71 when the measurement band is equal to or larger than the target band (in the case of no in step S71), the process proceeds to step S72. Then, the ACK packet having the maximum value of the ACK number managed in the session table 13 is copied from the buffer unit 14 and transmitted to the transmission terminal 2A, and the process is terminated.
- the bandwidth adjustment apparatus 1 determines whether or not the data packet needs to be retransmitted, and when it is determined to be necessary, the data packet is automatically retransmitted. Is possible.
- FIG. 21 is a diagram for explaining an automatic proxy retransmission method for data packets.
- the bandwidth adjustment apparatus 1 (of the relay apparatus 3) that has received the ACK packet transmitted from the receiving terminal 4B transmits the ACK packet when the data packet corresponding to the received ACK packet is held in the buffer unit 14. The packet is discarded without being transferred to the terminal 2A, and the buffered data packet is transmitted to the receiving terminal 4B.
- the relay device 3 (the bandwidth adjustment device 1 thereof) transmits the data packet corresponding to the ACK packet.
- it is expressed as “automatic proxy retransmission” of the data packet.
- the relay device 3 including the bandwidth adjustment device 1 receives the ACK packet AP (5) with the ACK number “5”.
- the bandwidth adjusting apparatus 1 does not transfer the ACK packet to the transmission terminal 2 ⁇ / b> A, and the sequence number “ The data packet DP (5) of “5” is copied and retransmitted to the receiving terminal 4B.
- the ACK packet AP (6) with the ACK number “6” is received, the data packet DP (6) with the sequence number “6” is automatically retransmitted in the same manner.
- the bandwidth adjustment apparatus 1 can perform bandwidth adjustment even when only packets in one direction among the two directions of the A ⁇ B direction and the B ⁇ A direction are relayed. is there.
- the data packet that is, the communication in the A ⁇ B direction
- the ACK packet that is, the communication state in the B ⁇ A direction. Therefore, the automatic proxy retransmission process is applicable when monitoring communication in both directions.
- FIG. 22 is a flowchart showing an automatic proxy retransmission process of a data packet.
- the band adjustment unit 24 in FIG. 3 executes the process shown in FIG. 22 when the ACK number of the ACK packet is notified from the band adjustment unit in the opposite direction.
- step S81 it is determined whether or not a data packet having a sequence number corresponding to the ACK number of the ACK packet received by the band adjusting unit in the opposite direction (that is, matching the ACK number) is stored in the queue of the buffer unit 14. judge. If there is no corresponding data packet in the queue (in the case of no in step S81), the processing is terminated without performing any particular processing.
- step S81 If it is determined in step S81 that the corresponding data packet is stored in the queue (yes in step S81), the process proceeds to step S82. Then, the corresponding data packet is copied from the buffer unit 14, retransmitted to the receiving terminal 4B, and the process is terminated.
- the relay device 3 may adjust the redundant transmission ratio according to the result of observing the relay band (band in the data packet transmission direction) including redundant transmission and the reception band (band in the transmission direction of ACK packet). Is possible. For example, when the reception band is smaller than the relay band including the redundant transmission, it is determined that the probability of discarding the data packet transmitted from the relay apparatus 3 is high, and the ratio of the redundant data packet is increased. Execute the process.
- the bandwidth adjustment apparatus 1 can perform bandwidth adjustment even when only packets in one direction among the two directions of the A ⁇ B direction and the B ⁇ A direction are relayed. is there.
- the data packet that is, communication in the A ⁇ B direction is controlled based on the ACK packet, that is, the communication state in the B ⁇ A direction. Therefore, the automatic redundant transmission process is applicable when monitoring communication in both directions.
- a plurality of network devices having the bandwidth adjustment function can be installed on the communication path. The bandwidth adjusting device 1 does not change the packet, and only adjusts the packet transmission interval according to the target bandwidth.
- the bandwidth adjusting device 1 when the bandwidth adjusting device 1 is used in multiple and the buffering processing is performed in each bandwidth adjusting device 1, it is desirable to set the target bandwidth to a low value. This is because an increase in relay delay due to buffering at a plurality of locations on the route is predicted. By setting the target bandwidth to a relatively low level, the frequency of buffering for promoting the bandwidth can be reduced, thereby effectively suppressing an increase in relay delay. Expected. [Service notification] When the session table 13 of the bandwidth adjustment device 1 becomes full by managing a large number of sessions, the bandwidth adjustment device 1 (the relay device 3 having the bandwidth adjustment device 1) simply relays packets for an overflowing TCP session. Do. For this reason, bandwidth adjustment is not performed for an overflowing TCP session.
- bandwidth adjustment processing is performed on the TCP session transmitted first. Therefore, a TCP session overflowing in the first bandwidth adjustment device 1 may not be subjected to bandwidth adjustment in the subsequent bandwidth adjustment device 1 as well.
- information indicating whether or not the packet has been subjected to bandwidth adjustment processing in any of the bandwidth adjustment devices 1 can be included in the TCP packet.
- the bandwidth adjustment device 1 preferentially performs bandwidth adjustment processing on a packet that has not been subjected to bandwidth adjustment processing.
- Information indicating whether or not the packet transmitted on the route has been subjected to the bandwidth adjustment processing is referred to as “service notification information”, and the bandwidth adjustment processing is performed below with reference to the service notification information in the multiple use configuration. The method of doing will be specifically described.
- FIG. 23 is a diagram for explaining a method for distributing the bandwidth adjustment processing by using the service notification information.
- FIG. 23 illustrates a case where the transmission terminal 2A and the reception terminal 4B communicate via the two relay devices 3A and 3B.
- the routes between the transmission terminal 2A and the relay device 3A, between the relay device 3A and the relay device 3B, and between the relay device 3B and the reception terminal 4B will be referred to as routes (a), (b), and (c), respectively.
- relay devices 3A and 3B including bandwidth adjusting device 1 relay packets P1 and P2.
- the bandwidth adjustment devices 1A and 1B of the relay devices 3A and 3B refer to the service notification information of the packets P1 and P2, and perform bandwidth adjustment preferentially for packets that have not been subjected to bandwidth adjustment processing. Distribute bandwidth adjustment processing in the system.
- a value indicating that the bandwidth adjustment processing is “not performed” is stored in the service notification information.
- the bandwidth adjustment device 1A of the relay device 3A performs bandwidth adjustment for some of the packets P1 among the packets P1 and P2 to be relayed.
- the packet P2 is relayed as it is.
- the service notification information of the packet P1 is set with a value indicating that the bandwidth adjustment processing is “completed”. It stores a value indicating that the bandwidth adjustment processing has not been performed. Therefore, the bandwidth adjustment device 1B of the relay device 3B refers to the service notification information of the packets P1 and P2, and preferentially adjusts the bandwidth for the packet P2 that has not been subjected to the bandwidth adjustment processing. In the path (c), the bandwidth-adjusted packets P1 and P2 are transmitted.
- bandwidth adjustment devices 1 are installed on the route, and by referring to the service notification information, a packet for which bandwidth adjustment processing has not been performed is determined and bandwidth adjustment is performed with priority.
- the bandwidth adjustment process can be distributed. Accordingly, it is possible to increase the possibility that a packet transmitted on the route is subjected to bandwidth adjustment in any of the bandwidth adjustment devices 1.
- FIG. 24 Next, a setting example of service notification information will be described with reference to FIGS. 24 and 25.
- FIG. 24
- FIG. 24 is a diagram illustrating an example of a method for setting service notification information.
- the service notification information is added to the TCP packet by using 1 bit which is a reserved bit of the TCP header. For example, when “1” is stored in the service notification flag f1, the bandwidth adjustment processing has been completed for the packet, and when “0” is stored, the bandwidth adjustment processing has not yet been performed. Is represented. Since the other fields of the TCP header are known techniques, the description thereof is omitted.
- the packet change is kept to a minimum by setting the service notification flag f1 by a method as shown in FIG. 24 without adding a TCP option or the like.
- FIG. 25 is a diagram illustrating another example of a method for setting service notification information.
- service notification information is set in the field of the urgent pointer (Urgent Pointer) p.
- URG Urgent Pointer
- the emergency pointer p is defined as valid only when “1” is set in the URG flag f2. For this reason, as described above, when the URG flag f2 is set to 0, the urgent pointer p is ignored, and normal TCP communication is not affected.
- the relay device 3 including the bandwidth adjustment device 1 performs service notification of a predetermined field of the TCP header as illustrated in FIGS. 24 and 25.
- a value (in this case, “1”) indicating that the bandwidth adjustment processing has been performed is set in the flag (f1 or f2), and then the TCP packet is transferred. Since “0” is set for a packet that has not been subjected to the bandwidth adjustment processing, each bandwidth adjustment device 1 determines whether or not the bandwidth adjustment processing is necessary by referring to the value of this predetermined field.
- the service notification flag indicates that bandwidth adjustment has been performed by at least one bandwidth adjustment device 1 among the plurality of bandwidth adjustment devices 1 provided on the route. That is, bandwidth adjustment may be performed in another bandwidth adjustment device 1 for a packet in which “1” indicating that the service notification flag has been executed is stored, and the above-described multiple use may be performed. Regardless of the value of the service notification flag, for example, when the session table 13 is available, the bandwidth adjustment device 1 may be a bandwidth adjustment target.
- the value of the flag is an example, and a value indicating that the band adjustment has been performed may be “0”, a value indicating that the band adjustment has not been performed may be “1”, and the like.
- the bandwidth adjustment device 1 uses the packet determined to be a TCP packet as the target of bandwidth suppression and promotion.
- the bandwidth adjustment device 1 identifies TCP communication in units of flows by “Per Flow Queuing”, manages a session for each TCP session, and performs processing such as bandwidth adjustment. As described with reference to FIG. 3, the bandwidth adjustment device 1 manages the TCP session using the session table 13. The session management method will be specifically described below.
- FIG. 26 is a flowchart showing session management processing by the session management unit 22 of FIG.
- the session management unit 22 starts the process illustrated in FIG. 26 when the packet is received from the packet determination unit 21 that has determined that the received packet is a TCP packet.
- a session identification code is calculated.
- the session identification code is information for identifying which session the TCP packet belongs to. A specific method for obtaining the session identification code will be described later.
- step S92 it is determined whether or not the session identification code obtained in step S91 is registered in the session table 13. If the session identification code has already been registered in the session table 13 (in the case of yes in step S92), it is a session that has been subjected to bandwidth measurement and bandwidth adjustment in the bandwidth adjustment device 1, and therefore no new registration is required. Therefore, the process proceeds to step S100. In step S100, the packet is transferred to the reception band measurement unit 23, and the process is terminated.
- step S92 if the session identification code obtained in step S91 is not registered in the session table 13 (in the case of no in step S92), registration in the session table 13 is necessary, so the process proceeds to step S93. It is determined whether or not there is a space in the session table 13. If there is a vacancy (Yes in step S93), the process proceeds to step S99, and a session registration process is executed. Specifically, the session identification code, the target bandwidth corresponding to the session, and other necessary information are registered in the session table 13, and the process proceeds to step S100. The process of step S100 is as described above.
- an initial value of the target bandwidth is set.
- the initial value may be configured to select a predetermined initial value from a plurality of predefined values based on conditions such as an IP address and a range of TCP port numbers.
- step S93 If there is no space in the session table 13 (in the case of no in step S93), the process proceeds from step S93 to step S94, and it is determined whether an existing session, that is, a session registered in the session table 13 is valid. judge. When a session that is not valid is included (in the case of no in step S94), the process proceeds from step S94 to step S98, a session end process is executed, and the process proceeds to step S99. Specifically, an end notification is transmitted to the terminal that is the transmission destination of the packet, an invalid session is deleted from the session table 13, and the process proceeds to step S99. The processing after step S99 is as described above.
- step S94 it is determined whether or not the packet for which the session identification code is obtained in step S91 is a FIN packet or an RST packet. In step S95, the determination is made by referring to the code bits of the TCP header.
- step S95 If it is determined in step S95 that the packet is a FIN packet or an RST packet (in the case of yes in step S95), the process proceeds from step S95 to step S97 to execute a session end process. Specifically, an end notification is transmitted to the terminal that is the transmission destination of the packet, and the corresponding session is acquired using the session identification code obtained in step S91, and the session is related from the session table 13. The information is deleted and the process is terminated.
- step S95 If the packet is neither a FIN packet nor an RST packet (in the case of no in step S95), the process proceeds from step S95 to step S96, and the packet is relayed as it is without performing bandwidth measurement / bandwidth adjustment, and the process ends.
- the session identification code obtained in step S91 is calculated using, for example, a pair of an IP address and a TCP port number.
- the length of the IP address and TCP port pair is 10 bytes for Ipv4 and 34 bytes for IPv6. From this, a session identification code of about 4 bytes is generated. As described in the flowchart of FIG. 26, the session table 13 is searched using the session identification code.
- the session identification code is a hash value.
- a hash value is obtained from the IP address and TCP port number, and the obtained value is used as a session identification code.
- the value of the generated code can be appropriately dispersed.
- a value obtained by adding an integer to the IP address / TCP port number pair information may be used as the session identification code.
- code values can be sufficiently dispersed in practical use.
- the time required for the code generation processing is when processing is performed by a microprocessor operating at 1 GHz.
- the machine language command is about 10 commands, which is about 10 nanoseconds.
- the bandwidth adjustment device 1 obtains a session identification code every time a packet is received, and the obtained session identification code is registered in the session table 13. It is determined whether or not there is. If the obtained session identification code is not registered in the session table 13, new registration is performed in the session table 13, and if it is already registered, the registered information is used to Perform measurement and band adjustment. As described above, if the bandwidth adjustment device 1 according to the embodiment can recognize that the TCP session is ongoing, the bandwidth adjustment device 1 can perform the bandwidth measurement / adjustment processing by tracking the sequence number and the ACK number. There is no need to monitor and track state transitions. Therefore, the load applied to the bandwidth adjustment device 1 can be reduced by adopting the session management method described above.
- TCP communication is usually terminated by a FIN packet or an RST packet. This is the same as steps 95 to S97 in FIG. However, other than this, communication may not be completed normally due to abnormal termination of the terminal (transmission terminal 2A or reception terminal 4B) or disconnection of the network. Even if communication is not normally terminated and left unattended, it may eventually be terminated due to a terminal timeout.
- information is deleted from the session table 13 for a session in which a packet has not arrived over a predetermined period at a new session registration timing.
- the session table 13 is checked every predetermined time, and if there is a registered session for which a packet has not arrived for a predetermined period or longer, the information is deleted.
- the bandwidth adjustment device 1 deletes information from the session table 13 when it recognizes a session in which a packet has not arrived as a result of monitoring a new session registration timing or over a predetermined period. At the same time, it notifies the terminal that the communication is to be terminated, and executes a communication termination process.
- a TCP session monitoring time is set in advance by a timer. If there is a session for which the set time has elapsed, information related to the session is deleted from the session table 13 and an end notification is sent to the terminal. For example, the end notification is performed by transmitting an RST packet including “RST” which is one of the TCP commands to the terminal. The terminal that has received the RST packet executes forced termination of the TCP session.
- the server or client terminal determines the unrecoverable TCP session in accordance with the end notification received from the bandwidth adjustment device 1.
- Force termination Taking a web server as an example, it is necessary to manage 100,000 sessions. For this reason, it is possible to greatly reduce the processing load on a server having a large amount of access by forcibly terminating a session that cannot be recovered from a failure.
- Session management for service notification The distribution of the bandwidth adjustment processing among the plurality of bandwidth adjustment devices 1 using the service notification information is as described above. Here, a method of using service notification information when managing a session will be described.
- FIG. 27 is a flowchart showing session management processing using service notification information. Here, a case where the service notification flag shown in FIG. 24 or 25 is used as the service notification information is shown.
- steps S91 to S100 are the same as those in steps S91 to S100 in FIG. 26, respectively, so that the description thereof is omitted here, and the processes different from those in FIG. .
- step S90 referring to the TCP header of the packet received from the packet discrimination unit 21, if the service notification flag stores a value indicating that bandwidth adjustment has not been performed, the process proceeds to step S91, The session management process after step S91 is executed. If a value indicating that the bandwidth adjustment processing has been completed is stored in the service notification flag, it is determined that the packet is not subject to session management in the session management unit 22, and the processing ends without performing any particular processing.
- step S100 the packet is transferred to the reception bandwidth measuring unit 23, and when the processing to be executed regarding session management is completed, a value indicating that the bandwidth adjustment processing has been completed is set in the service notification flag in step S101. End the process.
- FIG. 28 is a flowchart showing service notification flag processing.
- FIG. 28 is a detailed flow of the service notification flag check process of step S90 in the session management process of FIG.
- step S111 it is determined whether or not the service notification flag of the TCP header is on, that is, whether or not a value indicating that the bandwidth adjustment processing has been performed is stored in the service notification flag.
- the service notification flag is off, that is, when the service notification flag stores a value indicating that the bandwidth adjustment processing has not been performed (in the case of no in step S111), session management after step S91 in FIG. Proceed to processing.
- step S111 when the service notification flag is ON (in the case of yes in step S111), the process proceeds to step S112, and it is further determined whether or not there is a space in the session table 13. If there is a vacancy in the session table 13 (in the case of yes in step S112), the process proceeds to the session management process after step S91 in FIG.
- step S112 If there is no vacancy in the session table 13 (in the case of no in step S112), the process proceeds to step S113, the packet is relayed as it is without performing bandwidth measurement / bandwidth adjustment, and the processing is terminated.
- step S112 As for the process for determining whether or not the session table 13 is free in step S112, even if the packet has already been subjected to bandwidth adjustment processing (even in the case of yes in step S111), there is no free space in the session table 13. If there is, it is determined that the bandwidth adjustment can be performed, and the session management process after step S91 in FIG. 27 is executed.
- step S112 it is determined whether or not there is enough space to register information for one session in the session table 13, but the present invention is not limited to this.
- a predetermined ratio or threshold value may be set, and it may be configured to determine whether or not the free space in the session table 13 falls below the predetermined ratio or threshold value.
- the session management process after step S91 is executed.
- the bandwidth adjustment device 1 registers information in the session table 13 when the TCP packet is received, and starts bandwidth measurement and bandwidth adjustment. That is, the bandwidth adjustment device 1 does not need to monitor the state transition from “SYN” to “FIN / RST” of TCP communication for bandwidth adjustment.
- bandwidth adjustment can be performed from the received TCP packet.
- the buffering process is performed even when the relay device 3 including the bandwidth adjustment device 1 is removed from the network while the relay device 3 relays communication, or even when the relay device 3 is stopped due to a failure or the like. Therefore, it is not necessary to adversely affect TCP communication.
- active insertion installing the bandwidth adjusting apparatus 1 in the communication system during the session
- active removal removing the bandwidth adjusting apparatus 1 from the communication system during the session
- the bandwidth adjustment device 1 registers information related to the session in the session table 13 when performing bandwidth adjustment on the received packet.
- the data structure and the like of the session table 13 will be described with reference to FIGS.
- FIG. 29 is a diagram illustrating a structure example of the session table 13.
- the session table 13 shown in FIG. 29 is a hash table (one-dimensional array) storing bidirectional session information from the transmission terminal 2A to the reception terminal 4B, and stores session table data in association with indexes. To do.
- session information can be identified by using a hash key code as a hash table index obtained by taking a remainder from the size of the table.
- a hash key code is obtained from the pair of the IP address and the TCP port number.
- FIG. 30 shows an example of the structure of session table data.
- the session table data associated with the hash table index is provided for each session, and includes management information D1, data D2 indicating the location of session information in the opposite direction, packet source and destination IP addresses, and TCP port numbers.
- Management information D1 is information used by the session management unit 22 of the bandwidth adjustment device 1 to manage the session table 13.
- the data D2 indicating the location of the session information in the opposite direction stores the location on the session table 13 of the session information paired with the session information shown in FIG. 30, that is, the “index” in FIG.
- Each unit such as the session management unit 22 of the bandwidth adjustment apparatus 1 accesses the session information in the opposite direction on the session table 13 using the data D2.
- Data D2 is invalid if it does not relay traffic in the opposite direction.
- the data D3 related to the IP address and TCP port number of the transmission source and destination of the packet includes a hash key code (session identification code), a transmission IP address, a reception IP address, a transmission port number, and a reception port number.
- a hash key code session identification code
- the data D3 stores the IP address and TCP port number of the transmission source and the transmission destination, and in the embodiment, a session identification which is a hash child key code using a pair of the IP address and the TCP port number. Seeking code.
- the data D2 indicating the location of the session information in the opposite direction can be calculated by switching the transmission / reception of the IP address and the TCP port number using the data D3.
- the time required for generating the hash code can be saved by storing the value obtained in advance in the area of the data D2.
- the time data D4 includes various time information related to bandwidth adjustment, such as a session start time, a data packet relay time, and an ACK packet relay time.
- a general time value such as a time value in microseconds or a time value measured by a minimum timer interrupt of an operating system such as Jiffy is used.
- the session duration is obtained from the difference between the current time and the session start time, and the session deletion processing or the like is performed using the obtained session duration.
- the unit time D5 is a numerical value representing the length of the unit time of the internal time in the network device (in the above example, the relay device 3), the terminal or the like provided with the bandwidth adjusting device 1. Since the unit time may be different for each session, in the embodiment, it is set for each session.
- the measurement band data D6 stores a band measured by the reception band measurement unit 23, and includes a measurement data amount, a maximum measurement data amount, a minimum measurement data amount, an ACK amount, a maximum ACK amount, and a minimum ACK amount per unit time, respectively. .
- the measurement data amount and the ACK amount per unit time are the traffic amounts measured by the reception band measurement unit 23 within the period of the unit time D5.
- the maximum value and the minimum value are the past maximum value and the minimum value, respectively. Record.
- the target band data D7 stores information indicating the total amount of increments of data packets and ACK packets to be relayed per unit time, that is, the target band.
- the value of each item of the target bandwidth data D7 stores a predetermined initial value when the session management unit 22 newly registers information in the session table 13, for example, according to the measurement result of the communication bandwidth in the opposite direction. Change the value.
- the transferable data amount per unit time is an accumulation of the data amount.
- the transferable ACK amount per unit time is not the increment of the ACK packet length but the increment of ACK.
- the relay band data D8 stores the band of the packet relayed by the band adjustment of the band adjustment unit 24, and the relay data amount per unit time, the maximum relay data amount, the minimum relay data amount, the relay ACK amount, and the maximum relay ACK amount And the minimum relay ACK amount. Similar to the measurement band and the target band, the data amount and the ACK amount are each composed of an accumulation of data amount and an increment of ACK, respectively. If the ACK does not increase, the relay ACK amount is “0”. Further, when the ACK amount decreases due to the change of the ACK packet order, the corresponding ACK packet is ignored and the ACK amount is measured.
- the data D9 related to the sequence number stores the sequence number of the data packet buffered in the buffer unit 14, and in the example shown in FIG. 30, the maximum sequence number of the sequence numbers of the buffered data packet is Stores the minimum sequence number.
- the data D9 makes it unnecessary to analyze the packet buffered in the buffer unit 14, and the processing of the bandwidth adjustment device 1 is reduced.
- the data D10 related to the ACK number stores the ACK number of the ACK packet buffered in the buffer unit 14, and in the example shown in FIG. 30, the maximum ACK number among the ACK numbers of the buffered ACK packet is stored. Store.
- Buffer data D11 stores a data packet or one ACK packet in a queue.
- the session table data is 128 bytes for one-way communication, it is 256 bytes for two directions. If the memory is 1 megabyte, 4096 sessions can be registered. With the current technical level, the session table 13 can be easily realized with 25 megabytes for 100,000 sessions and 256 megabytes for 1 million sessions.
- the target bandwidth used in the bandwidth adjustment process is stored in the session table 13 as shown in FIG.
- the initial value of the target band can be selected from predefined values according to the range of values of the IP address and the port number. By determining the target bandwidth based on the IP address and the port number, it becomes possible to set the target bandwidth according to each communication. Such processing is executed by, for example, the session management unit 22 or the like.
- the target bandwidth can be dynamically changed thereafter.
- the timing of the change may be, for example, when the session table 13 is referred to in some packet processing, when the periodic interrupt processing shown in FIG. 12 is performed, or when the administrator of the bandwidth adjustment device 1 intentionally changes it. is there.
- the unit time transferable data amount and the unit time transferable ACK amount of the data D7 are appropriately set.
- Such processing is executed by, for example, the reception band measurement unit 23 or the like.
- the packet passing through the bandwidth adjustment device 1 is monitored, and the target bandwidth indicating the bandwidth necessary for communication and the measured actual bandwidth are determined. Compare and perform band suppression or promotion according to the comparison.
- the transmission timing of the packet is controlled to “suppress” the band so that the packet is transmitted at a constant interval, that is, the target band.
- the bandwidth is “promoted” by retransmitting the buffered packet to the transmitting terminal 2A and the receiving terminal 4B on behalf of the measuring bandwidth.
- the communication performance is suppressed within a predetermined range, so that the occurrence of burst traffic and the like is effectively suppressed, and variations in communication performance between terminals are suppressed.
- the communication performance which was conventionally about 1 Mbps, can be improved to about several Mbps.
- the packet transmission by the terminal is promoted by the promotion of the bandwidth, so that an increase in traffic accompanying packet retransmission and retransmission is effectively suppressed.
- the communication performance is suppressed within a predetermined range for each session, and packet retransmission is performed. Can be effectively suppressed, which is effective in stabilizing communication.
- An IP network such as the Internet is a network infrastructure that provides “unreliable communication”. Under this network, the bandwidth adjustment described above is performed for communication that provides “reliable communication” such as TCP. I do.
- a network speed differs greatly from terminal to terminal, an imbalance has occurred in the communication quality provided between the terminals. For example, while a server providing a service is connected to a high-speed network, a user-side terminal is generally connected to a relatively low-speed access network. In such an unbalanced environment, communication between terminals performing “reliable communication” is improved by promoting and suppressing the above band.
- the bandwidth adjustment device 1 it is possible to monitor only packets in one direction in two-way communication and use them for bandwidth adjustment in other directions. There is no need to provide it. Moreover, since it may be installed at any place on the route, it is possible to reduce the network design cost. Furthermore, even if a plurality of bandwidth adjusting devices 1 are installed on the route, each device monitors the packets flowing in its own device and performs bandwidth adjustment, so that the devices do not interfere with each other. Rather, by performing bandwidth adjustment with each of the plurality of bandwidth adjustment devices 1, bandwidth adjustment is performed at a plurality of locations on the route, and TCP communication can be further stabilized.
- the TCP / IP packet is not changed so as to affect the communication, only the packet operation permitted by the “unreliable communication” of the IP layer is used, and at least 1 of the TCP communication is used.
- Bandwidth adjustment processing can be performed by relaying only in the direction or the like. Such bandwidth adjustment processing can also be realized by relatively simple software. Accordingly, the bandwidth adjustment device 1 is incorporated in a network connection device having a communication function such as a router, a bridge, a network appliance device, and a terminal. Is possible.
- the bandwidth adjusting device 1 since the case where the bandwidth adjusting device 1 is incorporated in the relay device 3 is described as an example, it is described how to “relay” the packet to perform the bandwidth adjustment.
- the bandwidth adjustment device 1 uses the packet transmitted by itself or the packet received by the device as a target for bandwidth measurement / bandwidth adjustment and the like. This can be realized by “sending”.
- the terminal notifies the TCP layer of the termination from the bandwidth adjustment device within itself, thereby terminating the unrecoverable session.
- the bandwidth adjustment processing by the bandwidth adjustment device 1 even when the bandwidth adjustment device 1 is provided in the relay device 3, the relay TCP is not terminated as in the conventional TCP technology. Further, the bandwidth adjustment process does not depend on the existing TCP / IP processing function.
- the bandwidth adjustment device 1 can perform bandwidth adjustment processing by referring to the control information of the received TCP / IP packet, and does not require complicated processing. For this reason, even when the band adjusting device 1 is incorporated in the relay device 3, it becomes easy to mount high-speed TCP Splicing on the relay device 3. Therefore, there is an effect of improving the scalability of the processing performance. Further, by improving the scalability of the processing performance, it becomes possible to perform bandwidth adjustment by managing each session even in a backbone network where a lot of traffic is aggregated.
- the bandwidth adjustment device 1 recognizes the session based on whether or not the received packet is a TCP packet, and performs bandwidth adjustment on a session basis, so the TCP communication status is determined with reference to the TCP header. There is no need to do. Thereby, even when communication is continuing between the transmission terminal 2A and the reception terminal 4B, it is possible to additionally install the band adjusting device 1 in the communication system without disconnecting the communication. It can be removed. Therefore, stabilization of TCP communication can be realized without lowering network reliability by adding or removing the bandwidth adjustment device 1.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
〔構成〕
図1は、本実施形態に係る帯域調整装置を有する通信システムを示す全体図である。図1(a)に示す通信システムは、2台の端末装置2A及び端末装置(以下端末)4Bが、互いにネットワーク10を介して接続され、例えばTCP通信を用いた映像配信(動画配信)等の通信を行う。ネットワーク10の例としては、例えば、ADSL(Asymmetric Digital Subscriber Line)、FTTx(Fiber To The x)等の有線アクセスネットワークや、HSPA(High Speed Packet Access)、WiMAX(Worldwide Interoperability for Microwave Access)等の無線アクセスネットワークが挙げられる。端末2A、4Bは、例えば、ネットワーク10に接続された家庭用あるいは小規模オフィス用ネットワーク機器、パーソナルコンピュータ、携帯端末、ネットワーク接続用アダプタ等からなる。
〔通信の方向〕
送信端末2A及び受信端末4Bは、それぞれ相手の端末宛にデータパケット及びACKパケットを送信する。図2及び図3に示す構成の帯域調整装置1は、帯域調整中継部11、12は、それぞれA→B方向及びB→A方向の通信を監視する。このため、通信経路上に設けられる帯域調整装置1は、データパケット及びACKパケットの両方のパケットを転送する場合だけでなく、データパケットまたはACKパケットのいずれか一方を転送する場合であっても帯域調整を行うことが可能である。例えば、帯域調整装置1を備える中継装置3がA→B方向のデータパケットのみを中継し、ACKパケットについては他の経路を経由する場合であっても、帯域調整装置1の帯域調整中継部11のみがデータパケットを監視して、帯域調整を行う。
〔帯域測定〕
本実施形態に係る帯域調整装置1がデータパケットやACKパケットを監視して通信帯域を測定する方法について、それぞれ図4及び図5を参照して説明する。
〔帯域調整〕
図4や図5に示す方法で測定した通信帯域を利用して、帯域調整装置1の帯域調整部24は、中継装置3からパケット(データパケットDPやACKパケットAP)を送出する時間間隔を調整することにより、帯域調整を行う。図3の説明においても述べたとおり、帯域調整部24は、測定した通信帯域に応じて、パケット送出の時間間隔を空ける(時間間隔を長くする)処理、あるいはパケット送出の時間間隔を詰める(時間間隔を短くする)処理のいずれを実行すべきかを決定する。
〔バッファリング〕
上記の帯域調整処理の説明においても述べたとおり、本実施形態に係る帯域調整装置1は、バッファ部14にパケットをバッファリングしておくことにより、帯域の抑制や促進を行っている。次に、バッファリングしたパケットを利用する方法について説明する。
〔代理再送〕
帯域の促進処理の説明において、帯域調整装置1が送信端末2Aや受信端末4Bに代わりパケットを送信(代理再送)することについて述べた。ここでは、代理再送の具体的な方法及びその応用例について、詳しく説明する。
〔データパケットの自動冗送〕
帯域調整装置1のバッファリング機能を利用して、データパケットの冗送処理を実行することも可能である。すなわち、帯域調整装置1を備える中継装置3から受信端末4Bまでの経路上において、パケット破棄の確率が高い場合には、中継装置3が、データパケットを所定の頻度で複写して重複送信(冗送)する。中継装置3は、パケット破棄の確率を、ACKパケットの受信状況により判断する。
〔多重使用〕
上記の帯域調整機能を備えるネットワーク機器については、通信経路上に複数設置することも可能である。帯域調整装置1は、パケットの変更等は行っておらず、パケットの伝送間隔を目標帯域に応じて調整しているだけである。このため、通信経路上に帯域調整装置を複数配置し、各帯域調整装置1において帯域調整処理を実行する構成をとることが可能である。このように、帯域調整装置1を多重使用する構成としても、パケットの変更は行っていないため、帯域調整装置1間で相互に悪影響を与えることがない。また、各帯域調整装置1が帯域調整処理を実行することで、各経路において通信が安定化することとなるため、1台の帯域調整装置1のみで帯域調整を行う場合と比べて、更に高い効果が期待できる。
〔サービス通知〕
多くのセッションを管理することにより、帯域調整装置1のセッションテーブル13が一杯になると、帯域調整装置1(を備える中継装置3)は、あふれたTCPセッションに対しては、単にパケットの中継のみを行う。このため、あふれたTCPセッションについては帯域調整が実施されないこととなる。上述の帯域調整装置1の多重使用により、経路上に複数の帯域調整装置1が設けられているとしても、基本的には、先に伝送されたTCPセッションに対して帯域調整処理を実施していくことになるため、最初の帯域調整装置1であふれたTCPセッションは、以降の帯域調整装置1においても帯域調整がなされない場合も考えられる。
〔セッション管理〕
先に図10のパケット判別処理の説明においても述べたとおり、実施形態に係る帯域調整装置1は、TCPパケットであると判別したパケットを帯域の抑制及び促進の対象とする。帯域調整装置1は、「Per Flow Queuing」により、フロー単位でTCP通信を識別し、TCPセッションごとにセッションを管理して、帯域調整等の処理を行う。図3を参照して説明したとおり、帯域調整装置1は、セッションテーブル13を用いて、TCPセッションを管理する。以下に、セッションの管理方法について具体的に説明する。
〔セッションの監視・セッションの削除〕
TCP通信は、通常は、FINパケットやRSTパケットにより終了する。これは、図26のステップ95~ステップS97のとおりである。しかし、これ以外にも、端末(送信端末2Aや受信端末4B)の異常終了や、ネットワークの切断等の要因により、通信が正常に終了しないまま放置されることがある。通信が正常に終了せず、放置されている場合であっても、最終的には、端末のタイムアウトにより終了することもある。
〔サービス通知を行う場合のセッション管理〕
サービス通知情報を用いて、複数の帯域調整装置1の間で帯域調整処理を分散させることについては先に説明したとおりである。ここでは、セッションを管理するときにサービス通知情報を利用する方法について説明する。
〔活性挿入・活性除去〕
先に図26等の説明においても述べたとおり、帯域調整装置1は、TCPパケットを受信したことを契機として、セッションテーブル13に情報を登録し、帯域の測定・帯域調整を開始する。すなわち、帯域調整装置1は、帯域調整のためにTCP通信の「SYN」から「FIN/RST」までの状態遷移を監視することが不要である。
〔セッションテーブル〕
上記のTCPセッション管理方法においても述べたとおり、帯域調整装置1は、受信したパケットについて帯域調整を行うに当たり、セッションテーブル13にセッションに係わる情報を登録する。ここでは、図29及び図30を参照して、セッションテーブル13のデータ構造等について説明する。
〔目標帯域の設定〕
帯域調整処理において使用する目標帯域は、図30に示すとおり、セッションテーブル13に格納される。目標帯域の初期値は、例えば、IPアドレスやポート番号の値の範囲に応じて、予め定義されている値の中から選択させる構成とすることができる。IPアドレスやポート番号により目標帯域を決定することで、通信ごとに応じた目標帯域を設定可能となる。かかる処理は、例えばセッション管理部22等が実行する。
Claims (19)
- 送信装置及び受信装置がネットワークを介して通信を行うときに、通信の帯域を制御する通信装置であって、
前記送信装置から前記受信装置、及び前記受信装置から送信装置の2方向の通信のうち、少なくとも1方向の通信について帯域を測定する測定部と、
通信に必要な帯域を示す目標帯域を含む帯域調整に係わる情報を記憶する記憶部と、
前記記憶部から前記帯域を測定した方向の目標帯域を読み出し、前記測定部において測定した帯域と該読み出した目標帯域との比較に基づきパケットの送出間隔を調整することにより、帯域の抑制または促進を行う調整部と
を備えることを特徴とする通信装置。 - 前記調整部は、前記送信装置及び受信装置の間で送受されるパケットには変更を加えずに、パケットの破棄、パケットの中継または送信、複数の複写パケットの中継または送信、及び、パケットの送出間隔の制御を行うパケット処理を行うことで、帯域を調整する
ことを特徴とする請求項1記載の通信装置。 - 前記測定部は、前記送信装置から第1のパケットを受信した前記受信装置が該送信装置宛に返送する第2のパケットを観測して、該第2のパケットの送信方向の通信についての帯域を測定し、
前記調整部は、前記第2のパケットの送出間隔を制御して、該第2のパケットの送出間隔を空け、または詰めることにより、帯域の抑制、または促進を行う
ことを特徴とする請求項1記載の通信装置。 - 前記測定部は、前記第2のパケットに含まれる、前記送信装置が次に送信すべき前記第1のパケットを示す情報に基づき、該第2のパケットの送信方向の帯域を測定する
前記調整部は、前記送信装置が次に送信すべき前記第1のパケットを示す情報の増分が前記目標帯域に近づくよう前記第2のパケットの送出間隔を制御して、前記帯域の抑制または促進を行う
ことを特徴とする請求項3記載の通信装置。 - 前記送信装置が送信する第1のパケット及び前記受信装置が該第1のパケットに対して返送する第2のパケットを、該第1及び第2のパケットに含まれるパケットの順序を示す情報にしたがって格納するパケット格納部と、
を更に備え、
前記調整部は、
前記ネットワークを介してパケットを受信すると、該受信したパケット、及び前記パケット格納部に格納しているパケットの前記パケットの順序を示す情報を比較し、
前記パケットの順序を示す情報が互いに一致する場合には、前記パケット格納部に格納しているパケットまたは前記受信したパケットのいずれか一方を破棄し、他方のパケットについては該パケット格納部に保存させる
ことを特徴とする請求項1記載の通信装置。 - 前記調整部は、前記第1または第2のパケットの送信方向の帯域が、該通信方向の前記目標帯域を下回る場合には、前記パケット格納部に格納したパケットを複写し、該複写パケットを、該目標帯域に応じた送出間隔で少なくとも1回送出する
ことを特徴とする請求項5記載の通信装置。 - 前記調整部は、所定の期間以上に渡って前記第2のパケットを認識しない場合には、第1のパケットの順序を示す番号が、第2のパケットの順序を示す番号のうち最大の番号と対応する第1のパケットを前記パケット格納部から取得し、該取得した第1のパケットの複写パケットを、前記受信装置に向けて送出させる
ことを特徴とする請求項6記載の通信装置。 - 前記調整部は、所定の期間以上に渡って前記第1のパケットを認識しない場合には、第2のパケットの順序を示す番号が最大の番号をとる第2のパケットを前記パケット格納部から取得し、該取得した第2のパケットの複写パケットを、前記送信装置に向けて送出させる
ことを特徴とする請求項6記載の通信装置。 - 前記調整部は、前記パケットの順序を示す番号が同一の第2のパケットについての複写パケットを、所定の回数以上連続して送出して、前記送信装置における送信帯域を向上させる
ことを特徴とする請求項6記載の通信装置。 - 前記測定部及び調整部は、前記送信装置及び受信装置間の二方向の通信のうち、一方の通信についての帯域測定及び帯域調整をそれぞれ行う第1の測定部及び第1の調整部、並びに他方の通信についての帯域測定及び帯域調整をそれぞれ行う第2の測定部及び第2の調整部を有し、
前記2方向のうちパケットを認識している通信方向の測定部及び調整部を動作させて、該認識している通信方向について帯域調整を行う
ことを特徴とする請求項1記載の通信装置。 - 前記調整部は、前記受信装置から受信した第2のパケットのうち、前記送信装置において破棄されるパケットについては、該送信装置に送出させず、自装置において破棄する
ことを特徴とする請求項5記載の通信装置。 - 前記送信装置または受信装置からパケットを受信したことを契機として前記記憶部に情報の登録を行い、該送信装置と受信装置との間のセッションの管理を開始する管理部と
を更に備え、
前記記憶部は、前記送信装置と前記受信装置との間のセッションを識別する情報と対応付けて、該セッションについての帯域調整に係わる情報を記憶する
ことを特徴とする請求項1記載の通信装置。 - 前記セッション管理部は、前記パケットに含まれる、通信の状態遷移を表す情報を参照し、該状態遷移を表す情報に該送信装置及び受信装置の間のセッションを終了する旨の値が格納されている場合には、該セッションを識別する情報及びこれと対応付けられた帯域調整に係わる情報を前記記憶部から削除するとともに、該パケットの送信先である前記送信装置または受信装置に対して、通信の終了を通知する通知パケットを生成し、送出する
ことを特徴とする請求項12記載の通信装置。 - 前記セッション管理部は、管理中のセッションに関するパケットを所定の期間に渡って認識しない場合には、該セッションを識別する情報及びこれと対応付けられた帯域調整に係わる情報を前記記憶部から削除するとともに、前記送信装置及び受信装置に対して、通信の終了を通知するパケットを生成し、送出する
ことを特徴とする請求項14記載の通信装置。 - 前記調整部は、帯域調整を行った前記パケットに、帯域調整処理が実施済であることを示す情報を設定し、受信したパケットに該情報が設定されているか否かに基づき、該受信したパケットが帯域調整の対象であるか否かを判定する
ことを特徴とする請求項1記載の通信装置。 - 前記調整部は、前記パケットのTCP(Transmission Control Protocol)ヘッダのURGENTビットには0を設定し、URGENTポインタフィールドには、帯域調整処理が実施済であることを示す情報を設定し、該パケットのチェックサムフィールドには、該設定した情報の値を含める値を設定する
ことを特徴とする請求項15記載の通信装置。 - 前記測定部は、前記測定した帯域と前記目標帯域とを比較し、該測定した帯域が該目標帯域を上回る場合には、予め設定されている目標帯域の許容範囲内で目標帯域を増やし、該測定した帯域が該目標帯域を下回る場合には、該許容範囲内で目標帯域を減らして、該変更した目標帯域を前記記憶部に記憶させる
ことを特徴とする請求項1記載の通信装置。 - 前記管理部は、管理するセッションについての目標帯域を、パケットのネットワークアドレスの範囲、通信プロトコルの種類、通信の継続時間、時間帯、測定帯域あるいは送出したデータ量に応じて変更し、該変更した目標帯域を前記記憶部に記憶させる
ことを特徴とする請求項12記載の通信装置。 - 送信装置及び受信装置がネットワークを介して通信を行うときに、通信の帯域を制御する通信方法であって、
前記送信装置から前記受信装置、及び前記受信装置から送信装置の2方向の通信のうち、少なくとも1方向の通信について帯域を測定し、
通信に必要な帯域を示す目標帯域を含む帯域調整に係わる情報を記憶する記憶部から前記帯域を測定した方向の目標帯域を読み出し、前記測定した帯域と該読み出した目標帯域との比較に基づきパケットの送出間隔を調整することにより、帯域の抑制または促進を行う
ことを特徴とする通信方法。
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10852492.7A EP2579516B1 (en) | 2010-05-31 | 2010-05-31 | Communication apparatus and communication method |
US13/700,070 US8761010B2 (en) | 2010-05-31 | 2010-05-31 | Communication apparatus and communication method |
CA2800669A CA2800669C (en) | 2010-05-31 | 2010-05-31 | Communication apparatus and communication method |
JP2011543749A JP5059976B2 (ja) | 2010-05-31 | 2010-05-31 | 通信装置及び通信方法 |
PCT/JP2010/059221 WO2011151884A1 (ja) | 2010-05-31 | 2010-05-31 | 通信装置及び通信方法 |
CN201080033922.2A CN102474463B (zh) | 2010-05-31 | 2010-05-31 | 通信装置以及通信方法 |
KR1020127002778A KR101746629B1 (ko) | 2010-05-31 | 2010-05-31 | 통신 장치 및 통신 방법 |
SG2012087029A SG185769A1 (en) | 2010-05-31 | 2010-05-31 | Communication apparatus and communication method |
BR112012030524A BR112012030524A2 (pt) | 2010-05-31 | 2010-05-31 | aparelho de comunicação e método de comunicação |
TW100118429A TWI530123B (zh) | 2010-05-31 | 2011-05-26 | Communication devices and communication methods |
HK12111868.2A HK1171134A1 (en) | 2010-05-31 | 2012-11-21 | Communication apparatus and communication method |
IL223255A IL223255A (en) | 2010-05-31 | 2012-11-26 | Communication device and method of communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/059221 WO2011151884A1 (ja) | 2010-05-31 | 2010-05-31 | 通信装置及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011151884A1 true WO2011151884A1 (ja) | 2011-12-08 |
Family
ID=45066283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/059221 WO2011151884A1 (ja) | 2010-05-31 | 2010-05-31 | 通信装置及び通信方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US8761010B2 (ja) |
EP (1) | EP2579516B1 (ja) |
JP (1) | JP5059976B2 (ja) |
KR (1) | KR101746629B1 (ja) |
CN (1) | CN102474463B (ja) |
BR (1) | BR112012030524A2 (ja) |
CA (1) | CA2800669C (ja) |
HK (1) | HK1171134A1 (ja) |
IL (1) | IL223255A (ja) |
SG (1) | SG185769A1 (ja) |
TW (1) | TWI530123B (ja) |
WO (1) | WO2011151884A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013232851A (ja) * | 2012-05-01 | 2013-11-14 | Nippon Telegr & Teleph Corp <Ntt> | 可用帯域測定装置及び方法及びプログラム |
JP2015023320A (ja) * | 2013-07-16 | 2015-02-02 | 日本放送協会 | 並列分散管理装置、プログラム及び並列分散処理システム |
JP2016126444A (ja) * | 2014-12-26 | 2016-07-11 | コニカミノルタ株式会社 | 画像形成システム、画像処理装置、および画像処理装置の制御プログラム |
JP2018067788A (ja) * | 2016-10-19 | 2018-04-26 | 日本電気株式会社 | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5263394B2 (ja) * | 2009-06-16 | 2013-08-14 | 富士通オプティカルコンポーネンツ株式会社 | 光通信装置及び光通信装置の節電制御方法 |
JP5501052B2 (ja) * | 2010-03-24 | 2014-05-21 | キヤノン株式会社 | 通信装置、通信装置の制御方法、プログラム |
JP5937806B2 (ja) * | 2011-11-10 | 2016-06-22 | 株式会社Nttドコモ | 移動通信方法、ポリシー及び課金ルールサーバ装置及び移動管理ノード |
US9648133B2 (en) * | 2012-03-12 | 2017-05-09 | Telefonaktiebolaget L M Ericsson | Optimizing traffic load in a communications network |
US9413672B2 (en) * | 2012-06-06 | 2016-08-09 | Apple Inc. | Flow control for network packets from applications in electronic devices |
JP5935571B2 (ja) * | 2012-07-27 | 2016-06-15 | 富士通株式会社 | 帯域幅制御装置、帯域幅制御方法、および、帯域幅制御プログラム |
US20140047126A1 (en) * | 2012-08-10 | 2014-02-13 | International Business Machines Corporation | Coordinated enforcement of traffic shaping limits in a network system |
CN103944691B (zh) * | 2013-01-17 | 2019-01-15 | 中兴通讯股份有限公司 | 一种协同业务传输中的数据重传方法及接入网网关 |
EP2798507B1 (en) | 2013-02-26 | 2017-03-22 | Fastly Inc. | Enhanced acknowledgement handling in communication packet transfer |
JP6236933B2 (ja) * | 2013-07-02 | 2017-11-29 | 富士通株式会社 | 中継装置 |
US20150071273A1 (en) * | 2013-09-11 | 2015-03-12 | Celeno Communications (Israel) Ltd. | Efficient transfer of tcp traffic over wlan |
US20150195326A1 (en) * | 2014-01-03 | 2015-07-09 | Qualcomm Incorporated | Detecting whether header compression is being used for a first stream based upon a delay disparity between the first stream and a second stream |
JP2015130121A (ja) * | 2014-01-08 | 2015-07-16 | ヤマハ株式会社 | 中継装置 |
EP3128709B1 (en) * | 2014-04-01 | 2021-09-08 | Ubiquoss Inc. | Method for controlling line in access network having g.hn technology applied thereto, and access network line concentration instrument, access network terminal and access network system using same |
US9450879B2 (en) * | 2014-05-09 | 2016-09-20 | Nexgen Storage, Inc. | Adaptive bandwidth throttling |
US9961585B2 (en) | 2014-05-16 | 2018-05-01 | Nokia Solutions And Networks Oy | Network-side buffer management |
JP6525576B2 (ja) * | 2014-12-17 | 2019-06-05 | キヤノン株式会社 | 制御装置、制御システム、制御方法、医用画像撮影装置、医用画像撮影システム、撮影制御方法およびプログラム |
US10601721B2 (en) | 2015-10-29 | 2020-03-24 | Altiostar Networks, Inc. | Maintenance of downlink throughput |
CN105391589B (zh) * | 2015-12-15 | 2018-09-25 | 京信通信系统(中国)有限公司 | 一种报文传输的方法及装置 |
TWI678084B (zh) * | 2016-09-05 | 2019-11-21 | 日商日本電氣股份有限公司 | 網路頻段量測裝置及網路頻段量測方法 |
US20180131640A1 (en) * | 2016-11-07 | 2018-05-10 | Qualcomm Incorporated | Techniques for encoding and decoding multiple acknowledgement signals in new radio |
CN109905327B (zh) * | 2017-12-11 | 2021-05-07 | 网宿科技股份有限公司 | 一种无线网络数据传输方法、发送端及接收端 |
US10784931B2 (en) * | 2018-06-08 | 2020-09-22 | Apple Inc. | Assisted multi-user multi-input multi-output (MU-MIMO) communication system |
CN109075961B (zh) * | 2018-07-31 | 2021-12-03 | 北京小米移动软件有限公司 | 传输块处理方法、装置、电子设备和计算机可读存储介质 |
CN117500057A (zh) * | 2022-07-21 | 2024-02-02 | 华为技术有限公司 | 一种通信方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008219812A (ja) * | 2007-03-07 | 2008-09-18 | Daikin Ind Ltd | 帯域制御装置、同帯域制御装置を備えたネットワーク及び空調管理システム、帯域制御方法並びに帯域制御プログラム |
JP2009141565A (ja) * | 2007-12-05 | 2009-06-25 | Panasonic Corp | 受信端末装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908624B2 (en) * | 2007-06-18 | 2011-03-15 | Broadcom Corporation | System and method for just in time streaming of digital programs for network recording and relaying over internet protocol network |
US8411566B2 (en) * | 2007-10-31 | 2013-04-02 | Smart Share Systems APS | Apparatus and a method for distributing bandwidth |
US8289870B2 (en) * | 2009-09-23 | 2012-10-16 | Avaya Inc. | Priority-based, dynamic optimization of utilized bandwidth |
-
2010
- 2010-05-31 SG SG2012087029A patent/SG185769A1/en unknown
- 2010-05-31 CN CN201080033922.2A patent/CN102474463B/zh active Active
- 2010-05-31 BR BR112012030524A patent/BR112012030524A2/pt not_active IP Right Cessation
- 2010-05-31 US US13/700,070 patent/US8761010B2/en active Active
- 2010-05-31 KR KR1020127002778A patent/KR101746629B1/ko active IP Right Grant
- 2010-05-31 CA CA2800669A patent/CA2800669C/en active Active
- 2010-05-31 EP EP10852492.7A patent/EP2579516B1/en active Active
- 2010-05-31 WO PCT/JP2010/059221 patent/WO2011151884A1/ja active Application Filing
- 2010-05-31 JP JP2011543749A patent/JP5059976B2/ja active Active
-
2011
- 2011-05-26 TW TW100118429A patent/TWI530123B/zh active
-
2012
- 2012-11-21 HK HK12111868.2A patent/HK1171134A1/xx unknown
- 2012-11-26 IL IL223255A patent/IL223255A/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008219812A (ja) * | 2007-03-07 | 2008-09-18 | Daikin Ind Ltd | 帯域制御装置、同帯域制御装置を備えたネットワーク及び空調管理システム、帯域制御方法並びに帯域制御プログラム |
JP2009141565A (ja) * | 2007-12-05 | 2009-06-25 | Panasonic Corp | 受信端末装置 |
Non-Patent Citations (2)
Title |
---|
CAO LE THANH MAN ET AL.: "ImTCP: TCP with an inline network measurement mechanism", IEICE TECHNICAL REPORT, vol. 104, no. 73, May 2004 (2004-05-01) * |
See also references of EP2579516A4 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013232851A (ja) * | 2012-05-01 | 2013-11-14 | Nippon Telegr & Teleph Corp <Ntt> | 可用帯域測定装置及び方法及びプログラム |
JP2015023320A (ja) * | 2013-07-16 | 2015-02-02 | 日本放送協会 | 並列分散管理装置、プログラム及び並列分散処理システム |
JP2016126444A (ja) * | 2014-12-26 | 2016-07-11 | コニカミノルタ株式会社 | 画像形成システム、画像処理装置、および画像処理装置の制御プログラム |
JP2018067788A (ja) * | 2016-10-19 | 2018-04-26 | 日本電気株式会社 | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム |
Also Published As
Publication number | Publication date |
---|---|
HK1171134A1 (en) | 2013-03-15 |
EP2579516A4 (en) | 2013-04-10 |
BR112012030524A2 (pt) | 2019-09-24 |
IL223255A0 (en) | 2013-02-03 |
SG185769A1 (en) | 2013-01-30 |
TW201212593A (en) | 2012-03-16 |
IL223255A (en) | 2016-06-30 |
CN102474463B (zh) | 2015-07-08 |
KR20130082070A (ko) | 2013-07-18 |
US20130176848A1 (en) | 2013-07-11 |
JP5059976B2 (ja) | 2012-10-31 |
CN102474463A (zh) | 2012-05-23 |
EP2579516A1 (en) | 2013-04-10 |
EP2579516B1 (en) | 2015-08-26 |
CA2800669A1 (en) | 2011-12-08 |
JPWO2011151884A1 (ja) | 2013-07-25 |
CA2800669C (en) | 2017-04-25 |
US8761010B2 (en) | 2014-06-24 |
TWI530123B (zh) | 2016-04-11 |
KR101746629B1 (ko) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5059976B2 (ja) | 通信装置及び通信方法 | |
CN110661723B (zh) | 一种数据传输方法、计算设备、网络设备及数据传输系统 | |
US8451727B2 (en) | Apparatus and method for controlling congestion occurrence in a communication network | |
US7369498B1 (en) | Congestion control method for a packet-switched network | |
US9655003B2 (en) | Systems and methods for improved wireless interface aggregation | |
US7564792B2 (en) | Transparent optimization for transmission control protocol flow control | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
US9325628B2 (en) | Packet handling method, forwarding device and system | |
US20060221825A1 (en) | Congestion control network relay device and method | |
US10439940B2 (en) | Latency correction between transport layer host and deterministic interface circuit | |
JP2001308947A (ja) | 通信装置、中継装置および通信制御方法 | |
WO2020147453A1 (zh) | 数据传输方法及相关装置 | |
CN111147573A (zh) | 一种数据传输的方法和装置 | |
US20230269183A1 (en) | Apparatus and method for managing network flow congestion | |
US20230269187A1 (en) | Apparatus and method for managing network flow congestion | |
US9894552B2 (en) | Regulating data communication between a mobile data client and a remote server | |
JP2013017135A (ja) | 通信装置およびパケット廃棄軽減方法 | |
WO2019004013A1 (ja) | データ送信装置、方法および記録媒体 | |
WO2010010028A1 (en) | Control of data flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080033922.2 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011543749 Country of ref document: JP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10852492 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20127002778 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2800669 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 223255 Country of ref document: IL |
|
WWE | Wipo information: entry into national phase |
Ref document number: 3703/KOLNP/2012 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010852492 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13700070 Country of ref document: US |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112012030524 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112012030524 Country of ref document: BR Kind code of ref document: A2 Effective date: 20121126 |