WO2016185616A1 - Data transfer processing program, data transfer processing method, and data transfer processing apparatus - Google Patents

Data transfer processing program, data transfer processing method, and data transfer processing apparatus Download PDF

Info

Publication number
WO2016185616A1
WO2016185616A1 PCT/JP2015/064657 JP2015064657W WO2016185616A1 WO 2016185616 A1 WO2016185616 A1 WO 2016185616A1 JP 2015064657 W JP2015064657 W JP 2015064657W WO 2016185616 A1 WO2016185616 A1 WO 2016185616A1
Authority
WO
WIPO (PCT)
Prior art keywords
iii
apl
data
packet
terminal
Prior art date
Application number
PCT/JP2015/064657
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 富士通株式会社
Priority to PCT/JP2015/064657 priority Critical patent/WO2016185616A1/en
Publication of WO2016185616A1 publication Critical patent/WO2016185616A1/en

Links

Images

Definitions

  • the present invention relates to a data transfer processing program, a data transfer processing method, and a data transfer processing device.
  • TCP / IP Transmission Control Protocol / Internet Protocol
  • FIG. 10 is a diagram showing an example of speeding up by replacing the midway communication with a UDP (User Datagram Protocol) -based communication protocol in data communication using TCP / IP between remote locations.
  • UDP User Datagram Protocol
  • an APL-CL terminal 91 is a client terminal whose IP address is A
  • an APL-SV terminal 94 is a server apparatus whose IP address is D.
  • the APL-CL terminal 91 and the APL-SV terminal 94 are connected by a WAN (Wide Area Network) 95.
  • WAN Wide Area Network
  • APL-CL terminal 91 In the APL-CL terminal 91, the APL-CL 91a operates, and in the APL-SV terminal 94, the APL-SV 94a operates.
  • APL-CL 91a is a client-side application
  • APL-SV 94a is a server-side application.
  • the APL-CL 91a and APL-SV 94a perform TCP / IP communication using the WAN 95.
  • communication between the APL-CL 91a and the APL-SV 94a is performed in the III-CL 92a operating on the III-CL terminal 92 whose IP address is B and the III-SV terminal whose IP address is C. Relayed by III-SV 93a operating at 93.
  • III-CL 92a is transfer software on the client side
  • III-SV 93a is transfer software on the server side.
  • Communication between APL-CL91a and III-CL92a and communication between III-SV93a and APL-SV94a are performed using TCP, and communication between III-CL92a and III-SV93a uses a UDP-based communication protocol. And faster than TCP.
  • the APL-SV 94a uses the IP address of the client terminal to access when limiting the information disclosure target. Therefore, the source IP address of the packet received by the APL-SV 94a needs to be the IP address of the client terminal, and the APL-SV terminal 94 performs conversion.
  • the remote communication can be speeded up.
  • the APL-SV terminal 94 rewrites the IP address and port number using a conversion table that associates the rewrite source with the rewrite destination.
  • DHCP Dynamic Host Configuration Protocol
  • the APL-SV terminal 94 cannot create a static conversion table in advance. Therefore, the APL-SV terminal 94 dynamically creates a conversion table.
  • FIG. 11 is a diagram for explaining the dynamic creation of the conversion table.
  • the IP address of the APL-CL terminal 91 is 191.168.1.1
  • the IP address of the III-CL terminal 92 is 191.168.1.10
  • the IP address of the III-SV terminal 93 is The IP address is 191.168.10.10
  • the IP address of the APL-SV terminal 94 is 191.168.10.1.
  • the source and destination port numbers are always the same.
  • the III-CL 92a receives a packet addressed to the APL-SV 94a from the APL-CL 91a (1), and transmits the IP address of the user terminal IP, that is, the APL-CL terminal 91 to the III-SV 93a (2 ) Hold the packet transfer.
  • the III-SV 93a transmits the IP address of the APL-CL terminal 91 to the APL-SV terminal 94 and instructs the setting of SrcIP rewriting, that is, the setting of the conversion table (3).
  • SrcIP is a source IP address.
  • the driver 94b performs SrcIP rewrite settings (4), and notifies the III-SV 93a that SrcIP rewrite settings have been completed (5).
  • the III-SV 93a notifies the III-CL 92a that the setting for rewriting SrcIP has been completed (6).
  • the III-CL 92a transfers the held packet to the III-SV 93a (7).
  • the III-SV 93a transfers the packet to the APL-SV 94a (8).
  • the SrcIP rewriting process is performed, and the IP address 191.168.10.10 of the III-SV terminal 93 in the packet is rewritten to the IP address 191.168.1.1 of the APL-CL terminal 91. (9).
  • the APL-SV 94a receives the packet rewritten to the IP address of the APL-CL terminal 91 (10).
  • the III-CL 92a starts packet transfer after completing the setting of the conversion table. Therefore, there is a problem that the throughput decreases due to waiting for packet transfer.
  • the present invention aims to reduce transfer waiting time and improve throughput.
  • a data transfer processing program disclosed in the present application is, in one aspect, a destination received by a packet in which data received from a transmission source device is received from the first device and an address of the transmission source device is set. It is executed on the computer of the second device that transfers to the device.
  • the data transfer processing program causes the computer to execute a process of receiving a monitoring result of an operation state of a transmission destination that receives the data at the transmission destination device.
  • the data transfer processing program when the operation state of the transmission destination is normal, Causing the computer to execute processing for sending an address translation setting instruction from the second device to the transmission source device.
  • the data transfer processing program causes the computer to execute a process of instructing the first device to transfer the data.
  • the data transfer processing program holds the data transferred from the first device until a completion response to the setting instruction is received, and transfers the data to the transmission destination device after receiving the completion response.
  • throughput can be improved.
  • FIG. 1 is a diagram for explaining the packet transfer system according to the embodiment.
  • FIG. 2 is a flowchart illustrating a process flow of the packet transfer system according to the embodiment.
  • FIG. 3 is a diagram illustrating the configuration of the packet transfer system according to the embodiment.
  • FIG. 4 is a flowchart showing a flow of processing for performing APL-SV alive monitoring.
  • FIG. 5 is a flowchart showing a flow of packet transfer processing.
  • FIG. 6 is a flowchart showing a flow of filter setting processing by III-SV or the like.
  • FIG. 7 is a flowchart showing a flow of packet transmission processing by III-CL.
  • FIG. 8 is a flowchart showing a flow of packet reception processing by III-SV.
  • FIG. 9 is a diagram illustrating a hardware configuration of each terminal that executes software.
  • FIG. 10 is a diagram illustrating an example of speeding up of remote communication.
  • FIG. 11 is a diagram for explaining the dynamic creation of the conversion table.
  • FIG. 1 is a diagram for explaining the packet transfer system according to the embodiment.
  • the packet transfer system 10 includes an APL-CL terminal 1, an III-CL terminal 2, a III-SV terminal 3, and an APL-SV terminal 4.
  • the APL-CL terminal 1 is a client terminal whose IP address is 192.168.1.1.
  • the APL-SV terminal 4 is a server device having an IP address of 192.168.10.1.
  • the APL-CL terminal 1 and the APL-SV terminal 4 are connected by a WAN.
  • APL-CL terminal 1 In APL-CL terminal 1, APL-CL 1a operates, and in APL-SV terminal 4, APL-SV 4a and driver 4b operate.
  • APL-CL 1a is a client-side application
  • APL-SV 4a is a server-side application.
  • the driver 4b is software that rewrites an IP address.
  • the APL-CL 1a and APL-SV 4a perform TCP / IP communication using a WAN.
  • the III-CL terminal 2 is a client-side device that relays communication between the APL-CL 1a and the APL-SV 4a.
  • the IP address of the III-CL terminal 2 is 192.168.1.10.
  • the III-SV terminal 3 is a server-side device that relays communication between the APL-CL 1a and the APL-SV 4a.
  • the IP address of the III-SV terminal 3 is 192.168.10.10.
  • III-CL 2a Operating on III-CL terminal 2 and III-SV 3a operating on III-SV terminal 3.
  • III-CL 2a is transfer software on the client side
  • III-SV 3a is transfer software on the server side.
  • Communication between APL-CL1a and III-CL2a and communication between III-SV3a and APL-SV4a are performed using TCP
  • communication between III-CL2a and III-SV3a uses a UDP-based communication protocol. And faster than TCP.
  • FIG. 2 is a flowchart illustrating a processing flow of the packet transfer system 10 according to the embodiment.
  • step Sn (n 0 to 11) indicating steps corresponds to (n) shown in FIG.
  • the SrcIP rewriting driver 4b of the APL-SV terminal 4 performs alive monitoring of all APL-SVs 4a operating on the APL-SV terminal 4, and sends the monitoring results (monitoring results) to the III-SV 3a as APL survival information.
  • the III-CL 2a receives the packet addressed to the APL-SV 4a from the APL-CL 1a (step S1), notifies the user terminal IP, that is, the IP address of the APL-CL terminal 1, to the III-SV 3a, and holds the packet transfer pending. (Step S2).
  • the III-SV 3a transmits the IP address of the APL-CL terminal 1 to the APL-SV terminal 4, and instructs the APL-SV terminal 4 to set rewriting of SrcIP, that is, to set the conversion table (step S3).
  • the driver 4b sets SrcIP rewriting (step S4), and notifies the III-SV 3a that setting of SrcIP rewriting is completed (step S5).
  • the packet transfer system 10 performs the following processing from step S6 to step S8.
  • the III-SV 3a refers to the monitoring result transmitted in step S0 and determines whether or not the transmission destination APL-SV 4a is operating. Then, when the transmission destination APL-SV 4a is operating, the III-SV 3a instructs the III-CL 2a to start communication without waiting for the setting of the SrcIP rewriting of the APL-SV terminal 4 (step S6).
  • the III-CL 2a starts transferring the held packet to the III-SV 3a (step S7).
  • the III-SV 3a stores the transferred packet in the cache (step S8).
  • the III-SV 3a then transfers the packet stored in the cache to the APL-SV 4a after the completion of the SrcIP rewrite setting (step S9). Then, the APL-SV terminal 4 performs the SrcIP rewriting process, and the IP address 192.168.10.10 of the III-SV terminal 3 in the packet is changed to the IP address 192.168.1.1 of the APL-CL terminal 1. Rewrite (step S10). The APL-SV 4a receives the packet rewritten to the IP address of the APL-CL terminal 1 (step S11).
  • the III-CL 2a transfers the packet to the III-SV 3a without waiting for the setting of the SrcIP rewrite of the APL-SV terminal 4, and the III-SV 3a stores the transferred packet in the cache.
  • the transfer waiting time due to the setting can be reduced.
  • FIG. 3 is a diagram illustrating the configuration of the packet transfer system 10 according to the embodiment. Note that the numbers described in the balloons in FIG. 3 indicate the processes performed by the respective functional units, and correspond to the numbers added to the respective processes in the flowcharts illustrated in FIGS.
  • the APL-CL 1 a operating on the APL-CL terminal 1 communicates with the III-CL terminal 2 using the TCP socket 11.
  • the III-CL 2 a operating on the III-CL terminal 2 includes a PROXY thread unit 22, a communication protocol processing unit 23, a control processing unit 24, a UDP transmission / reception unit 26, and a TCP transmission / reception unit 28.
  • the PROXY thread unit 22 communicates with the APL-CL terminal 1 using the TCP socket 21 and transmits / receives a packet to / from the APL-CL terminal 1. Further, the PROXY thread unit 22 acquires band information from the communication protocol processing unit 23 and determines the size of the cache 39 of the III-SV terminal 3 based on the band information.
  • the band information is band information for communication between the III-CL terminal 2 and the III-SV terminal 3.
  • the PROXY thread unit 22 acquires a protocol from the communication protocol processing unit 23.
  • the PROXY thread unit 22 transmits the packet to the UDP transmission / reception unit 26 when the acquired protocol is a UDP-based protocol, and transmits the packet to the TCP transmission / reception unit 28 when the acquired protocol is TCP.
  • the PROXY thread unit 22 is realized by a thread generated for each APL-CL 1a.
  • the communication protocol processing unit 23 transmits bandwidth information and protocol for communication between the III-SV terminal 2 and the III-SV terminal 3 from the communication protocol processing unit 36 of the III-SV 3a via the control processing unit 24 and the control processing unit 34. Is acquired and transmitted to the PROXY thread unit 22.
  • the control processing unit 24 performs TCP session control. Specifically, the control processing unit 24 confirms the connection of the TCP session. The control processing unit 24 communicates with the III-SV terminal 3 using the TCP socket 25.
  • the UDP transmission / reception unit 26 performs packet transmission / reception with the III-SV terminal 3 using the UDP socket 27 using RPS (Random Parity Stream) or UNAP (Universal Network Acceleration Protocol) as a communication protocol.
  • RPS and UNNAP are UDP-based communication protocols, and realize higher-speed communication than TCP.
  • the UDP transmission / reception unit 26 transmits the packet received from the PROXY thread unit 22 to the III-SV terminal 3 and transmits the packet received from the III-SV terminal 3 to the PROXY thread unit 22.
  • TCP transmission / reception unit 28 performs transmission / reception of packets with III-SV terminal 3 using TCP socket 29 using TCP as a communication protocol.
  • the TCP transmission / reception unit 28 transmits the packet received from the PROXY thread unit 22 to the III-SV terminal 3 and transmits the packet received from the III-SV terminal 3 to the PROXY thread unit 22.
  • the III-SV 3a operating on the III-SV terminal 3 includes a filter instruction unit 31, a life / death table 33, a control processing unit 34, a communication protocol processing unit 36, a PROXY thread unit 37, and a cache 39.
  • the III-SV 3a includes a UDP transmission / reception unit 3b, a TCP transmission / reception unit 3d, and a data processing unit 3f.
  • the filter instruction unit 31 receives the monitoring result for each APL-SV 4a from the monitoring unit 42 of the APL-SV terminal 4, and stores it in the life / death table 33 as life / death information 33a. Further, the filter instruction unit 31 instructs the filter processing unit 44 of the APL-SV terminal 4 to set a filter in response to an instruction from the PROXY thread unit 37.
  • the filter setting is to set the rewrite source and the rewrite destination IP address in association with each other in the conversion table.
  • the filter instruction unit 31 communicates with the APL-SV terminal 4 using the TCP socket 32.
  • the life and death table 33 stores life and life information 33a indicating whether or not the device is operating normally for each APL-SV 4a.
  • the life / death information 33 a is stored by the filter instruction unit 31 and used by the control processing unit 34.
  • the control processing unit 34 performs TCP session control. Specifically, the control processing unit 34 confirms the connection of the TCP session. The control processing unit 34 communicates with the III-CL terminal 2 using the TCP socket 35. In addition, the control processing unit 34 determines whether communication with the APL-SV 4a is possible using the information in the life / death table 33, and transmits the determination result to the III-CL terminal 2.
  • the communication protocol processing unit 36 measures a communication band between the III-CL terminal 2 and the III-SV terminal 3 and stores it as band information. In addition, the communication protocol processing unit 36 determines whether to send the packet by a UDP-based protocol or TCP, and stores the determined protocol. Further, the communication protocol processing unit 36 transmits the stored bandwidth information and protocol to the communication protocol processing unit 23 via the control processing unit 34 and the control processing unit 24.
  • the PROXY thread unit 37 communicates with the APL-SV terminal 4 using the TCP socket 38 and transmits / receives a packet to / from the APL-SV terminal 4. Further, the PROXY thread unit 37 acquires a protocol from the communication protocol processing unit 36. The PROXY thread unit 37 transmits the packet to the UDP transmission / reception unit 3b when the acquired protocol is a UDP-based protocol, and transmits the packet to the TCP transmission / reception unit 3d when the acquired protocol is TCP. Send. The PROXY thread unit 37 transmits the packet to the UDP transmission / reception unit 3b or the TCP transmission / reception unit 3d via the data processing unit 3f.
  • the PROXY thread unit 37 instructs the filter processing unit 44 of the APL-SV terminal 4 to set a filter via the filter instruction unit 31.
  • the PROXY thread unit 37 establishes a TCP connection to the APL-SV 4a.
  • the PROXY thread unit 37 transmits whether or not communication with the APL-SV 4 a is possible to the III-CL terminal 2 via the communication protocol processing unit 36 and the control processing unit 34.
  • the PROXY thread unit 37 checks whether or not the APL-SV 4a filter has been set, and if not, caches the packet sent from the III-CL terminal 2 via the data processing unit 3f. Save to 39. Further, the PROXY thread unit 37 transmits the packet stored in the cache 39 to the APL-SV 4a when the filter has been set, and when there is no packet in the cache 39, the packet sent from the data processing unit 3f. Is transmitted to the APL-SV 4a.
  • the PROXY thread unit 37 is realized by a thread generated for each APL-SV 4a.
  • the cache 39 stores, as data information 39a, a packet sent from the III-CL terminal 2 via the data processing unit 3f when the APL-SV 4a filter has not been set.
  • UDP transmission / reception unit 3b performs packet transmission / reception with III-CL terminal 2 using UDP socket 3c using RPS or UNAP as a communication protocol.
  • the UDP transmission / reception unit 3b transmits the packet received from the APL-SV 4a via the PROXY thread unit 37 and the data processing unit 3f to the III-CL terminal 2, and the packet received from the III-CL terminal 2 is transmitted to the data processing unit 3f.
  • the PROXY thread unit 37 To the PROXY thread unit 37.
  • the TCP transmission / reception unit 3d performs transmission / reception of packets with the III-CL terminal 2 using the TCP socket 3e using TCP as a communication protocol.
  • the TCP transmission / reception unit 3d transmits the packet received from the APL-SV 4a via the PROXY thread unit 37 and the data processing unit 3f to the III-CL terminal 2, and the packet received from the III-CL terminal 2 is transmitted to the data processing unit 3f. To the PROXY thread unit 37.
  • the data processing unit 3 f receives a packet from the UDP transmission / reception unit 3 b or the TCP transmission / reception unit 3 d and transmits the packet to the PROXY thread unit 37. Further, the data processing unit 3f receives a packet from the PROXY thread unit 37 and transmits the packet to the UDP transmission / reception unit 3b or the TCP transmission / reception unit 3d based on the communication protocol.
  • the APL-SV 4 a operating on the APL-SV terminal 4 communicates with the III-SV terminal 3 using the TCP socket 41.
  • a monitoring unit 42 and a filter processing unit 44 operate in addition to the APL-SV 4a.
  • the monitoring unit 42 performs alive monitoring of the APL-SV 4a, and transmits the monitoring result to the filter instruction unit 31 of the III-SV terminal 3.
  • the filter processing unit 44 performs filter setting based on an instruction from the filter instruction unit 31 of the III-SV 3a.
  • the monitoring unit 42 and the filter processing unit 44 communicate with the III-SV terminal 3 using the TCP socket 44.
  • the monitoring unit 42 and the filter processing unit 44 correspond to the driver 4b illustrated in FIG.
  • FIG. 4 is a flowchart showing a flow of processing for performing the alive monitoring of the APL-SV 4a.
  • the monitoring unit 42 executes the process sandwiched between step S21 and step S27 at regular intervals.
  • the monitoring part 42 performs the process pinched
  • the service is a server client service provided by the APL-SV 4a to the APL-CL 1a.
  • the monitoring unit 42 of the APL-SV terminal 4 monitors the life and death of the APL-SV 4a (step S23), and the filter instruction unit 31 of the III-SV 3a receives the life and death information from the monitoring unit 42 of the APL-SV terminal 4 (step S24). ).
  • the filter instruction unit 31 of the III-SV 3a stores the life / death information in the life / death table 33 (step S25).
  • the monitoring unit 42 monitors the life and death of the APL-SV 4a and notifies the filter instruction unit 31 of the III-SV 3a, thereby transmitting useless packets from the III-CL terminal 2 to the III-SV terminal 3. Can be prevented.
  • FIG. 5 is a flowchart showing a flow of packet transfer processing.
  • the APL-CL 1a requests connection to the PROXY thread unit 22 of the III-CL 2a (step S31).
  • the PROXY thread unit 22 of the III-CL 2a requests band information and protocol from the communication protocol processing unit 23 of the III-CL 2a (step S32), and the communication protocol processing unit 23 of the III-CL 2a controls the control processing unit of the III-CL 2a. 24 is requested for connection (step S33).
  • control processing unit 24 of the III-CL 2a confirms the connection to the control processing unit 34 of the III-SV 3a (step S34), and the control processing unit 34 of the III-SV 3a receives the connection confirmation from the III-CL 2a (step S34). S35). Then, the control processing unit 34 of the III-SV 3a acquires the life / death information 33a from the life / death table 33 (step S36), and determines the life / death of the APL-SV 4a (step S37).
  • the packet transfer system 10 when the APL-SV 4a is active, the packet transfer system 10 performs the following processing in steps S38 to S43 and processing in steps S44 to S45 in parallel.
  • steps S38 to S43 processing in steps S44 to S45 in parallel.
  • steps S44 to S45 processing in steps S44 to S45 in parallel.
  • FIG. 5 two thick lines indicate that the processes of the two flows are performed in parallel.
  • control processing unit 34 of the III-SV 3a acquires the band information and the protocol from the communication protocol processing unit 36 of the III-SV 3a (step S38). Then, the control processing unit 34 of the III-SV 3a returns the band information and protocol to the control processing unit 24 of the III-CL 2a (step S39). Then, the control processing unit 24 of the III-CL 2a transmits the band information and the protocol to the communication protocol processing unit 23 of the III-CL 2a (Step S40). Then, the communication protocol processing unit 23 of the III-CL 2a transmits the band information and the protocol to the PROXY thread unit 22 of the III-CL 2a (step S41).
  • III-CL 2a performs packet transmission processing for transmitting packets to III-SV 3a (step S42), and III-SV 3a performs packet reception processing for receiving packets sent from III-CL 2a (step S43). Then, the packet received by the III-SV 3a is transmitted to the APL-SV 4a, and the APL-SV 4a receives the packet (step S54).
  • the communication protocol processing unit 36 of the III-SV 3a confirms the connection of the APL-SV 4a to the PROXY thread unit 37 of the III-SV 3a (step S44), and the III-SV 3a etc. performs a filter setting process for performing filter setting (step S44) S45).
  • the packet transfer system 10 performs the filter setting process and the packet transmission / reception process sequentially by the processes of the following steps S46 to S54.
  • control processing unit 34 of the III-SV 3a acquires the band information and the protocol from the communication protocol processing unit 36 of the III-SV 3a (step S46). Then, the communication protocol processing unit 36 of the III-SV 3a confirms the connection of the APL-SV 4a to the PROXY thread unit 37 of the III-SV 3a (step S47), and the III-SV 3a etc. performs a filter setting process (step S48).
  • control processing unit 34 of the III-SV 3a returns the band information and the protocol to the control processing unit 24 of the III-CL 2a (Step S49). Then, the control processing unit 24 of the III-CL 2a transmits the band information and the protocol to the communication protocol processing unit 23 of the III-CL 2a (Step S50). Then, the communication protocol processing unit 23 of the III-CL 2a transmits the band information and the protocol to the PROXY thread unit 22 of the III-CL 2a (Step S51). Then, III-CL 2a performs packet transmission processing (step S52), and III-SV 3a performs packet reception processing (step S53). Then, the packet received by the III-SV 3a is transmitted to the APL-SV 4a, and the APL-SV 4a receives the packet (step S54).
  • the packet transfer system 10 can reduce the transfer waiting time due to the filter setting by performing the filter setting process and the packet transmission / reception process in parallel. it can.
  • FIG. 6 is a flowchart showing the flow of filter setting processing by the III-SV 3a or the like.
  • the PROXY thread unit 37 of the III-SV 3a instructs the filter setting unit 31 of the III-SV 3a to set a filter (step S61).
  • the filter instruction unit 31 of the III-SV 3a instructs the filter processing unit 44 of the APL-SV 4a to set the filter (step S62), and the filter processing unit 44 of the APL-SV 4a sets the filter (step S63). Then, the filter processing unit 44 of the APL-SV 4a transmits the setting result to the filter instruction unit 31 of the III-SV 3a, and the filter instruction unit 31 of the III-SV 3a receives the setting result, and sends it to the PROXY thread unit 37 of the III-SV 3a. Transmit (step S64).
  • the PROXY thread unit 37 of the III-SV 3a determines whether or not the setting result is successful (step S65). If the setting result is unsuccessful, the process proceeds to step S68. On the other hand, if the setting result is successful, the PROXY thread unit 37 of the III-SV 3a confirms the connection to the APL-SV 4a (step S66), and the connection of the APL-SV 4a is confirmed (step S67).
  • the PROXY thread unit 37 of the III-SV 3a transmits the communication propriety to the APL-SV 4a to the communication protocol processing unit 36 of the III-SV 3a (step S68). Then, the communication protocol processing unit 36 of the III-SV 3a transmits whether or not communication with the APL-SV 4a is possible to the control processing unit 34 of the III-SV 3a (step S69). Then, the control processing unit 34 of the III-SV 3a transmits whether or not communication to the APL-SV 4a is possible to the control processing unit 24 of the III-CL 2a (step S70).
  • control processing unit 24 of the III-CL 2a transmits the communication propriety to the APL-SV 4a to the communication protocol processing unit 23 of the III-CL 2a (step S71).
  • the communication protocol processing unit 23 of the III-CL 2a transmits the communication propriety to the APL-SV 4a to the PROXY thread unit 22 of the III-CL 2a (step S72).
  • the PROXY thread unit 37 of the III-SV 3a instructs the filter processing unit 44 of the APL-SV 4a via the filter instruction unit 31 so that the filter processing unit 44 can perform the filter setting.
  • FIG. 7 is a flowchart showing the flow of packet transmission processing by III-CL 2a.
  • the PROXY thread unit 22 of the III-CL 2a determines the size of the cache 39 of the III-SV 3a from the band information (step S81).
  • the PROXY thread unit 22 of the III-CL 2a returns a response to the APL-CL 1a (step S82). If the III-CL 2a can communicate with the APL-SV 4a, the III-CL 2a performs the process between step S83 and step S90 until the transmission of all packets is completed.
  • the PROXY thread unit 22 of the III-CL 2a receives a packet from the APL-CL 1a (step S84), determines whether or not communication with the APL-SV 4a is possible (step S85), and whether there is a response from the APL-SV 4a. Is determined (step S86). As a result, if there is no response, filter setting has not been completed, so the PROXY thread unit 22 of III-CL 2a determines whether or not the cache size has been exceeded (step S87). Returns to step S84.
  • the PROXY thread unit 22 of the III-CL 2a sends the packet to the TCP transmitting / receiving unit 28 or the UDP transmitting / receiving unit 26 of the III-CL 2a based on the protocol (step S88). Then, the TCP transmission / reception unit 28 or the UDP transmission / reception unit 26 of the III-CL 2a sends the packet to the TCP transmission / reception unit 3d or the UDP transmission / reception unit 3b of the III-SV 3a (step S89).
  • step S86 if there is a response from the APL-SV 4a, the filter setting has been completed or has failed, so the PROXY thread unit 22 of the III-CL 2a can communicate with the APL-SV 4a. It is determined whether or not (step S91). As a result, if the communication with the APL-SV 4a is possible, the PROXY thread unit 22 of the III-CL 2a moves to step S88. If the communication with the APL-SV 4a is not possible, the PROXY thread unit 22 moves to the APL-CL 1a. The result is notified (step S92), and the process is terminated.
  • the III-CL 2a can suppress the packet transfer delay due to the filter setting by transmitting the packet to the III-SV 3a within the cache size.
  • FIG. 8 is a flowchart showing a flow of packet reception processing by the III-SV 3a. If the filter has not been set, the III-SV 3a repeats the process between step S101 and step S107 shown in FIG. 8, and when the filter has been set, the process between step S101 and step S115 shown in FIG. repeat.
  • the TCP transmitting / receiving unit 3d or the UDP transmitting / receiving unit 3b of the III-SV 3a sends a packet to the data processing unit 3f of the III-SV 3a (step S102). Then, the data processing unit 3f of the III-SV 3a sends the packet to the PROXY thread unit 37 of the III-SV 3a (step S103).
  • step S104 it is confirmed whether the PROXY thread unit 37 of the III-SV 3a has been set with a filter (step S104), and it is determined whether the confirmation result has been completed (step S105). As a result, if the confirmation result is not completed, the PROXY thread unit 37 of the III-SV 3a stores the packet in the cache 39 (step S106) and returns to step S102.
  • step S108 the PROXY thread unit 37 of the III-SV 3a confirms whether there is a packet in the cache 39 (step S108) and determines whether there is a packet (step S109). As a result, if there is no packet, the III-SV 3a proceeds to step S114.
  • the PROXY thread unit 37 of the III-SV 3a repeats the process sandwiched between steps S110 and S113 for all the packets in the cache 39. That is, the PROXY thread unit 37 of the III-SV 3a acquires a packet from the cache 39 (step S111), and transmits the acquired packet to the APL-SV 4a (step S112).
  • the PROXY thread unit 37 of the III-SV 3a transmits the packet transmitted from the data processing unit 3f of the III-SV 3a to the APL-SV 4a (step S114).
  • the PROXY thread unit 37 of the III-SV 3a temporarily saves the packet sent from the III-CL 2a in the cache 39 while the filter setting is not completed, whereby the packet resulting from the filter setting Transfer delay can be suppressed.
  • FIG. 9 is a diagram illustrating a hardware configuration of each terminal that executes software.
  • the APL-CL terminal 1 includes a CPU (Central Processing Unit) 51, a memory 52, an HDD (Hard Disk Drive) 53, an input device 54, a communication control unit 55, a bus 56, Have
  • CPU Central Processing Unit
  • HDD Hard Disk Drive
  • the CPU 51 is a central processing unit that reads a program from the memory 52 and executes it.
  • the memory 52 is a RAM (Random Access Memory) that stores a program, a program execution result, and the like.
  • the HDD 53 is a disk device that stores programs and data.
  • the input device 54 is a mouse, a keyboard, or the like that is used by a user to input instructions or data to the APL-CL terminal 1.
  • the communication control unit 55 controls communication with the III-CL terminal 2 via the network 5a.
  • the bus 56 connects the CPU 51, the memory 52, the HDD 53, the input device 54, and the communication control unit 55.
  • the APL-CL 1a executed in the APL-CL terminal 1 is stored in the DVD, read from the DVD, and installed in the APL-CL terminal 1.
  • the APL-CL 1a is stored in a database or the like of another computer system connected via the network 5a or the like, read from these databases, and installed in the APL-CL terminal 1.
  • the installed APL-CL 1 a is stored in the HDD 53, read into the memory 52, and executed by the CPU 51.
  • the III-CL terminal 2 includes a CPU 61, a memory 62, an HDD 63, a communication control unit 64, and a bus 65.
  • the CPU 61 is a central processing unit that reads a program from the memory 62 and executes it.
  • the memory 62 is a RAM that stores a program and a program execution result.
  • the HDD 63 is a disk device that stores programs and data.
  • the communication control unit 64 controls communication with the APL-CL terminal 1 via the network 5a.
  • the communication control unit 64 controls communication with the III-SV terminal 3.
  • the bus 65 connects the CPU 61, the memory 62, the HDD 63, and the communication control unit 64.
  • the III-CL 2a executed in the III-CL terminal 2 is stored in the DVD, read from the DVD, and installed in the III-CL terminal 2.
  • the III-CL 2a is stored in a database or the like of another computer system connected via the network 5a or the like, read from these databases, and installed in the III-CL terminal 2.
  • the installed III-CL 2a is stored in the HDD 63, read into the memory 62, and executed by the CPU 61.
  • the APL-SV terminal 4 includes a CPU 71, a memory 72, an HDD 73, a communication control unit 74, and a bus 75.
  • the CPU 71 is a central processing unit that reads a program from the memory 72 and executes it.
  • the memory 72 is a RAM that stores a program and a program execution result.
  • the HDD 73 is a disk device that stores programs and data.
  • the communication control unit 74 controls communication with the III-SV terminal 3 via the network 5b.
  • the bus 75 connects the CPU 71, the memory 72, the HDD 73, and the communication control unit 74.
  • the APL-SV 4a executed in the APL-SV terminal 4 is stored in the DVD, read from the DVD, and installed in the APL-SV terminal 4.
  • the APL-SV 4a is stored in a database or the like of another computer system connected via the network 5b or the like, read from these databases, and installed in the APL-SV terminal 4.
  • the installed APL-SV 4 a is stored in the HDD 73, read into the memory 72, and executed by the CPU 71.
  • the III-SV terminal 3 includes a CPU 81, a memory 82, an HDD 83, a communication control unit 84, and a bus 85.
  • the CPU 81 is a central processing unit that reads a program from the memory 82 and executes it.
  • the memory 82 is a RAM that stores a program, a program execution result, and the like.
  • the HDD 83 is a disk device that stores programs and data.
  • the communication control unit 84 controls communication with the APL-SV terminal 4 via the network 5b. Further, the communication control unit 84 controls communication with the III-CL terminal 2.
  • the bus 85 connects the CPU 81, the memory 82, the HDD 83, and the communication control unit 84.
  • the III-SV 3a executed in the III-SV terminal 3 is stored in the DVD, read from the DVD, and installed in the III-SV terminal 3.
  • the III-SV 3a is stored in a database or the like of another computer system connected via the network 5b or the like, read out from these databases, and installed in the III-SV terminal 3.
  • the installed III-SV 3a is stored in the HDD 83, read into the memory 82, and executed by the CPU 81.
  • the monitoring unit 42 monitors the life and death of the APL-SV 4a, transmits the monitoring result to the filter instruction unit 31, and the filter instruction unit 31 stores the monitoring result in the life and death table 33. Then, when the APL-SV 4a is active, the filter instruction unit 31 instructs the filter processing unit 44 to set the filter, and the control processing unit 34 of the III-SV 3a transmits the packet so that the APL-CL 1a transmits the packet. Control. When the packet is sent, the PROXY thread unit 37 of the III-SV 3a determines whether or not the filter setting is completed. If the filter setting is not completed, the packet is temporarily stored in the cache 39. .
  • the PROXY thread unit 37 of the III-SV 3a takes out the packet from the cache 39 and transmits it to the APL-SV 4a. Therefore, the III-CL 2a can transmit a packet to the III-SV 3a before the filter setting is completed, thereby reducing the transfer waiting time due to the filter setting and improving the throughput.
  • the PROXY thread unit 37 of the III-SV 3a controls to transmit to the APL-CL 1a whether or not communication to the APL-SV 4a is possible. Accordingly, the PROXY thread unit 37 of the III-SV 3a can control the APL-CL 1a not to transmit a packet when communication to the APL-SV 4a is not possible.
  • the PROXY thread unit 22 of the III-CL 2a determines the size of data cached by the III-SV 3a based on the bandwidth information of communication between the III-CL terminal 2 and the III-SV terminal 3. Therefore, the PROXY thread unit 22 of the III-CL 2a can transmit an appropriate amount of data to the III-SV 3a before the filter setting is completed.
  • the filter instruction unit 31 instructs the filter processing unit 44 to set the filter, and when the filter setting is completed, the APL-CL 1a transmits the packet. Control is performed by the control processing unit 34 of the III-SV 3a. Therefore, even when there is an abnormality in the monitoring process of the APL-SV 4a, the packet transfer system 10 can perform packet transfer.
  • the present invention is not limited to this, and the present invention can be similarly applied to a case of transferring data in a format other than a packet.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A monitor unit (42) monitors life or death of APL-SV (4a) and transmits the result of the monitoring to a filter instruction unit (31). The filter instruction unit (31) then stores the result of the monitoring to a life-or-death table (33). If the APL-SV (4a) is in a state of life, the filter instruction unit (31) instructs a filter processing unit (44) to perform a filter setting, while a control processing unit (34) of III-SV (3a) controls APL-CL (1a) to transmit a packet. Upon reception of the packet, a PROXY thread unit (37) of the III-SV (3a) determines whether the filter setting has been completed or not, and, if not, temporarily stores the packet into a cache (39). After completion of the filter setting, the PROXY thread unit (37) of the III-SV (3a) extracts the packet from the cache (39) and transmits the packet to the APL-SV (4a).

