JP2018046404A - Relay device, relay system, relay program, and relay method - Google Patents

Relay device, relay system, relay program, and relay method Download PDF

Info

Publication number
JP2018046404A
JP2018046404A JP2016179570A JP2016179570A JP2018046404A JP 2018046404 A JP2018046404 A JP 2018046404A JP 2016179570 A JP2016179570 A JP 2016179570A JP 2016179570 A JP2016179570 A JP 2016179570A JP 2018046404 A JP2018046404 A JP 2018046404A
Authority
JP
Japan
Prior art keywords
packet
communication device
packets
transmission
time
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.)
Granted
Application number
JP2016179570A
Other languages
Japanese (ja)
Other versions
JP6851754B2 (en
Inventor
遵 金井
Jun Kanai
遵 金井
直哉 大西
Naoya Onishi
直哉 大西
拓紀 松山
Hiroki Matsuyama
拓紀 松山
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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2016179570A priority Critical patent/JP6851754B2/en
Publication of JP2018046404A publication Critical patent/JP2018046404A/en
Application granted granted Critical
Publication of JP6851754B2 publication Critical patent/JP6851754B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a relay device excellent in reduction in a communication processing load between a client and a server.SOLUTION: A relay device of an embodiment includes a reception unit, a processing unit, and a transmission unit. The reception unit receives a plurality of packets from a first communication device. The processing unit generates an aggregation packet including one or more packets on the basis of a transmission wait time of each packet. The transmission unit transmits the aggregation packet to a second communication device within the transmission wait time.SELECTED DRAWING: Figure 2

Description

本発明の実施形態は、中継装置、中継システム、中継プログラム、及び中継方法に関する。   Embodiments described herein relate generally to a relay device, a relay system, a relay program, and a relay method.

クライアントサーバ型の制御システムにおいて、同時に多数のクライアントから複数のサーバへのアクセスが発生すると、ネットワークの負荷が増大し、リアルタイムな制御を行うことが難しくなることがある。特に、小さいサイズのパケットを大量に処理する場合、複数のサーバのネットワークインタフェースでの処理負荷が増大する。例えば、中継装置で複数のパケットを1つのパケットに集約してサーバに送信することで、サーバでのネットワークインタフェースの処理負荷を低減させる技術が知られている。   In a client-server type control system, if a large number of clients access a plurality of servers at the same time, the load on the network increases and it may be difficult to perform real-time control. In particular, when processing a large amount of small-sized packets, the processing load on the network interfaces of a plurality of servers increases. For example, a technique is known in which a relay device aggregates a plurality of packets into one packet and transmits the packets to a server, thereby reducing the processing load on the network interface on the server.

特許3490000号公報Japanese Patent No. 3490000

中継装置において所定時間毎にパケットの集約を行うことができるが、パケット毎に異なる時間制約がある場合や、複数のパケット送受信からなるトランザクション処理においてトランザクション単位での時間制約がある場合に、単にパケットの集約を行うと時間制約が満たされなくなるおそれがある。   Packets can be aggregated every predetermined time in the relay device, but if there is a different time constraint for each packet, or if there is a time constraint in units of transactions in transaction processing consisting of multiple packet transmission / reception, simply packet If the aggregation is performed, the time constraint may not be satisfied.

本発明の目的は、クライアントとサーバ間の通信処理負荷の軽減に優れた中継装置、中継システム、中継プログラム、及び中継方法を提供することである。   An object of the present invention is to provide a relay device, a relay system, a relay program, and a relay method that are excellent in reducing a communication processing load between a client and a server.

実施形態の中継装置は、受信部と、処理部と、送信部とを備える。前記受信部は、第一通信装置から複数のパケットを受信する。前記処理部は、各パケットの送信待機時間に基づき1以上のパケットを含む集約パケットを生成する。前記送信部は、前記送信待機時間以内に第二通信装置に対して前記集約パケットを送信する。   The relay device according to the embodiment includes a reception unit, a processing unit, and a transmission unit. The receiving unit receives a plurality of packets from the first communication device. The processing unit generates an aggregate packet including one or more packets based on the transmission waiting time of each packet. The transmission unit transmits the aggregate packet to the second communication device within the transmission standby time.

各実施形態に共通するパケット中継システムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the packet relay system common to each embodiment. 実施形態1に係るパケット中継装置の内部構成の一例を示す図である。It is a figure which shows an example of the internal structure of the packet relay apparatus which concerns on Embodiment 1. FIG. 実施形態1に係る識別子データベースの一例を示す図である。It is a figure which shows an example of the identifier database which concerns on Embodiment 1. 実施形態1に係るパケット送信までの最大待機時間の一例を示す図である。It is a figure which shows an example of the maximum waiting time until the packet transmission which concerns on Embodiment 1. FIG. 実施形態1に係る集約パケットのフレーム構成の例を示す図である。It is a figure which shows the example of the frame structure of the aggregation packet which concerns on Embodiment 1. FIG. 実施形態1に係る第一通信装置からのパケット受信時の処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of processing when a packet is received from the first communication device according to the first embodiment. 実施形態1に係るパケット集約の処理の一例を示すフローチャートである。5 is a flowchart illustrating an example of packet aggregation processing according to the first embodiment. 実施形態1に係る第二通信装置からのパケット受信時の処理の一例を示すフローチャートである。7 is a flowchart illustrating an example of processing when a packet is received from a second communication device according to the first embodiment. 実施形態2に係るパケット中継装置の内部構成の一例を示す図である。It is a figure which shows an example of the internal structure of the packet relay apparatus which concerns on Embodiment 2. FIG. 実施形態2に係るパケット集約の処理の一例を示すフローチャートである。10 is a flowchart illustrating an example of packet aggregation processing according to the second embodiment. 実施形態3に係るパケット中継装置の内部構成の一例を示す図である。It is a figure which shows an example of the internal structure of the packet relay apparatus which concerns on Embodiment 3. 実施形態3に係るエラー処理と再要求処理の一例を示すフローチャートである。14 is a flowchart illustrating an example of error processing and re-request processing according to the third embodiment.

以下、各実施形態に係るパケット中継システムについて、図面を参照して説明する。   Hereinafter, the packet relay system according to each embodiment will be described with reference to the drawings.

図1は、各実施形態に共通するパケット中継システムの全体構成の一例を示す図である。パケット中継システムは、第一通信装置3、パケット中継装置4、第二通信装置5から構成される。第一通信装置3は一台であってもよいし複数台であってもよい。また、パケット中継装置4についても、一台であってもよいし複数台であってもよい。また、第二通信装置5は一台であってもよいし複数台であってもよい。以下説明する各実施形態では、第一通信装置3が複数台、パケット中継装置4と第二通信装置5が一台のケースを想定する。   FIG. 1 is a diagram illustrating an example of the overall configuration of a packet relay system common to the embodiments. The packet relay system includes a first communication device 3, a packet relay device 4, and a second communication device 5. There may be one first communication device 3 or a plurality of first communication devices 3. Further, the packet relay apparatus 4 may be one or plural. Further, the second communication device 5 may be one or a plurality of units. In each embodiment described below, it is assumed that there are a plurality of first communication devices 3 and one packet relay device 4 and second communication device 5.

第一通信装置3とパケット中継装置4は、ネットワーク1、第二通信装置5とパケット中継装置4はネットワーク2を通じて接続され、相互に通信が可能である。第一通信装置3は、複数の装置から構成されても良い。ネットワーク1とネットワーク2は、例えばLANなどのローカルな回線であっても良いし、インターネットや専用回線などの広域な有線通信回線や、3Gなどの広域な無線通信回線を用いてもよい。ただし、ネットワーク2には通信遅延が大きい回線も想定しており、通信プロトコルとしてはUDP(User Datagram Protocol)などの遅延の少ない高速なプロトコルを用いることが望ましい。   The first communication device 3 and the packet relay device 4 are connected through the network 1, and the second communication device 5 and the packet relay device 4 are connected through the network 2, and can communicate with each other. The first communication device 3 may be composed of a plurality of devices. The network 1 and the network 2 may be local lines such as a LAN, a wide-area wired communication line such as the Internet or a dedicated line, or a wide-area wireless communication line such as 3G. However, it is assumed that the network 2 has a line with a large communication delay, and it is desirable to use a high-speed protocol with a small delay such as UDP (User Datagram Protocol) as the communication protocol.

パケット中継装置4は、第一通信装置3から受信した複数のパケットを一つのパケットにまとめ(以降、1以上のパケット(多くは複数のパケット)が一つにまとめられたパケットを集約パケットとよぶ)、第二通信装置5に送信する機能を持つ。また、第二通信装置5から受信した集約パケットを個々のパケットに分割して、第一通信装置3に送信する機能を持つ。   The packet relay device 4 combines a plurality of packets received from the first communication device 3 into one packet (hereinafter, a packet in which one or more packets (mostly a plurality of packets) are combined into one is called an aggregate packet. ), And a function of transmitting to the second communication device 5. The aggregated packet received from the second communication device 5 has a function of dividing the aggregated packet into individual packets and transmitting the packet to the first communication device 3.

例えば、第一通信装置3は、パケット中継装置4に対して各種の検知信号(入力信号)等をパケットで送信し、パケット中継装置4からの応答信号(出力信号)をパケットで受信する。検知信号とは、制御対象デバイスが設置された環境に関する環境情報、制御対象デバイスの状態に関する状態情報、又は各種の記憶媒体から読み取られたリード情報である。例えば、環境情報は明るさや温度、湿度、気圧、天候などを示す情報や、緯度、経度、高度などの位置情報や、速度、加速度、圧力などの物理情報や、文字列、画像、映像、音声などの多次元の情報である。状態情報は制御対象デバイスの電源状態(例えばオン又はオフ)や電流値や電圧値、圧力値、動作の状態などを示す情報や、ビット値、バイト値などのデジタル情報である。応答信号とは、制御対象デバイスを動作させるための信号(例えば制御信号)であり、電源状態や電流値や電圧値、圧力値、動作の状態などを示す情報や、ビット値、バイト値などのデジタル情報である。また、検知信号と応答信号は、一定回数の検知信号と応答信号のやり取りを行い、制御対象デバイスを動作させるトランザクション処理としても良い。   For example, the first communication device 3 transmits various detection signals (input signals) and the like to the packet relay device 4 in packets, and receives response signals (output signals) from the packet relay device 4 in packets. The detection signal is environment information regarding the environment where the control target device is installed, state information regarding the state of the control target device, or read information read from various storage media. For example, environmental information includes information indicating brightness, temperature, humidity, atmospheric pressure, weather, etc., positional information such as latitude, longitude, altitude, physical information such as speed, acceleration, pressure, etc., character strings, images, video, audio It is multidimensional information such as. The state information is information indicating a power supply state (for example, ON or OFF) of the device to be controlled, a current value, a voltage value, a pressure value, an operation state, and the like, and digital information such as a bit value and a byte value. A response signal is a signal (for example, a control signal) for operating a device to be controlled, such as information indicating a power supply state, a current value, a voltage value, a pressure value, an operation state, a bit value, a byte value, etc. Digital information. Further, the detection signal and the response signal may be a transaction process for exchanging the detection signal and the response signal a predetermined number of times to operate the device to be controlled.

例えば、本実施形態のパケット中継システムを交通システムに適用する場合、制御対象デバイスは駅務機器となる。例えば、駅務機器は、自動改札機、自動精算機、及び自動券売機等である。制御対象デバイスが自動改札機の場合、検知信号は無線通信媒体(所謂、無線カード)から読み取られたリード情報等であり、応答信号は通行を制御するゲートの駆動信号等である。この場合のリード情報は、無線通信媒体のID、入場記録(入場駅及び入場日時)、出場記録(出場駅及び出場時刻)、及び金額情報のうちの少なくとも一つとなる。一般的に、自動改札機の場合、検知信号に対する応答信号の高速応答が要求される。また、制御対象デバイスが自動精算機の場合(且つ第二通信装置5側で精算処理を行うようなクラウド精算システムの場合)、検知信号は無線通信媒体から読み取られたリード情報であり、応答信号はリード情報から算出される不足金額情報等である。自動精算機において要求される応答信号の応答は、自動改札機において要求される応答信号の応答より遅くてもよい。なお、自動改札機及び自動精算機のそれぞれにおいて、応答信号の要求時間が異なる複数の処理を実行するケースも含まれる。交通システムにおいては、多数の自動改札機が設置され、これら多数の自動改札機のそれぞれから多数の検知信号が高頻度で送信され、多数の自動精算機が設置され、これら多数の自動精算機のそれぞれから多数の検知信号が送信される。本実施形態の伝送中継システムはこのような条件の交通システムにおいて通信処理の負荷を軽減することができる。   For example, when the packet relay system of this embodiment is applied to a traffic system, the device to be controlled is a station service device. For example, the station service equipment is an automatic ticket gate, an automatic checkout machine, and an automatic ticket vending machine. When the device to be controlled is an automatic ticket gate, the detection signal is read information read from a wireless communication medium (so-called wireless card), and the response signal is a drive signal for a gate that controls traffic. The lead information in this case is at least one of an ID of the wireless communication medium, an entry record (entrance station and entry date / time), an entry record (entrance station and entry time), and money amount information. In general, an automatic ticket gate requires a high-speed response of a response signal to a detection signal. When the device to be controlled is an automatic payment machine (and in the case of a cloud payment system in which payment processing is performed on the second communication device 5 side), the detection signal is read information read from the wireless communication medium, and a response signal Is shortage amount information calculated from the lead information. The response signal requested in the automatic checkout machine may be slower than the response signal requested in the automatic ticket gate. A case where a plurality of processes with different response signal request times is executed in each of the automatic ticket checker and the automatic checkout machine is also included. In the transportation system, a large number of automatic ticket gates are installed, a large number of detection signals are transmitted from each of the large number of automatic ticket gates, and a large number of automatic payment machines are installed. A large number of detection signals are transmitted from each. The transmission relay system of this embodiment can reduce the load of communication processing in a traffic system with such conditions.

なお、本実施形態の伝送中継システムは、上記説明した駅務システムへの適用に限定されるものではなく、防災システム、水処理システム等の様々な社会インフラシステム、及びビル制御等の様々な産業システムに適用することができる。また、制御対象デバイスは、例えば、プラント、防災システム、交通システム等の社会インフラシステムのハードウェア、ソフトウェアでも良いし、産業システム、家電、PC、情報端末等のハードウェア、ソフトウェアでも良い。   Note that the transmission relay system of the present embodiment is not limited to the application to the station service system described above, but various social infrastructure systems such as disaster prevention systems and water treatment systems, and various industries such as building control. Can be applied to the system. In addition, the control target device may be, for example, hardware or software of a social infrastructure system such as a plant, disaster prevention system, or transportation system, or may be hardware or software of an industrial system, home appliance, PC, information terminal, or the like.

なお、本実施形態の伝送中継システムの中継処理が適用されるケースは、例えば、第一通信装置3から送信された情報(例えば検知信号)が、パケット中継装置4を中継して、第二通信装置5へ送信され、第二通信装置5からの応答(応答信号)が、パケット中継装置4を中継して、第一通信装置3へ送信されるケース(以下、ケースC1)である。このようなケース以外に、例えば、第一通信装置3から送信された情報が、パケット中継装置4を中継して、第二通信装置5へ送信されるケース(以下、ケースC2)であってもよい。このようなケースとしては、検知信号をログとしてサーバへ蓄積するようなケースである。また、本実施形態の伝送中継システムの中継処理は、1台のデバイスにおいてケースC1とケースC2を異なるプログラムで実行するようなケース(以下、ケースC3)にも適用可能である。つまり、中継処理においてケースC1とC2が混在するようなケースC3にも適用可能である。   Note that the case where the relay processing of the transmission relay system according to the present embodiment is applied is, for example, that information (for example, a detection signal) transmitted from the first communication device 3 relays the packet relay device 4 to the second communication. In this case, the response (response signal) transmitted from the second communication device 5 to the device 5 is transmitted to the first communication device 3 through the packet relay device 4 (hereinafter referred to as case C1). In addition to such a case, for example, even when the information transmitted from the first communication device 3 is relayed through the packet relay device 4 and transmitted to the second communication device 5 (hereinafter referred to as case C2). Good. In such a case, the detection signal is stored in the server as a log. Further, the relay processing of the transmission relay system according to the present embodiment is also applicable to a case where the case C1 and the case C2 are executed by different programs in one device (hereinafter referred to as the case C3). That is, the present invention can also be applied to the case C3 in which the cases C1 and C2 are mixed in the relay process.

(実施形態1)
図2は、実施形態1に係るパケット中継装置4の内部構成の一例を示す図である。パケット中継装置4は、第一受信部10(受信部)、制御パケット生成部11、識別子登録部12、識別子付与部13、最大待機時間計算部14、集約用バッファ15、周期管理部16、結合部17、第一送信部18(送信部)、第二受信部19(受信部)、分割部20、識別子取得部21、識別子データベース22、第二送信部23(送信部)、及び識別子データベース22等を備える。なお、1以上のプロセッサー(処理部)により、制御パケット生成部11、識別子登録部12、識別子付与部13、最大待機時間計算部14、周期管理部16、結合部17、分割部20、識別子取得部21等の各機能を実現することができる。また、1以上の記憶部により、集約用バッファ15及び識別子データベース22を構成するようにしてもよい。
(Embodiment 1)
FIG. 2 is a diagram illustrating an example of an internal configuration of the packet relay device 4 according to the first embodiment. The packet relay device 4 includes a first receiving unit 10 (receiving unit), a control packet generating unit 11, an identifier registering unit 12, an identifier assigning unit 13, a maximum waiting time calculating unit 14, an aggregation buffer 15, a cycle managing unit 16, Unit 17, first transmission unit 18 (transmission unit), second reception unit 19 (reception unit), division unit 20, identifier acquisition unit 21, identifier database 22, second transmission unit 23 (transmission unit), and identifier database 22 Etc. The control packet generator 11, the identifier register 12, the identifier assigner 13, the maximum standby time calculator 14, the cycle manager 16, the combiner 17, the divider 20, and the identifier acquisition are performed by one or more processors (processors). Each function of the unit 21 and the like can be realized. Further, the aggregation buffer 15 and the identifier database 22 may be configured by one or more storage units.

第一受信部10は、第一通信装置3から受信した複数のパケットを集約して第二通信装置5に送信するため、第一通信装置3から複数のパケットを受信する。さらに第一受信部10は、受信パケットのデータに基づき、受信パケットを制御パケットか通常パケットかに識別する機能を持つ。第一受信部10は、制御パケットに識別された受信パケットを制御パケット生成部11へ送り、通常パケットに識別された受信パケットを識別子登録部12へ送る。ここでいう制御パケットとはアプリケーションがやり取りするメッセージ以外の、例えばネットワークの制御に関するメッセージ(制御情報)を含むパケットのことを指す。例えば、TCP/IPではコネクションの確立や切断に関するメッセージである。   The first receiving unit 10 receives a plurality of packets from the first communication device 3 in order to aggregate and transmit the plurality of packets received from the first communication device 3 to the second communication device 5. Further, the first receiving unit 10 has a function of identifying the received packet as a control packet or a normal packet based on the data of the received packet. The first receiving unit 10 sends the received packet identified as the control packet to the control packet generating unit 11 and sends the received packet identified as the normal packet to the identifier registering unit 12. The control packet here refers to a packet including a message (control information) related to network control, for example, other than a message exchanged by an application. For example, in TCP / IP, the message is related to connection establishment or disconnection.

制御パケット生成部11は、制御パケットに識別された受信パケットに含まれる制御情報を第二通信装置5に伝えるための制御パケットを生成する。つまり、制御パケット生成部11は、受信パケットから制御パケットを生成し、集約用バッファ15に登録する。   The control packet generator 11 generates a control packet for transmitting control information included in the received packet identified by the control packet to the second communication device 5. That is, the control packet generator 11 generates a control packet from the received packet and registers it in the aggregation buffer 15.

識別子登録部12は、受信パケットごとに異なる識別子(パケット識別情報)を生成して、IPアドレスなどの第一通信装置3の識別情報(装置識別情報)と共に識別子データベース22に登録する。つまり、識別子データベース22は、全ての受信パケット(通常パケットに識別された受信パケット及び制御パケットに識別された受信パケット)のパケット識別情報と第一通信装置3の識別情報とを含む登録情報を有し、この登録情報を参照すればどの受信パケットがどの第一通信装置から送信されてきたパケットなのかが判明する。識別子付与部13は、集約パケットに含まれる各パケット対して生成した識別子を付与する。この識別子はパケット毎に異なる識別子ではなく、通信セッション毎、もしくは第一通信装置3毎に異なるものとしても良い。なお、本パケット中継システムを駅務機器に適用するケースでは、駅識別情報又は改札機識別情報をパケット識別情報としてもよいし、パケット識別情報の一部としてもよい。   The identifier registration unit 12 generates a different identifier (packet identification information) for each received packet and registers it in the identifier database 22 together with the identification information (device identification information) of the first communication device 3 such as an IP address. That is, the identifier database 22 has registration information including packet identification information of all received packets (received packets identified as normal packets and received packets as control packets) and identification information of the first communication device 3. Then, by referring to the registration information, it can be determined which received packet is the packet transmitted from which first communication device. The identifier assigning unit 13 assigns an identifier generated for each packet included in the aggregate packet. This identifier is not an identifier that is different for each packet, but may be different for each communication session or each first communication device 3. In the case where the present packet relay system is applied to a station service device, the station identification information or the ticket gate identification information may be packet identification information or may be part of the packet identification information.

最大待機時間計算部14は、パケット送信まで許容可能な送信待機時間(以下、送信待機時間を最大待機時間の例で説明する)を計算してパケットと共に集約用バッファ15に登録する。周期管理部16は、集約パケットを生成するために、集約用バッファ15から定期的に最大待機時間(デッドライン)が迫っているパケット群を取り出す。結合部17は、周期管理部16から呼び出されて取り出したパケット群を一つのパケットに結合して集約パケットを生成する。例えば、結合部17は、集約パケットに含まれる最大パケット数及び集約パケットの最大サイズ(集約パケットに含まれる1以上のパケットの合計最大サイズ)等の少なくとも一つの条件に基づき、集約パケットを生成する。第一送信部18は、最大待機時間以内に第二通信装置5に集約パケットを送信する。   The maximum standby time calculation unit 14 calculates a transmission standby time that is allowable until packet transmission (hereinafter, the transmission standby time will be described as an example of the maximum standby time), and registers it in the aggregation buffer 15 together with the packets. In order to generate an aggregate packet, the period management unit 16 periodically extracts a packet group whose maximum waiting time (deadline) is approaching from the aggregation buffer 15. The combining unit 17 combines the packet group called out from the period management unit 16 and extracted into one packet to generate an aggregate packet. For example, the combining unit 17 generates an aggregate packet based on at least one condition such as the maximum number of packets included in the aggregate packet and the maximum size of the aggregate packet (total maximum size of one or more packets included in the aggregate packet). . The first transmission unit 18 transmits the aggregate packet to the second communication device 5 within the maximum standby time.

第二通信装置5は、第一通信装置3からの集約パケット(以下、受信集約パケット)を受信し、第一通信装置3に対して集約パケット(以下、返信集約パケット)を返信する。第二通信装置5は、受信集約パケットに含まれる識別子とパケットを取得し、パケットに含まれる情報(例えば検知信号)を処理して、処理結果(例えば制御信号)を取得し、処理結果を含むパケットを生成し、取得した識別子と生成したパケットを含む送信集約パケットを生成する。つまり、受信集約パケットと返信集約パケットの基本構成は同じで、且つ受信集約パケットに含まれる識別子とパケットの組と、返信集約パケットに含まれる識別子とパケットの組は対応する。   The second communication device 5 receives the aggregate packet (hereinafter referred to as a reception aggregate packet) from the first communication device 3 and returns an aggregate packet (hereinafter referred to as a reply aggregate packet) to the first communication device 3. The second communication device 5 acquires an identifier and a packet included in the received aggregate packet, processes information (for example, a detection signal) included in the packet, acquires a processing result (for example, a control signal), and includes the processing result A packet is generated, and a transmission aggregate packet including the acquired identifier and the generated packet is generated. That is, the basic configurations of the received aggregate packet and the reply aggregate packet are the same, and the identifier and packet pair included in the received aggregate packet correspond to the identifier and packet pair included in the reply aggregate packet.

第二受信部19は、第二通信装置5から集約パケットを受信して第一通信装置3に送信するために、第二通信装置5からパケットを受信する。分割部20は、集約パケットを個々のパケットに分割する。言い換えれば、分割部20は、集約パケットに含まれるパケットを取得する。識別子取得部21は、個々のパケットの識別子を用いて対応する第一通信装置3の識別情報を識別子データベース22から探す。第二送信部23は、第一通信装置3にパケットを送信する。   The second receiving unit 19 receives a packet from the second communication device 5 in order to receive the aggregate packet from the second communication device 5 and transmit it to the first communication device 3. The dividing unit 20 divides the aggregated packet into individual packets. In other words, the dividing unit 20 acquires a packet included in the aggregate packet. The identifier acquisition unit 21 searches the identifier database 22 for identification information of the corresponding first communication device 3 using the identifier of each packet. The second transmission unit 23 transmits the packet to the first communication device 3.

識別子登録部12と識別子付与部13の機能と目的について詳細を説明する。例えば、特段の処理を経ず、パケット中継装置4が、第一通信装置3から送信されるパケットを第二通信装置5へ中継すると、第二通信装置5は、中継されたパケットの送信元をパケット中継装置4と判定してしまう。すると第二通信装置5が返答パケットをパケット中継装置4に返した際に、パケット中継装置4はどの第一通信装置3に返答パケット(データ)を返せばよいか判定できない。そこで識別子登録部12が、第一通信装置3から受信した各パケットに対する識別子を生成し、生成した識別子と第一通信装置3との通信に必要な識別情報(IPアドレスやソケット・インタフェースのディスクリプタ情報など)とを含む登録情報を識別子データベース22に登録する。さらに、識別子付与部13が、第二通信装置5に送信される各パケット(集約パケットに含まれる各パケット)に、生成した識別子を付与する。   The functions and purposes of the identifier registration unit 12 and the identifier assignment unit 13 will be described in detail. For example, when the packet relay device 4 relays a packet transmitted from the first communication device 3 to the second communication device 5 without performing special processing, the second communication device 5 determines the transmission source of the relayed packet. The packet relay device 4 is determined. Then, when the second communication device 5 returns the response packet to the packet relay device 4, the packet relay device 4 cannot determine to which first communication device 3 the response packet (data) should be returned. Therefore, the identifier registration unit 12 generates an identifier for each packet received from the first communication device 3, and identification information (IP address and socket interface descriptor information necessary for communication between the generated identifier and the first communication device 3). And the like are registered in the identifier database 22. Furthermore, the identifier assigning unit 13 assigns the generated identifier to each packet (each packet included in the aggregate packet) transmitted to the second communication device 5.

第二通信装置5は、パケット中継装置4に集約パケットを返信するが、その集約パケットに含まれる各パケットには識別子が付与されている。識別子取得部21は、識別子データベース22に登録された登録情報を参照し、集約パケットに含まれる各パケットに付与された識別子に基づき、各パケットの送信元の第一通信装置3の識別情報を検索する。第二送信部23は、検索された第一通信装置3の識別情報に基づき、第二通信装置5から受信した集約パケットに含まれる各パケットを送信元の第一通信装置3へ転送することができる。また、この識別子をパケット単位、第一通信装置3とのセッション単位、第一通信装置3のIPアドレスとポート単位で割り振ることにより、各々どのパケット、セッション、IPアドレスとポートに対応するパケットの返答が第二通信装置5から来たかを判別することも可能となる。   The second communication device 5 returns the aggregated packet to the packet relay device 4, and an identifier is given to each packet included in the aggregated packet. The identifier acquisition unit 21 refers to the registration information registered in the identifier database 22 and searches for identification information of the first communication device 3 that is the transmission source of each packet, based on the identifier assigned to each packet included in the aggregated packet. To do. The second transmission unit 23 may transfer each packet included in the aggregated packet received from the second communication device 5 to the transmission source first communication device 3 based on the identified identification information of the first communication device 3. it can. Also, by allocating this identifier in units of packets, in units of sessions with the first communication device 3, and in units of IP addresses and ports of the first communication device 3, responses of packets corresponding to which packets, sessions, IP addresses and ports respectively. It is also possible to determine whether or not has come from the second communication device 5.

図3が実施形態1に係る識別子データベース22に登録される登録情報の一例である。この例では、登録情報は、パケット毎の識別子(パケット識別子0、1、2、3、4)と、対応する第一通信装置3のIPアドレスと返答送信先のポート番号を含む。例えば、第二通信装置5からの集約パケットに含まれたパケットにパケット識別子2が付与されている場合、第二送信部23はIPアドレス:192.168.0.11、ポート番号:10000を宛先としてパケットを送信する。   FIG. 3 is an example of registration information registered in the identifier database 22 according to the first embodiment. In this example, the registration information includes an identifier for each packet (packet identifiers 0, 1, 2, 3, 4), a corresponding IP address of the first communication device 3, and a response transmission destination port number. For example, when the packet identifier 2 is given to the packet included in the aggregate packet from the second communication device 5, the second transmission unit 23 has the IP address: 192.168.0.11 and the port number: 10000 as the destination. Send the packet as

例えば、最大待機時間計算部14は、パケット送信までの最大待機時間を決定する。最大待機時間計算部14が最大待機時間を計算するにあたり、例えば固定時間を最大待機時間としても良いし、第一通信装置3からパケット毎の最大待機時間情報を受け取ってその情報を最大待機時間としても良い。また複数の通信からなるトランザクション単位での最大送信時間が定められている場合には、各パケット受信時にそのトランザクションの最大送信時間から経過時間を減じ、残りの通信回数で除算した時間を最大待機時間としても良い。例えば、1トランザクションについて10回のパケット送信が必要で190msと最大送信待機時間が定められている場合に、既に3回の通信が終わっていて、現在までの経過時間が50msとすると、(190−50)/(10−3)=20msが4回目のパケット送信での最大待機時間となる。また最大通信時間が与えられた場合には、第二通信装置5との通信に必要な時間(通信所要時間)を計測しておき、最大通信時間から通信所要時間を減じて最大待機時間を求めるといった方法も考えられる。従来技術では個々のパケットもしくはトランザクションごとに通信時間を制御することは困難であったが、本実施形態のパケット中継装置4の構成により、この課題を解決することができ、効率的にネットワーク帯域を利用できる。   For example, the maximum standby time calculation unit 14 determines the maximum standby time until packet transmission. When the maximum standby time calculation unit 14 calculates the maximum standby time, for example, a fixed time may be set as the maximum standby time, or the maximum standby time information for each packet is received from the first communication device 3 and the information is set as the maximum standby time. Also good. If the maximum transmission time for each transaction consisting of multiple communications is specified, the maximum waiting time is calculated by subtracting the elapsed time from the maximum transmission time of the transaction when each packet is received and dividing by the remaining number of communications. It is also good. For example, when 10 packet transmissions are required for one transaction and the maximum transmission standby time is set to 190 ms, if three communications have already been completed and the elapsed time up to now is 50 ms, (190− 50) / (10-3) = 20 ms is the maximum waiting time for the fourth packet transmission. If the maximum communication time is given, the time required for communication with the second communication device 5 (communication time) is measured, and the maximum standby time is obtained by subtracting the communication time from the maximum communication time. Such a method is also conceivable. In the prior art, it was difficult to control the communication time for each individual packet or transaction. However, the configuration of the packet relay device 4 according to the present embodiment can solve this problem and efficiently reduce the network bandwidth. Available.

第一受信部10は、受信パケットを通常パケットと制御パケットとに分類し、通常パケットの場合には識別子登録部12を、制御パケットの場合には制御パケット生成部11を呼び出す機能を持つ。制御パケット生成部11は、制御パケットの情報に応じて第二通信装置5に制御情報を伝えるための制御情報を含むパケットを生成する。例えば第一通信装置3とパケット中継装置4間はTCP/IP、パケット中継装置4と第二通信装置5の間はUDP/IPのように各々違うプロトコルを利用する場合には、パケットの中継によりTCP/IP固有の制御情報が失われてしまう。本実施形態によれば、パケット中継装置4が制御パケットにより制御情報を伝えるので、第二通信装置5側でも制御情報を得ることができる。例えばこの制御情報としてはTCP/IPの場合にはコネクションの確立要求や切断要求などがある。第二通信装置5側で通信には実際にはUDP/IPを利用しつつも、第二通信装置5上で動作するアプリケーションに対しては、TCP/IPの振る舞いをエミュレーションするような場合には本機能が役立つ。   The first receiving unit 10 has a function of classifying received packets into normal packets and control packets and calling the identifier registering unit 12 in the case of normal packets and the control packet generating unit 11 in the case of control packets. The control packet generator 11 generates a packet including control information for transmitting control information to the second communication device 5 according to the information of the control packet. For example, when different protocols such as TCP / IP are used between the first communication device 3 and the packet relay device 4 and UDP / IP is used between the packet relay device 4 and the second communication device 5, the packet is relayed. TCP / IP-specific control information is lost. According to the present embodiment, since the packet relay device 4 transmits control information by the control packet, the control information can be obtained also on the second communication device 5 side. For example, the control information includes a connection establishment request and a disconnection request in the case of TCP / IP. For applications that run on the second communication device 5 while emulating TCP / IP behavior while actually using UDP / IP for communication on the second communication device 5 side This function is useful.

なお、本実施形態では、通常パケット及び制御パケットを含む集約パケット(場合によっては通常パケットだけを含む集約パケット及び制御パケットだけを含む集約パケット)を送信するケースについて説明するが、予め制御情報の送信条件を定め、制御情報の送信条件に基づき制御情報を送信するようにしてもよい。制御情報の送信条件は、通常パケットに対する最大待機時間から独立した情報とする。これにより、例えば、制御パケットを集約パケットに含めずに(制御パケットを集約せずに)送信することもできる。周期管理部16の管理の下、結合部17により集約パケットが生成されるが、集約パケットと独立して制御パケットを送信する場合、より早いタイミングで制御パケットを第二通信装置5へ送信することができる。或いは、制御情報の送信条件において、制御パケットに対する最大送信待機時間を通常パケットに対する最大待機時間より短く設定することにより、制御パケットに対する最大送信待機時間(制御情報の送信条件)に基づき集約パケット(制御情報専用の集約パケットでもよいし通常パケットと制御パケットの混在が可能な集約パケットでもよい)を生成し、より早いタイミングで制御パケットを集約パケットで第二通信装置5へ送信することができる。   In this embodiment, a case of transmitting an aggregate packet including a normal packet and a control packet (in some cases, an aggregate packet including only a normal packet and an aggregate packet including only a control packet) will be described. Conditions may be defined and control information may be transmitted based on control information transmission conditions. The transmission condition of the control information is information independent from the maximum waiting time for the normal packet. Thereby, for example, the control packet can be transmitted without being included in the aggregate packet (without the control packet being aggregated). An aggregation packet is generated by the combining unit 17 under the management of the cycle management unit 16. When a control packet is transmitted independently of the aggregation packet, the control packet is transmitted to the second communication device 5 at an earlier timing. Can do. Alternatively, by setting the maximum transmission waiting time for the control packet to be shorter than the maximum waiting time for the normal packet in the control information transmission condition, the aggregate packet (control information) is controlled based on the maximum transmission waiting time (control information transmission condition) for the control packet. It is possible to generate an aggregate packet dedicated to information or an aggregate packet in which a normal packet and a control packet can be mixed) and transmit the control packet to the second communication device 5 as an aggregate packet at an earlier timing.

