JP7174248B2 - Communication device, communication control method and program - Google Patents

Communication device, communication control method and program Download PDF

Info

Publication number
JP7174248B2
JP7174248B2 JP2019043650A JP2019043650A JP7174248B2 JP 7174248 B2 JP7174248 B2 JP 7174248B2 JP 2019043650 A JP2019043650 A JP 2019043650A JP 2019043650 A JP2019043650 A JP 2019043650A JP 7174248 B2 JP7174248 B2 JP 7174248B2
Authority
JP
Japan
Prior art keywords
data
communication device
divided data
packet
unreceived
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.)
Active
Application number
JP2019043650A
Other languages
Japanese (ja)
Other versions
JP2020150300A (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 JP2019043650A priority Critical patent/JP7174248B2/en
Publication of JP2020150300A publication Critical patent/JP2020150300A/en
Application granted granted Critical
Publication of JP7174248B2 publication Critical patent/JP7174248B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Description

本発明は、通信装置、通信制御方法およびプログラムに関する。 The present invention relates to a communication device, communication control method and program.

クライアント/サーバのネットワーク通信を中継する通信装置を備えたシステムでは、通信装置が故障した場合、データロス(パケットロス)が発生する。データロスが発生すると、例えば、アプリケーションタイムアウトやコネクションの切断等が発生して通信サービスに支障が生じる。 In a system provided with a communication device that relays network communication between clients and servers, data loss (packet loss) occurs when the communication device fails. When data loss occurs, for example, application timeout, connection disconnection, and the like occur, causing problems in communication services.

そのため、通信装置が故障した場合にも通信サービスに支障が生じないように、通信装置を冗長構成にしてネットワーク通信を再開することが行われている。
従来の冗長構成による通信技術としては、例えば、待機系サーバ計算機とクライアント端末とが協調し、予め相互に電文を保持することにより待機系サーバ計算機とクライアント端末間での状態を整合する技術が提案されている。
Therefore, in order to prevent the communication service from being hindered even if the communication device fails, the network communication is restarted by configuring the communication device in a redundant configuration.
As a communication technology based on a conventional redundant configuration, for example, a technology has been proposed in which the standby server computer and the client terminal cooperate with each other, and the state of the standby server computer and the client terminal is coordinated by mutually holding messages in advance. It is

また、冗長システムの障害発生時、現用系装置アドレスとは異なるアドレスを持つ装置を有効化して現用系装置アドレスと同一のアドレスを持つ装置を無効化するメッセージを、現用系および待機系の装置に送信する技術が提案されている。 Also, when a failure occurs in the redundant system, a message is sent to the active and standby systems to enable the device with an address different from the active system device address and disable the device with the same address as the active system device address. Techniques for transmitting have been proposed.

特開2003-337717号公報Japanese Patent Application Laid-Open No. 2003-337717 特開2015-22387号公報JP 2015-22387 A

ネットワーク通信を中継する通信装置は、現用系と待機系が配置されることによって冗長化される。現用系の通信装置は、クライアント端末からのデータを対向装置へ送信し、対向装置は、送信されたデータを受信してプロトコルを終端した後に宛先のサーバへ送信する。 A communication device that relays network communication is made redundant by arranging an active system and a standby system. The active communication device transmits data from the client terminal to the counterpart device, and the counterpart device receives the transmitted data, terminates the protocol, and then transmits the data to the destination server.

このとき、現用系の通信装置が故障等により動作が停止すると、現用系から待機系に切り替わり、待機系から新たに現用系になった通信装置と対向装置との間で通信が再開される。 At this time, if the active communication device stops operating due to a failure or the like, the active system is switched to the standby system, and communication is restarted between the communication device that has newly become the active system from the standby system and the opposite device.

しかし、従来のシステムでは、系切替えが行われる前に対向装置側で未受信データがあった場合、待機系から新たに現用系になった通信装置は、対向装置がどのデータを未受信なのか認識することが困難である。未受信データの再送が行われないと通信機能が再開しても通信品質が劣化することになり耐障害性の低下につながる。 However, in the conventional system, if there is unreceived data on the opposite device side before system switching, the communication device that has newly become the active system from the standby system will not know which data the opposite device has not received. difficult to recognize. If the unreceived data is not resent, the communication quality will be degraded even if the communication function is restarted, leading to a decrease in fault tolerance.

1つの側面では、本発明は、耐障害性の向上を図った通信装置、通信制御方法およびプログラムを提供することを目的とする。 In one aspect, an object of the present invention is to provide a communication device, a communication control method, and a program for improving fault tolerance.

上記課題を解決するために、通信装置が提供される。通信装置は、記憶部と制御部を有する。記憶部は、受信したデータを格納する。制御部は、第1の現用系として機能する場合、データを分割して分割データを生成し、分割データそれぞれにヘッダを付与してプロトコル変換を行って複数のパケットを生成し、生成したパケットを対向装置へ送信し、待機系として機能する場合、第1の現用系の動作監視を行い、第1の現用系の停止を検出した場合は、第2の現用系に切り替わったことを対向装置へ通知し、対向装置から送信された未受信検出情報にもとづいて記憶部に格納しているデータから未受信パケットに含まれる未受信分割データを抽出し、抽出した未受信分割データを対向装置へ送信する。 A communication device is provided to solve the above problems. A communication device has a storage unit and a control unit. The storage unit stores the received data. When functioning as the first active system, the control unit divides data to generate divided data, adds a header to each of the divided data, performs protocol conversion to generate a plurality of packets, and converts the generated packets to When it is sent to the opposite device and functions as a standby system, the operation of the first active system is monitored, and when the stop of the first active system is detected, the switch to the second active system is notified to the opposite device. and extracts the unreceived divided data contained in the unreceived packet from the data stored in the storage unit based on the unreceived detection information transmitted from the counterpart device, and transmits the extracted unreceived divided data to the counterpart device. do.

また、上記課題を解決するために、コンピュータが上記通信装置の制御を実行する通信制御方法が提供される。
さらに、上記課題を解決するために、コンピュータに上記通信装置の制御を実行させるプログラムが提供される。
Also, in order to solve the above problems, there is provided a communication control method in which a computer controls the above communication device.
Furthermore, in order to solve the above problems, there is provided a program that causes a computer to control the communication device.

1側面によれば、耐障害性の向上を図ることが可能になる。 According to one aspect, it is possible to improve fault tolerance.

通信装置を説明するための図である。It is a figure for demonstrating a communication apparatus. 通信システムの構成の一例を示す図である。It is a figure which shows an example of a structure of a communication system. 通信装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a communication apparatus. 通信装置の機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of a communication apparatus. 新規コネクション受付時の動作の一例を示す図である。FIG. 10 illustrates an example of operations when accepting a new connection; クライアント端末からの送信データを受信した場合の動作の一例を示す図である。FIG. 10 is a diagram illustrating an example of operations when data transmitted from a client terminal is received; プロトコル変換によるヘッダ付与の一例を示す図である。FIG. 10 is a diagram illustrating an example of header addition by protocol conversion; プロトコル変換の一例を時系列で示す図である。FIG. 4 is a diagram showing an example of protocol conversion in chronological order; 対向装置からデータが宛先へ送信される場合の動作一例を示す図である。FIG. 10 is a diagram illustrating an example of an operation when data is transmitted from a counterpart device to a destination; 現用系の通信装置の故障が検知されたときの動作の一例を示す図である。FIG. 4 is a diagram illustrating an example of an operation when a failure of an active communication device is detected; 待機系の通信装置が現用系に切り替わった後の動作の一例を示す図である。FIG. 10 is a diagram illustrating an example of an operation after a standby communication device is switched to an active communication device; 新規コネクション受付時の動作シーケンスの一例を示す図である。FIG. 10 illustrates an example of an operation sequence when accepting a new connection; クライアント端末からの送信データの受信およびプロトコル変換の動作シーケンスの一例を示す図である。FIG. 4 is a diagram showing an example of an operation sequence for receiving transmission data from a client terminal and protocol conversion; 対向装置からデータが宛先へ送信される場合の動作シーケンスの一例を示す図である。FIG. 10 is a diagram showing an example of an operation sequence when data is transmitted from a counterpart device to a destination; 現用系の通信装置の故障が検知されたときの動作シーケンスの一例を示す図である。FIG. 10 is a diagram showing an example of an operation sequence when a failure of an active communication device is detected;

以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は通信装置を説明するための図である。通信装置1は、制御部1aおよび記憶部1bを備え、例えば、クライアント/サーバのネットワーク通信の中継伝送を行う。
Hereinafter, this embodiment will be described with reference to the drawings.
[First embodiment]
FIG. 1 is a diagram for explaining a communication device. The communication device 1 includes a control unit 1a and a storage unit 1b, and performs, for example, relay transmission of client/server network communication.

記憶部1bは、受信したデータを少なくとも格納する。制御部1aは、第1の現用系として機能する場合、データを分割して分割データを生成し、分割データそれぞれにヘッダを付与してプロトコル変換を行って複数のパケットを生成し、生成したパケットを対向装置へ送信する。 The storage unit 1b stores at least received data. When functioning as the first active system, the control unit 1a divides data to generate divided data, adds a header to each of the divided data, performs protocol conversion to generate a plurality of packets, and generates a plurality of packets. to the opposite device.

また、制御部1aは、対向装置として機能する場合、受信したパケットを終端して分割データを宛先へ送信し、ヘッダにもとづいて未受信パケットの検出処理を行う。制御部1aは、未受信パケットを検出すると未受信検出情報を生成する。 Further, when functioning as a counterpart device, the control unit 1a terminates the received packet, transmits the divided data to the destination, and detects an unreceived packet based on the header. The control unit 1a generates non-receipt detection information when detecting a non-received packet.

さらに、制御部1aは、待機系として機能する場合、第1の現用系の動作監視を行い、第1の現用系の停止を検出した場合は、待機系から第2の現用系に切り替わり、第2の現用系に切り替わったことを対向装置へ通知する。 Furthermore, when the control unit 1a functions as a standby system, the control unit 1a monitors the operation of the first active system. It notifies the opposite device that it has been switched to the working system of No. 2.

そして、制御部1aは、第2の現用系として機能する場合、対向装置から送信された未受信検出情報にもとづいて記憶部1bに格納しているデータから未受信パケットに含まれる未受信分割データを抽出し、抽出した未受信分割データを対向装置へ送信する。 When functioning as the second active system, the control unit 1a extracts the unreceived divided data contained in the unreceived packet from the data stored in the storage unit 1b based on the unreceived detection information transmitted from the opposite device. is extracted, and the extracted unreceived divided data is transmitted to the opposite device.

図1に示す例を用いて動作について説明する。通信システムCs1は、通信装置1-1、1-2、1-3、クライアント端末2およびサーバ3を備える。
クライアント端末2は、通信装置1-1、1-2に接続される。通信装置1-1、1-2は互いに接続され、通信装置1-3は、通信装置1-1、1-2に接続される。サーバ3は、通信装置1-3に接続される。
The operation will be described using the example shown in FIG. The communication system Cs1 comprises communication devices 1-1, 1-2, 1-3, a client terminal 2 and a server 3. FIG.
A client terminal 2 is connected to communication devices 1-1 and 1-2. Communication devices 1-1 and 1-2 are connected to each other, and communication device 1-3 is connected to communication devices 1-1 and 1-2. The server 3 is connected to the communication device 1-3.

通信装置1-1、1-2、1-3は、通信装置1の機能を有する。この例では、通信装置1-1は第1の現用系として機能し、通信装置1-2は待機系または第2の現用系として機能し、通信装置1-3は対向装置として機能する。 Communication devices 1-1, 1-2, and 1-3 have the functions of communication device 1. FIG. In this example, the communication device 1-1 functions as a first active system, the communication device 1-2 functions as a standby system or a second active system, and the communication device 1-3 functions as a counterpart device.

〔ステップS1〕クライアント端末2は、サーバ3宛のデータを送信する。なお、クライアント端末2と、通信装置1-1、1-2との間には図示しないスイッチが配置され、例えば、スイッチのミラーリングによってクライアント端末2からの送信データは、通信装置1―2へも送信される。 [Step S 1 ] The client terminal 2 transmits data addressed to the server 3 . Note that switches (not shown) are arranged between the client terminal 2 and the communication devices 1-1 and 1-2. sent.

〔ステップS2a〕通信装置1-1において、制御部1a1は、クライアント端末2から送信されたデータを受信して記憶部1b1に格納する。
〔ステップS2b〕通信装置1-2において、制御部1a2は、クライアント端末2から送信されたデータを受信して記憶部1b2に格納する。
[Step S2a] In the communication device 1-1, the control section 1a1 receives the data transmitted from the client terminal 2 and stores it in the storage section 1b1.
[Step S2b] In the communication device 1-2, the control section 1a2 receives the data transmitted from the client terminal 2 and stores it in the storage section 1b2.

〔ステップS3〕制御部1a1は、受信したデータを分割して分割データを生成し、分割データそれぞれにヘッダを付与してプロトコル変換を行って複数のパケットを生成する。そして、制御部1a1は、生成したパケットを通信装置1-3へ送信する。 [Step S3] The control unit 1a1 divides the received data to generate divided data, adds a header to each of the divided data, performs protocol conversion, and generates a plurality of packets. The control unit 1a1 then transmits the generated packet to the communication device 1-3.

〔ステップS4〕通信装置1-3において、制御部1a3は、受信したパケットを記憶部1b3に格納する。また、制御部1a3は、パケットを終端してパケットからヘッダを除去し、ヘッダ除去後の分割データをサーバ3へ送信する。 [Step S4] In the communication device 1-3, the control unit 1a3 stores the received packet in the storage unit 1b3. Further, the control unit 1 a 3 terminates the packet, removes the header from the packet, and transmits the divided data after removing the header to the server 3 .

〔ステップS5〕制御部1a3は、受信パケットに付与されていたヘッダにもとづいて未受信パケットの検出を行い、未受信パケットを検出した場合は未受信検出情報を生成する。 [Step S5] The controller 1a3 detects an unreceived packet based on the header attached to the received packet, and generates unreceived detection information when an unreceived packet is detected.

〔ステップS6〕制御部1a2は、通信装置1-1の動作監視を行う。
〔ステップS7〕制御部1a2は、通信装置1-1の停止を検出した場合、待機系から現用系に切り替わり、系切替えを行ったことを通信装置1-3へ通知する。
[Step S6] The controller 1a2 monitors the operation of the communication device 1-1.
[Step S7] When the control unit 1a2 detects that the communication device 1-1 has stopped, it switches from the standby system to the active system and notifies the communication device 1-3 that the system has been switched.

〔ステップS8a〕制御部1a2は、通信装置1-3に対して未受信パケットがあるか否かの問い合わせを行う。
〔ステップS8b〕制御部1a3は、未受信パケットを検出しているので、通信装置1-2に対して未受信検出情報を送信する。
[Step S8a] The controller 1a2 inquires of the communication device 1-3 whether or not there is an unreceived packet.
[Step S8b] Since the controller 1a3 has detected an unreceived packet, it transmits unreceived detection information to the communication device 1-2.

〔ステップS9〕制御部1a2は、通信装置1-3から送信された未受信検出情報にもとづいて、記憶部1b2に格納しているデータから未受信パケットに含まれる未受信分割データを抽出する。 [Step S9] Based on the unreceived detection information transmitted from the communication device 1-3, the control unit 1a2 extracts unreceived divided data contained in the unreceived packet from the data stored in the storage unit 1b2.

〔ステップS10〕制御部1a2は、抽出した未受信分割データを通信装置1-3へ送信する。なお、通信装置1-2から送信された未受信分割データは、通信装置1-3によってサーバ3へ送信される。 [Step S10] The control unit 1a2 transmits the extracted unreceived divided data to the communication device 1-3. The unreceived divided data transmitted from the communication device 1-2 is transmitted to the server 3 by the communication device 1-3.

このように、通信装置1-1に対向する通信装置1-3では、通信装置1-1がプロトコル変換時に付与したヘッダにもとづいて未受信データを検出する。また、通信装置1-1と通信装置1-3との通信時に、通信装置1-1が停止して通信装置1-2が現用系になった場合、通信装置1-2は、通信装置1-3からの未受信データの未受信検出情報を受信する。そして、通信装置1-2は、未受信検出情報にもとづいて記憶部1b2から未受信データを抽出し、通信装置1-3へ送信する。 In this way, the communication device 1-3 facing the communication device 1-1 detects unreceived data based on the header added by the communication device 1-1 during protocol conversion. Further, when the communication device 1-1 stops and the communication device 1-2 becomes the active system during communication between the communication device 1-1 and the communication device 1-3, the communication device 1-2 - Receive non-receipt detection information for non-received data from 3. Then, the communication device 1-2 extracts the non-received data from the storage unit 1b2 based on the non-reception detection information, and transmits it to the communication device 1-3.

このような通信制御により、現用系の通信装置が故障した場合でも、待機系から新たに現用系になった通信装置から未受信データが対向側へ送信されるので、通信品質の劣化を抑制することができ、耐障害性の向上を図ることが可能になる。 With this kind of communication control, even if the active communication device breaks down, unreceived data is transmitted from the standby system to the new active communication device to the opposite side, thereby suppressing deterioration in communication quality. It is possible to improve fault tolerance.

[第2の実施の形態]
次に第2の実施の形態について説明する。図2は通信システムの構成の一例を示す図である。通信システムCs2は、通信装置10a、10b、10c(総称する場合は通信装置10と呼ぶ)、クライアント端末21(CL1)、クライアント端末22(CL2)、サーバ31(SV1)、サーバ32(SV2)、スイッチ4およびルータ51、52を備える。通信システムCs2は、例えば、WAN(Wide Area Network)6を介してクライアント/サーバの中継通信を行う。
[Second embodiment]
Next, a second embodiment will be described. FIG. 2 is a diagram showing an example of the configuration of a communication system. The communication system Cs2 includes communication devices 10a, 10b, and 10c (collectively referred to as communication devices 10), a client terminal 21 (CL1), a client terminal 22 (CL2), a server 31 (SV1), a server 32 (SV2), A switch 4 and routers 51 and 52 are provided. The communication system Cs2 performs client/server relay communication via a WAN (Wide Area Network) 6, for example.

クライアント端末21、22は、スイッチ4(例えば、L2(レイヤ2)スイッチ)に接続される。通信装置10a、10bは冗長化され、通信装置10aは現用系であり、スイッチ4およびルータ51に接続される。通信装置10bは待機系であり、スイッチ4およびルータ51に接続される。また、通信装置10a、10bは、互いに接続される。 Client terminals 21 and 22 are connected to a switch 4 (for example, an L2 (layer 2) switch). The communication devices 10a and 10b are made redundant, and the communication device 10a is the active system and is connected to the switch 4 and the router 51. FIG. The communication device 10 b is a standby system and is connected to the switch 4 and the router 51 . Also, the communication devices 10a and 10b are connected to each other.

WAN6は、ルータ51、52に接続され、ルータ52は、通信装置10c(対向)に接続される。サーバ31、32は、通信装置10cに接続される。
なお、図2では、クライアント側に位置する通信装置を2台の通信装置10a、10bで冗長構成としたが、サーバ側に位置する通信装置に対しても冗長構成を組むことができる。
The WAN 6 is connected to routers 51 and 52, and the router 52 is connected to the communication device 10c (opposite). The servers 31, 32 are connected to the communication device 10c.
In FIG. 2, the two communication devices 10a and 10b are used as a redundant configuration for the communication device located on the client side, but a redundant configuration can also be formed for the communication device located on the server side.

<ハードウェア>
図3は通信装置のハードウェア構成の一例を示す図である。通信装置10は、プロセッサ(コンピュータ)100によって装置全体が制御されている。
<Hardware>
FIG. 3 is a diagram showing an example of the hardware configuration of the communication device. The communication device 10 is entirely controlled by a processor (computer) 100 .

プロセッサ100には、バス103を介して、メモリ101および複数の周辺機器が接続されている。プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。 A memory 101 and a plurality of peripheral devices are connected to the processor 100 via a bus 103 . Processor 100 may be a multiprocessor. The processor 100 is, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), or PLD (Programmable Logic Device). Processor 100 may also be a combination of two or more of CPU, MPU, DSP, ASIC, and PLD.

メモリ101は、通信装置10の主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。 A memory 101 is used as a main storage device of the communication device 10 . The memory 101 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 100 . Various data required for processing by the processor 100 are stored in the memory 101 .

また、メモリ101は、通信装置10の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD(Solid State Drive)等の半導体記憶装置やHDD(Hard Disk Drive)等の磁気記録媒体を含んでもよい。 The memory 101 is also used as an auxiliary storage device for the communication device 10, and stores OS programs, application programs, and various data. The memory 101 may include, as an auxiliary storage device, a semiconductor storage device such as a flash memory or an SSD (Solid State Drive), or a magnetic recording medium such as an HDD (Hard Disk Drive).

バス103に接続されている周辺機器としては、入出力インタフェース102およびネットワークインタフェース104がある。入出力インタフェース102は、プロセッサ100からの命令にしたがって通信装置10の状態を表示する表示装置として機能するモニタ(例えば、LED(Light Emitting Diode)やLCD(Liquid Crystal Display)等)が接続されている。 Peripheral devices connected to the bus 103 include an input/output interface 102 and a network interface 104 . The input/output interface 102 is connected to a monitor (e.g., LED (Light Emitting Diode), LCD (Liquid Crystal Display), etc.) that functions as a display device for displaying the state of the communication device 10 according to commands from the processor 100 . .