Description

データ転送処理プログラム、データ転送処理方法及びデータ転送処理装置Data transfer processing program, data transfer processing method, and data transfer processing device
 本発明は、データ転送処理プログラム、データ転送処理方法及びデータ転送処理装置に関する。 The present invention relates to a data transfer processing program, a data transfer processing method, and a data transfer processing device.
 遠隔地間でTCP/IP(Transmission Control Protocol/Internet Protocol)通信を行う際に、TCP/IPのコネクション確立およびデータ転送の手順の一部を変更して、通信を高速化する技術がある。 When TCP / IP (Transmission Control Protocol / Internet Protocol) communication is performed between remote locations, there is a technology that speeds up communication by changing part of the TCP / IP connection establishment and data transfer procedures.
特開2000-316026号公報JP 2000-316026 A 特開2003-69615号公報JP 2003-69615 A
 図10は、遠隔地間においてTCP/IPを利用するデータ通信で、途中の通信をUDP(User Datagram Protocol)ベースの通信プロトコルに置き換えることによる高速化の一例を示す図である。図10において、APL-CL端末91は、IPアドレスがAであるクライアント端末であり、APL-SV端末94は、IPアドレスがDであるサーバ装置である。APL-CL端末91とAPL-SV端末94は、WAN(Wide Area Network)95で接続される。 FIG. 10 is a diagram showing an example of speeding up by replacing the midway communication with a UDP (User Datagram Protocol) -based communication protocol in data communication using TCP / IP between remote locations. In FIG. 10, an APL-CL terminal 91 is a client terminal whose IP address is A, and an APL-SV terminal 94 is a server apparatus whose IP address is D. The APL-CL terminal 91 and the APL-SV terminal 94 are connected by a WAN (Wide Area Network) 95.
 APL-CL端末91ではAPL-CL91aが動作し、APL-SV端末94ではAPL-SV94aが動作する。APL-CL91aはクライアント側のアプリケーションであり、APL-SV94aはサーバ側のアプリケーションである。APL-CL91aとAPL-SV94aは、WAN95を用いてTCP/IP通信を行う。 In the APL-CL terminal 91, the APL-CL 91a operates, and in the APL-SV terminal 94, the APL-SV 94a operates. APL-CL 91a is a client-side application, and APL-SV 94a is a server-side application. The APL-CL 91a and APL-SV 94a perform TCP / IP communication using the WAN 95.
 図10に示すように、APL-CL91aとAPL-SV94aとの間の通信は、IPアドレスがBであるIII-CL端末92で動作するIII-CL92aと、IPアドレスがCであるIII-SV端末93で動作するIII-SV93aにより中継される。III-CL92aはクライアント側の転送ソフトウェアであり、III-SV93aはサーバ側の転送ソフトウェアである。APL-CL91aとIII-CL92aの間の通信及びIII-SV93aとAPL-SV94aの間の通信はTCPを用いて行われ、III-CL92aとIII-SV93aの間の通信はUDPベースの通信プロトコルを用いてTCPより高速に行われる。 As shown in FIG. 10, communication between the APL-CL 91a and the APL-SV 94a is performed in the III-CL 92a operating on the III-CL terminal 92 whose IP address is B and the III-SV terminal whose IP address is C. Relayed by III-SV 93a operating at 93. III-CL 92a is transfer software on the client side, and III-SV 93a is transfer software on the server side. Communication between APL-CL91a and III-CL92a and communication between III-SV93a and APL-SV94a are performed using TCP, and communication between III-CL92a and III-SV93a uses a UDP-based communication protocol. And faster than TCP.
 APL-CL91aからAPL-SV94aへの送信では、APL-CL91aは、Src=A:a及びDst=B:bをパケットに設定してIII-CL92aにパケットを送信する。ここで、Src=A:aは、送信元のIPアドレス及びポート番号がそれぞれA及びaであることを表し、Dst=B:bは、送信先のIPアドレス及びポート番号がそれぞれB及びbであることを表す。III-CL92aは、Src=B:b及びDst=C:cをパケットに設定してIII-SV93aにパケットを送信する。III-SV93aは、Src=C:c及びDst=D:dをパケットに設定してAPL-SV94aにパケットを送信する。 In transmission from APL-CL 91a to APL-SV 94a, APL-CL 91a sets Src = A: a and Dst = B: b to the packet and transmits the packet to III-CL 92a. Here, Src = A: a indicates that the source IP address and port number are A and a, respectively, and Dst = B: b indicates that the destination IP address and port number are B and b, respectively. Represents something. The III-CL 92a sets Src = B: b and Dst = C: c to the packet, and transmits the packet to the III-SV 93a. The III-SV 93a sets Src = C: c and Dst = D: d in the packet and transmits the packet to the APL-SV 94a.
 パケットを受信したAPL-SV端末94は、パケットのSrc=C:cをSrc=A:aに書換えてAPL-SV94aに渡す。すなわち、APL-SV94aから見ると、パケットの送信元は、APL-CL91aである。APL-SV94aは、情報を公開する対象を限定する場合に、アクセスするクライアント端末のIPアドレスを用いる。したがって、APL-SV94aが受信するパケットの送信元のIPアドレスは、クライアント端末のIPアドレスである必要があり、APL-SV端末94において変換が行われる。 The APL-SV terminal 94 that has received the packet rewrites Src = C: c of the packet with Src = A: a and passes it to the APL-SV 94a. That is, when viewed from the APL-SV 94a, the packet transmission source is the APL-CL 91a. The APL-SV 94a uses the IP address of the client terminal to access when limiting the information disclosure target. Therefore, the source IP address of the packet received by the APL-SV 94a needs to be the IP address of the client terminal, and the APL-SV terminal 94 performs conversion.
 また、APL-SV94aからAPL-CL91aへの送信では、APL-SV94aがSrc=D:d及びDst=A:aをパケットに設定してパケットを送信する。すると、APL-SV端末94は、Dst=A:aをDst=C:cに書換えてパケットをIII-SV93aに送信する。III-SV93aは、Src=C:c及びDst=B:bをパケットに設定してIII-CL92aにパケットを送信する。III-CL92aは、Src=B:b及びDst=A:aをパケットに設定してAPL-CL91aにパケットを送信する。 In the transmission from the APL-SV 94a to the APL-CL 91a, the APL-SV 94a sets Src = D: d and Dst = A: a to the packet and transmits the packet. Then, the APL-SV terminal 94 rewrites Dst = A: a to Dst = C: c and transmits the packet to the III-SV 93a. The III-SV 93a sets Src = C: c and Dst = B: b to the packet, and transmits the packet to the III-CL 92a. The III-CL 92a sets Src = B: b and Dst = A: a to the packet, and transmits the packet to the APL-CL 91a.
 このように、クライアント端末とサーバ装置との間のTCPを用いた遠隔通信の途中をUDPベースの通信プロトコルに置き換えることによって、遠隔通信を高速化することができる。 Thus, by replacing the middle of remote communication using TCP between the client terminal and the server device with a UDP-based communication protocol, the remote communication can be speeded up.
 APL-SV端末94は、書換え元と書換え先を対応付ける変換テーブルを用いてIPアドレス及びポート番号の書換えを行う。ただし、DHCP(Dynamic Host Configuration Protocol)等でAPL-CL端末91のIPアドレスが動的に付与される場合、APL-SV端末94は、静的な変換テーブルを事前に作成することができない。そこで、APL-SV端末94は、動的に変換テーブルを作成する。 The APL-SV terminal 94 rewrites the IP address and port number using a conversion table that associates the rewrite source with the rewrite destination. However, when the IP address of the APL-CL terminal 91 is dynamically assigned by DHCP (Dynamic Host Configuration Protocol) or the like, the APL-SV terminal 94 cannot create a static conversion table in advance. Therefore, the APL-SV terminal 94 dynamically creates a conversion table.
 図11は、変換テーブルの動的作成を説明するための図である。図11では、APL-CL端末91のIPアドレスは、191.168.1.1であり、III-CL端末92のIPアドレスは、191.168.1.10であり、III-SV端末93のIPアドレスは、191.168.10.10であり、APL-SV端末94のIPアドレスは、191.168.10.1である。また、ここでは、送信元及び送信先のポート番号は常に同じであるとする。 FIG. 11 is a diagram for explaining the dynamic creation of the conversion table. In FIG. 11, the IP address of the APL-CL terminal 91 is 191.168.1.1, the IP address of the III-CL terminal 92 is 191.168.1.10, and the IP address of the III-SV terminal 93 is The IP address is 191.168.10.10, and the IP address of the APL-SV terminal 94 is 191.168.10.1. Here, it is assumed that the source and destination port numbers are always the same.
 図11に示すように、III-CL92aは、APL-CL91aからAPL-SV94a宛のパケットを受信し(1)、利用者端末IPすなわちAPL-CL端末91のIPアドレスをIII-SV93aに伝え(2)、パケットの転送を保留する。III-SV93aは、APL-CL端末91のIPアドレスをAPL-SV端末94に伝え、SrcIPの書換えの設定、すなわち変換テーブルの設定を指示する(3)。ここで、SrcIPは、送信元のIPアドレスである。 As shown in FIG. 11, the III-CL 92a receives a packet addressed to the APL-SV 94a from the APL-CL 91a (1), and transmits the IP address of the user terminal IP, that is, the APL-CL terminal 91 to the III-SV 93a (2 ) Hold the packet transfer. The III-SV 93a transmits the IP address of the APL-CL terminal 91 to the APL-SV terminal 94 and instructs the setting of SrcIP rewriting, that is, the setting of the conversion table (3). Here, SrcIP is a source IP address.
 APL-SV端末94では、ドライバ94bが、SrcIPの書換えの設定を行い(4)、SrcIPの書換えの設定が完了したことをIII-SV93aへ通知する(5)。III-SV93aは、SrcIPの書換えの設定が完了したことをIII-CL92aへ通知する(6)。III-CL92aは、保留していたパケットのIII-SV93aへの転送を行う(7)。III-SV93aは、APL-SV94aへパケットを転送する(8)。 In the APL-SV terminal 94, the driver 94b performs SrcIP rewrite settings (4), and notifies the III-SV 93a that SrcIP rewrite settings have been completed (5). The III-SV 93a notifies the III-CL 92a that the setting for rewriting SrcIP has been completed (6). The III-CL 92a transfers the held packet to the III-SV 93a (7). The III-SV 93a transfers the packet to the APL-SV 94a (8).
 APL-SV端末94では、SrcIP書換え処理が行われ、パケット内のIII-SV端末93のIPアドレス191.168.10.10がAPL-CL端末91のIPアドレス191.168.1.1に書換えられる(9)。APL-SV94aは、APL-CL端末91のIPアドレスに書換えられたパケットを受信する(10)。 In the APL-SV terminal 94, the SrcIP rewriting process is performed, and the IP address 191.168.10.10 of the III-SV terminal 93 in the packet is rewritten to the IP address 191.168.1.1 of the APL-CL terminal 91. (9). The APL-SV 94a receives the packet rewritten to the IP address of the APL-CL terminal 91 (10).
 図11に示した変換テーブルの動的作成では、III-CL92aは、変換テーブルの設定完了後にパケットの転送を開始する。したがって、パケットの転送待ちによりスループットが低下するという問題がある。 In the dynamic creation of the conversion table shown in FIG. 11, the III-CL 92a starts packet transfer after completing the setting of the conversion table. Therefore, there is a problem that the throughput decreases due to waiting for packet transfer.
 本発明は、1つの側面では、転送待ち時間を削減し、スループットを向上することを目的とする。 In one aspect, the present invention aims to reduce transfer waiting time and improve throughput.
 本願の開示するデータ転送処理プログラムは、1つの態様において、第一の装置が送信元装置から受信したデータを前記第一の装置から受信して前記送信元装置のアドレスを設定したパケットにより送信先装置へ転送する第二の装置のコンピュータで実行される。前記データ転送処理プログラムは、前記送信先装置で前記データを受信する送信先の動作状態のモニタ結果を受信する処理を前記コンピュータに実行させる。そして、前記データ転送処理プログラムは、前記第一の装置からの前記データの前記送信先装置への転送要求に対し、前記送信先の動作状態が正常である場合は、前記送信先装置に前記第二の装置から前記送信元装置へのアドレス変換の設定指示を送付する処理を前記コンピュータに実行させる。また、並行して、前記データ転送処理プログラムは、前記第一の装置に前記データの転送指示を行う処理を前記コンピュータに実行させる。そして、前記データ転送処理プログラムは、前記第一の装置から転送された前記データを、前記設定指示に対する完了応答を受信するまでは保持し、完了応答受信後に、前記送信先装置に転送する処理を前記コンピュータに実行させる。 In one aspect, a data transfer processing program disclosed in the present application is, in one aspect, a destination received by a packet in which data received from a transmission source device is received from the first device and an address of the transmission source device is set. It is executed on the computer of the second device that transfers to the device. The data transfer processing program causes the computer to execute a process of receiving a monitoring result of an operation state of a transmission destination that receives the data at the transmission destination device. In response to a transfer request for the data from the first device to the transmission destination device, the data transfer processing program, when the operation state of the transmission destination is normal, Causing the computer to execute processing for sending an address translation setting instruction from the second device to the transmission source device. In parallel, the data transfer processing program causes the computer to execute a process of instructing the first device to transfer the data. The data transfer processing program holds the data transferred from the first device until a completion response to the setting instruction is received, and transfers the data to the transmission destination device after receiving the completion response. Cause the computer to execute.
 1実施態様によれば、スループットを向上することができる。 According to one embodiment, throughput can be improved.