周期管理部16は、定期的に集約用バッファ15に登録されたパケットを取り出すが、例えば周期管理部16が一定時間ごとに呼び出される場合には次の呼び出し時には最大待機時間を超えてしまうパケットをすべて取り出す方法を用いればよい。例えば、第一タイミングで送信される第一集約パケット、及び第一タイミングの次の第二タイミングに送信される第二集約パケットを仮定する。図4に示す例では現在の時間(第一集約パケットの生成及び送信)がt=10(第一タイミング)で、次回のパケット集約(第二集約パケットの生成及び送信)がt=20(第二タイミング)に行われる場合には、t=20までに最大待機時間を迎えるパケット1とパケット2を取り出し集約パケット(第二集約パケット)を生成し送信する。これにより最大待機時間(パケット1とパケット2の最大待機時間)を超えることなく、パケットの集約と送信が可能になる。なお、周期管理部16は、集約パケットの集約パケットに含まれる最大パケット数及び集約パケットの最大サイズ等の条件を満たす場合には、次の呼び出し時には最大待機時間を超えないパケット3も取り出す(可能な限り待機しているパケットを取り出す)ようにしてもよい(実施形態2で詳細は説明する)。また制御パケットについては一般に送受信の優先度が高いため、最大送信待機時間(通常パケット用の最大送信待機時間)に依らず、無条件で取り出し集約パケットに含めるようにしても良いし、制御パケット用の最大送信待機時間を設け、この制御パケット用の最大送信待機時間に基づき制御パケットを取り出して集約パケットに含めるようにしても良いし、集約パケットに含めずに制御パケットを送信するようにしてもよい。   The cycle management unit 16 periodically takes out the packets registered in the aggregation buffer 15. For example, when the cycle management unit 16 is called at regular intervals, a packet that exceeds the maximum waiting time at the next call is displayed. A method of extracting all of them may be used. For example, a first aggregate packet transmitted at the first timing and a second aggregate packet transmitted at the second timing next to the first timing are assumed. In the example shown in FIG. 4, the current time (generation and transmission of the first aggregated packet) is t = 10 (first timing), and the next packet aggregation (generation and transmission of the second aggregated packet) is t = 20 (first 2), packet 1 and packet 2 that reach the maximum waiting time by t = 20 are extracted, and an aggregate packet (second aggregate packet) is generated and transmitted. As a result, packets can be aggregated and transmitted without exceeding the maximum standby time (maximum standby time of packet 1 and packet 2). Note that when the conditions such as the maximum number of packets included in the aggregate packet and the maximum size of the aggregate packet are satisfied, the cycle management unit 16 also extracts the packet 3 that does not exceed the maximum waiting time at the next call (possible It is also possible to take out as many packets as possible) (details will be described in the second embodiment). Since control packets generally have high transmission / reception priority, they may be taken out unconditionally and included in aggregated packets regardless of the maximum transmission waiting time (maximum transmission waiting time for normal packets) or for control packets. And a control packet may be taken out based on the maximum transmission waiting time for the control packet and included in the aggregate packet, or the control packet may be transmitted without being included in the aggregate packet. Good.