また、入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
さらにまた、入出力インタフェース102は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Blu-rayDisc(登録商標)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(Rewritable)等がある。
The input/output interface 102 can be connected to an information input device such as a keyboard and a mouse, and transmits signals sent from the information input device to the processor 100 .
Furthermore, the input/output interface 102 also functions as a communication interface for connecting peripheral devices. For example, the input/output interface 102 can be connected to an optical drive device that reads data recorded on an optical disc using a laser beam or the like. Optical discs include Blu-ray Disc (registered trademark), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable)/RW (Rewritable), and the like.

また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。 Also, the input/output interface 102 can connect a memory device and a memory reader/writer. The memory device is a recording medium equipped with a communication function with the input/output interface 102 . A memory reader/writer is a device that writes data to a memory card or reads data from a memory card. A memory card is a card-type recording medium.

ネットワークインタフェース104は、ネットワークの通信インタフェース制御を行い、例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等を使用することもできる。ネットワークインタフェース104で受信されたデータは、メモリ101やプロセッサ100に出力される。 The network interface 104 performs network communication interface control, and can use, for example, a NIC (Network Interface Card), a wireless LAN (Local Area Network) card, or the like. Data received by network interface 104 is output to memory 101 and processor 100 .

以上のようなハードウェア構成によって、通信装置10の処理機能を実現することができる。例えば、通信装置10は、プロセッサ100がそれぞれ所定のプログラムを実行することで本発明の通信制御を行うことができる。 The processing functions of the communication device 10 can be realized by the hardware configuration as described above. For example, the communication device 10 can perform communication control according to the present invention by having the processors 100 execute respective predetermined programs.

通信装置10は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。通信装置10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。 The communication device 10 implements the processing functions of the present invention, for example, by executing a program recorded on a computer-readable recording medium. A program describing the processing content to be executed by the communication device 10 can be recorded in various recording media.

例えば、通信装置10に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。 For example, a program to be executed by the communication device 10 can be stored in the auxiliary storage device. The processor 100 loads at least part of the program in the auxiliary storage device into the main storage device and executes the program.

また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。 It can also be recorded in a portable recording medium such as an optical disc, memory device, or memory card. A program stored in a portable recording medium can be executed after being installed in an auxiliary storage device under the control of the processor 100, for example. Alternatively, the processor 100 can read and execute the program directly from the portable recording medium.

<機能ブロック>
図4は通信装置の機能ブロックの一例を示す図である。通信装置10は、制御部11、記憶部12および送受信インタフェース部13を備える。制御部11は、プロトコル変換部11a、監視部11bおよび未受信検出部11cを含む。記憶部12は、送信バッファ12a、受信バッファ12bおよびデータ格納部12cを含む。
<Functional block>
FIG. 4 is a diagram showing an example of functional blocks of a communication device. The communication device 10 includes a control section 11 , a storage section 12 and a transmission/reception interface section 13 . The control unit 11 includes a protocol conversion unit 11a, a monitoring unit 11b, and a non-reception detection unit 11c. The storage unit 12 includes a transmission buffer 12a, a reception buffer 12b and a data storage unit 12c.

送受信インタフェース部13は、データまたはパケットの送受信のインタフェース制御を行う。プロトコル変換部11aは、クライアント端末から送信されたデータを分割して分割データを生成し、分割データに所定のヘッダを付与してプロトコル変換を行って新たなプロトコルのパケットを生成する。監視部11bは、冗長構成で対になっている通信装置の動作監視を行う。未受信検出部11cは、未受信パケットの検出を行い、未受信パケットがある場合は未受信検出情報を生成する。 The transmission/reception interface unit 13 performs interface control for transmission/reception of data or packets. The protocol conversion unit 11a divides the data transmitted from the client terminal to generate divided data, adds a predetermined header to the divided data, performs protocol conversion, and generates packets of a new protocol. The monitoring unit 11b monitors the operation of the redundantly paired communication devices. The unreceived detection unit 11c detects unreceived packets, and generates unreceived detection information when there is an unreceived packet.

送信バッファ12aは、プロトコル変換されたパケットを対向の通信装置へ送信する際に使用されるバッファである。受信バッファ12bは、プロトコル変換されたパケットを受信する際に使用されるバッファである。 The transmission buffer 12a is a buffer used when transmitting protocol-converted packets to the opposite communication device. The reception buffer 12b is a buffer used when receiving protocol-converted packets.

データ格納部12cは、クライアント端末から送信されたデータを格納する。また、データ格納部12cは、運用に関わる制御情報(例えば、コネクション確立時のコネクション情報等)の格納にも使用される。 The data storage unit 12c stores data transmitted from the client terminal. The data storage unit 12c is also used to store control information related to operation (for example, connection information when establishing a connection).

なお、制御部11は図3のプロセッサ100によって実現され、記憶部12は図3のメモリ101によって実現される。送受信インタフェース部13は、図3のネットワークインタフェース104または入出力インタフェース102によって実現される。 Note that the control unit 11 is realized by the processor 100 in FIG. 3, and the storage unit 12 is realized by the memory 101 in FIG. The transmission/reception interface unit 13 is realized by the network interface 104 or the input/output interface 102 in FIG.

<新規コネクション受付時の動作>
図5は新規コネクション受付時の動作の一例を示す図である。
〔ステップS21〕クライアント端末21は、サーバ31への接続要求を送信して、新規コネクションの確立を要求する。
<Operation when accepting a new connection>
FIG. 5 is a diagram showing an example of the operation when accepting a new connection.
[Step S21] The client terminal 21 transmits a connection request to the server 31 to request establishment of a new connection.

〔ステップS22〕通信装置10aは、接続要求を終端し、コネクション情報(TCP(Transmission Control Protocol)コネクション情報)cn1をデータ格納部12cに格納する。 [Step S22] The communication device 10a terminates the connection request and stores connection information (TCP (Transmission Control Protocol) connection information) cn1 in the data storage unit 12c.

コネクション情報cn1は、コネクション識別子a1、送信元情報a2および宛先情報a3が含まれる。コネクション識別子a1は、コネクションを識別するためのネットワーク内で一意の識別子(この例ではCon1)である。 The connection information cn1 includes a connection identifier a1, source information a2 and destination information a3. The connection identifier a1 is a unique identifier (Con1 in this example) within the network for identifying a connection.

送信元情報a2は、クライアント端末21のIP(Internet Protocol)アドレスおよびポート番号が対になった情報である。宛先情報a3は、サーバ31のIPアドレスおよびポート番号が対になった情報である。 The source information a2 is information in which the IP (Internet Protocol) address and port number of the client terminal 21 are paired. The destination information a3 is information in which the IP address and port number of the server 31 are paired.

〔ステップS23〕通信装置10aは、新規コネクションの確立要求があったことをコネクション情報cn1と共に通信装置10cに通知する。
〔ステップS24〕通信装置10cは、通信装置10aから受け取ったコネクション情報cn1をデータ格納部12cに格納する。
[Step S23] The communication device 10a notifies the communication device 10c of the request to establish a new connection together with the connection information cn1.
[Step S24] The communication device 10c stores the connection information cn1 received from the communication device 10a in the data storage section 12c.

〔ステップS25〕通信装置10cは、コネクション情報cn1にもとづいて、サーバ31とコネクション(TCPコネクション)を確立すると、サーバ31とコネクションを確立したことを通信装置10aに通知する。 [Step S25] After establishing a connection (TCP connection) with the server 31 based on the connection information cn1, the communication device 10c notifies the communication device 10a that the connection with the server 31 has been established.

〔ステップS26〕通信装置10aは、コネクション情報cn1を通信装置10bに送信する。
〔ステップS27〕通信装置10bは、通信装置10aから受け取ったコネクション情報cn1をデータ格納部12cに格納する。
[Step S26] The communication device 10a transmits the connection information cn1 to the communication device 10b.
[Step S27] The communication device 10b stores the connection information cn1 received from the communication device 10a in the data storage section 12c.

なお、コネクション情報cn1は、各通信装置においてコネクションCon1が確立している間は保持され、切断された場合にはデータ格納部12cから破棄される。
<クライアント端末から送信されたデータの受信時の動作>
次に通信装置10aがコネクション確立後にクライアント端末21、22から送信されたデータ(またはパケット)を受信してプロトコル変換を行う場合の動作について図6から図8を用いて説明する。
The connection information cn1 is held while the connection Con1 is established in each communication device, and is discarded from the data storage unit 12c when the connection is disconnected.
<Operation when receiving data sent from the client terminal>
Next, the operation when the communication apparatus 10a receives data (or packets) transmitted from the client terminals 21 and 22 after connection establishment and performs protocol conversion will be described with reference to FIGS. 6 to 8. FIG.

図6はクライアント端末からの送信データを受信した場合の動作の一例を示す図である。クライアント端末21とサーバ31間のコネクション(コネクションCon1)が確立し、クライアント端末22とサーバ31間のコネクション(コネクションCon2)が確立しているとする。 FIG. 6 is a diagram showing an example of operation when data transmitted from a client terminal is received. Assume that a connection (connection Con1) between the client terminal 21 and the server 31 is established, and a connection (connection Con2) between the client terminal 22 and the server 31 is established.

〔ステップS31〕クライアント端末21は、サーバ31宛のデータD0を通信装置10aに向けて送信する。なお、データD0のデータ長をXビット(以下、“ビット”は省略)した場合、データ長がX2(<X)までのデータが先に送信され、その後、データ長が(X-X2)の残りのデータが送信されるとする。 [Step S31] The client terminal 21 transmits the data D0 addressed to the server 31 to the communication device 10a. If the data length of the data D0 is set to X bits (hereafter, "bit" is omitted), the data up to the data length of X2 (<X) is transmitted first, and then the data up to the data length of (X - X2) is transmitted. Suppose the rest of the data is sent.

〔ステップS32〕クライアント端末22は、サーバ32宛のデータD10を通信装置10aに向けて送信する。なお、データD10のデータ長をYとした場合、データ長がY2(<Y)までのデータが先に送信され、その後、データ長が(Y-Y2)の残りのデータが送信されるとする。 [Step S32] The client terminal 22 transmits the data D10 addressed to the server 32 to the communication device 10a. If the data length of the data D10 is Y, data up to a data length of Y2 (<Y) is transmitted first, and then the rest of the data with a data length of (Y−Y2) is transmitted. .

〔ステップS33〕データD0、D10は、待機系の通信装置10bに向けても送信される。なお、待機系の通信装置10bへのデータ送信としては、例えば、クライアント端末と通信装置との間の経路に配置されているスイッチ4のミラーリングにより、スイッチ4から通信装置10bへデータD0、D10を送信することができる。 [Step S33] The data D0 and D10 are also transmitted to the standby communication device 10b. For data transmission to the standby communication device 10b, for example, data D0 and D10 are sent from the switch 4 to the communication device 10b by mirroring the switch 4 arranged on the path between the client terminal and the communication device. can be sent.

