Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6515761B2 - Relay apparatus, relay method, and relay program - Google Patents
[go: Go Back, main page]

JP6515761B2 - Relay apparatus, relay method, and relay program - Google Patents

Relay apparatus, relay method, and relay program Download PDF

Info

Publication number
JP6515761B2
JP6515761B2 JP2015187284A JP2015187284A JP6515761B2 JP 6515761 B2 JP6515761 B2 JP 6515761B2 JP 2015187284 A JP2015187284 A JP 2015187284A JP 2015187284 A JP2015187284 A JP 2015187284A JP 6515761 B2 JP6515761 B2 JP 6515761B2
Authority
JP
Japan
Prior art keywords
instruction pattern
instruction
relayed
end time
pattern
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2015187284A
Other languages
Japanese (ja)
Other versions
JP2017062617A (en
Inventor
裕亮 亀山
裕亮 亀山
正芳 橋間
正芳 橋間
真一 佐沢
真一 佐沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015187284A priority Critical patent/JP6515761B2/en
Publication of JP2017062617A publication Critical patent/JP2017062617A/en
Application granted granted Critical
Publication of JP6515761B2 publication Critical patent/JP6515761B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、装置間の通信に関する。   The present invention relates to communication between devices.

ファイル共有システムは、あるサーバに記憶されているファイルに対して、クライアントや他のサーバなどから該ファイルにアクセス可能に提供する。ファイル共有は、CIFS(Common Internet File System)やSMB(Server Message Block)などのプロトコルを用いて行われる。これらのプロトコルを使用するために、サーバとクライアントには、専用のアプリケーションが使用される。   The file sharing system provides a file stored in a server so that the file can be accessed from a client or another server. File sharing is performed using a protocol such as Common Internet File System (CIFS) or Server Message Block (SMB). In order to use these protocols, dedicated applications are used for servers and clients.

ファイル共有に用いられるプロトコルであるCIFSやSMBでは、サーバとクライアント間の通信メッセージのやりとりが多いため、クライアントとサーバの物理的な距離の影響を受ける。クライアントとサーバの距離が遠くなるにつれ、やりとりに係る時間が増え、結果的にファイル共有に係る速度が低下してしまう。この問題を解決するために、サーバとクライアントの間に中継装置を設置する方法が知られている。   The protocols used for file sharing, such as CIFS and SMB, are affected by the physical distance between the client and the server because communication messages between the server and the client are often exchanged. As the distance between the client and server increases, the time spent on exchanges increases, and as a result, the speed of file sharing decreases. In order to solve this problem, a method of installing a relay device between the server and the client is known.

中継装置は、サーバと物理的に近い距離に設置されるものとする。クライアントから送信される要求命令#1は、中継装置を介してサーバに送信される。サーバはクライアントに要求命令#1に対応する応答#1を返信する。クライアントは、該応答を受信したら、次に、要求命令#2を送信するものとする。   The relay device is installed at a distance physically close to the server. The request command # 1 transmitted from the client is transmitted to the server via the relay device. The server returns a response # 1 corresponding to the request command # 1 to the client. When the client receives the response, it next sends request instruction # 2.

ここで、クライアントは、応答#1を受信するまで待機する。サーバとクライアント間の物理的な距離が遠ければ遠いほど、この待機時間は長くなり無駄な時間が生じてしまう。この対策として、中継装置が、クライアントの代わりに要求命令#2を先にサーバ側に送信しておく「代理要求」などの技術が知られている。代理要求により、サーバは、クライアントからの要求命令#2が到着する前に、応答#2をクライアント側に送信することができ、CIFS通信を高速化することができる。   Here, the client waits until receiving response # 1. The longer the physical distance between the server and the client, the longer this waiting time will be, resulting in wasted time. As a countermeasure against this, there is known a technique such as a "proxy request" in which the relay device transmits the request command # 2 to the server side first instead of the client. The proxy request allows the server to send response # 2 to the client side before request command # 2 from the client arrives, thereby speeding up the CIFS communication.

代理要求に関連する技術として、MIB(Management Information Base)プロトコルでの応答速度を高速化するために、要求と関連度の高い応答を予め高速なメモリに格納しておく技術が知られている(例えば、特許文献1を参照)。   As a technique related to proxy requests, there is known a technique for storing responses highly correlated with requests in a high-speed memory in advance in order to speed up the response speed in a MIB (Management Information Base) protocol ( See, for example, Patent Document 1).

特開2015−22562号公報JP, 2015-22562, A

サーバやクライアント間でファイル共有をする場合、サーバとクライアントには専用のアプリケーションが使用される。これらのアプリケーションやファイル共有に用いられる通信プロトコルは、随時アップデートされ、バージョンが変更されていく。   When sharing files between servers and clients, dedicated applications are used for servers and clients. The communication protocols used for these applications and file sharing are updated as needed and their versions are changed.

中継装置が代理要求を実行するために、管理者は、アプリケーションやファイル共有に用いられる通信プロトコルのバージョンが上がっていく毎に、中継装置に代理要求を実行するための命令パターンを予め登録しておく。バージョンに対応した命令パターンが登録されていない場合、中継装置は、代理要求を実行できない。そのため、高速化可能な命令パターンがきても登録されていないパターンである場合、中継装置は、通信速度の高速化の処理を実行できない。   In order for the relay device to execute the proxy request, the administrator registers in advance an instruction pattern for executing the proxy request in the relay device each time the version of the communication protocol used for application or file sharing goes up. deep. If the instruction pattern corresponding to the version is not registered, the relay device can not execute the proxy request. Therefore, if the instruction pattern capable of speeding up is a pattern which is not registered, the relay apparatus can not execute the process of speeding up the communication speed.

本発明は1つの側面において、高速化可能な命令パターンを予測することを目的とする。   The present invention, in one aspect, aims to predict instruction patterns that can be accelerated.

中継装置は、記憶部、予測部、処理部を備える。記憶部は、アプリケーション間で送受信される通信パケットの命令パターンを記憶する。予測部は、通信パケットを中継する際に、中継する通信パケットの命令パターンが記憶部に記憶されていない場合、命令パターンと類似した命令パターンから、次に実行される命令パターンを予測する。処理部は、第1の終了時刻が第2の終了時刻よりも早い場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付ける。第1の終了時刻は、予測された命令パターンを代理要求した場合におけるアプリケーション間での命令パターンの送受信の終了時刻である。第2の終了時刻は、中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻である。   The relay device includes a storage unit, a prediction unit, and a processing unit. The storage unit stores an instruction pattern of communication packets transmitted and received between applications. When relaying the communication packet, the prediction unit predicts the next instruction pattern to be executed from the instruction pattern similar to the instruction pattern when the instruction pattern of the communication packet to be relayed is not stored in the storage unit. When the first end time is earlier than the second end time, the processing unit associates the predicted instruction pattern with the instruction pattern of the communication packet to be relayed. The first end time is an end time of transmission / reception of the instruction pattern between the applications when the predicted instruction pattern is proxy-requested. The second end time is a second end time which is an end time of transmission / reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed.

本発明によれば、高速化可能な命令パターンを予測することができる。   According to the present invention, an instruction pattern that can be accelerated can be predicted.

本実施形態にかかるファイル共有システムの処理の例を説明するシーケンス図である。It is a sequence diagram explaining the example of processing of the file sharing system concerning this embodiment. 中継装置の機能ブロック図の例である。It is an example of the functional block diagram of a relay apparatus. 中継装置のハードウェア構成の例を説明する図Diagram for explaining an example of the hardware configuration of a relay device 中継装置の処理(その1)の例を説明するフローチャートである。It is a flowchart explaining the example of processing (the 1) of a relay device. 中継装置の処理(その2)の例を説明するフローチャートである。It is a flowchart explaining the example of the process (the 2) of a relay apparatus.

本実施形態に係る中継装置は、サーバとクライアントの両方で使用されるアプリケーション間の通信を高速化する。そのためにまず中継装置は、通信パケットを中継する際に、高速化可能な命令パターンが記憶されているかを判定する。高速化可能な命令パターンが記憶されている場合、中継装置は、該命令パターンに対応づけられた代理要求命令をサーバ側に代理で先行して送信し、ファイル共有にかかる通信時間の高速化を図る。   The relay device according to the present embodiment speeds up communication between applications used by both the server and the client. Therefore, when relaying a communication packet, the relay device first determines whether an instruction pattern capable of speeding up is stored. When an instruction pattern capable of speeding up is stored, the relay device sends a proxy request instruction associated with the instruction pattern to the server side in advance as a proxy, thereby speeding up communication time for file sharing. Plan.

高速化可能な命令パターンが記憶されていない場合、中継装置は、高速化可能な命令パターンに類似したパターンに対応づけられた代理要求(命令)を検出する。中継装置は、該代理要求の命令を用いて通信を行った場合の時間を予測する。該類似したパターンに対応づけられた代理要求を用いることで通信の高速化が可能であると予測される場合、中継装置は、中継している通信の命令パターンに対応付けて該代理要求を登録する。これにより、中継装置は、高速化可能な命令パターンと代理要求を自動的に判定し、登録することができる。   If a speedupable instruction pattern is not stored, the relay device detects a proxy request (instruction) associated with a pattern similar to the speedupable instruction pattern. The relay device predicts the time when communication is performed using the command of the proxy request. When it is predicted that speeding up of communication is possible by using a proxy request associated with the similar pattern, the relay apparatus registers the proxy request in association with the instruction pattern of the relaying communication. Do. Thus, the relay apparatus can automatically determine and register the command pattern and the proxy request that can be accelerated.

以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、本実施形態にかかるファイル共有システムの処理の例を説明するシーケンス図である。ファイル共有システムは、クライアント11、中継装置12、中継装置13、サーバ14を含む。ファイル共有システムは、クライアント11がアクセス可能なファイルをサーバ14が記憶しており、クライアント11の要求により適宜サーバ14が要求に応じたファイルを共有するシステムである。中継装置120と中継装置130は、クライアント11とサーバ14間の通信パケットを中継する。中継装置12は、クライアント11との物理的な距離が近い箇所に設置されているものとする。中継装置13は、サーバ14との物理的な距離が近い箇所に設置されているものとする。なお、クライアント11とサーバ14とは、ファイル共有をするために、専用のアプリケーションを使用するものとする。
Hereinafter, embodiments will be described in detail with reference to the drawings.
FIG. 1 is a sequence diagram for explaining an example of processing of the file sharing system according to the present embodiment. The file sharing system includes a client 11, a relay device 12, a relay device 13, and a server 14. The file sharing system is a system in which the server 14 stores files accessible by the client 11 and the server 14 appropriately shares the file according to the request according to the request of the client 11. The relay device 120 and the relay device 130 relay communication packets between the client 11 and the server 14. The relay device 12 is installed at a place where the physical distance to the client 11 is short. The relay device 13 is installed at a place where the physical distance to the server 14 is short. The client 11 and the server 14 use dedicated applications to share files.

<命令パターン記憶済み>
例えば、クライアント11は、サーバ14に記憶されているファイルをダウンロードする場合、C1〜C3の命令をサーバ14宛に順次送信するものとする。C1(Open)は、クライアント11からサーバ14に記憶されているファイルにアクセスする要求命令である。C2(Info)は、ダウンロードするファイルに関する情報を取得する要求命令である。C3(Read)は、実際に該ファイルをダウンロードするための要求命令である。
<Instruction pattern stored>
For example, when downloading a file stored in the server 14, the client 11 sequentially transmits commands C <b> 1 to C <b> 3 to the server 14. C1 (Open) is a request command for accessing a file stored in the server 14 from the client 11. C2 (Info) is a request command for acquiring information on the file to be downloaded. C3 (Read) is a request command for actually downloading the file.

ここで、中継装置13は、サーバ14とクライアント11間(アプリケーション、プロトコルを含む)で送受信される通信の命令パターンを記憶する。例えば、中継装置13は、C1とC2の一連の命令パターンを記憶しており、該命令パターンに対応付けて、その後にC3の命令が送信されてくることを記憶している。そのため、中継装置13は、C1とC2とを中継した場合、C3を次の命令とした代理要求をサーバ14に送ることができる。   Here, the relay device 13 stores an instruction pattern of communication transmitted and received between the server 14 and the client 11 (including an application and a protocol). For example, the relay device 13 stores a series of instruction patterns of C1 and C2, and stores that an instruction of C3 is transmitted after that in association with the instruction pattern. Therefore, when relaying C <b> 1 and C <b> 2, the relay device 13 can send a proxy request with the next command C <b> 3 to the server 14.

該代理要求に係る処理を、処理101〜処理118を用いて説明する。クライアント11は、サーバ14に記憶されているファイルにアクセスする要求命令であるC1をサーバ14宛に送信する(処理101)。中継装置12は、クライアント11からのC1を中継し、中継装置13に送信する(処理102)。中継装置13は、C1を中継し、サーバ14に送信する(処理103)。サーバ14は、C1の命令に対応する応答であるR1を中継装置13に送信する(処理104)。中継装置13は、R1を中継し、中継装置12に送信する(処理105)。中継装置12は、中継装置13からのR1を中継し、クライアント11に送信する(処理106)。   The processing relating to the proxy request will be described using processing 101 to processing 118. The client 11 transmits C1 which is a request command for accessing a file stored in the server 14 to the server 14 (processing 101). The relay device 12 relays C1 from the client 11 and transmits it to the relay device 13 (process 102). The relay device 13 relays C1 and transmits it to the server 14 (process 103). The server 14 transmits R1 which is a response corresponding to the command of C1 to the relay device 13 (process 104). The relay device 13 relays R1 and transmits it to the relay device 12 (process 105). The relay device 12 relays R1 from the relay device 13 and transmits it to the client 11 (process 106).

クライアント11は、サーバ14に記憶されているダウンロードするファイルに関する情報を取得する要求命令であるC2をサーバ14宛に送信する(処理107)。中継装置12は、クライアント11からのC2を中継し、中継装置13に送信する(処理108)。中継装置13は、C2を中継し、サーバ14に送信する(処理109)。サーバ14は、C2の命令に対応する応答であるR2を中継装置13に送信する(処理110)。中継装置13は、R2を中継し、中継装置12に送信する(処理111)。中継装置12は、中継装置13からのR2を中継し、クライアント11に送信する(処理112)。   The client 11 sends C2 addressed to the server 14 as a request command to acquire information on the file to be downloaded stored in the server 14 (process 107). The relay device 12 relays C2 from the client 11 and transmits the C2 to the relay device 13 (process 108). The relay device 13 relays C2 and transmits it to the server 14 (process 109). The server 14 transmits R2 which is a response corresponding to the command of C2 to the relay device 13 (process 110). The relay device 13 relays R2 and transmits it to the relay device 12 (process 111). The relay device 12 relays R2 from the relay device 13 and transmits it to the client 11 (process 112).

中継装置13は、C1とC2の一連の命令パターンの後に、C3の命令が実行されることを記憶している。そのため、中継装置13は、C3が送信されてくるのを待たずに、C3の命令をサーバ14に送信する(処理113)。処理113は、C3の「代理要求」である。中継装置13は、C3をサーバ14に代理で要求したことを中継装置12に通知する(処理114)。   The relay device 13 stores that the C3 instruction is to be executed after the series of C1 and C2 instruction patterns. Therefore, the relay device 13 transmits an instruction of C3 to the server 14 without waiting for C3 to be transmitted (processing 113). The process 113 is a "proxy request" of C3. The relay device 13 notifies the relay device 12 that C3 has been requested to the server 14 as a proxy (process 114).

処理112でR2を受信すると、クライアント11は、実際にファイルをダウンロードするための要求命令であるC3をサーバ14宛に送信する(処理115)。中継装置12は、処理114でC3の代理要求が実施済みであることを受信しているため、C3に対応する応答であるR3を受信するまで待機する。中継装置12は、C3をサーバ14宛に送信しない。サーバ14は、処理113の代理要求でC3を受信すると、R3をクライアント11宛に送信する(処理116)。中継装置13は、R3を中継し、中継装置12に送信する(処理117)。中継装置12は、R3を中継し、クライアント11に送信する(処理118)。   When R2 is received in process 112, the client 11 transmits C3 which is a request command for actually downloading the file to the server 14 (process 115). Since the relay apparatus 12 receives that the proxy request of C3 has been implemented in the process 114, the relay apparatus 12 waits until receiving a response R3 corresponding to C3. The relay device 12 does not transmit C3 to the server 14. When the server 14 receives C3 in response to the proxy request of process 113, the server 14 transmits R3 to the client 11 (process 116). The relay device 13 relays R3 and transmits it to the relay device 12 (process 117). The relay device 12 relays R3 and transmits it to the client 11 (process 118).

このように、中継装置13が、クライアント11からのC3の命令を待たずに、代理で要求命令を出すことで、ファイル共有システムの通信にかかる時間を高速化することができる。   As described above, when the relay device 13 issues a request command as a proxy without waiting for the C3 command from the client 11, the time required for communication of the file sharing system can be accelerated.

<命令パターン記憶なし>
処理101〜処理118では、C1、C2の命令パターンの次にC3の命令が送信されてくることが中継装置13に記憶されていた。一方、以下に示す処理201〜処理222では、登録されていない命令パターンを中継装置13が中継する場合の例である。
<No instruction pattern memory>
In processing 101 to processing 118, it is stored in the relay apparatus 13 that the instruction of C3 is transmitted next to the instruction pattern of C1 and C2. On the other hand, processes 201 to 222 shown below are examples in which the relay apparatus 13 relays an instruction pattern not registered.

処理201〜処理222においてクライアント11は、C2、C2、C3の順で命令を送信するファイル共有システムにおける処理の例である。なお、中継装置13は、C2、C2、C3の一連の命令パターンを記憶していないものとする。   The client 11 is an example of a process in a file sharing system in which commands are transmitted in the order of C2, C2, and C3 in processes 201 to 222. The relay device 13 does not store the series of instruction patterns C2, C2, and C3.

クライアント11は、サーバ14に記憶されているダウンロードするファイルに関する情報を取得する要求命令であるC2をサーバ14宛に送信する(処理201)。中継装置12は、クライアント11からのC2を中継し、中継装置13に送信する(処理202)。中継装置13は、C2を中継し、サーバ14に送信する(処理203)。サーバ14は、C2の命令に対応する応答であるR2を中継装置13に送信する(処理204)。中継装置13は、R2を中継し、中継装置12に送信する(処理205)。中継装置12は、中継装置13からのR2を中継し、クライアント11に送信する(処理206)。クライアント11は、サーバ14に記憶されているダウンロードするファイルに関する情報を取得する要求命令であるC2をサーバ14宛に送信する(処理207)。中継装置12は、クライアント11からのC2を中継し、中継装置13に送信する(処理208)。中継装置13は、C2を中継し、サーバ14に送信する(処理209)。サーバ14は、C2の処理に対応する応答であるR2を中継装置13に送信する(処理210)。中継装置13は、R2を中継し、中継装置12に送信する(処理211)。中継装置12は、中継装置13からのR2を中継し、クライアント11に送信する(処理212)。   The client 11 sends C2 addressed to the server 14 as a request command for acquiring information on the file to be downloaded stored in the server 14 (process 201). The relay apparatus 12 relays C2 from the client 11 and transmits the C2 to the relay apparatus 13 (process 202). The relay device 13 relays C2 and transmits it to the server 14 (process 203). The server 14 transmits R2 which is a response corresponding to the command of C2 to the relay device 13 (process 204). The relay device 13 relays R2 and transmits it to the relay device 12 (process 205). The relay device 12 relays R2 from the relay device 13 and transmits it to the client 11 (process 206). The client 11 sends C2 addressed to the server 14 as a request command to acquire information on the file to be downloaded stored in the server 14 (process 207). The relay apparatus 12 relays C2 from the client 11 and transmits it to the relay apparatus 13 (process 208). The relay device 13 relays C2 and transmits it to the server 14 (process 209). The server 14 transmits R2 which is a response corresponding to the process of C2 to the relay device 13 (process 210). The relay device 13 relays R2 and transmits it to the relay device 12 (process 211). The relay device 12 relays R2 from the relay device 13 and transmits it to the client 11 (process 212).

中継装置13は、C2、C2の一連の命令に合致する命令パターンが自身のメモリに記憶されているかを判定する。しかし、C2、C2の一連の命令に対応する命令パターンは、中継装置13に記憶されていない。そのため、中継装置13は、代理要求の命令を送信しない。ここで、本実施形態に係る中継装置13は、C2、C2などの一連の命令と類似した命令パターンを検出する。例えば、中継装置13は、C2、C2の一連の命令と、C1、C2の一連の命令が類似している判定する。ここで、中継装置13は、命令パターンに含まれる命令が一部一致(C2)しているため、類似と判定している。類似の判定基準は、一部一致に限らない。   The relay device 13 determines whether an instruction pattern that matches the series of instructions C2 and C2 is stored in its own memory. However, the instruction pattern corresponding to the series of instructions C2 and C2 is not stored in the relay apparatus 13. Therefore, the relay device 13 does not transmit a proxy request command. Here, the relay device 13 according to the present embodiment detects an instruction pattern similar to a series of instructions such as C2 and C2. For example, the relay device 13 determines that the series of instructions C2 and C2 and the series of instructions C1 and C2 are similar. Here, since the instructions included in the instruction pattern partially match (C2), the relay device 13 determines that the instructions are similar. Similar judgment criteria are not limited to partial agreement.

中継装置13は、C1とC2の類似命令パターンに対応付けられた次の命令であるC3が次に送信されてくると予測する。中継装置13は、類似命令パターンを判定した場合に現在の時刻「t1」を取得する(処理213)。   The relay device 13 predicts that the next instruction C3 associated with the similar instruction pattern of C1 and C2 is to be transmitted next. The relay apparatus 13 acquires the current time "t1" when it determines the similar instruction pattern (processing 213).

処理212でR2を受信すると、クライアント11は、実際にファイルをダウンロードするための要求命令であるC3をサーバ14宛に送信する(処理214)。中継装置12は、クライアント11からのC3を中継し、中継装置13に送信する(処理215)。中継装置13は、C3を中継し、サーバ14に送信する(処理216)。サーバ14は、C3の命令に対応する応答であるR3を中継装置13に送信する(処理217)。中継装置13は、R3を中継し、中継装置12に送信する(処理218)。中継装置12は、中継装置13からのR3を中継し、クライアント11に送信する(処理219)。   When R2 is received in the process 212, the client 11 transmits C3 which is a request command for actually downloading the file to the server 14 (process 214). The relay device 12 relays C3 from the client 11 and transmits it to the relay device 13 (process 215). The relay device 13 relays C3 and transmits it to the server 14 (process 216). The server 14 transmits R3 which is a response corresponding to the command of C3 to the relay device 13 (process 217). The relay device 13 relays R3 and transmits it to the relay device 12 (process 218). The relay device 12 relays R3 from the relay device 13 and transmits it to the client 11 (process 219).

中継装置13は、まず、次に実行されると予測された命令(C3)と、実際に要求のあった命令(C3)とを比較し、同じ命令であるかを判定する。予測された命令と実際に要求のあった命令が同じである場合、中継装置13は、時刻「t1」を中継装置12に送信する(処理220)。   The relay device 13 first compares the instruction predicted to be executed next (C3) with the instruction actually requested (C3) to determine whether it is the same instruction. When the predicted instruction and the actually requested instruction are the same, the relay device 13 transmits time “t1” to the relay device 12 (process 220).

ここで、中継装置12は、代理要求をした場合の予測終了時刻(第1の時間)と代理要求をしない場合の実際の終了時刻(第2の時間)とを比較するため、予測終了時刻と実際の終了時刻を算出する。中継装置12は、処理215において中継する命令を送信する送信時刻「t2」と処理218において中継する応答の受信時刻「t3」を取得する。   Here, since the relay device 12 compares the predicted end time (first time) when the proxy request is made with the actual end time (second time) when the proxy request is not made, the relay device 12 compares the predicted end time with the predicted end time (second time). Calculate the actual end time. The relay apparatus 12 acquires a transmission time “t2” for transmitting an instruction to relay in process 215 and a reception time “t3” for a response to be relayed in process 218.

中継装置12は、送信時刻「t2」と受信時刻「t3」とからC3の命令のクライアント11からサーバ14の間の往復にかかった時間を算出する。なお、中継装置12とクライアント11、中継装置13とサーバ14とは、近距離に設置されるため、通信時間はないものとみなすこともできる。中継装置12は、該往復にかかった時間の半分(片道にかかった時間)を、代理要求をした場合にかかる時間として仮定する。そのため、中継装置12は、予測終了時刻を以下の式1として算出する。
予測終了時刻=t1+(t3−t2)/2 ・・・式1
The relay device 12 calculates the time taken for the round trip between the client 11 and the server 14 of the command of C3 from the transmission time “t2” and the reception time “t3”. In addition, since the relay apparatus 12 and the client 11 and the relay apparatus 13 and the server 14 are installed in a short distance, it can be considered that there is no communication time. The relay apparatus 12 assumes half of the time taken for the round trip (time taken for one way) to be the time taken for making a proxy request. Therefore, the relay device 12 calculates the prediction end time as Expression 1 below.
Prediction end time = t1 + (t3-t2) / 2 Formula 1

中継装置12は、代理要求をした場合の予測終了時刻(第1の時間)と代理要求をしない場合の実際の終了時刻(第2の時間)とを比較する。中継装置12は、予測終了時刻よりも実際の終了時刻のほうが後である場合、予測した命令(C3)を代理要求した方がファイル共有の処理を高速化できると判定する。中継装置12は、予測に用いた命令パターンに対応させてC3を代理要求できるよう登録する要求を中継装置13に送信する(処理221)。中継装置13は、類似した命令パターンに対応づけて予測に用いた命令(C3)を記憶する(処理222)。具体的には、中継装置13は、C2、C2の一連の命令パターンに対応づけてC3を記憶する。又、中継装置13は、C2を命令パターンとし、該命令パターンに対応づけてC3を記憶してもよい。   The relay device 12 compares the predicted end time (first time) in the case of making a proxy request with the actual end time (second time) in the case of not making a proxy request. When the actual end time is later than the predicted end time, the relay apparatus 12 determines that the file sharing process can be speeded up by requesting the predicted command (C3) as a proxy. The relay apparatus 12 transmits, to the relay apparatus 13, a request to register C <b> 3 so as to make a proxy request in correspondence with the command pattern used for the prediction (process 221). The relay device 13 stores the instruction (C3) used for prediction in association with the similar instruction pattern (process 222). Specifically, the relay device 13 stores C3 in association with the series of instruction patterns C2 and C2. The relay apparatus 13 may store C3 in association with the instruction pattern, with C2 as the instruction pattern.

なお、中継装置13が、予測終了時刻と実際の終了時刻を算出し、それらを比較してもよい。その場合、中継装置12は、送信時刻「t2」と受信時刻「t3」を処理221で中継装置13に送信する。その後、予測終了時刻と実際の終了時刻の算出を中継装置13が行えばよい。   The relay device 13 may calculate the predicted end time and the actual end time and compare them. In that case, the relay device 12 transmits the transmission time “t2” and the reception time “t3” to the relay device 13 in process 221. Thereafter, the relay device 13 may calculate the predicted end time and the actual end time.

このように、中継装置13は、記憶されていなかったC2、C2の一連の命令パターンを、高速化可能な命令パターンとし、その後に命令C3が送信されてくるものと登録する。すると、以降、C2、C2の命令パターンを中継する場合、中継装置13は、代理要求を先行して実行し、クライアント11とサーバ14間のファイル共有の速度を高速化させることができる。   As described above, the relay device 13 sets the series of instruction patterns of C2 and C2 that have not been stored as an instruction pattern that can be speeded up, and then registers the instruction pattern that the instruction C3 is transmitted. Then, when relaying the C2 and C2 instruction patterns, the relay device 13 can execute the proxy request in advance to increase the speed of file sharing between the client 11 and the server 14.

通信プロトコルやアプリケーションのバージョンアップなどによる、軽微な変更であっても、これまで通信のシーケンスを網羅的に再調査し、中継装置13に命令パターンを登録していた。これが自動化されることで、人手の処理を軽減することもできる。   Even in the case of a minor change due to a version upgrade of a communication protocol or application, the sequence of communication has been comprehensively reexamined so far, and the instruction pattern has been registered in the relay apparatus 13. By automating this, manual processing can also be reduced.

なお、図1における中継装置13は、C2、C2の一連の命令パターンから、命令C2を予測したものの、複数の命令を含む命令パターンを予測してもよい。その場合、中継装置13は、予測された命令パターンを実行した場合の予測終了時刻と、該命令パターンに係る送受信の実際の終了時刻とを比較する。中継装置13は、予測終了時刻が実際の終了時刻よりも早い場合、予測された命令パターンを、一連の命令パターンと対応づけてメモリに記憶する。   Although the relay apparatus 13 in FIG. 1 predicts the instruction C2 from a series of instruction patterns C2 and C2, it may predict an instruction pattern including a plurality of instructions. In that case, the relay device 13 compares the predicted end time when the predicted command pattern is executed with the actual end time of transmission / reception related to the command pattern. When the predicted end time is earlier than the actual end time, the relay device 13 stores the predicted instruction pattern in the memory in association with the series of instruction patterns.

図2は、中継装置の機能ブロック図の例である。中継装置12と中継装置13は、同じ構成を備える。アプリケーション15は、サーバ14又はクライアント11がファイル共有に使用するソフトウェアである。   FIG. 2 is an example of a functional block diagram of the relay device. The relay device 12 and the relay device 13 have the same configuration. The application 15 is software that the server 14 or the client 11 uses for file sharing.

送受信部301は、アプリケーション15からの要求と応答を送受信する。送受信部306は、ネットワークを介して、もう1つの中継装置と、要求と応答とを送受信する。送受信部301で受信した通信パケットは、送受信部306に中継されて転送される。送受信部306で受信した通信パケットは、送受信部301に中継されて転送される。記憶部302は、サーバ14とクライアント11間の通信における命令パターン、該命令パターン毎の次に実行される命令を記憶する。   The transmission and reception unit 301 transmits and receives a request and a response from the application 15. The transmitting / receiving unit 306 transmits / receives a request and a response to another relay apparatus via the network. The communication packet received by the transmitting and receiving unit 301 is relayed to the transmitting and receiving unit 306 and transferred. The communication packet received by the transmission / reception unit 306 is relayed to the transmission / reception unit 301 and transferred. The storage unit 302 stores an instruction pattern in communication between the server 14 and the client 11, and an instruction to be executed next for each instruction pattern.

判定部303は、中継する通信パケットの一連の命令に合致する命令パターンが、記憶部302に記憶されているかを判定する。判定部303は、中継する通信パケットの一連の命令に合致する命令パターンが、記憶部302に記憶されていない場合、中継している通信パケットの一連の命令に類似する命令パターンを判定する。   The determination unit 303 determines whether the storage unit 302 stores an instruction pattern that matches a series of instructions of the communication packet to be relayed. When the instruction pattern that matches the series of instructions of the communication packet to be relayed is not stored in the storage unit 302, the determining unit 303 determines an instruction pattern similar to the series of instructions of the communication packet being relayed.

予測部304は、判定部303が類似する命令パターンと判定したパターンに基づいた代理要求をしたと仮定し、その場合に予測される終了時刻を予測する。判定部303は、予測部304で予測された予測終了時刻と、実際に処理が終了した終了時刻とを比較する。   The prediction unit 304 assumes that a proxy request has been made based on a pattern determined as a similar instruction pattern by the determination unit 303, and predicts the end time predicted in that case. The determination unit 303 compares the predicted end time predicted by the prediction unit 304 with the end time when the process is actually ended.

処理部305は、代理要求の通信パケットを生成し、代理要求を送受信部301又は306に送信させる。予測された予測終了時刻のほうが先の場合(高速化が図れる)場合、処理部305は、予測部304で予測に用いられた命令(C3)と、中継した通信パケットの命令パターン(C2、C2)とを対応付けて記憶部302に記憶させる。   The processing unit 305 generates a communication packet of a proxy request and causes the transmission / reception unit 301 or 306 to transmit the proxy request. If the predicted end time predicted is earlier (if speeding up can be achieved), the processing unit 305 determines the instruction (C3) used for the prediction by the prediction unit 304 and the instruction pattern (C2, C2) of the relayed communication packet. And the storage unit 302 in association with each other.

図3は、中継装置のハードウェア構成の例を説明する図である。中継装置は、プロセッサ21、メモリ22、バス25、外部記憶装置26、ネットワーク接続装置29を備える。さらにオプションとして、中継装置は、入力装置23、出力装置24、媒体駆動装置27を備えても良い。中継装置は、例えば、サーバ、コンピュータなどで実現されることがある。   FIG. 3 is a diagram for explaining an example of the hardware configuration of the relay device. The relay device includes a processor 21, a memory 22, a bus 25, an external storage device 26, and a network connection device 29. Further, as an option, the relay device may include an input device 23, an output device 24, and a medium drive device 27. The relay device may be realized by, for example, a server, a computer, or the like.

プロセッサ21は、Central Processing Unit(CPU)を含む任意の処理回路とすることができる。プロセッサ21は、判定部303、予測部304、処理部305として動作する。なお、プロセッサ21は、例えば、外部記憶装置26に記憶されたプログラムを実行することができる。メモリ22は、記憶部302として動作する。さらに、メモリ22は、プロセッサ21の動作により得られたデータや、プロセッサ21の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置29は、他の装置との通信に使用され、送受信部301、送受信部306として動作する。   The processor 21 can be any processing circuit including a central processing unit (CPU). The processor 21 operates as a determination unit 303, a prediction unit 304, and a processing unit 305. The processor 21 can execute, for example, a program stored in the external storage device 26. The memory 22 operates as the storage unit 302. Furthermore, the memory 22 appropriately stores data obtained by the operation of the processor 21 and data used for the processing of the processor 21. The network connection device 29 is used for communication with another device, and operates as a transmission / reception unit 301 and a transmission / reception unit 306.

入力装置23は、例えば、ボタン、キーボード、マウス等として実現され、出力装置24は、ディスプレイなどとして実現される。バス25は、プロセッサ21、メモリ22、入力装置23、出力装置24、外部記憶装置26、媒体駆動装置27、ネットワーク接続装置29の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置26は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ21などに提供する。媒体駆動装置27は、メモリ22や外部記憶装置26のデータを可搬記憶媒体28に出力することができ、また、可搬記憶媒体28からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体28は、フレキシブルディスク、Magnet-Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disc Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。   The input device 23 is realized, for example, as a button, a keyboard, a mouse or the like, and the output device 24 is realized as a display or the like. The bus 25 connects the processor 21, the memory 22, the input device 23, the output device 24, the external storage device 26, the medium drive device 27, and the network connection device 29 so as to mutually exchange data. The external storage device 26 stores programs, data and the like, and appropriately provides the stored information to the processor 21 and the like. The medium drive device 27 can output data of the memory 22 and the external storage device 26 to the portable storage medium 28, and can read programs, data and the like from the portable storage medium 28. Here, the portable storage medium 28 is any portable storage medium, including a flexible disk, a Magnet-Optical (MO) disk, a Compact Disc Recordable (CD-R), and a Digital Versatile Disc Recordable (DVD-R). It can be done.

図4は、中継装置の処理(その1)の例を説明するフローチャートである。図4に係るフローチャートは、中継装置13が実行する処理の例である。送受信部306は、クライアント11側からの命令を受信する(ステップS101)。送受信部301は、送受信部306が受信した命令を、サーバ14側に中継する(ステップS102)。送受信部301は、サーバ14側から命令に対応する応答を受信する(ステップS103)。判定部303は、中継した通信パケットの命令と一致する命令パターンが記憶部302に記憶されているか否かを判定する(ステップS104)。   FIG. 4 is a flowchart illustrating an example of processing (part 1) of the relay device. The flowchart according to FIG. 4 is an example of processing performed by the relay device 13. The transmitting and receiving unit 306 receives an instruction from the client 11 (step S101). The transmitting and receiving unit 301 relays the command received by the transmitting and receiving unit 306 to the server 14 (step S102). The transmitting and receiving unit 301 receives a response corresponding to the command from the server 14 (step S103). The determination unit 303 determines whether an instruction pattern that matches the instruction of the relayed communication packet is stored in the storage unit 302 (step S104).

一致する命令パターンが記憶部302に記憶されている場合(ステップS104でYES)、送受信部301は、代理要求をサーバ14側に送信する(ステップS105)。送受信部301は、代理要求に対応する応答を受信する(ステップS106)。送受信部306は、応答をクライアント11側に転送する(ステップS107)。ステップS107の処理が終了すると、中継装置13は、処理をステップS101から繰り返す。   If a matching command pattern is stored in storage unit 302 (YES in step S104), transmission / reception unit 301 transmits a proxy request to server 14 (step S105). The transmitting and receiving unit 301 receives a response corresponding to the proxy request (step S106). The transmitting and receiving unit 306 transfers the response to the client 11 (step S107). When the process of step S107 ends, the relay device 13 repeats the process from step S101.

一致する命令パターンが記憶部302に記憶されていない場合(ステップS104でNO)、判定部303は、中継した通信パケットの命令と記憶部302に記憶されている命令パターンの一部と一致するか否かを判定する(ステップS108)。部分一致する命令パターンがある場合(ステップS108でYES)、送受信部306は、現在の時刻「t1」を取得する(ステップS109)。判定部110は、予測した命令と実際に送受信された命令とが一致する命令か否かを判定する(ステップS110)。予測した命令と実際に送受信された命令とが一致する命令である場合(ステップS110でYES)、送受信部306は、クライアント11側に時刻「t1」を送信する(ステップS111)。   When the matching instruction pattern is not stored in storage unit 302 (NO in step S104), determination unit 303 matches the instruction of the relayed communication packet with a part of the instruction pattern stored in storage unit 302 It is determined whether or not (step S108). If there is an instruction pattern that partially matches (YES in step S108), the transmission / reception unit 306 acquires the current time "t1" (step S109). The determination unit 110 determines whether the predicted instruction and the actually transmitted / received instruction match (step S110). If the predicted command and the command actually transmitted and received match (YES in step S110), the transmitting and receiving unit 306 transmits the time "t1" to the client 11 (step S111).

ステップS111の処理を終了すると、中継装置13は、処理をステップS101から繰り返す。部分一致する命令パターンがない場合(ステップS108でNO)、中継装置13は、処理をステップS101から繰り返す。予測した命令と実際に送受信された命令とが一致する命令でない場合(ステップS110でNO)、中継装置13は、処理をステップS101から繰り返す。   When the process of step S111 ends, the relay device 13 repeats the process from step S101. If there is no partially matching instruction pattern (NO in step S108), the relay device 13 repeats the process from step S101. If the predicted command and the command actually transmitted / received do not match (NO in step S110), the relay device 13 repeats the process from step S101.

図5は、中継装置の処理(その2)の例を説明するフローチャートである。図5に係るフローチャートは、中継装置12が実行する処理の例である。該中継装置12の処理を、図2の機能ブロック図を用いて説明する。送受信部301は、クライアント11から命令を受信する(ステップS201)。処理部305は、命令の送信時刻「t2」として、現在の時刻を取得する(ステップS202)。送受信部306は、サーバ14宛に該命令を転送する(ステップS203)。送受信部306は、サーバ14側の中継装置13から該命令に対応する応答を受信する(ステップS204)。処理部305は、応答の受信時刻「t3」として現在時刻を取得する(ステップS205)。送受信部301は、クライアント11側に応答を中継する(ステップS206)。処理部305は、送受信部306が中継装置13側から時刻「t1」を受信したか否かを判定する(ステップS207)。   FIG. 5 is a flowchart illustrating an example of processing (part 2) of the relay device. The flowchart according to FIG. 5 is an example of processing executed by the relay device 12. The processing of the relay device 12 will be described using the functional block diagram of FIG. The transmitting and receiving unit 301 receives an instruction from the client 11 (step S201). The processing unit 305 acquires the current time as the transmission time “t2” of the command (step S202). The transmitting and receiving unit 306 transfers the command to the server 14 (step S203). The transmitting and receiving unit 306 receives a response corresponding to the command from the relay device 13 on the server 14 side (step S204). The processing unit 305 acquires the current time as the reception time “t3” of the response (step S205). The transmitting and receiving unit 301 relays the response to the client 11 (step S206). The processing unit 305 determines whether the transmitting and receiving unit 306 has received the time “t1” from the relay device 13 (step S207).

中継装置13側から時刻「t1」を受信した場合(ステップS207でYES)、処理部305は、予測終了時刻を算出する(ステップS208)。判定部303は、予測終了時刻と実際の終了時刻とを比較し、高速化可能か否かを判定する(ステップS209)。高速化可能である場合(ステップS209でYES)、処理部305は、記憶されていなかった命令パターンを、高速化可能な命令パターンとし、その後に予測した命令を記憶部に登録する(ステップS210)。送受信部306は、中継装置13側に同じ情報を登録するよう通知する(ステップS211)。このように、中継装置12側でも高速化可能な命令パターンと予測した命令を記憶することで代理応答が可能となる。具体的には、中継装置12は、クライアント11から記憶された予測された命令又は命令パターンを新たに受信すると、中継装置13側の代理要求をした結果受信する応答を、クライアント11に代理応答することができる。   When the time “t1” is received from the relay device 13 (YES in step S207), the processing unit 305 calculates a prediction end time (step S208). The determination unit 303 compares the predicted end time with the actual end time, and determines whether the speed can be increased (step S209). If speedup is possible (YES in step S209), the processing unit 305 sets an instruction pattern not stored as an instruction pattern capable of speeding up, and registers the predicted instruction in the storage unit (step S210). . The transmitting / receiving unit 306 notifies the relay apparatus 13 to register the same information (step S211). As described above, by storing the instruction pattern capable of speeding up and the predicted instruction on the side of the relay device 12 as well, proxy response can be performed. Specifically, when the relay device 12 newly receives the predicted command or command pattern stored from the client 11, the relay device 12 proxy-responds to the client 11 a response received as a result of making a proxy request on the relay device 13 side. be able to.

中継装置13側から時刻「t1」を受信できない場合(ステップS207でNO)、中継装置12は、処理をステップS201から繰り返す。高速化可能でない場合(ステップS209でNO)、中継装置12は、処理をステップS201から繰り返す。ステップS211の処理が終了すると、中継装置12は、処理をステップS201から繰り返す。   If time “t1” can not be received from the relay apparatus 13 (NO in step S207), the relay apparatus 12 repeats the process from step S201. If speeding up is not possible (NO in step S209), the relay device 12 repeats the process from step S201. When the process of step S211 ends, the relay device 12 repeats the process from step S201.

このように、中継装置13は、記憶されていなかったC2、C2の一連の命令パターンを、高速化可能な命令パターンとし、その後に命令C3が送信されてくるものとして登録する。すると、以降、C2、C2の命令パターンを中継した場合、中継装置13は、代理要求(C3)を実行し、クライアント11とサーバ14間のファイル共有に係る通信時間を短縮させることができる。   As described above, the relay device 13 sets a series of instruction patterns of C2 and C2 that have not been stored as an instruction pattern that can be speeded up, and then registers the instruction pattern as that to which the instruction C3 is transmitted. Then, when the command patterns of C2 and C2 are relayed thereafter, the relay device 13 can execute the proxy request (C3), and the communication time related to file sharing between the client 11 and the server 14 can be shortened.

通信プロトコルやアプリケーションのバージョンアップなどによる、軽微な変更であっても、これまで通信のシーケンスを網羅的に再調査し、中継装置13に命令パターンを登録していた。これが自動化されることで、人手の処理を軽減することもできる。   Even in the case of a minor change due to a version upgrade of a communication protocol or application, the sequence of communication has been comprehensively reexamined so far, and the instruction pattern has been registered in the relay apparatus 13. By automating this, manual processing can also be reduced.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
アプリケーション間で送受信される通信パケットの命令パターンを記憶する記憶部と、
前記通信パケットを中継する際に、中継する通信パケットの命令パターンが前記記憶部に記憶されていない場合、前記命令パターンと類似した命令パターンから、次に実行される命令パターンを予測する予測部と、
予測された前記命令パターンを代理要求した場合における前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻が、前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻よりも早い場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付ける処理部と、
を備えることを特徴とする中継装置。
(付記2)
前記処理部は、
前記類似したパターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記記憶部に記憶させる
ことを特徴とする付記1に記載の中継装置。
(付記3)
アプリケーション間で送受信される通信パケットを中継する際に、前記中継する通信パケットの命令パターンと類似した命令パターンから次に実行されると予測される命令パターンの送受信の終了時刻である第1の終了時刻と、前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻とを比較する判定部と、
前記第1の終了時刻が前記第2の終了時刻よりも早い場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて記憶する命令パターンを他の中継装置に通知する送受信部と、
を備えることを特徴とする中継装置。
(付記4)
予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて記憶する記憶部と、を更に備え、
前記送受信部は、
前記記憶部に記憶された予測された前記命令パターンを新たに受信すると、
前記他の中継装置が、予測された前記命令パターンを用いた代理要求をした結果受信する応答を用いて、代理応答をする
ことを特徴とする付記3に記載の中継装置。
(付記5)
アプリケーション間で送受信される通信パケットを中継する第1と第2の中継装置を含む中継システムであって、
前記第1の中継装置は、
前記通信パケットを中継する際に、中継する通信パケットの命令パターンと類似した命令パターンから、次に実行される命令パターンを予測し、
予測処理が終了した第1の時刻を取得し、
前記命令パターンと、前記中継する通信パケットの命令パターンの次に実際に中継する命令パターンとが一致する場合、前記第1の時刻を前記第2の中継装置(図1、12)に送信し、
前記第2の中継装置は、
前記第1の時刻を受信すると、予測された前記命令パターンを代理で送信した場合に、前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻を前記第1の時刻に基づいて算出し、
前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻を算出し、
前記第2の終了時刻が前記第1の終了時刻よりも後である場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて前記第1の中継装置に記憶するように通知する
ことを特徴とする中継システム。
(付記6)
前記第2の中継装置は、
前記類似した命令パターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記第1の中継装置に記憶させる
ことを特徴とする付記5に記載の中継システム。
(付記7)
アプリケーション間の命令を中継する際に、中継する通信パケットの命令パターンがメモリに記憶されていない場合に、前記中継する通信パケットの命令パターンと類似した命令パターンから、次に実行される命令パターンを予測し、予測された前記命令パターンを代理で送信した場合に、前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻を予測し、
前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻が第1の終了時刻よりも後である場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて前記メモリに記憶させる
ことを特徴とする通信パケットの制御方法。
(付記8)
前記類似した命令パターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記メモリに記憶させる
ことを特徴とする付記7に記載の制御方法。
(付記9)
アプリケーション間の命令を中継する際に、中継する通信パケットの命令パターンがメモリに記憶されていない場合に、前記中継する通信パケットの命令パターンと類似した命令パターンから、次に実行される命令パターンを予測し、予測された前記命令パターンを代理で送信した場合に、前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻を予測し、
前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻が第1の終了時刻よりも後である場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて前記メモリに記憶させる
処理を実行させるプログラムを記憶した記録媒体。
(付記10)
前記類似した命令パターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記メモリに記憶させる
処理を実行させるプログラムを記憶した付記9に記載の記録媒体。
The following appendices will be further disclosed regarding the above embodiments.
(Supplementary Note 1)
A storage unit that stores instruction patterns of communication packets transmitted and received between applications;
When relaying the communication packet, if an instruction pattern of the communication packet to be relayed is not stored in the storage unit, a prediction unit that predicts an instruction pattern to be executed next from an instruction pattern similar to the instruction pattern; ,
The first end time, which is an end time of transmission / reception of the instruction pattern between the applications when a proxy request of the predicted instruction pattern is made, is actually relayed next to the instruction pattern of the communication packet to be relayed. A processing unit that associates the predicted instruction pattern with an instruction pattern of the communication packet to be relayed, if the instruction pattern is earlier than a second end time that is an end time of transmission / reception of the instruction pattern;
A relay apparatus characterized by comprising:
(Supplementary Note 2)
The processing unit is
When the instruction pattern partially matches among the similar patterns, the part where the instruction pattern partially matches is associated with the predicted instruction pattern and stored in the storage unit. The relay apparatus according to claim 1, characterized in that
(Supplementary Note 3)
When relaying a communication packet transmitted / received between applications, a first end which is an end time of transmission / reception of a command pattern predicted to be executed next from a command pattern similar to the command pattern of the relayed communication packet A determination unit that compares a time and a second end time that is an end time of transmission and reception of the instruction pattern that is actually relayed next to the instruction pattern of the communication packet to be relayed;
When the first end time is earlier than the second end time, another relay device is notified of a command pattern that stores the predicted command pattern in association with the command pattern of the communication packet to be relayed. A transceiver unit,
A relay apparatus characterized by comprising:
(Supplementary Note 4)
A storage unit that stores the predicted instruction pattern in association with the instruction pattern of the communication packet to be relayed;
The transmitting and receiving unit
When the predicted instruction pattern stored in the storage unit is newly received,
The relay apparatus according to claim 3, wherein the other relay apparatus makes a proxy response using a response received as a result of making a proxy request using the predicted instruction pattern.
(Supplementary Note 5)
A relay system including first and second relay apparatuses for relaying communication packets transmitted and received between applications, comprising:
The first relay device is
When relaying the communication packet, an instruction pattern to be executed next is predicted from an instruction pattern similar to the instruction pattern of the communication packet to be relayed,
Get the first time when the prediction process is finished,
If the instruction pattern and the instruction pattern to be actually relayed next to the instruction pattern of the relayed communication packet match, the first time is transmitted to the second relay apparatus (FIGS. 1 and 12).
The second relay device is
When the first time is received, a first end time, which is an end time of transmission and reception of the instruction pattern between the applications, is sent to the first time when the predicted instruction pattern is transmitted by proxy. Calculated based on
Calculating a second end time which is an end time of transmission and reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed;
When the second end time is later than the first end time, the predicted instruction pattern is stored in the first relay device in association with the instruction pattern of the communication packet to be relayed. A relay system characterized by notifying.
(Supplementary Note 6)
The second relay device is
When the instruction pattern partially matches among the similar instruction patterns, the first relay device associates the part where the instruction pattern partially matches with the predicted instruction pattern. The relay system according to appendix 5, wherein the relay system is stored.
(Appendix 7)
When an instruction between applications is relayed, if an instruction pattern of the communication packet to be relayed is not stored in the memory, an instruction pattern to be executed next is derived from an instruction pattern similar to the instruction pattern of the communication packet to be relayed. Predicting and, when the predicted instruction pattern is sent by proxy, predicting a first end time which is an end time of transmission and reception of the instruction pattern between the applications;
If the second end time, which is the end time of transmission / reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed, is later than the first end time, the predicted instruction pattern is And a control method of a communication packet, which is stored in the memory in association with an instruction pattern of the communication packet to be relayed.
(Supplementary Note 8)
In the similar instruction pattern, when the instruction pattern partially matches, a portion where the instruction pattern partially matches is associated with the predicted instruction pattern and stored in the memory. The control method according to Appendix 7, characterized in that
(Appendix 9)
When an instruction between applications is relayed, if an instruction pattern of the communication packet to be relayed is not stored in the memory, an instruction pattern to be executed next is derived from an instruction pattern similar to the instruction pattern of the communication packet to be relayed. Predicting and, when the predicted instruction pattern is sent by proxy, predicting a first end time which is an end time of transmission and reception of the instruction pattern between the applications;
If the second end time, which is the end time of transmission / reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed, is later than the first end time, the predicted instruction pattern is A recording medium storing a program that causes a process to be stored in the memory in association with an instruction pattern of the communication packet to be relayed.
(Supplementary Note 10)
When the instruction pattern partially matches among the similar instruction patterns, the part where the instruction pattern partially matches is associated with the predicted instruction pattern and stored in the memory. The recording medium according to Supplementary Note 9 storing a program for executing.

11 クライアント
12、13 中継装置
14 サーバ
15 アプリケーション
301、306 送受信部
302 記憶部
303 判定部
304 予測部
305 処理部
11 Client 12, 13 Relay Device 14 Server 15 Application 301, 306 Transmission / reception unit 302 Storage unit 303 Determination unit 304 Prediction unit 305 Processing unit

Claims (9)

アプリケーション間で送受信される通信パケットの命令パターンを記憶する記憶部と、
前記通信パケットを中継する際に、中継する通信パケットの命令パターンが前記記憶部に記憶されていない場合、前記命令パターンと類似した命令パターンから、次に実行される命令パターンを予測する予測部と、
予測された前記命令パターンを代理要求した場合における前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻が、前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻よりも早い場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付ける処理部と、
を備えることを特徴とする中継装置。
A storage unit that stores instruction patterns of communication packets transmitted and received between applications;
When relaying the communication packet, if an instruction pattern of the communication packet to be relayed is not stored in the storage unit, a prediction unit that predicts an instruction pattern to be executed next from an instruction pattern similar to the instruction pattern; ,
The first end time, which is an end time of transmission / reception of the instruction pattern between the applications when a proxy request of the predicted instruction pattern is made, is actually relayed next to the instruction pattern of the communication packet to be relayed. A processing unit that associates the predicted instruction pattern with an instruction pattern of the communication packet to be relayed, if the instruction pattern is earlier than a second end time that is an end time of transmission / reception of the instruction pattern;
A relay apparatus characterized by comprising:
前記処理部は、
前記類似したパターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記記憶部に記憶させる
ことを特徴とする請求項1に記載の中継装置。
The processing unit is
When the instruction pattern partially matches among the similar patterns, the part where the instruction pattern partially matches is associated with the predicted instruction pattern and stored in the storage unit. The relay apparatus according to claim 1, characterized in that
アプリケーション間で送受信される通信パケットを中継する際に、前記中継する通信パケットの命令パターンと類似した命令パターンから次に実行されると予測される命令パターンの送受信の終了時刻である第1の終了時刻と、前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻とを比較する判定部と、
前記第1の終了時刻が前記第2の終了時刻よりも早い場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて記憶する命令パターンを他の中継装置に通知する送受信部と、
を備えることを特徴とする中継装置。
When relaying a communication packet transmitted / received between applications, a first end which is an end time of transmission / reception of a command pattern predicted to be executed next from a command pattern similar to the command pattern of the relayed communication packet A determination unit that compares a time and a second end time that is an end time of transmission and reception of the instruction pattern that is actually relayed next to the instruction pattern of the communication packet to be relayed;
When the first end time is earlier than the second end time, another relay device is notified of a command pattern that stores the predicted command pattern in association with the command pattern of the communication packet to be relayed. A transceiver unit,
A relay apparatus characterized by comprising:
アプリケーション間で送受信される通信パケットを中継する第1と第2の中継装置を含む中継システムであって、
前記第1の中継装置は、
前記通信パケットを中継する際に、中継する通信パケットの命令パターンと類似した命令パターンから、次に実行される命令パターンを予測し、
予測処理が終了した第1の時刻を取得し、
前記命令パターンと、前記中継する通信パケットの命令パターンの次に実際に中継する命令パターンとが一致する場合、前記第1の時刻を前記第2の中継装置に送信し、
前記第2の中継装置は、
前記第1の時刻を受信すると、予測された前記命令パターンを代理で送信した場合に、前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻を前記第1の時刻に基づいて算出し、
前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻を算出し、
前記第2の終了時刻が前記第1の終了時刻よりも後である場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて前記第1の中継装置に記憶するように通知する
ことを特徴とする中継システム。
A relay system including first and second relay apparatuses for relaying communication packets transmitted and received between applications, comprising:
The first relay device is
When relaying the communication packet, an instruction pattern to be executed next is predicted from an instruction pattern similar to the instruction pattern of the communication packet to be relayed,
Get the first time when the prediction process is finished,
If the instruction pattern and the instruction pattern to be actually relayed next to the instruction pattern of the relayed communication packet match, the first time is transmitted to the second relay device;
The second relay device is
When the first time is received, a first end time, which is an end time of transmission and reception of the instruction pattern between the applications, is sent to the first time when the predicted instruction pattern is transmitted by proxy. Calculated based on
Calculating a second end time which is an end time of transmission and reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed;
When the second end time is later than the first end time, the predicted instruction pattern is stored in the first relay device in association with the instruction pattern of the communication packet to be relayed. A relay system characterized by notifying.
前記第2の中継装置は、
前記類似した命令パターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記第1の中継装置に記憶させる
ことを特徴とする請求項4に記載の中継システム。
The second relay device is
When the instruction pattern partially matches among the similar instruction patterns, the first relay device associates the part where the instruction pattern partially matches with the predicted instruction pattern. The relay system according to claim 4, wherein the relay system is stored.
アプリケーション間の命令を中継する際に、中継する通信パケットの命令パターンがメモリに記憶されていない場合に、前記中継する通信パケットの命令パターンと類似した命令パターンから、次に実行される命令パターンを予測し、予測された前記命令パターンを代理で送信した場合に、前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻を予測し、
前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻が第1の終了時刻よりも後である場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて前記メモリに記憶させる
ことを特徴とする通信パケットの制御方法。
When an instruction between applications is relayed, if an instruction pattern of the communication packet to be relayed is not stored in the memory, an instruction pattern to be executed next is derived from an instruction pattern similar to the instruction pattern of the communication packet to be relayed. Predicting and, when the predicted instruction pattern is sent by proxy, predicting a first end time which is an end time of transmission and reception of the instruction pattern between the applications;
If the second end time, which is the end time of transmission / reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed, is later than the first end time, the predicted instruction pattern is And a control method of a communication packet, which is stored in the memory in association with an instruction pattern of the communication packet to be relayed.
前記類似した命令パターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記メモリに記憶させる
ことを特徴とする請求項6に記載の制御方法。
In the similar instruction pattern, when the instruction pattern partially matches, a portion where the instruction pattern partially matches is associated with the predicted instruction pattern and stored in the memory. The control method according to claim 6, characterized in that
アプリケーション間の命令を中継する際に、中継する通信パケットの命令パターンがメモリに記憶されていない場合に、前記中継する通信パケットの命令パターンと類似した命令パターンから、次に実行される命令パターンを予測し、予測された前記命令パターンを代理で送信した場合に、前記アプリケーション間での前記命令パターンの送受信の終了時刻である第1の終了時刻を予測し、
前記中継する通信パケットの命令パターンの次に実際に中継する前記命令パターンの送受信の終了時刻である第2の終了時刻が第1の終了時刻よりも後である場合、予測された前記命令パターンを、前記中継する通信パケットの命令パターンに対応付けて前記メモリに記憶させる
処理を情報処理装置に実行させるプログラム。
When an instruction between applications is relayed, if an instruction pattern of the communication packet to be relayed is not stored in the memory, an instruction pattern to be executed next is derived from an instruction pattern similar to the instruction pattern of the communication packet to be relayed. Predicting and, when the predicted instruction pattern is sent by proxy, predicting a first end time which is an end time of transmission and reception of the instruction pattern between the applications;
If the second end time, which is the end time of transmission / reception of the instruction pattern to be actually relayed next to the instruction pattern of the communication packet to be relayed, is later than the first end time, the predicted instruction pattern is A program that causes an information processing apparatus to execute processing for storing in the memory in association with an instruction pattern of the communication packet to be relayed.
前記類似した命令パターンのうち、部分的に命令パターンが一致している場合、該部分的に命令パターンが一致している部分と、予測された前記命令パターンを対応づけて前記メモリに記憶させる
処理を情報処理装置に実行させる請求項8に記載のプログラム。
When the instruction pattern partially matches among the similar instruction patterns, the part where the instruction pattern partially matches is associated with the predicted instruction pattern and stored in the memory. The program according to claim 8, causing the information processing apparatus to execute the program.
JP2015187284A 2015-09-24 2015-09-24 Relay apparatus, relay method, and relay program Expired - Fee Related JP6515761B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015187284A JP6515761B2 (en) 2015-09-24 2015-09-24 Relay apparatus, relay method, and relay program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015187284A JP6515761B2 (en) 2015-09-24 2015-09-24 Relay apparatus, relay method, and relay program

Publications (2)

Publication Number Publication Date
JP2017062617A JP2017062617A (en) 2017-03-30
JP6515761B2 true JP6515761B2 (en) 2019-05-22

Family

ID=58428761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015187284A Expired - Fee Related JP6515761B2 (en) 2015-09-24 2015-09-24 Relay apparatus, relay method, and relay program

Country Status (1)

Country Link
JP (1) JP6515761B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002373109A (en) * 2001-06-13 2002-12-26 Nec Corp Data look-ahead system and its method
US7941609B2 (en) * 2007-02-23 2011-05-10 Microsoft Corporation HTTP acceleration by prediction and pre-fetching
US8612374B1 (en) * 2009-11-23 2013-12-17 F5 Networks, Inc. Methods and systems for read ahead of remote data
JP5192506B2 (en) * 2010-03-12 2013-05-08 株式会社日立製作所 File cache management method, apparatus, and program
JP2015022562A (en) * 2013-07-19 2015-02-02 アラクサラネットワークス株式会社 Information processing unit, and information processing method
JP2016015566A (en) * 2014-07-01 2016-01-28 富士通株式会社 Terminal device and data distribution method

Also Published As

Publication number Publication date
JP2017062617A (en) 2017-03-30

Similar Documents

Publication Publication Date Title
US9525592B2 (en) Client/server network environment setup method and system
JP6766895B2 (en) How to communicate securely and industrial computing equipment
CN108494755B (en) A method and device for transmitting application programming interface API request
US9351105B2 (en) Location based applications
EP3859567A1 (en) Hint model updating using automated browsing clusters
CN111083180B (en) Internet of things system, Internet of things equipment linkage method and device
EP2942711B1 (en) Dynamic generation of proxy connections
US8291406B2 (en) Data imaging system and methods
CN109471713B (en) Method and device for inquiring information
JP5109901B2 (en) Session data sharing method
CN109729177B (en) Method and apparatus for generating information
CN111064675A (en) Access flow control method, device, network equipment and storage medium
US10516628B2 (en) Transfer device, transfer system, and transfer method
JP6515761B2 (en) Relay apparatus, relay method, and relay program
KR20150088462A (en) Method for linking network device in cloud environment and apparatus therefor
US11057489B2 (en) Content deployment method and delivery controller
KR101447504B1 (en) User terminal and data sharing method between applications thereof
JP2020004315A (en) Quarantine server and quarantine method
EP2564552B1 (en) Network management in a communications network
JP6096700B2 (en) API providing system
JP2014096685A (en) Communication system and communication method
JP2012203421A (en) Information processing method, management server and management program
US20190312929A1 (en) Information synchronization method and device
JP5823919B2 (en) Distributed execution system, method, apparatus, and program
CN118041901A (en) File transmission system, method, terminal, server, network connection unit and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190401

R150 Certificate of patent or registration of utility model

Ref document number: 6515761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees