WO2005020523A1 - セッション中継装置及び中継方法 - Google Patents

セッション中継装置及び中継方法 Download PDF

Info

Publication number
WO2005020523A1
WO2005020523A1 PCT/JP2004/010604 JP2004010604W WO2005020523A1 WO 2005020523 A1 WO2005020523 A1 WO 2005020523A1 JP 2004010604 W JP2004010604 W JP 2004010604W WO 2005020523 A1 WO2005020523 A1 WO 2005020523A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
data
packet
transmission
output
Prior art date
Application number
PCT/JP2004/010604
Other languages
English (en)
French (fr)
Inventor
Hideyuki Shimonishi
Tutomu Murase
Yasuhiro Yamasaki
Yohei Hasegawa
Original Assignee
Nec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nec Corporation filed Critical Nec Corporation
Priority to US10/568,440 priority Critical patent/US7675898B2/en
Priority to JP2005513252A priority patent/JP4269176B2/ja
Publication of WO2005020523A1 publication Critical patent/WO2005020523A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing

Definitions

  • the present invention relates to a session relay device and a session relay method used for the same, and more particularly, to a device that relays data between TCP (Transmission Control Protocol) sessions.
  • TCP Transmission Control Protocol
  • a communication session is established between a transmitting terminal and a receiving terminal, and communication is performed on the established session.
  • the propagation delay time between the transmitting terminal and the receiving terminal is extremely long, or if communication is performed across networks with different characteristics, such as wired and wireless, the transmitting terminal and the receiving terminal The communication throughput with the network decreases.
  • a relay device is installed between the transmitting terminal and the receiving terminal, rather than communicating in a single session between the transmitting terminal and the receiving terminal. Communication is performed by relaying data between two sessions, a session from the transmitting terminal to the relay device and a session from the relay device to the receiving terminal.
  • a relay device is effective to have a large transmission buffer so as not to reduce the throughput even when the propagation delay time is very long.
  • network congestion occurs because packets are output in bursts, especially during TCP slow start. As a result, the throughput may be reduced as a result.
  • the first method is to reduce the processing load on the relay device by using the zero copy method for data transfer between the OS (Operation System) kernel and the application program.
  • OS Operating System
  • the first method when data is transferred between a kernel program that actually performs data transmission / reception processing and an application program that performs data relay processing, physical data is not copied. Virtual data movement is performed by page matching.
  • the relay device stores a packet in the relay device that does not simply transfer the packet.
  • the relay device monitors an ACK (acknowledgement) packet returned from the receiving terminal to the transmitting terminal, and if it detects packet discard between the relay device and the receiving terminal, stores the packet. By outputting the placed packet to the receiving terminal, retransmission of the packet by the transmitting terminal is prevented, and a drop in the throughput between the transmitting terminal and the receiving terminal due to packet discard is prevented.
  • ACK acknowledgement
  • a third method there is a method of reducing the processing load of the relay device by performing relay processing only for sessions that need to be relayed without performing relay processing for sessions that do not need to be relayed.
  • this method a method of measuring session throughput and performing relay processing as described in the following reference 5 to select only a session that improves the throughput and perform relay processing is performed. is there.
  • the relay method does not perform the relay processing when transmitting the HTTP (Hyper Text Transfer Protocol) request, but performs the relay processing only when performing the data transfer. There is a method to do it.
  • the first method has a problem that the processing load other than the data copy is high.
  • the load of packet output control is added to the processing load of TCP, so the overall processing load increases.
  • a session relay device exists independently of a transmitting / receiving terminal, and a transmitting terminal and Since the packet length used by the receiving terminal cannot be assumed in advance, a reduction in processing load by zero copy cannot be expected for the transmitting terminal and the receiving terminal that use a packet length different from the page size of the bandwidth control device.
  • the session relay device In the conventional session relay system, in the case of the second system, there is a problem that a decrease in throughput due to factors other than packet discard cannot be improved.
  • the session relay device When performing session relay processing, the session relay device immediately returns an ACK packet to the transmitting terminal in response to receiving a packet from the transmitting terminal. Only returns an ACK packet to the transmitting terminal, and the session relay device itself does not return an ACK packet. Therefore, in an environment where the propagation delay is large, the effect of improving the throughput by the second method is small.
  • an object of the present invention is to solve the above-mentioned problems, and to perform a relay process between sessions at high speed even when performing output control of a knocket that relays a large number of sessions. And a session relay method used for the same.
  • a session relay device is a session relay device that performs a session relay process including a congestion control process and a packet output control process in a plurality of layers, wherein each of the plurality of layers generates the congestion control information. Only, the packet output control processing is concentrated in the scheduler of the IP (Internet Protocol) layer.
  • IP Internet Protocol
  • Another session relay device performs communication between the receiving terminal and the receiving terminal by relaying data between a session directed to the transmitting terminal and a session directed to the receiving terminal.
  • a session relay device to be realized,
  • Receiving session processing means for receiving data from a session directed to the transmitting terminal; transmitting session processing means for transmitting data to a session directed to the receiving terminal; and temporarily storing data to be output to the transmitting terminal.
  • the transmission session processing means calculates the amount of data permitted to be output in the layer, and the packet scheduler controls the packet output based on the calculated data amount.
  • Another session relay device performs communication between the transmitting terminal and the receiving terminal by relaying data between a session directed to the transmitting terminal and a session directed to the receiving terminal.
  • a session relay device to be realized,
  • a receiving session processing means provided for a plurality of layers and receiving data from a session directed to the transmitting terminal; and a receiving session processing means provided for the plurality of layers and directed to the receiving terminal.
  • Transmission session processing means for transmitting data, a transmission buffer for temporarily storing data to be output to the transmission terminal, and a packet scheduler for controlling packet output from the transmission buffer,
  • Each of the transmission session processing means calculates the amount of data permitted to be output in the layer, and the packet scheduler controls the packet output based on the amount of data commonly permitted in all of the plurality of layers. are doing.
  • a session relay method is a session relay method for a session relay device that performs a session relay process including a congestion control process and a packet output control process in a plurality of layers, wherein each of the plurality of layers Only the creation of congestion control information is performed, and the packet output control processing is integrated in the scheduler of the IP (Internet Protocol) layer.
  • IP Internet Protocol
  • Another session relay method is to perform communication between the receiving terminal and the receiving terminal by relaying data between a session directed to the transmitting terminal and a session directed to the receiving terminal.
  • a session relay method for a session relay device to be implemented comprising: a receiving session process for receiving data from a session directed to the transmitting terminal; and transmitting a data to a session directed to the receiving terminal.
  • a transmission session process for transmitting data to the transmission terminal a process for temporarily storing data to be output to the transmission terminal in a transmission buffer, a process for controlling a packet output from the transmission buffer by a packet scheduler, and a process for controlling the packet scheduler.
  • the data stored in the transmission buffer in response to the control Output control means for controlling data output by the output control means.In the transmission session processing, the amount of data permitted to be output in the layer is calculated, and based on this, the packet scheduler Controls packet output.
  • Another session relay method is to perform communication between the transmitting terminal and the receiving terminal by relaying data between a session directed to a transmitting terminal and a session directed to a receiving terminal.
  • a session relay method for a session relay device to be realized comprising: a receiving session process for receiving data of a session force directed to the transmitting terminal in each of a plurality of layers on the session relay device side; A transmission session process for transmitting data to a session directed to the receiving terminal; a process for temporarily storing data to be output to the transmitting terminal in a transmission buffer; and a packet scheduler for controlling the packet output of the transmission buffer. And in each of the transmission session processes, the output is permitted in the corresponding layer.
  • the packet scheduler controls the output of the packet based on the amount of data commonly allowed in all of the plurality of layers.
  • the session relay device of the present invention does not control packet output in the TCP (Transmission Control Protocol) layer, but only generates control information for packet output in the TCP layer.
  • Protocol Transmission Control Protocol
  • the session relay device of the present invention with respect to congestion control in an upper layer protocol such as iSCSI (internet Small Computer System Interface), only creation of control information is performed in the upper layer, and actual packet
  • the IP layer uses a packet scheduler for output control.
  • data output control in a plurality of layers can be integrated, so that the processing load related to packet output can be reduced.
  • the session relay device of the present invention does not copy data to an application, it is not necessary to move data by page mapping. That is, the received packet is stored in the receive buffer of the TCP layer, other upper layers, and the application. It is stored directly in the transmission buffer of the IP layer without being stored in the transmission buffer of the TCP layer or other higher layers or applications. for that reason
  • data does not move in the session relay device, and there is no need to move data by page mapping.
  • the relay process is not performed only for packet retransmission control, and a complete relay process is performed by terminating a session. Can be reduced.
  • the session relay device of the present invention by speeding up the relay processing between sessions, it is possible to perform high-speed processing even when the number of relay sessions is large.
  • FIG. 1 is a block diagram showing a configuration of a transmission system including a session relay device according to a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a session relay device according to the first embodiment of the present invention.
  • FIG. 3 is a block diagram showing a configuration of the packet scheduler of FIG. 2.
  • FIG. 4 is a flowchart showing the operation of the session relay device according to the first embodiment of the present invention.
  • FIG. 5 is a flowchart showing an operation of the session relay device according to the first embodiment of the present invention.
  • FIG. 6 is a flowchart showing an operation of the packet scheduler shown in FIG. 3.
  • FIG. 7 is a schematic diagram showing the number of bytes waiting to be transmitted.
  • FIG. 8 is a block diagram showing a configuration of a packet scheduler according to a second embodiment of the present invention.
  • FIG. 9 is a block diagram showing a configuration of a session relay device according to a third embodiment of the present invention.
  • FIG. 10 is a block diagram showing a configuration of a session relay device according to a fourth embodiment of the present invention.
  • FIG. 11 is a schematic diagram illustrating the number of bytes waiting to be transmitted in a fourth embodiment of the present invention.
  • FIG. 12 is a block diagram showing a configuration of a session relay device according to a fifth embodiment of the present invention.
  • FIG. 13 is a block diagram showing a data flow between a session relay device (transmitting terminal) and a session relay device (receiving terminal) according to a fifth embodiment of the present invention.
  • FIG. 1 is a block diagram showing a configuration of a transmission system including the session relay device 1 according to the first embodiment of the present invention.
  • the session relay device 1 according to the present embodiment includes a session identification unit 11, a session relay unit 12-1-12-N, and an output control unit 14, and is connected to the reception terminal 2 and the transmission terminal 3. Have been.
  • the data packet from the transmitting terminal 3 is processed by a receiving session processing unit (not shown) of the session relay unit 12-1. (acknowledgement) packet is returned to the transmitting terminal 3.
  • the data received by the reception session processing unit of the session relay unit 12-1 is sent to the transmission session processing unit (not shown) of the session relay unit 12-1 and is transmitted to the reception terminal 2 therefrom.
  • a packet is sent.
  • the ACK packet returned by the receiving terminal 2 is processed by the transmission session processing unit of the session relay unit 12-1.
  • the data received by the reception session processing unit of the session relay unit 12-2 is sent to the transmission session processing unit (not shown) of the session relay unit 12-2, from which the data is transmitted to the transmission terminal 3.
  • a packet is sent.
  • the ACK packet returned by the transmitting terminal 3 is processed by the transmitting session processing unit of the session relay unit 12-2.
  • FIG. 2 is a block diagram showing a configuration of the session relay device according to the first embodiment of the present invention.
  • the session relay device 1 includes a session identification unit 11 and a session relay unit.
  • Unit 12-1-12-N a packet scheduler 13, and an output control unit 14.
  • the session identification unit 11 determines a session to which the arrived packet belongs.
  • the session relay unit 12-1-12-N relays between the session with the transmitting terminal 3 and the session with the receiving terminal 2.
  • the packet scheduler 13 controls a packet output from each of the session relay units 12-1 12-N.
  • the output control unit 14 outputs a packet from each session relay unit 12-1-12-N based on an instruction from the packet scheduler 13.
  • session relay section 12_1 includes a transmission session processing section 121-1 that performs processing of a session for transmitting data to receiving terminal 2, and a transmission buffer 122-1 that stores received data until the end of transmission. And a reception session processing unit 123-1 for processing a session for receiving data from the transmission terminal 3.
  • the configuration of the session relay unit 12_2-12-N is the same as the configuration of the session relay unit 12_1.
  • FIG. 3 is a block diagram showing a configuration of the packet scheduler 13 in FIG. 3, the packet scheduler 13 includes a list distribution unit 131, a state update unit 132, a state variable storage unit 133, a reset control unit 134, a transmittable list 135, and a transmission waiting list 136.
  • the transmittable list 135 holds the identifiers of the sessions from which packets can be output, and the send wait list 136 holds the identifiers of the sessions in a send wait state.
  • the list distribution unit 131 distributes the identifier of the data packet session or the identifier of the session that has received the ACK packet to the transmittable list 135 or the transmission waiting list 136.
  • the status update unit 132 extracts the session identifier from the transmittable list 135, notifies the output control unit 14, and updates the status of the session.
  • the state variable storage unit 133 holds the state of each session, and the reset control unit 134 moves the session identifier managed in the transmission waiting list 136 to the transmittable list 135.
  • TCP Transmission Control Protocol
  • two session relay units are used for one set of the transmission terminal 3 and the reception terminal 2, and the corresponding session relay units are used for data communication in each direction.
  • two session relay units 12-1-12-N are prepared for each of a plurality of sets of the transmitting terminal 3 and the receiving terminal 2, and each of the session relay units 12-1-12-N is respectively provided.
  • a process of relaying data from the session from the transmitting terminal 3 to the corresponding session to the receiving terminal 2 or from the session from each receiving terminal 2 to the corresponding session to the transmitting terminal 3 is performed.
  • a data packet in a certain direction and an ACK packet in the opposite direction may be integrated on one packet (ACK piggy back).
  • ACK piggy back In order to simplify the description, description of such an operation is omitted.
  • FIGS. 4 and 5 are flowcharts showing the operation of the session relay device 1 according to the first embodiment of the present invention
  • FIG. 6 is a flowchart showing the operation of the packet scheduler 13 shown in FIG. The operation of the session relay device 1 according to the first embodiment of the present invention will be described with reference to FIGS.
  • the session identification unit 11 refers to the header of the packet, and transmits a source IP (Internet Protocol) address and a destination IP address.
  • the session to which the packet belongs is determined based on the fourth layer protocol number, source fourth layer port number, destination fourth layer port number, etc. (step S2 in FIG. 4).
  • the session identification unit 11 receives the corresponding session relay unit 12-1-12-1-N of the reception session processing unit 123-1-123-N (reception session It is passed to the processing section 123-2-123-N (not shown) (step S4 in FIG. 4).
  • the session identification unit 11 sends the corresponding session relay unit 12—11—12—N the transmission session processing unit 121—111—121_N (transmission session It is passed to the processing unit 121-2-121-N (not shown) (step S10 in FIG. 4).
  • the input data packets are rearranged in the order of the sequence numbers and transmitted to the transmission buffer 122-1 122-N (the transmission buffer 122-2 122-N is not shown). (Step S5 in Fig. 4).
  • the reception session processing unit 123-1-1-123-N determines that the received data packet has a correct sequence number ( (Step S6 in FIG. 4), that is, if the sequence number is continuous with the last sequence number of the data being continuously received, in order to confirm the data reception confirmation and notify the advertisement window size to the transmitting terminal 3, Return the ACK packet through the output control unit 14 (Step S7 in FIG. 4)
  • the reception session processing unit 123-1-1123-N returns an ACK packet (duplicate ACK packet) based on the sequence number of the last packet received continuously, and sends the packet to the transmitting terminal 3. Notify non-arrival.
  • Reference 7 This is described in detail in Addison-Wesley, 1994, ISBN 0-201-63346-9 (hereinafter referred to as Reference 7).
  • the ACK packet is immediately output from the output control unit 14 or stored in the corresponding reverse session transmission buffer 122-1-122-N, and the reverse session data packet is transmitted. At the same time, it is output under the instruction of the packet scheduler 13.
  • reception session processing section 123-1—123-N notifies the packet scheduler 13 of the last sequence number of the data received continuously (step S8 in FIG. 4).
  • the transmission session processing unit 121-1—121-N changes the congestion size and the Indian size based on the input ACK packet (step S9 in FIG. 4). If the ACK packet is not a duplicate ACK, the reception is not completed. The confirmed data is deleted from the transmission buffer 122-1 122-N (steps S12 and S13 in FIG. 5), and if it is a duplicate ACK, the data is retransmitted as needed (step S12 and Sll in FIG. 5). . Since this processing is also described in detail in the above-mentioned reference 7, it is not explained in detail.
  • Transmission session processing section 121-1 121-N notifies packet scheduler 13 of the advertisement window described in the received ACK packet and the updated congestion window (step S15 in Fig. 5). Further, when retransmission times out (step S14 in FIG. 5), the transmission session processing unit 121-1 121-N also notifies the last sequence number of which reception has been confirmed (step S16 in FIG. 5).
  • the packet output from the transmission buffers 122-1-122 -N is performed based on an instruction from the packet scheduler 13.
  • the output control unit 14 Upon receiving a packet output instruction from the packet scheduler 13, the output control unit 14 extracts one packet from the transmission buffer 122-1-122-N and outputs it to the output line, and determines the packet length of the output packet by the packet scheduler 13. Notify
  • the packet output from the transmission buffer 122-1-122-N is a packet having the sequence number stored in the case of performing the retransmission processing, otherwise, the packet having the highest sequence number among the untransmitted packets. It's a small packet.
  • the receiving session processing unit 123-1-123-N only stores the received packets in the transmission buffer 122-1-122-N in the order of arrival.
  • the transmission session processing unit 121-1—121-N does not receive the ACK packet, and notifies the packet scheduler 13 of the queue length of the transmission buffer 122-1—122-N as an advertisement window and a congestion window. As long as there is a packet in the transmission buffer 122-1—122—N, it keeps requesting the packet scheduler 13 to output the packet.
  • the state variable storage unit 133 holds, for each session, three meters of the allocation weight, the number of transmittable bytes, and the number of bytes to wait for transmission.
  • the assigned weight is a weight assigned to the session.
  • the packet scheduler 13 resets at regular intervals or each time there is no more session in which packets can be transmitted (steps S26 and S27 in FIG. 6), and the number of bytes that can be transmitted within one reset period is assigned. .
  • the number of bytes that can be transmitted is the number of bytes that can be transmitted from the current time until the next reset, and the initial value is the assigned weight (step S21 in Fig. 6), and is subtracted by the packet length each time a packet is output. (Steps S22 and S23 in Fig. 6).
  • the number of bytes waiting to be transmitted is a value obtained by subtracting the sequence number already transmitted by the packet scheduler 13 from the sequence number permitted to be transmitted by the TCP layer.
  • the receiving terminal At the end of the sequence number + 1, the receiving terminal The indicated advertisement window, the congestion window of the session) —the transmitted sequence number.
  • the number of bytes waiting to be sent is the queue length in the send buffer 122-1-122-N.
  • FIG. 7 is a schematic diagram showing the number of bytes waiting to be transmitted.
  • the identifiers of the sessions for which packet output is possible that is, the number of bytes that can be transmitted and the number of bytes waiting to be transmitted are both 1 or greater than the MSS (Maximum Segment Size) are managed by the transmission acceptance list 135 (see FIG. Steps S24, S25), the number of bytes that can be transmitted
  • the number of bytes that can be output after a reset that is, the number of bytes that can be transmitted is 1 or more than MSS
  • the number of bytes that can be transmitted is 1 or less than the MSS
  • the identifier is managed in the transmission waiting list 136 (steps S27 to S29 in FIG. 6).
  • the list sorting unit 131 sends the last sequence number continuously received from the transmitting terminal 3, the advertising window received from the receiving terminal 2, the updated congestion from the session relay unit 12-1—12—N.
  • the number of bytes to be sent is updated as shown in FIG.
  • list distribution section 131 when the retransmission timer times out in output control section 14, list distribution section 131 returns the transmitted sequence number to the sequence number for which reception has been confirmed, and updates the number of bytes waiting for transmission. If the number of bytes to wait for transmission before update is less than S1 or MSS, the list distributing unit 131 determines that the identifier of the session is not yet managed in the transmittable list 135 or the transmittable list 136. The identifier of the session is newly stored in the transmittable list 135 or the transmit wait list 136 based on the number of waiting bytes and the number of transmittable notes.
  • the state updating unit 132 extracts one transmittable session identifier from the head of the transmittable list 135, notifies the output control unit 14 of the identifier, and causes the output control unit 14 to output a packet. After that, the state updating unit 132 adds the output packet length to the transmitted sequence number, updates the number of bytes waiting for transmission, and subtracts the number of transmittable bytes from the output packet length.
  • the state updating unit 132 stores the identifier of the session in the transmittable list 135 or the transmit queue list 136 again according to the number of transmittable bytes and the number of transmittable bytes.
  • the status update unit 132 has one for both the number of bytes waiting for transmission and the number of bytes that can be transmitted, Is stored in the transmittable list 135 if it is equal to or more than the MSS, and stored in the transmittable list 136 if the number of transmittable bytes is 1 or more than MSS but the transmittable byte number is 1 or less than the MSS.
  • the packet to be relayed is within the transmission buffer 122-1 at the time of reception and is taken out from the transmission buffer 122-1 122 -N at the time of transmission.
  • the overhead of data movement is small because it moves only when
  • the packet output control is performed by the packet scheduler 13 using the information of the TCP layer and the like, the band control is performed with a smaller processing load than when the transmission session processing units 121-1-121-N output the packets directly. Can be performed while performing packet output.
  • FIG. 8 is a block diagram showing the configuration of the packet scheduler according to the second embodiment of the present invention.
  • the packet scheduler 16 according to the second embodiment of the present invention has the same configuration as that of the first embodiment of the present invention shown in FIG. 3 except that an allocation weight changing unit 161 and a control parameter changing unit 162 are added.
  • the same components are denoted by the same reference numerals. The operation of the same component is the same as that of the first embodiment of the present invention.
  • the value of the TCP control parameter of the session is dynamically changed according to the band set by the control parameter changing unit 162 in the packet scheduler 16 as the assigned weight. . That is, if the number of transmittable bytes of the session becomes larger than a preset value which is larger than the assigned weight, the control parameter changing unit 162 determines that the data output is restricted by the TCP control, and Changes the value of the TCP control parameter of the session so that data can be output in more bandwidth.
  • the data output by TCP control is reduced to the bandwidth by the weight assigned by the packet scheduler 16. Change the value of a control parameter.
  • the congestion window during non-congestion is raised and the width of the congestion window is increased, or the congestion window lowering rate during congestion is reduced.
  • the processing is the reverse of the former case. I do.
  • the allocation weight changing unit 161 in the packet scheduler 16 dynamically changes the allocation weight according to the currently transmittable band. That is, if the number of transmittable bytes of the session becomes larger than a preset value which is larger than the assigned weight, the assigned weight changing unit 161 assigns Determines that data output in the bandwidth set by the weight is not possible, and temporarily reduces the assigned weight.
  • the allocation weight changing unit 161 sequentially increases the allocation weight to the original value. Also, the allocation weight changing unit 161 calculates the bandwidth that the session can transmit based on the congestion window and round-trip propagation delay time measurement value of the session notified from the session relay unit 12-1-12-N.
  • the allocation weight changing unit 161 temporarily changes the allocation weight so that the bandwidth setting value based on the allocation weight becomes the above calculated value. change.
  • FIG. 9 is a block diagram showing the configuration of the session relay device according to the third embodiment of the present invention.
  • the session relay device according to the third embodiment of the present invention includes a reception rate control section 151-1—151_N (a reception rate control section 151-2—151—) in a session relay section 15-1—15-N.
  • the configuration is the same as that of the session relay device according to the first embodiment of the present invention shown in FIG. 2 except that N is not shown), and the same components are denoted by the same reference numerals.
  • the operation of the same component is the same as that of the first embodiment of the present invention.
  • the reception rate control units 151_1-151_N control the reception rate from the transmission terminal 3.
  • the reception session processing unit 123_1-123-N sets the advertizing window size to the transmitting terminal 3 to 0 and Then, the transmitting terminal 3 stops transmitting data in response to the notification.
  • the transmission terminal 3 will continue to output a packet for window inspection even if there is free space. ACK cannot be output to restart transmission.
  • the reception rate control unit 151-1 causes the transmission buffer 122-1-122-1N free space after the packet output to be performed. Is checked, and if this is 1 or more than the MSS, an ACK packet is generated in order to prompt the transmitting terminal 3 to resume transmission promptly.
  • the transmission buffer 122-1 In order to prevent the free capacity of 122-N from running out, the transmitting terminal 3 is instructed to lower the transmission band.
  • an ACK packet returned to the transmission side is a duplicate ACK
  • a received packet is discarded
  • an ECN (Explicit Congestion Notification) bit is set in the ACK packet, and the ACK packet is delayed. It is possible to temporarily rewrite the advertisement window of the ACK packet to a smaller size.
  • FIG. 10 is a block diagram showing the configuration of the session relay device according to the fourth embodiment of the present invention.
  • the session relay device according to the fourth embodiment of the present invention includes a transmission iSCSI (internet Small Computer System Interface) control wholesaler 171-11-1 171- ⁇ (transmission iSCSI controller 171-2—171-N).
  • the receiving iSCSI control unit 172 -1-172 -N (the receiving iSCSI control unit 172 -2 -172 -N is not shown) is provided in the session relay unit 17-1-17 -N.
  • the configuration is the same as that of the session relay device according to the third embodiment of the present invention described above, and the same components are denoted by the same reference numerals.
  • the operation of the same component can be the same as that of the session relay device according to the third embodiment of the present invention.
  • the transmission iSCSI control units 171-1 to 171-N reflect the congestion control information of the iSCSI layer on the transmission rate to the receiving terminal 2.
  • the reception iSCSI control unit 172-1 172-1N reflects the congestion control information of the iSCSI layer on the reception rate from the transmission terminal 3.
  • the receiving terminal 2 transmits to the transmitting terminal 3 an R2T (Ready-To-Transfer) packet for notifying the amount of data receivable by the receiving terminal 2, so that the transmitting terminal 3 Transfer control is performed with the receiving terminal 2.
  • R2T Ready-To-Transfer
  • the transmitting iSCSI control unit 171_1—171—N when the transmission iSCSI control unit 171_1—171—N receives the R2T packet from the receiving terminal 2, the transmitting iSCSI control unit 171_1—171—N does not send the R2T packet to the receiving terminal 2, but sends the R2T packet to the session relay device according to the present embodiment. Then, the last sequence number of the data output when receiving the R2T packet is stored.
  • Transmission iSCSI control unit 171-1— 171-N calculates the sum of the previously stored sequence number and the transmittable data amount of the currently received R2T packet as data that can be transmitted in the iSCSI layer. The packet scheduler 13 is notified as the amount.
  • the reception iSCSI control unit 172-1-172-N detects the free space of the transmission buffer 122-1-1122-N after the packet output. If this is a predetermined value or more, the free space of the transmission buffer is transmitted to the transmitting terminal 3 as an R2T packet.
  • the congestion control of the iSCSI layer is relayed by the session relay device, which does not perform the congestion control of the iSCSI layer between the transmitting terminal 3 and the receiving terminal 2, so that the iSCSI At the layer, the same throughput improvement as relaying a TCP session can be achieved.
  • FIG. 12 is a block diagram showing the configuration of the session relay device according to the fifth embodiment of the present invention.
  • the session relay device according to the fifth embodiment of the present invention includes a session identification unit 11, a session transmission unit 41-1-1 41-N, and a session reception unit 42-1-42- N, a packet scheduler 13, and an output control unit 14.
  • the session identification unit 11 determines the session to which the arriving packet belongs, and the session transmission unit 41_1-41-N performs data transmission processing of the session to the receiving terminal, and the session reception unit 42_1-42-N Performs a process of receiving data from the session to the receiving terminal.
  • the packet scheduler 13 controls the packet output from each of the session transmission units 41-1 through 41-N.
  • the output control unit 14 outputs a packet from each of the session transmission units 41-1 to 41-N based on an instruction from the packet scheduler 13.
  • the session transmitting section 411-1-41-N includes a transmitting session processing section 411-1-411-N (the transmitting session processing section 411-2-411-N is not shown) and a transmission data generating section. 412-1-412-N (transmission data generator 412-2-412-N not shown) and transmission buffer 413-11-413-N (transmission buffer 413-1-413-N not shown) And force are composed.
  • the transmission data generation unit 413-1-413-N stores transmission data from the application program in the transmission buffer 413-1-413-N.
  • the transmission buffer 5-6-1 temporarily stores the data to be transmitted.
  • the transmission session processing unit 411-1-11111-1 performs processing of a session for transmitting data to the receiving terminal.
  • the session receivers 42-1-42-N include a reception session processor 421-1-421-N (reception session processors 421-2-421-N are not shown) and a reception buffer 422-1. — 422-N (reception buffer 422-2-422-N is not shown), and reception data processing unit 423-1-423-N.
  • the reception session processing unit 421-1 421-N performs a process of receiving data from the reception terminal, and the reception buffer 422-1-422-N temporarily stores the received data.
  • Received data processing unit 423— 1— 423—N transfers received data from the receive buffer 5-14-1 to the application.
  • bidirectional communication is usually performed between a transmitting terminal and a receiving terminal. Therefore, in the present embodiment, one session transmitting unit 41 is provided for each set of transmitting terminal and receiving terminal. —1-1 Use 41-N and session receiver 42-1-42-N. In the present embodiment, the session relay device also serves as a transmitting terminal or a receiving terminal.
  • FIG. 13 shows a session relay device (transmission terminal) and a session relay device according to the fifth embodiment of the present invention.
  • FIG. 4 is a block diagram showing a data flow between Yong relay devices (receiving terminals).
  • the session transmission unit 41-1 of the session relay device (transmission terminal) 4-2 is also output.
  • the received data packet is subjected to reception processing by the session receiving unit 42-11 of the session relay device (receiving terminal) 411.
  • the generated ACK packet is returned to the session transmission unit 41-1-2 of the session relay device (transmission terminal) 4-2.
  • the session transmitting unit 41-1 of the session relay device (receiving terminal) 4-1-1 When data is transmitted from the session relay device (receiving terminal) 4-1 to the session relay device (transmitting terminal) 4-2, the session transmitting unit 41-1 of the session relay device (receiving terminal) 4-1-1 The data packet output from 1 is received by the session receiver 42-1-2 of the session relay device (transmitting terminal) 4-2. As a result, the generated ACK packet is returned to the session transmitting unit 41-1-1 of the session relay device (receiving terminal) 4-1.
  • the transmission data output by the application program is written to the transmission buffer 413-1-413-N by the transmission data generator 412-1-114-12-N.
  • the transmission session processing section 411-1-411-N performs data transmission processing from the transmission buffer 413-1-413-N to the receiving terminal. This process is the same as in the above-described first embodiment of the present invention, and a description thereof will be omitted.
  • the packet scheduler 13 when calculating the number of bytes to be transmitted, the packet scheduler 13 substitutes for the last sequence number of data received from the application program instead of the last sequence number of continuously received data. Is used.
  • the receiving session processor 421-1-1 42-1N performs the receiving process of the data transmitted from the receiving terminal, and stores the data successfully received in the receiving buffer 422-1-422-N. .
  • This reception processing is the same as the above-described first embodiment of the present invention except that the buffer to be stored is not a transmission buffer but a reception buffer, and therefore the description thereof is omitted.
  • the data written in the reception buffer 422-1-422-N is taken out by the reception data processing unit 423-1-1423-N and passed to the application program.
  • the congestion control processing in a plurality of layers only the creation of the congestion control information is performed in each layer, and the packet output control processing is aggregated in the scheduler of the IP layer. High-speed session relay processing can be realized.
  • the present invention consolidates reception buffers and transmission buffers of a plurality of layers into transmission buffers of an IP layer, thereby eliminating data movement between buffers and realizing high-speed session relay processing. Can be.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 セッション識別部(11)は到着したパケットが属するセッションを決定し、セッション中継部(12−1~12−N)は送信端末とのセッションと受信端末とのセッションとの間で中継を行う。パケットスケジューラ(13)は各セッション中継部(12−1~12−N)からのパケット出力を指示制御し、出力制御部(14)はその指示に基づいて各セッション中継部(12−1~12−N)からのパケット出力を行う。セッション中継部(12−1)において、送信セッション処理部(121−1)は受信端末へとデータを送信するセッションの処理を行い、送信バッファ(122−1)は受信したデータを送信終了まで蓄えておく。受信セッション処理部(123−1)は送信端末からデータを受信するセッションの処理を行う。

Description

明 細 書
fン中継装置及び中継方法
技術分野
[0001] 本発明はセッション中継装置及びそれに用いるセッション中継方法に関し、特に T CP (Transmission Control Protocol)セッション間でデータの中継を行う装置に 関する。
背景技術
[0002] —般的に、通信アプリケーションにおいては、送信端末と受信端末との間で通信セ ッシヨンを確立し、確立したセッション上で通信を行う。し力しながら、送信端末と受信 端末との間の伝播遅延時間が非常に長い場合、もしくは有線と無線とのように特性の 異なるネットワークを横断して通信する場合には、送信端末と受信端末との間の通信 のスループットが低下する。
[0003] この問題を解決するための方法としては、下記の文献 1一 3に開示されているような 方式が存在する。この方式では、送信端末と受信端末との間を一つのセッションで通 信を行うのではなぐ送信端末と受信端末との間に中継装置を設置する。そして、送 信端末から中継装置へのセッションと中継装置から受信端末へのセッションの 2つの セッション間でデータの中継を行うことによって通信が行われる。
[0004] 文献 1 :特開平 11一 252179号公報
文献 2:特開 2002 - 281104号公報
文献 3 : jay Bakre and B. R. Badrinath, "I—TCP ; Indirect TCP for Mo bile Host' , Department of Computer Science Rutgers University, D SC-TR-314, 1994 (http: //www. it. iitb. ac. in/it644/papers/i-tcp . Pdf)
中継装置においては、伝播遅延時間が非常に長い場合でもスループットを低下さ せないために、大きな送信バッファを持つことが有効であることが知られている。しか しながら、大きな送信バッファを持った場合、特に TCPのスロースタート(Slow Star t)時において、パケットがバースト的に出力されるためにネットワークの輻輳を発生さ せ、結果としてスループットの低下を招く場合がある。
[0005] このような問題を解決する方法としては、下記の文献 4に開示されているような、 TC Pセッションからバースト的にパケットを出力しないように出力するパケットの間隔を調 整する方法がある。
[0006] 文献 4 : A. Aagarwal, S. Savage, ana T. Anderson. 'Understanding the
Performance of TCP Pacing , in proceedings of IEEE INFOCOM' 2000
また、他の方法としては、 TCPセッションからの出力パケットをキューイングしてスケ ジユーラで出力制御を行うことによって、任意の帯域でのパケット出力が可能となり、 他の TCPセッションのスループットを制限し、特定のセッションのスループットを向上 させることち可言である。
[0007] セッションの中継を行う場合、最も問題となることは、一般的に TCPセッションの処 理において処理負荷が高ぐ高速な中継処理が難しいという問題がある。また、 TCP セッションからのパケット出力間隔を調整する場合には、処理負荷がさらに高くなる。
[0008] 上記の TCPセッションの処理を高速化する方式としては、以下に示すような方式が 存在する。第 1の方式としては、 OS (Operation System)のカーネルとアプリケー シヨンプログラムとの間のデータ転送にゼロコピー方式を用いることによって、中継装 置の処理負荷を下げる方式がある。この第 1の方式では、実際にデータの送受信処 理を行うカーネルプログラムと、データの中継処理を行うアプリケーションプログラムと の間で、データの受け渡しを行う際、物理的なデータのコピーを行わず、ページマツ ビングによる仮想的なデータの移動を行う。
[0009] 第 2の方式としては、中継処理を行う際、再送制御のみを行う方式がある。この第 2 の方式では、中継装置でセッションの終端を行わず、送受信端末間で 1本のセッショ ンを設定する。そして、中継装置においては送信端末から受信したパケットを受信端 末へと出力する際、単にパケットを転送するだけでなぐパケットを中継装置内に保存 しておく。
[0010] 中継装置では受信端末から送信端末に返される ACK (acknowledgement)パケ ットを監視し、もし中継装置と受信端末との間でパケット廃棄を検出すると、保存して おいたパケットを受信端末に出力することで、送信端末力ものパケットの再送を防ぎ、 パケット廃棄による送信端末と受信端末との間のスループットの低下を防いでいる。
[0011] この第 2の方式では、セッション間の中継処理を行わず、再送処理を行うのみであり 、中継処理を行う場合に比べて中継装置の負荷を下げることができる。
[0012] 第 3の方式としては、中継の必要が無いセッションの中継処理を行わず、中継を行 う必要があるセッションのみ中継処理を行うことで、中継装置の処理負荷を下げる方 式がある。例えば、この方式としては、下記の文献 5に開示されているような、セッショ ンのスループットを計測し、中継処理を行うことで、スループットが向上するセッション のみを選択して中継処理を行う方式がある。
[0013] 文献 5 :特開平 11-112576号公報
また、上記の方式としては、下記の文献 6に開示されているように、 HTTP (Hyper Text Transfer Protocol)のリクエストを送信する際に中継処理を行わず、デー タ転送を行う際のみ中継処理を行う方式がある。
[0014] 文献 6 :特開 2002— 312261号公報
上述した従来のセッション中継方式では、第 1の方式の場合、データコピー以外の 処理負荷も高いという問題がある。 TCP pacing方式やスケジューラによる出力制御 を行う場合、 TCPの処理負荷に加えて、パケット出力制御の負荷が加わるため、全 体の処理負荷が高くなる。
[0015] また、 TCPセッションの中継だけではなぐ例えば iSCSI (internet Small Com puter System Interface)のような上位レイヤプロトコルの中継処理を行う場合、 さらに上位レイヤでの輻輳制御に基づくパケット出力制御が加わり、さらに処理負荷 が高くなる。特に、中継するセッション数が多い場合には、セッション間でパケットの出 力制御を行う処理の負荷が高くなる。
[0016] さらに、従来のセッション中継方式では、第 1の方式の場合、パケット長に制限があ るという問題がある。 TCPレイヤとアプリケーションとの間でページマッピングによる仮 想的なデータの移動を行うためには、 CPU (中央処理装置)のページサイズとバケツ ト長とが一致してレ、る必要がある。
[0017] 一般的に、セッション中継装置は送受信端末とは独立して存在し、送信端末及び 受信端末が用いるパケット長を予め想定しておくことはできないため、帯域制御装置 のページサイズと異なるパケット長を用いる送信端末及び受信端末に対しては、ゼロ コピーによる処理負荷低減が期待できない。
[0018] 一方、従来のセッション中継方式では、第 2の方式の場合、パケット廃棄以外の要 因によるスループット低下を改善することができないとレ、う問題がある。セッションの中 継処理を行う場合には、セッション中継装置では送信端末からのパケット受信に対し てすぐさま送信端末に対して受信確認のための ACKパケットを返送するが、この第 2 の方式では受信端末が送信端末に対して ACKパケットを返すのみであり、セッション 中継装置自身は ACKパケットを返さない。そのため、伝播遅延が大きな環境では第 2の方式によるスループット向上の効果が小さい。
[0019] また、従来のセッション中継方式では、第 3の方式の場合、中継する必要のあるセッ シヨン数が多い場合に処理負荷が軽減されないという問題がある。
発明の開示
[0020] そこで、本発明の目的は上記の問題点を解消し、中継するセッション数が多ぐノ ケットの出力制御を行う場合でも、高速にセッション間の中継処理を行うことができる セッション中継装置及びそれに用いるセッション中継方法を提供することにある。
[0021] 本発明によるセッション中継装置は、複数のレイヤにおける輻輳制御処理とパケット 出力制御処理とを含むセッション中継処理を行うセッション中継装置であって、前記 複数のレイヤ各々が前記輻輳制御情報の作成のみを行レ、、前記パケット出力制御 処理を IP (Internet Protocol)レイヤのスケジューラに集約している。
[0022] 本発明による他のセッション中継装置は、送信端末に向けたセッションと受信端末 に向けたセッションとの間でデータの中継を行うことで前記受信端末と前記受信端末 との間の通信を実現するセッション中継装置であって、
前記送信端末に向けたセッションからのデータを受信する受信セッション処理手段 と、前記受信端末に向けたセッションへとデータを送信する送信セッション処理手段 と、前記送信端末へと出力するデータを一時蓄えておく送信バッファと、前記送信バ ッファからのパケット出力を制御するパケットスケジューラと、前記パケットスケジューラ の制御に応答して前記送信バッファに蓄えられたデータを出力制御する出力制御手 段とを備え、
前記送信セッション処理手段において当該レイヤで出力が許可されているデータ 量を計算し、これに基づいて前記パケットスケジューラが前記パケット出力を制御して いる。
[0023] 本発明による別のセッション中継装置は、送信端末に向けたセッションと受信端末 に向けたセッションとの間でデータの中継を行うことで前記送信端末と前記受信端末 との間の通信を実現するセッション中継装置であって、
複数のレイヤに対応して設けられかつ前記送信端末に向けたセッションからのデー タを受信する受信セッション処理手段と、前記複数のレイヤに対応して設けられかつ 前記受信端末に向けたセッションへとデータを送信する送信セッション処理手段と、 前記送信端末へと出力するデータを一時蓄えておく送信バッファと、前記送信バッフ ァからのパケット出力を制御するパケットスケジューラとを備え、
前記送信セッション処理手段各々において当該レイヤで出力が許可されているデ 一タ量を計算し、前記複数のレイヤ全てで共通に許可されるデータ量に基づいて前 記パケットスケジューラが前記パケット出力を制御している。
[0024] 本発明によるセッション中継方法は、複数のレイヤにおける輻輳制御処理とパケット 出力制御処理とを含むセッション中継処理を行うセッション中継装置のセッション中 継方法であって、前記複数のレイヤ各々で前記輻輳制御情報の作成のみを行い、 前記パケット出力制御処理を IP (Internet Protocol)レイヤのスケジューラに集約 している。
[0025] 本発明による他のセッション中継方法は、送信端末に向けたセッションと受信端末 に向けたセッションとの間でデータの中継を行うことで前記受信端末と前記受信端末 との間の通信を実現するセッション中継装置のセッション中継方法であって、前記セ ッシヨン中継装置側に、前記送信端末に向けたセッションからのデータを受信する受 信セッション処理と、前記受信端末に向けたセッションへとデータを送信する送信セ ッシヨン処理と、前記送信端末へと出力するデータを送信バッファに一時蓄えておく 処理と、前記送信バッファからのパケット出力をパケットスケジューラにて制御する処 理と、前記パケットスケジューラの制御に応答して前記送信バッファに蓄えられたデ ータを出力制御手段にて出力制御する処理とを備え、前記送信セッション処理にお レ、て当該レイヤで出力が許可されているデータ量を計算し、これに基づいて前記パ ケットスケジューラが前記パケット出力を制御している。
[0026] 本発明による別のセッション中継方法は、送信端末に向けたセッションと受信端末 に向けたセッションとの間でデータの中継を行うことで前記送信端末と前記受信端末 との間の通信を実現するセッション中継装置のセッション中継方法であって、前記セ ッシヨン中継装置側に、複数のレイヤ各々において前記送信端末に向けたセッション 力 のデータを受信する受信セッション処理と、前記複数のレイヤ各々において前記 受信端末に向けたセッションへとデータを送信する送信セッション処理と、前記送信 端末へと出力するデータを送信バッファに一時蓄えておく処理と、前記送信バッファ 力ものパケット出力をパケットスケジューラにて制御する処理とを備え、前記送信セッ シヨン処理各々において当該レイヤで出力が許可されているデータ量を計算し、前 記複数のレイヤ全てで共通に許可されるデータ量に基づいて前記パケットスケジュ ーラが前記パケット出力を制御している。
[0027] すなわち、本発明のセッション中継装置は、 TCP (Transmission Control Prot ocol)レイヤにおいてパケット出力の制御を行わず、 TCPレイヤでパケット出力のた めの制御情報を生成するのみとし、 IP (Internet Protocol)レイヤにおいてパケット スケジューラを用いてパケット出力の制御を行う。
[0028] また、本発明のセッション中継装置では、 iSCSI (internet Small Computer S ystem Interface)のような上位レイヤプロトコルにおける輻輳制御に関しても、制御 情報の作成のみを上位レイヤで行レ、、実際のパケット出力制御には IPレイヤのパケ ットスケジューラを用いる。
[0029] これによつて、本発明のセッション中継装置では、複数のレイヤにおけるデータ出 力制御を統合することができるため、パケット出力に関する処理負荷を軽減すること が可能となる。
[0030] さらに、本発明のセッション中継装置では、アプリケーションへのデータコピーを行 わないため、ページマッピングによるデータの移動の必要がなレ、。すなわち、受信パ ケットは TCPレイヤやその他の上位レイヤ、アプリケーションの受信バッファに格納さ れることなく、また TCPレイヤやその他の上位レイヤ、アプリケーションの送信バッファ に格納に格納されることもなぐ直接 IPレイヤの送信バッファに格納される。そのため
、本発明のセッション中継装置では、セッション中継装置内のデータの移動は発生せ ず、ページマッピングによるデータの移動の必要がなレ、。
[0031] さらにまた、本発明のセッション中継装置では、中継処理をパケットの再送制御にの みを行うのではなぐセッションをー且終端して完全な中継処理を行っているため、パ ケット廃棄以外の要因によるスループット低下を改善することが可能となる。
[0032] 本発明のセッション中継装置では、セッション間の中継処理を高速化することで、中 継セッション数が多い場合でも高速に処理を行うことが可能となる。
図面の簡単な説明
[0033] [図 1]図 1は、本発明の第 1の実施形態によるセッション中継装置を含む伝送システム の構成を示すブロック図である。
[図 2]図 2は、本発明の第 1の実施形態によるセッション中継装置の構成を示すブロッ ク図である。
[図 3]図 3は、図 2のパケットスケジューラの構成を示すブロック図である。
[図 4]図 4は、本発明の第 1の実施形態によるセッション中継装置の動作を示すフロー チャートである。
[図 5]図 5は、本発明の第 1の実施形態によるセッション中継装置の動作を示すフロー チャートである。
[図 6]図 6は、図 3に示すパケットスケジューラの動作を示すフローチャートである。
[図 7]図 7は、送信待ちバイト数を示す模式図である。
[図 8]図 8は、本発明の第 2の実施形態によるパケットスケジューラの構成を示すプロ ック図である。
[図 9]図 9は、本発明の第 3の実施形態によるセッション中継装置の構成を示すブロッ ク図である。
[図 10]図 10は、本発明の第 4の実施形態によるセッション中継装置の構成を示すブ ロック図である。
[図 11]図 11は、本発明の第 4の実施形態における送信待ちバイト数を説明する模式 図である。
[図 12]図 12は、本発明の第 5の実施形態によるセッション中継装置の構成を示すブ ロック図である。
[図 13]図 13は、本発明の第 5の実施形態によるセッション中継装置 (送信端末)及び セッション中継装置 (受信端末)の間のデータの流れを示すブロック図である。
発明を実施するための最良な形態
[0034] 次に、本発明の実施の形態について図面を参照して説明する。
(第 1の実施形態)
図 1は本発明の第 1の実施形態によるセッション中継装置 1を含む伝送システムの 構成を示すブロック図である。図 1において、本実施形態によるセッション中継装置 1 はセッション識別部 11と、セッション中継部 12—1— 12— Nと、出力制御部 14とから構 成され、受信端末 2及び送信端末 3に接続されている。
[0035] まず、送信端末 3から受信端末 2へデータを送る場合、送信端末 3からのデータパ ケットはセッション中継部 12—1の受信セッション処理部(図示せず)で処理され、その 結果、 ACK (acknowledgement)パケットが送信端末 3へと返信される。
[0036] セッション中継部 12—1の受信セッション処理部で受取られたデータはセッション中 継部 12— 1の送信セッション処理部(図示せず)へと送られ、ここから受信端末 2へと データパケットが送信される。これに対して、受信端末 2が返信した ACKパケットはセ ッシヨン中継部 12—1の送信セッション処理部で処理される。
[0037] 同様に、受信端末 2から送信端末 3へデータを送る場合、受信端末 2からのデータ パケットはセッション中継部 12— 2の受信セッション処理部(図示せず)で処理され、そ の結果、 ACKパケットが受信端末 2へと返信される。
[0038] セッション中継部 12— 2の受信セッション処理部で受取られたデータはセッション中 継部 12— 2の送信セッション処理部(図示せず)へと送られ、ここから送信端末 3へと データパケットが送信される。これに対して、送信端末 3が返信した ACKパケットはセ ッション中継部 12-2の送信セッション処理部で処理される。
[0039] 図 2は本発明の第 1の実施形態によるセッション中継装置の構成を示すブロック図 である。図 2において、セッション中継装置 1はセッション識別部 11と、セッション中継 部 12—1— 12—Nと、パケットスケジューラ 13と、出力制御部 14とから構成されている
[0040] セッション識別部 11は到着したパケットが属するセッションを決定する。セッション中 継部 12—1— 12—Nは送信端末 3とのセッションと受信端末 2とのセッションとの間で 中継を行う。パケットスケジューラ 13は各セッション中継部 12—1 12—Nからのパケ ット出力を制御する。出力制御部 14はパケットスケジューラ 13からの指示に基づいて 各セッション中継部 12—1— 12—Nからのパケット出力を行う。
[0041] また、セッション中継部 12_1は受信端末 2へとデータを送信するセッションの処理 を行う送信セッション処理部 121— 1と、受信したデータを送信終了まで蓄えておく送 信バッファ 122— 1と、送信端末 3からデータを受信するセッションの処理を行う受信セ ッシヨン処理部 123—1とから構成されている。尚、図示していないが、セッション中継 部 12_2— 12—Nの構成は上記のセッション中継部 12_1の構成と同様である。
[0042] 図 3は図 2のパケットスケジューラ 13の構成を示すブロック図である。図 3において、 パケットスケジューラ 13はリスト振り分け部 131と、状態更新部 132と、状態変数保存 部 133と、リセット制御部 134と、送信可能リスト 135と、送信待ちリスト 136とから構成 されている。
[0043] 送信可能リスト 135はパケット出力が可能なセッションの識別子を保持し、送信待ち リスト 136は送信待ち状態にあるセッションの識別子を保持する。リスト振り分け部 13 1はデータパケットセッションの識別子もしくは ACKパケットを受信したセッションの識 別子を送信可能リスト 135もしくは送信待ちリスト 136に振り分ける。
[0044] 状態更新部 132は送信可能リスト 135からセッションの識別子を取出して出力制御 部 14に通知し、かつ該セッションの状態を更新する。状態変数保存部 133は各セッ シヨンの状態を保持し、リセット制御部 134は送信待ちリスト 136で管理されているセ ッシヨンの識別子を送信可能リスト 135へと移動させる。
[0045] TCP (Transmission Control Protocol)セッションでは、通常、送信端末 3と受 信端末 2との間の双方向の通信を行う。そのため、本実施形態においては、一組の 送信端末 3及び受信端末 2に対して 2つのセッション中継部を使用するものとし、夫 々の方向へのデータ通信に対しては夫々対応するセッション中継部を使用する。 [0046] したがって、セッション中継部 12—1— 12—Nは複数の送信端末 3及び受信端末 2 の組に対して夫々 2つずつ用意され、セッション中継部 12—1— 12—N各々は夫々の 送信端末 3からのセッションから対応する受信端末 2へのセッションへと、もしくは夫々 の受信端末 2からのセッションから対応する送信端末 3へのセッションへとデータを中 継する処理を行う。
[0047] 尚、 TCPセッションにおいては、ある方向のデータパケットとその反対方向への AC Kパケットとが 1つのパケット上に統合される場合があるが(ACKの piggy back)、本 実施形態では説明を簡単化するために、このような動作に関しての説明については 省略する。
[0048] 図 4及び図 5は本発明の第 1の実施形態によるセッション中継装置 1の動作を示す フローチャートであり、図 6は図 3に示すパケットスケジューラ 13の動作を示すフロー チャートである。これら図 1一図 6を参照して本発明の第 1の実施形態によるセッショ ン中継装置 1の動作について説明する。
[0049] 本実施形態によるセッション中継装置 1にパケットが入力された時(図 4ステップ S1) 、セッション識別部 11はパケットのヘッダを参照し、送信元 IP (Internet Protocol) アドレス、送信先 IPアドレス、第四層プロトコル番号、送信元第四層ポート番号、送信 先第四層ポート番号等に基づいて、パケットが属するセッションを決定する(図 4ステ ップ S2)。
[0050] セッション識別部 11はパケットがデータパケットであれば(図 4ステップ S3)、対応す るセッション中継部 12— 1一 12—Nの受信セッション処理部 123— 1一 123— N (受信 セッション処理部 123—2— 123—Nは図示せず)へと渡す(図 4ステップ S4)。
[0051] また、セッション識別部 11はパケットが ACKパケットであれば(図 4ステップ S3)、対 応するセッション中継部 12— 1一 12— Nの送信セッション処理部 121— 1一 121_N ( 送信セッション処理部 121—2— 121—Nは図示せず)へと渡す(図 4ステップ S10)。
[0052] 受信セッション処理部 123—1 123—Nでは入力されたデータパケットをシーケン ス番号順に並べ替えて送信バッファ 122—1 122-N (送信バッファ 122—2 122- Nは図示せず)へと格納する(図 4ステップ S5)。また、受信セッション処理部 123— 1 一 123—Nは受信したデータパケットが正しいシーケンス番号を持つものであれば( 図 4ステップ S6)、すなわち連続して受信しているデータの最後尾のシーケンス番号 と連続してレ、れば、送信端末 3に対してデータの受信確認及び広告ウィンドサイズを 通知するために、 ACKパケットを出力制御部 14を通して返送する(図 4ステップ S7)
[0053] さらに、受信セッション処理部 123— 1一 123— Nは連続して受信した最後のパケット のシーケンス番号を基に ACKパケット(重複 ACKパケット)を返送し、送信端末 3に 対してパケットの未到着を通知する。
[0054] 上記の処理に関しては、 TCP/IP Illustrated, Volume l :The Protocols,
Addison-Wesley, 1994, ISBN 0—201— 63346— 9 (以下、文献 7とする)に詳し く記載されてレ、るので、その説明につレ、ては詳述しなレ、。
[0055] ACKパケットは生成された後、すぐさま出力制御部 14から出力される力、もしくは 対応する逆方向のセッションの送信バッファ 122—1— 122—Nに格納され、逆方向の セッションのデータパケットとともに、パケットスケジューラ 13の指示で出力される。
[0056] また、受信セッション処理部 123-1— 123-Nでは、連続して受信しているデータ の最後尾のシーケンス番号をパケットスケジューラ 13へと通知する(図 4ステップ S8)
[0057] 送信セッション処理部 121-1— 121-Nでは入力された ACKパケットを基に輻輳ゥ インドサイズの変更を行レ、(図 4ステップ S9)、 ACKパケットが重複 ACKでなければ 受信が確認されたデータを送信バッファ 122—1 122—Nから消去し(図 5ステップ S 12, S13)、重複 ACKであれば必要に応じてデータの再送処理を行う(図 5ステップ S12, Sl l)。尚、この処理に関しても上記の文献 7に詳しく記載されているので、そ の説明につレ、ては詳述しなレ、。
[0058] 送信セッション処理部 121—1 121—Nは受信した ACKパケットに記されている広 告ウィンドと、更新した輻輳ウィンドとをパケットスケジューラ 13に通知する(図 5ステツ プ S15)。また、送信セッション処理部 121—1 121—Nは再送がタイムアウトした場 合(図 5ステップ S14)、受信確認済みの最後のシーケンス番号も通知する(図 5ステ ップ S16)。
[0059] 尚、本実施形態ではパケットスケジューラ 13からパケット出力の指示があった時に のみパケットの出力を行うため、ここでは重複 ACKを受信した時にすぐさまパケットの 再送を行うのではなぐ次に出力すべきパケットとして再送するパケットのシーケンス 番号を記憶しておくのみである。
[0060] 送信バッファ 122—1— 122—Nからのパケット出力は、パケットスケジューラ 13から の指示に基づいて行われる。パケットスケジューラ 13からパケット出力の指示があると 、出力制御部 14は送信バッファ 122— 1一 122— Nからパケットを 1つ取出して出力回 線に出力し、出力したパケットのパケット長をパケットスケジューラ 13に通知する。
[0061] 送信バッファ 122-1— 122— Nから出力するパケットは、再送処理を行う場合に記 憶しておいたシーケンス番号のパケットであり、さもなければ未送信のパケットのうち 最もシーケンス番号の小さレ、パケットである。
[0062] 尚、該セッションが TCPセッションでなければ、受信セッション処理部 123—1— 123 -Nでは受信したパケットをそのまま到着順に送信バッファ 122-1— 122-Nに格納 するのみである。送信セッション処理部 121-1— 121-Nでは ACKパケットを受信せ ず、パケットスケジューラ 13に対しては送信バッファ 122-1— 122-Nのキュー長を 広告ウィンド及び輻輳ウィンドとして通知することで、送信バッファ 122-1— 122— N にパケットがある限り、パケットスケジューラ 13にパケット出力を要求し続ける。
[0063] パケットスケジューラ 13では、状態変数保存部 133において、セッション毎に、割り 当てウェイト、送信可能バイト数、送信待ちバイト数の 3つのノ メータを保持する。
[0064] 割り当てウェイトは該セッションに割り当てられたウェイトである。パケットスケジユー ラ 13は一定周期、あるいはパケット送信可能なセッションがなくなる毎にリセットを行 レ、(図 6ステップ S26, S27)、このリセット 1周期内に送信可能なバイト数が割り当てゥ エイトである。
[0065] 送信可能バイト数は現時点から次のリセットまでに送信可能なバイト数であり、初期 値は割り当てウェイトであって(図 6ステップ S21)、パケットを出力する毎にパケット長 分だけ減算される(図 6ステップ S22, S23)。
[0066] 送信待ちバイト数は TCPセッションの場合、 TCPレイヤが送信許可したシーケンス 番号から既にパケットスケジューラ 13が送信を行ったシーケンス番号を引いたもので あり、 min (連続して受信しているデータの最後尾のシーケンス番号 + 1、受信端末が 示した広告ウィンド、該セッションの輻輳ウィンド)—送信済みシーケンス番号となる。 TCPセッションでない場合、送信待ちバイト数は送信バッファ 122—1— 122—N内の キュー長である。
[0067] 図 7は送信待ちバイト数を示す模式図である。図 7において、パケット出力が可能な セッション、すなわち送信可能バイト数と送信待ちバイト数とがともに 1あるいは MSS ( Maximum Segment Size)以上のセッションの識別子は送信可肯リスト 135で管 理され(図 6ステップ S24, S25)、送信可能バイト数力 Sリセットされた後にパケット出力 が可能となるセッション、すなわち送信待ちバイト数が 1あるいは MSS以上ある力 送 信可能バイト数が 1あるいは MSS未満であるセッションの識別子は送信待ちリスト 13 6で管理される(図 6ステップ S27— S29)。
[0068] 次に、図 3を参照してパケットスケジューラ 13の動作について説明する。リスト振り分 け部 131はセッション中継部 12-1— 12— Nから、送信端末 3から連続して受信して いる最後尾のシーケンス番号や、受信端末 2から受信した広告ウィンド、更新した輻 輳ウィンドを受取ると、図 7に示すようにして送信待ちバイト数を更新する。
[0069] また、リスト振り分け部 131は出力制御部 14において再送タイマがタイムアウトした 際にも、送信済みシーケンス番号を受信確認済みのシーケンス番号まで戻し、送信 待ちバイト数を更新する。リスト振り分け部 131は更新前の送信待ちバイト数力 S1ある いは MSS未満であれば、該セッションの識別子はまだ送信可能リスト 135あるいは送 信待ちリスト 136で管理されていないため、更新後の送信待ちバイト数及び送信可能 ノイト数を基に該セッションの識別子を送信可能リスト 135あるいは送信待ちリスト 13 6に新たに格納する。
[0070] 状態更新部 132は送信可能リスト 135の先頭から送信可能なセッションの識別子を 1つ取出し、これを出力制御部 14に通知してパケット出力を行わせる。その後、状態 更新部 132は送信済みシーケンス番号に出力したパケット長を加算した後送信待ち バイト数を更新し、送信可能バイト数力も出力したパケット長を減算する。
[0071] 状態更新部 132は送信待ちバイト数及び送信可能バイト数にしたがって、改めて該 セッションの識別子を送信可能リスト 135あるいは送信待ちリスト 136に格納する。す なわち、状態更新部 132は送信待ちバイト数及び送信可能バイト数がともに 1あるレ、 は MSS以上であれば送信可能リスト 135に格納し、送信待ちバイト数が 1あるいは M SS以上であるが送信可能バイト数が 1あるいは MSS未満であれば送信待ちリスト 13 6に格納する。
[0072] 状態更新部 132は送信可能リスト 135が空になれば、全てのセッションの送信可能 ノイト数をリセット、すなわち送信可能バイト数に割り当てウェイトを加え、もし送信可 能バイト数が割り当てウェイト以上となれば送信可能バイト数を割り当てウェイトの値 とする [送信可能バイト数 = min (送信可能バイト数 +割り当てウェイト,割り当てゥェ イト) ]。
[0073] この処理によって、送信待ち状態にあったセッションは全て送信可能な状態に変化 するため、送信待ちリスト 136で管理されていたセッションを全て送信可能リスト 135 へと移動する。
[0074] このリセット処理を行う前に、もし送信可能バイト数が 1あるいは MSS未満ではなぐ かつ該セッションの送信バッファ 122-1— 122-N内に送信待ちのデータがあれば、 該セッションからの出力帯域に余裕はある力 送信セッション処理部 121-1— 121- Nにおいて TCP制御によって送信を止められている状態であるとする。
[0075] この場合には、将来の送信再開に備えて帯域を蓄えておくため、送信可能バイト数 と割り当てウェイトとの和が割り当てウェイトを超えた場合でも、ある一定値までは送 信可能バイト数を蓄えておく [送信可能バイト数 =min (送信可能バイト数 +割り当て ウェイト,送信可能バイト数上限値) ]。
[0076] 上述したように、本実施形態では、中継するパケットが受信時の送信バッファ 122— 1一 122—Nへの格糸内と、送信時の送信バッファ 122—1 122—Nからの取出しの際 にのみ移動するため、データ移動のオーバヘッドが小さレ、。また、 TCPレイヤ力、らの 情報を用いたパケットスケジューラ 13によってパケット出力制御を行うため、送信セッ シヨン処理部 121—1— 121—Nが直接パケット出力するよりも、少ない処理負荷で帯 域制御を行いながらのパケット出力を行うことができる。
(第 2の実施形態)
本発明の第 2の実施形態によるセッション中継装置の構成は図 2に示す本発明の 第 1の実施形態によるセッション中継装置 1の構成と同様である。 [0077] 図 8は本発明の第 2の実施形態によるパケットスケジューラの構成を示すブロック図 である。図 8において、本発明の第 2の実施形態によるパケットスケジューラ 16は割り 当てウェイト変更部 161及び制御パラメータ変更部 162を加えた以外は図 3に示す 本発明の第 1の実施形態と同様の構成となっており、同一構成要素には同一符号を 付してある。また、同一構成要素の動作は本発明の第 1の実施形態と同様である。
[0078] この図 8を参照して本発明の第 2の実施形態によるパケットスケジューラ 16の動作 について説明する。ここでは、本発明の第 1の実施形態によるパケットスケジューラ 1 3との相違点のみを説明する。
[0079] 本実施形態によるセッション中継装置では、パケットスケジューラ 16内の制御パラメ ータ変更部 162が割り当てウェイトとして設定した帯域にしたがって該セッションの T CP制御パラメータの値を動的に変更している。すなわち、制御パラメータ変更部 16 2は該セッションの送信可能バイト数が割り当てウェイトよりも大きい予め設定した値よ りも大きくなれば、 TCP制御によってデータ出力が制限されていると判断し、該セッシ ヨンがより多くの帯域でデータ出力が可能となるように、該セッションの TCP制御パラ メータの値を変更する。
[0080] 但し、 TCP制御パラメータを変更しても該セッションのデータ出力帯域が増加しな い場合、あるいは再送タイムアウトが一定頻度以上で発生する場合には、ネットヮー クの輻輳を防止するため、 TCPパラメータの変更を停止する。
[0081] また、該セッションの送信可能バイト数が予め設定した別の値よりも小さくなれば、 T CP制御によるデータ出力をパケットスケジューラ 16の割り当てウェイトによる帯域ま で減少させるため、該セッションの TCP制御パラメータの値を変更する。
[0082] 前者の場合には、非輻輳時の輻輳ウィンドを上げ幅を大きくしたり、輻輳時の輻輳 ウィンド下げ率を小さくしたりするが、後者の場合にはこの前者の場合とは逆の処理 を行う。
[0083] また、本実施形態によるセッション中継装置では、パケットスケジューラ 16内の割り 当てウェイト変更部 161が現在送信可能な帯域にしたがって動的に割り当てウェイト を変更させている。すなわち、割り当てウェイト変更部 161では該セッションの送信可 能バイト数が割り当てウェイトよりも大きい予め設定した値よりも大きくなれば、割り当 てウェイトで設定した帯域でのデータ出力が不可能であると判断し、割り当てウェイト を一時的に減少させる。
[0084] その後、割り当てウェイト変更部 161は送信可能バイト数が予め設定した別の値よ りも小さくなれば、割り当てウェイトを元の値まで順次増加させる。また、割り当てゥェ イト変更部 161はセッション中継部 12—1— 12—Nから通知される該セッションの輻輳 ウィンド及び往復伝播遅延時間計測値を基に該セッションが送信可能な帯域を計算 する。
[0085] さらに、割り当てウェイト変更部 161はこの計算値と割り当てウェイトによる帯域設定 値がある一定閾値以上異なれば、割り当てウェイトによる帯域設定値が上記の計算 値となるように割り当てウェイトを一時的に変更する。
(第 3の実施形態)
図 9は本発明の第 3の実施形態によるセッション中継装置の構成を示すブロック図 である。図 9において、本発明の第 3の実施形態によるセッション中継装置は、セッシ ヨン中継部 15-1— 15-Nに受信レート制御部 151-1— 151_N (受信レート制御部 151-2— 151— Nは図示せず)を設けた以外は図 2に示す本発明の第 1の実施形態 によるセッション中継装置と同様の構成となっており、同一構成要素には同一符号を 付してある。また、同一構成要素の動作は本発明の第 1の実施形態と同様である。尚 、受信レート制御部 151_1— 151_Nは送信端末 3からの受信レートを制御する。
[0086] この図 9を参照して本発明の第 3の実施形態によるセッション中継装置の動作につ いて説明するが、ここでは、上述した本発明の第 1の実施形態との相違点のみを説 明する。
[0087] 本実施形態によるセッション中継装置では、送信バッファ 122—1 122— Nの空き 容量がなくなると、受信セッション処理部 123_1— 123— Nが送信端末 3に対して広 告ウィンドサイズが 0であることを通知し、これに応じて送信端末 3はデータの送信を 停止する。
[0088] 本発明の第 1の実施形態では、その後、送信バッファ 122— 1一 122— Nに空き容量 ができたとしても、送信端末 3がウィンド検査のためのパケットを出力してくるまでは、 送信再開のための ACKを出力することができない。 [0089] これに対して、本実施形態では、パケットスケジューラ 13がパケット出力の指示を行 つた際、受信レート制御部 151—1ではパケット出力後の送信バッファ 122—1— 122 一 Nの空き容量を検査し、もしこれが 1あるいは MSS以上であれば、送信端末 3に対 してすばやい送信再開を促すために ACKパケットを生成する。
[0090] また、受信レート制御部 151—1— 151—Nでは送信バッファ 122—1— 122—Nの空 き容量、あるいはその平均値が予め設定したある値以上になれば、送信バッファ 122 一 1一 122— Nの空き容量がなくなることを防ぐために、送信端末 3に対して送信帯域 の低下を指示する。
[0091] これは、例えば、送信側に返送する ACKパケットを重複 ACKとすることや、受信パ ケットを廃棄すること、 ACKパケットに ECN (Explicit Congestion Notification )ビットを設定すること、 ACKパケットを遅延させること、 ACKパケットの広告ウィンド を一時的に小さく書換えること等で可能である。
(第 4の実施形態)
図 10は本発明の第 4の実施形態によるセッション中継装置の構成を示すブロック図 である。図 10において、本発明の第 4の実施形態によるセッション中継装置は、送信 iSCSI (internet Small Computer System Interface)制 ί卸部 171— 1一 171 -Ν (送信 iSCSI制御部 171-2— 171-Nは図示せず)及び受信 iSCSI制御部 172 -1一 172-N (受信 iSCSI制御部 172—2— 172—Nは図示せず)をセッション中継部 17— 1一 17—Nに設けた以外は上述した本発明の第 3の実施形態によるセッション中 継装置と同様の構成となっており、同一構成要素には同一符号を付してある。また、 同一構成要素の動作は本発明の第 3の実施形態によるセッション中継装置と同様で める。
[0092] 送信 iSCSI制御部 171—1 171—Nは受信端末 2への送信レートに対して iSCSI レイヤの輻輳制御情報を反映させる。受信 iSCSI制御部 172—1 172— Nは送信端 末 3からの受信レートに対して iSCSIレイヤの輻輳制御情報を反映させる。
[0093] この図 10を参照して本発明の第 4の実施形態によるセッション中継装置の動作に ついて説明する。ここでは、本発明の第 4の実施形態における本発明の第 3の実施 形態との相違点のみを説明する。 [0094] iSCSIレイヤにおいては、受信端末 2から送信端末 3に対して、受信端末 2が受信 可能なデータ量を通知する R2T (Ready— To— Transfer)パケットを送信することで、 送信端末 3と受信端末 2との間で転送制御を行う。
[0095] そこで、本実施形態では、送信 iSCSI制御部 171_1— 171—Nが受信端末 2から R 2Tパケットを受信すると、この R2Tパケットを受信端末 2に送らず、本実施形態による セッション中継装置にて R2Tパケット受信時に出力を行ったデータの最後のシーケ ンス番号を記憶しておく。
[0096] 送信 iSCSI制御部 171-1— 171-Nは前回記憶しておいたシーケンス番号に、今 回受信した R2Tパケットの送信可能データ量を加えたものを、 iSCSIレイヤで送信可 能なデータ量としてパケットスケジューラ 13に通知する。
[0097] パケットスケジューラ 13では送信待ちバイト数を、 TCPレイヤが送信許可したデー タ量と iSCSIレイヤが許可したデータ量との最小値とする。すなわち、図 11に示すよ うに、送信待ちバイト数 =min (連続して受信しているデータの最後尾のシーケンス 番号 + 1,受信端末が示した広告ウィンド,該セッションの輻輳ウィンド,前回 R2Tパ ケットを受信した際のシーケンス番号 +今回受信した R2Tパケットの送信可能データ 量)一送信済みシーケンス番号となる。
[0098] 受信 iSCSI制御部 172—1— 172—Nではパケットスケジューラ 13がパケット出力の 指示を行った際に、パケット出力後の送信バッファ 122— 1一 122—Nの空き容量を検 查し、もしこれが予め定められ一定値以上であれば、送信端末 3に対して送信バッフ ァの空き容量を R2Tパケットとして送信する。
[0099] 上述したように、本実施形態では送信端末 3と受信端末 2との間で iSCSIレイヤの 輻輳制御を行うのではなぐセッション中継装置で iSCSIレイヤの輻輳制御を中継す ることで、 iSCSIレイヤにおいても TCPセッションを中継するのと同様のスループット の向上を図ることができる。
(第 5の実施形態)
図 12は本発明の第 5の実施形態によるセッション中継装置の構成を示すブロック図 である。図 12において、本発明の第 5の実施形態によるセッション中継装置はセッシ ヨン識別部 11と、セッション送信部 41—1一 41—Nと、セッション受信部 42—1— 42— Nと、パケットスケジューラ 13と、出力制御部 14とから構成されている。
[0100] セッション識別部 11は到着したパケットが属するセッションを決定し、セッション送信 部 41_1一 41—Nは受信端末へのセッションのデータ送信処理を行レ、、セッション受 信部 42_1— 42—Nは受信端末へのセッションからのデータ受信処理を行う。
[0101] パケットスケジューラ 13は各セッション送信部 41—1一 41—Nからのパケット出力を 制御する。出力制御部 14はパケットスケジューラ 13からの指示に基づいて各セッショ ン送信部 41—1一 41—Nからのパケット出力を行う。
[0102] また、セッション送信部 41-1一 41-Nは送信セッション処理部 411-1一 411-N ( 送信セッション処理部 411-2— 411-Nは図示せず)と、送信データ生成部 412-1 一 412— N (送信データ生成部 412— 2— 412— Nは図示せず)と、送信バッファ 413— 1一 413—N (送信バッファ 413—1— 413—Nは図示せず)と力 構成されている。
[0103] 送信データ生成部 413-1— 413-Nはアプリケーションプログラムからの送信デー タを送信バッファ 413-1— 413-Nへと格納する。送信バッファ 5-6-1は送信するデ ータを一時蓄えておく。送信セッション処理部 411-1一 411一 Nは受信端末へとデー タを送信するセッションの処理を行う。
[0104] セッション受信部 42—1— 42—Nは受信セッション処理部 421—1— 421—N (受信セ ッシヨン処理部 421—2— 421—Nは図示せず)と、受信バッファ 422—1— 422—N (受 信バッファ 422—2— 422—Nは図示せず)と、受信データ処理部 423—1— 423—Nと 力 構成されている。
[0105] 受信セッション処理部 421—1 421—Nは受信端末からのデータの受信処理を行 レ、、受信バッファ 422—1— 422—Nは受信したデータを一時蓄えておく。受信データ 処理部 423— 1— 423— Nは受信バッファ 5—14— 1からアプリケーションへ受信データ を受け渡す。
[0106] TCPセッションでは、通常、送信端末と受信端末との間の双方向の通信を行うため 、本実施形態では、一組の送信端末及び受信端末に対してそれぞれ 1つのセッショ ン送信部 41—1一 41—N及びセッション受信部 42—1— 42—Nを使用する。本実施形 態においては、セッション中継装置が送信端末あるいは受信端末を兼ねている。
[0107] 図 13は本発明の第 5の実施形態によるセッション中継装置 (送信端末)及びセッシ ヨン中継装置 (受信端末)の間のデータの流れを示すブロック図である。図 13におい て、セッション中継装置 (送信端末 ) 4_2からセッション中継装置 (受信端末 ) 4_1へ データを送る場合、セッション中継装置 (送信端末) 4—2のセッション送信部 41—1一 2 力も出力されたデータパケットはセッション中継装置(受信端末) 4一 1のセッション受 信部 42— 1一 1で受信処理が行われる。その結果、生成された ACKパケットはセッショ ン中継装置 (送信端末) 4 - 2のセッション送信部 41 - 1 - 2へと返送される。
[0108] また、セッション中継装置 (受信端末) 4一 1からセッション中継装置 (送信端末) 4一 2 へデータを送る場合、セッション中継装置 (受信端末) 4一 1のセッション送信部 41-1 -1から出力されたデータパケットはセッション中継装置 (送信端末) 4-2のセッション 受信部 42 - 1 - 2で受信処理が行われる。その結果、生成された ACKパケットはセッ シヨン中継装置 (受信端末) 4 - 1のセッション送信部 41 - 1 - 1へと返送される。
[0109] 次に、図 12を参照して本発明の第 5の実施形態の動作について説明する。まず、 送信端末から受信端末へのデータ転送に関して説明する。
[0110] アプリケーションプログラムが出力した送信データは送信データ生成部 412— 1一 4 12—Nによって送信バッファ 413—1— 413—Nへと書込まれる。送信セッション処理 部 411-1一 411-Nは送信バッファ 413-1— 413-Nから受信端末へのデータ送信 処理を行う。この処理は上述した本発明の第 1の実施形態と同様であるため、その説 明を省略する。
[0111] ここで、パケットスケジューラ 13は送信待ちバイト数を計算する際に、連続して受信 しているデータの最後尾のシーケンス番号の代わりに、アプリケーションプログラムか ら受取ったデータの最後のシーケンス番号を用いる。
[0112] 次に、受信端末力 送信端末へのデータ転送に関して説明する。受信セッション処 理部 421— 1一 42—1Nでは受信端末から送信されたデータの受信処理を行レ、、正し く受取ることができたデータを受信バッファ 422—1— 422—Nに格納する。
[0113] この受信処理は格納するバッファが送信バッファではなく受信バッファである点を除 いて、上述した本発明の第 1の実施形態と同様であるため、その説明を省略する。受 信バッファ 422—1— 422—Nに書込まれたデータは、受信データ処理部 423— 1一 4 23—Nによって取出されてアプリケーションプログラムへと渡される。 [0114] このように、本発明は、複数のレイヤにおける輻輳制御処理に関して、輻輳制御情 報の作成のみをそれぞれのレイヤで行い、パケット出力制御処理を IPレイヤのスケジ ユーラに集約することで、セッション中継処理の高速化を実現することができる。
[0115] また、本発明は、複数のレイヤの受信バッファ及び送信バッファを IPレイヤの送信 ノ ッファに集約することによって、バッファ間でのデータ移動をなくし、セッション中継 処理の高速化を実現することができる。

Claims

請求の範囲
[1] 複数のレイヤにおける輻輳制御処理とパケット出力制御処理とを含むセッション中 継処理を行うセッション中継装置において、
前記複数のレイヤ各々が前記輻輳制御情報の作成のみを行い、前記パケット出力 制御処理を IP (Internet Protocol)レイヤのスケジューラに集約することを特徴とす るセッション中継装置。
[2] 前記複数のレイヤに対応する受信バッファ及び送信バッファが前記 IPレイヤに対 応する送信バッファに集約されている請求項 1記載のセッション中継装置。
[3] 送信端末に向けたセッションと受信端末に向けたセッションとの間でデータの中継 を行うことで前記受信端末と前記受信端末との間の通信を実現するセッション中継装 (こ:^ 5レヽて、
前記送信端末に向けたセッション力 のデータを受信する受信セッション処理手段 と、
前記受信端末に向けたセッションへとデータを送信する送信セッション処理手段と 前記送信端末へと出力するデータを一時蓄えておく送信バッファと、
前記送信バッファからのパケット出力を制御するパケットスケジューラと、 前記パケットスケジューラの制御に応答して前記送信バッファに蓄えられたデータ を出力制御する出力制御手段とを有し、
前記送信セッション処理手段において当該レイヤで出力が許可されているデータ 量を計算し、これに基づいて前記パケットスケジューラが前記パケット出力を制御する ことを特徴とするセッション中継装置。
[4] 前記受信セッション処理手段は、 TCP (Transmission Control Protocol)セッ シヨンからのデータ受信処理を行い、
前記送信セッション処理手段は、前記 TCPセッションへのデータ出力処理を行い、
TCPウィンドフロー制御によって決定される出力可能なデータ量を前記パケットスケ ジユーラに通知し、
前記パケットスケジューラは、通知されたデータ量を基にスケジューリング処理を行 う請求項 3記載のセッション中継装置。
[5] 前記パケットスケジューラは、前記セッションに割り当てられた帯域及び帯域比率を 少なくとも含む通信資源割り当て方針と、前記送信セッション処理手段から通知され た送信可能データ量と、前記送信バッファ内に蓄えられているデータ量とを基にパケ ット出力を行うセッションを決定し、前記セッション各々からのデータ出力を制御する 請求項 3記載のセッション中継装置。
[6] 前記パケットスケジューラは、前記セッション各々における未使用の通信資源を蓄 えておく蓄積手段をさらに備え、前記通信資源が必要になった際に前記蓄積手段に 蓄えておいた通信資源を用いて通信を行う請求項 3記載のセッション中継装置。
[7] 前記パケットスケジューラは、前記送信バッファ内に出力すべきデータがあり、前記 出力制御手段からの出力許可データ量の制限によって未使用となった前記通信資 源の帯域のみを前記蓄積手段に蓄えておくことを特徴とする請求項 6記載のセッショ ン中継装置。
[8] 前記送信セッションの制御パラメータを動的に変更する手段をさらに備え、前記パ ケットスケジューラからのデータ出力状況に応じて前記制御パラメータを変更する請 求項 3記載のセッション中継装置。
[9] 前記セッションの未使用帯域が大きくなつた時に当該セッションの制御パラメータを 当該セッション力 の出力帯域が小さくなる方向に変更し、前記セッションの未使用 帯域が小さくなつた時に当該セッションの制御パラメータを当該セッションからの出力 帯域が大きくなる方向に変更し、前記制御パラメータの変更によって輻輳が発生した 時に前記制御パラメータの変更を停止する請求項 8記載のセッション中継装置。
[10] 前記セッション各々に割り当てた帯域及び帯域比率を少なくとも含む通信資源割り 当て量を動的に変更する手段をさらに備え、
前記パケットスケジューラからのデータ出力状況及び前記出力制御手段から通知さ れる送信可能データ量に応じて前記制御パラメータを変更する請求項 9記載のセッ シヨン中継装置。
[11] 前記セッションの未使用帯域が大きくなつた時に当該セッションの割り当て資源を 減少させ、前記セッションの未使用帯域が小さくなった時に当該セッションの割り当て 資源をその初期値を上限として増加させるとともに、前記出力制御手段から通知され る送信可能データ量及びその平均のいずれかによつて前記割り当て資源を増減する 請求項 10記載のセッション中継装置。
[12] 前記送信端末からのセッションの送信処理を制御する帯域、送信可否、送信可能 データ量を少なくとも含む送信制御情報を制御する受信レート制御手段を含み、前 記送信バッファの空き容量及び前記パケットスケジューラからの情報に応じて前記送 信端末への送信制御情報の変更及び生成のいずれかを行う請求項 3記載のセッショ ン中継装置。
[13] 前記パケットスケジューラからのパケット出力情報を受信する手段と、パケット出力 によって変更された前記送信バッファの空き容量を調べる手段とをさらに備え、パケ ット出力後に前記送信バッファの空き容量が一定量以上となった時に前記送信端末 に対して送達確認パケットを送信して送信再開を促す請求項 12記載のセッション中
[14] 前記送信バッファの空き容量及びその平均の少なくとも一方を調べる手段をさらに 備え、前記空き容量に応じて前記送信端末に対して送信帯域の減少を指示する請 求項 12記載のセッション中継装置。
[15] 送信端末に向けたセッションと受信端末に向けたセッションとの間でデータの中継 を行うことで前記送信端末と前記受信端末との間の通信を実現するセッション中継装 (こ: fdレヽて、
複数のレイヤに対応して設けられかつ前記送信端末に向けたセッションからのデー タを受信する受信セッション処理手段と、
前記複数のレイヤに対応して設けられかつ前記受信端末に向けたセッションへとデ ータを送信する送信セッション処理手段と、
前記送信端末へと出力するデータを一時蓄えておく送信バッファと、
前記送信バッファからのパケット出力を制御するパケットスケジューラとを有し、 前記送信セッション処理手段各々において当該レイヤで出力が許可されているデ 一タ量を計算し、前記複数のレイヤ全てで共通に許可されるデータ量に基づいて前 記パケットスケジューラが前記パケット出力を制御することを特徴とするセッション中継
[16] 前記レイヤとして輻輳制御を行うレイヤのひとつとして iSCSI (internet Small C omputer System Interface)レイヤを含み、当該 iSCSIレイヤにおいて前記受信 端末から受信する受信可能データ量を基に送信可能データ量を決定する請求項 15
[17] 前記パケットスケジューラからのパケット出力情報を受信する手段と、
パケット出力によって変更された前記送信バッファの空き容量を調べる手段とをさら に備え、
パケット出力後に前記送信バッファの空き容量が一定量以上となった時に前記送 信端末に対して前記受信可能データ量を生成して送信再開を促す請求項 15記載 のセッション中継装置。
[18] 前記受信セッション処理手段は、受信したパケットを前記送信バッファに直接格納 し、前記送信バッファから直接出力する請求項 3記載のセッション中継装置。
[19] アプリケーションプログラムから前記送信バッファへとデータの書込みを行レ、、受信 したデータを前記アプリケーションプログラムへと渡す請求項 3記載のセッション中継
[20] 複数のレイヤにおける輻輳制御処理とパケット出力制御処理とを含むセッション中 継処理を行うセッション中継装置のセッション中継方法において、
前記複数のレイヤ各々で前記輻輳制御情報の作成のみを行い、前記パケット出力 制御処理を IP (Internet Protocol)レイヤのスケジューラに集約することを特徴とす るセッション中継方法。
[21] 21. 前記複数のレイヤに対応する受信バッファ及び送信バッファを前記 IPレイ ャに対応する送信バッファに集約する請求項 20記載のセッション中継方法。
[22] 送信端末に向けたセッションと受信端末に向けたセッションとの間でデータの中継 を行うことで前記受信端末と前記受信端末との間の通信を実現するセッション中継装 置のセッション中継方法において、
前記セッション中継装置側に、
前記送信端末に向けたセッションからのデータを受信する受信セッションステップと 前記受信端末に向けたセッションへとデータを送信する送信セッションステップと、 前記送信端末へと出力するデータを送信バッファに一時蓄えておくステップと、 前記送信バッファからのパケット出力をパケットスケジューラにて制御するステップと 前記パケットスケジューラの制御に応答して前記送信バッファに蓄えられたデータ を出力制御手段にて出力制御するステップとを有し、
前記送信セッション処理において当該レイヤで出力が許可されているデータ量を計 算し、これに基づいて前記パケットスケジューラが前記パケット出力を制御することを 特徴とするセッション中継方法。
[23] 前記受信セッションステップは、 TCP (Transmission Control Protocol)セッシ ヨンからのデータ受信処理を行うステップを備え、
前記送信セッションステップは、前記 TCPセッションへのデータ出力処理を行レ、、 T
CPウィンドフロー制御によって決定される出力可能なデータ量を前記パケットスケジ ユーラに通知することで、前記パケットスケジューラが通知されたデータ量を基にスケ ジユーリング処理を行うステップを備える請求項 22記載のセッション中継方法。
[24] 前記パケットスケジューラが、前記セッションに割り当てられた帯域及び帯域比率を 少なくとも含む通信資源割り当て方針と、前記送信セッション処理手段から通知され た送信可能データ量と、前記送信バッファ内に蓄えられているデータ量とを基にパケ ット出力を行うセッションを決定し、前記セッション各々からのデータ出力を制御する ステップをさらに備える請求項 22記載のセッション中継方法。
[25] 前記パケットスケジューラには前記セッション各々における未使用の通信資源を蓄 えておく蓄積手段が含まれ、
前記パケットスケジューラにおいて前記通信資源が必要になった際に前記蓄積手 段に蓄えておいた通信資源を用いて通信を行うステップをさらに備えた請求項 22の いずれか記載のセッション中継方法。
[26] 前記パケットスケジューラが、前記送信バッファ内に出力すべきデータがあり、前記 出力制御手段からの出力許可データ量の制限によって未使用となった前記通信資 源の帯域のみを前記蓄積手段に蓄えておくステップをさらに備えた請求項 25記載の セッション中継方法。
[27] 前記送信セッションの制御パラメータを動的に変更する手段が、前記パケットスケジ ユーラからのデータ出力状況に応じて前記制御パラメータを変更するステップをさら に備えた請求項 22記載のセッション中継方法。
[28] 前記セッションの未使用帯域が大きくなつた時に当該セッションの制御パラメータを 当該セッション力 の出力帯域が小さくなる方向に変更し、前記セッションの未使用 帯域が小さくなつた時に当該セッションの制御パラメータを当該セッションからの出力 帯域が大きくなる方向に変更し、前記制御パラメータの変更によって輻輳が発生した 時に前記制御パラメータの変更を停止するステップをさらに備えた請求項 27記載の セッション中継方法。
[29] 前記セッション各々に割り当てた帯域及び帯域比率を少なくとも含む通信資源割り 当て量を動的に変更する手段が、前記パケットスケジューラからのデータ出力状況及 び前記出力制御手段から通知される送信可能データ量に応じて前記制御パラメータ を変更するステップをさらに備えた請求項 28記載のセッション中継方法。
[30] 前記セッションの未使用帯域が大きくなつた時に当該セッションの割り当て資源を 減少させ、前記セッションの未使用帯域が小さくなった時に当該セッションの割り当て 資源をその初期値を上限として増加させるとともに、前記出力制御手段から通知され る送信可能データ量及びその平均のいずれかによつて前記割り当て資源を増減する ステップをさらに備えた請求項 29記載のセッション中継方法。
[31] 前記送信端末からのセッションの送信処理を制御する帯域、送信可否、送信可能 データ量を少なくとも含む送信制御情報を制御する受信レート制御手段が、前記送 信バッファの空き容量及び前記パケットスケジューラからの情報に応じて前記送信端 末への送信制御情報の変更及び生成のいずれかを行うステップをさらに備えた請求 項 22から請求項 29のいずれか記載のセッション中継方法。
[32] パケット出力後に前記送信バッファの空き容量が一定量以上となった時に前記送 信端末に対して送達確認パケットを送信して送信再開を促すステップをさらに備えた 請求項 31記載のセッション中継方法。
[33] 前記送信バッファの空き容量及びその平均の少なくとも一方を調べる手段で調べら れた前記空き容量に応じて前記送信端末に対して送信帯域の減少を指示するステ ップをさらに備えた請求項 31記載のセッション中継方法。
[34] 送信端末に向けたセッションと受信端末に向けたセッションとの間でデータの中継 を行うことで前記送信端末と前記受信端末との間の通信を実現するセッション中継装 置のセッション中継方法において、
前記セッション中継装置側に、
複数のレイヤ各々において前記送信端末に向けたセッションからのデータを受信 する受信セッションステップと、
前記複数のレイヤ各々において前記受信端末に向けたセッションへとデータを送 信する送信セッションステップと、
前記送信端末へと出力するデータを送信バッファに一時蓄えておくステップと、 前記送信バッファからのパケット出力をパケットスケジューラにて制御するステップと を備え、
前記送信セッション処理各々において当該レイヤで出力が許可されているデータ 量を計算し、前記複数のレイヤ全てで共通に許可されるデータ量に基づいて前記パ ケットスケジューラが前記パケット出力を制御することを特徴とするセッション中継方 法。
[35] 前記レイヤとして輻輳制御を行うレイヤのひとつとして iSCSI (internet Small C omputer System Interface)レイャを 3み、
当該 iSCSIレイヤにおいて前記受信端末から受信する受信可能データ量を基に送 信可能データ量を決定するステップをさらに備えた請求項 34記載のセッション中継 方法。
[36] パケット出力後に前記送信バッファの空き容量が一定量以上となった時に前記送 信端末に対して前記受信可能データ量を生成して送信再開を促すステップをさらに 備えた請求項 34記載のセッション中継方法。
[37] 前記受信セッションステップは、受信したパケットを前記送信バッファに直接格納し 、前記送信バッファから直接出力するステップをさらに備えた請求項 22記載のセッシ ヨン中継方法。
[38] アプリケーションプログラムから前記送信バッファへとデータの書込みを行レ、、受信 したデータを前記アプリケーションプログラムへと渡すステップをさらに備えた請求項 22記載のセッション中継方法。
PCT/JP2004/010604 2003-08-20 2004-07-26 セッション中継装置及び中継方法 WO2005020523A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/568,440 US7675898B2 (en) 2003-08-20 2004-07-26 Session relay apparatus for relaying data, and a data relaying method
JP2005513252A JP4269176B2 (ja) 2003-08-20 2004-07-26 セッション中継装置及び中継方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003295758 2003-08-20
JP2003-295758 2003-08-20

Publications (1)

Publication Number Publication Date
WO2005020523A1 true WO2005020523A1 (ja) 2005-03-03

Family

ID=34213567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/010604 WO2005020523A1 (ja) 2003-08-20 2004-07-26 セッション中継装置及び中継方法

Country Status (4)

Country Link
US (1) US7675898B2 (ja)
JP (1) JP4269176B2 (ja)
CN (1) CN1836411A (ja)
WO (1) WO2005020523A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028113A (ja) * 2005-07-14 2007-02-01 Noritsu Koki Co Ltd データ処理ユニット
JP2007228277A (ja) * 2006-02-23 2007-09-06 Mitsubishi Electric Corp 無線基地局装置
JP2012151675A (ja) * 2011-01-19 2012-08-09 Oki Networks Co Ltd 通信制御装置及びプログラム、並びに、通信システム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135842B1 (en) 1999-08-16 2012-03-13 Nvidia Corporation Internet jack
JP4235506B2 (ja) * 2003-08-14 2009-03-11 株式会社エヌ・ティ・ティ・ドコモ 送信装置、中継装置およびプログラム
US7957379B2 (en) * 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
JP4407556B2 (ja) * 2005-03-29 2010-02-03 日本電気株式会社 セッション中継装置、セッション中継方法およびプログラム
US7760633B2 (en) * 2005-11-30 2010-07-20 Cisco Technology, Inc. Transmission control protocol (TCP) congestion control using transmission delay components
US20090041013A1 (en) * 2007-08-07 2009-02-12 Mitchell Nathan A Dynamically Assigning A Policy For A Communication Session
US9413664B1 (en) 2008-09-23 2016-08-09 Spring Communications Company L.P. Resuming media objects delivered via streaming services upon data loss events
US8423071B1 (en) * 2008-11-25 2013-04-16 Sprint Communications Company L.P. Resuming media objects delivered via live streaming services upon data reduction events
US9106468B1 (en) 2009-01-30 2015-08-11 Sprint Communications Company L.P. Transferring media objects from one device to another device
JP5498889B2 (ja) * 2010-08-06 2014-05-21 アラクサラネットワークス株式会社 パケット中継装置および輻輳制御方法
CN102104552B (zh) * 2011-04-02 2014-02-12 杭州华三通信技术有限公司 基于明确拥塞通知机制的报文控制方法及设备
US8811426B1 (en) * 2011-05-06 2014-08-19 Marvell International Ltd. Method and apparatus for dynamically switching an operating bandwidth of a wireless transceiver
KR101506770B1 (ko) * 2012-12-28 2015-03-27 삼성에스디에스 주식회사 데이터 전송 장치 및 방법
CN104065464B (zh) * 2013-03-18 2018-05-08 中国移动通信集团公司 一种调整tcp连接的初始窗口大小的方法和装置
US9219671B2 (en) * 2013-12-06 2015-12-22 Dell Products L.P. Pro-active MPIO based rate limiting to avoid iSCSI network congestion/incast for clustered storage systems
WO2017199807A1 (ja) * 2016-05-19 2017-11-23 日本電信電話株式会社 センサ中継装置およびセンサ中継システム
JP2021164027A (ja) * 2020-03-31 2021-10-11 ブラザー工業株式会社 画像処理装置、サーバ、並びに、画像処理装置の制御方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10233802A (ja) * 1997-02-07 1998-09-02 Lucent Technol Inc Tcp接続の性能改善方法
JP2000049787A (ja) * 1998-05-26 2000-02-18 Hitachi Ltd 送信端末装置およびネットワ―クノ―ドおよび中継スイッチ
JP2000049856A (ja) * 1998-07-24 2000-02-18 Toshiba Corp ネットワーク間中継装置
JP2001358771A (ja) * 2001-04-26 2001-12-26 Nec Corp 通信品質制御装置
JP2002344500A (ja) * 2001-05-16 2002-11-29 Nec Corp ノード装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0888642A (ja) 1994-09-16 1996-04-02 Mitsubishi Electric Corp データ転送方式及びこれに適するlan用ノード
US6078564A (en) 1996-08-30 2000-06-20 Lucent Technologies, Inc. System for improving data throughput of a TCP/IP network connection with slow return channel
JPH1132078A (ja) 1997-07-11 1999-02-02 Hitachi Ltd 送信キュー管理方式および本方式を用いるインタネットワーク装置
JPH11112576A (ja) 1997-10-06 1999-04-23 Hitachi Ltd インターネットワーク装置のコネクション制御方法
JP3163479B2 (ja) 1997-10-09 2001-05-08 株式会社超高速ネットワーク・コンピュータ技術研究所 帯域制御方法
JP3448481B2 (ja) 1998-03-05 2003-09-22 Kddi株式会社 非対称回線用tcp通信高速化装置
JP3688525B2 (ja) 1998-09-29 2005-08-31 株式会社東芝 パケットフロー制御方法及びルータ装置
JP2001203697A (ja) 2000-01-19 2001-07-27 Matsushita Electric Ind Co Ltd フロー制御方法およびそれを実行する通信要素
JP2001358757A (ja) 2000-06-13 2001-12-26 Atr Adaptive Communications Res Lab ノード装置、データ転送システムおよびデータ転送方法
JP4199414B2 (ja) 2000-12-08 2008-12-17 富士通株式会社 パケット・スケジューラ
US7142508B2 (en) * 2000-12-22 2006-11-28 Radiance Technologies, Inc. System and method for controlling data transfer rates on a network
JP3790429B2 (ja) 2001-01-23 2006-06-28 富士通株式会社 パケットスケジューラ
JP2002271380A (ja) 2001-03-13 2002-09-20 Hitachi Kokusai Electric Inc ネットワーク制御装置
JP3830352B2 (ja) 2001-03-22 2006-10-04 ボーダフォン株式会社 通信プロトコル変換方法及びその装置
JP2002290451A (ja) 2001-03-28 2002-10-04 Seiko Epson Corp 通信帯域制御方法および通信帯域制御装置
US6990073B1 (en) * 2001-03-28 2006-01-24 Lsi Logic Corporation Data packet congestion management technique
JP2002312261A (ja) 2001-04-09 2002-10-25 Nippon Telegr & Teleph Corp <Ntt> ネットワークサービス中継方法及び中継装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10233802A (ja) * 1997-02-07 1998-09-02 Lucent Technol Inc Tcp接続の性能改善方法
JP2000049787A (ja) * 1998-05-26 2000-02-18 Hitachi Ltd 送信端末装置およびネットワ―クノ―ドおよび中継スイッチ
JP2000049856A (ja) * 1998-07-24 2000-02-18 Toshiba Corp ネットワーク間中継装置
JP2001358771A (ja) * 2001-04-26 2001-12-26 Nec Corp 通信品質制御装置
JP2002344500A (ja) * 2001-05-16 2002-11-29 Nec Corp ノード装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KOBAYASHI, M. ET AL.: "Koritsuteki na Prefetch o Okonau Pro Active Cash Network Kose", SHINGAKU GIHO, 22 November 2000 (2000-11-22), pages 106 - 107, XP002985687 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028113A (ja) * 2005-07-14 2007-02-01 Noritsu Koki Co Ltd データ処理ユニット
JP2007228277A (ja) * 2006-02-23 2007-09-06 Mitsubishi Electric Corp 無線基地局装置
JP4607031B2 (ja) * 2006-02-23 2011-01-05 三菱電機株式会社 無線基地局装置
JP2012151675A (ja) * 2011-01-19 2012-08-09 Oki Networks Co Ltd 通信制御装置及びプログラム、並びに、通信システム

Also Published As

Publication number Publication date
JP4269176B2 (ja) 2009-05-27
CN1836411A (zh) 2006-09-20
JPWO2005020523A1 (ja) 2007-10-04
US7675898B2 (en) 2010-03-09
US20070058534A1 (en) 2007-03-15

Similar Documents

Publication Publication Date Title
WO2005020523A1 (ja) セッション中継装置及び中継方法
US7720063B2 (en) Method apparatus and system for accelerated communication
US9660912B2 (en) Control of packet transfer through a multipath session comprising a single congestion window
KR101143172B1 (ko) 웹 서비스를 위한 신뢰성 있는 메시징 프로토콜을 이용한메시지의 효율적인 전송
CN102006283B (zh) 数据传输的方法和装置
JPH09214555A (ja) デ−タ伝送装置および方法
US8259728B2 (en) Method and system for a fast drop recovery for a TCP connection
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
CN109714267B (zh) 管理反向队列的传输控制方法及系统
CN102148662B (zh) 一种数据发送速率的调整方法及装置
WO2013053304A1 (zh) 一种实现tcp传输的方法及装置
JPWO2008023656A1 (ja) 通信装置
WO2006065008A1 (en) Apparatus for arq controlling in wireless portable internet system and method thereof
JPWO2008029793A1 (ja) パケット回復方法、通信システム、情報処理装置およびプログラム
WO2005020524A1 (ja) セッション中継装置及び中継方法
US20070291782A1 (en) Acknowledgement filtering
WO2021041424A1 (en) Managing transmission control protocol (tcp) traffic
US11588736B2 (en) Communication apparatus, communication method, and program
Wang et al. Use of TCP decoupling in improving TCP performance over wireless networks
US7336607B2 (en) Methods and apparatus for flow control based packet aggregation in a communication network
US20020176443A1 (en) Method and apparatus for bandwidth management of TCP traffic employing post-acknowledgement control
CN114363260A (zh) 一种针对数据中心网络的数据流调度方法
JP2006504290A (ja) Nackプロトコルの方法および装置
JP2006087010A (ja) 通信路制御装置およびそれを用いたネットワークシステム
EP2177064B1 (en) Control of data flow

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480023386.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005513252

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007058534

Country of ref document: US

Ref document number: 10568440

Country of ref document: US

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10568440

Country of ref document: US