または、現用系の通信装置10aがデータD0、D10を受信した後、待機系の通信装置10bにデータD0、D10を送信してもよい。
〔ステップS34〕通信装置10aは、受信したデータD0、D10のストリームをコネクション毎に自身のデータ格納部(データ格納部12c1とする)へ格納する。
Alternatively, after the active communication device 10a receives the data D0 and D10, the data D0 and D10 may be transmitted to the standby communication device 10b.
[Step S34] The communication device 10a stores the received streams of data D0 and D10 in its own data storage section (data storage section 12c1) for each connection.

〔ステップS35〕通信装置10aは、受信データのデータ長が閾値以上の場合、該受信データを所定長に分割して分割データを生成する。この例では、データ長がX2のデータに対して、データ長=X2は閾値以上と判定して2つに分割した例を示している。 [Step S35] When the data length of the received data is equal to or greater than the threshold value, the communication device 10a divides the received data into predetermined lengths to generate divided data. This example shows an example in which data with a data length of X2 is divided into two by determining that the data length=X2 is equal to or greater than the threshold.

すなわち、通信装置10aは、0からX1(<X2)までのデータd1、X1からX2までのデータd2を生成している。なお、X2からXまでのデータ長=(X-X2)のデータは、データ長が閾値以内と判定して分割は行われない。図では、データ長=(X-X2)のデータはデータd3としている。 That is, the communication device 10a generates data d1 from 0 to X1 (<X2) and data d2 from X1 to X2. The data length from X2 to X=(XX2) is determined to be within the threshold value and is not divided. In the figure, data of data length=(XX2) is data d3.

同様に、通信装置10aは、データ長がY2のデータに対して、データ長=Y2は閾値以上と判定して2つに分割する。すなわち、通信装置10aは、0からY1(<Y2)までのデータd11、Y1からY2までのデータd12を生成している。 Similarly, the communication device 10a determines that the data length of Y2 is greater than or equal to the threshold and divides the data into two. That is, the communication device 10a generates data d11 from 0 to Y1 (<Y2) and data d12 from Y1 to Y2.

なお、Y2からYまでのデータ長=(Y-Y2)のデータは、データ長が閾値以内と判定して分割は行われない。図では、データ長=(Y-Y2)のデータは、データd13としている。以降の説明では、データd3およびデータd13に対しても分割データと呼ぶ場合がある。 The data length from Y2 to Y=(Y−Y2) is determined to be within the threshold value and is not divided. In the figure, data of data length=(Y−Y2) is data d13. In the following description, data d3 and data d13 may also be referred to as divided data.

〔ステップS36〕通信装置10aは、分割データd1、d2、d3、d11、d12、d13にヘッダを付与してプロトコル変換を行う。
〔ステップS37〕通信装置10aは、プロトコル変換後のデータを送信バッファ12aに格納する。
[Step S36] The communication device 10a adds headers to the divided data d1, d2, d3, d11, d12, and d13 and performs protocol conversion.
[Step S37] The communication device 10a stores the protocol-converted data in the transmission buffer 12a.

〔ステップS38〕通信装置10bは、受信したデータD0、D10のストリームをコネクション毎に自身のデータ格納部(データ格納部12c2とする)に格納する。なお、待機系の通信装置10bではプロトコル変換の処理は行わない。 [Step S38] The communication device 10b stores the received streams of data D0 and D10 in its own data storage unit (data storage unit 12c2) for each connection. Note that protocol conversion processing is not performed in the standby communication device 10b.

図7はプロトコル変換によるヘッダ付与の一例を示す図である。通信装置10aは、プロトコル変換によるヘッダ付与として、分割データすべてに通信プロトコルヘッダを付与し、分割データ群のうちの先頭分割データおよび単一の分割データ(単一分割データ)にはさらに制御ヘッダを付与して新たなプロトコルのパケットを生成する。なお、分割データ群とは、同一コネクション上で連続する複数の分割データのことである。 FIG. 7 is a diagram showing an example of header addition by protocol conversion. The communication device 10a adds a communication protocol header to all of the divided data as header addition by protocol conversion, and further adds a control header to the leading divided data and single divided data (single divided data) in the divided data group. Add to generate a new protocol packet. Note that the divided data group is a plurality of consecutive divided data on the same connection.

図7の例では、分割データd1、d2は分割データ群に含まれ、分割データd1は先頭分割データになる。また、分割データd11、d12は分割データ群に含まれ、分割データd11は先頭分割データになる。分割データd3および分割データd13は、非連続であり単一分割データである。 In the example of FIG. 7, the divided data d1 and d2 are included in the divided data group, and the divided data d1 is the leading divided data. Also, the divided data d11 and d12 are included in the divided data group, and the divided data d11 is the leading divided data. The divided data d3 and the divided data d13 are discontinuous and single divided data.

なお、プロトコル変換によって付与される通信プロトコルヘッダおよび制御ヘッダにおいて、通信プロトコルヘッダは少なくともシーケンス番号を含み、制御ヘッダは、少なくともコネクション識別子およびデータ長(データ長情報)を含む。 In the communication protocol header and control header added by protocol conversion, the communication protocol header includes at least a sequence number, and the control header includes at least a connection identifier and data length (data length information).

〔ステップS41〕通信装置10aは、分割データd1に通信プロトコルヘッダHp1と制御ヘッダHc1を付与してパケットP1を生成し、パケットP1を送信バッファ(送信バッファ12a1とする)に格納する。 [Step S41] The communication device 10a adds the communication protocol header Hp1 and the control header Hc1 to the divided data d1 to generate the packet P1, and stores the packet P1 in the transmission buffer (referred to as the transmission buffer 12a1).

通信プロトコルヘッダHp1は、シーケンス番号(seq=0)を含み、制御ヘッダHc1は、コネクション識別子(Con1)とデータ長(Len=X2)を含む。
〔ステップS42〕通信装置10aは、分割データd2に通信プロトコルヘッダHp2を付与してパケットP2を生成し、パケットP2を送信バッファ12a1に格納する。通信プロトコルヘッダHp2は、シーケンス番号(seq=X1+h)を含む。hは、制御ヘッダのデータ長である。
The communication protocol header Hp1 contains a sequence number (seq=0), and the control header Hc1 contains a connection identifier (Con1) and a data length (Len=X2).
[Step S42] The communication device 10a adds the communication protocol header Hp2 to the divided data d2 to generate the packet P2, and stores the packet P2 in the transmission buffer 12a1. The communication protocol header Hp2 contains a sequence number (seq=X1+h). h is the data length of the control header.

〔ステップS43〕通信装置10aは、分割データd11に通信プロトコルヘッダHp3と制御ヘッダHc2を付与してパケットP3を生成し、パケットP3を送信バッファ12a1に格納する。 [Step S43] The communication device 10a adds the communication protocol header Hp3 and the control header Hc2 to the divided data d11 to generate the packet P3, and stores the packet P3 in the transmission buffer 12a1.

通信プロトコルヘッダHp3は、シーケンス番号(seq=X2+h)を含み、制御ヘッダHc2は、コネクション識別子(Con2)とデータ長(Len=Y2)を含む。
〔ステップS44〕通信装置10aは、分割データd12に通信プロトコルヘッダHp4を付与してパケットP4を生成し、パケットP4を送信バッファ12a1に格納する。通信プロトコルヘッダHp4は、シーケンス番号(seq=X2+Y1+2h)を含む。
The communication protocol header Hp3 contains a sequence number (seq=X2+h), and the control header Hc2 contains a connection identifier (Con2) and data length (Len=Y2).
[Step S44] The communication device 10a adds a communication protocol header Hp4 to the divided data d12 to generate a packet P4, and stores the packet P4 in the transmission buffer 12a1. The communication protocol header Hp4 contains a sequence number (seq=X2+Y1+2h).

〔ステップS45〕通信装置10aは、分割データd3に通信プロトコルヘッダHp5と制御ヘッダHc3を付与してパケットP5を生成し、パケットP5を送信バッファ12a1に格納する。 [Step S45] The communication device 10a adds the communication protocol header Hp5 and the control header Hc3 to the divided data d3 to generate the packet P5, and stores the packet P5 in the transmission buffer 12a1.

通信プロトコルヘッダHp5は、シーケンス番号(seq=X2+Y2+2h)を含み、制御ヘッダHc3は、コネクション識別子(Con1)とデータ長(Len=X-X2)を含む。 The communication protocol header Hp5 contains a sequence number (seq=X2+Y2+2h), and the control header Hc3 contains a connection identifier (Con1) and data length (Len=XX2).

〔ステップS46〕通信装置10aは、分割データd13に通信プロトコルヘッダHp6と制御ヘッダHc4を付与してパケットP6を生成し、パケットP6を送信バッファ12a1に格納する。 [Step S46] The communication device 10a adds the communication protocol header Hp6 and the control header Hc4 to the divided data d13 to generate the packet P6, and stores the packet P6 in the transmission buffer 12a1.

通信プロトコルヘッダHp6は、シーケンス番号(seq=X+Y2+3h)を含み、制御ヘッダHc4は、コネクション識別子(Con2)とデータ長(Len=Y-Y2)を含む。 The communication protocol header Hp6 contains a sequence number (seq=X+Y2+3h), and the control header Hc4 contains a connection identifier (Con2) and data length (Len=Y−Y2).

なお、制御ヘッダに設定されるデータ長は、分割データ群に対しては、連続しているデータの長さが先頭分割データの制御ヘッダに設定される。例えば、パケットP1、P2は、分割データ群であり、パケットP1のデータ長=X1、パケットP2のデータ長=X2-X1である。よって、先頭分割データを有するパケットP1の制御ヘッダHc1には、データ長としてX2(=X1+(X2-X1))が設定される。 As for the data length set in the control header, the length of continuous data is set in the control header of the top divided data for the divided data group. For example, packets P1 and P2 are divided data groups, and the data length of packet P1=X1 and the data length of packet P2=X2-X1. Therefore, X2 (=X1+(X2-X1)) is set as the data length in the control header Hc1 of the packet P1 having the leading split data.

また、単一分割データを有するパケットの制御ヘッダには、その単一分割データのデータ長が設定される。例えば、パケットP5は、単一分割データを含み、データ長=X-X2であるので、パケットP5の制御ヘッダHc3には、データ長としてX-X2が設定される。 Also, the data length of the single segmented data is set in the control header of the packet having the single segmented data. For example, since packet P5 includes single segmented data and has a data length of XX2, XX2 is set as the data length in the control header Hc3 of packet P5.

一方、シーケンス番号について、パケットP1、P2、・・・、Pnと受信する場合、パケットPk(1≦k≦n)のシーケンス番号は、パケットP1、・・・、Pk-1に含まれるデータの長さの和と、パケットP1、・・・、Pk-1に含まれる制御ヘッダの長さの和との総和になる。 On the other hand, regarding the sequence numbers, when packets P1, P2, . It is the sum of the sum of the lengths and the sum of the lengths of the control headers included in the packets P1, . . . , Pk-1.

例えば、パケットP3のシーケンス番号について、すでにパケットP1、P2が受信されている。よって、パケットP1のデータ長=X1およびパケットP2のデータ長=X2-X1より、データ長の和はX2である。 For example, packets P1 and P2 have already been received for the sequence number of packet P3. Therefore, from the data length of packet P1=X1 and the data length of packet P2=X2-X1, the sum of the data lengths is X2.

また、パケットP1、P2には、1つの制御ヘッダHc1があるので、制御ヘッダの長さの和はhになる。したがって、パケットP3のシーケンス番号は、seq=X2+hとなる。その他のパケットのシーケンス番号も同様にして設定される。 Also, since the packets P1 and P2 have one control header Hc1, the sum of the lengths of the control headers is h. Therefore, the sequence number of packet P3 is seq=X2+h. Sequence numbers of other packets are similarly set.

図8はプロトコル変換の一例を時系列で示す図である。図7に示した分割データ生成後のヘッダ付与の流れを示している。
〔時間t0-t1〕通信装置10aは、分割データd1、d2を含む分割データ群を受信する。分割データ群のデータ長はX2である。通信装置10aは、分割データd1をプロトコル変換してパケットP1を生成する。
FIG. 8 is a diagram showing an example of protocol conversion in chronological order. 8 shows the flow of adding headers after the generation of divided data shown in FIG. 7;
[Time t0-t1] The communication device 10a receives the divided data group including the divided data d1 and d2. The data length of the divided data group is X2. The communication device 10a performs protocol conversion on the divided data d1 to generate packets P1.

分割データd1は、2つの分割データが連続した分割データ群のうちの先頭分割データであるから、通信プロトコルヘッダ(Hp1)の他に分割データ群のデータ長=X2の情報を含む制御ヘッダ(Hc1)が付与される。 Since the divided data d1 is the leading divided data in the divided data group in which two divided data are continuous, the control header (Hc1 ) is given.

また、通信装置10aは、分割データd2をプロトコル変換してパケットP2を生成する。分割データd2には、通信プロトコルヘッダ(Hp2)が付与される。
〔時間t1-t2〕通信装置10aは、分割データd11、d12を含む分割データ群を受信する。分割データ群のデータ長はY2である。通信装置10aは、分割データd11をプロトコル変換してパケットP3を生成する。
Further, the communication device 10a converts the protocol of the divided data d2 to generate a packet P2. A communication protocol header (Hp2) is added to the divided data d2.
[Time t1-t2] The communication device 10a receives the divided data group including the divided data d11 and d12. The data length of the divided data group is Y2. The communication device 10a protocol-converts the divided data d11 to generate a packet P3.

分割データd11は、2つの分割データが連続した分割データ群のうちの先頭分割データであるから、通信プロトコルヘッダ(Hp3)の他に分割データ群のデータ長=Y2の情報を含む制御ヘッダ(Hc2)が付与される。 Since the divided data d11 is the leading divided data in the divided data group in which two divided data are continuous, the control header (Hc2 ) is given.

また、通信装置10aは、分割データd12をプロトコル変換してパケットP4を生成する。分割データd12には、通信プロトコルヘッダ(Hp4)が付与される。
〔時間t2-t3〕通信装置10aは、分割データd3を受信する。分割データd3のデータ長はX-X2である。通信装置10aは、分割データd3をプロトコル変換してパケットP5を生成する。
The communication device 10a also converts the protocol of the divided data d12 to generate a packet P4. A communication protocol header (Hp4) is added to the divided data d12.
[Time t2-t3] The communication device 10a receives the divided data d3. The data length of the divided data d3 is XX2. The communication device 10a performs protocol conversion on the divided data d3 to generate a packet P5.

分割データd3は、単一分割データであるから、通信プロトコルヘッダ(Hp5)の他に分割データd3のデータ長=X-X2の情報を含む制御ヘッダ(Hc3)が付与される。 Since the divided data d3 is single divided data, in addition to the communication protocol header (Hp5), a control header (Hc3) including information on the data length of the divided data d3=XX2 is added.

〔時間t3-t4〕通信装置10aは、分割データd13を受信する。分割データd13のデータ長はY-Y2である。通信装置10aは、分割データd13をプロトコル変換してパケットP6を生成する。 [Time t3-t4] The communication device 10a receives the divided data d13. The data length of the divided data d13 is YY2. The communication device 10a protocol-converts the divided data d13 to generate a packet P6.

分割データd13は、単一分割データであるから、通信プロトコルヘッダ(Hp6)の他に分割データd13のデータ長=Y-Y2の情報を含む制御ヘッダ(Hc4)が付与される。 Since the divided data d13 is single divided data, in addition to the communication protocol header (Hp6), a control header (Hc4) containing information on the data length of the divided data d13=Y−Y2 is added.

<対向装置からデータが宛先へ送信される場合の動作>
図9は対向装置からデータが宛先へ送信される場合の動作一例を示す図である。
〔ステップS51〕通信装置10aは、送信バッファ12a1に格納したパケットを、対向する通信装置10cへ送信する。この場合、通信装置10aは、制御ヘッダに含まれるデータ長にもとづいて、連続しているデータを持つパケットを検出して、そのパケットを送信バッファ12a1から取り出して通信装置10cへ送信する。
<Operation when data is sent from the opposite device to the destination>
FIG. 9 is a diagram showing an example of operation when data is transmitted from the opposite device to the destination.
[Step S51] The communication device 10a transmits the packet stored in the transmission buffer 12a1 to the opposite communication device 10c. In this case, the communication device 10a detects a packet having continuous data based on the data length included in the control header, extracts the packet from the transmission buffer 12a1, and transmits it to the communication device 10c.

例えば図7から、パケットP1は、データ長がX2である制御ヘッダHc1を有しており、パケットP1、P2で連続データが構成されることが検出される。よって、パケットP1、P2が送信バッファ12a1内にあれば、パケットP1、P2が連続データとして通信装置10cに送信される。 For example, from FIG. 7, packet P1 has a control header Hc1 with a data length of X2, and it is detected that packets P1 and P2 constitute continuous data. Therefore, if the packets P1 and P2 are in the transmission buffer 12a1, the packets P1 and P2 are transmitted to the communication device 10c as continuous data.

〔ステップS52〕通信装置10cは、通信装置10aから送信されたパケットを受信バッファ(受信バッファ12b3とする)に格納する。
〔ステップS53〕通信装置10cは、受信バッファ12b3からパケットを受信した順にパケットを取り出して、取り出したパケットからプロトコル変換時に付与したヘッダを削除して、分割データを宛先のサーバへ送信する。この場合、連続データ(分割データ群)があれば連続データを一括して取り出してサーバへ送信する。
[Step S52] The communication device 10c stores the packet transmitted from the communication device 10a in the reception buffer (reception buffer 12b3).
[Step S53] The communication device 10c extracts the packets from the reception buffer 12b3 in the order in which they are received, deletes the header added during protocol conversion from the extracted packets, and transmits the divided data to the destination server. In this case, if there is continuous data (divided data group), the continuous data is extracted collectively and transmitted to the server.

この例では、パケットP1、P2が連続データとなるので、パケットP1、P2が受信バッファ12b3から取り出され、ヘッダ除去後の分割データd1、d2がサーバ31へ送信される。 In this example, since the packets P1 and P2 are continuous data, the packets P1 and P2 are extracted from the reception buffer 12b3, and the divided data d1 and d2 after removing the headers are transmitted to the server 31. FIG.

〔ステップS54〕通信装置10cは、サーバへの送信を完了したパケットを受信バッファ12b3内から削除する。この例では、受信バッファ12b3内からパケットP1、P2が削除される。 [Step S54] The communication device 10c deletes the packet that has been transmitted to the server from the reception buffer 12b3. In this example, packets P1 and P2 are deleted from the reception buffer 12b3.

〔ステップS55〕通信装置10cは、現用系の通信装置10aに向けて、連続受信済みパケット情報と、パケットロスを検知した場合のパケットロス情報とを送信する。
連続受信済みパケット情報は、通信装置10cが通信装置10aから連続して受信したパケットのうちの最後パケットを示す情報である。この例では、パケットP1、P2、P3が連続受信済みなので、最後パケットP3に相当するシーケンス番号(seq=X2+h)が連続受信済みパケット情報になる。
[Step S55] The communication device 10c transmits continuously received packet information and packet loss information when a packet loss is detected to the active communication device 10a.
The continuously received packet information is information indicating the last packet among the packets continuously received by the communication device 10c from the communication device 10a. In this example, since packets P1, P2, and P3 have been consecutively received, the sequence number (seq=X2+h) corresponding to the last packet P3 is the consecutively received packet information.

また、パケットロス情報は、ロスしたパケットを示す情報である。この例では、パケットP4がロスしているので、パケットP4に相当するシーケンス番号(seq=X2+Y1+2h)がパケットロス情報になる。 Also, the packet loss information is information indicating lost packets. In this example, since packet P4 is lost, the sequence number (seq=X2+Y1+2h) corresponding to packet P4 is the packet loss information.

〔ステップS56〕通信装置10aは、連続受信済みパケット情報にもとづいて、送信バッファ12a1に格納されているパケットを削除する。この例では、送信バッファ12a1内からパケットP1、P2、P3が削除される。また、通信装置10aは、パケットロス情報にもとづいて、ロスしたパケット(この例ではパケットP4)の再送を行う。 [Step S56] The communication device 10a deletes the packets stored in the transmission buffer 12a1 based on the continuously received packet information. In this example, packets P1, P2, and P3 are deleted from the transmission buffer 12a1. Further, the communication device 10a retransmits the lost packet (packet P4 in this example) based on the packet loss information.

〔ステップS57〕通信装置10cは、待機系の通信装置10bに向けて、コネクション上でどこまでのデータがサーバへ送信されたかを示す応答情報を送信する。この例では、コネクションCon1上でパケットP1、P2の連続データを送信している。よって、通信装置10cは、コネクション識別子のCon1と、連続データの長さのX2とを応答情報にして通信装置10bへ送信する。 [Step S57] The communication device 10c transmits response information indicating how much data has been transmitted to the server over the connection to the standby communication device 10b. In this example, continuous data packets P1 and P2 are transmitted over connection Con1. Therefore, the communication device 10c transmits the connection identifier Con1 and the continuous data length X2 as response information to the communication device 10b.

〔ステップS58〕通信装置10bは、応答情報にもとづいて、サーバへ送信済みのデータをデータ格納部12c2から削除する。この例では、コネクションCon1を介してデータ長がX2までのデータがサーバ31へ送信されたことを検出できるので、通信装置10bは、データ格納部12c2からデータd1、d2を削除する。 [Step S58] Based on the response information, the communication device 10b deletes the data transmitted to the server from the data storage section 12c2. In this example, it can be detected that data with a data length up to X2 has been transmitted to the server 31 via the connection Con1, so the communication device 10b deletes the data d1 and d2 from the data storage unit 12c2.

ここで、パケットロスの検出制御について説明する。どのパケットがロスしているかはシーケンス番号および制御ヘッダから検出することができる。通信装置10cの受信バッファ12b3には、データ長(Len=Y2)が設定された制御ヘッダHc2を有するパケットP3が格納されている。したがって、コネクションCon2で伝送されるデータのうち、データ長=Y1までのデータは受信済みである。 Here, packet loss detection control will be described. Which packet is lost can be detected from the sequence number and control header. A packet P3 having a control header Hc2 in which a data length (Len=Y2) is set is stored in the reception buffer 12b3 of the communication device 10c. Therefore, of the data transmitted through connection Con2, data up to data length=Y1 has already been received.

また、パケットP3のシーケンス番号はX2+hなので、次に受信されるべきパケット(パケットP4)のシーケンス番号はX2+hに、パケットP3のデータ長のY1と、パケットP3の制御ヘッダHc2の長さのhとが加算されたX2+Y1+2hの通信プロトコルヘッダを持つパケットが受信されるはずである。 Also, since the sequence number of packet P3 is X2+h, the sequence number of the packet to be received next (packet P4) is X2+h, the data length of packet P3 is Y1, and the length of the control header Hc2 of packet P3 is h. should be received with a communication protocol header of X2+Y1+2h.

しかし、通信装置10cは、このシーケンス番号を持つパケットは受信しておらず、また、パケットP3の受信後に新たな制御ヘッダHc3が付与されているパケットP5を受信している。したがって、パケットP3と連続するパケット(パケットP4)がロスしていることが検出される。 However, the communication device 10c has not received a packet with this sequence number, and has received a packet P5 to which a new control header Hc3 has been added after receiving the packet P3. Therefore, it is detected that a packet (packet P4) following packet P3 is lost.

なお、コネクションCon1で伝送されるデータのうち、データ長=X-X2のデータであるパケットP5は受信済みであり、かつコネクションCon1に関係する制御ヘッダを含むパケットは他には存在しない。このため、コネクションCon1のうち、通信装置10aが送信済みで通信装置10cが未受信のパケットは存在しないと判定される。 Among the data transmitted through the connection Con1, the packet P5 having a data length of XX2 has already been received, and there is no other packet containing a control header related to the connection Con1. Therefore, it is determined that there is no packet in the connection Con1 that has been transmitted by the communication device 10a but has not been received by the communication device 10c.

パケットロスの検出制御について、さらに説明する。パケットP3内の分割データd11に付与された通信プロトコルヘッダHp3に含まれるシーケンス番号は、X2+hである。通信装置10cは、このシーケンス番号に分割データd11のデータ長=Y1と、分割データd11に付与されている制御ヘッダHc2の長さ(h)とを加算して、シーケンス番号(X2+Y1+2h)を算出する。 Packet loss detection control will be further described. The sequence number included in the communication protocol header Hp3 attached to the divided data d11 in the packet P3 is X2+h. The communication device 10c adds the data length=Y1 of the divided data d11 and the length (h) of the control header Hc2 attached to the divided data d11 to this sequence number to calculate the sequence number (X2+Y1+2h). .

また、通信装置10cは、制御ヘッダHc2に含まれるデータ長の情報(Y2)から、分割データd11のデータ長=Y1を引いたデータ長=Y2-Y1を算出する。
そして、通信装置10cは、受信済みパケットに付与されているシーケンス番号のうちシーケンス番号(X2+Y1+2h)がないことを検出したとする。この場合、通信装置10cは、シーケンス番号(X2+Y1+2h)が付与されており、かつデータ長=Y2-Y1を持つ分割データ(分割データd12)を含むパケット(パケットP4)を未受信パケットとして検出する。
Further, the communication device 10c calculates the data length=Y2−Y1 by subtracting the data length=Y1 of the divided data d11 from the data length information (Y2) included in the control header Hc2.
Then, assume that the communication device 10c detects that there is no sequence number (X2+Y1+2h) among the sequence numbers assigned to the received packet. In this case, the communication device 10c detects the packet (packet P4) including the divided data (divided data d12) having the sequence number (X2+Y1+2h) and the data length=Y2−Y1 as an unreceived packet.

このように、通信装置10cは、シーケンス番号を含む通信プロトコルヘッダと、コネクション識別子およびデータ長情報が含まれる制御ヘッダとにもとづいて、ロスしたパケットを効率よく的確に検出することが可能になる。 Thus, the communication device 10c can efficiently and accurately detect lost packets based on the communication protocol header including the sequence number and the control header including the connection identifier and data length information.

<現用系の通信装置の故障が検知されたときの動作>
図10は現用系の通信装置の故障が検知されたときの動作の一例を示す図である。
〔ステップS61〕通信装置10bは、通信装置10aの故障を検知する。なお、故障検知は、通信装置10a、10bの双方で行われている。また、故障検知手段としては、例えば、定期的に送信されるkeep aliveパケットにもとづいて、故障検知を行うことができる。
<Operation when failure of active communication device is detected>
FIG. 10 is a diagram showing an example of the operation when a failure of the active communication device is detected.
[Step S61] The communication device 10b detects a failure of the communication device 10a. Note that failure detection is performed by both the communication devices 10a and 10b. Further, as the failure detection means, for example, failure detection can be performed based on keep alive packets that are periodically transmitted.

〔ステップS62〕通信装置10bは、通信装置10aの故障を検知した場合、待機系から現用系に切り替わる。また、通信装置10bは、通信装置10aに代わって自身が現用系に切り替わった旨を示す系切替え情報を通信装置10cに送信する。なお、系切替え情報は、図2に示したルータ51、WAN6、ルータ52を経由して通信装置10cへ送信される。 [Step S62] When the communication device 10b detects a failure of the communication device 10a, it switches from the standby system to the active system. Further, the communication device 10b transmits to the communication device 10c system switching information indicating that the communication device 10b itself has switched to the active system instead of the communication device 10a. Note that the system switching information is transmitted to the communication device 10c via the router 51, the WAN 6, and the router 52 shown in FIG.

<待機系の通信装置が現用系に切り替わった後の動作>
図11は待機系の通信装置が現用系に切り替わった後の動作の一例を示す図である。
〔ステップS71〕現用系に切り替わった通信装置10bは、通信装置10cに対して、未受信分割データがあるかないかの未受信分割データの問い合わせ要求を送信する。
<Operation after the standby communication device is switched to the active system>
FIG. 11 is a diagram showing an example of the operation after the standby communication device is switched to the active communication device.
[Step S71] The communication device 10b, which has switched to the active system, transmits to the communication device 10c an inquiry request for unreceived divided data as to whether or not there is unreceived divided data.

〔ステップS72〕通信装置10cは、受信バッファ12b3の格納状態から未受信パケットを検出した場合、未受信検出情報7を生成し、通信装置10bに対して未受信検出情報7を送信する。 [Step S72] When detecting an unreceived packet from the storage state of the reception buffer 12b3, the communication device 10c generates non-reception detection information 7 and transmits the non-reception detection information 7 to the communication device 10b.

なお、通信装置10cは、パケットP4が未受信である。この場合、通信装置10cは、コネクション識別子=Con2、分割開始位置=Y1、データ長=Y2-Y1を含む未受信検出情報7を生成して通信装置10bへ送信する。 Note that the communication device 10c has not yet received the packet P4. In this case, the communication device 10c generates non-reception detection information 7 including connection identifier=Con2, division start position=Y1, and data length=Y2-Y1, and transmits it to the communication device 10b.

〔ステップS73〕通信装置10bは、未受信検出情報7にもとづいて、通信装置10cはデータd12が未受信であることを検出する。
〔ステップS74〕通信装置10bは、データ格納部12b2からデータd12を抽出して通信装置10cに送信する。
[Step S73] Based on the non-reception detection information 7, the communication device 10b detects that the data d12 has not been received by the communication device 10c.
[Step S74] The communication device 10b extracts the data d12 from the data storage section 12b2 and transmits it to the communication device 10c.

ここで、未受信検出情報7について説明する。パケットP3は通信装置10cに受信されている。パケットP3の制御ヘッダHc2には、コネクション識別子のCon2およびデータ長=Y2が含まれ、データ長=Y1のデータd11がパケットP3に含まれている。 Here, the non-receipt detection information 7 will be explained. Packet P3 has been received by communication device 10c. The control header Hc2 of the packet P3 includes the connection identifier Con2 and the data length=Y2, and the packet P3 includes the data d11 with the data length=Y1.

そして、パケットP4がロスしていることは検出されているから、これらの情報により、通信装置10cは、コネクションCon2上のデータであって、データ先頭がY1から始まり、データ長がY2-Y1のデータが未受信と検出できる。 Since it is detected that the packet P4 is lost, the communication device 10c detects the data on the connection Con2, which starts from Y1 and has a data length of Y2-Y1. Data can be detected as not received.

このため、通信装置10cは、コネクション識別子=Con2、分割開始位置=Y1、データ長=Y2-Y1を含む未受信検出情報7を生成することができる。このような未受信検出情報7を通信装置10bが受信することで、通信装置10bは、データ格納部12c2に格納してあるデータから、未受信データを的確に検出することが可能になる。 Therefore, the communication device 10c can generate the non-receipt detection information 7 including connection identifier=Con2, division start position=Y1, and data length=Y2-Y1. When the communication device 10b receives such non-reception detection information 7, the communication device 10b can accurately detect non-reception data from the data stored in the data storage unit 12c2.

<動作シーケンス>
次に上述した動作について、図12から図15のシーケンス図を用いてさらに説明する。
<Operation sequence>
Next, the operation described above will be further described with reference to the sequence diagrams of FIGS. 12 to 15. FIG.

図12は新規コネクション受付時の動作シーケンスの一例を示す図である。
〔ステップS101〕クライアント端末21および通信装置10a間で3ウェイハンドシェイクが行われる。すなわち、クライアント端末21は、SYNパケット(接続要求)を通信装置10aに送信する。通信装置10aは、SYN+ACKパケット(接続許可)をクライアント端末21に返信する。クライアント端末21は、ACKパケット(接続開始)を通信装置10aに送信する。
FIG. 12 is a diagram showing an example of an operation sequence when accepting a new connection.
[Step S101] A three-way handshake is performed between the client terminal 21 and the communication device 10a. That is, the client terminal 21 transmits a SYN packet (connection request) to the communication device 10a. The communication device 10 a returns a SYN+ACK packet (connection permission) to the client terminal 21 . The client terminal 21 transmits an ACK packet (connection start) to the communication device 10a.

〔ステップS102〕通信装置10aは、データ格納部12c1にコネクション情報を格納する。
〔ステップS103〕通信装置10aは、新規のコネクション確立要求をコネクション情報と共に通信装置10cに送信する。
[Step S102] The communication device 10a stores the connection information in the data storage section 12c1.
[Step S103] The communication device 10a transmits a new connection establishment request together with the connection information to the communication device 10c.

〔ステップS104〕通信装置10cは、受信したコネクション情報をデータ格納部12c3に格納する。
〔ステップS105〕通信装置10cおよびサーバ31間で3ウェイハンドシェイクが行われる。すなわち、通信装置10cはSYNパケットをサーバ31に送信する。サーバ31は、SYN+ACKパケットを通信装置10cに返信する。通信装置10cは、ACKパケットをサーバ31に送信する。
[Step S104] The communication device 10c stores the received connection information in the data storage section 12c3.
[Step S105] A three-way handshake is performed between the communication device 10c and the server 31. FIG. That is, the communication device 10 c transmits the SYN packet to the server 31 . The server 31 returns a SYN+ACK packet to the communication device 10c. The communication device 10 c transmits the ACK packet to the server 31 .

〔ステップS106〕通信装置10cは、新規のコネクションを確立した旨のコネクションの確立通知を通信装置10aに送信する。
〔ステップS107〕通信装置10aは、通信装置10bにコネクション情報を送信する。
[Step S106] The communication device 10c transmits a connection establishment notification to the communication device 10a indicating that a new connection has been established.
[Step S107] The communication device 10a transmits connection information to the communication device 10b.

〔ステップS108〕通信装置10bは、受信したコネクション情報をデータ格納部12c2に格納する。
図13はクライアント端末からの送信データの受信およびプロトコル変換の動作シーケンスの一例を示す図である。
[Step S108] The communication device 10b stores the received connection information in the data storage section 12c2.
FIG. 13 is a diagram showing an example of an operation sequence for receiving transmission data from a client terminal and protocol conversion.

〔ステップS110〕クライアント端末21を送信元とするデータ長=X2のデータが、通信装置10a、10bに送信される。
〔ステップS111a〕通信装置10aは、受信データをデータ格納部12c1に格納する。
[Step S110] Data of data length=X2 originating from the client terminal 21 is transmitted to the communication devices 10a and 10b.
[Step S111a] The communication device 10a stores the received data in the data storage section 12c1.

〔ステップS111b〕通信装置10bは、受信データをデータ格納部12c2に格納する。
〔ステップS112〕通信装置10aは、格納したデータのプロトコル変換を行い(データ長=X1、X2-X1に分割してヘッダ付与)、送信バッファ12a1にプロトコル変換後のパケットを格納する。
[Step S111b] The communication device 10b stores the received data in the data storage section 12c2.
[Step S112] The communication device 10a performs protocol conversion on the stored data (data length=X1, divides into X2-X1 and adds headers), and stores the protocol-converted packet in the transmission buffer 12a1.

〔ステップS113〕通信装置10aは、データ(パケットP1、P2)を通信装置10cへ送信する。
〔ステップS114〕クライアント端末22を送信元とするデータ長=Y2のデータが、通信装置10a、10bに送信される。
[Step S113] The communication device 10a transmits the data (packets P1 and P2) to the communication device 10c.
[Step S114] The data of data length=Y2 originating from the client terminal 22 is transmitted to the communication devices 10a and 10b.

〔ステップS115a〕通信装置10aは、受信データをデータ格納部12c1に格納する。
〔ステップS115b〕通信装置10bは、受信データをデータ格納部12c2に格納する。
[Step S115a] The communication device 10a stores the received data in the data storage section 12c1.
[Step S115b] The communication device 10b stores the received data in the data storage section 12c2.

〔ステップS116〕通信装置10aは、格納したデータのプロトコル変換を行い(データ長=Y1、Y2-Y1に分割してヘッダ付与)、送信バッファ12a1にプロトコル変換後のパケットを格納する。 [Step S116] The communication device 10a performs protocol conversion on the stored data (data length=Y1, divides into Y2-Y1 and adds headers), and stores the packet after protocol conversion in the transmission buffer 12a1.

〔ステップS117〕通信装置10aは、データ(パケットP3、P4)を通信装置10cへ送信する。
〔ステップS118〕クライアント端末21を送信元とするデータ長=X-X2のデータが、通信装置10a、10bに送信される。
[Step S117] The communication device 10a transmits the data (packets P3 and P4) to the communication device 10c.
[Step S118] The data of data length=XX2 whose transmission source is the client terminal 21 is transmitted to the communication devices 10a and 10b.

〔ステップS119a〕通信装置10aは、受信データをデータ格納部12c1に格納する。
〔ステップS119b〕通信装置10bは、受信データをデータ格納部12c2に格納する。
[Step S119a] The communication device 10a stores the received data in the data storage section 12c1.
[Step S119b] The communication device 10b stores the received data in the data storage section 12c2.

〔ステップS120〕通信装置10aは、格納したデータのプロトコル変換(ヘッダ付与)を行い、送信バッファ12a1にプロトコル変換後のパケットを格納する。
〔ステップS121〕通信装置10aは、データ(パケットP5)を通信装置10cへ送信する。
[Step S120] The communication device 10a performs protocol conversion (adding a header) to the stored data, and stores the protocol-converted packet in the transmission buffer 12a1.
[Step S121] The communication device 10a transmits data (packet P5) to the communication device 10c.

図14は対向装置からデータが宛先へ送信される場合の動作シーケンスの一例を示す図である。
〔ステップS130〕通信装置10aから通信装置10cへデータが送信される。
FIG. 14 is a diagram showing an example of an operation sequence when data is transmitted from the counterpart device to the destination.
[Step S130] Data is transmitted from the communication device 10a to the communication device 10c.

〔ステップS131〕通信装置10cは、受信データを受信バッファ12b3に格納する。
〔ステップS132a〕通信装置10cは、制御ヘッダに示されるデータ長を持つ複数のデータが連続して受信バッファ12b3に格納されている場合、プロトコル変換時に付与されたヘッダを削除して該データをサーバ31へ送信する。
[Step S131] The communication device 10c stores the received data in the reception buffer 12b3.
[Step S132a] When a plurality of pieces of data having the data length indicated by the control header are continuously stored in the reception buffer 12b3, the communication device 10c deletes the header added during protocol conversion and sends the data to the server. 31.

〔ステップS132b〕通信装置10cは、受信バッファ12b3から送信済みデータを削除する。
〔ステップS133a〕通信装置10cは、確認応答として、連続受信済みパケット情報と、パケットロスを検出した場合はパケットロス情報とを通信装置10aに送信する。なお、ステップS133a以降の動作は、前回の確認応答から一定期間経過している場合の動作になる。
[Step S132b] The communication device 10c deletes the transmitted data from the reception buffer 12b3.
[Step S133a] As an acknowledgment, the communication device 10c transmits, to the communication device 10a, the continuously received packet information and the packet loss information when a packet loss is detected. It should be noted that the operation after step S133a is performed when a certain period of time has passed since the previous confirmation response.

〔ステップS133b〕通信装置10aは、連続受信済みパケット情報にもとづいて、通信装置10cで受信が完了したパケットを送信バッファ12a1から削除する。
〔ステップS133c〕通信装置10cは、サーバ31へ送信したデータを示す応答情報を通信装置10bへ送信する。
[Step S133b] Based on the continuously received packet information, the communication device 10a deletes the packets that have been completely received by the communication device 10c from the transmission buffer 12a1.
[Step S133c] The communication device 10c transmits response information indicating the data transmitted to the server 31 to the communication device 10b.

〔ステップS133d〕通信装置10bは、応答情報にもとづいて、通信装置10cから送信が完了したパケットをデータ格納部12c2から削除する。
図15は現用系の通信装置の故障が検知されたときの動作シーケンスの一例を示す図である。
[Step S133d] Based on the response information, the communication device 10b deletes the packet that has been transmitted from the communication device 10c from the data storage unit 12c2.
FIG. 15 is a diagram showing an example of an operation sequence when a failure of the active communication device is detected.

〔ステップS140〕通信装置10a、10b間でkeep aliveパケットのやりとりが行われる。
〔ステップS141〕通信装置10aが故障して動作が停止する。
[Step S140] Keep alive packets are exchanged between the communication devices 10a and 10b.
[Step S141] The communication device 10a fails and stops operating.

〔ステップS142〕通信装置10bは、通信装置10aに対してkeep aliveパケットの送信を続ける。
〔ステップS143〕通信装置10bは、keep aliveパケットを通信装置10aに所定回数送信しても返信を受信できない場合、通信装置10aの故障を検知し、現用系に切り替わる。
[Step S142] The communication device 10b continues transmitting keep alive packets to the communication device 10a.
[Step S143] If the communication device 10b cannot receive a reply even after transmitting the keep alive packet to the communication device 10a a predetermined number of times, it detects a failure of the communication device 10a and switches to the active system.

〔ステップS144〕通信装置10bは、自身が現用系に切り替わった旨の系切替え情報を通信装置10cへ送信する。
上記で説明した本発明の通信装置1および通信装置10の処理機能は、コンピュータによって実現することができる。この場合、通信装置1および通信装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
[Step S144] The communication device 10b transmits to the communication device 10c system switching information indicating that the communication device 10b itself has been switched to the active system.
The processing functions of the communication device 1 and the communication device 10 of the present invention described above can be realized by a computer. In this case, a program describing the processing contents of the functions that the communication device 1 and the communication device 10 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer.

処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD、DVD-RAM、CD-ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。 A program describing the processing content can be recorded in a computer-readable recording medium. Computer-readable recording media include magnetic storage devices, optical disks, magneto-optical recording media, semiconductor memories, and the like. Magnetic storage devices include hard disk devices (HDD), flexible disks (FD), magnetic tapes, and the like. Optical discs include DVD, DVD-RAM, CD-ROM/RW, and the like. Magneto-optical recording media include MO (Magneto Optical disk) and the like.

プログラムを流通させる場合、例えば、そのプログラムが記録されたDVD、CD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing a program, for example, portable recording media such as DVDs and CD-ROMs on which the program is recorded are sold. It is also possible to store the program in the storage device of the server computer and transfer the program from the server computer to another computer via the network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。 A computer that executes a program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. The computer then reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program.

また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。 In addition, the computer can also execute processing according to the received program every time the program is transferred from a server computer connected via a network. At least part of the processing functions described above can also be realized by electronic circuits such as DSPs, ASICs, and PLDs.

以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。 Although the embodiment has been exemplified above, the configuration of each part shown in the embodiment can be replaced with another one having the same function. Also, any other components or steps may be added. Furthermore, any two or more configurations (features) of the above-described embodiments may be combined.

1、1-1、1-2、1-3 通信装置
1a、1a1、1a2、1a3 制御部
1b、1b1、1b2、1b3 記憶部
2 クライアント端末
3 サーバ
Cs1 通信システム
1, 1-1, 1-2, 1-3 communication device 1a, 1a1, 1a2, 1a3 control unit 1b, 1b1, 1b2, 1b3 storage unit 2 client terminal 3 server Cs1 communication system

Claims (6)

受信したデータを格納する記憶部と、
第1の現用系として機能する場合、前記データを分割して分割データを生成し、前記分割データそれぞれにヘッダを付与してプロトコル変換を行って複数のパケットを生成し、生成した前記パケットを対向装置へ送信し、待機系として機能する場合、前記第1の現用系の動作監視を行い、前記第1の現用系の停止を検出した場合は、前記第2の現用系に切り替わったことを前記対向装置へ通知し、前記対向装置から送信された未受信検出情報にもとづいて前記記憶部に格納している前記データから未受信パケットに含まれる未受信分割データを抽出し、抽出した前記未受信分割データを前記対向装置へ送信する制御部と、
を有する通信装置。
a storage unit for storing received data;
When functioning as the first active system, the data is divided to generate divided data, a header is added to each of the divided data, protocol conversion is performed to generate a plurality of packets, and the generated packets are sent to each other. When it is transmitted to the device and functions as a standby system, the operation of the first active system is monitored, and when the stop of the first active system is detected, the switch to the second active system is detected. Notifying the opposite device, extracting the unreceived divided data contained in the unreceived packet from the data stored in the storage unit based on the non-receipt detection information transmitted from the opposite device, and extracting the unreceived packet a control unit that transmits divided data to the opposed device;
A communication device having a
前記制御部は、前記ヘッダとして、
前記分割データのすべてにシーケンス番号を含む第1のヘッダを付与し、
連続する複数の前記分割データを含む分割データ群のうちの先頭分割データにはさらに、前記分割データ群が伝送されるコネクションの識別子および前記分割データ群のデータ長情報を含む第2のヘッダを付与し、
非連続の単一分割データにはさらに、前記単一分割データが伝送されるコネクションの識別子および前記単一分割データのデータ長情報を含む第3のヘッダを付与する請求項1記載の通信装置。
The control unit, as the header,
giving a first header including a sequence number to all of the divided data;
A second header including an identifier of a connection through which the divided data group is transmitted and data length information of the divided data group is added to the head divided data of the divided data group including the plurality of continuous divided data. death,
2. The communication apparatus according to claim 1, wherein the discontinuous single data segment is further provided with a third header including an identifier of a connection through which said single data segment is transmitted and data length information of said single data segment.
前記制御部は、
受信済みの第1のパケット内の第1の分割データに付与された前記第1のヘッダに含まれる第1のシーケンス番号に、前記第1の分割データの第1のデータ長と、前記第1の分割データに付与されている前記第2のヘッダまたは前記第3のヘッダの長さとを加算して第2のシーケンス番号を算出し、
前記第2のヘッダまたは前記第3のヘッダに含まれる前記データ長情報から前記第1のデータ長を引いた第2のデータ長を算出し、
受信済みパケットに付与されている前記シーケンス番号のうち前記第2のシーケンス番号が未検出の場合、前記第2のシーケンス番号が付与されており、かつ前記第2のデータ長の第2の分割データを含む第2のパケットを前記未受信パケットとして検出する請求項2記載の通信装置。
The control unit
The first sequence number included in the first header attached to the first divided data in the received first packet includes the first data length of the first divided data and the first sequence number. calculating a second sequence number by adding the length of the second header or the third header attached to the divided data of
calculating a second data length by subtracting the first data length from the data length information included in the second header or the third header;
When the second sequence number among the sequence numbers assigned to the received packet is not detected, second divided data to which the second sequence number is assigned and which has the second data length. 3. The communication device according to claim 2, wherein a second packet containing is detected as the unreceived packet.
前記制御部は、前記未受信パケットを検出した場合、前記未受信パケットが伝送されるコネクションの識別子と、前記未受信分割データの分割開始位置と、前記未受信分割データのデータ長とを少なくとも含む前記未受信検出情報を生成する請求項1記載の通信装置。 When detecting the unreceived packet, the control unit includes at least an identifier of a connection through which the unreceived packet is transmitted, a division start position of the unreceived divided data, and a data length of the unreceived divided data. 2. The communication device according to claim 1, wherein said non-reception detection information is generated. コンピュータが、
第1の現用系として機能する場合、受信したデータを分割して分割データを生成し、前記分割データそれぞれにヘッダを付与してプロトコル変換を行って複数のパケットを生成し、生成した前記パケットを対向装置へ送信し、
待機系として機能する場合、前記第1の現用系の動作監視を行い、前記第1の現用系の停止を検出した場合は、前記第2の現用系に切り替わったことを前記対向装置へ通知し、前記対向装置から送信された未受信検出情報にもとづいて記憶部に格納している前記データから未受信パケットに含まれる未受信分割データを抽出し、抽出した前記未受信分割データを前記対向装置へ送信する、
処理を実行する通信制御方法。
the computer
When functioning as the first active system, the received data is divided to generate divided data, a header is added to each of the divided data, protocol conversion is performed to generate a plurality of packets, and the generated packets are generated. Send to the opposite device,
When functioning as a standby system, the operation of the first active system is monitored, and when the stop of the first active system is detected, the opposite device is notified of the switching to the second active system. extracting unreceived divided data included in the unreceived packet from the data stored in the storage unit based on the unreceived detection information transmitted from the counterpart device, and transmitting the extracted unreceived divided data to the counterpart device; send to
A communication control method that performs processing.
コンピュータに、
第1の現用系として機能する場合、受信したデータを分割して分割データを生成し、前記分割データそれぞれにヘッダを付与してプロトコル変換を行って複数のパケットを生成し、生成した前記パケットを対向装置へ送信し、
待機系として機能する場合、前記第1の現用系の動作監視を行い、前記第1の現用系の停止を検出した場合は、前記第2の現用系に切り替わったことを前記対向装置へ通知し、前記対向装置から送信された未受信検出情報にもとづいて記憶部に格納している前記データから未受信パケットに含まれる未受信分割データを抽出し、抽出した前記未受信分割データを前記対向装置へ送信する、
処理を実行させるプログラム。
to the computer,
When functioning as the first active system, the received data is divided to generate divided data, a header is added to each of the divided data, protocol conversion is performed to generate a plurality of packets, and the generated packets are generated. Send to the opposite device,
When functioning as a standby system, the operation of the first active system is monitored, and when the stop of the first active system is detected, the opposite device is notified of the switching to the second active system. extracting unreceived divided data included in the unreceived packet from the data stored in the storage unit based on the unreceived detection information transmitted from the counterpart device, and transmitting the extracted unreceived divided data to the counterpart device; send to
A program that causes an action to take place.
JP2019043650A 2019-03-11 2019-03-11 Communication device, communication control method and program Active JP7174248B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019043650A JP7174248B2 (en) 2019-03-11 2019-03-11 Communication device, communication control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019043650A JP7174248B2 (en) 2019-03-11 2019-03-11 Communication device, communication control method and program

Publications (2)

Publication Number Publication Date
JP2020150300A JP2020150300A (en) 2020-09-17
JP7174248B2 true JP7174248B2 (en) 2022-11-17

Family

ID=72429900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019043650A Active JP7174248B2 (en) 2019-03-11 2019-03-11 Communication device, communication control method and program

Country Status (1)

Country Link
JP (1) JP7174248B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080098A (en) 2002-08-09 2004-03-11 Canon Inc Communication network, node apparatus and control method for them
JP2006310928A (en) 2005-04-26 2006-11-09 Yokogawa Electric Corp Gateway system
US20110164494A1 (en) 2010-01-07 2011-07-07 Samsung Electronics Co., Ltd. Method for operating a virtual router redundancy protocol router and communication system therefor
WO2012127644A1 (en) 2011-03-23 2012-09-27 株式会社日立製作所 Communication node apparatus system, apparatus, and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080098A (en) 2002-08-09 2004-03-11 Canon Inc Communication network, node apparatus and control method for them
JP2006310928A (en) 2005-04-26 2006-11-09 Yokogawa Electric Corp Gateway system
US20110164494A1 (en) 2010-01-07 2011-07-07 Samsung Electronics Co., Ltd. Method for operating a virtual router redundancy protocol router and communication system therefor
WO2012127644A1 (en) 2011-03-23 2012-09-27 株式会社日立製作所 Communication node apparatus system, apparatus, and method

Also Published As

Publication number Publication date
JP2020150300A (en) 2020-09-17

Similar Documents

Publication Publication Date Title
JP5828954B2 (en) Packet processing method and router during server failure
KR101100244B1 (en) Rapid response method for the failure of links between different routing domains
JP5062845B2 (en) Route switching method, server device, boundary node device, route switching system, and route switching program
US20180123872A1 (en) Stand-by controller assisted failover
US20140029419A1 (en) System, method and apparatus providing mvpn fast failover
US20090086622A1 (en) Method and Apparatus for Performing a Graceful Restart in a NSF-Capable Router Without Enhancing Link State Routing Protocols
US20060153068A1 (en) Systems and methods providing high availability for distributed systems
CN102724073A (en) Method for network traffic recovery and routing device
JP5185469B2 (en) Method, device and system for main / standby switching
WO2012119522A1 (en) Method and apparatus for processing link fault
KR20150002474A (en) Methods for recovering failure in communication networks
JP7174248B2 (en) Communication device, communication control method and program
JP2008061139A (en) Network monitoring device, network monitoring method, and computer program
KR101589384B1 (en) Method of failover for bgp routing
JP2007141129A (en) System switching method, computer system and program
US7570584B1 (en) Network-wide congestion control of SPVC signaling messages
JP4863984B2 (en) Monitoring processing program, method and apparatus
JP4818338B2 (en) Monitoring server, network monitoring method
CN114338505B (en) Route calculation method, device, storage medium and computer equipment
US7623464B2 (en) Rapid protocol failure detection
CN116760830B (en) Method and device for processing routing information, computer readable medium and electronic equipment
JP6179981B2 (en) Information processing system, information processing apparatus, information processing method, and program
JP2018064179A (en) Transmission device, program, and network system
JP5378239B2 (en) Information transmission system, information transmission method, and relay switch device
CN116488998A (en) Network protection switching method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20211213

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20211213

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7174248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150