結合部17は、周期管理部16が取り出したパケット群をまとめて集約パケットを生成する。例えば、結合部17は、集約パケットの集約パケットに含まれる最大パケット数及び集約パケットの最大サイズ等の条件に基づき、周期管理部16が取り出したパケット群から、1又は複数の集約パケットを生成する。結合部17が生成する集約パケットのフレーム構成の例を図5に示す。図5の例では、パケットの種別、すなわち通常のパケットか制御情報を伝えるためのパケットかの情報、通常パケットの場合にはパケット識別子とパケット本体、制御情報の場合にもパケット識別子とパケット本体(制御の内容を示す情報)が含まれる。また、ヘッダとしては集約したパケットの数やパケット毎のサイズ、エラー検出のためのハッシュ値、改ざん検出のためのMAC(Message Authentication Code)値を付与しても良い。ハッシュ値やMAC値の計算にはSHA1、CMAC、HMACなどの一般によく知られた方式を用いればよい。   The combining unit 17 collects the packet group extracted by the cycle management unit 16 and generates an aggregate packet. For example, the combining unit 17 generates one or a plurality of aggregate packets from the packet group extracted by the period management unit 16 based on conditions such as the maximum number of packets included in the aggregate packet of the aggregate packet and the maximum size of the aggregate packet. . An example of the frame structure of the aggregate packet generated by the combining unit 17 is shown in FIG. In the example of FIG. 5, the type of packet, that is, information indicating whether it is a normal packet or a packet for transmitting control information, in the case of a normal packet, the packet identifier and packet body, and in the case of control information, the packet identifier and packet body Information indicating the content of the control). Further, as the header, the number of aggregated packets, the size of each packet, a hash value for error detection, and a MAC (Message Authentication Code) value for alteration detection may be added. A generally well-known method such as SHA1, CMAC, or HMAC may be used for calculation of the hash value or the MAC value.

