[go: up one dir, main page]

WO2014175028A1 - Communication apparatus and command transfer method - Google Patents

Communication apparatus and command transfer method Download PDF

Info

Publication number
WO2014175028A1
WO2014175028A1 PCT/JP2014/059794 JP2014059794W WO2014175028A1 WO 2014175028 A1 WO2014175028 A1 WO 2014175028A1 JP 2014059794 W JP2014059794 W JP 2014059794W WO 2014175028 A1 WO2014175028 A1 WO 2014175028A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
upper limit
server
communication device
client terminal
Prior art date
Application number
PCT/JP2014/059794
Other languages
French (fr)
Japanese (ja)
Inventor
隆史 磯部
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2014175028A1 publication Critical patent/WO2014175028A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Definitions

  • the present invention relates to a communication device.
  • a WAN Wide Area Network
  • IP-VPN Internet Protocol-Virtual Private Network
  • a file sharing protocol such as CIFS or NFS may be used.
  • communication is performed by transferring a pair of request commands and response commands between terminals. Specifically, a request command is transmitted from the client terminal to the server, and the server transmits a response command corresponding to the received request command to the client terminal.
  • the server that has received a request command exceeding the upper limit transmits a response command notifying that there is an error to the client terminal.
  • a relay device When communicating between a client terminal and a server using a file sharing protocol, a relay device provided between the client terminal and the server sends a request command received from the client terminal and an additional request command to the server.
  • a request command received from the client terminal There are cases (see Japanese Patent Application Publication No. 2008-537814).
  • a relay device installed between the client terminal and the server sends a request command sent from the client terminal to the server, or from the server terminal to the client. Relay response commands sent to the terminal.
  • the relay apparatus When the relay apparatus installed between the client terminal and the server receives a request command from the client terminal, the relay apparatus transfers the received request command to the server, and further transmits an additional request command to the server.
  • the number of commands exchanged on the server side may be larger than the number of commands exchanged on the client side. For this reason, there may be a case where the server-side command count has reached the upper limit, but the client-side command count has not reached the upper limit.
  • the number of commands on the server side has reached the upper limit, but even when there is a mismatch in the state that the number of commands on the client side has not reached the upper limit, it can be exchanged between terminals at once
  • the maximum number of commands is not exceeded, response commands that notify errors are prevented from being sent from the server to the client terminal, the connection is forcibly disconnected, and communication between the client terminal and the server is delayed.
  • a relay device that prevents performance degradation is provided.
  • a typical example of the invention disclosed in the present application is as follows. That is, in a communication device that transfers commands between a server and a client terminal, the upper limit number and consumption number of commands exchanged between the server and the client terminal are managed, and the communication device and the server Compare at least one of the number of commands consumed and the maximum number of commands exchanged between them, and the number of commands consumed and the maximum number of commands exchanged between the communication device and the client terminal, and compare at least one of them Based on the result, the command transfer between the server and the client terminal is controlled.
  • FIG. 1 is a diagram illustrating a configuration example of a relay system to which a relay device 200 according to an embodiment of the present invention is applied.
  • the relay devices 200A, 200B, and 200C (hereinafter, when the relay devices are not distinguished are denoted by reference numeral 200) are installed on communication lines that connect the LANs 310, 320, and 330 and the WAN 340 in a plurality of bases.
  • Terminals 311, 312, and 313 are connected to the LAN 310
  • terminals 321, 322, and 323 are connected to the LAN 320
  • terminals 331, 332, and 333 are connected to the LAN 330.
  • Each of the terminals 311 to 313, 321 to 323, and 331 to 333 may operate as a client terminal or as a server.
  • FIG. 2 is a block diagram showing the configuration of the client terminal 701 and the server 702 of this embodiment.
  • FIG. 2 only a configuration for communicating via the network 707 using a file sharing protocol such as CIFS or NFS is illustrated, and other configurations are omitted. Further, the relay device 200 is omitted for simplification of description.
  • a file sharing protocol such as CIFS or NFS
  • communication is performed by transferring a pair of request commands and response commands between the client terminal 701 and the server 702. That is, a request command is transmitted from the client terminal 701 to the server 702. The server transmits a response command corresponding to the received request command to the client terminal.
  • the client terminal 701 has a command upper limit number that determines the upper limit of the number of request commands and response commands that can be exchanged with the server 702 at one time, and the number of request commands and responses that are actually exchanged with the server 702.
  • the command consumption number in which the command number is recorded is recorded (703).
  • the command consumption number increases when a request command is transmitted, and decreases when a response command is received.
  • the command upper limit number increases or decreases when a response command is received.
  • the request transmission processing unit 705 receives the request command created by the request creation unit 708 and transmits the request command to the network 707.
  • the request reception processing unit 710 receives the response command from the network 707 and transfers it to the request creation unit 708.
  • the server 702 also determines the command upper limit number that determines the upper limit of the number of request commands and response commands that can be exchanged between terminals at one time, and the number of request commands and response commands that are actually exchanged with the client terminal 701.
  • the recorded command consumption number is recorded (704).
  • the command consumption number increases when a request command is received, and decreases when a response command is transmitted.
  • the command upper limit number increases or decreases when a response command is transmitted.
  • the request reception processing unit 706 receives a request command from the network 707 and transfers it to the response generation unit 709.
  • the response transmission processing unit 711 receives the response command created by the response generation unit 709 and transmits the response command to the network 707.
  • the request reception processing unit 706 receives the quest command, the command consumption number increases, and when the command upper limit number is exceeded, the response generation unit 709 generates a response command to notify that there is an error, and the response transmission processing unit 711 to the client terminal 701.
  • FIG. 3 is a block diagram illustrating a configuration of the relay apparatus 200 according to the present embodiment.
  • the relay apparatus 200 includes a LAN interface 201, a filter 202, a LAN TCP processing unit 203, LAN side reception buffers 204-1 to N, LAN side transmission buffers 205-1 to N, WAN side transmission buffers 207-1 to N, and WAN side.
  • the reception buffer 208-1 to N, the WAN TCP processing unit 209, the filter 210, the WAN interface 211, the relay unit 100, and the state management table 400 are included.
  • the LAN interface 201 transmits and receives packets to and from the LANs 310, 320, and 330.
  • the WAN interface 211 transmits and receives packets to and from the WAN 340.
  • the filters 202 and 210 transfer packets that are not specially processed by the relay apparatus 200 (for example, ARP packets) between the filters, and transfer the packets without passing through the relay unit 100.
  • the LAN TCP processing unit 203 and the WAN TCP processing unit 209 perform control for TCP communication.
  • LAN side reception buffers 204-1 to 204-1 and LAN side transmission buffers 205-1 to N are buffers that are managed by the LAN TCP processing unit 203 and temporarily store transmission packets and reception packets, respectively.
  • the WAN-side reception buffers 208-1 to 208-N and the WAN-side transmission buffers 207-1 to N are managed by the WAN TCP processing unit 209, and are buffers that temporarily store transmission packets and reception packets, respectively.
  • the number of transmission / reception buffers may be different.
  • the relay unit 100 relays commands between the transmission buffer and the reception buffer.
  • the state management table 400 includes a plurality of entries and manages the state of the communication connection. The number of entries in the state management table 400 may be different from the number of transmission / reception buffers.
  • each unit of the relay device 200 described above may be implemented by hardware modules or software modules.
  • the LAN TCP processing unit 203 stores the received packet (data) in the LAN side reception buffers 204-1 to 204-1 and transmits the transmission data read from the LAN side transmission buffers 205-1 to N in the form of packets.
  • the WAN TCP processing unit 209 stores the received packet (data) in the WAN side reception buffers 208-1 to 208-1 to N, and transmits the transmission data read from the WAN side transmission buffers 207-1 to N in the form of packets.
  • the relay unit 100 reads the command data from the reception buffers 204-1 to N and 208-1 to N, and writes the command data to the transmission buffers 207-1 to N and 205-1 to N. Details of the operation of the relay unit 100 will be described later.
  • FIG. 4 is a format diagram of a packet transmitted and received by the relay apparatus 200 according to the present embodiment.
  • the packet includes a MAC header 500, an IP header 510, a TCP header 520, a TCP option header 530, and a request / response command 550.
  • the MAC header 500 includes a DMAC 501 that represents a destination MAC address, an SMAC 502 that represents a source MAC address, and a Type 503 that represents a MAC frame type.
  • the IP header 510 includes an IP length 511 representing the packet length excluding the MAC header, a protocol 512 representing the protocol number, a SIP 513 representing the source IP address, and a DIP 514 representing the destination IP address.
  • TCP header 520 is a src. port 521, dst. port 522, SEQ 523 representing a transmission sequence number, and ACK 524 representing a reception sequence number.
  • the TCP option header 530 is a header having a maximum of 40 bytes.
  • the request / response command 550 is a request / response command transferred between terminals using a file sharing protocol.
  • the request / response command 550 includes a request 551 indicating a request command, a response 552 indicating a response command, a type 553 specifying a command type, and a credits number 554 specifying an increase / decrease value of the command upper limit number in the response command.
  • Type 553 values for specifying Read for reading a file, Write for writing to a file, Create for opening a file, Close for closing a file, and the like are described.
  • the credits number 554 is a value greater than or equal to 0, and is used to increase or decrease the command upper limit number. For example, if credits number 554 is 0, the command upper limit number is specified to be decreased by 1, and if credits number 554 is 1, the command upper limit number is specified to be unchanged, and credits number 554 is 2 If the credits number 554 is 32, the command upper limit number is specified to be increased by 31.
  • the content of the request / response command 550 may be mounted in only one packet or may be divided into a plurality of packets and mounted.
  • FIG. 5 is a diagram illustrating the configuration of the state management table 400 according to the present embodiment.
  • Each entry 400-i includes, for example, VLD401, connect_state402, LIP403, WIP404, Lport405, Wport406, lan_state407, lan_left_rbuf408, lan_left_recv409, lan_right_recv410, lan_left_send414, lan_right_send415, lan_right_sbuf416, wan_state420, wan_left_rbuf421, wan_left_recv422, wan_right_recv423, wan_left_send427, the wan_right_send428 and wan_right_sbuf429 .
  • VLD 401 indicates whether an entry is in use.
  • the connect_state 402 represents whether or not a connection on the LAN or WAN side is being established.
  • LIP 403 represents the IP address of the terminal on the LAN side.
  • WIP 404 represents the IP address of the terminal on the WAN side.
  • Lport 405 represents the TCP port number of the terminal on the LAN side.
  • Wport 406 represents the TCP port number of the terminal on the WAN side.
  • Lan_state 407 represents the state of TCP communication on the LAN side.
  • lan_left_rbuf 408, lan_left_recv 409, and lan_right_recv 410 represent pointers for reception buffer management on the LAN side.
  • lan_left_send 414, lan_right_send 415, and lan_right_sbuf 416 represent pointers for LAN-side transmission buffer management.
  • Wan_state 420 represents the state of TCP communication on the WAN side.
  • wan_left_rbuf 421, wan_left_recv 422, and wan_right_recv 423 represent a reception buffer management pointer on the WAN side.
  • wan_left_send 427, wan_right_send 428, and wan_right_sbuf 429 represent WAN transmission buffer management pointers.
  • the packet with data arriving from the LAN side is input to the LAN TCP processing unit 203.
  • the LAN TCP processing unit 203 returns an ACK packet to the LAN side, and stores the data described in the packet in the LAN side reception buffers 204-1 to 204-N. Further, the LAN side reception buffer management pointer of the state management table 400 is updated based on the size of the stored data.
  • the LAN side receive buffer management pointers are, in order from the smallest, lan_left_rbuf 408 indicating the boundary between the data already read by the relay unit 100 and the data not yet read, the pointer lan_left_recv 409 indicating the boundary between the aligned data and the unaligned data, and the received data A pointer lan_right_recv 410 indicating the end of the.
  • the pointer lan_left_recv 409 indicating the boundary between the aligned data and the unaligned data and the pointer lan_right_recv 410 indicating the end of the received data are increased by the received data size when the data is received in order from the front without packet discarding.
  • a pointer lan_right_recv 410 indicating the end of the received data is increased by the received data size.
  • the pointer lan_left_recv 409 indicating the boundary between the aligned data and the unaligned data increases to lan_right_recv410.
  • the relay unit 100 reads data sequentially in an increasing direction from lan_left_rbuf 408 indicating the boundary between read data and unread data, and increases lan_left_rbuf 408 by the read data size.
  • the maximum data size that can be newly read is the difference between lan_left_rbuf 408 and lan_left_recv 409.
  • the relay unit 100 reads the aligned data stored in the LAN side reception buffers 204-1 to 204-N for each request command and writes it to the WAN side transmission buffers 207-1 to 207-1.
  • the WAN TCP processing unit 209 reads data from the WAN side transmission buffers 207-1 to 207-1 to N, transmits the read data as a packet, and transmits a packet with data to which the TCP header 520 is added to the WAN side. Further, the WAN side transmission buffer management pointer of the state management table 400 is updated based on the transmission data size.
  • the WAN side transmission buffer management pointers are, in ascending order, a pointer wan_right_sbuf 429 indicating the end of data written from the relay unit 100 and ready for transmission, a pointer wan_right_send 428 indicating the end of transmitted data, and an acknowledgment from the reception side. Includes a pointer wan_left_send 427 indicating the end of the received data.
  • the pointer wan_right_sbuf 429 indicating the end of data written from the relay unit 100 and ready for transmission increases by the written data size each time the relay unit 100 newly writes data.
  • New data is read in an increasing direction starting from a pointer wan_right_send 428 indicating the end of the transmitted data, and transmitted to the WAN side with a packet header added.
  • the wan_right_send 428 increases by the transmitted data size.
  • wan_left_send 427 increases to the reception sequence number described in the acknowledgment packet.
  • the packet with data arriving from the WAN side is input to the WAN TCP processing unit 209.
  • the WAN TCP processing unit 209 returns an ACK packet to the WAN side, and stores the data described in the packet in the WAN side reception buffers 208-1 to 208-N. Further, the WAN reception buffer management pointer of the state management table 400 is updated based on the accumulated data size.
  • WAN side receive buffer management pointers are received in order from the smallest, wan_left_rbuf 421 indicating the boundary between the data that has already been read by the relay unit 100 and the data not yet read, the pointer wan_left_recv 422 indicating the boundary between the aligned data and the unaligned data, and received It includes a pointer wan_right_recv 423 indicating the end of the data.
  • the pointer wan_left_recv 422 indicating the boundary between the aligned data and the unaligned data and the pointer wan_right_recv 423 indicating the end of the received data are increased by the received data size when the data is received in order from the front without packet discarding.
  • a pointer wan_right_recv 423 indicating the end of the received data increases by the received data size.
  • the pointer wan_left_recv 422 indicating the boundary between the aligned data and the unaligned data increases to wan_right_recv 423.
  • the relay unit 100 reads data sequentially in an increasing direction from wan_left_rbuf 421 indicating the boundary between read data and unread data, and increases wan_left_rbuf 421 by the read data size.
  • the maximum data size that can be newly read is the difference between wan_left_rbuf 421 and wan_left_recv 422.
  • the relay unit 100 reads the aligned data stored in the WAN side reception buffers 208-1 to 208-N for each request command, and writes it to the LAN side transmission buffers 205-1 to N.
  • the LAN TCP processing unit 203 reads data from the LAN-side transmission buffers 205-1 to 205-N, transmits the read data as a packet, and transmits a packet with data to which the TCP header 520 is added to the LAN side. Further, the LAN side transmission buffer management pointer of the state management table 400 is updated based on the transmission data size.
  • the LAN side transmission buffer management pointers are, in ascending order, a pointer lan_right_sbuf 416 indicating the end of data written from the relay unit 100 and ready for transmission, a pointer lan_right_send 415 indicating the end of transmitted data, and an acknowledgment from the reception side. There is a pointer lan_left_send 414 indicating the end of the data that has been received.
  • the pointer lan_right_sbuf 416 indicating the end of data written from the relay unit 100 and ready for transmission increases by the written data size each time the relay unit 100 newly writes data.
  • New data is read in an increasing direction starting from a pointer lan_right_send 415 indicating the end of transmitted data, and transmitted to the WAN side with a packet header added.
  • lan_right_send 415 increases by the transmitted data size.
  • lan_left_send 414 increases to the reception sequence number described in the acknowledgment packet.
  • FIG. 6 is a block diagram of the relay unit 100 in the relay device 200 of this embodiment.
  • the relay unit 100 includes a LAN side relay unit 110, a WAN side relay unit 120, a LAN upper limit / consumption number management table 600, and a WAN upper limit / consumption number management table 601.
  • the LAN upper limit / consumption count management table 600 manages the command upper limit count and consumption count on the LAN side.
  • the WAN upper limit / consumption number management table 601 manages the command upper limit number and consumption number on the WAN side.
  • the LAN-side relay unit 110 includes a reception buffer 111, a request reception processing unit 112, a response transmission processing unit 113, a request creation unit 114, an aggregation unit 115, a response creation unit 116, and a request creation unit 117.
  • the reception buffer 111 stores the request command read from the LAN side reception buffer 204.
  • the request reception processing unit 112 reads a request command from the reception buffer 111 and determines a transfer destination and transfer timing.
  • the request creation unit 117 creates a new request command based on the request command transferred from the request reception processing unit 112.
  • the response creation unit 116 creates a new response command based on the request command transferred from the request reception processing unit 112.
  • the aggregating unit 115 aggregates the response command created by the response creating unit 116 and the response command transferred from the WAN side relay unit 120.
  • the response transmission processing unit 113 receives the response command transferred from the aggregation unit and transfers the response command to the LAN side transmission buffer 205 and the request creation unit 114.
  • the request creation unit 114 creates a new request command based on the response command transferred from the response transmission processing unit 113.
  • the WAN-side relay unit 120 includes a request transmission processing unit 121, an aggregation unit 122, a response reception processing unit 123, and a reception buffer 124.
  • the reception buffer 124 stores the response command read from the WAN side reception buffer 208.
  • the response reception processing unit 123 reads the response command from the reception buffer 124 and transfers it to the LAN side relay unit 110.
  • the aggregation unit 122 aggregates request commands transmitted from the request reception processing unit 112, the request creation unit 117, and the request creation unit 114 of the LAN side relay unit 110.
  • the request transmission processing unit 121 receives the request command transferred from the aggregation unit and transfers it to the WAN side transmission buffer 207.
  • each unit of the relay unit 100 described above may be implemented by hardware modules or software modules.
  • FIG. 7 is a diagram illustrating the configuration of the LAN upper limit / consumption number management table 600 and the WAN upper limit / consumption number management table 601 according to this embodiment.
  • the LAN upper limit / consumption number management table 600 includes a LAN side command upper limit number 602 and a LAN side command consumption number 603.
  • the command upper limit number 602 defines an upper limit value of the number of commands that can be exchanged on the LAN side.
  • the command consumption number 603 records the number of commands exchanged on the LAN side.
  • the request reception processing unit 112 of the LAN side relay unit 110 increments the command consumption number 603.
  • the response transmission processing unit 113 of the LAN side relay unit 110 transmits a response command to the LAN side, the command consumption number 603 is decremented.
  • the request reception processing unit 112 changes the command upper limit number 602. For example, if the value described in credits number 554 in the field of response command 550 transmitted to the LAN side is 0, the command upper limit number 602 is decreased by 1, and if it is 2, the command upper limit number 602 is increased by 1, If there is, the command upper limit number 602 is increased by 31.
  • the WAN upper limit / consumption number management table 601 includes a WAN side command upper limit number 604 and a WAN side command consumption number 605.
  • the command upper limit number 604 defines an upper limit value of the number of commands that can be exchanged on the WAN side.
  • the command consumption number 605 records the number of commands exchanged on the WAN side.
  • the request transmission processing unit 121 of the WAN side relay unit 120 increments the command consumption number 605 when a request command is transmitted to the WAN side.
  • the response reception processing unit 123 of the WAN side relay unit 120 decrements the command consumption number 605.
  • the request transmission processing unit 121 changes the command upper limit number 604. For example, it is described in credits number 554 in the response command 550 field received from the WAN side, but if it is 0, the command upper limit number 604 is decreased by 1, and if it is 2, the command upper limit number 604 is increased by 1, For example, the command upper limit number 604 is increased by 31.
  • the relay apparatus 200 changes the command consumption number and the upper limit number using the LAN upper limit / consumption number management table 600 and the WAN upper limit / consumption number management table 601. That is, when a command is received from the client terminal 701, the LAN side command consumption number 603 is increased, and when a command is transmitted to the client terminal 701, the LAN side command consumption number 603 is decreased. Further, according to the command received from the client terminal 701, the LAN side command upper limit number 602 is increased or decreased. Further, the WAN side command consumption number 605 is increased when a command is transmitted to the server 702, and the WAN side command consumption number 605 is decreased when a command is received from the server 702. Further, according to the command received from the server 702, the WAN side command upper limit number 604 is increased or decreased.
  • the request reception processing unit 112 of the LAN side relay unit 110 compares the command upper limit number 602 and the command consumption number 603 in the LAN upper limit / consumption number management table 600. If the command consumption number 603 is equal to the command upper limit number 602, the request reception processing unit 112 stops reading the request command from the reception buffer 111. On the other hand, when the command consumption number 603 is smaller than the command upper limit number 602, the request reception processing unit 112 reads the request command from the reception buffer 111. Thereby, when the command consumption number of the LAN is equal to the upper limit number, the request command received from the LAN is stored in the reception buffer 111 without performing the request command reception process. On the other hand, when the command consumption number of the LAN is smaller than the upper limit number, a request command from the LAN is read from the reception buffer 111, and a request command reception process is performed.
  • the request transmission processing unit 121 of the WAN-side relay unit 120 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. Then, when the command consumption number 605 is equal to the command upper limit number 604, the request transmission processing unit 121 stops the transfer of the request command to the WAN side transmission buffer 207. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request transmission processing unit 121 transfers the request command to the WAN side transmission buffer 207. Thereby, when the command consumption number on the WAN side is equal to the upper limit number, the request transmission process to the WAN is stopped, and when the command consumption number on the WAN side is smaller than the upper limit number, the request transmission process to the WAN is performed.
  • the request reception processing unit 112 of the LAN side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. When the command consumption number 605 is equal to the command upper limit number 604, reading of the request command from the reception buffer 111 is stopped. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request reception processing unit 112 reads the request command from the reception buffer 111.
  • the command consumption number on the WAN side is equal to the upper limit number
  • the request command received from the LAN is stored in the reception buffer 111 without performing the request command reception process from the LAN.
  • the command consumption number on the WAN side is smaller than the upper limit number, a request command from the LAN is read from the reception buffer 111 and a request command reception process is performed.
  • the response transmission processing unit 113 of the LAN side relay unit 110 determines the difference between the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601 and the LAN upper limit / The difference between the command upper limit number 602 and the command consumption number 603 in the consumption number management table 600 is compared.
  • the response transmission processing unit 113 sets the value of the credits number 554 of the response command to be transmitted to the LAN side. Rewrite it to a larger value to increase the command limit on the LAN side.
  • the response transmission processing unit 113 sets the value of the credits number 554 of the response command to be transmitted to the LAN side. Rewrite to a smaller value to reduce the command limit on the LAN side.
  • the field related to increase / decrease of the upper limit number described in the response command transmitted to the LAN side is changed, and the difference between the upper limit number of commands and the consumption number on the WAN side is the difference between the upper limit number of commands on the LAN side and the consumption number Can be matched.
  • the relay apparatus 200 can match the state of the command upper limit number and the consumption number on the LAN side and the WAN side, the command consumption number exceeds the upper limit number on the WAN side, or the command upper limit number on the LAN side. Can be prevented.
  • the request creation unit 117 of the LAN side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601.
  • the command consumption number 603 is equal to the command upper limit number 602
  • the creation of a new request to the WAN is stopped.
  • the command consumption number 605 is smaller than the command upper limit number 604
  • the request creation unit 117 creates a new request to the WAN.
  • the request creation unit 117 creates a new request to the WAN.
  • the request creation unit 117 creates a new request to the WAN.
  • the response creation unit 116 of the LAN side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601.
  • the command consumption number 603 is equal to the command upper limit number 602
  • the creation of a new response to the LAN is stopped.
  • the command consumption number 605 is smaller than the command upper limit number 604
  • a new response to the LAN is created.
  • the upper limit number of commands on the WAN side and the number of consumptions match, creation of a response to the LAN triggered by reception of a request from the LAN is stopped.
  • the number of commands consumed on the WAN side is smaller than the upper limit number, a response to the LAN is created using a request reception from the LAN as a trigger.
  • the request creation unit 114 of the LAN-side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. When the command consumption number 603 is equal to the command upper limit number 602, the creation of a new request to the WAN is stopped. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request creation unit 114 creates a new request to the WAN. As a result, when the upper limit number of commands on the WAN side and the number of consumptions match, creation of a new request to the WAN triggered by response transmission to the LAN is stopped. On the other hand, when the number of commands consumed on the WAN side is smaller than the upper limit number, a new request to the WAN is created using a response transmission to the LAN as a trigger.
  • the request creation unit 114 and the request creation unit 117 of the LAN side relay unit 110 described above match the upper limit number of commands on the WAN side and the consumption number, the creation of new requests to the WAN is stopped, and the command consumption number on the WAN side If the number is less than the upper limit, a new request can be created to the WAN.
  • FIG. 8 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 9 is a flowchart of processing performed by the relay device of this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • a relay device 200 installed between a client terminal 701 and a server 702 that communicate using a file sharing protocol receives a request command from the client terminal 701 to the server 702, and a response command from the server 702 to the client terminal 701. The function of relaying will be described.
  • the relay apparatus 200 transmits a request for prefetching subsequent data to the server 702 with the transmission of the file read request as a trigger.
  • relay apparatus 200 relays request command (A) 1001 transmitted from client terminal 701 to server 702, three request commands (a-1 to a-3) 1003 to 1005 are newly added. Is transmitted to the server 702. Note that the transfer of the request command (A) 1001 from the relay apparatus 200 to the server 702 is not shown.
  • the number of command consumption on the server side is 4, but the number of command consumption on the client side is 1, and a state mismatch occurs.
  • the relay apparatus 200 receives response commands for all request commands from the server 702, the number of command consumptions on the server side becomes zero. Furthermore, when the relay apparatus 200 transmits a response command to the request command (A) 1001 to the client terminal 701, the number of commands consumed on the client side is also zero.
  • the relay apparatus 200 receives the request command (A) 1001 from the client terminal 701, and newly adds three request commands (a ⁇ 1 to a-3) 1003 to 1005 are generated and transmitted to the server 702. As a result, the command consumption number on the WAN side becomes equal to the upper limit number (1006).
  • the relay apparatus 200 receives the request from the WAN side. It is determined whether the command consumption number is equal to the upper limit number (step 2102). As a result, when the command consumption number on the WAN side is equal to the upper limit number, the request command (B) 1007 is stored in the reception buffer 111, and it is repeatedly determined whether the command consumption number on the WAN side is equal to the upper limit number.
  • a response command (a-1) 1008 is received from the server 702, and when the number of commands consumed on the WAN side becomes smaller than the upper limit number (1009), the request reception processing unit 112 receives the request command (B) stored in the reception buffer 111. 1007 is read and transferred to the request transmission processing unit 121 (step 2103). The request transmission processing unit 121 transfers the transferred request command (B) 1007 as a request command (B) 1010 to the WAN side.
  • the received request command is stored in the buffer without receiving the request command from the LAN.
  • the command consumption number on the WAN side becomes smaller than the upper limit number
  • the request command from the LAN is read from the buffer and the reception process is resumed.
  • FIG. 10 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 11 is a flowchart of processing performed by the relay device according to this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • the relay apparatus 200 In a state where the command consumption number on the WAN side is equal to the upper limit number (1202), the relay apparatus 200 is waiting for a request command that triggers response command generation to arrive from the client terminal 701 (step 2301). In this state, when the relay apparatus 200 receives the request command (A) 1201 from the client terminal 701, the request reception processing unit 112 accumulates the received request command (A) 1201 in the reception buffer 111 and sends it to the response creation unit 116. Transfer (step 2302).
  • the response creation unit 116 returns a response command (A) 1203 to the LAN side based on the transferred request command (A) 1201.
  • the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2303), and the request command stored in the reception buffer 111 (until the command consumption number on the WAN side becomes smaller than the upper limit number). A) The reading of 1201 is stopped. Meanwhile, on the LAN side, the request command (A) 1201 is not relayed on the WAN side even though the response of the response command (A) 1203 to the request command (A) 1201 has been completed. Occurs (1204). If this discrepancy is over a long period of time, the risk of failure increases.
  • the request reception processing unit 112 resumes reading the request command stored in the reception buffer 111. Then, the read request command (A) 1201 is transferred to the request transmission processing unit 121 (step 2304).
  • the received request command is stored in the buffer without receiving the request command from the LAN.
  • the command consumption number on the WAN side becomes smaller than the upper limit number
  • the request command from the LAN is read from the buffer and the reception process is resumed.
  • FIG. 12 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 13 is a flowchart of processing performed by the relay device of this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • the relay apparatus 200 waits for a request command that triggers response command generation to arrive from the client terminal 701 (step 2401).
  • the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2402), and WAN Reading of the request command (A) 1301 accumulated in the reception buffer 111 is stopped until the command consumption number on the side becomes smaller than the upper limit number.
  • the request reception processing unit 112 resumes reading the request command stored in the reception buffer 111. Then, the read request command (A) 1301 is transferred to the response creation unit 116 and the request transmission processing unit 121 (step 2403, step 2404).
  • the response creation unit 116 returns a response command (A) 1305 to the LAN side based on the transferred request command (A) 1301.
  • the request transmission processing unit 121 transmits the transferred request command (A) 1301 to the WAN side.
  • FIG. 14 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 15 is a flowchart of processing performed by the relay device of this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • the relay apparatus 200 waits for a request command that triggers generation of a request command to arrive from the client terminal 701 (step 2601). In this state, the relay apparatus 200 receives the request command (A) 1501 from the client terminal 701, and then receives the request command (B) 1502.
  • the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2602), and the request command stored in the reception buffer 111 (until the command consumption number on the WAN side becomes smaller than the upper limit number). A) Stop reading 1501. Thereafter, when the response reception processing unit 123 receives the response command 1505 from the server 702 and the WAN side command consumption number becomes smaller than the upper limit number (1504), the request reception processing unit 112 reads the request command stored in the reception buffer 111. And the read request command (A) 1501 is transferred to the request creation unit 117 (step 2603).
  • the request creation unit 117 newly generates three request commands (a-1) 1506, (a-2) 1508, and (a-3) 1510 (step 2604). Thereafter, the request creation unit 117 determines whether the command consumption number on the WAN side is equal to the upper limit number (Step 2605), and the command transmission number on the WAN side becomes one smaller than the upper limit number. Then, the request command (a-1) 1506, which is one of the created request commands, is transferred to the request transmission processing unit 121 (step 2606).
  • the request transmission processing unit 121 transmits the request command (a-1) 1506 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side becomes equal to the upper limit number.
  • the request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2607), and since the two newly generated request commands have not been transmitted, the command consumption number on the WAN side is again equal to the upper limit number. Is determined (step 2605). As a result, the request transmission processing unit 121 stops the transfer of the newly generated request command to the request transmission processing unit 121 and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
  • a request command (a-2) 1508 which is one of newly generated request commands is obtained. It is transferred to the request transmission processing unit 121 (step 2606).
  • the request transmission processing unit 121 transmits the request command (a-2) 1508 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side again becomes equal to the upper limit number.
  • the request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2607). Since one newly generated request command has not been transmitted, the command consumption number on the WAN side is again equal to the upper limit number. Is determined (step 2605). The request transmission processing unit 121 stops transfer of the newly generated request command to the request transmission processing unit 121 and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
  • the request command (a-3) 1510 which is the last one of the newly generated request commands is It is transferred to the request transmission processing unit 121 (step 2606).
  • the request transmission processing unit 121 transmits the request command (a-3) 1510 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side again becomes equal to the upper limit number.
  • the request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2607). When there is no new request command that has not been transmitted, the transmission of the newly generated request command is terminated.
  • the request transmission processing unit 121 sets the request command (B) 1502 as the request command (B) 1513 and the WAN. To the side.
  • the transfer of the newly generated request command to the WAN with the request command from the LAN as a trigger is stopped, and the WAN command consumption number is the upper limit number.
  • transfer of request command is resumed. This prevents the occurrence of errors and forced disconnection due to the number of commands consumed on the WAN side exceeding the upper limit, and prevents performance degradation due to communication delay between the client terminal and the server. it can.
  • FIG. 16 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 17 is a flowchart of processing performed by the relay device of this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • the relay apparatus 200 In a state where the command consumption number on the WAN side is equal to the upper limit number (1603), the relay apparatus 200 is waiting for a request command that triggers generation of a request command to arrive from the client terminal 701 (step 2701). In this state, the relay apparatus 200 receives the request command (A) 1601 from the client terminal 701, and then receives the request command (B) 1602.
  • the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (Step 2702), and the request command stored in the reception buffer 111 (until the command consumption number on the WAN side becomes smaller than the upper limit number). A) The reading of 1601 is stopped. After that, when the response reception processing unit 123 receives the response command 1605 from the server 702 and the number of commands consumed on the WAN side becomes smaller than the upper limit number (1604), the request reception processing unit 112 reads the request command stored in the reception buffer 111. And the read request command (A) 1601 is transferred to the request creation unit 117 (step 2703).
  • the request creation unit 117 Upon receiving the request command (A) 1601, the request creation unit 117 determines whether there is a request to be newly created using the request command (A) 1601 as a trigger (step 2704). As a result, when there is a request to be newly generated, the request creation unit 117 newly creates one request command (a) 1606 (step 2705).
  • the request creation unit 117 transfers the newly created request command (a) 1606 to the request transmission processing unit 121 (step 2706).
  • the request transmission processing unit 121 transmits a new request command (a) 1606 to the WAN.
  • the request transmission processing unit 121 transmits the request command (a) 1606 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side becomes equal to the upper limit number.
  • the request creation unit 117 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2707). If the command consumption number on the WAN side becomes smaller than the upper limit number, is there a request to be newly created? Is determined (step 2704). As a result, if there is an uncreated new request, a new request command is created again (step 2705). On the other hand, when the command consumption number on the WAN side is equal to the upper limit number, the creation of a new request command using the request command (A) 1601 as a trigger ends.
  • the command consumption number on the WAN side becomes one smaller than the upper limit number.
  • the request reception processing unit 112 reads the request command (B) 1602 from the reception buffer 111 and transfers it to the request transmission processing unit 121.
  • the request transmission processing unit 121 transmits a request command (B) 1602 as a request command B 1608 to the WAN.
  • FIG. 18 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 19 is a flowchart of processing performed by the relay device of this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • the server 702 when the client terminal 701 transmits a file open request, the server 702 returns a response.
  • the relay apparatus 200 transmits a request for prefetching a file to the server 702 using a response to the file open request as a trigger.
  • the relay apparatus 200 waits for transmission of a response command to the client terminal 701 as a trigger for generating a new request command (step 2901).
  • the relay apparatus 200 receives the response command (A) 1800 from the server 702, transmits it as the response command (A) 1801 to the client terminal 701 on the LAN side, and then receives the request command (B) 1803.
  • the request reception processing unit 112 Upon receiving the request command (B) 1803, the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2902), and if the command consumption number on the WAN side is equal to the upper limit number, The reading of the request command (B) 1803 stored in the reception buffer 111 is stopped.
  • the response reception processing unit 123 when receiving the response command (A) 1800 from the server 702, the response reception processing unit 123 reduces the number of commands consumed on the WAN side by one. For this reason, since the number of commands consumed on the WAN side is smaller than the upper limit number (step 2902), the response transmission processing unit 113 can transmit the response command (A) 1801 toward the LAN side. That is, when the command consumption number on the WAN side is smaller than the upper limit number, the response transmission processing unit 113 transfers the response command (A) 1801 to the request creation unit 114 (step 2903).
  • the request creation unit 114 generates a plurality of new request commands (a-1) 1806, (a-2) 1808, and (a-3) 1810 based on the response command (A) 1801 (step 2904). Furthermore, the request creation unit 114 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2905), and if the command consumption number on the WAN side is smaller than the upper limit number, the new request command (a-1) 1806 Is transferred to the request transmission processing unit 121 (step 2906).
  • the request transmission processing unit 121 transmits the transferred new request command (a-1) 1806 to the WAN.
  • the number of commands consumed on the WAN side increases by one and becomes equal to the upper limit number.
  • the request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2907), and since the two newly generated request commands have not been transmitted, the command consumption number on the WAN side is again the upper limit number. (Step 2905).
  • the request transmission processing unit 121 stops transfer of the newly generated request command to the request transmission processing unit 121 and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
  • a request command (a-2) 1808 which is one of newly created request commands, is obtained. It is transferred to the request transmission processing unit 121 (step 2906).
  • the request transmission processing unit 121 transmits the request command (a-2) 1808 to the WAN, the number of commands consumed on the WAN side increases by one, and again the number of commands consumed on the WAN side becomes equal to the upper limit number.
  • the request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2907). Since one newly generated request command has not been transmitted, the command consumption number on the WAN side is again equal to the upper limit number. Is determined (step 2905). The request transmission processing unit 121 stops transmission of a newly generated request command and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
  • the request command (a-3) 1810 which is the last one of the newly created request command is It is transferred to the request transmission processing unit 121 (step 2906).
  • the request transmission processing unit 121 transmits the request command (a-3) 1810 to the WAN, the number of commands consumed on the WAN side increases by one, and again the number of commands consumed on the WAN side becomes equal to the upper limit number.
  • the request transmission processing unit 121 determines whether there is a new request that has not been transmitted (step 2907), and when there is no new request command, the transmission of the new request triggered by the transmission response to the LAN side ends.
  • the request reception processing unit 112 reads the request command (B) 1803 from the reception buffer 111 and transfers it to the request transmission processing unit 121, and the request transmission processing unit 121 transmits the request command (B) 1813 to the WAN side. .
  • the subsequent request command received from the LAN side is not transferred to the WAN side until all new commands generated using a request command from the LAN as a trigger are transferred to the WAN, and the command response time There is a problem that deteriorates.
  • FIG. 20 is a sequence diagram of processing performed by the relay device of this embodiment.
  • FIG. 21 is a flowchart of processing performed by the relay device of this embodiment.
  • a server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
  • the relay device 200 In the state where the command consumption number on the WAN side is equal to the upper limit number (1902), the relay device 200 is waiting for transmission of a response command to the client terminal 701 as a trigger for generating a new request command (step 3001). In this state, the relay apparatus 200 receives the response command (A) 1900 from the server 702, transmits the response command (A) 1901 to the client terminal 701 on the LAN side, and then receives the request command (B) 1903. It was.
  • the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 3002), and if the command consumption number on the WAN side is equal to the upper limit number, The reading of the request command (B) 1803 stored in the reception buffer 111 is stopped.
  • the response transmission processing unit 113 when receiving the response command (A) 1900 from the server 702, the response reception processing unit 123 reduces the number of commands consumed on the WAN side by one. For this reason, since the number of commands consumed on the WAN side is smaller than the upper limit number (step 3002), the response transmission processing unit 113 can transmit the response command (A) 1901 toward the LAN side. That is, when the command consumption number on the WAN side is smaller than the upper limit number, the response transmission processing unit 113 transmits the response command (A) 1901 toward the LAN side (step 3001), and then the command consumption number on the WAN side is upper limit. It is determined whether it is equal to the number (step 3002). When the command consumption number on the WAN side is smaller than the upper limit number, the response transmission processing unit 113 transfers the response command (A) 1901 to the request creation unit 114 (step 3003).
  • the request creation unit 114 Upon receiving the response command A 1901, the request creation unit 114 determines whether there is a request to be newly created using the response command (A) 1901 as a trigger (step 3004). As a result, when there is a request to be newly generated, the request creation unit 114 newly creates one request command (a) 1906 (step 3005).
  • the request creation unit 114 transfers the newly created request command (a) 1906 to the request transmission processing unit 121 (step 3006).
  • the request transmission processing unit 121 transmits a new request command (a) 1906 to the WAN.
  • the request transmission processing unit 121 transmits the request command (a) 1606 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side becomes equal to the upper limit number.
  • the request creation unit 114 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 3007). If the command consumption number on the WAN side becomes smaller than the upper limit number, is there a request to be newly created? Is determined (step 3004). As a result, if there is an uncreated new request, a new request command is created again (step 3005). On the other hand, when the command consumption number on the WAN side is equal to the upper limit number, the creation of a new request command using the response command (A) 1901 as a trigger ends.
  • the response reception processing unit 123 receives the response command 1907 in a state where the command consumption number on the WAN side is equal to the upper limit number (1904), the command consumption number on the WAN side becomes one smaller than the upper limit value.
  • the request reception processing unit 112 reads the request command (B) 1903 from the reception buffer 111 and transfers it to the request transmission processing unit 121.
  • the request transmission processing unit 121 transmits a request command (B) 1903 as a request command (B) 1908 to the WAN.
  • the command consumption number between the relay device and the server is larger than the upper limit number. It is possible to prevent the occurrence of an error and the forced disconnection of the connection, and it is possible to prevent the performance deterioration due to the delay of the communication between the client terminal and the server.
  • the server side prevents the request command from being transmitted from occurring for a long period of time, Risk at the time of failure of the relay device can be reduced.
  • the present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment may be replaced with the configuration of another embodiment.
  • another configuration may be added, deleted, or replaced.
  • each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
  • Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
  • a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and do not necessarily indicate all control lines and information lines necessary for mounting. In practice, it can be considered that almost all the components are connected to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided is a communication apparatus for transferring commands between a server and a client terminal. The communication apparatus manages an upper-limit number of and a number of consumptions of commands transmitted/received between the server and the client terminal. The communication apparatus performs at least one of two comparisons: a comparison between an upper-limit number of and a number of consumptions of commands transmitted/received between the communication apparatus and the server; and a comparison between an upper-limit number of and a number of consumptions of commands transmitted/received between the communication apparatus and the client terminal. The communication apparatus then controls, on the basis of the result of said at least one of the two comparisons, the transfer of commands between the server and the client terminal.