図1は、実施例に係るパケット転送システムを説明するための図である。FIG. 1 is a diagram for explaining the packet transfer system according to the embodiment. 図2は、実施例に係るパケット転送システムの処理のフローを示すフローチャートである。FIG. 2 is a flowchart illustrating a process flow of the packet transfer system according to the embodiment. 図3は、実施例に係るパケット転送システムの構成を示す図である。FIG. 3 is a diagram illustrating the configuration of the packet transfer system according to the embodiment. 図4は、APL-SVの死活監視を行う処理のフローを示すフローチャートである。FIG. 4 is a flowchart showing a flow of processing for performing APL-SV alive monitoring. 図5は、パケット転送処理のフローを示すフローチャートである。FIG. 5 is a flowchart showing a flow of packet transfer processing. 図6は、III-SV等によるフィルタ設定処理のフローを示すフローチャートである。FIG. 6 is a flowchart showing a flow of filter setting processing by III-SV or the like. 図7は、III-CLによるパケット送信処理のフローを示すフローチャートである。FIG. 7 is a flowchart showing a flow of packet transmission processing by III-CL. 図8は、III-SVによるパケット受信処理のフローを示すフローチャートである。FIG. 8 is a flowchart showing a flow of packet reception processing by III-SV. 図9は、ソフトウェアを実行する各端末のハードウェア構成を示す図である。FIG. 9 is a diagram illustrating a hardware configuration of each terminal that executes software. 図10は、遠隔通信の高速化の一例を示す図である。FIG. 10 is a diagram illustrating an example of speeding up of remote communication. 図11は、変換テーブルの動的作成を説明するための図である。FIG. 11 is a diagram for explaining the dynamic creation of the conversion table.
 以下に、本願の開示するデータ転送処理プログラム、データ転送処理方法及びデータ転送処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。 Hereinafter, embodiments of a data transfer processing program, a data transfer processing method, and a data transfer processing device disclosed in the present application will be described in detail with reference to the drawings. Note that this embodiment does not limit the disclosed technology.
 まず、実施例に係るパケット転送システムについて説明する。図1は、実施例に係るパケット転送システムを説明するための図である。図1に示すように、パケット転送システム10は、APL-CL端末1と、III-CL端末2と、III-SV端末3と、APL-SV端末4とを有する。 First, the packet transfer system according to the embodiment will be described. FIG. 1 is a diagram for explaining the packet transfer system according to the embodiment. As shown in FIG. 1, the packet transfer system 10 includes an APL-CL terminal 1, an III-CL terminal 2, a III-SV terminal 3, and an APL-SV terminal 4.
 APL-CL端末1は、IPアドレスが192.168.1.1であるクライアント端末である。APL-SV端末4は、IPアドレスが192.168.10.1であるサーバ装置である。APL-CL端末1とAPL-SV端末4は、WANで接続される。 The APL-CL terminal 1 is a client terminal whose IP address is 192.168.1.1. The APL-SV terminal 4 is a server device having an IP address of 192.168.10.1. The APL-CL terminal 1 and the APL-SV terminal 4 are connected by a WAN.
 APL-CL端末1ではAPL-CL1aが動作し、APL-SV端末4ではAPL-SV4a及びドライバ4bが動作する。APL-CL1aはクライアント側のアプリケーションであり、APL-SV4aはサーバ側のアプリケーションである。ドライバ4bは、IPアドレスの書換え等を行うソフトウェアである。APL-CL1aとAPL-SV4aは、WANを用いてTCP/IP通信を行う。 In APL-CL terminal 1, APL-CL 1a operates, and in APL-SV terminal 4, APL-SV 4a and driver 4b operate. APL-CL 1a is a client-side application, and APL-SV 4a is a server-side application. The driver 4b is software that rewrites an IP address. The APL-CL 1a and APL-SV 4a perform TCP / IP communication using a WAN.
 III-CL端末2は、APL-CL1aとAPL-SV4aとの間の通信を中継するクライアント側の装置である。III-CL端末2のIPアドレスは192.168.1.10である。III-SV端末3は、APL-CL1aとAPL-SV4aとの間の通信を中継するサーバ側の装置である。III-SV端末3のIPアドレスは192.168.10.10である。 The III-CL terminal 2 is a client-side device that relays communication between the APL-CL 1a and the APL-SV 4a. The IP address of the III-CL terminal 2 is 192.168.1.10. The III-SV terminal 3 is a server-side device that relays communication between the APL-CL 1a and the APL-SV 4a. The IP address of the III-SV terminal 3 is 192.168.10.10.
 APL-CL1aとAPL-SV4aとの間の通信は、III-CL端末2で動作するIII-CL2aと、III-SV端末3で動作するIII-SV3aにより中継される。III-CL2aはクライアント側の転送ソフトウェアであり、III-SV3aはサーバ側の転送ソフトウェアである。APL-CL1aとIII-CL2aの間の通信及びIII-SV3aとAPL-SV4aの間の通信はTCPを用いて行われ、III-CL2aとIII-SV3aの間の通信はUDPベースの通信プロトコルを用いてTCPより高速に行われる。 Communication between APL-CL 1a and APL-SV 4a is relayed by III-CL 2a operating on III-CL terminal 2 and III-SV 3a operating on III-SV terminal 3. III-CL 2a is transfer software on the client side, and III-SV 3a is transfer software on the server side. Communication between APL-CL1a and III-CL2a and communication between III-SV3a and APL-SV4a are performed using TCP, and communication between III-CL2a and III-SV3a uses a UDP-based communication protocol. And faster than TCP.
 図2は、実施例に係るパケット転送システム10の処理のフローを示すフローチャートである。図2においてステップを示すステップSn(n=0~11)は図1に示す(n)に対応する。 FIG. 2 is a flowchart illustrating a processing flow of the packet transfer system 10 according to the embodiment. In FIG. 2, step Sn (n = 0 to 11) indicating steps corresponds to (n) shown in FIG.
 APL-SV端末4のSrcIPの書換え用のドライバ4bが、APL-SV端末4で動作するすべてのAPL-SV4aの死活監視を行い、監視結果(モニタ結果)をAPL生存情報としてIII-SV3aに送信する(ステップS0)。また、III-CL2aは、APL-CL1aからAPL-SV4a宛のパケットを受信し(ステップS1)、利用者端末IPすなわちAPL-CL端末1のIPアドレスをIII-SV3aに伝え、パケットの転送を保留する(ステップS2)。 The SrcIP rewriting driver 4b of the APL-SV terminal 4 performs alive monitoring of all APL-SVs 4a operating on the APL-SV terminal 4, and sends the monitoring results (monitoring results) to the III-SV 3a as APL survival information. (Step S0). The III-CL 2a receives the packet addressed to the APL-SV 4a from the APL-CL 1a (step S1), notifies the user terminal IP, that is, the IP address of the APL-CL terminal 1, to the III-SV 3a, and holds the packet transfer pending. (Step S2).
 III-SV3aは、APL-CL端末1のIPアドレスをAPL-SV端末4に伝え、APL-SV端末4でのSrcIPの書換えの設定、すなわち変換テーブルの設定を指示する(ステップS3)。APL-SV端末4では、ドライバ4bが、SrcIPの書換えを設定し(ステップS4)、SrcIPの書換えの設定が完了したことをIII-SV3aへ通知する(ステップS5)。 The III-SV 3a transmits the IP address of the APL-CL terminal 1 to the APL-SV terminal 4, and instructs the APL-SV terminal 4 to set rewriting of SrcIP, that is, to set the conversion table (step S3). In the APL-SV terminal 4, the driver 4b sets SrcIP rewriting (step S4), and notifies the III-SV 3a that setting of SrcIP rewriting is completed (step S5).
 また、ステップS3~ステップS5の処理と並行して、パケット転送システム10は、以下のステップS6~ステップS8の処理を行う。III-SV3aは、ステップS0で送信された監視結果を参照し、送信先のAPL-SV4aが動作しているか否かを判定する。そして、III-SV3aは、送信先のAPL-SV4aが動作している場合、APL-SV端末4のSrcIP書換えの設定を待たずにIII-CL2aへ通信開始を指示する(ステップS6)。III-CL2aは、保留していたパケットのIII-SV3aへの転送を開始する(ステップS7)。III-SV3aは、転送されたパケットをキャッシュに格納する(ステップS8)。 Further, in parallel with the processing from step S3 to step S5, the packet transfer system 10 performs the following processing from step S6 to step S8. The III-SV 3a refers to the monitoring result transmitted in step S0 and determines whether or not the transmission destination APL-SV 4a is operating. Then, when the transmission destination APL-SV 4a is operating, the III-SV 3a instructs the III-CL 2a to start communication without waiting for the setting of the SrcIP rewriting of the APL-SV terminal 4 (step S6). The III-CL 2a starts transferring the held packet to the III-SV 3a (step S7). The III-SV 3a stores the transferred packet in the cache (step S8).
 そして、III-SV3aは、SrcIP書換えの設定完了後、キャッシュに格納されたパケットをAPL-SV4aへ転送する(ステップS9)。そして、APL-SV端末4は、SrcIP書換え処理を行い、パケット内のIII-SV端末3のIPアドレス192.168.10.10をAPL-CL端末1のIPアドレス192.168.1.1に書換える(ステップS10)。そして、APL-SV4aは、APL-CL端末1のIPアドレスに書換えられたパケットを受信する(ステップS11)。 The III-SV 3a then transfers the packet stored in the cache to the APL-SV 4a after the completion of the SrcIP rewrite setting (step S9). Then, the APL-SV terminal 4 performs the SrcIP rewriting process, and the IP address 192.168.10.10 of the III-SV terminal 3 in the packet is changed to the IP address 192.168.1.1 of the APL-CL terminal 1. Rewrite (step S10). The APL-SV 4a receives the packet rewritten to the IP address of the APL-CL terminal 1 (step S11).
 このように、APL-SV端末4のSrcIP書換えの設定を待たずにIII-CL2aがパケットをIII-SV3aへ転送し、転送されたパケットをIII-SV3aがキャッシュに格納することで、SrcIP書換えの設定に起因する転送待ち時間を削減することができる。 In this way, the III-CL 2a transfers the packet to the III-SV 3a without waiting for the setting of the SrcIP rewrite of the APL-SV terminal 4, and the III-SV 3a stores the transferred packet in the cache. The transfer waiting time due to the setting can be reduced.
 次に、実施例に係るパケット転送システム10の構成について説明する。図3は、実施例に係るパケット転送システム10の構成を示す図である。なお、図3において吹き出しの中に記載された番号は、各機能部が行う処理を示し、図4~図8に示すフローチャートの各処理に付加された番号に対応する。 Next, the configuration of the packet transfer system 10 according to the embodiment will be described. FIG. 3 is a diagram illustrating the configuration of the packet transfer system 10 according to the embodiment. Note that the numbers described in the balloons in FIG. 3 indicate the processes performed by the respective functional units, and correspond to the numbers added to the respective processes in the flowcharts illustrated in FIGS.
 図3に示すように、APL-CL端末1で動作するAPL-CL1aは、TCPソケット11を用いてIII-CL端末2と通信を行う。III-CL端末2で動作するIII-CL2aは、PROXYスレッド部22と、通信プロトコル処理部23と、制御処理部24と、UDP送受信部26と、TCP送受信部28とを有する。 As shown in FIG. 3, the APL-CL 1 a operating on the APL-CL terminal 1 communicates with the III-CL terminal 2 using the TCP socket 11. The III-CL 2 a operating on the III-CL terminal 2 includes a PROXY thread unit 22, a communication protocol processing unit 23, a control processing unit 24, a UDP transmission / reception unit 26, and a TCP transmission / reception unit 28.
 PROXYスレッド部22は、TCPソケット21を用いてAPL-CL端末1と通信を行い、APL-CL端末1との間でパケットの送受信を行う。また、PROXYスレッド部22は、通信プロトコル処理部23から帯域情報を取得し、III-SV端末3のキャッシュ39のサイズを帯域情報に基づいて決定する。ここで、帯域情報は、III-CL端末2とIII-SV端末3との間の通信の帯域情報である。 The PROXY thread unit 22 communicates with the APL-CL terminal 1 using the TCP socket 21 and transmits / receives a packet to / from the APL-CL terminal 1. Further, the PROXY thread unit 22 acquires band information from the communication protocol processing unit 23 and determines the size of the cache 39 of the III-SV terminal 3 based on the band information. Here, the band information is band information for communication between the III-CL terminal 2 and the III-SV terminal 3.
 また、PROXYスレッド部22は、通信プロトコル処理部23からプロトコルを取得する。そして、PROXYスレッド部22は、取得したプロトコルがUDPベースのプロトコルである場合には、パケットをUDP送受信部26に送信し、取得したプロトコルがTCPである場合には、パケットをTCP送受信部28に送信する。なお、PROXYスレッド部22は、APL-CL1a毎に生成されるスレッドにより実現される。 Also, the PROXY thread unit 22 acquires a protocol from the communication protocol processing unit 23. The PROXY thread unit 22 transmits the packet to the UDP transmission / reception unit 26 when the acquired protocol is a UDP-based protocol, and transmits the packet to the TCP transmission / reception unit 28 when the acquired protocol is TCP. Send. The PROXY thread unit 22 is realized by a thread generated for each APL-CL 1a.
 通信プロトコル処理部23は、III-SV3aの通信プロトコル処理部36からIII-CL端末2とIII-SV端末3との間の通信の帯域情報及びプロトコルを制御処理部24及び制御処理部34を介して取得し、PROXYスレッド部22に送信する。 The communication protocol processing unit 23 transmits bandwidth information and protocol for communication between the III-SV terminal 2 and the III-SV terminal 3 from the communication protocol processing unit 36 of the III-SV 3a via the control processing unit 24 and the control processing unit 34. Is acquired and transmitted to the PROXY thread unit 22.
 制御処理部24は、TCPのセッション制御を行う。具体的には、制御処理部24は、TCPセッションの接続の確認等を行う。制御処理部24は、TCPソケット25を用いてIII-SV端末3と通信を行う。 The control processing unit 24 performs TCP session control. Specifically, the control processing unit 24 confirms the connection of the TCP session. The control processing unit 24 communicates with the III-SV terminal 3 using the TCP socket 25.
 UDP送受信部26は、RPS(Random Parity Stream)又はUNAP(Universal Network Acceleration Protocol)を通信プロトコルとしてUDPソケット27を用いてパケットの送受信をIII-SV端末3と行う。RPS及びUNAPは、UDPベースの通信プロトコルであり、TCPより高速な通信を実現する。UDP送受信部26は、PROXYスレッド部22から受信したパケットをIII-SV端末3へ送信し、III-SV端末3から受信したパケットをPROXYスレッド部22に送信する。 The UDP transmission / reception unit 26 performs packet transmission / reception with the III-SV terminal 3 using the UDP socket 27 using RPS (Random Parity Stream) or UNAP (Universal Network Acceleration Protocol) as a communication protocol. RPS and UNNAP are UDP-based communication protocols, and realize higher-speed communication than TCP. The UDP transmission / reception unit 26 transmits the packet received from the PROXY thread unit 22 to the III-SV terminal 3 and transmits the packet received from the III-SV terminal 3 to the PROXY thread unit 22.
 TCP送受信部28は、TCPを通信プロトコルとしてTCPソケット29を用いてパケットの送受信をIII-SV端末3と行う。TCP送受信部28は、PROXYスレッド部22から受信したパケットをIII-SV端末3へ送信し、III-SV端末3から受信したパケットをPROXYスレッド部22に送信する。 TCP transmission / reception unit 28 performs transmission / reception of packets with III-SV terminal 3 using TCP socket 29 using TCP as a communication protocol. The TCP transmission / reception unit 28 transmits the packet received from the PROXY thread unit 22 to the III-SV terminal 3 and transmits the packet received from the III-SV terminal 3 to the PROXY thread unit 22.
 III-SV端末3で動作するIII-SV3aは、フィルタ指示部31と、死活テーブル33と、制御処理部34と、通信プロトコル処理部36と、PROXYスレッド部37と、キャッシュ39とを有する。また、III-SV3aは、UDP送受信部3bと、TCP送受信部3dと、データ処理部3fとを有する。 The III-SV 3a operating on the III-SV terminal 3 includes a filter instruction unit 31, a life / death table 33, a control processing unit 34, a communication protocol processing unit 36, a PROXY thread unit 37, and a cache 39. The III-SV 3a includes a UDP transmission / reception unit 3b, a TCP transmission / reception unit 3d, and a data processing unit 3f.
 フィルタ指示部31は、APL-SV端末4の監視部42からAPL-SV4a毎の監視結果を受信し、死活テーブル33に死活情報33aとして格納する。また、フィルタ指示部31は、PROXYスレッド部37からの指示によりAPL-SV端末4のフィルタ処理部44にフィルタ設定を指示する。ここで、フィルタ設定とは、書換え元と書換え先のIPアドレスを対応付けて変換テーブルへ設定することである。フィルタ指示部31は、TCPソケット32を用いてAPL-SV端末4と通信を行う。 The filter instruction unit 31 receives the monitoring result for each APL-SV 4a from the monitoring unit 42 of the APL-SV terminal 4, and stores it in the life / death table 33 as life / death information 33a. Further, the filter instruction unit 31 instructs the filter processing unit 44 of the APL-SV terminal 4 to set a filter in response to an instruction from the PROXY thread unit 37. Here, the filter setting is to set the rewrite source and the rewrite destination IP address in association with each other in the conversion table. The filter instruction unit 31 communicates with the APL-SV terminal 4 using the TCP socket 32.
 死活テーブル33は、正常に動作しているか否かを示す死活情報33aをAPL-SV4a毎に記憶する。死活情報33aは、フィルタ指示部31により格納され、制御処理部34により使用される。 The life and death table 33 stores life and life information 33a indicating whether or not the device is operating normally for each APL-SV 4a. The life / death information 33 a is stored by the filter instruction unit 31 and used by the control processing unit 34.
 制御処理部34は、TCPのセッション制御を行う。具体的には、制御処理部34は、TCPセッションの接続の確認等を行う。制御処理部34は、TCPソケット35を用いてIII-CL端末2と通信を行う。また、制御処理部34は、死活テーブル33の情報を用いてAPL-SV4aとの通信可否を判定し、判定結果をIII-CL端末2へ送信する。 The control processing unit 34 performs TCP session control. Specifically, the control processing unit 34 confirms the connection of the TCP session. The control processing unit 34 communicates with the III-CL terminal 2 using the TCP socket 35. In addition, the control processing unit 34 determines whether communication with the APL-SV 4a is possible using the information in the life / death table 33, and transmits the determination result to the III-CL terminal 2.
 通信プロトコル処理部36は、III-CL端末2とIII-SV端末3との間の通信の帯域を測定し、帯域情報として記憶する。また、通信プロトコル処理部36は、パケットをUDPベースのプロトコルで送るかTCPで送るかを決定し、決定したプロトコルを記憶する。また、通信プロトコル処理部36は、記憶した帯域情報及びプロトコルを制御処理部34及び制御処理部24を介して通信プロトコル処理部23に送信する。 The communication protocol processing unit 36 measures a communication band between the III-CL terminal 2 and the III-SV terminal 3 and stores it as band information. In addition, the communication protocol processing unit 36 determines whether to send the packet by a UDP-based protocol or TCP, and stores the determined protocol. Further, the communication protocol processing unit 36 transmits the stored bandwidth information and protocol to the communication protocol processing unit 23 via the control processing unit 34 and the control processing unit 24.
 PROXYスレッド部37は、TCPソケット38を用いてAPL-SV端末4と通信を行い、APL-SV端末4との間でパケットの送受信を行う。また、PROXYスレッド部37は、通信プロトコル処理部36からプロトコルを取得する。そして、PROXYスレッド部37は、取得したプロトコルがUDPベースのプロトコルである場合には、パケットをUDP送受信部3bに送信し、取得したプロトコルがTCPである場合には、パケットをTCP送受信部3dに送信する。PROXYスレッド部37は、データ処理部3fを介して、パケットをUDP送受信部3b又はTCP送受信部3dに送信する。 The PROXY thread unit 37 communicates with the APL-SV terminal 4 using the TCP socket 38 and transmits / receives a packet to / from the APL-SV terminal 4. Further, the PROXY thread unit 37 acquires a protocol from the communication protocol processing unit 36. The PROXY thread unit 37 transmits the packet to the UDP transmission / reception unit 3b when the acquired protocol is a UDP-based protocol, and transmits the packet to the TCP transmission / reception unit 3d when the acquired protocol is TCP. Send. The PROXY thread unit 37 transmits the packet to the UDP transmission / reception unit 3b or the TCP transmission / reception unit 3d via the data processing unit 3f.
 また、PROXYスレッド部37は、フィルタ指示部31を介してAPL-SV端末4のフィルタ処理部44にフィルタ設定を指示する。また、PROXYスレッド部37は、APL-SV4aにTCPコネクションを張る。また、PROXYスレッド部37は、APL-SV4aとの通信可否を通信プロトコル処理部36及び制御処理部34を介してIII-CL端末2へ送信する。 Further, the PROXY thread unit 37 instructs the filter processing unit 44 of the APL-SV terminal 4 to set a filter via the filter instruction unit 31. The PROXY thread unit 37 establishes a TCP connection to the APL-SV 4a. In addition, the PROXY thread unit 37 transmits whether or not communication with the APL-SV 4 a is possible to the III-CL terminal 2 via the communication protocol processing unit 36 and the control processing unit 34.
 また、PROXYスレッド部37は、APL-SV4aのフィルタが設定済みか否かを確認し、設定済みでない場合には、III-CL端末2からデータ処理部3fを介して送られてきたパケットをキャッシュ39に保存する。また、PROXYスレッド部37は、フィルタが設定済みの場合には、キャッシュ39に保存されたパケットをAPL-SV4aに送信し、キャッシュ39にパケットがなくなると、データ処理部3fから送られてきたパケットをAPL-SV4aに送信する。なお、PROXYスレッド部37は、APL-SV4a毎に生成されるスレッドにより実現される。 The PROXY thread unit 37 checks whether or not the APL-SV 4a filter has been set, and if not, caches the packet sent from the III-CL terminal 2 via the data processing unit 3f. Save to 39. Further, the PROXY thread unit 37 transmits the packet stored in the cache 39 to the APL-SV 4a when the filter has been set, and when there is no packet in the cache 39, the packet sent from the data processing unit 3f. Is transmitted to the APL-SV 4a. The PROXY thread unit 37 is realized by a thread generated for each APL-SV 4a.
 キャッシュ39は、APL-SV4aのフィルタが設定済みでない場合に、III-CL端末2からデータ処理部3fを介して送られてきたパケットをデータ情報39aとして記憶する。 The cache 39 stores, as data information 39a, a packet sent from the III-CL terminal 2 via the data processing unit 3f when the APL-SV 4a filter has not been set.
 UDP送受信部3bは、RPS又はUNAPを通信プロトコルとしてUDPソケット3cを用いてパケットの送受信をIII-CL端末2と行う。UDP送受信部3bは、APL-SV4aからPROXYスレッド部37及びデータ処理部3fを介して受信したパケットをIII-CL端末2へ送信し、III-CL端末2から受信したパケットをデータ処理部3fを介してPROXYスレッド部37へ送信する。 UDP transmission / reception unit 3b performs packet transmission / reception with III-CL terminal 2 using UDP socket 3c using RPS or UNAP as a communication protocol. The UDP transmission / reception unit 3b transmits the packet received from the APL-SV 4a via the PROXY thread unit 37 and the data processing unit 3f to the III-CL terminal 2, and the packet received from the III-CL terminal 2 is transmitted to the data processing unit 3f. To the PROXY thread unit 37.
 TCP送受信部3dは、TCPを通信プロトコルとしてTCPソケット3eを用いてパケットの送受信をIII-CL端末2と行う。TCP送受信部3dは、APL-SV4aからPROXYスレッド部37及びデータ処理部3fを介して受信したパケットをIII-CL端末2へ送信し、III-CL端末2から受信したパケットをデータ処理部3fを介してPROXYスレッド部37へ送信する。 The TCP transmission / reception unit 3d performs transmission / reception of packets with the III-CL terminal 2 using the TCP socket 3e using TCP as a communication protocol. The TCP transmission / reception unit 3d transmits the packet received from the APL-SV 4a via the PROXY thread unit 37 and the data processing unit 3f to the III-CL terminal 2, and the packet received from the III-CL terminal 2 is transmitted to the data processing unit 3f. To the PROXY thread unit 37.
 データ処理部3fは、UDP送受信部3b又はTCP送受信部3dからパケットを受信し、PROXYスレッド部37へ送信する。また、データ処理部3fは、PROXYスレッド部37からパケットを受信し、通信プロトコルに基づいてUDP送受信部3b又はTCP送受信部3dへ送信する。 The data processing unit 3 f receives a packet from the UDP transmission / reception unit 3 b or the TCP transmission / reception unit 3 d and transmits the packet to the PROXY thread unit 37. Further, the data processing unit 3f receives a packet from the PROXY thread unit 37 and transmits the packet to the UDP transmission / reception unit 3b or the TCP transmission / reception unit 3d based on the communication protocol.
 APL-SV端末4で動作するAPL-SV4aは、TCPソケット41を用いてIII-SV端末3と通信を行う。APL-SV端末4では、APL-SV4a以外に、監視部42とフィルタ処理部44とが動作する。 The APL-SV 4 a operating on the APL-SV terminal 4 communicates with the III-SV terminal 3 using the TCP socket 41. In the APL-SV terminal 4, a monitoring unit 42 and a filter processing unit 44 operate in addition to the APL-SV 4a.
 監視部42は、APL-SV4aの死活監視を行い、監視結果をIII-SV端末3のフィルタ指示部31へ送信する。フィルタ処理部44は、III-SV3aのフィルタ指示部31の指示に基づいてフィルタ設定を行う。監視部42及びフィルタ処理部44は、TCPソケット44を用いてIII-SV端末3と通信を行う。なお、監視部42及びフィルタ処理部44は図1に示したドライバ4bに対応する。 The monitoring unit 42 performs alive monitoring of the APL-SV 4a, and transmits the monitoring result to the filter instruction unit 31 of the III-SV terminal 3. The filter processing unit 44 performs filter setting based on an instruction from the filter instruction unit 31 of the III-SV 3a. The monitoring unit 42 and the filter processing unit 44 communicate with the III-SV terminal 3 using the TCP socket 44. The monitoring unit 42 and the filter processing unit 44 correspond to the driver 4b illustrated in FIG.
 次に、APL-SV4aの死活監視を行う処理のフローについて説明する。図4は、APL-SV4aの死活監視を行う処理のフローを示すフローチャートである。図4に示すように、監視部42は、ステップS21とステップS27で挟まれる処理を一定時間ごとに実行する。また、監視部42は、ステップS22とステップS26で挟まれる処理をサービス数分実行する。ここで、サービスとは、APL-SV4aがAPL-CL1aに提供するサーバクライアントサービスである。 Next, the flow of processing for performing alive monitoring of APL-SV4a will be described. FIG. 4 is a flowchart showing a flow of processing for performing the alive monitoring of the APL-SV 4a. As shown in FIG. 4, the monitoring unit 42 executes the process sandwiched between step S21 and step S27 at regular intervals. Moreover, the monitoring part 42 performs the process pinched | interposed by step S22 and step S26 by the number of services. Here, the service is a server client service provided by the APL-SV 4a to the APL-CL 1a.
 APL-SV端末4の監視部42がAPL-SV4aの死活を監視し(ステップS23)、III-SV3aのフィルタ指示部31がAPL-SV端末4の監視部42から死活情報を受信する(ステップS24)。そして、III-SV3aのフィルタ指示部31が死活情報を死活テーブル33に保存する(ステップS25)。 The monitoring unit 42 of the APL-SV terminal 4 monitors the life and death of the APL-SV 4a (step S23), and the filter instruction unit 31 of the III-SV 3a receives the life and death information from the monitoring unit 42 of the APL-SV terminal 4 (step S24). ). The filter instruction unit 31 of the III-SV 3a stores the life / death information in the life / death table 33 (step S25).
 このように、監視部42がAPL-SV4aの死活監視を行い、III-SV3aのフィルタ指示部31に通知することによって、III-CL端末2からIII-SV端末3への無駄なパケットの送信を防ぐことができる。 In this way, the monitoring unit 42 monitors the life and death of the APL-SV 4a and notifies the filter instruction unit 31 of the III-SV 3a, thereby transmitting useless packets from the III-CL terminal 2 to the III-SV terminal 3. Can be prevented.
 次に、パケット転送処理のフローについて説明する。図5は、パケット転送処理のフローを示すフローチャートである。図5に示すように、APL-CL1aがIII-CL2aのPROXYスレッド部22に接続を要求する(ステップS31)。 Next, the flow of packet transfer processing will be described. FIG. 5 is a flowchart showing a flow of packet transfer processing. As shown in FIG. 5, the APL-CL 1a requests connection to the PROXY thread unit 22 of the III-CL 2a (step S31).
 そして、III-CL2aのPROXYスレッド部22がIII-CL2aの通信プロトコル処理部23へ帯域情報及びプロトコルを要求し(ステップS32)、III-CL2aの通信プロトコル処理部23がIII-CL2aの制御処理部24に接続を要求する(ステップS33)。 Then, the PROXY thread unit 22 of the III-CL 2a requests band information and protocol from the communication protocol processing unit 23 of the III-CL 2a (step S32), and the communication protocol processing unit 23 of the III-CL 2a controls the control processing unit of the III-CL 2a. 24 is requested for connection (step S33).
 そして、III-CL2aの制御処理部24がIII-SV3aの制御処理部34に接続を確認し(ステップS34)、III-SV3aの制御処理部34がIII-CL2aからの接続確認を受信する(ステップS35)。そして、III-SV3aの制御処理部34が死活テーブル33から死活情報33aを取得し(ステップS36)、APL-SV4aの死活を判定する(ステップS37)。 Then, the control processing unit 24 of the III-CL 2a confirms the connection to the control processing unit 34 of the III-SV 3a (step S34), and the control processing unit 34 of the III-SV 3a receives the connection confirmation from the III-CL 2a (step S34). S35). Then, the control processing unit 34 of the III-SV 3a acquires the life / death information 33a from the life / death table 33 (step S36), and determines the life / death of the APL-SV 4a (step S37).
 その結果、APL-SV4aが活である場合には、パケット転送システム10は、以下のステップS38~ステップS43の処理とステップS44~ステップS45の処理を並列に行う。図5において2本の太線は、2つのフローの処理が並列に行われることを表す。 As a result, when the APL-SV 4a is active, the packet transfer system 10 performs the following processing in steps S38 to S43 and processing in steps S44 to S45 in parallel. In FIG. 5, two thick lines indicate that the processes of the two flows are performed in parallel.
 すなわち、一方で、III-SV3aの制御処理部34がIII-SV3aの通信プロトコル処理部36から帯域情報及びプロトコルを取得する(ステップS38)。そして、III-SV3aの制御処理部34がIII-CL2aの制御処理部24に帯域情報及びプロトコルを返却する(ステップS39)。そして、III-CL2aの制御処理部24がIII-CL2aの通信プロトコル処理部23に帯域情報及びプロトコルを送信する(ステップS40)。そして、III-CL2aの通信プロトコル処理部23が帯域情報及びプロトコルをIII-CL2aのPROXYスレッド部22に送信する(ステップS41)。 That is, on the other hand, the control processing unit 34 of the III-SV 3a acquires the band information and the protocol from the communication protocol processing unit 36 of the III-SV 3a (step S38). Then, the control processing unit 34 of the III-SV 3a returns the band information and protocol to the control processing unit 24 of the III-CL 2a (step S39). Then, the control processing unit 24 of the III-CL 2a transmits the band information and the protocol to the communication protocol processing unit 23 of the III-CL 2a (Step S40). Then, the communication protocol processing unit 23 of the III-CL 2a transmits the band information and the protocol to the PROXY thread unit 22 of the III-CL 2a (step S41).
 そして、III-CL2aがIII-SV3aへパケットを送信するパケット送信処理を行い(ステップS42)、III-SV3aがIII-CL2aから送られてきたパケットを受信するパケット受信処理を行う(ステップS43)。そして、III-SV3aが受信したパケットをAPL-SV4aに送信し、APL-SV4aがパケットを受信する(ステップS54)。 Then, III-CL 2a performs packet transmission processing for transmitting packets to III-SV 3a (step S42), and III-SV 3a performs packet reception processing for receiving packets sent from III-CL 2a (step S43). Then, the packet received by the III-SV 3a is transmitted to the APL-SV 4a, and the APL-SV 4a receives the packet (step S54).
 他方、III-SV3aの通信プロトコル処理部36がIII-SV3aのPROXYスレッド部37にAPL-SV4aの接続を確認し(ステップS44)、III-SV3a等がフィルタ設定を行うフィルタ設定処理を行う(ステップS45)。 On the other hand, the communication protocol processing unit 36 of the III-SV 3a confirms the connection of the APL-SV 4a to the PROXY thread unit 37 of the III-SV 3a (step S44), and the III-SV 3a etc. performs a filter setting process for performing filter setting (step S44) S45).
 これに対して、APL-SV4aが死である場合には、パケット転送システム10は、以下のステップS46~ステップS54の処理により、フィルタ設定の処理とパケット送受信の処理をシーケンシャルに行う。 On the other hand, when the APL-SV 4a is dead, the packet transfer system 10 performs the filter setting process and the packet transmission / reception process sequentially by the processes of the following steps S46 to S54.
 すなわち、III-SV3aの制御処理部34がIII-SV3aの通信プロトコル処理部36から帯域情報及びプロトコルを取得する(ステップS46)。そして、III-SV3aの通信プロトコル処理部36がIII-SV3aのPROXYスレッド部37にAPL-SV4aの接続を確認し(ステップS47)、III-SV3a等がフィルタ設定処理を行う(ステップS48)。 That is, the control processing unit 34 of the III-SV 3a acquires the band information and the protocol from the communication protocol processing unit 36 of the III-SV 3a (step S46). Then, the communication protocol processing unit 36 of the III-SV 3a confirms the connection of the APL-SV 4a to the PROXY thread unit 37 of the III-SV 3a (step S47), and the III-SV 3a etc. performs a filter setting process (step S48).
 そして、III-SV3aの制御処理部34がIII-CL2aの制御処理部24に帯域情報及びプロトコルを返却する(ステップS49)。そして、III-CL2aの制御処理部24がIII-CL2aの通信プロトコル処理部23に帯域情報及びプロトコルを送信する(ステップS50)。そして、III-CL2aの通信プロトコル処理部23が帯域情報及びプロトコルをIII-CL2aのPROXYスレッド部22に送信する(ステップS51)。そして、III-CL2aがパケット送信処理を行い(ステップS52)、III-SV3aがパケット受信処理を行う(ステップS53)。そして、III-SV3aが受信したパケットをAPL-SV4aに送信し、APL-SV4aがパケットを受信する(ステップS54)。 Then, the control processing unit 34 of the III-SV 3a returns the band information and the protocol to the control processing unit 24 of the III-CL 2a (Step S49). Then, the control processing unit 24 of the III-CL 2a transmits the band information and the protocol to the communication protocol processing unit 23 of the III-CL 2a (Step S50). Then, the communication protocol processing unit 23 of the III-CL 2a transmits the band information and the protocol to the PROXY thread unit 22 of the III-CL 2a (Step S51). Then, III-CL 2a performs packet transmission processing (step S52), and III-SV 3a performs packet reception processing (step S53). Then, the packet received by the III-SV 3a is transmitted to the APL-SV 4a, and the APL-SV 4a receives the packet (step S54).
 このように、APL-SV4aが活である場合に、フィルタ設定の処理とパケット送受信の処理を並行して行うことによって、パケット転送システム10は、フィルタ設定に起因する転送待ち時間を削減することができる。 As described above, when the APL-SV 4a is active, the packet transfer system 10 can reduce the transfer waiting time due to the filter setting by performing the filter setting process and the packet transmission / reception process in parallel. it can.
 次に、III-SV3a等によるフィルタ設定処理のフローについて説明する。図6は、III-SV3a等によるフィルタ設定処理のフローを示すフローチャートである。図6に示すように、III-SV3aのPROXYスレッド部37がIII-SV3aのフィルタ指示部31にフィルタ設定を指示する(ステップS61)。 Next, the flow of filter setting processing by III-SV 3a will be described. FIG. 6 is a flowchart showing the flow of filter setting processing by the III-SV 3a or the like. As shown in FIG. 6, the PROXY thread unit 37 of the III-SV 3a instructs the filter setting unit 31 of the III-SV 3a to set a filter (step S61).
 そして、III-SV3aのフィルタ指示部31がAPL-SV4aのフィルタ処理部44にフィルタ設定を指示し(ステップS62)、APL-SV4aのフィルタ処理部44がフィルタを設定する(ステップS63)。そして、APL-SV4aのフィルタ処理部44が設定結果をIII-SV3aのフィルタ指示部31に送信し、III-SV3aのフィルタ指示部31が設定結果を受信し、III-SV3aのPROXYスレッド部37に送信する(ステップS64)。 Then, the filter instruction unit 31 of the III-SV 3a instructs the filter processing unit 44 of the APL-SV 4a to set the filter (step S62), and the filter processing unit 44 of the APL-SV 4a sets the filter (step S63). Then, the filter processing unit 44 of the APL-SV 4a transmits the setting result to the filter instruction unit 31 of the III-SV 3a, and the filter instruction unit 31 of the III-SV 3a receives the setting result, and sends it to the PROXY thread unit 37 of the III-SV 3a. Transmit (step S64).
 そして、III-SV3aのPROXYスレッド部37は、設定結果が成功であるか否かを判定し(ステップS65)、失敗である場合には、ステップS68へ進む。一方、設定結果が成功である場合には、III-SV3aのPROXYスレッド部37がAPL-SV4aに接続を確認し(ステップS66)、APL-SV4aの接続が確認される(ステップS67)。 Then, the PROXY thread unit 37 of the III-SV 3a determines whether or not the setting result is successful (step S65). If the setting result is unsuccessful, the process proceeds to step S68. On the other hand, if the setting result is successful, the PROXY thread unit 37 of the III-SV 3a confirms the connection to the APL-SV 4a (step S66), and the connection of the APL-SV 4a is confirmed (step S67).
 そして、III-SV3aのPROXYスレッド部37がAPL-SV4aへの通信可否をIII-SV3aの通信プロトコル処理部36に送信する(ステップS68)。そして、III-SV3aの通信プロトコル処理部36がAPL-SV4aへの通信可否をIII-SV3aの制御処理部34に送信する(ステップS69)。そして、III-SV3aの制御処理部34がIII-CL2aの制御処理部24にAPL-SV4aへの通信可否を送信する(ステップS70)。 Then, the PROXY thread unit 37 of the III-SV 3a transmits the communication propriety to the APL-SV 4a to the communication protocol processing unit 36 of the III-SV 3a (step S68). Then, the communication protocol processing unit 36 of the III-SV 3a transmits whether or not communication with the APL-SV 4a is possible to the control processing unit 34 of the III-SV 3a (step S69). Then, the control processing unit 34 of the III-SV 3a transmits whether or not communication to the APL-SV 4a is possible to the control processing unit 24 of the III-CL 2a (step S70).
 そして、III-CL2aの制御処理部24がIII-CL2aの通信プロトコル処理部23にAPL-SV4aへの通信可否を送信する(ステップS71)。そして、III-CL2aの通信プロトコル処理部23がIII-CL2aのPROXYスレッド部22にAPL-SV4aへの通信可否を送信する(ステップS72)。 Then, the control processing unit 24 of the III-CL 2a transmits the communication propriety to the APL-SV 4a to the communication protocol processing unit 23 of the III-CL 2a (step S71). Then, the communication protocol processing unit 23 of the III-CL 2a transmits the communication propriety to the APL-SV 4a to the PROXY thread unit 22 of the III-CL 2a (step S72).
 このように、III-SV3aのPROXYスレッド部37がフィルタ指示部31を介してAPL-SV4aのフィルタ処理部44にフィルタ設定を指示することによって、フィルタ処理部44がフィルタ設定を行うことができる。 In this way, the PROXY thread unit 37 of the III-SV 3a instructs the filter processing unit 44 of the APL-SV 4a via the filter instruction unit 31 so that the filter processing unit 44 can perform the filter setting.
 次に、III-CL2aによるパケット送信処理のフローについて説明する。図7は、III-CL2aによるパケット送信処理のフローを示すフローチャートである。図7に示すように、III-CL2aのPROXYスレッド部22が帯域情報からIII-SV3aのキャッシュ39のサイズを決定する(ステップS81)。 Next, the flow of packet transmission processing by III-CL2a will be described. FIG. 7 is a flowchart showing the flow of packet transmission processing by III-CL 2a. As shown in FIG. 7, the PROXY thread unit 22 of the III-CL 2a determines the size of the cache 39 of the III-SV 3a from the band information (step S81).
 そして、III-CL2aのPROXYスレッド部22がAPL-CL1aに応答を返却する(ステップS82)。そして、III-CL2aは、APL-SV4aと通信できる場合には、ステップS83とステップS90で挟まれた処理を全パケットの送信が終了するまで行う。 Then, the PROXY thread unit 22 of the III-CL 2a returns a response to the APL-CL 1a (step S82). If the III-CL 2a can communicate with the APL-SV 4a, the III-CL 2a performs the process between step S83 and step S90 until the transmission of all packets is completed.
 すなわち、III-CL2aのPROXYスレッド部22が、APL-CL1aからパケットを受信し(ステップS84)、APL-SV4aとの通信可否を判定し(ステップS85)、APL-SV4aからの応答があるか否かを判定する(ステップS86)。その結果、応答がない場合には、フィルタ設定が完了していない場合なので、III-CL2aのPROXYスレッド部22が、キャッシュサイズを超過したか否かを判定し(ステップS87)、超過した場合には、ステップS84に戻る。 That is, the PROXY thread unit 22 of the III-CL 2a receives a packet from the APL-CL 1a (step S84), determines whether or not communication with the APL-SV 4a is possible (step S85), and whether there is a response from the APL-SV 4a. Is determined (step S86). As a result, if there is no response, filter setting has not been completed, so the PROXY thread unit 22 of III-CL 2a determines whether or not the cache size has been exceeded (step S87). Returns to step S84.
 一方、キャッシュサイズを超過していない場合には、III-CL2aのPROXYスレッド部22が、プロトコルに基づいてIII-CL2aのTCP送受信部28又はUDP送受信部26にパケットを送付する(ステップS88)。そして、III-CL2aのTCP送受信部28又はUDP送受信部26がIII-SV3aのTCP送受信部3d又はUDP送受信部3bにパケットを送付する(ステップS89)。 On the other hand, if the cache size is not exceeded, the PROXY thread unit 22 of the III-CL 2a sends the packet to the TCP transmitting / receiving unit 28 or the UDP transmitting / receiving unit 26 of the III-CL 2a based on the protocol (step S88). Then, the TCP transmission / reception unit 28 or the UDP transmission / reception unit 26 of the III-CL 2a sends the packet to the TCP transmission / reception unit 3d or the UDP transmission / reception unit 3b of the III-SV 3a (step S89).
 また、ステップS86において、APL-SV4aからの応答がある場合には、フィルタ設定が完了したか又は失敗した場合なので、III-CL2aのPROXYスレッド部22は、APL-SV4aとの通信が可であるか否かを判定する(ステップS91)。その結果、III-CL2aのPROXYスレッド部22は、APL-SV4aとの通信が可である場合には、ステップS88に移動し、APL-SV4aとの通信が可でない場合には、APL-CL1aに結果を通知し(ステップS92)、処理を終了する。 In step S86, if there is a response from the APL-SV 4a, the filter setting has been completed or has failed, so the PROXY thread unit 22 of the III-CL 2a can communicate with the APL-SV 4a. It is determined whether or not (step S91). As a result, if the communication with the APL-SV 4a is possible, the PROXY thread unit 22 of the III-CL 2a moves to step S88. If the communication with the APL-SV 4a is not possible, the PROXY thread unit 22 moves to the APL-CL 1a. The result is notified (step S92), and the process is terminated.
 このように、III-CL2aは、APL-SV4aからの応答がない場合に、キャッシュサイズ以内でIII-SV3aにパケットを送信することで、フィルタ設定に起因するパケット転送の遅れを抑えることができる。 As described above, when there is no response from the APL-SV 4a, the III-CL 2a can suppress the packet transfer delay due to the filter setting by transmitting the packet to the III-SV 3a within the cache size.
 次に、III-SV3aによるパケット受信処理のフローについて説明する。図8は、III-SV3aによるパケット受信処理のフローを示すフローチャートである。III-SV3aは、フィルタ設定済みでない場合には、図8に示すステップS101とステップS107に挟まれた処理を繰り返し、フィルタ設定済みになると、図8に示すステップS101とステップS115に挟まれた処理を繰り返す。 Next, the flow of packet reception processing by III-SV 3a will be described. FIG. 8 is a flowchart showing a flow of packet reception processing by the III-SV 3a. If the filter has not been set, the III-SV 3a repeats the process between step S101 and step S107 shown in FIG. 8, and when the filter has been set, the process between step S101 and step S115 shown in FIG. repeat.
 すなわち、III-SV3aのTCP送受信部3d又はUDP送受信部3bがIII-SV3aのデータ処理部3fにパケットを送付する(ステップS102)。そして、III-SV3aのデータ処理部3fがIII-SV3aのPROXYスレッド部37にパケットを送付する(ステップS103)。 That is, the TCP transmitting / receiving unit 3d or the UDP transmitting / receiving unit 3b of the III-SV 3a sends a packet to the data processing unit 3f of the III-SV 3a (step S102). Then, the data processing unit 3f of the III-SV 3a sends the packet to the PROXY thread unit 37 of the III-SV 3a (step S103).
 そして、III-SV3aのPROXYスレッド部37がフィルタ設定済みかを確認し(ステップS104)、確認結果は済であるか否かを判定する(ステップS105)。その結果、確認結果が済でない場合には、III-SV3aのPROXYスレッド部37はパケットをキャッシュ39に保存し(ステップS106)、ステップS102に戻る。 Then, it is confirmed whether the PROXY thread unit 37 of the III-SV 3a has been set with a filter (step S104), and it is determined whether the confirmation result has been completed (step S105). As a result, if the confirmation result is not completed, the PROXY thread unit 37 of the III-SV 3a stores the packet in the cache 39 (step S106) and returns to step S102.
 一方、確認結果が済である場合には、III-SV3aのPROXYスレッド部37はキャッシュ39内のパケットの有無を確認し(ステップS108)、パケットがあるか否かを判定する(ステップS109)。その結果、パケットがない場合には、III-SV3aは、ステップS114へ進む。 On the other hand, if the confirmation result has been completed, the PROXY thread unit 37 of the III-SV 3a confirms whether there is a packet in the cache 39 (step S108) and determines whether there is a packet (step S109). As a result, if there is no packet, the III-SV 3a proceeds to step S114.
 一方、キャッシュ39内にパケットがある場合には、III-SV3aのPROXYスレッド部37は、ステップS110とステップS113に挟まれた処理をキャッシュ39内の全パケットに繰り返す。すなわち、III-SV3aのPROXYスレッド部37は、キャッシュ39からパケットを取得し(ステップS111)、APL-SV4aに取得したパケットを送信する(ステップS112)。 On the other hand, if there is a packet in the cache 39, the PROXY thread unit 37 of the III-SV 3a repeats the process sandwiched between steps S110 and S113 for all the packets in the cache 39. That is, the PROXY thread unit 37 of the III-SV 3a acquires a packet from the cache 39 (step S111), and transmits the acquired packet to the APL-SV 4a (step S112).
 そして、III-SV3aのPROXYスレッド部37が、III-SV3aのデータ処理部3fから送信されたパケットをAPL-SV4aに送信する(ステップS114)。 Then, the PROXY thread unit 37 of the III-SV 3a transmits the packet transmitted from the data processing unit 3f of the III-SV 3a to the APL-SV 4a (step S114).
 このように、III-SV3aのPROXYスレッド部37が、フィルタ設定が完了していない間、III-CL2aから送られてきたパケットをキャッシュ39に一時的に保存することで、フィルタ設定に起因するパケット転送の遅れを抑えることができる。 As described above, the PROXY thread unit 37 of the III-SV 3a temporarily saves the packet sent from the III-CL 2a in the cache 39 while the filter setting is not completed, whereby the packet resulting from the filter setting Transfer delay can be suppressed.
 次に、ソフトウェアを実行する各端末のハードウェア構成について説明する。図9は、ソフトウェアを実行する各端末のハードウェア構成を示す図である。図9に示すように、APL-CL端末1は、CPU(Central Processing Unit)51と、メモリ52と、HDD(Hard Disk Drive)53と、入力装置54と、通信制御部55と、バス56とを有する。 Next, the hardware configuration of each terminal that executes the software will be described. FIG. 9 is a diagram illustrating a hardware configuration of each terminal that executes software. As shown in FIG. 9, the APL-CL terminal 1 includes a CPU (Central Processing Unit) 51, a memory 52, an HDD (Hard Disk Drive) 53, an input device 54, a communication control unit 55, a bus 56, Have
 CPU51は、メモリ52からプログラムを読み出して実行する中央処理装置である。メモリ52は、プログラムやプログラムの実行途中結果などを記憶するRAM(Random Access Memory)である。HDD53は、プログラムやデータを格納するディスク装置である。入力装置54は、ユーザがAPL-CL端末1への指示あるいはデータの入力に使用するマウス、キーボード等である。通信制御部55は、ネットワーク5aを介したIII-CL端末2との通信を制御する。バス56は、CPU51、メモリ52、HDD53、入力装置54及び通信制御部55を接続する。 The CPU 51 is a central processing unit that reads a program from the memory 52 and executes it. The memory 52 is a RAM (Random Access Memory) that stores a program, a program execution result, and the like. The HDD 53 is a disk device that stores programs and data. The input device 54 is a mouse, a keyboard, or the like that is used by a user to input instructions or data to the APL-CL terminal 1. The communication control unit 55 controls communication with the III-CL terminal 2 via the network 5a. The bus 56 connects the CPU 51, the memory 52, the HDD 53, the input device 54, and the communication control unit 55.
 そして、APL-CL端末1において実行されるAPL-CL1aは、DVDに記憶され、DVDから読み出されてAPL-CL端末1にインストールされる。あるいは、APL-CL1aは、ネットワーク5a等を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてAPL-CL端末1にインストールされる。そして、インストールされたAPL-CL1aは、HDD53に記憶され、メモリ52に読み出されてCPU51によって実行される。 The APL-CL 1a executed in the APL-CL terminal 1 is stored in the DVD, read from the DVD, and installed in the APL-CL terminal 1. Alternatively, the APL-CL 1a is stored in a database or the like of another computer system connected via the network 5a or the like, read from these databases, and installed in the APL-CL terminal 1. The installed APL-CL 1 a is stored in the HDD 53, read into the memory 52, and executed by the CPU 51.
 また、III-CL端末2は、CPU61と、メモリ62と、HDD63と、通信制御部64と、バス65とを有する。 Further, the III-CL terminal 2 includes a CPU 61, a memory 62, an HDD 63, a communication control unit 64, and a bus 65.
 CPU61は、メモリ62からプログラムを読み出して実行する中央処理装置である。メモリ62は、プログラムやプログラムの実行途中結果などを記憶するRAMである。HDD63は、プログラムやデータを格納するディスク装置である。通信制御部64は、ネットワーク5aを介したAPL-CL端末1との通信を制御する。また、通信制御部64は、III-SV端末3との通信を制御する。バス65は、CPU61、メモリ62、HDD63及び通信制御部64を接続する。 The CPU 61 is a central processing unit that reads a program from the memory 62 and executes it. The memory 62 is a RAM that stores a program and a program execution result. The HDD 63 is a disk device that stores programs and data. The communication control unit 64 controls communication with the APL-CL terminal 1 via the network 5a. The communication control unit 64 controls communication with the III-SV terminal 3. The bus 65 connects the CPU 61, the memory 62, the HDD 63, and the communication control unit 64.
 そして、III-CL端末2において実行されるIII-CL2aは、DVDに記憶され、DVDから読み出されてIII-CL端末2にインストールされる。あるいは、III-CL2aは、ネットワーク5a等を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてIII-CL端末2にインストールされる。そして、インストールされたIII-CL2aは、HDD63に記憶され、メモリ62に読み出されてCPU61によって実行される。 The III-CL 2a executed in the III-CL terminal 2 is stored in the DVD, read from the DVD, and installed in the III-CL terminal 2. Alternatively, the III-CL 2a is stored in a database or the like of another computer system connected via the network 5a or the like, read from these databases, and installed in the III-CL terminal 2. The installed III-CL 2a is stored in the HDD 63, read into the memory 62, and executed by the CPU 61.
 また、APL-SV端末4は、CPU71と、メモリ72と、HDD73と、通信制御部74と、バス75とを有する。 The APL-SV terminal 4 includes a CPU 71, a memory 72, an HDD 73, a communication control unit 74, and a bus 75.
 CPU71は、メモリ72からプログラムを読み出して実行する中央処理装置である。メモリ72は、プログラムやプログラムの実行途中結果などを記憶するRAMである。HDD73は、プログラムやデータを格納するディスク装置である。通信制御部74は、ネットワーク5bを介したIII-SV端末3との通信を制御する。バス75は、CPU71、メモリ72、HDD73及び通信制御部74を接続する。 The CPU 71 is a central processing unit that reads a program from the memory 72 and executes it. The memory 72 is a RAM that stores a program and a program execution result. The HDD 73 is a disk device that stores programs and data. The communication control unit 74 controls communication with the III-SV terminal 3 via the network 5b. The bus 75 connects the CPU 71, the memory 72, the HDD 73, and the communication control unit 74.
 そして、APL-SV端末4において実行されるAPL-SV4aは、DVDに記憶され、DVDから読み出されてAPL-SV端末4にインストールされる。あるいは、APL-SV4aは、ネットワーク5b等を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてAPL-SV端末4にインストールされる。そして、インストールされたAPL-SV4aは、HDD73に記憶され、メモリ72に読み出されてCPU71によって実行される。 The APL-SV 4a executed in the APL-SV terminal 4 is stored in the DVD, read from the DVD, and installed in the APL-SV terminal 4. Alternatively, the APL-SV 4a is stored in a database or the like of another computer system connected via the network 5b or the like, read from these databases, and installed in the APL-SV terminal 4. The installed APL-SV 4 a is stored in the HDD 73, read into the memory 72, and executed by the CPU 71.
 また、III-SV端末3は、CPU81と、メモリ82と、HDD83と、通信制御部84と、バス85とを有する。 Further, the III-SV terminal 3 includes a CPU 81, a memory 82, an HDD 83, a communication control unit 84, and a bus 85.
 CPU81は、メモリ82からプログラムを読み出して実行する中央処理装置である。メモリ82は、プログラムやプログラムの実行途中結果などを記憶するRAMである。HDD83は、プログラムやデータを格納するディスク装置である。通信制御部84は、ネットワーク5bを介したAPL-SV端末4との通信を制御する。また、通信制御部84は、III-CL端末2との通信を制御する。バス85は、CPU81、メモリ82、HDD83及び通信制御部84を接続する。 The CPU 81 is a central processing unit that reads a program from the memory 82 and executes it. The memory 82 is a RAM that stores a program, a program execution result, and the like. The HDD 83 is a disk device that stores programs and data. The communication control unit 84 controls communication with the APL-SV terminal 4 via the network 5b. Further, the communication control unit 84 controls communication with the III-CL terminal 2. The bus 85 connects the CPU 81, the memory 82, the HDD 83, and the communication control unit 84.
 そして、III-SV端末3において実行されるIII-SV3aは、DVDに記憶され、DVDから読み出されてIII-SV端末3にインストールされる。あるいは、III-SV3aは、ネットワーク5b等を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてIII-SV端末3にインストールされる。そして、インストールされたIII-SV3aは、HDD83に記憶され、メモリ82に読み出されてCPU81によって実行される。 The III-SV 3a executed in the III-SV terminal 3 is stored in the DVD, read from the DVD, and installed in the III-SV terminal 3. Alternatively, the III-SV 3a is stored in a database or the like of another computer system connected via the network 5b or the like, read out from these databases, and installed in the III-SV terminal 3. The installed III-SV 3a is stored in the HDD 83, read into the memory 82, and executed by the CPU 81.
 上述してきたように、実施例では、監視部42がAPL-SV4aの死活を監視し、監視結果をフィルタ指示部31に送信し、フィルタ指示部31が監視結果を死活テーブル33に格納する。そして、APL-SV4aが活の状態である場合に、フィルタ指示部31がフィルタ処理部44にフィルタ設定を指示するとともに、APL-CL1aがパケットを送信するようにIII-SV3aの制御処理部34が制御する。そして、パケットが送られてくると、III-SV3aのPROXYスレッド部37が、フィルタ設定が完了したか否かを判定し、完了していない場合には、キャッシュ39にパケットを一時的に格納する。そして、III-SV3aのPROXYスレッド部37は、フィルタ設定完了後に、パケットをキャッシュ39から取り出してAPL-SV4aに送信する。したがって、III-CL2aは、フィルタ設定が完了する前にIII-SV3aへパケットを送信することができ、フィルタ設定に起因する転送待ち時間を削減してスループットを向上することができる。 As described above, in the embodiment, the monitoring unit 42 monitors the life and death of the APL-SV 4a, transmits the monitoring result to the filter instruction unit 31, and the filter instruction unit 31 stores the monitoring result in the life and death table 33. Then, when the APL-SV 4a is active, the filter instruction unit 31 instructs the filter processing unit 44 to set the filter, and the control processing unit 34 of the III-SV 3a transmits the packet so that the APL-CL 1a transmits the packet. Control. When the packet is sent, the PROXY thread unit 37 of the III-SV 3a determines whether or not the filter setting is completed. If the filter setting is not completed, the packet is temporarily stored in the cache 39. . Then, after the filter setting is completed, the PROXY thread unit 37 of the III-SV 3a takes out the packet from the cache 39 and transmits it to the APL-SV 4a. Therefore, the III-CL 2a can transmit a packet to the III-SV 3a before the filter setting is completed, thereby reducing the transfer waiting time due to the filter setting and improving the throughput.
 また、実施例では、III-SV3aのPROXYスレッド部37は、APL-SV4aへの通信可否をAPL-CL1aに送信するように制御する。したがって、III-SV3aのPROXYスレッド部37は、APL-SV4aへの通信が可でない場合にAPL-CL1aがパケットを送信しないように制御することができる。 Further, in the embodiment, the PROXY thread unit 37 of the III-SV 3a controls to transmit to the APL-CL 1a whether or not communication to the APL-SV 4a is possible. Accordingly, the PROXY thread unit 37 of the III-SV 3a can control the APL-CL 1a not to transmit a packet when communication to the APL-SV 4a is not possible.
 また、実施例では、III-CL2aのPROXYスレッド部22がIII-CL端末2とIII-SV端末3との間の通信の帯域情報に基づいてIII-SV3aがキャッシュするデータのサイズを決定する。したがって、III-CL2aのPROXYスレッド部22は、フィルタ設定が完了するまでに適切な量のデータをIII-SV3aへ送信することができる。 In the embodiment, the PROXY thread unit 22 of the III-CL 2a determines the size of data cached by the III-SV 3a based on the bandwidth information of communication between the III-CL terminal 2 and the III-SV terminal 3. Therefore, the PROXY thread unit 22 of the III-CL 2a can transmit an appropriate amount of data to the III-SV 3a before the filter setting is completed.
 また、実施例では、APL-SV4aが死の状態である場合に、フィルタ指示部31はフィルタ処理部44にフィルタ設定を指示し、フィルタ設定が完了すると、APL-CL1aがパケットを送信するようにIII-SV3aの制御処理部34が制御する。したがって、APL-SV4aの監視処理に異常があった場合にも、パケット転送システム10は、パケット転送を行うことができる。 In the embodiment, when the APL-SV 4a is in a dead state, the filter instruction unit 31 instructs the filter processing unit 44 to set the filter, and when the filter setting is completed, the APL-CL 1a transmits the packet. Control is performed by the control processing unit 34 of the III-SV 3a. Therefore, even when there is an abnormality in the monitoring process of the APL-SV 4a, the packet transfer system 10 can perform packet transfer.
 なお、実施例では、パケットを転送する場合について説明したが、本発明はこれに限定されるものではなく、パケット以外の形式でデータを転送する場合にも同様に適用することができる。 In the embodiment, the case of transferring a packet has been described. However, the present invention is not limited to this, and the present invention can be similarly applied to a case of transferring data in a format other than a packet.
  1,91  APL-CL端末
  1a,91a  APL-CL
  2,92  III-CL端末
  2a,92a  III-CL
  3,93  III-SV端末
  3a,93a  III-SV
  3b  UDP送受信部
  3c  UDPソケット
  3d  TCP送受信部
  3e,32,35,38  TCPソケット
  3f  データ処理部
  4,94  APL-SV端末
  4a,94a  APL-SV
  4b,94b  ドライバ
  5a,5b  ネットワーク
 10  パケット転送システム
 11  TCPソケット
 21,25,29  TCPソケット
 22  PROXYスレッド部
 23  通信プロトコル処理部
 24  制御処理部
 26  UDP送受信部
 27  UDPソケット
 28  TCP送受信部
 31  フィルタ指示部
 33  死活テーブル
 33a  死活情報
 34  制御処理部
 36  通信プロトコル処理部
 37  PROXYスレッド部
 39  キャッシュ
 39a  データ情報
 41,43  TCPソケット
 42  監視部
 44  フィルタ処理部
 51,61,71,81  CPU
 52,62,72,82  メモリ
 53,63,73,83  HDD
 54  入力装置
 55,64,74,84  通信制御部
 56,65,75,85  バス
 95  WAN
1,91 APL- CL terminal 1a, 91a APL-CL
2,92 III- CL terminal 2a, 92a III-CL
3,93 III- SV terminal 3a, 93a III-SV
3b UDP transmission / reception unit 3c UDP socket 3d TCP transmission / reception unit 3e, 32, 35, 38 TCP socket 3f Data processing unit 4, 94 APL- SV terminal 4a, 94a APL-SV
4b, 94b driver 5a, 5b network 10 packet transfer system 11 TCP socket 21, 25, 29 TCP socket 22 PROXY thread unit 23 communication protocol processing unit 24 control processing unit 26 UDP transmission / reception unit 27 UDP socket 28 TCP transmission / reception unit 31 filter instruction unit 33 Life-and-death table 33a Life-and-life information 34 Control processing unit 36 Communication protocol processing unit 37 PROXY thread unit 39 Cache 39a Data information 41 and 43 TCP socket 42 Monitoring unit 44 Filter processing unit 51, 61, 71, 81 CPU
52, 62, 72, 82 Memory 53, 63, 73, 83 HDD
54 Input device 55, 64, 74, 84 Communication control unit 56, 65, 75, 85 Bus 95 WAN

Claims (6)

  1.  第一の装置が送信元装置から受信したデータを前記第一の装置から受信して前記送信元装置のアドレスを設定したパケットにより送信先装置へ転送する第二の装置が有するコンピュータで実行されるデータ転送処理プログラムにおいて、
     前記送信先装置で前記データを受信する送信先の動作状態のモニタ結果を受信し、
     前記第一の装置からの前記データの前記送信先装置への転送要求に対し、前記送信先の動作状態が正常である場合は、前記送信先装置に前記第二の装置から前記送信元装置へのアドレス変換の設定指示を送付するとともに、前記第一の装置に前記データの転送指示を行い、
     前記第一の装置から転送された前記データを、前記設定指示に対する完了応答を受信するまでは保持し、完了応答受信後に、前記送信先装置に転送する
     処理を前記コンピュータに実行させることを特徴とするデータ転送処理プログラム。
    The first apparatus receives the data received from the transmission source apparatus from the first apparatus and transfers the data to the transmission destination apparatus using a packet in which the address of the transmission source apparatus is set. In the data transfer processing program,
    Receiving the monitoring result of the operating state of the destination receiving the data at the destination device;
    In response to a transfer request from the first device to the transmission destination device, if the operation state of the transmission destination is normal, the second device from the second device to the transmission source device Sending the address translation setting instruction, and instructing the first device to transfer the data,
    Holding the data transferred from the first device until a completion response to the setting instruction is received, and causing the computer to execute a process of transferring the data to the transmission destination device after receiving the completion response. Data transfer processing program.
  2.  前記設定指示に対する失敗応答を受信した場合には、前記第一の装置に転送停止指示を送信することを特徴とする請求項1に記載のデータ転送処理プログラム。 2. The data transfer processing program according to claim 1, wherein when a failure response to the setting instruction is received, a transfer stop instruction is transmitted to the first device.
  3.  前記データを保持するキャッシュの容量は、前記第一の装置が前記第二の装置との通信の帯域情報に基づいて決定することを特徴とする請求項1又は2に記載のデータ転送処理プログラム。 3. The data transfer processing program according to claim 1, wherein the capacity of the cache holding the data is determined by the first device based on bandwidth information of communication with the second device.
  4.  前記送信先の動作状態が異常である場合は、前記送信先装置に前記第二の装置から前記送信元装置へのアドレス変換の設定指示を送付し、前記設定指示に対する完了応答を受信すると、前記第一の装置に前記データの転送指示を行うことを特徴とする請求項1又は2に記載のデータ転送処理プログラム。 When the operation state of the transmission destination is abnormal, an address conversion setting instruction from the second device to the transmission source device is sent to the transmission destination device, and a completion response to the setting instruction is received. The data transfer processing program according to claim 1 or 2, wherein the data transfer instruction is issued to the first device.
  5.  第一の装置が送信元装置から受信したデータを前記第一の装置から受信して前記送信元装置のアドレスを設定したパケットにより送信先装置へ転送する第二の装置が有するコンピュータが、
     前記送信先装置で前記データを受信する送信先の動作状態のモニタ結果を受信し、
     前記第一の装置からの前記データの前記送信先装置への転送要求に対し、前記送信先の動作状態が正常である場合は、前記送信先装置に前記第二の装置から前記送信元装置へのアドレス変換の設定指示を送付するとともに、前記第一の装置に前記データの転送指示を行い、
     前記第一の装置から転送された前記データを、前記設定指示に対する完了応答を受信するまでは保持し、完了応答受信後に、前記送信先装置に転送する
     処理を実行することを特徴とするデータ転送処理方法。
    A computer having a second device that receives data received from the transmission source device by the first device from the first device and transfers the data to the transmission destination device by a packet in which the address of the transmission source device is set.
    Receiving the monitoring result of the operating state of the destination receiving the data at the destination device;
    In response to a transfer request from the first device to the transmission destination device, if the operation state of the transmission destination is normal, the second device from the second device to the transmission source device Sending the address translation setting instruction, and instructing the first device to transfer the data,
    The data transferred from the first device is held until a completion response to the setting instruction is received, and after receiving the completion response, a process of transferring to the destination device is executed. Processing method.
  6.  送信側のデータ転送処理装置が送信元装置から受信したデータを前記送信側のデータ転送処理装置から受信して前記送信元装置のアドレスを設定したパケットにより送信先装置へ転送する受信側のデータ転送処理装置において、
     前記送信先装置で前記データを受信する送信先の動作状態のモニタ結果を受信し、
     前記送信側のデータ転送処理装置からの前記データの前記送信先装置への転送要求に対し、前記送信先の動作状態が正常である場合は、前記送信先装置に当該データ転送処理装置から前記送信元装置へのアドレス変換の設定指示を送付するとともに、前記送信側のデータ転送処理装置に前記データの転送指示を行い、
     前記送信側のデータ転送処理装置から転送された前記データを、前記設定指示に対する完了応答を受信するまでは保持し、完了応答受信後に、前記送信先装置に転送する
     処理部を有することを特徴とするデータ転送処理装置。
    A data transfer on the receiving side that the data transfer processing device on the transmission side receives the data received from the transmission source device from the data transfer processing device on the transmission side and transfers the data to the destination device by a packet in which the address of the transmission source device is set In the processing device,
    Receiving the monitoring result of the operating state of the destination receiving the data at the destination device;
    In response to a transfer request from the data transfer processing device on the transmission side to the transmission destination device, if the operation state of the transmission destination is normal, the data transfer processing device transmits the data to the transmission destination device. Sending the address conversion setting instruction to the original device, and instructing the data transfer processing device on the transmission side to transfer the data,
    It has a processing unit that holds the data transferred from the data transfer processing device on the transmission side until a completion response to the setting instruction is received, and transfers the data to the transmission destination device after receiving the completion response. Data transfer processing device.
PCT/JP2015/064657 2015-05-21 2015-05-21 Data transfer processing program, data transfer processing method, and data transfer processing apparatus WO2016185616A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/064657 WO2016185616A1 (en) 2015-05-21 2015-05-21 Data transfer processing program, data transfer processing method, and data transfer processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/064657 WO2016185616A1 (en) 2015-05-21 2015-05-21 Data transfer processing program, data transfer processing method, and data transfer processing apparatus

Publications (1)

Publication Number Publication Date
WO2016185616A1 true WO2016185616A1 (en) 2016-11-24

Family

ID=57319564

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/064657 WO2016185616A1 (en) 2015-05-21 2015-05-21 Data transfer processing program, data transfer processing method, and data transfer processing apparatus

Country Status (1)

Country Link
WO (1) WO2016185616A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961396A (en) * 2017-03-21 2017-07-18 中国南方电网有限责任公司电网技术研究中心 Based on the method and apparatus that caching realizes SV Message processings in FPGA pieces

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005136684A (en) * 2003-10-30 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> Data transferring method and tcp proxy device and network using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005136684A (en) * 2003-10-30 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> Data transferring method and tcp proxy device and network using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961396A (en) * 2017-03-21 2017-07-18 中国南方电网有限责任公司电网技术研究中心 Based on the method and apparatus that caching realizes SV Message processings in FPGA pieces