図6〜8に実施形態1に係るパケット中継処理の一例をフローチャートで示す。図6は第一通信装置3からパケットを受信した際の処理の一例を示すフローチャート、図7は定期的に実行されるパケット集約の処理の一例を示すフローチャート、図8は第二通信装置5からパケットを受信した際の処理の一例を示すフローチャートである。   FIGS. 6 to 8 are flowcharts showing an example of packet relay processing according to the first embodiment. 6 is a flowchart showing an example of processing when a packet is received from the first communication device 3, FIG. 7 is a flowchart showing an example of packet aggregation processing that is periodically executed, and FIG. It is a flowchart which shows an example of the process at the time of receiving a packet.

まず、図6に示される第一通信装置3からパケットを受信した際の処理の一例について説明する。第一受信部10が第一通信装置3からパケットを受信する(ステップ100)と、第一受信部10は受信パケットが制御パケットか通常パケットかを判定する(ステップ101)。制御パケットの場合(ステップ101:Yes)には、制御パケット生成部11は制御情報を含む制御パケットを生成して(ステップ102)、集約用バッファ15に登録する(ステップ103)。一方で通常のパケットの場合(ステップ101:No)には、識別子登録部12はパケット毎などに識別子を生成して、第一通信装置3のIPアドレスなどの識別子情報とともに識別子データベース22に登録する(ステップ104)。この際に通信セッション毎に識別子を割り振る場合には(既に当該通信セッションに識別子が割り当てられている場合には)、新規に識別子を生成せずに既に割り当てられているものを利用する。さらに識別子付与部13は、パケットに識別子情報を付与する(ステップ105)。続いて最大待機時間計算部14は既に説明した方法などにより最大待機時間を取得して(ステップ106)、識別子付与済みのパケットと共に、集約用バッファ15に登録する(ステップ107)。なお、通常パケットと同様に、制御パケットについても、パケット毎に識別子を生成し付与するようにしてもよい。   First, an example of processing when a packet is received from the first communication device 3 illustrated in FIG. 6 will be described. When the first receiving unit 10 receives a packet from the first communication device 3 (step 100), the first receiving unit 10 determines whether the received packet is a control packet or a normal packet (step 101). In the case of a control packet (step 101: Yes), the control packet generator 11 generates a control packet including control information (step 102) and registers it in the aggregation buffer 15 (step 103). On the other hand, in the case of a normal packet (step 101: No), the identifier registration unit 12 generates an identifier for each packet and registers it in the identifier database 22 together with identifier information such as the IP address of the first communication device 3. (Step 104). At this time, when an identifier is assigned for each communication session (when an identifier is already assigned to the communication session), an already assigned identifier is used without generating a new identifier. Further, the identifier assigning unit 13 assigns identifier information to the packet (step 105). Subsequently, the maximum standby time calculation unit 14 acquires the maximum standby time by the method described above (step 106), and registers it in the aggregation buffer 15 together with the packet to which the identifier has been assigned (step 107). Similar to the normal packet, an identifier may be generated and attached to each control packet.

続いて図7に示されるパケット集約の処理の一例について説明する。周期管理部16は所定時間が経過したけどうかを判定し(ステップ110)、経過していなければ(ステップ110:No)、ステップ110に戻る。所定時間が経過していれば(ステップ110:Yes)、集約用バッファ15に未処理の送信待ちパケットがあるかどうかを判定して、存在しない場合には(ステップ111:No)、第一送信部18は第二通信装置5に集約パケットを送信する(ステップ112)。このとき第一送信部18は1つもパケットが集約されなかった場合には、何もせず完了しても良い。一方、集約用バッファ15に未処理の送信待ちパケットがある場合には(ステップ111:Yes)、パケットが制御パケットかどうかを判断して制御パケットの場合(ステップ113:Yes)には、ステップ115に進む。一方制御パケットでない場合(ステップ113:No)には、そのパケットが次回の集約実行時に最大待機時間を超えるかどうかを判定し、超えない場合(ステップ114:No)にはステップ111に戻り、当該パケットは集約を行わずに次のパケットの処理に移る。一方で、最大待機時間を超える場合(ステップ114:Yes)、結合部17は集約パケットにパケットを追加するとともに、集約パケットのヘッダ情報を更新する(ステップ115)。なお、周期管理部16は、集約パケットの集約パケットに含まれる最大パケット数及び集約パケットの最大サイズ等の条件を満たす場合には、次の呼び出し時には最大待機時間を超えないパケットも取り出し(可能な限り待機しているパケットを取り出し)、結合部17が、集約パケットに取り出されたパケットを追加するようにしてもよい(実施形態2で詳細は説明する)。   Next, an example of packet aggregation processing shown in FIG. 7 will be described. The cycle management unit 16 determines whether or not the predetermined time has passed (step 110), and if not (step 110: No), returns to step 110. If the predetermined time has passed (step 110: Yes), it is determined whether or not there is an unprocessed transmission waiting packet in the aggregation buffer 15, and if there is no packet (step 111: No), the first transmission is performed. The unit 18 transmits the aggregate packet to the second communication device 5 (step 112). At this time, if no packet is aggregated, the first transmitter 18 may complete without doing anything. On the other hand, when there is an unprocessed transmission waiting packet in the aggregation buffer 15 (step 111: Yes), it is determined whether the packet is a control packet. If the packet is a control packet (step 113: Yes), step 115 is performed. Proceed to On the other hand, if it is not a control packet (step 113: No), it is determined whether or not the packet exceeds the maximum waiting time at the next aggregation execution. If not (step 114: No), the process returns to step 111, and The packet is not aggregated, and the process proceeds to the next packet. On the other hand, when the maximum waiting time is exceeded (step 114: Yes), the combining unit 17 adds the packet to the aggregate packet and updates the header information of the aggregate packet (step 115). Note that when the conditions such as the maximum number of packets included in the aggregated packet and the maximum size of the aggregated packet are satisfied, the cycle management unit 16 takes out a packet that does not exceed the maximum waiting time at the next call (possible As long as the waiting packet is taken out), the combining unit 17 may add the extracted packet to the aggregated packet (details will be described in the second embodiment).

最後に図8の第二通信装置5からの集約パケット受信時の処理の一例について説明する。第二受信部19が第二通信装置5から集約パケットを受信する(ステップ120)と、分割部20は集約パケットに含まれる複数パケットを個々のパケットに分割する(ステップ121)。分割部20は個々のパケットについて、未処理のパケットが存在するかどうかを判定してすべてのパケットの処理が終わった場合(ステップ122:No)には、処理を終了する(ステップ123)。一方で未処理のパケットが存在する場合(ステップ122:Yes)には、識別子取得部21を呼び出す。識別子取得部21は、識別子データベース22に基づき、パケットに含まれるパケットの識別子情報から、対応する第一通信装置3の識別情報を検索して取得する(ステップ124)。さらに、第二送信部23は取得した識別情報に対応する第一通信装置3にパケットを送信し(ステップ125)、次のパケットの処理するためにステップ122に戻る。   Finally, an example of processing at the time of receiving an aggregate packet from the second communication device 5 in FIG. 8 will be described. When the second receiving unit 19 receives the aggregated packet from the second communication device 5 (step 120), the dividing unit 20 divides the plurality of packets included in the aggregated packet into individual packets (step 121). The dividing unit 20 determines whether or not there is an unprocessed packet for each packet, and when the processing of all the packets is completed (step 122: No), the processing ends (step 123). On the other hand, when there is an unprocessed packet (step 122: Yes), the identifier acquisition unit 21 is called. Based on the identifier database 22, the identifier acquisition unit 21 searches and acquires the identification information of the corresponding first communication device 3 from the identifier information of the packet included in the packet (step 124). Further, the second transmission unit 23 transmits a packet to the first communication device 3 corresponding to the acquired identification information (step 125), and returns to step 122 to process the next packet.

本実施形態によればパケット毎、トランザクションごとの時間制約に応じて柔軟なパケットの集約が可能となる。その際にパケット中継装置4と第一通信装置3間、パケット中継装置4と第二通信装置5間で通信プロトコルが異なる構成であっても、パケット中継装置4と第一通信装置3間の通信プロトコル固有の情報を失わずに通信を行うことができる。これにより、第二通信装置5上で動くアプリケーションに対しては、パケット中継装置4と第一通信装置3間で用いるプロトコルであたかも通信を行っているように見せかけることも可能である。また第二通信装置5側では、第一通信装置3のアドレス等の識別情報を解らずとも、パケット中継装置4からの集約パケットに含まれるパケット識別子情報を含めてパケット中継装置4に返答を返すことにより、パケットの出元である第一通信装置3に返答を返すことができ、パケット中継の存在を意識する必要がない。   According to the present embodiment, flexible packet aggregation can be performed according to time constraints for each packet and for each transaction. At this time, even if the communication protocol is different between the packet relay device 4 and the first communication device 3 and between the packet relay device 4 and the second communication device 5, communication between the packet relay device 4 and the first communication device 3 is possible. Communication can be performed without losing protocol-specific information. As a result, it is possible to make an application running on the second communication device 5 appear as if it is communicating with the protocol used between the packet relay device 4 and the first communication device 3. On the second communication device 5 side, the reply including the packet identifier information included in the aggregated packet from the packet relay device 4 is returned to the packet relay device 4 without understanding the identification information such as the address of the first communication device 3. As a result, a reply can be returned to the first communication device 3 that is the source of the packet, and there is no need to be aware of the existence of the packet relay.

(実施形態2)
例えば、最大送信待機時間が迫るまでパケットを集約しないようにしてもよいが、例えば特定の時刻に最大送信待機時間が集中する場合、集約パケットのサイズが極端に大きくなり、ネットワークの輻輳を発生させる可能性がある。これはネットワーク通信時間が極端に長くなる可能性があるため、実施形態2では、ネットワークの輻輳を防ぐ構成の詳細について説明する。
(Embodiment 2)
For example, packets may not be aggregated until the maximum transmission waiting time approaches, but for example when the maximum transmission waiting time is concentrated at a specific time, the size of the aggregated packet becomes extremely large, causing network congestion. there is a possibility. Since this may cause the network communication time to become extremely long, the details of the configuration for preventing network congestion will be described in the second embodiment.

図9は、実施形態2に係るパケット中継装置4の内部構成の一例を示す図である。図9に示す実施形態2に係るパケット中継装置4と、図2に示す実施形態1に係るパケット中継装置4とで、実質的に同一の構成には同一の符号を付し、実質的に同一処理についての説明は適宜省略する。   FIG. 9 is a diagram illustrating an example of an internal configuration of the packet relay device 4 according to the second embodiment. In the packet relay device 4 according to the second embodiment illustrated in FIG. 9 and the packet relay device 4 according to the first embodiment illustrated in FIG. 2, substantially the same components are denoted by the same reference numerals, and substantially the same. A description of the processing is omitted as appropriate.

図9に示すように、実施形態2に係るパケット中継装置4は、輻輳制御部31を備える。さらに結合部17は、実施形態1で説明した機能に加えて、輻輳制御部31と周期管理部16が取り出したパケットを結合する機能をさらに有する。実施形態1で説明したように、1以上のプロセッサー(処理部)により、輻輳制御部31を含む各部の各機能を実現することができる。   As illustrated in FIG. 9, the packet relay device 4 according to the second embodiment includes a congestion control unit 31. Further, the combining unit 17 further has a function of combining the packets taken out by the congestion control unit 31 and the cycle management unit 16 in addition to the functions described in the first embodiment. As described in the first exemplary embodiment, each function of each unit including the congestion control unit 31 can be realized by one or more processors (processing units).

輻輳制御部31は、周期管理部16が取り出したパケットの数が一定数(最大パケット数)を満たさない、もしくはパケットサイズが一定サイズ(合計最大サイズ)を満たさない場合には、集約用バッファ15から次回の集約時に最大待機時間を超えないパケットであっても取り出す機能を有する。集約用バッファ15からパケットを取り出す際には、最大待機時間を参照して最大待機時間までの時間が短いパケットから順に取り出しても良いし、パケットに優先度情報が付与されている場合には優先度の高いパケットから順に取り出しても良い。さらに低優先度のパケット送信が遅れるのを防止するため、優先度ごとに取り出すパケット数の上限を決めておき、その数を上限に最大待機時間までの時間が短いパケットから順にパケットを取り出す機能を持たせても良い。また取り出すパケット数やサイズの上限は、輻輳制御部31がネットワークの負荷状況を観測して動的に変更しても良い。結合部17は輻輳制御部31と周期管理部16の両方が取り出したパケットをすべて結合して集約パケットを生成する。   If the number of packets taken out by the period management unit 16 does not satisfy a certain number (maximum number of packets) or the packet size does not satisfy a certain size (total maximum size), the congestion control unit 31 The packet has a function to extract even a packet that does not exceed the maximum waiting time at the next aggregation. When taking out the packets from the aggregation buffer 15, the packets may be taken out in order from the shortest time until the maximum waiting time with reference to the maximum waiting time, or priority is given when priority information is given to the packets. You may extract in order from a packet with a high degree. Furthermore, in order to prevent delays in low-priority packet transmission, the upper limit of the number of packets to be extracted for each priority is determined, and the function to extract packets in order from the packet with the shortest time until the maximum waiting time is set to the upper limit You may have it. Moreover, the congestion control unit 31 may dynamically change the upper limit of the number of packets to be extracted and the size by observing the load state of the network. The combining unit 17 combines all the packets extracted by both the congestion control unit 31 and the cycle management unit 16 to generate an aggregate packet.