Description

通信装置及びコマンド転送方法COMMUNICATION DEVICE AND COMMAND TRANSFER METHOD 参照による取り込みImport by reference
 本出願は、平成25年(2013年)4月25日に出願された日本出願である特願2013-92564の優先権を主張し、その内容を参照することにより、本出願に取り込む。 This application claims the priority of Japanese Patent Application No. 2013-92564, which was filed on April 25, 2013, and is incorporated herein by reference.
 本発明は、通信装置に関する。 The present invention relates to a communication device.
 クラウド等に用いられる拠点間の通信網として、IP-VPN(Internet Protocol- Virtual Private Network)技術等を用いたWAN(Wide Area Network)が、一般的になっている。 As a communication network between bases used for a cloud or the like, a WAN (Wide Area Network) using an IP-VPN (Internet Protocol-Virtual Private Network) technology or the like is generally used.
 第1の拠点の端末が、第2の拠点の端末と通信する場合は、第1の拠点のLANとWANとを接続する回線と、WANと第2の拠点のLANとを接続する回線とを経由して通信が行われる。 When the terminal of the first base communicates with the terminal of the second base, a line connecting the LAN of the first base and the WAN and a line connecting the WAN and the LAN of the second base Communication is performed via.
 端末間の通信では、CIFSやNFSなどのファイル共有プロトコルを用いることがある。ファイル共有プロトコルでは、端末間で一対のリクエストコマンド及びレスポンスコマンドを転送することによって通信が行われる。具体的には、クライアント端末からサーバに向けてリクエストコマンドが送信され、サーバは、受信したリクエストコマンドに対応するレスポンスコマンドを、クライアント端末に送信する。 In communication between terminals, a file sharing protocol such as CIFS or NFS may be used. In the file sharing protocol, communication is performed by transferring a pair of request commands and response commands between terminals. Specifically, a request command is transmitted from the client terminal to the server, and the server transmits a response command corresponding to the received request command to the client terminal.
 端末間で一度に転送可能なリクエストコマンド及びレスポンスコマンドの数には上限が設けられている。この上限を超えるリクエストコマンドを受け取ったサーバは、エラーであることを通知するレスポンスコマンドをクライアント端末に送信する。 There is an upper limit on the number of request commands and response commands that can be transferred at one time between terminals. The server that has received a request command exceeding the upper limit transmits a response command notifying that there is an error to the client terminal.
 クライアント端末とサーバとの間でファイル共有プロトコルを用いて通信する場合、クライアント端末とサーバとの間に設けられた中継装置が、クライアント端末から受信したリクエストコマンドと、追加のリクエストコマンドをサーバに送信するケースがある(特表2008-537814号公報参照)。 When communicating between a client terminal and a server using a file sharing protocol, a relay device provided between the client terminal and the server sends a request command received from the client terminal and an additional request command to the server. There are cases (see Japanese Patent Application Publication No. 2008-537814).
 クライアント端末とサーバとの間で、ファイル共有プロトコルを用いて通信する場合、クライアント端末とサーバとの間に設置された中継装置が、クライアント端末からサーバに送信されるリクエストコマンドや、サーバ端末からクライアント端末に送信されるレスポンスコマンドを中継する。 When communicating between a client terminal and a server using a file sharing protocol, a relay device installed between the client terminal and the server sends a request command sent from the client terminal to the server, or from the server terminal to the client. Relay response commands sent to the terminal.
 クライアント端末とサーバとの間に設置された中継装置は、クライアント端末からリクエストコマンドを受信すると、受信したリクエストコマンドをサーバに転送し、さらに、追加のリクエストコマンドをサーバに向けて送信する。この際、クライアント側でやり取りされているコマンド数より、サーバ側でやり取りされるコマンド数が多くなることがある。このため、サーバ側コマンド数が上限に達しているが、クライアント側コマンド数が上限に達していない、という状態の不一致が発生する場合がある。 When the relay apparatus installed between the client terminal and the server receives a request command from the client terminal, the relay apparatus transfers the received request command to the server, and further transmits an additional request command to the server. At this time, the number of commands exchanged on the server side may be larger than the number of commands exchanged on the client side. For this reason, there may be a case where the server-side command count has reached the upper limit, but the client-side command count has not reached the upper limit.
 この状態で、クライアント端末が新たなコマンドを送信すると、サーバとの間でやり取り可能なコマンド数の上限を超過し、エラーを通知するレスポンスコマンドがサーバからクライアント端末に送信される。一度、エラーが発生すると、コネクションが強制切断されるなど、クライアント端末とサーバとの間の通信に遅延が生じ、性能が劣化する問題があった。 In this state, when the client terminal transmits a new command, the upper limit of the number of commands that can be exchanged with the server is exceeded, and a response command for notifying an error is transmitted from the server to the client terminal. Once an error has occurred, there is a problem that the communication between the client terminal and the server is delayed, for example, the connection is forcibly disconnected and the performance deteriorates.
 本発明は、以上の点に鑑み、サーバ側コマンド数が上限に達しているが、クライアント側コマンド数が上限に達していない、という状態の不一致が発生する場合でも、端末間で一度にやり取り可能なコマンド数の上限の超過を防ぎ、エラーを通知するレスポンスコマンドがサーバからクライアント端末に送信されるのを防ぎ、コネクションが強制切断され、クライアント端末とサーバとの間の通信に遅延が発生することによって、性能が劣化することを防ぐ中継装置を提供する。 In the present invention, in view of the above points, the number of commands on the server side has reached the upper limit, but even when there is a mismatch in the state that the number of commands on the client side has not reached the upper limit, it can be exchanged between terminals at once The maximum number of commands is not exceeded, response commands that notify errors are prevented from being sent from the server to the client terminal, the connection is forcibly disconnected, and communication between the client terminal and the server is delayed. Thus, a relay device that prevents performance degradation is provided.
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、サーバとクライアント端末との間でコマンドを転送する通信装置において、前記サーバと前記クライアント端末との間でやり取りされるコマンドの上限数及び消費数を管理し、前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数と上限数、及び、前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数と上限数の少なくとも一方を比較し、前記少なくとも一方の比較結果に基づいて、前記サーバと前記クライアント端末との間のコマンドの転送を制御する。 A typical example of the invention disclosed in the present application is as follows. That is, in a communication device that transfers commands between a server and a client terminal, the upper limit number and consumption number of commands exchanged between the server and the client terminal are managed, and the communication device and the server Compare at least one of the number of commands consumed and the maximum number of commands exchanged between them, and the number of commands consumed and the maximum number of commands exchanged between the communication device and the client terminal, and compare at least one of them Based on the result, the command transfer between the server and the client terminal is controlled.
 本発明の代表的な実施の形態によれば、クライアント端末とサーバとの間の通信性能の劣化を防ぐことができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the representative embodiment of the present invention, it is possible to prevent deterioration in communication performance between the client terminal and the server. Problems, configurations, and effects other than those described above will become apparent from the description of the following embodiments.
本発明の実施例の中継装置を適用した中継システムの構成例を示す図である。It is a figure which shows the structural example of the relay system to which the relay apparatus of the Example of this invention is applied. 本実施例のクライアント端末及びサーバの構成を示すブロック図である。It is a block diagram which shows the structure of the client terminal and server of a present Example. 本実施例の中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the relay apparatus of a present Example. 本実施例の中継装置が送受信するパケットのフォーマット図である。It is a format figure of the packet which the relay apparatus of a present Example transmits / receives. 本実施例の状態管理テーブルの構成を説明する図である。It is a figure explaining the structure of the state management table of a present Example. 本実施例の中継装置内の中継部のブロック図である。It is a block diagram of the relay part in the relay apparatus of a present Example. 本実施例のLAN上限/消費数管理テーブル及びWAN上限/消費数管理テーブルの構成を説明する図である。It is a figure explaining the structure of the LAN upper limit / consumption number management table and WAN upper limit / consumption number management table of a present Example. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理によるシーケンス図である。It is a sequence diagram by the process which the relay apparatus of a present Example performs. 本実施例の中継装置が行う処理のフローチャートである。It is a flowchart of the process which the relay apparatus of a present Example performs.
 図1は、本発明の実施例の中継装置200を適用した中継システムの構成例を示す図である。 FIG. 1 is a diagram illustrating a configuration example of a relay system to which a relay device 200 according to an embodiment of the present invention is applied.
 中継装置200A、200B、200C(以後、中継装置を区別しない場合には、200の符号を付す)は、複数の拠点内のLAN310、320、330とWAN340とを接続する通信回線上に設置される。LAN310には、端末311、312、313が接続されており、LAN320には、端末321、322、323が接続されており、LAN330には、端末331、332、333が接続されている。各端末311~313、321~323、331~333は、クライアント端末として動作するものでも、サーバとして動作するものでもよい。以降、中継装置200A、200B、200CのLAN側に接続された端末がクライアント端末として動作し、WAN側に接続された端末がサーバとして動作するケースを説明するが、中継装置200A、200B、200CのLAN側に接続された端末がサーバとして動作し、WAN側に接続された端末がクライアント端末として動作するときも同様である。 The relay devices 200A, 200B, and 200C (hereinafter, when the relay devices are not distinguished are denoted by reference numeral 200) are installed on communication lines that connect the LANs 310, 320, and 330 and the WAN 340 in a plurality of bases. . Terminals 311, 312, and 313 are connected to the LAN 310, terminals 321, 322, and 323 are connected to the LAN 320, and terminals 331, 332, and 333 are connected to the LAN 330. Each of the terminals 311 to 313, 321 to 323, and 331 to 333 may operate as a client terminal or as a server. Hereinafter, a case will be described in which the terminals connected to the LAN side of the relay devices 200A, 200B, and 200C operate as client terminals, and the terminal connected to the WAN side operates as a server, but the relay devices 200A, 200B, and 200C The same applies when a terminal connected to the LAN side operates as a server and a terminal connected to the WAN side operates as a client terminal.
 図2は、本実施例のクライアント端末701及びサーバ702の構成を示すブロック図である。 FIG. 2 is a block diagram showing the configuration of the client terminal 701 and the server 702 of this embodiment.
 なお、図2には、CIFS、NFSなどのファイル共有プロトコルを用いてネットワーク707経由で通信するための構成のみを図示し、他の構成は省略する。また、説明の簡素化のため、中継装置200は省略する。 In FIG. 2, only a configuration for communicating via the network 707 using a file sharing protocol such as CIFS or NFS is illustrated, and other configurations are omitted. Further, the relay device 200 is omitted for simplification of description.
 ファイル共有プロトコルでは、クライアント端末701とサーバ702との間で一対のリクエストコマンド及びレスポンスコマンドを転送することによって、通信が行われる。すなわち、クライアント端末701からサーバ702に向けてリクエストコマンドが送信される。サーバは、受信したリクエストコマンドに対応するレスポンスコマンドをクライアント端末に送信する。 In the file sharing protocol, communication is performed by transferring a pair of request commands and response commands between the client terminal 701 and the server 702. That is, a request command is transmitted from the client terminal 701 to the server 702. The server transmits a response command corresponding to the received request command to the client terminal.
 クライアント端末701は、サーバ702との間で一度にやり取り可能なリクエストコマンド数及びレスポンスコマンド数の上限を定めたコマンド上限数と、実際にサーバ702との間でやり取りしているリクエストコマンド数及びレスポンスコマンド数を記録したコマンド消費数とを記録する(703)。コマンド消費数は、リクエストコマンドを送信したときに増加し、レスポンスコマンドを受信したときに減少する。コマンド上限数は、レスポンスコマンドを受信したときに増加又は減少する。 The client terminal 701 has a command upper limit number that determines the upper limit of the number of request commands and response commands that can be exchanged with the server 702 at one time, and the number of request commands and responses that are actually exchanged with the server 702. The command consumption number in which the command number is recorded is recorded (703). The command consumption number increases when a request command is transmitted, and decreases when a response command is received. The command upper limit number increases or decreases when a response command is received.
 リクエスト送信処理部705は、リクエスト作成部708で作成したリクエストコマンドを受け取り、リクエストコマンドをネットワーク707に向けて送信する。リクエスト受信処理部710は、ネットワーク707からレスポンスコマンドを受け取り、リクエスト作成部708へ転送する。 The request transmission processing unit 705 receives the request command created by the request creation unit 708 and transmits the request command to the network 707. The request reception processing unit 710 receives the response command from the network 707 and transfers it to the request creation unit 708.
 サーバ702も、端末間で一度にやり取り可能なリクエストコマンド数及びレスポンスコマンド数の上限を定めたコマンド上限数と、実際にクライアント端末701との間でやり取りしているリクエストコマンド数及びレスポンスコマンド数を記録したコマンド消費数とを記録する(704)。コマンド消費数は、リクエストコマンドを受信したときに増加し、レスポンスコマンドを送信したときに減少する。コマンド上限数は、レスポンスコマンドを送信したときに増加又は減少する。 The server 702 also determines the command upper limit number that determines the upper limit of the number of request commands and response commands that can be exchanged between terminals at one time, and the number of request commands and response commands that are actually exchanged with the client terminal 701. The recorded command consumption number is recorded (704). The command consumption number increases when a request command is received, and decreases when a response command is transmitted. The command upper limit number increases or decreases when a response command is transmitted.
 リクエスト受信処理部706は、ネットワーク707からリクエストコマンドを受け取り、レスポンス生成部709へ転送する。レスポンス送信処理部711は、レスポンス生成部709で作成したレスポンスコマンドを受け取り、レスポンスコマンドをネットワーク707に送信する。リクエスト受信処理部706がクエストコマンドを受信したときにコマンド消費数が増加し、コマンド上限数を超えると、レスポンス生成部709は、エラーであることを通知するレスポンスコマンドを生成し、レスポンス送信処理部711経由でクライアント端末701に送信する。 The request reception processing unit 706 receives a request command from the network 707 and transfers it to the response generation unit 709. The response transmission processing unit 711 receives the response command created by the response generation unit 709 and transmits the response command to the network 707. When the request reception processing unit 706 receives the quest command, the command consumption number increases, and when the command upper limit number is exceeded, the response generation unit 709 generates a response command to notify that there is an error, and the response transmission processing unit 711 to the client terminal 701.
 図3は、本実施例の中継装置200の構成を示すブロック図である。 FIG. 3 is a block diagram illustrating a configuration of the relay apparatus 200 according to the present embodiment.
 中継装置200は、LANインターフェース201、フィルタ202、LAN TCP処理部203、LAN側受信バッファ204-1~N、LAN側送信バッファ205-1~N、WAN側送信バッファ207-1~N、WAN側受信バッファ208-1~N、WAN TCP処理部209、フィルタ210、WANインターフェース211、中継部100及び状態管理テーブル400を有する。 The relay apparatus 200 includes a LAN interface 201, a filter 202, a LAN TCP processing unit 203, LAN side reception buffers 204-1 to N, LAN side transmission buffers 205-1 to N, WAN side transmission buffers 207-1 to N, and WAN side. The reception buffer 208-1 to N, the WAN TCP processing unit 209, the filter 210, the WAN interface 211, the relay unit 100, and the state management table 400 are included.
 LANインターフェース201は、LAN310、320、330とパケットを送受信する。WANインターフェース211は、WAN340とパケットを送受信する。フィルタ202、210は、中継装置200で特別の処理がされないパケット(例えば、ARPパケット等)をフィルタ間で転送し、中継部100を介さずに転送する。LAN TCP処理部203及びWAN TCP処理部209は、TCP通信のための制御を行う。 The LAN interface 201 transmits and receives packets to and from the LANs 310, 320, and 330. The WAN interface 211 transmits and receives packets to and from the WAN 340. The filters 202 and 210 transfer packets that are not specially processed by the relay apparatus 200 (for example, ARP packets) between the filters, and transfer the packets without passing through the relay unit 100. The LAN TCP processing unit 203 and the WAN TCP processing unit 209 perform control for TCP communication.
 LAN側受信バッファ204-1~N、LAN側送信バッファ205-1~Nは、LAN TCP処理部203が管理し、各々送信パケット、受信パケットを一時的に格納するバッファである。WAN側受信バッファ208-1~N、WAN側送信バッファ207-1~Nは、WAN TCP処理部209が管理し、各々送信パケット、受信パケットを一時的に格納するバッファである。送受信バッファの数はそれぞれ異なってもよい。 LAN side reception buffers 204-1 to 204-1 and LAN side transmission buffers 205-1 to N are buffers that are managed by the LAN TCP processing unit 203 and temporarily store transmission packets and reception packets, respectively. The WAN-side reception buffers 208-1 to 208-N and the WAN-side transmission buffers 207-1 to N are managed by the WAN TCP processing unit 209, and are buffers that temporarily store transmission packets and reception packets, respectively. The number of transmission / reception buffers may be different.
 中継部100は、送信バッファ及び受信バッファの間でコマンドを中継する。状態管理テーブル400は、複数のエントリを含み、通信コネクションの状態を管理する。状態管理テーブル400のエントリの数は、送受信バッファの数と異なってもよい。 The relay unit 100 relays commands between the transmission buffer and the reception buffer. The state management table 400 includes a plurality of entries and manages the state of the communication connection. The number of entries in the state management table 400 may be different from the number of transmission / reception buffers.
 以上に説明した中継装置200の各部の機能は、ハードウェアのモジュールで実装しても、ソフトウェアのモジュールで実装してもよい。 The functions of each unit of the relay device 200 described above may be implemented by hardware modules or software modules.
 LAN TCP処理部203は、受信したパケット(データ)を、LAN側受信バッファ204-1~Nに格納し、LAN側送信バッファ205-1~Nから読み出した送信データをパケットの形式で送信する。WAN TCP処理部209は、受信したパケット(データ)を、WAN側受信バッファ208-1~Nに格納し、WAN側送信バッファ207-1~Nから読み出した送信データをパケットの形式で送信する。中継部100は、受信バッファ204-1~N、208-1~Nからコマンドデータを読み出し、コマンドデータを送信バッファ207-1~N、205-1~Nに書き込む。中継部100の動作の詳細は後述する。 The LAN TCP processing unit 203 stores the received packet (data) in the LAN side reception buffers 204-1 to 204-1 and transmits the transmission data read from the LAN side transmission buffers 205-1 to N in the form of packets. The WAN TCP processing unit 209 stores the received packet (data) in the WAN side reception buffers 208-1 to 208-1 to N, and transmits the transmission data read from the WAN side transmission buffers 207-1 to N in the form of packets. The relay unit 100 reads the command data from the reception buffers 204-1 to N and 208-1 to N, and writes the command data to the transmission buffers 207-1 to N and 205-1 to N. Details of the operation of the relay unit 100 will be described later.
 図4は、本実施例の中継装置200が送受信するパケットのフォーマット図である。 FIG. 4 is a format diagram of a packet transmitted and received by the relay apparatus 200 according to the present embodiment.
 パケットは、MACヘッダ500、IPヘッダ510、TCPヘッダ520、TCPオプションヘッダ530及びリクエスト/レスポンスコマンド550を含む。 The packet includes a MAC header 500, an IP header 510, a TCP header 520, a TCP option header 530, and a request / response command 550.
 MACヘッダ500は、宛先MACアドレスを表すDMAC501、送信元MACアドレスを表すSMAC502及びMACフレームタイプを表すType503を含む。IPヘッダ510は、MACヘッダを除くパケット長を表すIP length511、プロトコル番号を表すprotocol512、送信元IPアドレスを表すSIP513及び宛先IPアドレスを現すDIP514を含む。 The MAC header 500 includes a DMAC 501 that represents a destination MAC address, an SMAC 502 that represents a source MAC address, and a Type 503 that represents a MAC frame type. The IP header 510 includes an IP length 511 representing the packet length excluding the MAC header, a protocol 512 representing the protocol number, a SIP 513 representing the source IP address, and a DIP 514 representing the destination IP address.
 TCPヘッダ520は、送信元ポート番号を表すsrc.port521、宛先ポート番号を表すdst.port522、送信シーケンス番号を表すSEQ523及び受信シーケンス番号を表すACK524を含む。TCPオプションヘッダ530は、最大40バイトのヘッダである。 TCP header 520 is a src. port 521, dst. port 522, SEQ 523 representing a transmission sequence number, and ACK 524 representing a reception sequence number. The TCP option header 530 is a header having a maximum of 40 bytes.
 リクエスト/レスポンスコマンド550は、ファイル共有プロトコルを用いて、端末間で転送されるリクエスト/レスポンスコマンドである。リクエスト/レスポンスコマンド550は、リクエストコマンドであることを示すRequest551、レスポンスコマンドであることを示すResponse552、コマンドの種類を指定するType553及びレスポンスコマンドにおいてコマンド上限数の増減値を指定するcredits number554を含む。 The request / response command 550 is a request / response command transferred between terminals using a file sharing protocol. The request / response command 550 includes a request 551 indicating a request command, a response 552 indicating a response command, a type 553 specifying a command type, and a credits number 554 specifying an increase / decrease value of the command upper limit number in the response command.
 Type553には、ファイルの読み出すためのReadや、ファイルへの書き込むためのWriteや、ファイルをオープンするためのCreateや、ファイルをクローズするためのCloseなどを指定する値が記載される。 In Type 553, values for specifying Read for reading a file, Write for writing to a file, Create for opening a file, Close for closing a file, and the like are described.
 credits number554は、0以上の値が記載され、コマンド上限数を増減させるために用いられる。例えば、credits number554が0であれば、コマンド上限数を1減少させることを指定しており、credits number554が1であれば、コマンド上限数が不変であることを指定しており、credits number554が2であれば、コマンド上限数を1増加させることを指定しており、credits number554が32であれば、コマンド上限数を31増加させることを指定している。 The credits number 554 is a value greater than or equal to 0, and is used to increase or decrease the command upper limit number. For example, if credits number 554 is 0, the command upper limit number is specified to be decreased by 1, and if credits number 554 is 1, the command upper limit number is specified to be unchanged, and credits number 554 is 2 If the credits number 554 is 32, the command upper limit number is specified to be increased by 31.
 リクエスト/レスポンスコマンド550の内容は、一つのパケットだけに搭載される場合もあれば、複数のパケットに分割されて搭載される場合もある。 The content of the request / response command 550 may be mounted in only one packet or may be divided into a plurality of packets and mounted.
 図5は、本実施例の状態管理テーブル400の構成を説明する図である。 FIG. 5 is a diagram illustrating the configuration of the state management table 400 according to the present embodiment.
 中継装置200の状態管理テーブル400は、例えばTCPコネクション毎の状態を記録するためのn個のエントリ400-i(i=1~n)を有する。 The state management table 400 of the relay device 200 includes, for example, n entries 400-i (i = 1 to n) for recording the state of each TCP connection.
 各エントリ400-iは、例えば、VLD401、connect_state402、LIP403、WIP404、Lport405、Wport406、lan_state407、lan_left_rbuf408、lan_left_recv409、lan_right_recv410、lan_left_send414、lan_right_send415、lan_right_sbuf416、wan_state420、wan_left_rbuf421、wan_left_recv422、wan_right_recv423、wan_left_send427、wan_right_send428及びwan_right_sbuf429を含む。 Each entry 400-i includes, for example, VLD401, connect_state402, LIP403, WIP404, Lport405, Wport406, lan_state407, lan_left_rbuf408, lan_left_recv409, lan_right_recv410, lan_left_send414, lan_right_send415, lan_right_sbuf416, wan_state420, wan_left_rbuf421, wan_left_recv422, wan_right_recv423, wan_left_send427, the wan_right_send428 and wan_right_sbuf429 .
 VLD401は、エントリが使用中であるか否かを表す。connect_state402は、LAN又はWAN側のコネクションが確立中であるか否かを表す。LIP403は、LAN側の端末のIPアドレスを表す。WIP404は、WAN側の端末のIPアドレスを表す。Lport405は、LAN側の端末のTCPポート番号を表す。Wport406は、WAN側の端末のTCPポート番号を表す。 VLD 401 indicates whether an entry is in use. The connect_state 402 represents whether or not a connection on the LAN or WAN side is being established. LIP 403 represents the IP address of the terminal on the LAN side. WIP 404 represents the IP address of the terminal on the WAN side. Lport 405 represents the TCP port number of the terminal on the LAN side. Wport 406 represents the TCP port number of the terminal on the WAN side.
 lan_state407は、LAN側のTCP通信の状態を表す。lan_left_rbuf408、lan_left_recv409及びlan_right_recv410は、LAN側の受信バッファ管理用のポインタを表す。lan_left_send414、lan_right_send415及びlan_right_sbuf416は、LAN側の送信バッファ管理用のポインタを表す。 Lan_state 407 represents the state of TCP communication on the LAN side. lan_left_rbuf 408, lan_left_recv 409, and lan_right_recv 410 represent pointers for reception buffer management on the LAN side. lan_left_send 414, lan_right_send 415, and lan_right_sbuf 416 represent pointers for LAN-side transmission buffer management.
 wan_state420は、WAN側のTCP通信の状態を表す。wan_left_rbuf421、wan_left_recv422及びwan_right_recv423は、WAN側の受信バッファ管理用のポインタを表す。wan_left_send427、wan_right_send428及びwan_right_sbuf429は、WAN側の送信バッファ管理用のポインタを表す。 Wan_state 420 represents the state of TCP communication on the WAN side. wan_left_rbuf 421, wan_left_recv 422, and wan_right_recv 423 represent a reception buffer management pointer on the WAN side. wan_left_send 427, wan_right_send 428, and wan_right_sbuf 429 represent WAN transmission buffer management pointers.
 図3を用いて、中継装置200におけるLANからWANへのデータの流れを説明する。 A data flow from the LAN to the WAN in the relay apparatus 200 will be described with reference to FIG.
 LAN側から到着したデータ付きパケットは、LAN TCP処理部203に入力される。LAN TCP処理部203は、ACKパケットをLAN側に返信し、パケットに記載されたデータをLAN側受信バッファ204-1~Nへ格納する。さらに、格納されたデータのサイズに基づいて、状態管理テーブル400のLAN側受信バッファ管理ポインタを更新する。 The packet with data arriving from the LAN side is input to the LAN TCP processing unit 203. The LAN TCP processing unit 203 returns an ACK packet to the LAN side, and stores the data described in the packet in the LAN side reception buffers 204-1 to 204-N. Further, the LAN side reception buffer management pointer of the state management table 400 is updated based on the size of the stored data.
 LAN側受信バッファ管理ポインタは、小さい順に、中継部100がすでに読み出し済のデータとまだ読み出していないデータの境界を示すlan_left_rbuf408、整列済みデータと未整列データの境界を示すポインタlan_left_recv409、及び受信したデータの末尾を示すポインタlan_right_recv410を含む。 The LAN side receive buffer management pointers are, in order from the smallest, lan_left_rbuf 408 indicating the boundary between the data already read by the relay unit 100 and the data not yet read, the pointer lan_left_recv 409 indicating the boundary between the aligned data and the unaligned data, and the received data A pointer lan_right_recv 410 indicating the end of the.
 整列済みデータと未整列データの境界を示すポインタlan_left_recv409、及び受信したデータの末尾を示すポインタlan_right_recv410は、パケット廃棄が発生せずに、前から順番にデータを受信すると、受信したデータサイズ分増える。 The pointer lan_left_recv 409 indicating the boundary between the aligned data and the unaligned data and the pointer lan_right_recv 410 indicating the end of the received data are increased by the received data size when the data is received in order from the front without packet discarding.
 パケット廃棄が発生するなどによって受信できずに歯抜けになったデータ箇所(ロスセグメント)が発生すると、受信したデータの末尾を示すポインタlan_right_recv410が、受信したデータサイズ分増える。ロスセグメントが存在する状態で、再送パケットを受信して、全てのロスセグメントが消滅すると、整列済みデータと未整列データの境界を示すポインタlan_left_recv409は、lan_right_recv410まで増加する。 When a data portion (loss segment) that cannot be received due to packet discard or the like is lost, a pointer lan_right_recv 410 indicating the end of the received data is increased by the received data size. When a retransmission packet is received in a state where a loss segment exists and all the loss segments disappear, the pointer lan_left_recv 409 indicating the boundary between the aligned data and the unaligned data increases to lan_right_recv410.
 中継部100は、読出済データと未読出データとの境界を示すlan_left_rbuf408から増加する方向に向かって順番にデータを読み出し、読み出したデータサイズ分、lan_left_rbuf408を増加させる。新たに読み出せるデータサイズの最大値は、lan_left_rbuf408とlan_left_recv409との差である。 The relay unit 100 reads data sequentially in an increasing direction from lan_left_rbuf 408 indicating the boundary between read data and unread data, and increases lan_left_rbuf 408 by the read data size. The maximum data size that can be newly read is the difference between lan_left_rbuf 408 and lan_left_recv 409.
 中継部100は、LAN側受信バッファ204-1~Nに格納された整列済みデータをリクエストコマンド毎に読み出し、WAN側送信バッファ207-1~Nへ書き込む。WAN TCP処理部209は、WAN側送信バッファ207-1~Nからデータを読み出し、読み出したデータをパケットにして、TCPヘッダ520を追加したデータ付きパケットをWAN側へ送信する。更に、送信データサイズに基づいて、状態管理テーブル400のWAN側送信バッファ管理ポインタを更新する。 The relay unit 100 reads the aligned data stored in the LAN side reception buffers 204-1 to 204-N for each request command and writes it to the WAN side transmission buffers 207-1 to 207-1. The WAN TCP processing unit 209 reads data from the WAN side transmission buffers 207-1 to 207-1 to N, transmits the read data as a packet, and transmits a packet with data to which the TCP header 520 is added to the WAN side. Further, the WAN side transmission buffer management pointer of the state management table 400 is updated based on the transmission data size.
 WAN側送信バッファ管理ポインタは、小さい順に、中継部100から書き込まれ送信可能な状態となっているデータの末尾を表すポインタwan_right_sbuf429、送信済みのデータの末尾を示すポインタwan_right_send428、及び受信側から確認応答を受信済みのデータの末尾を示すポインタwan_left_send427を含む。 The WAN side transmission buffer management pointers are, in ascending order, a pointer wan_right_sbuf 429 indicating the end of data written from the relay unit 100 and ready for transmission, a pointer wan_right_send 428 indicating the end of transmitted data, and an acknowledgment from the reception side. Includes a pointer wan_left_send 427 indicating the end of the received data.
 中継部100から書き込まれ送信可能な状態となっているデータの末尾を表すポインタwan_right_sbuf429は、中継部100が新たにデータを書き込む毎に、書き込んだデータサイズ分増加する。送信済みデータの末尾を示すポインタwan_right_send428を始点として増加する向きに新たなデータを読み出し、パケットヘッダを付加してWAN側へ送信される。wan_right_send428は、送信されたデータサイズ分増加する。WAN側から、wan_left_send427より大きな受信シーケンス番号を持つ確認応答パケットを受信すると、wan_left_send427は、確認応答パケットに記載された受信シーケンス番号へと増加する。 The pointer wan_right_sbuf 429 indicating the end of data written from the relay unit 100 and ready for transmission increases by the written data size each time the relay unit 100 newly writes data. New data is read in an increasing direction starting from a pointer wan_right_send 428 indicating the end of the transmitted data, and transmitted to the WAN side with a packet header added. The wan_right_send 428 increases by the transmitted data size. When an acknowledgment packet having a reception sequence number larger than wan_left_send 427 is received from the WAN side, wan_left_send 427 increases to the reception sequence number described in the acknowledgment packet.
 更に、図3を用いて、中継装置200におけるWANからLANへのデータの流れを説明する。 Further, a data flow from the WAN to the LAN in the relay apparatus 200 will be described with reference to FIG.
 WAN側から到着したデータ付きパケットは、WAN TCP処理部209に入力される。WAN TCP処理部209は、ACKパケットをWAN側に返信し、パケットに記載されたデータをWAN側受信バッファ208-1~Nへ格納する。更に、蓄積データサイズに基づいて状態管理テーブル400のWAN側受信バッファ管理ポインタを更新する。 The packet with data arriving from the WAN side is input to the WAN TCP processing unit 209. The WAN TCP processing unit 209 returns an ACK packet to the WAN side, and stores the data described in the packet in the WAN side reception buffers 208-1 to 208-N. Further, the WAN reception buffer management pointer of the state management table 400 is updated based on the accumulated data size.
 WAN側受信バッファ管理ポインタは、小さい順に、中継部100がすでに読み出し済のデータとまだ読み出していないデータとの境界を示すwan_left_rbuf421、整列済みデータと未整列データの境界を示すポインタwan_left_recv422、及び受信したデータの末尾を示すポインタwan_right_recv423を含む。整列済みデータと未整列データの境界を示すポインタwan_left_recv422、及び受信したデータの末尾を示すポインタwan_right_recv423は、パケット廃棄が発生せずに、前から順番にデータを受信すると、受信したデータサイズ分増える。 WAN side receive buffer management pointers are received in order from the smallest, wan_left_rbuf 421 indicating the boundary between the data that has already been read by the relay unit 100 and the data not yet read, the pointer wan_left_recv 422 indicating the boundary between the aligned data and the unaligned data, and received It includes a pointer wan_right_recv 423 indicating the end of the data. The pointer wan_left_recv 422 indicating the boundary between the aligned data and the unaligned data and the pointer wan_right_recv 423 indicating the end of the received data are increased by the received data size when the data is received in order from the front without packet discarding.
 パケット廃棄が発生するなどによって受信できずに歯抜けになったデータ箇所(ロスセグメント)が発生すると、受信したデータの末尾を示すポインタwan_right_recv423が、受信したデータサイズ分増える。ロスセグメントが存在する状態で、再送パケットを受信して、全てのロスセグメントが消滅すると、整列済みデータと未整列データの境界を示すポインタwan_left_recv422は、wan_right_recv423まで増加する。 When a data portion (loss segment) that cannot be received due to packet discard or the like is lost, a pointer wan_right_recv 423 indicating the end of the received data increases by the received data size. When a re-transmission packet is received in a state where a loss segment exists and all the loss segments disappear, the pointer wan_left_recv 422 indicating the boundary between the aligned data and the unaligned data increases to wan_right_recv 423.
 中継部100は、読出済データと未読出データの境界を示すwan_left_rbuf421から増加する方向に向かって順番にデータを読み出し、読み出したデータサイズ分、wan_left_rbuf421を増加させる。新たに読み出せるデータサイズの最大値は、wan_left_rbuf421とwan_left_recv422の差である。 The relay unit 100 reads data sequentially in an increasing direction from wan_left_rbuf 421 indicating the boundary between read data and unread data, and increases wan_left_rbuf 421 by the read data size. The maximum data size that can be newly read is the difference between wan_left_rbuf 421 and wan_left_recv 422.
 中継部100は、WAN側受信バッファ208-1~Nに格納された整列済みデータをリクエストコマンド毎に読み出し、LAN側送信バッファ205-1~Nへ書き込む。LAN TCP処理部203は、LAN側送信バッファ205-1~Nからデータを読み出し、読み出したデータをパケットにして、TCPヘッダ520を追加したデータ付きパケットをLAN側へ送信する。更に、送信データサイズに基づいて状態管理テーブル400のLAN側送信バッファ管理ポインタを更新する。 The relay unit 100 reads the aligned data stored in the WAN side reception buffers 208-1 to 208-N for each request command, and writes it to the LAN side transmission buffers 205-1 to N. The LAN TCP processing unit 203 reads data from the LAN-side transmission buffers 205-1 to 205-N, transmits the read data as a packet, and transmits a packet with data to which the TCP header 520 is added to the LAN side. Further, the LAN side transmission buffer management pointer of the state management table 400 is updated based on the transmission data size.
 LAN側送信バッファ管理ポインタは、小さい順に、中継部100から書き込まれ送信可能な状態となっているデータの末尾を表すポインタlan_right_sbuf416、送信済みのデータの末尾を示すポインタlan_right_send415、及び受信側から確認応答を受信済みのデータの末尾を示すポインタlan_left_send414がある。 The LAN side transmission buffer management pointers are, in ascending order, a pointer lan_right_sbuf 416 indicating the end of data written from the relay unit 100 and ready for transmission, a pointer lan_right_send 415 indicating the end of transmitted data, and an acknowledgment from the reception side. There is a pointer lan_left_send 414 indicating the end of the data that has been received.
 中継部100から書き込まれ送信可能な状態となっているデータの末尾を表すポインタlan_right_sbuf416は、中継部100が新たにデータを書き込む毎に、書き込んだデータサイズ分増加する。送信済みデータの末尾を示すポインタlan_right_send415を始点として増加する向きに新たなデータを読み出し、パケットヘッダを付加してWAN側へ送信される。lan_right_send415は、送信されたデータサイズ分増加する。LAN側から、lan_left_send414より大きな受信シーケンス番号を持つ確認応答パケットを受信すると、lan_left_send414は、確認応答パケットに記載された受信シーケンス番号へと増加する。 The pointer lan_right_sbuf 416 indicating the end of data written from the relay unit 100 and ready for transmission increases by the written data size each time the relay unit 100 newly writes data. New data is read in an increasing direction starting from a pointer lan_right_send 415 indicating the end of transmitted data, and transmitted to the WAN side with a packet header added. lan_right_send 415 increases by the transmitted data size. When an acknowledgment packet having a reception sequence number larger than lan_left_send 414 is received from the LAN side, lan_left_send 414 increases to the reception sequence number described in the acknowledgment packet.
 図6は、本実施例の中継装置200内の中継部100のブロック図である。 FIG. 6 is a block diagram of the relay unit 100 in the relay device 200 of this embodiment.
 中継部100は、LAN側中継部110、WAN側中継部120、LAN上限/消費数管理テーブル600及びWAN上限/消費数管理テーブル601を有する。 The relay unit 100 includes a LAN side relay unit 110, a WAN side relay unit 120, a LAN upper limit / consumption number management table 600, and a WAN upper limit / consumption number management table 601.
 LAN上限/消費数管理テーブル600は、LAN側のコマンド上限数と消費数を管理する。WAN上限/消費数管理テーブル601は、WAN側のコマンド上限数と消費数を管理する。 The LAN upper limit / consumption count management table 600 manages the command upper limit count and consumption count on the LAN side. The WAN upper limit / consumption number management table 601 manages the command upper limit number and consumption number on the WAN side.
 LAN側中継部110は、受信バッファ111、リクエスト受信処理部112、レスポンス送信処理部113、リクエスト作成部114、集約部115、レスポンス作成部116及びリクエスト作成部117を有する。 The LAN-side relay unit 110 includes a reception buffer 111, a request reception processing unit 112, a response transmission processing unit 113, a request creation unit 114, an aggregation unit 115, a response creation unit 116, and a request creation unit 117.
 受信バッファ111は、LAN側受信バッファ204から読み出したリクエストコマンドを格納する。リクエスト受信処理部112は、受信バッファ111からリクエストコマンドを読み出し転送先及び転送タイミングを決定する。リクエスト作成部117は、リクエスト受信処理部112から転送されたリクエストコマンドに基づいて新たなリクエストコマンドを作成する。レスポンス作成部116は、リクエスト受信処理部112から転送されたリクエストコマンドに基づいて、新たなレスポンスコマンドを作成する。集約部115は、レスポンス作成部116の作成したレスポンスコマンド及びWAN側中継部120から転送されたレスポンスコマンドを集約する。レスポンス送信処理部113は、集約部から転送されたレスポンスコマンドを受信してLAN側送信バッファ205やリクエスト作成部114に転送する。リクエスト作成部114は、レスポンス送信処理部113から転送されたレスポンスコマンドに基づいて新たなリクエストコマンドを作成する。 The reception buffer 111 stores the request command read from the LAN side reception buffer 204. The request reception processing unit 112 reads a request command from the reception buffer 111 and determines a transfer destination and transfer timing. The request creation unit 117 creates a new request command based on the request command transferred from the request reception processing unit 112. The response creation unit 116 creates a new response command based on the request command transferred from the request reception processing unit 112. The aggregating unit 115 aggregates the response command created by the response creating unit 116 and the response command transferred from the WAN side relay unit 120. The response transmission processing unit 113 receives the response command transferred from the aggregation unit and transfers the response command to the LAN side transmission buffer 205 and the request creation unit 114. The request creation unit 114 creates a new request command based on the response command transferred from the response transmission processing unit 113.
 WAN側中継部120は、リクエスト送信処理部121、集約部122、レスポンス受信処理部123及び受信バッファ124を有する。 The WAN-side relay unit 120 includes a request transmission processing unit 121, an aggregation unit 122, a response reception processing unit 123, and a reception buffer 124.
 受信バッファ124は、WAN側受信バッファ208から読み出したレスポンスコマンドを格納する。レスポンス受信処理部123は、受信バッファ124からレスポンスコマンドを読み出しLAN側中継部110へ転送する。集約部122は、LAN側中継部110のリクエスト受信処理部112やリクエスト作成部117やリクエスト作成部114から送られてきたリクエストコマンドを集約する。リクエスト送信処理部121は、集約部から転送されたリクエストコマンドを受信してWAN側送信バッファ207に転送する。 The reception buffer 124 stores the response command read from the WAN side reception buffer 208. The response reception processing unit 123 reads the response command from the reception buffer 124 and transfers it to the LAN side relay unit 110. The aggregation unit 122 aggregates request commands transmitted from the request reception processing unit 112, the request creation unit 117, and the request creation unit 114 of the LAN side relay unit 110. The request transmission processing unit 121 receives the request command transferred from the aggregation unit and transfers it to the WAN side transmission buffer 207.
 以上に説明した中継部100の各部の機能は、ハードウェアのモジュールで実装しても、ソフトウェアのモジュールで実装してもよい。 The functions of each unit of the relay unit 100 described above may be implemented by hardware modules or software modules.
 図7は、本実施例のLAN上限/消費数管理テーブル600及びWAN上限/消費数管理テーブル601の構成を説明する図である。 FIG. 7 is a diagram illustrating the configuration of the LAN upper limit / consumption number management table 600 and the WAN upper limit / consumption number management table 601 according to this embodiment.
 LAN上限/消費数管理テーブル600は、LAN側のコマンド上限数602及びLAN側のコマンド消費数603を含む。コマンド上限数602は、LAN側でやり取り可能なコマンド数の上限値を定める。コマンド消費数603は、LAN側でやり取りされているコマンド数を記録する。 The LAN upper limit / consumption number management table 600 includes a LAN side command upper limit number 602 and a LAN side command consumption number 603. The command upper limit number 602 defines an upper limit value of the number of commands that can be exchanged on the LAN side. The command consumption number 603 records the number of commands exchanged on the LAN side.
 LAN側中継部110のリクエスト受信処理部112は、LAN側からリクエストコマンドを受信すると、コマンド消費数603をインクリメントする。LAN側中継部110のレスポンス送信処理部113は、LAN側へレスポンスコマンドを送信すると、コマンド消費数603をデクリメントする。 When receiving a request command from the LAN side, the request reception processing unit 112 of the LAN side relay unit 110 increments the command consumption number 603. When the response transmission processing unit 113 of the LAN side relay unit 110 transmits a response command to the LAN side, the command consumption number 603 is decremented.
 さらに、リクエスト受信処理部112は、コマンド上限数602を変更する。例えば、LAN側へ送信したレスポンスコマンド550のフィールド内のcredits number554に記載された値が0であればコマンド上限数602を1減少し、2であればコマンド上限数602を1増加し、32であればコマンド上限数602を31増加する。 Furthermore, the request reception processing unit 112 changes the command upper limit number 602. For example, if the value described in credits number 554 in the field of response command 550 transmitted to the LAN side is 0, the command upper limit number 602 is decreased by 1, and if it is 2, the command upper limit number 602 is increased by 1, If there is, the command upper limit number 602 is increased by 31.
 WAN上限/消費数管理テーブル601は、WAN側のコマンド上限数604及びWAN側のコマンド消費数605を含む。コマンド上限数604は、WAN側でやり取り可能なコマンド数の上限値を定める。コマンド消費数605は、WAN側でやり取りされているコマンド数を記録する。 The WAN upper limit / consumption number management table 601 includes a WAN side command upper limit number 604 and a WAN side command consumption number 605. The command upper limit number 604 defines an upper limit value of the number of commands that can be exchanged on the WAN side. The command consumption number 605 records the number of commands exchanged on the WAN side.
 WAN側中継部120のリクエスト送信処理部121は、WAN側へリクエストコマンドを送信すると、コマンド消費数605をインクリメントする。WAN側中継部120のレスポンス受信処理部123は、WAN側からレスポンスコマンドを受信すると、コマンド消費数605をデクリメントする。 The request transmission processing unit 121 of the WAN side relay unit 120 increments the command consumption number 605 when a request command is transmitted to the WAN side. When receiving the response command from the WAN side, the response reception processing unit 123 of the WAN side relay unit 120 decrements the command consumption number 605.
 さらに、リクエスト送信処理部121は、コマンド上限数604を変更する。例えば、WAN側から受信したレスポンスコマンド550のフィールド内のcredits number554に記載されたが0であればコマンド上限数604を1減少し、2であればコマンド上限数604を1増加し、32であればコマンド上限数604を31増加する。 Furthermore, the request transmission processing unit 121 changes the command upper limit number 604. For example, it is described in credits number 554 in the response command 550 field received from the WAN side, but if it is 0, the command upper limit number 604 is decreased by 1, and if it is 2, the command upper limit number 604 is increased by 1, For example, the command upper limit number 604 is increased by 31.
 このように、本実施例の中継装置200は、LAN上限/消費数管理テーブル600とWAN上限/消費数管理テーブル601を用いてコマンド消費数と上限数を変更する。すなわち、クライアント端末701からコマンドを受信した場合に、LAN側コマンド消費数603を増加し、クライアント端末701へコマンドを送信した場合に、LAN側コマンド消費数603を減少する。また、クライアント端末701から受信したコマンドに従って、LAN側コマンド上限数602を増減する。さらに、サーバ702へコマンドを送信した場合に、WAN側コマンド消費数605を増加し、サーバ702からコマンドを受信した場合に、WAN側コマンド消費数605を減少する。また、サーバ702から受信したコマンドに従って、WAN側コマンド上限数604を増減する。 As described above, the relay apparatus 200 according to the present embodiment changes the command consumption number and the upper limit number using the LAN upper limit / consumption number management table 600 and the WAN upper limit / consumption number management table 601. That is, when a command is received from the client terminal 701, the LAN side command consumption number 603 is increased, and when a command is transmitted to the client terminal 701, the LAN side command consumption number 603 is decreased. Further, according to the command received from the client terminal 701, the LAN side command upper limit number 602 is increased or decreased. Further, the WAN side command consumption number 605 is increased when a command is transmitted to the server 702, and the WAN side command consumption number 605 is decreased when a command is received from the server 702. Further, according to the command received from the server 702, the WAN side command upper limit number 604 is increased or decreased.
 また、本実施例の中継装置200では、LAN側中継部110のリクエスト受信処理部112は、LAN上限/消費数管理テーブル600のコマンド上限数602とコマンド消費数603とを比較する。そして、コマンド消費数603がコマンド上限数602と等しい場合、リクエスト受信処理部112は、受信バッファ111からのリクエストコマンドの読み出しを停止する。一方、コマンド消費数603がコマンド上限数602より小さい場合、リクエスト受信処理部112は、受信バッファ111からリクエストコマンドを読み出す。これにより、LANのコマンド消費数が上限数と等しい場合に、リクエストコマンド受信処理を行わずに、LANから受信したリクエストコマンドを受信バッファ111に格納する。一方、LANのコマンド消費数が上限数より小さい場合は、LANからのリクエストコマンドを受信バッファ111から読み出し、リクエストコマンド受信処理を行う。 In the relay apparatus 200 of this embodiment, the request reception processing unit 112 of the LAN side relay unit 110 compares the command upper limit number 602 and the command consumption number 603 in the LAN upper limit / consumption number management table 600. If the command consumption number 603 is equal to the command upper limit number 602, the request reception processing unit 112 stops reading the request command from the reception buffer 111. On the other hand, when the command consumption number 603 is smaller than the command upper limit number 602, the request reception processing unit 112 reads the request command from the reception buffer 111. Thereby, when the command consumption number of the LAN is equal to the upper limit number, the request command received from the LAN is stored in the reception buffer 111 without performing the request command reception process. On the other hand, when the command consumption number of the LAN is smaller than the upper limit number, a request command from the LAN is read from the reception buffer 111, and a request command reception process is performed.
 また、本実施例の中継装置200では、WAN側中継部120のリクエスト送信処理部121は、WAN上限/消費数管理テーブル601のコマンド上限数604とコマンド消費数605を比較する。そして、リクエスト送信処理部121は、コマンド消費数605がコマンド上限数604と等しい場合、リクエストコマンドのWAN側送信バッファ207への転送を停止する。一方、コマンド消費数605がコマンド上限数604より小さい場合、リクエスト送信処理部121は、リクエストコマンドをWAN側送信バッファ207に転送する。これにより、WAN側のコマンド消費数と上限数が等しい場合に、WANへのリクエスト送信処理を停止し、WAN側のコマンド消費数が上限数より小さい場合に、WANへのリクエスト送信処理を行う。 In the relay apparatus 200 of this embodiment, the request transmission processing unit 121 of the WAN-side relay unit 120 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. Then, when the command consumption number 605 is equal to the command upper limit number 604, the request transmission processing unit 121 stops the transfer of the request command to the WAN side transmission buffer 207. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request transmission processing unit 121 transfers the request command to the WAN side transmission buffer 207. Thereby, when the command consumption number on the WAN side is equal to the upper limit number, the request transmission process to the WAN is stopped, and when the command consumption number on the WAN side is smaller than the upper limit number, the request transmission process to the WAN is performed.
 さらに、本実施例の中継装置200では、LAN側中継部110のリクエスト受信処理部112は、WAN上限/消費数管理テーブル601のコマンド上限数604とコマンド消費数605とを比較する。そして、コマンド消費数605がコマンド上限数604と等しい場合、受信バッファ111からのリクエストコマンドの読み出しを停止する。一方、コマンド消費数605がコマンド上限数604より小さい場合、リクエスト受信処理部112は、受信バッファ111からリクエストコマンドを読み出す。これにより、WAN側のコマンド消費数と上限数が等しい場合、LANからのリクエストコマンド受信処理を行わずに、LANから受信したリクエストコマンドを受信バッファ111に格納する。一方、WAN側のコマンド消費数が上限数より小さい場合は、LANからのリクエストコマンドを受信バッファ111から読み出し、リクエストコマンド受信処理を行う。 Furthermore, in the relay device 200 of this embodiment, the request reception processing unit 112 of the LAN side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. When the command consumption number 605 is equal to the command upper limit number 604, reading of the request command from the reception buffer 111 is stopped. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request reception processing unit 112 reads the request command from the reception buffer 111. Thus, when the command consumption number on the WAN side is equal to the upper limit number, the request command received from the LAN is stored in the reception buffer 111 without performing the request command reception process from the LAN. On the other hand, when the command consumption number on the WAN side is smaller than the upper limit number, a request command from the LAN is read from the reception buffer 111 and a request command reception process is performed.
 また、本実施例の中継装置200では、LAN側中継部110のレスポンス送信処理部113は、WAN上限/消費数管理テーブル601のコマンド上限数604とコマンド消費数605との差と、LAN上限/消費数管理テーブル600のコマンド上限数602とコマンド消費数603の差とを比較する。そして、WAN側のコマンド上限数と消費数の差が、LAN側のコマンド上限数と消費数の差より大きい場合、レスポンス送信処理部113は、LAN側に送信するレスポンスコマンドのcredits number554の値を大きい値に書き換え、LAN側のコマンド上限数を大きくする。一方、WAN側のコマンド上限数と消費数の差が、LAN側のコマンド上限数と消費数の差より小さい場合、レスポンス送信処理部113は、LAN側に送信するレスポンスコマンドのcredits number554の値を小さい値に書き換え、LAN側のコマンド上限数を小さくする。これにより、LAN側に送信するレスポンスコマンドに記載する上限数の増減に関連するフィールドを変更して、WAN側のコマンド上限数と消費数の差が、LAN側のコマンド上限数と消費数の差と一致させることができる。また、本中継装置200によって、LAN側とWAN側とのコマンド上限数と消費数の状態を一致させることができ、WAN側でコマンド消費数が上限数を超過したり、LAN側でコマンド上限数が不足したりするのを防ぐことができる。 In the relay apparatus 200 of the present embodiment, the response transmission processing unit 113 of the LAN side relay unit 110 determines the difference between the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601 and the LAN upper limit / The difference between the command upper limit number 602 and the command consumption number 603 in the consumption number management table 600 is compared. When the difference between the command upper limit number and the consumption number on the WAN side is larger than the difference between the command upper limit number and the consumption number on the LAN side, the response transmission processing unit 113 sets the value of the credits number 554 of the response command to be transmitted to the LAN side. Rewrite it to a larger value to increase the command limit on the LAN side. On the other hand, if the difference between the command limit on the WAN side and the consumption count is smaller than the difference between the command limit on the LAN side and the consumption count, the response transmission processing unit 113 sets the value of the credits number 554 of the response command to be transmitted to the LAN side. Rewrite to a smaller value to reduce the command limit on the LAN side. As a result, the field related to increase / decrease of the upper limit number described in the response command transmitted to the LAN side is changed, and the difference between the upper limit number of commands and the consumption number on the WAN side is the difference between the upper limit number of commands on the LAN side and the consumption number Can be matched. Further, the relay apparatus 200 can match the state of the command upper limit number and the consumption number on the LAN side and the WAN side, the command consumption number exceeds the upper limit number on the WAN side, or the command upper limit number on the LAN side. Can be prevented.
 また、本実施例の中継装置200では、LAN側中継部110のリクエスト作成部117は、WAN上限/消費数管理テーブル601のコマンド上限数604とコマンド消費数605とを比較する。そして、コマンド消費数603がコマンド上限数602と等しい場合に、WANへの新規リクエストの作成を停止する。一方、コマンド消費数605がコマンド上限数604より小さい場合、リクエスト作成部117は、WANへの新規リクエストを作成する。これにより、WAN側のコマンド上限数と消費数が一致する場合、LANからのリクエストの受信をトリガにした、WANへの新規リクエストの作成を停止する。一方、WAN側のコマンド消費数が上限数より小さい場合、LANからのリクエストの受信をトリガにした、WANへの新規リクエストを作成する。 In the relay apparatus 200 of this embodiment, the request creation unit 117 of the LAN side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. When the command consumption number 603 is equal to the command upper limit number 602, the creation of a new request to the WAN is stopped. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request creation unit 117 creates a new request to the WAN. As a result, if the upper limit number of commands on the WAN side and the number of consumptions match, creation of a new request to the WAN triggered by reception of a request from the LAN is stopped. On the other hand, when the number of commands consumed on the WAN side is smaller than the upper limit number, a new request to the WAN is created triggered by reception of a request from the LAN.
 また、本実施例の中継装置200では、LAN側中継部110のレスポンス作成部116は、WAN上限/消費数管理テーブル601のコマンド上限数604とコマンド消費数605とを比較する。そして、コマンド消費数603がコマンド上限数602と等しい場合、LANへの新規レスポンスの作成を停止する。コマンド消費数605がコマンド上限数604より小さい場合、LANへの新規レスポンスを作成する。これにより、WAN側のコマンド上限数と消費数が一致する場合、LANからのリクエスト受信をトリガにした、LANへのレスポンスの作成を停止する。一方、WAN側のコマンド消費数が上限数より小さい場合、LANからのリクエスト受信をトリガにした、LANへのレスポンスを作成する。 In the relay device 200 of this embodiment, the response creation unit 116 of the LAN side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. When the command consumption number 603 is equal to the command upper limit number 602, the creation of a new response to the LAN is stopped. When the command consumption number 605 is smaller than the command upper limit number 604, a new response to the LAN is created. As a result, when the upper limit number of commands on the WAN side and the number of consumptions match, creation of a response to the LAN triggered by reception of a request from the LAN is stopped. On the other hand, if the number of commands consumed on the WAN side is smaller than the upper limit number, a response to the LAN is created using a request reception from the LAN as a trigger.
 また、本実施例の中継装置200では、LAN側中継部110のリクエスト作成部114は、WAN上限/消費数管理テーブル601のコマンド上限数604とコマンド消費数605とを比較する。そして、コマンド消費数603がコマンド上限数602と等しい場合、WANへの新規リクエストの作成を停止する。一方、コマンド消費数605がコマンド上限数604より小さい場合、リクエスト作成部114は、WANへの新規リクエストを作成する。これにより、WAN側のコマンド上限数と消費数が一致する場合、LANへのレスポンス送信をトリガにした、WANへの新規リクエストの作成を停止する。一方、WAN側のコマンド消費数が上限数より小さい場合、LANへのレスポンスの送信をトリガにした、WANへの新規リクエストを作成する。 In the relay device 200 of this embodiment, the request creation unit 114 of the LAN-side relay unit 110 compares the command upper limit number 604 and the command consumption number 605 in the WAN upper limit / consumption number management table 601. When the command consumption number 603 is equal to the command upper limit number 602, the creation of a new request to the WAN is stopped. On the other hand, when the command consumption number 605 is smaller than the command upper limit number 604, the request creation unit 114 creates a new request to the WAN. As a result, when the upper limit number of commands on the WAN side and the number of consumptions match, creation of a new request to the WAN triggered by response transmission to the LAN is stopped. On the other hand, when the number of commands consumed on the WAN side is smaller than the upper limit number, a new request to the WAN is created using a response transmission to the LAN as a trigger.
 前述したLAN側中継部110のリクエスト作成部114及びリクエスト作成部117によって、WAN側のコマンド上限数と消費数が一致する場合に、WANへの新規リクエスト作成を停止し、WAN側のコマンド消費数が上限数を下回る場合に、WANへの新規リクエスト作成を実施することができる。 When the request creation unit 114 and the request creation unit 117 of the LAN side relay unit 110 described above match the upper limit number of commands on the WAN side and the consumption number, the creation of new requests to the WAN is stopped, and the command consumption number on the WAN side If the number is less than the upper limit, a new request can be created to the WAN.
 以降では、前述した中継装置200の具体的な処理手順、及び実現する効果の七つの例について詳細に説明する。 Hereinafter, specific examples of the processing procedure of the relay device 200 and seven examples of effects to be realized will be described in detail.
 まず、図8及び図9を用いて、本実施例の中継装置が行う処理手順及び実現する効果の一つ目の例について詳細に説明する。 First, using FIG. 8 and FIG. 9, the first example of the processing procedure performed by the relay apparatus of the present embodiment and the realized effect will be described in detail.
 図8は、本実施例の中継装置が行う処理によるシーケンス図である。図9は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 8 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 9 is a flowchart of processing performed by the relay device of this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 まず、ファイル共有プロトコルを用いて通信するクライアント端末701とサーバ702の間に設置された中継装置200が、クライアント端末701からサーバ702に向かうリクエストコマンド、及び、サーバ702からクライアント端末701に向かうレスポンスコマンドを中継する機能を説明する。 First, a relay device 200 installed between a client terminal 701 and a server 702 that communicate using a file sharing protocol receives a request command from the client terminal 701 to the server 702, and a response command from the server 702 to the client terminal 701. The function of relaying will be described.
 例えば、中継装置200は、クライアント端末701からのファイルリードのリクエストを転送する際、ファイルリードリクエストの送信をトリガとして、後続するデータを先読みするリクエストをサーバ702に送信する。 For example, when transferring a file read request from the client terminal 701, the relay apparatus 200 transmits a request for prefetching subsequent data to the server 702 with the transmission of the file read request as a trigger.
 具体的には、中継装置200は、クライアント端末701からサーバ702に送信されるリクエストコマンド(A)1001を中継する際に、新たに三つのリクエストコマンド(a-1~a-3)1003~1005を生成し、サーバ702に送信する。なお、リクエストコマンド(A)1001の中継装置200からサーバ702への転送は図示を省略した。 Specifically, when relay apparatus 200 relays request command (A) 1001 transmitted from client terminal 701 to server 702, three request commands (a-1 to a-3) 1003 to 1005 are newly added. Is transmitted to the server 702. Note that the transfer of the request command (A) 1001 from the relay apparatus 200 to the server 702 is not shown.
 この場合、サーバ側のコマンド消費数が4であるが、クライアント側のコマンド消費数は1となり、状態の不一致が発生する。中継装置200が、サーバ702から、全てのリクエストコマンドに対するレスポンスコマンドを受信すると、サーバ側のコマンド消費数が0となる。さらに、中継装置200がリクエストコマンド(A)1001に対するレスポンスコマンドをクライアント端末701へ送信すると、クライアント側のコマンド消費数も0となる。 In this case, the number of command consumption on the server side is 4, but the number of command consumption on the client side is 1, and a state mismatch occurs. When the relay apparatus 200 receives response commands for all request commands from the server 702, the number of command consumptions on the server side becomes zero. Furthermore, when the relay apparatus 200 transmits a response command to the request command (A) 1001 to the client terminal 701, the number of commands consumed on the client side is also zero.
 具体的には、WAN側のコマンドの上限数が消費数より大きい状態で(1002)、中継装置200が、クライアント端末701からリクエストコマンド(A)1001を受け取り、新たに三つのリクエストコマンド(a-1~a-3)1003~1005を生成して、サーバ702へ送信した。これによって、WAN側のコマンド消費数が上限数と等しくなった(1006)。 Specifically, in a state where the upper limit number of commands on the WAN side is larger than the consumption number (1002), the relay apparatus 200 receives the request command (A) 1001 from the client terminal 701, and newly adds three request commands (a− 1 to a-3) 1003 to 1005 are generated and transmitted to the server 702. As a result, the command consumption number on the WAN side becomes equal to the upper limit number (1006).
 その後、中継装置200が、クライアント端末701からのリクエストコマンドの到着を待機している状態で(ステップ2101)、クライアント端末701からリクエストコマンド(B)1007を受け取ると、中継装置200は、WAN側のコマンド消費数が上限数と等しいかを判定する(ステップ2102)。その結果、WAN側のコマンド消費数が上限数と等しい場合、リクエストコマンド(B)1007を受信バッファ111に格納し、WAN側のコマンド消費数が上限数と等しいかを繰り返し判定する。 After that, when the relay apparatus 200 is waiting for the arrival of the request command from the client terminal 701 (step 2101) and receives the request command (B) 1007 from the client terminal 701, the relay apparatus 200 receives the request from the WAN side. It is determined whether the command consumption number is equal to the upper limit number (step 2102). As a result, when the command consumption number on the WAN side is equal to the upper limit number, the request command (B) 1007 is stored in the reception buffer 111, and it is repeatedly determined whether the command consumption number on the WAN side is equal to the upper limit number.
 その後、サーバ702からレスポンスコマンド(a-1)1008を受け取り、WAN側のコマンド消費数が上限数より小さくなると(1009)、リクエスト受信処理部112は、受信バッファ111に格納したリクエストコマンド(B)1007を読み出して、リクエスト送信処理部121へ転送する(ステップ2103)。リクエスト送信処理部121は、転送されたリクエストコマンド(B)1007を、リクエストコマンド(B)1010としてWAN側へ転送する。 Thereafter, a response command (a-1) 1008 is received from the server 702, and when the number of commands consumed on the WAN side becomes smaller than the upper limit number (1009), the request reception processing unit 112 receives the request command (B) stored in the reception buffer 111. 1007 is read and transferred to the request transmission processing unit 121 (step 2103). The request transmission processing unit 121 transfers the transferred request command (B) 1007 as a request command (B) 1010 to the WAN side.
 このように、WAN側のコマンド消費数が上限数と等しい場合に、LANからのリクエストコマンドの受信処理を行わず、到着したリクエストコマンドをバッファに蓄積する。そして、WAN側のコマンド消費数が上限数より小さくなった場合に、LANからのリクエストコマンドをバッファから読み出して受信処理を再開する。これによって、WAN側のコマンド消費数が上限数より大きくなることによるエラーの発生及びコネクションの強制切断を防ぎ、クライアント端末とサーバとの間の通信の遅延による性能の劣化を防止することができる。 As described above, when the command consumption number on the WAN side is equal to the upper limit number, the received request command is stored in the buffer without receiving the request command from the LAN. When the command consumption number on the WAN side becomes smaller than the upper limit number, the request command from the LAN is read from the buffer and the reception process is resumed. As a result, it is possible to prevent the occurrence of an error and the forced disconnection of the connection due to the command consumption number on the WAN side being larger than the upper limit number, and it is possible to prevent the performance deterioration due to the communication delay between the client terminal and server.
 さらに、図10及び図11を用いて、本実施例の中継装置が行う処理手順及び実現する効果の二つ目の例について詳細に説明する。 Furthermore, a second example of the processing procedure performed by the relay apparatus of the present embodiment and the effect to be realized will be described in detail with reference to FIGS.
 図10は、本実施例の中継装置が行う処理によるシーケンス図である。図11は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 10 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 11 is a flowchart of processing performed by the relay device according to this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 WAN側のコマンド消費数が上限数と等しい状態で(1202)、中継装置200は、レスポンスコマンド生成のトリガとなるリクエストコマンドが、クライアント端末701から到着するのを待っている(ステップ2301)。この状態で、中継装置200がクライアント端末701からリクエストコマンド(A)1201を受け取ると、リクエスト受信処理部112は、受け取ったリクエストコマンド(A)1201を受信バッファ111に蓄積し、レスポンス作成部116へ転送する(ステップ2302)。 In a state where the command consumption number on the WAN side is equal to the upper limit number (1202), the relay apparatus 200 is waiting for a request command that triggers response command generation to arrive from the client terminal 701 (step 2301). In this state, when the relay apparatus 200 receives the request command (A) 1201 from the client terminal 701, the request reception processing unit 112 accumulates the received request command (A) 1201 in the reception buffer 111 and sends it to the response creation unit 116. Transfer (step 2302).
 レスポンス作成部116は、転送されたリクエストコマンド(A)1201に基づいて、LAN側へレスポンスコマンド(A)1203を返信する。 The response creation unit 116 returns a response command (A) 1203 to the LAN side based on the transferred request command (A) 1201.
 リクエスト受信処理部112は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2303)、WAN側のコマンド消費数が上限数より小さくなるまで、受信バッファ111に格納したリクエストコマンド(A)1201の読み出しを停止する。その間、LAN側では、リクエストコマンド(A)1201に対するレスポンスコマンド(A)1203の応答が完了しているにも関わらず、WAN側では、リクエストコマンド(A)1201が中継されていないという状態の不一致が発生する(1204)。この不一致が長期間にわたると、障害リスクが高くなる。 The request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2303), and the request command stored in the reception buffer 111 (until the command consumption number on the WAN side becomes smaller than the upper limit number). A) The reading of 1201 is stopped. Meanwhile, on the LAN side, the request command (A) 1201 is not relayed on the WAN side even though the response of the response command (A) 1203 to the request command (A) 1201 has been completed. Occurs (1204). If this discrepancy is over a long period of time, the risk of failure increases.
 その後、中継装置200がサーバ702からレスポンスコマンド1206を受け取り、WAN側のコマンド消費数が上限数より小さくなると(1205)、リクエスト受信処理部112は、受信バッファ111に格納したリクエストコマンドの読み出しを再開し、読み出したリクエストコマンド(A)1201をリクエスト送信処理部121へ転送する(ステップ2304)。 Thereafter, when the relay device 200 receives the response command 1206 from the server 702 and the WAN side command consumption number becomes smaller than the upper limit number (1205), the request reception processing unit 112 resumes reading the request command stored in the reception buffer 111. Then, the read request command (A) 1201 is transferred to the request transmission processing unit 121 (step 2304).
 このように、WAN側のコマンド消費数が上限数と等しい場合に、LANからのリクエストコマンドの受信処理を行わず、到着したリクエストコマンドをバッファに蓄積する。そして、WAN側のコマンド消費数が上限数より小さくなった場合に、LANからのリクエストコマンドをバッファから読み出して受信処理を再開する。これによって、WAN側のコマンド消費数が上限数より大きくなることによるエラーの発生及びコネクションの強制切断を防ぎ、クライアント端末とサーバとの間の通信の遅延による性能の劣化を防止することができる。 As described above, when the command consumption number on the WAN side is equal to the upper limit number, the received request command is stored in the buffer without receiving the request command from the LAN. When the command consumption number on the WAN side becomes smaller than the upper limit number, the request command from the LAN is read from the buffer and the reception process is resumed. As a result, it is possible to prevent the occurrence of an error and the forced disconnection of the connection due to the command consumption number on the WAN side being larger than the upper limit number, and it is possible to prevent the performance deterioration due to the communication delay between the client terminal and server.
 一方、前述した実施例では、LAN側においてリクエストコマンドに対するレスポンスコマンドの応答が完了している場合でも、WAN側では、対応するリクエストコマンドが送信されていないという、状態の不一致が長期間にわたり発生し、中継装置200が故障したときのリスクが高くなる問題がある。 On the other hand, in the above-described embodiment, even if the response of the response command to the request command is completed on the LAN side, the WAN does not transmit a corresponding request command, and a state mismatch occurs over a long period of time. There is a problem that the risk when the relay device 200 breaks down increases.
 前述した問題を解決する実施例について、図12及び図13を用いて詳細に説明する。この実施例の中継装置が行う処理手順及び実現する効果の三つ目の例である。 An embodiment for solving the above-described problem will be described in detail with reference to FIGS. It is the 3rd example of the process procedure which the relay apparatus of this Example performs, and the effect implement | achieved.
 図12は、本実施例の中継装置が行う処理によるシーケンス図である。図13は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 12 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 13 is a flowchart of processing performed by the relay device of this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 WAN側のコマンド消費数が上限数と等しい状態で(1302)、中継装置200は、レスポンスコマンド生成のトリガとなるリクエストコマンドが、クライアント端末701から到着するのを待っている(ステップ2401)。この状態で、中継装置200がクライアント端末701からリクエストコマンド(A)1301を受け取ると、リクエスト受信処理部112は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2402)、WAN側のコマンド消費数が上限数より小さくなるまで、受信バッファ111に蓄積したリクエストコマンド(A)1301の読み出しを停止する。 In a state where the command consumption number on the WAN side is equal to the upper limit number (1302), the relay apparatus 200 waits for a request command that triggers response command generation to arrive from the client terminal 701 (step 2401). In this state, when the relay apparatus 200 receives the request command (A) 1301 from the client terminal 701, the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2402), and WAN Reading of the request command (A) 1301 accumulated in the reception buffer 111 is stopped until the command consumption number on the side becomes smaller than the upper limit number.
 その後、中継装置200がサーバ702からレスポンスコマンド1303を受け取り、WAN側のコマンド消費数が上限数より小さくなると(1304)、リクエスト受信処理部112は、受信バッファ111に格納したリクエストコマンドの読み出しを再開し、読み出したリクエストコマンド(A)1301をレスポンス作成部116及びリクエスト送信処理部121へ転送する(ステップ2403、ステップ2404)。 Thereafter, when the relay apparatus 200 receives the response command 1303 from the server 702 and the WAN command consumption number becomes smaller than the upper limit number (1304), the request reception processing unit 112 resumes reading the request command stored in the reception buffer 111. Then, the read request command (A) 1301 is transferred to the response creation unit 116 and the request transmission processing unit 121 (step 2403, step 2404).
 レスポンス作成部116は、転送されたリクエストコマンド(A)1301に基づいて、LAN側へレスポンスコマンド(A)1305を返信する。リクエスト送信処理部121は、転送されたリクエストコマンド(A)1301をWAN側へ送信する。 The response creation unit 116 returns a response command (A) 1305 to the LAN side based on the transferred request command (A) 1301. The request transmission processing unit 121 transmits the transferred request command (A) 1301 to the WAN side.
 このように、WAN側のコマンド消費数と上限数が等しい場合に、LANからのリクエストコマンドの受信をトリガとしたLANへのレスポンスコマンド返信を停止する。また、WAN側のコマンド消費数が上限数より小さい場合に、LANからのリクエストコマンド受信をトリガとしたLANへのレスポンスコマンド返信処理を再開する。このため、LAN側において、リクエストコマンドに対するレスポンスコマンドの応答が完了している場合に、WAN側では、対応するリクエストコマンドが送信されていないという、状態の不一致が長期間にわたり発生することを防止し、故障時のリスクを小さくすることができる。 In this way, when the number of commands consumed on the WAN side is equal to the upper limit number, the response command response to the LAN triggered by reception of the request command from the LAN is stopped. Also, when the command consumption number on the WAN side is smaller than the upper limit number, the response command return process to the LAN triggered by reception of the request command from the LAN is resumed. For this reason, when the response of the response command to the request command is completed on the LAN side, it is possible to prevent the state mismatch that the corresponding request command is not transmitted on the WAN side from occurring for a long time. The risk at the time of failure can be reduced.
 さらに、図14及び図15を用いて、本実施例の中継装置が行う処理手順及び実現する効果の二つ目の例について詳細に説明する。 Furthermore, a second example of the processing procedure performed by the relay apparatus of the present embodiment and the effect to be realized will be described in detail with reference to FIGS.
 図14は、本実施例の中継装置が行う処理によるシーケンス図である。図15は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 14 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 15 is a flowchart of processing performed by the relay device of this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 WAN側のコマンド消費数が上限数と等しい状態で(1503)、中継装置200は、リクエストコマンド生成のトリガとなるリクエストコマンドが、クライアント端末701から到着するのを待っている(ステップ2601)。この状態で、中継装置200がクライアント端末701からリクエストコマンド(A)1501を受け取り、その後、リクエストコマンド(B)1502を受け取った。 In a state where the command consumption number on the WAN side is equal to the upper limit number (1503), the relay apparatus 200 waits for a request command that triggers generation of a request command to arrive from the client terminal 701 (step 2601). In this state, the relay apparatus 200 receives the request command (A) 1501 from the client terminal 701, and then receives the request command (B) 1502.
 リクエスト受信処理部112は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2602)、WAN側のコマンド消費数が上限数より小さくなるまで、受信バッファ111に格納したリクエストコマンド(A)1501の読み出しを停止する。その後、レスポンス受信処理部123がサーバ702からレスポンスコマンド1505を受け取り、WAN側のコマンド消費数が上限数より小さくなると(1504)、リクエスト受信処理部112は、受信バッファ111に格納したリクエストコマンドの読み出しを再開し、読み出したリクエストコマンド(A)1501をリクエスト作成部117へ転送する(ステップ2603)。 The request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2602), and the request command stored in the reception buffer 111 (until the command consumption number on the WAN side becomes smaller than the upper limit number). A) Stop reading 1501. Thereafter, when the response reception processing unit 123 receives the response command 1505 from the server 702 and the WAN side command consumption number becomes smaller than the upper limit number (1504), the request reception processing unit 112 reads the request command stored in the reception buffer 111. And the read request command (A) 1501 is transferred to the request creation unit 117 (step 2603).
 リクエスト作成部117は、新たに三つのリクエストコマンド(a-1)1506、(a-2)1508、(a-3)1510を生成する(ステップ2604)。その後、リクエスト作成部117は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2605)、WAN側のコマンド消費数が上限数より一つ小さくなるので、リクエスト送信処理部121は、作成したリクエストコマンドの一つであるリクエストコマンド(a-1)1506をリクエスト送信処理部121へ転送する(ステップ2606)。 The request creation unit 117 newly generates three request commands (a-1) 1506, (a-2) 1508, and (a-3) 1510 (step 2604). Thereafter, the request creation unit 117 determines whether the command consumption number on the WAN side is equal to the upper limit number (Step 2605), and the command transmission number on the WAN side becomes one smaller than the upper limit number. Then, the request command (a-1) 1506, which is one of the created request commands, is transferred to the request transmission processing unit 121 (step 2606).
 リクエスト送信処理部121がリクエストコマンド(a-1)1506をWANへ送信すると、WAN側のコマンド消費数が一つ増加し、WAN側のコマンド消費数が上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a-1) 1506 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side becomes equal to the upper limit number.
 リクエスト送信処理部121は、未送信の新規リクエストコマンドがあるかを判定し(ステップ2607)、新たに生成した二つのリクエストコマンドが未送信なので、再度、WAN側のコマンド消費数が上限数と等しいかを判定する(ステップ2605)。その結果、リクエスト送信処理部121は、WAN側のコマンド消費数が上限数より小さくなるまで、新たに生成されたリクエストコマンドのリクエスト送信処理部121への転送を停止して、待機する。 The request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2607), and since the two newly generated request commands have not been transmitted, the command consumption number on the WAN side is again equal to the upper limit number. Is determined (step 2605). As a result, the request transmission processing unit 121 stops the transfer of the newly generated request command to the request transmission processing unit 121 and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
 その後、中継装置200がサーバ702からレスポンスコマンド1507を受け取り、WAN側のコマンド消費数が上限数より一つ小さくなると、新たに生成したリクエストコマンドの一つであるリクエストコマンド(a-2)1508がリクエスト送信処理部121に転送される(ステップ2606)。 After that, when the relay apparatus 200 receives the response command 1507 from the server 702 and the number of commands consumed on the WAN side becomes one less than the upper limit number, a request command (a-2) 1508 which is one of newly generated request commands is obtained. It is transferred to the request transmission processing unit 121 (step 2606).
 リクエスト送信処理部121がリクエストコマンド(a-2)1508をWANへ送信すると、WAN側のコマンド消費数が一つ増加し、再び、WAN側のコマンド消費数が上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a-2) 1508 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side again becomes equal to the upper limit number.
 リクエスト送信処理部121は、未送信の新規リクエストコマンドがあるかを判定し(ステップ2607)、新たに生成した一つのリクエストコマンドが未送信なので、再度、WAN側のコマンド消費数が上限数と等しいかを判定する(ステップ2605)。リクエスト送信処理部121は、WAN側のコマンド消費数が上限数より小さくなるまで、新たに生成されたリクエストコマンドのリクエスト送信処理部121への転送を停止して、待機する。 The request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2607). Since one newly generated request command has not been transmitted, the command consumption number on the WAN side is again equal to the upper limit number. Is determined (step 2605). The request transmission processing unit 121 stops transfer of the newly generated request command to the request transmission processing unit 121 and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
 その後、中継装置200がサーバ702からレスポンスコマンド1509を受け取り、WAN側のコマンド消費数が上限数より小さくなると、新たに生成したリクエストコマンドの最後の一つであるリクエストコマンド(a-3)1510がリクエスト送信処理部121に転送される(ステップ2606)。 After that, when the relay apparatus 200 receives the response command 1509 from the server 702 and the number of commands consumed on the WAN side becomes smaller than the upper limit number, the request command (a-3) 1510 which is the last one of the newly generated request commands is It is transferred to the request transmission processing unit 121 (step 2606).
 リクエスト送信処理部121がリクエストコマンド(a-3)1510をWANへ送信すると、WAN側のコマンド消費数が一つ増加し、再び、WAN側のコマンド消費数が上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a-3) 1510 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side again becomes equal to the upper limit number.
 リクエスト送信処理部121は、未送信の新規リクエストコマンドがあるかを判定し(ステップ2607)、未送信の新規リクエストコマンドがなくなると、新たに生成したリクエストコマンドの送信を終了する。 The request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2607). When there is no new request command that has not been transmitted, the transmission of the newly generated request command is terminated.
 その後、中継装置200がサーバ702からレスポンスコマンド1512を受け取り、WAN側のコマンド消費数が上限数より小さくなると、リクエスト送信処理部121は、リクエストコマンド(B)1502をリクエストコマンド(B)1513としてWAN側へ送信する。 Thereafter, when the relay apparatus 200 receives the response command 1512 from the server 702 and the WAN command consumption number becomes smaller than the upper limit number, the request transmission processing unit 121 sets the request command (B) 1502 as the request command (B) 1513 and the WAN. To the side.
 このように、WAN側のコマンド消費数と上限数が等しい場合は、LANからのリクエストコマンドをトリガにして新たに生成したリクエストコマンドのWANへの転送を停止し、WANのコマンド消費数が上限数より小さくなったらリクエストコマンドの転送を再開する。これによって、WAN側のコマンド消費数が上限数より大きくなることによるエラーの発生とコネクションの強制切断を防ぎ、クライアント端末とサーバとの間の通信の遅延によって性能が劣化することを防止することができる。 As described above, when the upper limit number is equal to the command consumption number on the WAN side, the transfer of the newly generated request command to the WAN with the request command from the LAN as a trigger is stopped, and the WAN command consumption number is the upper limit number. When it becomes smaller, transfer of request command is resumed. This prevents the occurrence of errors and forced disconnection due to the number of commands consumed on the WAN side exceeding the upper limit, and prevents performance degradation due to communication delay between the client terminal and the server. it can.
 一方、前述した実施例では、LANからのリクエストコマンドをトリガにして生成した新規コマンドが全てWANへ転送されるまで、LAN側から受信した後続のリクエストコマンドがWANへ転送されず、コマンド応答時間が劣化する問題がある。 On the other hand, in the above-described embodiment, subsequent request commands received from the LAN side are not transferred to the WAN until all new commands generated by using the request command from the LAN as a trigger are transferred to the WAN, and the command response time is There is a problem of deterioration.
 前述した問題を解決する実施例について、図16及び図17を用いて詳細に説明する。この実施例の中継装置が行う処理手順及び実現する効果の三つ目の例である。 An embodiment that solves the above-described problem will be described in detail with reference to FIGS. It is the 3rd example of the process procedure which the relay apparatus of this Example performs, and the effect implement | achieved.
 図16は、本実施例の中継装置が行う処理によるシーケンス図である。図17は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 16 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 17 is a flowchart of processing performed by the relay device of this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 WAN側のコマンド消費数が上限数と等しい状態で(1603)、中継装置200は、リクエストコマンド生成のトリガとなるリクエストコマンドが、クライアント端末701から到着するのを待っている(ステップ2701)。この状態で、中継装置200がクライアント端末701からリクエストコマンド(A)1601を受け取り、その後、リクエストコマンド(B)1602を受け取った。 In a state where the command consumption number on the WAN side is equal to the upper limit number (1603), the relay apparatus 200 is waiting for a request command that triggers generation of a request command to arrive from the client terminal 701 (step 2701). In this state, the relay apparatus 200 receives the request command (A) 1601 from the client terminal 701, and then receives the request command (B) 1602.
 リクエスト受信処理部112は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2702)、WAN側のコマンド消費数が上限数より小さくなるまで、受信バッファ111に格納したリクエストコマンド(A)1601の読み出しを停止する。その後、レスポンス受信処理部123がサーバ702からレスポンスコマンド1605を受け取り、WAN側のコマンド消費数が上限数より小さくなると(1604)、リクエスト受信処理部112は、受信バッファ111に格納したリクエストコマンドの読み出しを再開し、読み出したリクエストコマンド(A)1601をリクエスト作成部117へ転送する(ステップ2703)。 The request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (Step 2702), and the request command stored in the reception buffer 111 (until the command consumption number on the WAN side becomes smaller than the upper limit number). A) The reading of 1601 is stopped. After that, when the response reception processing unit 123 receives the response command 1605 from the server 702 and the number of commands consumed on the WAN side becomes smaller than the upper limit number (1604), the request reception processing unit 112 reads the request command stored in the reception buffer 111. And the read request command (A) 1601 is transferred to the request creation unit 117 (step 2703).
 リクエスト作成部117は、リクエストコマンド(A)1601を受け取ると、リクエストコマンド(A)1601をトリガにして新たに作成すべきリクエストがあるかを判定する(ステップ2704)。その結果、新たに生成すべきリクエストがある場合、リクエスト作成部117は、一つのリクエストコマンド(a)1606を新たに作成する(ステップ2705)。 Upon receiving the request command (A) 1601, the request creation unit 117 determines whether there is a request to be newly created using the request command (A) 1601 as a trigger (step 2704). As a result, when there is a request to be newly generated, the request creation unit 117 newly creates one request command (a) 1606 (step 2705).
 リクエスト作成部117は、新たに作成したリクエストコマンド(a)1606をリクエスト送信処理部121へ転送する(ステップ2706)。リクエスト送信処理部121は、新規リクエストコマンド(a)1606をWANへ送信する。 The request creation unit 117 transfers the newly created request command (a) 1606 to the request transmission processing unit 121 (step 2706). The request transmission processing unit 121 transmits a new request command (a) 1606 to the WAN.
 リクエスト送信処理部121がリクエストコマンド(a)1606をWANへ送信すると、WAN側のコマンド消費数が一つ増加し、WAN側のコマンド消費数が上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a) 1606 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side becomes equal to the upper limit number.
 その後、リクエスト作成部117は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2707)、WAN側のコマンド消費数が上限数より小さくなると、新たに作成すべきリクエストがあるかを判定する(ステップ2704)。その結果、未作成の新規リクエストがある場合は、再度、新規リクエストコマンドが作成される(ステップ2705)。一方、WAN側のコマンド消費数が上限数と等しい場合は、リクエストコマンド(A)1601をトリガにした新規リクエストコマンドの作成は終了する。 Thereafter, the request creation unit 117 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2707). If the command consumption number on the WAN side becomes smaller than the upper limit number, is there a request to be newly created? Is determined (step 2704). As a result, if there is an uncreated new request, a new request command is created again (step 2705). On the other hand, when the command consumption number on the WAN side is equal to the upper limit number, the creation of a new request command using the request command (A) 1601 as a trigger ends.
 その後、WAN側のコマンド消費数が上限数と等しい状態で(1604)、レスポンス受信処理部123がレスポンスコマンド1607を受け取ると、WAN側のコマンド消費数が上限数より一つ小さくなる。リクエスト受信処理部112は、WAN側のコマンド消費数が上限数より小さくなると、リクエストコマンド(B)1602を受信バッファ111から読み出し、リクエスト送信処理部121に転送する。リクエスト送信処理部121は、リクエストコマンド(B)1602をリクエストコマンドB1608としてWANへ送信する。 After that, when the command reception number on the WAN side is equal to the upper limit number (1604) and the response reception processing unit 123 receives the response command 1607, the command consumption number on the WAN side becomes one smaller than the upper limit number. When the command consumption number on the WAN side becomes smaller than the upper limit number, the request reception processing unit 112 reads the request command (B) 1602 from the reception buffer 111 and transfers it to the request transmission processing unit 121. The request transmission processing unit 121 transmits a request command (B) 1602 as a request command B 1608 to the WAN.
 このように、WAN側のコマンド消費数が上限数と等しい場合は、LANからのリクエストコマンドをトリガにした新規リクエストコマンド作成を停止し、WAN側のコマンド消費数が上限数を下回る場合は、新規リクエストコマンドを作成する。これによって、新規リクエストを作成しすぎて、新たに作成した全てのリクエストコマンドがWANへ転送されるまで、LANから受信した後続のリクエストコマンドがWAN側へ転送されないことによる、後続のリクエストコマンドの応答時間の劣化を防止することができる。 As described above, when the command consumption number on the WAN side is equal to the upper limit number, the creation of a new request command triggered by a request command from the LAN is stopped, and when the command consumption number on the WAN side is lower than the upper limit number, Create a request command. As a result, a response to the subsequent request command caused by the fact that the subsequent request command received from the LAN is not transferred to the WAN side until all the newly generated request commands are transferred to the WAN after the new request is created too much. Time degradation can be prevented.
 さらに、図18及び図19を用いて、本実施例の中継装置が行う処理手順及び実現する効果の二つ目の例について詳細に説明する。 Furthermore, a second example of the processing procedure performed by the relay apparatus of the present embodiment and the effect to be realized will be described in detail with reference to FIGS.
 図18は、本実施例の中継装置が行う処理によるシーケンス図である。図19は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 18 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 19 is a flowchart of processing performed by the relay device of this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 例えば、クライアント端末701がファイルオープンのリクエストを送信すると、サーバ702は、レスポンスを返信する。中継装置200は、このファイルオープンリクエストに対するレスポンスをトリガとして、ファイルを先読みするリクエストをサーバ702に送信する。 For example, when the client terminal 701 transmits a file open request, the server 702 returns a response. The relay apparatus 200 transmits a request for prefetching a file to the server 702 using a response to the file open request as a trigger.
 WAN側のコマンド消費数が上限数と等しい状態で(1802)、中継装置200は、新規リクエストコマンド生成のトリガとなるレスポンスコマンドのクライアント端末701への送信を待機している(ステップ2901)。この状態で、中継装置200がサーバ702からレスポンスコマンド(A)1800を受け取り、レスポンスコマンド(A)1801としてLAN側のクライアント端末701に送信し、その後に、リクエストコマンド(B)1803を受け取った。 In a state where the number of commands consumed on the WAN side is equal to the upper limit number (1802), the relay apparatus 200 waits for transmission of a response command to the client terminal 701 as a trigger for generating a new request command (step 2901). In this state, the relay apparatus 200 receives the response command (A) 1800 from the server 702, transmits it as the response command (A) 1801 to the client terminal 701 on the LAN side, and then receives the request command (B) 1803.
 リクエスト受信処理部112は、リクエストコマンド(B)1803を受け取ると、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2902)、WAN側のコマンド消費数が上限数と等しい場合は、受信バッファ111に格納したリクエストコマンド(B)1803の読み出しを停止する。 Upon receiving the request command (B) 1803, the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2902), and if the command consumption number on the WAN side is equal to the upper limit number, The reading of the request command (B) 1803 stored in the reception buffer 111 is stopped.
 一方、レスポンス受信処理部123は、サーバ702からレスポンスコマンド(A)1800を受け取ると、WAN側のコマンド消費数を一つ減らす。このため、WAN側のコマンド消費数は上限数より小さい状態となるため(ステップ2902)、レスポンス送信処理部113がLAN側に向けてレスポンスコマンド(A)1801を送信することができる。すなわち、WAN側のコマンド消費数が上限数より小さい場合、レスポンス送信処理部113は、レスポンスコマンド(A)1801をリクエスト作成部114へ転送する(ステップ2903)。 On the other hand, when receiving the response command (A) 1800 from the server 702, the response reception processing unit 123 reduces the number of commands consumed on the WAN side by one. For this reason, since the number of commands consumed on the WAN side is smaller than the upper limit number (step 2902), the response transmission processing unit 113 can transmit the response command (A) 1801 toward the LAN side. That is, when the command consumption number on the WAN side is smaller than the upper limit number, the response transmission processing unit 113 transfers the response command (A) 1801 to the request creation unit 114 (step 2903).
 リクエスト作成部114は、レスポンスコマンド(A)1801に基づいて、複数の新規リクエストコマンド(a-1)1806、(a-2)1808、(a-3)1810を生成する(ステップ2904)。さらに、リクエスト作成部114は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ2905)、WAN側のコマンド消費数が上限数より小さければ、新規リクエストコマンド(a-1)1806をリクエスト送信処理部121へ転送する(ステップ2906)。 The request creation unit 114 generates a plurality of new request commands (a-1) 1806, (a-2) 1808, and (a-3) 1810 based on the response command (A) 1801 (step 2904). Furthermore, the request creation unit 114 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 2905), and if the command consumption number on the WAN side is smaller than the upper limit number, the new request command (a-1) 1806 Is transferred to the request transmission processing unit 121 (step 2906).
 リクエスト送信処理部121は、転送された新規リクエストコマンド(a-1)1806をWANに向けて送信する。これによって、WAN側のコマンド消費数は一つ増加し、上限数と等しくなる。 The request transmission processing unit 121 transmits the transferred new request command (a-1) 1806 to the WAN. As a result, the number of commands consumed on the WAN side increases by one and becomes equal to the upper limit number.
 その後、リクエスト送信処理部121は、未送信の新規リクエストコマンドがあるかを判定し(ステップ2907)、新たに生成した二つのリクエストコマンドが未送信なので、再度、WAN側のコマンド消費数が上限数と等しいかを判定する(ステップ2905)。リクエスト送信処理部121は、WAN側のコマンド消費数が上限数より小さくなるまで、新たに生成されたリクエストコマンドのリクエスト送信処理部121への転送を停止して、待機する。 Thereafter, the request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2907), and since the two newly generated request commands have not been transmitted, the command consumption number on the WAN side is again the upper limit number. (Step 2905). The request transmission processing unit 121 stops transfer of the newly generated request command to the request transmission processing unit 121 and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
 その後、中継装置200がサーバ702からレスポンスコマンド1807を受け取り、WAN側のコマンド消費数が上限数より一つ小さくなると、新たに作成したリクエストコマンドの一つであるリクエストコマンド(a-2)1808がリクエスト送信処理部121に転送される(ステップ2906)。 Thereafter, when the relay apparatus 200 receives the response command 1807 from the server 702 and the number of commands consumed on the WAN side becomes one smaller than the upper limit number, a request command (a-2) 1808, which is one of newly created request commands, is obtained. It is transferred to the request transmission processing unit 121 (step 2906).
 リクエスト送信処理部121がリクエストコマンド(a-2)1808をWANへ送信すると、WAN側のコマンド消費数は一つ増加し、再び、WAN側のコマンド消費数が上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a-2) 1808 to the WAN, the number of commands consumed on the WAN side increases by one, and again the number of commands consumed on the WAN side becomes equal to the upper limit number.
 リクエスト送信処理部121は、未送信の新規リクエストコマンドがあるかを判定し(ステップ2907)、新たに生成した一つのリクエストコマンドが未送信なので、再度、WAN側のコマンド消費数が上限数と等しいかを判定する(ステップ2905)。リクエスト送信処理部121は、WAN側のコマンド消費数が上限数より小さくなるまで、新たに生成されたリクエストコマンドの送信を停止して、待機する。 The request transmission processing unit 121 determines whether there is a new request command that has not been transmitted (step 2907). Since one newly generated request command has not been transmitted, the command consumption number on the WAN side is again equal to the upper limit number. Is determined (step 2905). The request transmission processing unit 121 stops transmission of a newly generated request command and waits until the command consumption number on the WAN side becomes smaller than the upper limit number.
 その後、中継装置200がサーバ702からレスポンスコマンド1809を受け取り、WAN側のコマンド消費数が上限数より小さくなると、新たに作成したリクエストコマンドの最後の一つであるリクエストコマンド(a-3)1810がリクエスト送信処理部121に転送される(ステップ2906)。 After that, when the relay apparatus 200 receives the response command 1809 from the server 702 and the number of commands consumed on the WAN side becomes smaller than the upper limit number, the request command (a-3) 1810 which is the last one of the newly created request command is It is transferred to the request transmission processing unit 121 (step 2906).
 リクエスト送信処理部121がリクエストコマンド(a-3)1810をWANへ送信すると、WAN側のコマンド消費数は一つ増加し、再び、WAN側のコマンド消費数は上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a-3) 1810 to the WAN, the number of commands consumed on the WAN side increases by one, and again the number of commands consumed on the WAN side becomes equal to the upper limit number.
 リクエスト送信処理部121は、未送信の新規リクエストがあるかを判定し(ステップ2907)、新規リクエストコマンドがなくなると、LAN側への送信レスポンスをトリガにした新規リクエストの送信が終了する。 The request transmission processing unit 121 determines whether there is a new request that has not been transmitted (step 2907), and when there is no new request command, the transmission of the new request triggered by the transmission response to the LAN side ends.
 その後、中継装置200がサーバ702からレスポンスコマンド1812を受け取ると、WAN側のコマンド消費数が上限数より小さくなる。このため、リクエスト受信処理部112がリクエストコマンド(B)1803を受信バッファ111から読み出して、リクエスト送信処理部121へ転送し、リクエスト送信処理部121がリクエストコマンド(B)1813としてWAN側へ送信する。 Thereafter, when the relay apparatus 200 receives the response command 1812 from the server 702, the number of commands consumed on the WAN side becomes smaller than the upper limit number. For this reason, the request reception processing unit 112 reads the request command (B) 1803 from the reception buffer 111 and transfers it to the request transmission processing unit 121, and the request transmission processing unit 121 transmits the request command (B) 1813 to the WAN side. .
 このように、WANのコマンド消費数が上限数と等しい場合は、LANへ送信するレスポンスコマンドをトリガにして新たに生成したリクエストコマンドのWANへの転送を停止し、WANのコマンド消費数が上限数より小さい場合はリクエストコマンドを転送する。これによって、WAN側のコマンド消費数が上限数より大きくなることによるエラーの発生とコネクションの強制切断を防ぎ、クライアント端末とサーバとの間の通信の遅延による性能の劣化を防止することができる。 As described above, when the WAN command consumption number is equal to the upper limit number, transfer of the newly generated request command to the WAN is triggered by the response command transmitted to the LAN, and the WAN command consumption number is the upper limit number. If it is smaller, the request command is transferred. As a result, it is possible to prevent the occurrence of an error and the forced disconnection of the connection due to the command consumption number on the WAN side being larger than the upper limit number, and to prevent the performance deterioration due to the communication delay between the client terminal and the server.
 一方、前述した実施例では、LANからのリクエストコマンドをトリガにして生成した新規コマンドが全てWANへ転送されるまで、LAN側から受信した後続のリクエストコマンドがWAN側へ転送されず、コマンド応答時間が劣化する問題がある。 On the other hand, in the above-described embodiment, the subsequent request command received from the LAN side is not transferred to the WAN side until all new commands generated using a request command from the LAN as a trigger are transferred to the WAN, and the command response time There is a problem that deteriorates.
 前述した問題を解決する実施例について、図20及び図21を用いて詳細に説明する。この実施例の中継装置が行う処理手順及び実現する効果の三つ目の例である。 An embodiment for solving the above-described problem will be described in detail with reference to FIGS. It is the 3rd example of the process procedure which the relay apparatus of this Example performs, and the effect implement | achieved.
 図20は、本実施例の中継装置が行う処理によるシーケンス図である。図21は、本実施例の中継装置が行う処理のフローチャートである。 FIG. 20 is a sequence diagram of processing performed by the relay device of this embodiment. FIG. 21 is a flowchart of processing performed by the relay device of this embodiment.
 中継装置200のWAN側にサーバ702が接続され、LAN側にクライアント端末701が接続されている。 A server 702 is connected to the WAN side of the relay apparatus 200, and a client terminal 701 is connected to the LAN side.
 WAN側のコマンド消費数が上限数と等しい状態で(1902)、中継装置200は、新規リクエストコマンド生成のトリガとなるレスポンスコマンドのクライアント端末701への送信を待機している(ステップ3001)。この状態で、中継装置200がサーバ702からレスポンスコマンド(A)1900を受け取り、レスポンスコマンド(A)1901としてLAN側のクライアント端末701に向けて送信し、その後に、リクエストコマンド(B)1903を受け取った。 In the state where the command consumption number on the WAN side is equal to the upper limit number (1902), the relay device 200 is waiting for transmission of a response command to the client terminal 701 as a trigger for generating a new request command (step 3001). In this state, the relay apparatus 200 receives the response command (A) 1900 from the server 702, transmits the response command (A) 1901 to the client terminal 701 on the LAN side, and then receives the request command (B) 1903. It was.
 リクエスト受信処理部112は、リクエストコマンド(B)1903を受け取ると、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ3002)、WAN側のコマンド消費数が上限数と等しい場合は、受信バッファ111に格納したリクエストコマンド(B)1803の読み出しを停止する。 Upon reception of the request command (B) 1903, the request reception processing unit 112 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 3002), and if the command consumption number on the WAN side is equal to the upper limit number, The reading of the request command (B) 1803 stored in the reception buffer 111 is stopped.
 一方、レスポンス受信処理部123は、サーバ702からレスポンスコマンド(A)1900を受け取ると、WAN側のコマンド消費数を一つ減らす。このため、WAN側のコマンド消費数は上限数より小さい状態となるため(ステップ3002)、レスポンス送信処理部113がLAN側に向けてレスポンスコマンド(A)1901を送信することができる。すなわち、WAN側のコマンド消費数が上限数より小さい場合、レスポンス送信処理部113は、LAN側に向けてレスポンスコマンド(A)1901を送信した後(ステップ3001)、WAN側のコマンド消費数が上限数と等しいかを判定する(ステップ3002)。そして、WAN側のコマンド消費数が上限数より小さい場合、レスポンス送信処理部113は、レスポンスコマンド(A)1901をリクエスト作成部114へ転送する(ステップ3003)。 On the other hand, when receiving the response command (A) 1900 from the server 702, the response reception processing unit 123 reduces the number of commands consumed on the WAN side by one. For this reason, since the number of commands consumed on the WAN side is smaller than the upper limit number (step 3002), the response transmission processing unit 113 can transmit the response command (A) 1901 toward the LAN side. That is, when the command consumption number on the WAN side is smaller than the upper limit number, the response transmission processing unit 113 transmits the response command (A) 1901 toward the LAN side (step 3001), and then the command consumption number on the WAN side is upper limit. It is determined whether it is equal to the number (step 3002). When the command consumption number on the WAN side is smaller than the upper limit number, the response transmission processing unit 113 transfers the response command (A) 1901 to the request creation unit 114 (step 3003).
 リクエスト作成部114は、レスポンスコマンドA1901を受け取ると、レスポンスコマンド(A)1901をトリガにして新たに作成すべきリクエストがあるかを判定する(ステップ3004)。その結果、新たに生成すべきリクエストがある場合、リクエスト作成部114は、一つのリクエストコマンド(a)1906を新たに作成する(ステップ3005)。 Upon receiving the response command A 1901, the request creation unit 114 determines whether there is a request to be newly created using the response command (A) 1901 as a trigger (step 3004). As a result, when there is a request to be newly generated, the request creation unit 114 newly creates one request command (a) 1906 (step 3005).
 リクエスト作成部114は、新たに作成したリクエストコマンド(a)1906をリクエスト送信処理部121へ転送する(ステップ3006)。リクエスト送信処理部121は、新規リクエストコマンド(a)1906をWANへ送信する。 The request creation unit 114 transfers the newly created request command (a) 1906 to the request transmission processing unit 121 (step 3006). The request transmission processing unit 121 transmits a new request command (a) 1906 to the WAN.
 リクエスト送信処理部121がリクエストコマンド(a)1606をWANへ送信すると、WAN側のコマンド消費数が一つ増加し、WAN側のコマンド消費数が上限数と等しくなる。 When the request transmission processing unit 121 transmits the request command (a) 1606 to the WAN, the number of commands consumed on the WAN side increases by one, and the number of commands consumed on the WAN side becomes equal to the upper limit number.
 その後、リクエスト作成部114は、WAN側のコマンド消費数が上限数と等しいかを判定し(ステップ3007)、WAN側のコマンド消費数が上限数より小さくなると、新たに作成すべきリクエストがあるかを判定する(ステップ3004)。その結果、未作成の新規リクエストがある場合は、再度、新規リクエストコマンドが作成される(ステップ3005)。一方、WAN側のコマンド消費数が上限数と等しい場合は、レスポンスコマンド(A)1901をトリガにした新規リクエストコマンドの作成は終了する。 Thereafter, the request creation unit 114 determines whether the command consumption number on the WAN side is equal to the upper limit number (step 3007). If the command consumption number on the WAN side becomes smaller than the upper limit number, is there a request to be newly created? Is determined (step 3004). As a result, if there is an uncreated new request, a new request command is created again (step 3005). On the other hand, when the command consumption number on the WAN side is equal to the upper limit number, the creation of a new request command using the response command (A) 1901 as a trigger ends.
 その後、WAN側のコマンド消費数が上限数と等しい状態で(1904)、レスポンス受信処理部123がレスポンスコマンド1907を受け取ると、WAN側のコマンド消費数が上限値より一つ小さくなる。リクエスト受信処理部112は、WAN側のコマンド消費数が上限数より小さくなると、リクエストコマンド(B)1903を受信バッファ111から読み出し、リクエスト送信処理部121へ転送する。リクエスト送信処理部121は、リクエストコマンド(B)1903をリクエストコマンド(B)1908としてWANへ送信する。 Thereafter, when the response reception processing unit 123 receives the response command 1907 in a state where the command consumption number on the WAN side is equal to the upper limit number (1904), the command consumption number on the WAN side becomes one smaller than the upper limit value. When the command consumption number on the WAN side becomes smaller than the upper limit number, the request reception processing unit 112 reads the request command (B) 1903 from the reception buffer 111 and transfers it to the request transmission processing unit 121. The request transmission processing unit 121 transmits a request command (B) 1903 as a request command (B) 1908 to the WAN.
 このように、WAN側のコマンド消費数が上限数と等しい場合は、LANへ送信するレスポンスコマンドをトリガとした新規リクエストコマンドの生成を停止し、WAN側のコマンド消費数が上限数より小さい場合は、新規リクエストコマンドを生成する。これによって、WAN側に送信すべき新規リクエストコマンドを作成しすぎて、新たに作成した全てのリクエストコマンドがWANへ転送されるまで、LANから受信した後続のリクエストコマンドがWAN側へ転送されないことによる、後続のリクエストコマンドの応答時間の劣化を防止することができる。 In this way, when the number of commands consumed on the WAN side is equal to the upper limit number, generation of a new request command triggered by a response command transmitted to the LAN is stopped, and when the number of commands consumed on the WAN side is smaller than the upper limit number Generate a new request command. As a result, new request commands to be transmitted to the WAN side are created too much, and subsequent request commands received from the LAN are not transferred to the WAN side until all newly created request commands are transferred to the WAN. Deterioration of the response time of subsequent request commands can be prevented.
 以上に記載した中継装置200の具体的な処理手順及び実現する効果の七つの例に示したように、本実施例では、中継装置とサーバとの間のコマンド消費数が上限数より大きくなることによるエラーの発生とコネクションの強制切断を防止し、クライアント端末とサーバとの間の通信の遅延による性能の劣化を防止することができる。 As shown in the seven examples of the specific processing procedure of the relay device 200 described above and the effect to be realized, in this embodiment, the command consumption number between the relay device and the server is larger than the upper limit number. It is possible to prevent the occurrence of an error and the forced disconnection of the connection, and it is possible to prevent the performance deterioration due to the delay of the communication between the client terminal and the server.
 さらに、クライアント端末側おいて、リクエストコマンドに対するレスポンスコマンドの応答が完了している状態でも、サーバ側には、リクエストコマンドが送信されていないという、状態の不一致が長期間にわたり発生すること防止し、中継装置の故障時のリスクを小さくすることができる。 Furthermore, on the client terminal side, even when the response of the response command to the request command is completed, the server side prevents the request command from being transmitted from occurring for a long period of time, Risk at the time of failure of the relay device can be reduced.
 さらに、中継装置がサーバ側に送信すべき新規リクエストを作成しすぎて、作成した全ての新規リクエストをサーバ側へ転送するまで、クライアント端末側から受信した後続のリクエストコマンドをサーバ側へ転送できずに、応答時間が劣化することを防止することができる。 Furthermore, subsequent request commands received from the client terminal side cannot be transferred to the server side until the relay device has created too many new requests to be sent to the server side and all the created new requests have been transferred to the server side. In addition, it is possible to prevent the response time from deteriorating.
 なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。 The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described. A part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Moreover, you may add the structure of another Example to the structure of a certain Example. In addition, for a part of the configuration of each embodiment, another configuration may be added, deleted, or replaced.
 また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 In addition, each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
 また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 Also, the control lines and information lines indicate what is considered necessary for the explanation, and do not necessarily indicate all control lines and information lines necessary for mounting. In practice, it can be considered that almost all the components are connected to each other.

Claims (15)

  1.  サーバとクライアント端末との間でコマンドを転送する通信装置において、
     前記サーバと前記クライアント端末との間でやり取りされるコマンドの上限数及び消費数を管理し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数と上限数、及び、前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数と上限数の少なくとも一方を比較し、
     前記少なくとも一方の比較結果に基づいて、前記サーバと前記クライアント端末との間のコマンドの転送を制御することを特徴とする通信装置。
    In a communication device that transfers commands between a server and a client terminal,
    Managing the upper limit number and consumption number of commands exchanged between the server and the client terminal;
    At least one of the consumption number and the upper limit number of commands exchanged between the communication device and the server, and the consumption number and upper limit number of commands exchanged between the communication device and the client terminal. Compare and
    A communication apparatus that controls transfer of a command between the server and the client terminal based on at least one of the comparison results.
  2.  請求項1に記載の通信装置において、
     前記通信装置と前記クライアント端末との間のコマンドの転送を制御する制御部、及び、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの上限数及び消費数を管理するコマンド数管理部を備え、
     前記制御部は、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数と等しい場合、前記クライアント端末から受信したコマンドの処理を停止し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記クライアント端末から受信したコマンドを処理することを特徴とする通信装置。
    The communication device according to claim 1,
    A control unit that controls transfer of a command between the communication device and the client terminal; and
    A command number management unit for managing the upper limit number and consumption number of commands exchanged between the communication device and the server;
    The controller is
    If the consumed number of commands exchanged between the communication device and the server is equal to the upper limit number, processing of the command received from the client terminal is stopped,
    A communication device, which processes a command received from the client terminal when the number of commands exchanged between the communication device and the server is smaller than an upper limit number.
  3.  請求項2に記載の通信装置において、
     前記コマンドを格納するバッファを備え、
     前記制御部は、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数と等しい場合、前記クライアント端末から受信したコマンドを前記バッファに格納し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記バッファに格納したコマンドを読み出し、前記読み出したコマンドを処理することを特徴とする通信装置。
    The communication device according to claim 2,
    A buffer for storing the command;
    The controller is
    If the consumed number of commands exchanged between the communication device and the server is equal to the upper limit number, the command received from the client terminal is stored in the buffer,
    The communication apparatus, wherein when the number of consumed commands exchanged between the communication apparatus and the server is smaller than the upper limit number, the command stored in the buffer is read and the read command is processed.
  4.  請求項1に記載の通信装置において、
     前記通信装置と前記サーバとの間のコマンドの転送を制御する制御部、及び、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの上限数及び消費数を管理するコマンド数管理部を備え、
     前記制御部は、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数と等しい場合、前記サーバへのコマンドの送信を停止し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記サーバへコマンドを送信することを特徴とする通信装置。
    The communication device according to claim 1,
    A control unit that controls transfer of a command between the communication device and the server; and
    A command number management unit for managing the upper limit number and consumption number of commands exchanged between the communication device and the server;
    The controller is
    If the consumed number of commands exchanged between the communication device and the server is equal to the upper limit number, stop sending the command to the server,
    A communication device, wherein a command is transmitted to the server when the number of consumed commands exchanged between the communication device and the server is smaller than an upper limit number.
  5.  請求項1に記載の通信装置において、
     前記通信装置と前記クライアント端末との間のコマンドの転送を制御する制御部、及び、
     前記通信装置と前記クライアント端末との間でやり取りされているコマンドの上限数及び消費数を管理するコマンド数管理部を備え、
     前記制御部は、
     前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数が上限数と等しい場合、前記クライアント端末から受信したコマンドの処理を停止し、
     前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数が上限数より小さい場合、前記クライアント端末から受信したコマンドを処理することを特徴とする通信装置。
    The communication device according to claim 1,
    A control unit that controls transfer of a command between the communication device and the client terminal; and
    A command number management unit for managing the upper limit number and consumption number of commands exchanged between the communication device and the client terminal;
    The controller is
    If the consumed number of commands exchanged between the communication device and the client terminal is equal to the upper limit number, the processing of the command received from the client terminal is stopped,
    A communication apparatus that processes a command received from the client terminal when a consumed number of commands exchanged between the communication apparatus and the client terminal is smaller than an upper limit number.
  6.  請求項5に記載の通信装置において、
     前記コマンドを格納するバッファを備え、
     前記制御部は、
     前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数が上限数と等しい場合、前記クライアント端末から受信したコマンドを前記バッファに格納し、
     前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数が上限数より小さい場合、前記バッファに格納したコマンドを読み出し、前記読み出したコマンドを処理することを特徴とする通信装置。
    The communication device according to claim 5, wherein
    A buffer for storing the command;
    The controller is
    If the consumed number of commands exchanged between the communication device and the client terminal is equal to the upper limit number, the command received from the client terminal is stored in the buffer,
    The communication device, wherein when the number of consumed commands exchanged between the communication device and the client terminal is smaller than the upper limit number, the command stored in the buffer is read and the read command is processed.
  7.  請求項1に記載の通信装置において、
     前記通信装置と前記クライアント端末との間のコマンドの転送を制御する制御部、及び、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの上限数及び消費数を管理するコマンド数管理部を備え、
     前記制御部は、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数と等しい場合、前記サーバへ送信するコマンドの作成を停止し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記サーバへ送信するコマンドを作成することを特徴とする通信装置。
    The communication device according to claim 1,
    A control unit that controls transfer of a command between the communication device and the client terminal; and
    A command number management unit for managing the upper limit number and consumption number of commands exchanged between the communication device and the server;
    The controller is
    If the consumption number of commands exchanged between the communication device and the server is equal to the upper limit number, stop creating the command to be sent to the server,
    A communication apparatus that creates a command to be transmitted to the server when the number of consumed commands exchanged between the communication apparatus and the server is smaller than an upper limit number.
  8.  請求項7に記載の通信装置であって、
     前記制御部は、前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記クライアント端末からのコマンドの受信をトリガにして、前記サーバへ送信するコマンドを作成することを特徴とする通信装置。
    The communication device according to claim 7,
    When the number of commands exchanged between the communication device and the server is smaller than the upper limit number, the control unit triggers reception of a command from the client terminal and sends a command to the server. A communication device characterized by being created.
  9.  請求項7に記載の通信装置であって、
     前記制御部は、前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記クライアント端末へのコマンドの送信をトリガにして、前記サーバへ送信するコマンドを作成することを特徴とする通信装置。
    The communication device according to claim 7,
    When the number of commands exchanged between the communication device and the server is smaller than the upper limit number, the control unit triggers transmission of a command to the client terminal and sends a command to the server. A communication device characterized by being created.
  10.  請求項7に記載の通信装置であって、
     前記制御部は、前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記クライアント端末からのコマンドの受信をトリガにして、前記クライアント端末へ送信するコマンドを作成することを特徴とする通信装置。
    The communication device according to claim 7,
    The control unit sends a command to the client terminal triggered by reception of the command from the client terminal when the number of commands exchanged between the communication device and the server is smaller than the upper limit number A communication apparatus characterized by creating
  11.  請求項1に記載の通信装置であって、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの上限数及び消費数、及び、前記通信装置と前記クライアント端末との間でやり取りされているコマンドの上限数及び消費数を管理するコマンド数管理部、及び、
     前記コマンド数管理部が管理するコマンドの上限数及び消費数を変更する制御部を備え、
     前記制御部は、
     前記クライアント端末からコマンドを受信した場合、前記コマンド数管理部で管理され
    るクライアント端末側コマンドの消費数を増加し、
     前記クライアント端末へコマンドを送信した場合、前記コマンド数管理部で管理されるクライアント端末側コマンドの消費数を減少し、前記クライアント端末側コマンドの上限数を増減し、
     前記サーバへコマンドを送信した場合、前記コマンド数管理部で管理されるサーバ側コマンドの消費数を増加し、
     前記サーバからコマンドを受信した場合、前記コマンド数管理部で管理されるサーバ側コマンドの消費数を減少し、前記サーバ側コマンドの上限数を増減することを特徴とする通信装置。
    The communication device according to claim 1,
    Commands for managing the upper limit number and consumption number of commands exchanged between the communication device and the server, and the upper limit number and consumption number of commands exchanged between the communication device and the client terminal Number management department, and
    A control unit for changing the upper limit number and consumption number of commands managed by the command number management unit;
    The controller is
    When receiving a command from the client terminal, increase the consumption number of commands on the client terminal side managed by the command number management unit,
    When sending a command to the client terminal, decrease the number of client terminal side commands managed by the command number management unit, increase or decrease the upper limit number of the client terminal side commands,
    When sending a command to the server, increase the number of server side command consumption managed by the command number management unit,
    When receiving a command from the server, the communication apparatus is characterized in that the number of server side commands managed by the command number management unit is decreased and the upper limit number of the server side commands is increased or decreased.
  12.  請求項11に記載の通信装置であって、
     前記制御部は、前記クライアント端末へコマンドを送信する場合、前記サーバ側コマンドの上限数と消費数との差と、前記クライアント端末側コマンドの上限数と消費数との差が一致するように、前記コマンドの上限数を変更することを特徴とする通信装置。
    The communication device according to claim 11,
    When the control unit transmits a command to the client terminal, the difference between the upper limit number of the server side command and the consumption number and the difference between the upper limit number of the client terminal side command and the consumption number match. A communication apparatus, wherein an upper limit number of the commands is changed.
  13.  サーバとクライアント端末との間でやり取りされるコマンドの上限数及び消費数を管理し、前記コマンドを転送する通信装置において、前記コマンドを転送する方法であって、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数と上限数と、及び、前記通信装置と前記クライアント端末との間でやり取りされているコマンドの消費数と上限数との少なくとも一つを比較し、
     前記少なくとも一つの比較結果に基づいて、前記サーバと前記クライアント端末との間のコマンドの転送を制御することを特徴とするコマンド転送方法。
    A method for managing the upper limit number and consumption number of commands exchanged between a server and a client terminal, and transferring the command in a communication device for transferring the command,
    At least the number of commands consumed and the upper limit number exchanged between the communication device and the server, and the number of commands consumed and the upper limit number exchanged between the communication device and the client terminal Compare one and
    A command transfer method comprising controlling transfer of a command between the server and the client terminal based on the at least one comparison result.
  14.  請求項13に記載のコマンド転送方法において、
     前記通信装置は、前記通信装置と前記クライアント端末との間のコマンドの転送を制御する制御部、及び、前記通信装置と前記サーバとの間でやり取りされているコマンドの上限数及び消費数を管理するコマンド数管理部を有し、
     前記方法は、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数と等しい場合、前記制御部が、前記クライアント端末から受信したコマンドの処理を停止し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記制御部が、前記クライアント端末から受信したコマンドを処理することを特徴とするコマンド転送方法。
    The command transfer method according to claim 13,
    The communication device manages a control unit that controls command transfer between the communication device and the client terminal, and manages an upper limit number and a consumption number of commands exchanged between the communication device and the server. A command number management unit
    The method
    If the consumption number of commands exchanged between the communication device and the server is equal to the upper limit number, the control unit stops processing the command received from the client terminal,
    A command transfer method, wherein when the number of commands exchanged between the communication device and the server is smaller than an upper limit number, the control unit processes a command received from the client terminal.
  15.  請求項14に記載のコマンド転送方法において、
     前記通信装置は、前記コマンドを格納するバッファを備え、
     前記方法は、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数と等しい場合、前記制御部が、前記クライアント端末から受信したコマンドを前記バッファに格納し、
     前記通信装置と前記サーバとの間でやり取りされているコマンドの消費数が上限数より小さい場合、前記制御部が、前記バッファに格納したコマンドを読み出し、前記読み出したコマンドを処理することを特徴とするコマンド転送方法。
    The command transfer method according to claim 14, wherein
    The communication device includes a buffer for storing the command,
    The method
    If the consumption number of commands exchanged between the communication device and the server is equal to the upper limit number, the control unit stores the command received from the client terminal in the buffer,
    When the number of commands exchanged between the communication device and the server is less than the upper limit number, the control unit reads the command stored in the buffer and processes the read command. Command transfer method.
PCT/JP2014/059794 2013-04-25 2014-04-03 Communication apparatus and command transfer method WO2014175028A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013092564 2013-04-25
JP2013-092564 2013-04-25

Publications (1)

Publication Number Publication Date
WO2014175028A1 true WO2014175028A1 (en) 2014-10-30

Family

ID=51791609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/059794 WO2014175028A1 (en) 2013-04-25 2014-04-03 Communication apparatus and command transfer method

Country Status (1)

Country Link
WO (1) WO2014175028A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171305A (en) * 2008-01-17 2009-07-30 Yamaha Corp Communication apparatus and program
JP2009294810A (en) * 2008-06-04 2009-12-17 Hitachi Ltd Storage system and its management method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171305A (en) * 2008-01-17 2009-07-30 Yamaha Corp Communication apparatus and program
JP2009294810A (en) * 2008-06-04 2009-12-17 Hitachi Ltd Storage system and its management method

Similar Documents

Publication Publication Date Title
CN109936510B (en) Multipath RDMA transport
US9590923B2 (en) Reliable link layer for control links between network controllers and switches
KR102055535B1 (en) Elastic fabric adapter - connectionless reliable datagrams
JP5258938B2 (en) Communication device
US7616563B1 (en) Method to implement an L4-L7 switch using split connections and an offloading NIC
US9979658B2 (en) Communication device and communication system
US11012367B2 (en) Technologies for managing TCP/IP packet delivery
US9357003B1 (en) Failover and migration for full-offload network interface devices
US9237110B2 (en) Dynamic maximum transmission unit size adaption
US20080304481A1 (en) System and Method of Offloading Protocol Functions
US6959007B1 (en) High speed network protocol stack in silicon
US8725879B2 (en) Network interface device
US9134909B2 (en) Multiple I/O request processing in a storage system
US7676593B2 (en) Method of bandwidth control by rewriting ACK number
CN107005532A (en) Network extension TCP splicings
US20070291782A1 (en) Acknowledgement filtering
US20080235484A1 (en) Method and System for Host Memory Alignment
US8072883B2 (en) Internet small computer systems interface (iSCSI) distance acceleration device
US20080263171A1 (en) Peripheral device that DMAS the same data to different locations in a computer
EP2774342B1 (en) Reducing tcp timeouts due to incast collapse at a network switch
JP4229807B2 (en) Data transfer method, TCP proxy device, and network system using the same
WO2014175028A1 (en) Communication apparatus and command transfer method
JP2016129274A (en) Communication device, control method therefor and control program
US8069270B1 (en) Accelerated tape backup restoration
CN116155810A (en) Multilink aggregation ordered transmission method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14788648

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14788648

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP