(第1の実施形態)
本発明の第1の実施形態について図を参照して詳細に説明する。図1は、本実施形態のノードの構成の概要を示したものである。本実施形態のノードは、通信手段1と、時刻生成手段2と、同期手段3を備えている。
通信手段1は、複数のノードのいずれかを現用系として通信を行う通信装置とパケットの送受信を行う。時刻生成手段2は、自ノードが現用系として稼働しているときに現用系のノードの切り替えが行われる際に、アドレス送信時刻の情報、および、転送開始時刻の情報を生成する。アドレス送信時刻は、複数のノードそれぞれが、稼働状態に基づいて自ノードに割り当てられている所定のアドレスを、通信装置に送信する時刻である。転送開始時刻は、通信装置が切り替え先のノードにパケットの転送を開始する時刻である。同期手段3は、通信装置に通信手段1を介して、自ノードへのパケットの転送の停止を通知する。また、同期手段3は、アドレス送信時刻よりも前に、他のノードにアドレス送信時刻の情報を通知し、通信装置に転送開始時刻の情報を通知し、アドレス送信時刻に、待機系としての稼働時に自ノードに割り当てられている所定のアドレスを通信装置に通知する。
本実施形態のノードは、現用系のノードの切り替えが行われる際に、パケットの転送の停止を通知している。また、本実施形態のノードは、現用系のノードの切り替えが行われる際に、アドレス送信時刻および転送開始時刻の情報を時刻生成手段2によって生成し、同期手段3において他のノードおよび通信装置にそれぞれ通知している。本実施形態のノードおよび同じ通信装置と通信を行っている他のノードは、アドレス送信時刻の情報を基に、自装置のアドレスを通信装置に送信することができる。また、通信装置は、各ノードから受信したアドレスと転送開始時刻を基に、新たなパケットの転送先と、パケットの転送の開始のタイミングを判断することができる。このように、本実施形態のノードを用いることで、時刻の情報の通知を基にした簡略な方法でノード間の同期を行いつつ、パケットの転送の再開に要する時間を管理して現用系のノードを切り替えることが可能になる。また、本実施形態のノードを用いることで、ノードの切り替えをパケットの転送を停止している間に行うことができるので、転送の再開時にパケットの再送等を必要としない。その結果、本実施形態のノードを用いることで、システムの複雑化を抑制しつつ、ノードの切り替えに要する時間を抑制することができる。
(第2の実施形態)
本発明の第2の実施形態について図を参照して詳細に説明する。図2は、本実施形態の通信システムの構成の概要を示したものである。本実施形態の通信システムは、第1のノード11と、第2のノード12と、第1のスイッチ13と、第2のスイッチ14と、高精度時計15を備えている。
第1のノード11と第1のスイッチ13の間は、ネットワーク接続21で接続されている。第2のノード12と第1のスイッチ13の間は、ネットワーク接続22で接続されている。第1のノード11と第2のスイッチ14の間は、ネットワーク接続23で接続されている。第2のノード12と、第2のスイッチ14の間は、ネットワーク接続24で接続されている。第1のノード11と第2のノード12の間は、ノード間接続25で接続されている。
第1のスイッチ13は、ネットワーク26に接続されている。第2のスイッチ14は、ネットワーク27に接続されている。本実施形態の通信システムでは、ネットワーク26は内部ネットワーク、ネットワーク27は外部ネットワークとして構成されている。また、高精度時計15は、時刻の情報を生成し、第1のノード11および第2のノード12に出力する。
本実施形態の通信システムは、第1のノード11または第2のノード12のうち、いずれか一方を現用系、もう一方を待機系としてノードが冗長化された通信システムである。ネットワーク26およびネットワーク27に接続された情報装置等は、第1のノード11または第2のノード12のうち、現用系として稼働しているノードとパケット通信を行う。本実施形態の通信システムでは、第1のノード11および第2のノード12のいずれが現用系として稼働している場合においても、現用系として稼働している側のノードが現用系のMACアドレスを有するノードとして動作する。一方のノードが現用系のMACアドレスを有するノードとして稼働しているときは、もう一方の待機系のノードは、現用系のときとは異なる待機系として稼働する際のMACアドレスを有するノードとして稼働する。また、第1のスイッチ13および第2のスイッチ14が現用系のMACアドレスのノードを選択してパケットの転送を行うため、ネットワーク上の情報装置等は、現用系のノードに関わらず同一のMACアドレスをパケットの送信先として通信を行う。
本実施形態の通信システムに備えられている各装置の構成について説明する。図3は、第1のノード11および第2のノード12の構成の概要を詳細に示したものである。第1のノード11は、演算処理部31と、同期制御部32と、時刻情報生成部33とネットワーク制御部34を備えている。
演算処理部31は、他の情報装置等から入力されるパケットを基にデータ処理を行う機能を有する。演算処理部31は、他の情報装置等から入力されるパケットを基にデータ処理を行って、結果を出力する。演算処理部31は、例えば、CPU(Central Processing Unit)、半導体記憶装置、ハードディスクドライブおよびそれらに記憶されたコンピュータプログラム等を用いて構成されている。
同期制御部32は、現用系のノードの切り替えの際に、他のノードやスイッチなどの他の通信装置と同期して行う動作を制御する機能を有する。同期制御部32は、現用系と待機系のノードの切り替えが行われる際に、他のノードである第2のノード12と自装置の動作を同期させる。同期制御部32は、自装置が現用系として稼働中であるときに、ノードの切り替え指示を受け取ると、切り替えに関する各時刻を算出する要求を時刻情報生成部33に送る。同期制御部32は、切り替えに関する各時刻として、ネットワークに対する停止指示を発生させる時刻T2、各ノードのアドレスをスイッチに送信する時刻T3およびネットワークの停止を解除する時刻T4の情報を要求する。
同期制御部32は、時刻T2、時刻T3および時刻T4の情報を時刻情報生成部33から受け取ると、時刻T1と時刻T2の間に、時刻T3の情報を第2のノード12に送る。本実施形態では、自装置が現用系として稼働中であるときに、ノードの切り替え指示を受け取った時刻を時刻T1とする。また、同期制御部32は、時刻T2にネットワークの停止を要求する情報とネットワークの停止を解除する時刻T4の情報を含むパケットを第1のスイッチ13および第2のスイッチ14に送る。ネットワークの停止を要求するパケットを送信した後も、第1のノード11の各部位は、第1のスイッチ13および第2のスイッチ14から自装置宛のパケットが送られてくると、順次、処理を行う。
ネットワークの停止とはスイッチがノードへのパケットの転送を一時停止し、ネットワークから受け取ったパケットを保存している状態のことをいう。ネットワークの停止の解除とは、ノードへのパケットの転送を再開し、保存しているパケットおよび新たにネットワークから受信したパケットを現用系のノードへ転送することをいう。
同期制御部32は、時刻T3に自装置に割り当てられているMACアドレスの情報を示すARP(Address Resolution Protocol)パケットを第1のスイッチ13および第2のスイッチ14に送る。本実施形態の通信システムでは、現用系のノードのMACアドレスが「MAC−A」、待機系のノードのMACアドレスが「MAC−B」として設定されているとする。現用系のMACアドレスと待機系のMACアドレスは、あらかじめ設定されて同期制御部32およびネットワーク制御部34に保存されている。
同期制御部32は、現用系のノードの切り替えの際に、自装置が現用系から待機系に切り替わるときに、待機系のMACアドレスである「MAC−B」を第1のスイッチ13および第2のスイッチ14に送る。また、同期制御部32は、現用系のノードの切り替えの際に、自装置が待機系から現用系に切り替わるときに、現用系のMACアドレスである「MAC−A」を第1のスイッチ13および第2のスイッチ14に送る。
同期制御部32は、自装置が待機系であるときに、第2のノード12から時刻T3の情報を受け取ると、自装置を起動状態にする。起動状態とは、現用系のノードとしてパケットの送受信およびデータの処理が可能な状態のことをいう。また、本実施形態の同期制御部32は、第1の実施形態の同期手段3に相当する。
時刻情報生成部33は、同期制御部32の要求に基づいて、ネットワークに対する停止の要求を発生させる時刻T2、各ノードが自装置に割り当てられたアドレスをスイッチに送信する時刻T3およびネットワークの停止を解除する時刻T4の情報を生成する。時刻情報生成部33は、次のように時刻T2、時刻T3および時刻T4の情報を生成する。
時刻情報生成部33は、時刻T1以降に第1のスイッチ13および第2のスイッチ14から送られてくるパケットの受信を終える時刻を予測し、時刻T2の情報を生成する。時刻情報生成部33は、例えば、時刻T1以降にさらに1パケットを受信した場合に受信に要する時間をパケット間隔およびパケット長を基に予測して時刻T2の情報を生成する。そのような構成とした場合には、定型的なパケットを1パケット受信する時間の情報は、あらかじめ時刻情報生成部33に保存されている。
時刻情報生成部33は、アドレスをスイッチに送信する時刻の情報を第2のノード12に送信するために要する時間と、自ノードおよび第2のノード12がARPパケットを生成して送信するために要する時間を基に時刻T3の情報を生成する。時刻情報生成部33は、ARPの送信を開始してから第1のスイッチ13および第2のスイッチ14がARPを受信し、スイッチの切り替えを行うのに要する時間を時刻T3に加えて時刻T4を生成する。時刻情報生成部33は、時刻T2、時刻T3および時刻T4の情報を生成すると、生成した各時刻の情報を同期制御部32に送る。また、本実施形態の時刻情報生成部33は、第1の実施形態の時刻生成手段2に相当する。
ネットワーク制御部34は、パケットの送受信を行う機能を有する。ネットワーク制御部34は、受信したパケットの宛先を確認し、自装置宛のパケットである場合は、受信したパケットを演算処理部31に送る。また、ネットワーク制御部34は、演算処理部31が生成したデータをネットワークに送信する。また、ネットワーク制御部34は、同期制御部32が生成した制御用のパケットの送信を行う。また、本実施形態のネットワーク制御部34は、第1の実施形態の通信手段1に相当する。
第2のノード12は、演算処理部41と、同期制御部42と、時刻情報生成部43と、ネットワーク制御部44を備えている。第2のノード12の構成と機能は、第1のノード11と同様である。すなわち、演算処理部41、同期制御部42、時刻情報生成部43およびネットワーク制御部44の構成と機能は、第1のノード11の演算処理部31、同期制御部32、時刻情報生成部33およびネットワーク制御部34とそれぞれ同様である。
同期制御部42は、自装置が待機系であるときに、第1のノード11から時刻T3の情報を受け取ると、自装置を起動状態にする。同期制御部32は、時刻T3にARPパケットを第1のスイッチ13および第2のスイッチ14に送る。第2のノード12の各部位は、第1のスイッチ13および第2のスイッチ14から自装置宛のパケットが送られてくると、順次、処理を行う。
また、時刻情報生成部43は、自装置が現用系として稼働中であるときに、ノードの切り替え指示を受け取ると、第1のノード11と同様に時刻T2、時刻T3および時刻T4の情報を生成する。同期制御部42は、時刻情報生成部43から時刻T2、時刻T3および時刻T4の情報を受け取ると、時刻T1と時刻T2の間に、時刻T3の情報を第1のノード11に送る。また、同期制御部42は、時刻T2にネットワークの停止を要求する情報と時刻T4の情報を含むパケットを第1のスイッチ13および第2のスイッチ14に送る。また、同期制御部32は、時刻T3に自装置のMACアドレスの情報を示すARPパケットを第1のスイッチ13および第2のスイッチ14に送る。
第1のスイッチ13は、パケットの宛先に応じて受信したパケットを転送する機能を有する。第1のスイッチ13は、第1のノード11および第2のノード12とそれぞれのポートを介して接続している。第1のスイッチ13は、ネットワーク26から受信したパケットを、第1のノード11または第2のノード12のうち現用系のノードに転送する。第1のスイッチ13は、ARPパケットとして現用系のMACアドレスを送ってきたノードが現用系のノードであると判断して、ネットワーク26から受け取ったパケットの転送を行う。また、第1のノード11および第2のノード12から受け取ったパケットをネットワーク26に送信する。第1のスイッチ13は、第1のノード11および第2のノード12が接続されたポートと各ノードのMACアドレスを関連づけてアドレステーブルとして管理している。
第1のスイッチ13は、第1のノード11または第2のノード12から、パケットの転送の停止の通知を受け取ると、各ノードへのパケットの転送を停止する。第1のスイッチ13は、パケットの転送を停止している間に、各ネットワークからパケットを受け取ると受け取ったパケットを保存する。第1のスイッチ13は、ネットワークの停止を解除する時刻T4の情報に基づいて、時刻T4から現用系のノードへのパケットの転送を再開する。第1のスイッチ13は、パケットの転送を再開する際に、保存しているパケットがある場合には、保存しているパケットを新たに現用系となったノードに転送する。
第2のスイッチ14は、パケットの宛先に応じて受信したパケットを転送する機能を有する。第2のスイッチ14は、第1のノード11および第2のノード12とそれぞれのポートを介して接続している。第2のスイッチ14は、ネットワーク27から受信したパケットを、第1のノード11または第2のノード12のうち現用系のノードに転送する。第2のスイッチ14は、ARPパケットとして現用系のMACアドレスを送ってきたノードが現用系のノードであると判断して、ネットワーク27から受け取ったパケットの転送を行う。また、第1のノード11および第2のノード12から受け取ったパケットをネットワーク27に送信する。第2のスイッチ14は、第1のノード11および第2のノード12が接続されたポートと各ノードのMACアドレスを関連づけてアドレステーブルとして管理している。
第2のスイッチ14は、第1のノード11または第2のノード12から、パケットの転送の停止の通知を受け取ると、各ノードへのパケットの転送を停止する。第2のスイッチ14は、パケットの転送を停止している間に、各ネットワークからパケットを受け取ると受け取ったパケットを保存する。第2のスイッチ14は、ネットワークの停止を解除する時刻T4の情報に基づいて、時刻T4から現用系のノードへのパケットの転送を再開する。第2のスイッチ14は、パケットの転送を再開する際に、保存しているパケットがある場合には、保存しているパケットを新たに現用系となったノードに転送する。
本実施形態の通信システムでは、第1のスイッチ14および第2のスイッチ14は、現用系のMACアドレスが割り当てられているノードとの間でパケットの転送を行う。また、第1のスイッチ14および第2のスイッチ14は、ノードの切り替えの際は、パケットを一時保存し、切り替えの完了後に新たに現用系となったノードに転送している。よって、ネットワーク26およびネットワーク27に接続されている各装置は、いずれのノードが現用系であるかの認識を必要とせずに現用系のノードと通信を行うことができる。また、本実施形態の通信システムでは、現用系のノードの切り替えの際に、各スイッチがパケットの保存を行っている。よって、ネットワーク26およびネットワーク27に接続されている各装置は、現用系のノードの切り替え動作の影響を受けずに通信を行うことができる。
高精度時計15は、水晶発振器を備え、時刻情報を生成する。高精度時計15は、生成した時刻情報を第1のノード11および第2のノード12の同期制御部に送る。高精度時計15は、GPS(Global Positioning System)から送信される信号を用いて時刻情報を生成する構成としてもよい。高精度時計15の生成した時刻情報は、第1のスイッチ13および第2のスイッチ14にも入力されるようにしてもよい。また、第1のスイッチ13および第2のスイッチ14は、それぞれ時刻情報の生成機能を自装置内に備えていてもよい。
ネットワーク接続21、ネットワーク接続22、ネットワーク接続23およびネットワーク接続24は、第1のノード11、第2のノード12、第1のスイッチ13および第2のスイッチ14の隣接する装置間をそれぞれネットワークケーブル等で接続している。第1のノード11、第2のノード12、第1のスイッチ13および第2のスイッチ14は、隣接する装置と各ネットワーク接続を介して相互にパケットの送受信を行うことができる。各装置間のネットワーク接続は、無線通信方式によって行われてもよい。
ノード間接続25は、第1のノード11の同期制御部32と、第2のノードの同期制御部42の間を信号ケーブルで接続している。第1のノード11の同期制御部32と、第2のノードの同期制御部42は、相互に信号の送受信を行うことができる。また、ノード間接続25は、無線通信方式によって構成されていてもよい。
ネットワーク26は、第1のスイッチ13との間でパケットの送受信を行う。本実施形態のネットワーク26は、内部ネットワークとして構成されている。本実施形態における内部ネットワークとは、工場やオフィス等の限られた範囲で構成されたLAN(Local Area Network)などのことをいう。ネットワーク27は、第2のスイッチ14との間でパケットの送受信を行う。本実施形態のネットワーク27は、外部ネットワークとして構成されている。本実施形態における外部ネットワークとは、内部ネットワークよりも広い範囲で構成されているネットワークのことをいう。また、ネットワーク26およびネットワーク27に接続された情報装置は、第1のノード11および第2のノード12と、現用系のノードに割り当てられるMACアドレスの情報を基にパケットの送受信を行う。
本実施形態の通信システムの動作について説明する。図4は、本実施形態の通信システムにおいて、現用系と待機系のノードの切り替えが行われる際の動作フローの概要を示したものである。以下の説明では、第1のノード11を現用系、第2のノード12を待機系として通信システムが稼働しているとして説明を行う。すなわち、各スイッチのアドレステーブルでは、第1のノード11のMACアドレスが現用系のMACアドレスとして設定され、第2のノード12のMACアドレスが待機系のMACアドレスとして設定されているとする。
第1のノード11が現用系として稼働しているときに、ノードの切り替えが必要になると、作業者や通信管理システム等から第1のノード11にノード切り替えの指示が入力される(ステップ101)。
ノード切り替えの指示が入力されると、第1のノード11の同期制御部32は、時刻情報生成部33に、時刻T2、時刻T3および時刻T4の情報を生成する要求を送る。同期制御部32からの要求を受け取ると、時刻情報生成部33は、パケットの転送を停止する時刻T2、各ノードがARPパケットを送信する時刻T3およびパケットの転送を開始する時刻T4をそれぞれ決定する(ステップ102)。各時刻を決定すると、時刻情報生成部33は、生成した時刻T2、時刻T3および時刻T4の情報を同期制御部32に送る。
時刻T2、時刻T3および時刻T4の情報を受け取ると、同期制御部32は、ARPパケットの送信時刻である時刻T3の情報を第2のノード12の同期制御部32にノード間接続25を介して送る(ステップ103)。時刻T3の情報を送ると、第1のノード11は、第1のスイッチ13および第2のスイッチ14から転送されてくるパケットの処理を時刻T2まで行う。
待機系の第2のノード12の同期制御部42は、現用系の第1のノード11から時刻T3の情報を受け取ると受け取った時刻T3の情報を一時保存する。同期制御部42で時刻T3の情報を受け取ると、第2のノード12は現用系として稼働する状態に移行し、時刻T3まで待機する。
時刻T2になると、第1のノード11の同期制御部32は、ネットワーク制御部34を介して、パケットの転送を停止する要求と時刻T4の情報を第1のスイッチ13および第2のスイッチ14に送る(ステップ104)。パケットの転送を停止する要求は、例えば、Pauseパケットを第1のスイッチ13および第2のスイッチ14に送ることで各スイッチに通知される。パケットの転送を停止する要求と時刻T4の情報を受け取ると、第1のスイッチ13および第2のスイッチ14は、時刻T4の情報を保存する。また、第1のスイッチ13および第2のスイッチ14は、ネットワークからそれぞれ受け取ったパケットを転送せずに内部に保存し、現用系のノードである第1のノード11へのパケットの転送を停止する(ステップ105)。
時刻T3になると、第1のノード11および第2のノード12は、ARPパケットを第1のスイッチ13および第2のスイッチ14に送る(ステップ106)。第1のノード11は、自装置が待機系であることを示すMACアドレスを含むARPパケットを、第1のスイッチ13および第2のスイッチ14に送る。第1のノード11は、待機系であることを示すMACアドレス「MAC−B」を含むARPパケットを、第1のスイッチ13および第2のスイッチ14に送る。また、第2のノード12は、自装置が現用系であることを示すMACアドレス「MAC−A」を含むARPパケットを、第1のスイッチ13および第2のスイッチ14に送る。
第1のノード11および第2のノード12が、同時に自装置のMACアドレスを第1のスイッチ13および第2のスイッチ14に送信することで、各スイッチは、各ノードのMACアドレスを短時間で収集することができる。また、各ノードからMACアドレスを受け取ることで、各スイッチは、新たな転送先を識別しつつ、各ノードが新たな稼働状態への移行準備を完了していることを認識することができる。
第1のスイッチ13および第2のスイッチ14は、ARPパケットを受け取ると、受け取ったパケットに基づいてアドレステーブルの情報を更新する(ステップ107)。第1のスイッチ13および第2のスイッチ14は、各ポートに対応するMACアドレスを変更しアドレステーブルを更新する。
第1のスイッチ13は、第1のノード11と接続しているネットワーク接続21に対応するポートのMACアドレスを待機系のアドレスである「MAC−B」に変更する。また、第1のスイッチ13は、第2のノード12と接続しているネットワーク接続22に対応するポートのMACアドレスを現用系のアドレスである「MAC−A」に変更する。
同様に、第2のスイッチ14は、第1のノード11と接続しているネットワーク接続23に対応するポートのMACアドレスを待機系のアドレスである「MAC−B」に変更する。また、第2のスイッチ134、第2のノード12と接続しているネットワーク接続24に対応するポートのMACアドレスを現用系のアドレスである「MAC−A」に変更する。第2のノード12から送られてきた現用系のMACアドレスを基にアドレステーブルが更新されたので、第1のスイッチ13および第2のスイッチ14は、第2のノード12が現用系のノードとなったことを認識することができる。
待機系であった第2のノード12に接続しているポートのMACアドレスが現用系のMACアドレスに変更されたので、第1のスイッチ13および第2のスイッチ14は、第2のノード12を現用系としてパケットの転送を行う状態となる。また、現用系であった第1のノード11に接続しているポートのMACアドレスが待機系のMACアドレスに変更されたので、第1のスイッチ13および第2のスイッチ14は、第1のノード11を待機系として扱い、パケットの転送を行わない状態となる。アドレステーブルの更新等を行うと、第1のスイッチ13および第2のスイッチ14は、時刻T4になるまで待機する。
時刻T4になると、第1のスイッチ13および第2のスイッチ14は、保存されていた「MAC−A」宛のパケットおよび新たに受信した「MAC−A」宛のパケットを、新たに現用系となった第2のノード12に順次、転送する(ステップ108)。すなわち、時刻T4に、それまで待機系であった第2のノード12を現用系としたパケットの転送が再開される。第2のノード12は、ネットワーク制御部44を介して、第1のスイッチ13および第2のスイッチ14からのパケットを受信する。第2のノード12の演算処理部41は、ネットワーク制御部44を介して受信したパケットの処理を順次、行う。また、新たに待機系となった第1のノード11は、省電力モード等に移行するようにしてもよい。
上記の説明では、第1のノード11を現用系、第2のノード12を待機系とした場合を例に、本実施形態の通信システムにおける現用系のノードの切り替え動作について説明を行った。そのような動作に加えて、本実施形態の通信システムでは、第1のノード11を待機系、第2のノード12を現用系とした場合においても同様に、現用系のノードを切り替える動作を行うことができる。すなわち、本実施形態の通信システムでは、第1のノード11と第2のノード12の間で、現用系のノードを可逆的に切り替えることができる。
図5を参照して、本実施形態の通信システムにおけるパケットの送受信のタイミングの例について説明する。図5は、横軸を時刻とし、第1のスイッチ13、第1のノード11および第2のノード12のパケットの送受信のタイミングを模式的に示したものである。図5の例では、初期状態では、第1のノード11が現用系、第2のノード12が待機系であるとする。図5の例では、始めに第1のスイッチ13がパケット1を第1のノード11に転送している。このとき、時刻T1において、現用系の第1のノード11に、現用系のノードの切り替えの指示が入力されたとする。
現用系のノードの切り替えの指示を受け取ると、第1のノード11の時刻情報生成部33は、時刻T2、時刻T3および時刻T4の情報を生成する。第1のノード11の時刻情報生成部33は、パケット2の受信が終わる時刻を予測して時刻T2を算出する。また、第1のノード11の同期制御部32は、時刻T3の情報を時刻T2よりも前に第2のノード12に通知する。
図5の例では、時刻T2までの間に、パケット2までが第1のスイッチ13から第1のノード11へと転送されている。時刻T2になると、第1のノード11は、第1のスイッチ13にパケットの転送の停止を要求する通知を送る。パケットの転送の停止を要求する通知を受け取ると、第1のスイッチ13は、パケットの転送を停止する。パケットの転送は、図5で「Pause」と示された時間、停止されている。第1のスイッチ13は、ネットワーク26からパケット3を受信すると、パケットの転送の停止の要求を受けている時間内のため、パケット3の転送を保留し自装置内に保存する。
時刻T3になると、第1のノード11および第2のノード12は、自装置のMACアドレスをARPパケットとして第1のスイッチ13に送る。図5においてARPパケットは、ARPとして表記されている。このとき、新たに待機系となる第1のノード11は、待機系として稼働するときのMACアドレスを第1のスイッチ13に送る。また、新たに現用系となる第2のノード12は、現用系として稼働するときのMACアドレスを第1のスイッチ13に送る。
第1のノード11および第2のノード12からMACアドレスの情報受け取った第1のスイッチ13は、受け取ったMACアドレスの情報を基にアドレステーブルを更新する。時刻T4になると、第1のスイッチ13は、保存しているパケットおよび時刻T4以降に受信したパケットを、アドレステーブルを参照して現用系のノードに転送する。第2のノード12に現用系のアドレスが対応しているので、第1のスイッチ13は、パケット3およびパケット4を新たに現用系となった第2のノード12に送る。以上のようにパケットを転送することで、パケットのロスを避けることができる。また、各時刻を適切に設定することで第1のノード11から第2のノード12に現用系のノードを切り替える際に要する時間を抑制することができる。また、第1のスイッチ13よりもネットワーク側の装置は、現用系のMACアドレス宛のデータを第1のスイッチ13に送ればよいため、切り替え処理やノードの切り替えを認識する必要はない。そのため、第1のスイッチ13よりもネットワーク26側の各装置は、ノードの切り替えに際して切り替え処理および設定変更等は不要となる。
また、上記の説明では図5の例を基に、第1のスイッチ13について説明を行ったが、第2のスイッチ14も同様に動作する。そのため、第2のスイッチ14よりもネットワーク27側の各装置は、現用系に割り当てられたMACアドレスを基に、第1のノード11および第2のノード12のうち現用系のノードと通信を行うことができる。そのため、そのため、第2のスイッチ14よりもネットワーク27側の各装置は、ノードの切り替えに際して切り替え処理および設定変更等は不要となる。
本実施形態の通信システムでは、現用系のノードを切り替える際にパケットの転送を停止し、時刻情報を基に同期を行っている。システム・クロックを基に同期を行った場合には、1GHzのシステム・クロック同期とすると、周期は、1/1GHz=1ナノ秒となる。一方で、パケットを基に同期を行うと1Gbit Ethernet(登録商標)の1パケットが1500バイトとすると、1パケット送付に要する時間は、1/1GHz × 1500 byte × 8bit/byte= 12000ナノ秒となる。よって、パケットによる同期は、システム・クロック同期に比べて、約12000倍以上の時間スケールでの同期となる。そのため、より簡略な構成において、同期を行うことが可能になる。このように本実施形態の通信システムでは、時刻同期を行うことで同期精度を緩和することが可能になる。
また、本実施形態の通信システムは、各スイッチから現用系のノードへのパケットの転送を停止し、時刻を同期させたARPパケットの送信を行い、新たな現用系のノードへのパケットの転送を再開するシーケンスで動作している。そのため、本実施形態の通信システムでは、パケットの転送を停止して切り替えを行うので現用系のノードの切り替え後に、切り替え前の処理の中断状況の確認、破棄および再実行等の動作が不要となる。よって、本実施形態の通信システムでは、ノードの切り替えに要する時間を抑制することができる。また、ノード間で生じ得るずれをパケットの転送の一時停止で吸収することで、時刻同期の精度であっても同期を行うことが可能になる。また、本実施形態の通信システムは、各ノードへのパケットの転送を停止している間に切り替えを行うので、切り替えに要する動作が外部に波及せず、影響範囲を狭くすることができる。以上より、本実施形態の通信システムは、時刻同期を行うことで要求される同期精度を緩和する同期精度緩和手段と、切り替えの際の影響範囲を限定的な範囲とする影響範囲縮小化手段とを備えているとみなすことができる。
本実施形態の通信システムでは、例えば、第1のノード11が現用系であったときにノードの切り替えの指示が入力されると、時刻情報生成部33が、第2のノード12と同期してノードの切り替えを行う際に必要な各時刻の情報を生成している。現用系であった第1のノード11と待機系であった第2のノード12は、ARPパケットを送信する時刻T3の情報を基に同期して切り替えを行うことができるため同期のための複雑な機構を必要としない。
また、本実施形態の通信システムでは、処理に要する時間を基にパケットの転送を再開する時刻T4を適切に設定することで、現用系のノードを切り替えてパケットの転送を再開するまでに要する時間を抑制することができる。このように、本実施形態の通信システムでは、時刻の通知のみでノード間の同期を行いつつ、パケットの転送の再開に要する時間を管理することが可能となる。また、パケット単位で同期を行いつつ、パケットの転送の再開に要する時間を各装置の動作に要する時間から算出することで、ノードの切り替えに要する時間を最小化することが可能になる。以上より、本実施形態の通信システムは、同期に要求される制度を緩和しつつ、同期に係る動作を必要とする範囲を最小限にしてノードの切り替えを行うことができる。また、本実施形態の通信システムは、切り替えに要する時間および切り替えの影響がおよぶ範囲を抑制してノードの切り替えを行うことができる。その結果、本実施形態の通信システムは、ノードの切り替えを行う際に、システムの複雑化を抑制しつつ、切り替えの影響範囲および障切り替えに要する時間を抑制することができる。
第2の実施形態の通信システムは、現用系と待機系のノードが1台ずつ備えられていたが、待機系のノードは2台以上、備えられていてもよい。そのような構成とする場合には、例えば、待機系のMACアドレスとして各ノードが固有のMACアドレスを有し、現用系として動作する際の共通のMACアドレスを設定することで、第2の実施形態と同様の方法で切り替えを行うことができる。待機系のノードを2台以上、備えることで、可用性が向上する。また、2台以上でも時刻の通知を基に、現用系のノードを切り替えることができるので、同期機構の複雑化を抑制する効果がより大きくなる。
FTサーバなどを用いた場合などには複雑なシステム同期機構を備える必要があるのに対し、第2の実施形態の通信システムの構成では、簡素な時刻同期により、安価に高速なシステム切り替えを行うことができる。また、第2の実施形態の通信システムは、付加装置が簡略化されることにより、システム規模が小さくなり、工場等の限られた設置スペースへの配置可能性が高まる。また、第2の実施形態の通信システムは、第2の実施形態の通信システムは、クロックに比例して消費電力が増加するシステム・クロック等の高速信号が不要なため、消費電力を低減することができる。また、第2の実施形態の通信システムは、現用系のノードの切り替えの際に、外部インターフェースの切り替えを同期して実施することにより、ネットワーク上のパケットロスを抑えることができる。
第2の実施形態の通信システムは、例えば、工場の製造ラインのような複数の装置が連動して稼働しているシステムにおける運用制御システムに適用することができる。また、第2の実施形態の通信システムは、金融システム等の停止時に社会的に大きな影響を与えるシステムやサービスを24時間継続稼働するシステムに適用することもできる。また、また、第2の実施形態の通信システムは、高い信頼性が要求される飛行機や電車等の運行管理システム等に適用することもできる。