図10は実施形態に係るパケット中継装置4におけるパケット集約の処理の一例を図示したものである。第一通信装置3からのパケット受信時、第二通信装置5からのパケット受信時の処理は実施形態1と同等である。周期管理部16は所定時間が経過したかどうかを判定し(ステップ200)、経過していなければ(ステップ200:No)、ステップ200に戻る。所定時間が経過していれば(ステップ200:Yes)、集約用バッファ15に未処理の送信待ちパケットがあるかどうかを判定して、ある場合には(ステップ201:Yes)、パケットが制御パケットかどうかを判断して制御パケットの場合(ステップ202:Yes)には、ステップ204に進む。一方、制御パケットでない場合(ステップ202:No)には、そのパケットが次回の集約実行時に最大待機時間を超えるかどうかを判定し、超えない場合(ステップ203:No)にはステップ201に戻り、当該パケットは集約を行わずに次のパケットの処理に移る。一方で、最大待機時間を超える場合(ステップ203:Yes)、結合部17は集約パケットにパケットを追加するとともに、集約パケットのヘッダ情報を更新する(ステップ204)。一方で未処理のパケットが存在しない場合には(ステップ201:No)、輻輳制御部は既に集約されたパケットのサイズもしくは数が一定値以下かどうかを判定する。一定値以下でない場合には(ステップ205:No)、第一送信部18は第二通信装置5に集約パケットを送信する(ステップ206)。一方で一定値以下の場合には、集約用バッファ15に未送信のパケットがあるかどうかを判定し、未送信のパケットがない場合(ステップ207:No)には第一送信部18は第二通信装置5に集約パケットを送信する(ステップ206)。一方、未送信のパケットがある場合(ステップ207:Yes)にはそのパケットを集約するかどうかを判定する。このアルゴリズムは先述のように、最大待機時間までの残り待機時間で未送信パケットをソートして残り待機時間の長さで判断しても良いし、優先度情報から判断しても良いし、優先度情報と最大待機時間までの残り待機時間の両方を考慮して選んでも良い。パケットを集約すると判断した場合(ステップ210)には、結合部17は集約パケットに取り出したパケットを結合して、ヘッダをアップデートし(ステップ210)、次のパケットを処理するためにステップ205に戻る。   FIG. 10 illustrates an example of packet aggregation processing in the packet relay device 4 according to the embodiment. The processing at the time of receiving a packet from the first communication device 3 and at the time of receiving a packet from the second communication device 5 is the same as in the first embodiment. The cycle management unit 16 determines whether or not a predetermined time has elapsed (step 200), and if not (step 200: No), returns to step 200. If the predetermined time has elapsed (step 200: Yes), it is determined whether there is an unprocessed transmission waiting packet in the aggregation buffer 15, and if there is (step 201: Yes), the packet is a control packet. If it is a control packet (step 202: Yes), the process proceeds to step 204. On the other hand, if it is not a control packet (step 202: No), it is determined whether or not the packet exceeds the maximum waiting time at the next aggregation execution. If not (step 203: No), the process returns to step 201. The packet is not aggregated and proceeds to processing of the next packet. On the other hand, when the maximum waiting time is exceeded (step 203: Yes), the combining unit 17 adds a packet to the aggregate packet and updates the header information of the aggregate packet (step 204). On the other hand, when there is no unprocessed packet (step 201: No), the congestion control unit determines whether the size or number of already aggregated packets is equal to or less than a certain value. If it is not less than the predetermined value (step 205: No), the first transmitter 18 transmits the aggregated packet to the second communication device 5 (step 206). On the other hand, if it is below a certain value, it is determined whether there is an untransmitted packet in the aggregation buffer 15, and if there is no untransmitted packet (step 207: No), the first transmitter 18 The aggregated packet is transmitted to the communication device 5 (step 206). On the other hand, when there is an untransmitted packet (step 207: Yes), it is determined whether or not to aggregate the packets. As described above, this algorithm may sort the unsent packets by the remaining waiting time up to the maximum waiting time and judge by the length of the remaining waiting time, or may judge from the priority information or priority. It may be selected considering both the degree information and the remaining waiting time up to the maximum waiting time. If it is determined that the packets are to be aggregated (step 210), the combining unit 17 combines the extracted packets into the aggregated packet, updates the header (step 210), and returns to step 205 to process the next packet. .

パケットの集約はパケットの細分化による性能低下を防ぐことが可能である一方、1パケットのサイズが大きくなり、他者を含むネットワークの利用状況によってはネットワークの輻輳を起こしやすくすることがある。実施形態2の構成によれば最大待機時間までに余裕がある場合でも、最大待機時間までの残り待機時間、パケットの優先度、及びネットワークの負荷状況の少なくとも一つに応じて前もってパケットを送ることができ、ネットワークの輻輳を防ぐことが可能となる。本構成は通信のリアルタイム性を向上させるために有用である。   While packet aggregation can prevent performance degradation due to packet fragmentation, the size of one packet becomes large, and network congestion may easily occur depending on the network usage situation including others. According to the configuration of the second embodiment, even when there is a margin until the maximum waiting time, the packet is sent in advance according to at least one of the remaining waiting time until the maximum waiting time, the priority of the packet, and the network load status. Network congestion can be prevented. This configuration is useful for improving real-time communication.

(実施形態3)
実施形態1及び2では、最大待機時間は各パケット毎の送信待機時間、もしくはトランザクションごとの合計送信時間から求めていた。一方で時間制約は、第一通信装置3でのパケット送信開始から第二通信装置5での処理を経て、第一通信装置3が返答を受信するまでの時間、もしくは複数の通信からなるトランザクション処理の場合には最初の送信から、最後の受信までの時間として定められることも多い。このような時間制約が与えられた場合には、高精度な最大待機時間を求めることが難しい。実施形態3の構成によれば、第二通信装置5での処理時間や第二通信装置5までの通信時間を考慮して最大待機時間を決めることが可能となり、送信から受信完了までの時間を時間制約として与えることができるようになる。また、返答時間が予測できることで、第二通信装置5からの返答がない際に適切なタイミングでエラーを返したり、再送したりといったことが可能となる。
(Embodiment 3)
In the first and second embodiments, the maximum standby time is obtained from the transmission standby time for each packet or the total transmission time for each transaction. On the other hand, the time constraint is the time from the start of packet transmission at the first communication device 3 through the processing at the second communication device 5 until the first communication device 3 receives a response, or transaction processing consisting of a plurality of communications. In this case, it is often determined as the time from the first transmission to the last reception. When such a time constraint is given, it is difficult to obtain a highly accurate maximum standby time. According to the configuration of the third embodiment, it is possible to determine the maximum standby time in consideration of the processing time in the second communication device 5 and the communication time to the second communication device 5, and the time from transmission to reception completion can be determined. It can be given as a time constraint. Further, since the response time can be predicted, an error can be returned or retransmitted at an appropriate timing when there is no response from the second communication device 5.

図11は実施形態3に係るパケット中継装置4の内部構成の一例を示す図である。図11に示す実施形態3に係るパケット中継装置4と、図9に示す実施形態2に係るパケット中継装置4とで、実質的に同一の構成には同一の符号を付し、実質的に同一処理についての説明は適宜省略する。   FIG. 11 is a diagram illustrating an example of an internal configuration of the packet relay device 4 according to the third embodiment. In the packet relay device 4 according to the third embodiment illustrated in FIG. 11 and the packet relay device 4 according to the second embodiment illustrated in FIG. 9, substantially the same components are denoted by the same reference numerals and substantially the same. A description of the processing is omitted as appropriate.

図11に示すように、パケット中継装置4は、応答時間予測部41、再要求部42、エラー生成部43、及び最大待機時間計算部44を備える。応答時間予測部41は、第二通信装置5への送信から第二通信装置5からの返答受信までに要する時間を予測する。再要求部42は、第二通信装置5に要求の再送信を行う。エラー生成部43は、第二通信装置5から一定時間以内に返答がない場合に、第一通信装置3に返すエラー情報を生成する。最大待機時間計算部44は、最大応答時間から応答時間予測部が予想した予測応答時間を引いて最大待機時間を計算する機能を有する。実施形態1、2で説明したように、1以上のプロセッサー(処理部)により、応答時間予測部41、再要求部42、エラー生成部43、及び最大待機時間計算部44を含む各部の各機能を実現することができる。   As illustrated in FIG. 11, the packet relay device 4 includes a response time prediction unit 41, a re-request unit 42, an error generation unit 43, and a maximum standby time calculation unit 44. The response time prediction unit 41 predicts the time required from the transmission to the second communication device 5 to the reception of a response from the second communication device 5. The re-request unit 42 resends the request to the second communication device 5. The error generation unit 43 generates error information to be returned to the first communication device 3 when there is no response from the second communication device 5 within a certain time. The maximum standby time calculation unit 44 has a function of calculating the maximum standby time by subtracting the predicted response time predicted by the response time prediction unit from the maximum response time. As described in the first and second embodiments, each function of each unit including the response time prediction unit 41, the re-request unit 42, the error generation unit 43, and the maximum standby time calculation unit 44 is performed by one or more processors (processing units). Can be realized.

応答時間予測部41は、第二通信装置5への送信から第二通信装置5からの返答受信までに要する時間を予測する。処理時間の予測方法として、処理内容が固定の場合にはあらかじめ応答時間予測部41に処理時間を設定しておいても良いし、実際にかかった処理時間を実測してもよい。入力データ等により処理内容が変動し、処理時間も変わる場合にはあらかじめ最悪実行時間を計測しておき、応答時間予測部41に設定しておく方法が考えられる。また、入力データやネットワーク状況から応答時間を予測するテーブルもしくは予測式を用意しておき、それを利用して応答時間を予測しても良い。   The response time prediction unit 41 predicts the time required from the transmission to the second communication device 5 to the reception of a response from the second communication device 5. As a method for predicting the processing time, when the processing content is fixed, the processing time may be set in the response time prediction unit 41 in advance, or the actual processing time may be actually measured. If the processing contents vary depending on input data or the like and the processing time also changes, a method in which the worst execution time is measured in advance and set in the response time prediction unit 41 can be considered. Alternatively, a table or prediction formula for predicting response time from input data or network status may be prepared and the response time predicted using that table.

最大待機時間計算部44は、最大応答時間から応答時間予測部41が予想した予測応答時間を引いて最大待機時間を計算する。第一通信装置3での1回のパケット送信から返答受信までの時間制約が30msと与えられ、応答時間予測部41により第二通信装置5との通信時間を含む処理時間が20msと予測された場合には、10msが最大待機時間となる。さらに第一通信装置3とパケット中継装置間4の遅延を考慮する場合には、さらに通信時間を最大待機時間から減じても良い。例えば往復で2msの通信時間がかかる場合には8msが最大待機時間となる。   The maximum standby time calculation unit 44 calculates the maximum standby time by subtracting the predicted response time predicted by the response time prediction unit 41 from the maximum response time. The time restriction from the first packet transmission in the first communication device 3 to the reception of the response is given as 30 ms, and the response time prediction unit 41 predicts the processing time including the communication time with the second communication device 5 as 20 ms. In this case, 10 ms is the maximum waiting time. Further, when considering the delay between the first communication device 3 and the packet relay device 4, the communication time may be further reduced from the maximum standby time. For example, when a communication time of 2 ms is required for a round trip, 8 ms is the maximum standby time.

またトランザクション単位で時間制約が与えられた場合には、残りのトランザクションに必要な時間を計算して、最大応答時間から減算し、さらに経過時間を減じたものを残りの通信回数で割っても良い。例えば、最大応答時間が200msで既に30msが経過しており、残りのトランザクションに必要な時間が50ms、残り通信回数が6回の場合、(200−30−50)/6=20msが最大待機時間となる。   In addition, when time constraints are given on a transaction basis, the time required for the remaining transaction may be calculated, subtracted from the maximum response time, and further subtracted from the elapsed time may be divided by the remaining number of communications. . For example, if the maximum response time is 200 ms and 30 ms has already passed, the time required for the remaining transaction is 50 ms, and the remaining number of communications is 6, the maximum waiting time is (200-30-50) / 6 = 20 ms. It becomes.

再要求部42は、一定時間内に第二通信装置5から返答が来ない場合に、第一送信部18を介して再度第二通信装置5に対して要求を送信する機能を有する。この送信タイミングとしては、例えば最大待機時間より前にパケットを送信している場合には、最大待機時間(デッドライン)になった際に要求を送信すればよい。これにより時間制約を守ることができる。またリアルタイム制約が緩い場合には、予測応答時間を超えても返答がない場合に要求を再送信する方式、予測応答時間の一定割合を超えても返答がない場合に要求を再送信する方式なども考えられる。要求の再送信先は、最初のリクエストを送った第二通信装置5でも良いし、最初のリクエストを送った第二通信装置5が異常状態にあることを想定して別の第二通信装置5(第三通信装置と呼ぶ)としても良い。また、再要求を1回だけ送っても良いし、複数回送っても良い。なお再要求部42が再要求を送る要求を決定するにあたり、複数の要求を並列に送信する場合、すなわち第二通信装置5への要求を送信し、送信先の第二通信装置5からの返答を待たずに次の要求を第二通信装置5に投げる場合には、第二通信装置5からの返答があった際にどの要求に対する返答かを識別し、また、返答がない要求を識別する。実施形態1で示したように、第二通信装置5へのパケット送信時に識別子登録部12によりパケット毎に識別子を付与することができる。第二通信装置5からの返答時にはその識別子がパケットに付与されているので、どの識別子に対する返答があり、どの識別子に対する返答がないのか判断することができる。   The re-requesting unit 42 has a function of transmitting a request to the second communication device 5 again via the first transmission unit 18 when no response is received from the second communication device 5 within a predetermined time. As the transmission timing, for example, when a packet is transmitted before the maximum standby time, the request may be transmitted when the maximum standby time (deadline) is reached. As a result, time constraints can be observed. Also, if the real-time constraints are loose, a method that resends the request if there is no response even if the predicted response time is exceeded, a method that resends the request if there is no response even if a certain percentage of the predicted response time is exceeded, etc. Is also possible. The request retransmission destination may be the second communication device 5 that sent the first request, or another second communication device 5 assuming that the second communication device 5 that sent the first request is in an abnormal state. (Referred to as a third communication device). Further, the re-request may be sent only once or may be sent a plurality of times. When the re-request unit 42 determines a request to send a re-request, when a plurality of requests are transmitted in parallel, that is, a request to the second communication device 5 is transmitted, and a response from the second communication device 5 as a transmission destination When the next request is thrown to the second communication device 5 without waiting, the request to which the response is made when there is a response from the second communication device 5 is identified, and the request with no response is identified. . As shown in the first embodiment, an identifier can be assigned to each packet by the identifier registration unit 12 at the time of packet transmission to the second communication device 5. Since the identifier is given to the packet at the time of a response from the second communication device 5, it is possible to determine which identifier has a response and which identifier has no response.

エラー生成部43は、第二通信装置5から一定時間以内に返答がない場合に、第一通信装置3に返すエラー情報を生成する。エラー生成部43は生成したエラー情報を第二送信部23を介して第一通信装置3に送信する。エラー生成のタイミングとしては、例えば最大待機時間になった際にエラーを生成すればよい。また、再要求部42が再要求を送ってから予測応答時間を経過してもまだ返答がない場合にエラーを生成しても良い。返答未受信のパケットの判断には、再要求部42の説明で述べたとおり、パケットの識別子を用いることができる。   The error generation unit 43 generates error information to be returned to the first communication device 3 when there is no response from the second communication device 5 within a certain time. The error generation unit 43 transmits the generated error information to the first communication device 3 via the second transmission unit 23. As an error generation timing, for example, an error may be generated when the maximum standby time is reached. Further, an error may be generated when there is no response yet after the predicted response time has elapsed since the re-request unit 42 sent the re-request. As described in the description of the re-request unit 42, the packet identifier can be used to determine the packet that has not received a response.

図12は、実施形態3に係るパケット中継装置4の再要求部42とエラー生成部43の処理の一例を示すフローチャートである。第一通信装置3からのパケット受信時、パケット集約時、第二通信装置5からのパケット受信時の処理は実施形態1及び2と同等である。   FIG. 12 is a flowchart illustrating an example of processing of the re-request unit 42 and the error generation unit 43 of the packet relay device 4 according to the third embodiment. The processing at the time of receiving a packet from the first communication device 3, at the time of packet aggregation, and at the time of receiving a packet from the second communication device 5 is the same as in the first and second embodiments.

エラー生成部43は、周期的に返答未受信のパケットがあるかどうかを確認する。返答未受信のパケットがない場合(ステップ300:No)には周期処理を終了する。返答未受信のパケットが存在する場合(ステップ300:Yes)には、エラー生成部43は返答未受信の各パケットについて、パケット送信からの経過時間が第一規定時間を超えているかどうかを判定する。この方法としては例えば上記で述べたように予測応答時間を用いれば良い。第一規定時間を超えている場合(ステップ301:Yes)には、エラー生成部43はエラー情報を生成してパケットの送信元である第一通信装置3にエラーを返す(ステップ304)。一方、第一規定時間を超えていない場合には再要求部42はパケット送信からの経過時間が第二規定時間を超えているかどうかを判定する。この時間としては上記で述べたようにデッドライン等の情報を用いればよい。第二規定時間を超えている場合(ステップ302:Yes)には、再要求部42は第一送信部18を介して再度要求を第二通信装置5に送信する。一方、第二規定時間を超えていない場合には周期処理を終了する。   The error generation unit 43 periodically checks whether there are unanswered packets. If there is no reply unreceived packet (step 300: No), the periodic process is terminated. When there is an unreceived packet (step 300: Yes), the error generation unit 43 determines whether the elapsed time from packet transmission exceeds the first specified time for each packet that has not been received. . As this method, for example, the predicted response time may be used as described above. If the first specified time has been exceeded (step 301: Yes), the error generation unit 43 generates error information and returns an error to the first communication device 3 that is the packet transmission source (step 304). On the other hand, when the first specified time has not been exceeded, the re-requesting unit 42 determines whether or not the elapsed time since the packet transmission has exceeded the second specified time. As this time, information such as a deadline may be used as described above. When the second specified time is exceeded (step 302: Yes), the re-requesting unit 42 transmits the request again to the second communication device 5 via the first transmitting unit 18. On the other hand, if the second specified time has not been exceeded, the periodic process is terminated.

また、実施形態1における図6のステップ106では第一通信装置3からのパケット受信時に、最大送信時間などの情報を用いて最大待機時間を計算していた。実施形態3のステップ106ではこの計算アルゴリズムとして上記で述べたように最大応答時間と予測応答時間を用いて計算を行う。具体的には最大待機時間計算部44が最大応答時間から応答時間予測部41が予想した予測応答時間を引いて最大待機時間を計算する。他の処理の流れは図6のステップと同様である。   In step 106 of FIG. 6 in the first embodiment, the maximum standby time is calculated using information such as the maximum transmission time when a packet is received from the first communication device 3. In step 106 of the third embodiment, the calculation is performed using the maximum response time and the predicted response time as described above as the calculation algorithm. Specifically, the maximum standby time calculation unit 44 calculates the maximum standby time by subtracting the predicted response time predicted by the response time prediction unit 41 from the maximum response time. The other processing flow is the same as the steps in FIG.

実施形態3によれば、第二通信装置5での処理時間や第二通信装置5までの通信時間を考慮して最大待機時間を決めることが可能となり、送信から受信完了までの時間を時間制約として与えることができ、トランザクション全体でのリアルタイム制御が容易になる。また、返答時間が予測できることで、第一通信装置3からの返答がない際に適切なタイミングでエラーを返したり、再送したりといったことも可能となる。   According to the third embodiment, it is possible to determine the maximum standby time in consideration of the processing time in the second communication device 5 and the communication time to the second communication device 5, and the time from transmission to reception completion is time-constrained. Real-time control over the entire transaction becomes easy. In addition, since the response time can be predicted, an error can be returned or retransmitted at an appropriate timing when there is no response from the first communication device 3.

以上、実施形態1、2、3によれば、パケット単位もしくはトランザクション単位で時間制約が存在する場合にもサーバ装置、クライアント装置に手を加えることなく、時間制約を満たすことができるようになる。   As described above, according to the first, second, and third embodiments, even when there is a time constraint in packet units or transaction units, the time constraint can be satisfied without modifying the server device and the client device.

なお、上記した実施形態1、2、3に係るパケット中継システムにおける処理はいくつかのソフトウェアによって実行することが可能である。このため、上記処理の手順を実行するいくつかのプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこれらプログラムをパケット中継装置4へインストールして実行するだけで、上記処理を容易に実現することができる。例えば、パケット中継装置4は、上記プログラムをネットワーク経由でダウンロードし、ダウンロードしたプログラムを記憶し、プログラムのインストールを完了することができる。或いは、パケット中継装置4は、上記プログラムを情報記憶媒体から読み取り、読み取ったプログラムを記憶し、プログラムのインストールを完了することができる。   The processing in the packet relay system according to the first, second, and third embodiments described above can be executed by some software. For this reason, the above-described processing can be easily realized only by installing and executing these programs on the packet relay device 4 through a computer-readable storage medium storing several programs for executing the above-described processing procedures. . For example, the packet relay device 4 can download the program via the network, store the downloaded program, and complete the installation of the program. Alternatively, the packet relay device 4 can read the program from the information storage medium, store the read program, and complete the installation of the program.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.

1…ネットワーク
2…ネットワーク
3…第一通信装置
4…パケット中継装置
5…第二通信装置
10…第一受信部
11…制御パケット生成部
12…識別子登録部
13…識別子付与部
14…最大待機時間計算部
15…集約用バッファ
16…周期管理部
17…結合部
18…第一送信部
19…第二受信部
20…分割部
20…パケット分割部
21…識別子取得部
22…識別子データベース
23…第二送信部
31…輻輳制御部
41…応答時間予測部
42…再要求部
43…エラー生成部
44…最大待機時間計算部
DESCRIPTION OF SYMBOLS 1 ... Network 2 ... Network 3 ... 1st communication apparatus 4 ... Packet relay apparatus 5 ... 2nd communication apparatus 10 ... 1st receiving part 11 ... Control packet generation part 12 ... Identifier registration part 13 ... Identifier assignment part 14 ... Maximum waiting time Calculation unit 15 ... aggregation buffer 16 ... period management unit 17 ... combination unit 18 ... first transmission unit 19 ... second reception unit 20 ... division unit 20 ... packet division unit 21 ... identifier acquisition unit 22 ... identifier database 23 ... second Transmission unit 31 ... congestion control unit 41 ... response time prediction unit 42 ... re-request unit 43 ... error generation unit 44 ... maximum standby time calculation unit

Claims (15)

第一通信装置から複数のパケットを受信する受信部と、
各パケットの送信待機時間に基づき1以上のパケットを含む集約パケットを生成する処理部と、
前記送信待機時間以内に第二通信装置に対して前記集約パケットを送信する送信部と、
を備える中継装置。
A receiving unit for receiving a plurality of packets from the first communication device;
A processing unit that generates an aggregate packet including one or more packets based on a transmission waiting time of each packet;
A transmission unit that transmits the aggregated packet to the second communication device within the transmission waiting time;
A relay device comprising:
前記受信部は、前記第二通信装置から前記集約パケットを受信し、
前記処理部は、前記集約パケットに含まれる1以上のパケットを取得し、
前記送信部は、前記第一通信装置に対して取得された1以上のパケットを送信する、
請求項1の中継装置。
The receiving unit receives the aggregate packet from the second communication device,
The processing unit acquires one or more packets included in the aggregate packet,
The transmitter transmits one or more packets acquired to the first communication device;
The relay apparatus according to claim 1.
前記処理部は、複数のパケットの送受信からなるトランザクション単位での時間制約情報から各パケットの前記送信待機時間を取得する請求項1又は2の中継装置。   The relay apparatus according to claim 1, wherein the processing unit acquires the transmission waiting time of each packet from time constraint information in units of transactions including transmission / reception of a plurality of packets. 前記処理部は、前記第一通信装置の装置識別情報と各パケットのパケット識別情報とを含む登録情報を登録し、前記パケット識別情報が付与された1以上のパケットを含む前記集約パケットを生成し、
前記送信部は、前記第二通信装置から受信された前記集約パケットから取得された1以上のパケットに付与された前記パケット識別情報と前記登録情報とに基づき、前記第一通信装置に対して前記集約パケットから取得された1以上のパケットを送信する、
請求項1乃至3の何れか一つの中継装置。
The processing unit registers registration information including device identification information of the first communication device and packet identification information of each packet, and generates the aggregate packet including one or more packets to which the packet identification information is added. ,
The transmission unit, based on the packet identification information and the registration information attached to one or more packets acquired from the aggregate packet received from the second communication device, to the first communication device Send one or more packets obtained from the aggregate packet,
The relay device according to claim 1.
前記受信部は、複数の第一通信装置から複数のパケットを受信し、
前記集約パケットは、前記複数の第一通信装置から複数のパケットを含み、
前記送信部は、前記パケット識別情報と前記登録情報とに基づき、前記複数の第一通信装置に対して前記集約パケットから取得された1以上のパケットを送信する、
請求項4の中継装置。
The receiving unit receives a plurality of packets from a plurality of first communication devices,
The aggregate packet includes a plurality of packets from the plurality of first communication devices,
The transmission unit transmits one or more packets acquired from the aggregate packet to the plurality of first communication devices based on the packet identification information and the registration information.
The relay device according to claim 4.
前記受信部は、前記第一通信装置から制御情報を受信し、
前記処理部は、前記制御情報の送信条件に基づき前記制御情報に対応する制御パケットを含む前記集約パケットを生成する請求項1乃至5の何れか一つの中継装置。
The receiving unit receives control information from the first communication device;
6. The relay device according to claim 1, wherein the processing unit generates the aggregate packet including a control packet corresponding to the control information based on a transmission condition of the control information.
前記処理部は、一定周期で、各パケットの送信待機時間と最大パケット数又は最大サイズの条件とに基づき、前記集約パケットを生成する請求項1乃至6の何れか一つの中継装置。   The relay device according to any one of claims 1 to 6, wherein the processing unit generates the aggregate packet based on a transmission waiting time of each packet and a condition of a maximum number of packets or a maximum size at a constant period. 前記処理部は、各パケットの優先度に基づき、前記集約パケットを生成する請求項1乃至7の何れか一つの中継装置。   The relay device according to claim 1, wherein the processing unit generates the aggregate packet based on a priority of each packet. 前記処理部は、第一タイミングで送信される第一集約パケット、及び前記第一タイミングの次の第二タイミングに送信される第二集約パケットを生成し、
前記第一集約パケットは、前記第二タイミングにおいて前記送信待機時間を超過するパケットを含む、
請求項1乃至8の何れか一つの中継装置。
The processing unit generates a first aggregate packet transmitted at a first timing, and a second aggregate packet transmitted at a second timing next to the first timing,
The first aggregate packet includes a packet that exceeds the transmission waiting time at the second timing.
The relay device according to claim 1.
前記処理部は、前記第二通信装置へ前記集約パケットを送信してから前記集約パケットを受信するまでの応答時間と各パケットの時間制約情報から前記送信待機時間を取得する請求項1乃至9の何れか一つの中継装置。   10. The processing unit according to claim 1, wherein the processing unit obtains the transmission standby time from a response time from transmission of the aggregate packet to the second communication device until reception of the aggregate packet and time constraint information of each packet. Any one relay device. 前記送信部は、前記応答時間以内に前記集約パケットを受信しない場合に、前記第一通信装置へエラーを送信する請求項10の中継装置。   The relay device according to claim 10, wherein the transmission unit transmits an error to the first communication device when the aggregate packet is not received within the response time. 前記送信部は、前記応答時間以内に前記集約パケットを受信しない場合に、前記第二通信装置又は第三通信装置へ前記集約パケットを再送信する請求項10又は11の中継装置。   The relay device according to claim 10 or 11, wherein the transmission unit retransmits the aggregate packet to the second communication device or the third communication device when the aggregate packet is not received within the response time. 第一通信装置から複数のパケットを受信する第二通信装置と、
前記第一通信装置から複数のパケットを受信し、各パケットの送信待機時間に基づき1以上のパケットを含む集約パケットを生成し、前記送信待機時間以内に前記第二通信装置に対して前記集約パケットを送信する中継装置と、
を備える中継システム。
A second communication device for receiving a plurality of packets from the first communication device;
Receiving a plurality of packets from the first communication device, generating an aggregate packet including one or more packets based on a transmission standby time of each packet, and transmitting the aggregate packet to the second communication device within the transmission standby time A relay device for transmitting
A relay system comprising:
第一通信装置から複数のパケットを受信する手順と、
各パケットの送信待機時間に基づき1以上のパケットを含む集約パケットを生成する手順と、
前記送信待機時間以内に第二通信装置に対して前記集約パケットを送信する手順と、
をコンピュータに実行させる中継プログラム。
Receiving a plurality of packets from the first communication device;
Generating an aggregate packet including one or more packets based on the transmission waiting time of each packet;
Transmitting the aggregated packet to the second communication device within the transmission waiting time;
A relay program that causes a computer to execute
第一通信装置から複数のパケットを受信し、
各パケットの送信待機時間に基づき1以上のパケットを含む集約パケットを生成し、
前記送信待機時間以内に第二通信装置に対して前記集約パケットを送信する中継方法。
Receiving a plurality of packets from the first communication device;
Generate an aggregate packet containing one or more packets based on the transmission waiting time of each packet,
A relay method for transmitting the aggregated packet to a second communication device within the transmission waiting time.
JP2016179570A 2016-09-14 2016-09-14 Relay device, relay system, relay program, and relay method Active JP6851754B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016179570A JP6851754B2 (en) 2016-09-14 2016-09-14 Relay device, relay system, relay program, and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016179570A JP6851754B2 (en) 2016-09-14 2016-09-14 Relay device, relay system, relay program, and relay method

Publications (2)

Publication Number Publication Date
JP2018046404A true JP2018046404A (en) 2018-03-22
JP6851754B2 JP6851754B2 (en) 2021-03-31

Family

ID=61693239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016179570A Active JP6851754B2 (en) 2016-09-14 2016-09-14 Relay device, relay system, relay program, and relay method

Country Status (1)

Country Link
JP (1) JP6851754B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019213004A (en) * 2018-06-01 2019-12-12 富士ゼロックス株式会社 Data relay device and program
JP2020017118A (en) * 2018-07-26 2020-01-30 株式会社東芝 Broker device, client device, communication system, communication method, and program
JP7569192B2 (en) 2020-10-07 2024-10-17 Jr東日本メカトロニクス株式会社 Information processing device, information processing method, program, and information processing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019213004A (en) * 2018-06-01 2019-12-12 富士ゼロックス株式会社 Data relay device and program
JP7102952B2 (en) 2018-06-01 2022-07-20 富士フイルムビジネスイノベーション株式会社 Data relay device and program
JP2020017118A (en) * 2018-07-26 2020-01-30 株式会社東芝 Broker device, client device, communication system, communication method, and program
JP7163093B2 (en) 2018-07-26 2022-10-31 株式会社東芝 Broker device, communication system, communication method, and program
JP7569192B2 (en) 2020-10-07 2024-10-17 Jr東日本メカトロニクス株式会社 Information processing device, information processing method, program, and information processing system

Also Published As

Publication number Publication date
JP6851754B2 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
CN113411313B (en) Data transmission method, device and system
US10355997B2 (en) System and method for improving TCP performance in virtualized environments
CN109412946B (en) Method, device, server and readable storage medium for determining back source path
JP2018528679A (en) Device and method for establishing a connection in a load balancing system
CN111769998A (en) Method and device for detecting network delay state
CN103795632A (en) Data message transmission method, related equipment and system
CN106464596A (en) Openflow communication method, system, controller, and service gateway
US20150288609A1 (en) Deadline-aware network protocol
JP6851754B2 (en) Relay device, relay system, relay program, and relay method
WO2023221452A1 (en) Packet processing system and method, device, and storage medium
CN112242956A (en) Flow rate control method and device
CN103368872A (en) Data packet forwarding system and method
US11444882B2 (en) Methods for dynamically controlling transmission control protocol push functionality and devices thereof
US8819107B2 (en) Relay apparatus, recording medium storing a relay program, and a relay method
CN112204934A (en) Communication device, communication method, and communication program
US20160261719A1 (en) Information processing system, control program, and control method
US12132791B2 (en) Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks
CN111240867A (en) Information communication system and method
CN115442183B (en) Data forwarding method and device
WO2017041569A1 (en) Service data transmission method and device
JP2018148555A (en) Relay device, transmission processing system, transmission processing program, and transmission processing method
CN118714085A (en) Flow transmission control method, apparatus, medium, electronic device, and program product
CN114145000A (en) Efficient heartbeat mechanism for cloud applications
CN118476202A (en) Method for managing retransmission of data exchanged on a path established between a first communication device and a second communication device by means of values of intermediate performance parameters

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170904

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210310

R150 Certificate of patent or registration of utility model

Ref document number: 6851754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150