Similar Documents

Publication Publication Date Title
US9781215B2 (en) Migration of network connection under mobility
JP4903270B2 (en) How to remove redundant connections
US7386624B2 (en) Method, system and article for dynamic real-time stream aggregation in a network
US10084862B2 (en) Session control method and computer-readable storage medium storing computer program
JP2006033854A (en) Method of enabling transmission between nodes, system, and program
US20140082180A1 (en) Information processor apparatus, information processing method, and recording medium
JP5962676B2 (en) Information processing apparatus, information processing method, and program
US9357014B2 (en) Service-based networking
US20160360013A1 (en) System and Method for Implementing Traffic Optimization for Overlay Networks
WO2018120397A1 (en) Reverse file uploading method and system
JPWO2007039942A1 (en) Terminal device, server device, and command device
JP7367793B2 (en) Communication relay device and data relay method
JP5018969B2 (en) COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, AND COMMUNICATION CONTROL METHOD
JP6521762B2 (en) HTTP server, control method therefor, image forming apparatus and program
JP2008283608A (en) Computer, program and method for switching redundant communication path
WO2016185616A1 (en) Data transfer processing program, data transfer processing method, and data transfer processing apparatus
US20130080501A1 (en) Method for transmitting real-time video data over network
US9231909B2 (en) Communication system employing subnet or prefix to determine connection to same network segment
US9755928B2 (en) Method, server and apparatus for establishing point-to-point connection
CN107948303B (en) Method for processing http request failure on Android
US9813295B2 (en) Wireless network optimization appliance
CN108011944B (en) Method for reducing http request failure on Android
JP5723808B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2019103118A (en) Communication relay device, communication relay program, and communication relay method
WO2024024280A1 (en) Communication processing device and communication method

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: 15892615

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: 15892615

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP