(57)【特許請求の範囲】
【請求項１】
複数のノードのいずれかを現用系として通信を行う通信装置とパケットの送受信を行う通信手段と、
自ノードが現用系として稼働しているときに現用系の前記ノードの切り替えが行われる際に、複数の前記ノードそれぞれが、稼働状態に基づいて自ノードに割り当てられている所定のアドレスを、前記通信装置に送信する時刻であるアドレス送信時刻の情報、および、前記通信装置が切り替え先の前記ノードにパケットの転送を開始する時刻である転送開始時刻の情報を生成する時刻生成手段と、
前記通信装置に前記通信手段を介して、自ノードへの前記パケットの転送の停止を通知する手段と、前記アドレス送信時刻よりも前に、他の前記ノードに前記アドレス送信時刻の情報を通知し、前記通信装置に前記転送開始時刻の情報を通知し、前記アドレス送信時刻に、待機系としての稼働時に自ノードに割り当てられている前記所定のアドレスを前記通信装置に通知する手段とを有する同期手段と、
を備えることを特徴とするノード。
【請求項２】
前記時刻生成手段は、前記通信装置に自ノードへの前記パケットの転送の停止を通知する時刻である転送停止時刻の情報をさらに生成し、
前記同期手段は、前記アドレス送信時刻よりも前に、前記通信装置に自ノードへの前記パケットの転送の停止を通知することを特徴とする請求項１に記載のノード。
【請求項３】
前記同期手段は、前記通信装置に自ノードへの前記パケットの転送の停止を通知するときに、前記転送開始時刻の情報を通知することを特徴とする請求項２に記載のノード。
【請求項４】
複数のノードのいずれかを現用系として通信を行う通信装置とパケットの送受信を行う通信手段と、
稼働状態に基づいて複数の前記ノードそれぞれに割り当てられている所定のアドレスを、複数の前記ノードそれぞれが前記通信装置に送信する時刻であるアドレス送信時刻の情報を、待機系として稼働中に現用系の前記ノードから受け取った際に、受け取った前記アドレス送信時刻を保存し、前記アドレス送信時刻に、現用系としての稼働時に自ノードに割り当てられている前記所定のアドレスを前記通信装置に通知する同期手段と、
を備えることを特徴とするノード。
【請求項５】
請求項１から３いずれかに記載のノードからなる第１のノードと、
請求項４に記載のノードからなる第２のノードと、
前記第１のノードまたは前記第２のノードのいずれかと、ネットワークとの間でパケットの転送を行う通信装置と、を備え、
前記通信装置は、前記第１のノードが現用系、前記第２のノードが待機系の場合に、前記第１のノードから前記転送開始時刻の情報を受け取ったとき、前記転送開始時刻に前記第２のノードを現用系とした前記パケットの転送を開始することを特徴とする通信システム。
【請求項６】
前記通信装置は、前記第１のノードおよび前記第２のノードからそれぞれ受信する前記アドレスの情報を管理するアドレステーブルを備え、
前記通信装置は、前記アドレステーブルに保存されている前記アドレスが、現用系に割り当てられている前記アドレスである前記ノードと通信を行うことを特徴とする請求項５に記載の通信システム。
【請求項７】
発振器をさらに備え、
前記発振器を基に生成される時刻情報が前記第１のノードおよび前記第２のノードに入力され、前記第１のノードおよび前記第２のノードは前記時刻情報を基に動作することを特徴とする請求項５または６いずれかに記載の通信システム。
【請求項８】
通信装置に接続されている複数のノードのうち自ノードが現用系として稼働しているときに現用系の前記ノードの切り替えが行われる際に、複数の前記ノードそれぞれが、稼働状態に基づいて自ノードに割り当てられている所定のアドレスを、前記通信装置に送信する時刻であるアドレス送信時刻の情報、および、前記通信装置が切り替え先の前記ノードにパケットの転送を開始する時刻である転送開始時刻の情報を生成し、
前記通信装置に自ノードへの前記パケットの停止を通知し、
前記アドレス送信時刻よりも前に、他の前記ノードに前記アドレス送信時刻の情報を通知し、前記通信装置に前記転送開始時刻の情報を通知し、
前記アドレス送信時刻に、待機系としての稼働時に自ノードに割り当てられている前記所定のアドレスを前記通信装置に通知することと特徴とする通信方法。
【請求項９】
前記転送開始時刻の情報を受け取った他の前記ノードは、前記アドレス送信時刻に現用系としての稼働時に自ノードに割り当てられている前記所定のアドレスを前記通信装置に通知し、
前記通信装置は、前記転送開始時刻に現用系に切り替えられる前記ノードへの前記パケットの転送を開始することを特徴とする請求項８に記載の通信方法。
【請求項１０】
前記通信装置は、複数の前記ノードからそれぞれ受信する前記アドレスの情報を管理するアドレステーブルに保存されている前記アドレスが、現用系に割り当てられている前記アドレスである前記ノードと通信を行うことを特徴とする請求項８または９いずれかに記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化された通信システムに関するものであり、特に、冗長化されたノードの切り替えに関するものである。
【背景技術】
【０００２】
システムが停止することによって大きな影響が生じるようなシステムにおいては、高い可用性を有するシステムの構築が行われる。高可用性システムの設計では、システム保守等のためのシステム切り替えや障害発生時の影響範囲を小さくすることや、障害検出後、正常に動作している装置や経路に短時間で切り替えられることが重視される。また、工場等においても、生産の自動化のための制御システムや生産システムの連動によりそのようなシステムを連携する高可用性の通信システムの導入が進んでいる。
【０００３】
工場等では、通信システムを構築するためのスペースに制約があることが多い。そのため、通信システムの複雑化や大型化は抑制されていることが要求される。また、工場等は継続して安定的に稼働する必要があるため、通信システムの障害等の発生時には、短時間で処理を再開することが要求される。
【０００４】
システム保守時や障害発生時の影響範囲を小さくする方法としては、例えば、装置や経路を構成する各部材を多重化しつつ、診断装置によって異常の有無を細かく監視して、より小さな単位で障害を検出し、冗長装置や経路に切り替える方法が用いられる。このような方法はメインフレーム等で用いられる。しかし、システム内を小さな範囲で多重化し、また、分割監視することでシステム自体の複雑化や大型化が生じる。
【０００５】
一方で、冗長化や監視粒度を大きくすることでコストを抑えつつ、高速にシステムを切り替えることで可用性を高める装置として、例えば、無停止型やＦＴ（Fault Tolerant）サーバが用いられることがある。無停止型やＦＴサーバでは、冗長化や監視粒度を大きくすることで障害時のシステムの影響単位は大きくなる。
【０００６】
無停止型のシステムは、冗長化された複数の装置間のメモリ等を専用経路や装置で定常的に同期することで、障害時に稼働装置が持っていたデータの同期処理を最小化し、高速なシステム切り替えを可能にする。しかし、定常的にシステムを同期するための仕組みが非常に複雑となり、システムの複雑化を抑制することができない。また、その他の構成としては、クラスタシステム等が使用される場合もあるが、障害検知に長い時間を要するため切り替え時間が長く、システム間のデータ引き継ぎ等にも時間を要するため可用性が劣る。そのような背景から、システムの複雑化を抑制しつつ、ノードの切り替えに要する時間を抑制することが可能な情報システムの開発が行われている。システムの複雑化を抑制しつつ、ノードの切り替えに要する時間を抑制することが可能な通信システムに関する技術としては、例えば、特許文献１のような技術が開示されている。
【０００７】
特許文献１は、音声処理機能が冗長化されたゲートウェイ装置に関するものである。特許文献１のゲートウェイ装置は、現用系の音声処理回路から待機系の音声処理回路へ切り替えを行う際に、高精度のクロックに基づいてタイミングを制御して現用系と待機系の両方の音声処理回路で入力されたデータの処理を行う。特許文献１のゲートウェイ装置の待機系の音声処理回路は、切り替えが行われるまでは処理したデータの出力を行わない。特許文献１のゲートウェイ装置は、タイミングを制御して現用系と待機系の音声処理回路の切り替えを行い待機系であった側の音声処理回路からのデータの出力を行う。特許文献１では、両方の回路でタイミングを合わせた処理を開始した後に切り替えを行うことでパケットのロスや重複のない同期したパケット処理と系の切り替えが可能になるとしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−７４６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の技術は次のような点で十分ではない。特許文献１のゲートウェイ装置は、現用系から待機系への切り替えを行う際に、処理のタイミングを同期して現用系と待機系の両方の回路でデータの処理を行っている。特許文献１では、待機系側から出力されるパケットへの切り替えた際に、現用系から出力されていたパケットとのずれが生じないように、現用系と待機系の回路間で高精度のクロックを基に処理のタイミングを高精度に同期させることが必要となる。そのため、特許文献１ゲートウェイ装置は、高精度のクロックを基に同期して処理を行うための機構を必要とし、装置構成が複雑化し得る。よって、特許文献１の技術は、システムの複雑化や大型化を抑制しつつ、障害が発生した際の切り替えに要する時間を抑制するための技術としては十分ではない。
【００１０】
本発明は、上記の課題を解決するため、システムの複雑化や大型化を抑制しつつ、障害が発生した際の切り替えに要する時間を抑制することが可能なノードを得ることを目的としている。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明のノードは、通信手段と、時刻生成手段と、同期手段を備えている。通信手段は、複数のノードのいずれかを現用系として通信を行う通信装置とパケットの送受信を行う。時刻生成手段は、自ノードが現用系として稼働しているときに現用系のノードの切り替えが行われる際に、アドレス送信時刻の情報、および、転送開始時刻の情報を生成する。アドレス送信時刻は、複数のノードそれぞれが、稼働状態に基づいて自ノードに割り当てられている所定のアドレスを、通信装置に送信する時刻である。転送開始時刻は、通信装置が切り替え先のノードにパケットの転送を開始する時刻である。同期手段は、通信装置に通信手段を介して、自ノードへのパケットの転送の停止を通知する。また、同期手段は、アドレス送信時刻よりも前に、他のノードにアドレス送信時刻の情報を通知し、通信装置に転送開始時刻の情報を通知し、アドレス送信時刻に、待機系としての稼働時に自ノードに割り当てられている所定のアドレスを通信装置に通知する。
【００１２】
本発明の通信方法は、通信装置に接続されている複数のノードのうち自ノードが現用系として稼働しているときに現用系のノードの切り替えが行われる際に、アドレス送信時刻の情報、および、転送開始時刻の情報を生成する。アドレス送信時刻は、複数のノードそれぞれが、稼働状態に基づいて自ノードに割り当てられている所定のアドレスを、通信装置に送信する時刻である。転送開始時刻は、通信装置が切り替え先のノードにパケットの転送を開始する時刻である。本発明の通信方法は、通信装置に自ノードへの前記パケットの停止を通知する。本発明の通信方法は、アドレス送信時刻よりも前に、他のノードにアドレス送信時刻の情報を通知し、通信装置に転送開始時刻の情報を通知する。本発明の通信方法は、アドレス送信時刻に、待機系としての稼働時に自ノードに割り当てられている所定のアドレスを通信装置に通知する。
【発明の効果】
【００１３】
本発明によると、システムの複雑化を抑制しつつ、ノードの切り替えに要する時間を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態の構成の概要を示す図である。
【図２】本発明の第２の実施形態の通信システムの構成の概要を示す図である。
【図３】本発明の第２の実施形態のノードの構成の概要を示す図である。
【図４】本発明の第２の実施形態における動作フローの概要を示す図である。
【図５】本発明の第２の実施形態におけるパケットの転送のタイミングの例を示す図である。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
本発明の第１の実施形態について図を参照して詳細に説明する。図１は、本実施形態のノードの構成の概要を示したものである。本実施形態のノードは、通信手段１と、時刻生成手段２と、同期手段３を備えている。
【００１６】
通信手段１は、複数のノードのいずれかを現用系として通信を行う通信装置とパケットの送受信を行う。時刻生成手段２は、自ノードが現用系として稼働しているときに現用系のノードの切り替えが行われる際に、アドレス送信時刻の情報、および、転送開始時刻の情報を生成する。アドレス送信時刻は、複数のノードそれぞれが、稼働状態に基づいて自ノードに割り当てられている所定のアドレスを、通信装置に送信する時刻である。転送開始時刻は、通信装置が切り替え先のノードにパケットの転送を開始する時刻である。同期手段３は、通信装置に通信手段１を介して、自ノードへのパケットの転送の停止を通知する。また、同期手段３は、アドレス送信時刻よりも前に、他のノードにアドレス送信時刻の情報を通知し、通信装置に転送開始時刻の情報を通知し、アドレス送信時刻に、待機系としての稼働時に自ノードに割り当てられている所定のアドレスを通信装置に通知する。
【００１７】
本実施形態のノードは、現用系のノードの切り替えが行われる際に、パケットの転送の停止を通知している。また、本実施形態のノードは、現用系のノードの切り替えが行われる際に、アドレス送信時刻および転送開始時刻の情報を時刻生成手段２によって生成し、同期手段３において他のノードおよび通信装置にそれぞれ通知している。本実施形態のノードおよび同じ通信装置と通信を行っている他のノードは、アドレス送信時刻の情報を基に、自装置のアドレスを通信装置に送信することができる。また、通信装置は、各ノードから受信したアドレスと転送開始時刻を基に、新たなパケットの転送先と、パケットの転送の開始のタイミングを判断することができる。このように、本実施形態のノードを用いることで、時刻の情報の通知を基にした簡略な方法でノード間の同期を行いつつ、パケットの転送の再開に要する時間を管理して現用系のノードを切り替えることが可能になる。また、本実施形態のノードを用いることで、ノードの切り替えをパケットの転送を停止している間に行うことができるので、転送の再開時にパケットの再送等を必要としない。その結果、本実施形態のノードを用いることで、システムの複雑化を抑制しつつ、ノードの切り替えに要する時間を抑制することができる。
【００１８】
（第２の実施形態）
本発明の第２の実施形態について図を参照して詳細に説明する。図２は、本実施形態の通信システムの構成の概要を示したものである。本実施形態の通信システムは、第１のノード１１と、第２のノード１２と、第１のスイッチ１３と、第２のスイッチ１４と、高精度時計１５を備えている。
【００１９】
第１のノード１１と第１のスイッチ１３の間は、ネットワーク接続２１で接続されている。第２のノード１２と第１のスイッチ１３の間は、ネットワーク接続２２で接続されている。第１のノード１１と第２のスイッチ１４の間は、ネットワーク接続２３で接続されている。第２のノード１２と、第２のスイッチ１４の間は、ネットワーク接続２４で接続されている。第１のノード１１と第２のノード１２の間は、ノード間接続２５で接続されている。
【００２０】
第１のスイッチ１３は、ネットワーク２６に接続されている。第２のスイッチ１４は、ネットワーク２７に接続されている。本実施形態の通信システムでは、ネットワーク２６は内部ネットワーク、ネットワーク２７は外部ネットワークとして構成されている。また、高精度時計１５は、時刻の情報を生成し、第１のノード１１および第２のノード１２に出力する。
【００２１】
本実施形態の通信システムは、第１のノード１１または第２のノード１２のうち、いずれか一方を現用系、もう一方を待機系としてノードが冗長化された通信システムである。ネットワーク２６およびネットワーク２７に接続された情報装置等は、第１のノード１１または第２のノード１２のうち、現用系として稼働しているノードとパケット通信を行う。本実施形態の通信システムでは、第１のノード１１および第２のノード１２のいずれが現用系として稼働している場合においても、現用系として稼働している側のノードが現用系のＭＡＣアドレスを有するノードとして動作する。一方のノードが現用系のＭＡＣアドレスを有するノードとして稼働しているときは、もう一方の待機系のノードは、現用系のときとは異なる待機系として稼働する際のＭＡＣアドレスを有するノードとして稼働する。また、第１のスイッチ１３および第２のスイッチ１４が現用系のＭＡＣアドレスのノードを選択してパケットの転送を行うため、ネットワーク上の情報装置等は、現用系のノードに関わらず同一のＭＡＣアドレスをパケットの送信先として通信を行う。
【００２２】
本実施形態の通信システムに備えられている各装置の構成について説明する。図３は、第１のノード１１および第２のノード１２の構成の概要を詳細に示したものである。第１のノード１１は、演算処理部３１と、同期制御部３２と、時刻情報生成部３３とネットワーク制御部３４を備えている。
【００２３】
演算処理部３１は、他の情報装置等から入力されるパケットを基にデータ処理を行う機能を有する。演算処理部３１は、他の情報装置等から入力されるパケットを基にデータ処理を行って、結果を出力する。演算処理部３１は、例えば、ＣＰＵ（Central Processing Unit）、半導体記憶装置、ハードディスクドライブおよびそれらに記憶されたコンピュータプログラム等を用いて構成されている。
【００２４】
同期制御部３２は、現用系のノードの切り替えの際に、他のノードやスイッチなどの他の通信装置と同期して行う動作を制御する機能を有する。同期制御部３２は、現用系と待機系のノードの切り替えが行われる際に、他のノードである第２のノード１２と自装置の動作を同期させる。同期制御部３２は、自装置が現用系として稼働中であるときに、ノードの切り替え指示を受け取ると、切り替えに関する各時刻を算出する要求を時刻情報生成部３３に送る。同期制御部３２は、切り替えに関する各時刻として、ネットワークに対する停止指示を発生させる時刻Ｔ２、各ノードのアドレスをスイッチに送信する時刻Ｔ３およびネットワークの停止を解除する時刻Ｔ４の情報を要求する。
【００２５】
同期制御部３２は、時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を時刻情報生成部３３から受け取ると、時刻Ｔ１と時刻Ｔ２の間に、時刻Ｔ３の情報を第２のノード１２に送る。本実施形態では、自装置が現用系として稼働中であるときに、ノードの切り替え指示を受け取った時刻を時刻Ｔ１とする。また、同期制御部３２は、時刻Ｔ２にネットワークの停止を要求する情報とネットワークの停止を解除する時刻Ｔ４の情報を含むパケットを第１のスイッチ１３および第２のスイッチ１４に送る。ネットワークの停止を要求するパケットを送信した後も、第１のノード１１の各部位は、第１のスイッチ１３および第２のスイッチ１４から自装置宛のパケットが送られてくると、順次、処理を行う。
【００２６】
ネットワークの停止とはスイッチがノードへのパケットの転送を一時停止し、ネットワークから受け取ったパケットを保存している状態のことをいう。ネットワークの停止の解除とは、ノードへのパケットの転送を再開し、保存しているパケットおよび新たにネットワークから受信したパケットを現用系のノードへ転送することをいう。
【００２７】
同期制御部３２は、時刻Ｔ３に自装置に割り当てられているＭＡＣアドレスの情報を示すＡＲＰ（Address Resolution Protocol）パケットを第１のスイッチ１３および第２のスイッチ１４に送る。本実施形態の通信システムでは、現用系のノードのＭＡＣアドレスが「ＭＡＣ−Ａ」、待機系のノードのＭＡＣアドレスが「ＭＡＣ−Ｂ」として設定されているとする。現用系のＭＡＣアドレスと待機系のＭＡＣアドレスは、あらかじめ設定されて同期制御部３２およびネットワーク制御部３４に保存されている。
【００２８】
同期制御部３２は、現用系のノードの切り替えの際に、自装置が現用系から待機系に切り替わるときに、待機系のＭＡＣアドレスである「ＭＡＣ−Ｂ」を第１のスイッチ１３および第２のスイッチ１４に送る。また、同期制御部３２は、現用系のノードの切り替えの際に、自装置が待機系から現用系に切り替わるときに、現用系のＭＡＣアドレスである「ＭＡＣ−Ａ」を第１のスイッチ１３および第２のスイッチ１４に送る。
【００２９】
同期制御部３２は、自装置が待機系であるときに、第２のノード１２から時刻Ｔ３の情報を受け取ると、自装置を起動状態にする。起動状態とは、現用系のノードとしてパケットの送受信およびデータの処理が可能な状態のことをいう。また、本実施形態の同期制御部３２は、第１の実施形態の同期手段３に相当する。
【００３０】
時刻情報生成部３３は、同期制御部３２の要求に基づいて、ネットワークに対する停止の要求を発生させる時刻Ｔ２、各ノードが自装置に割り当てられたアドレスをスイッチに送信する時刻Ｔ３およびネットワークの停止を解除する時刻Ｔ４の情報を生成する。時刻情報生成部３３は、次のように時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を生成する。
【００３１】
時刻情報生成部３３は、時刻Ｔ１以降に第１のスイッチ１３および第２のスイッチ１４から送られてくるパケットの受信を終える時刻を予測し、時刻Ｔ２の情報を生成する。時刻情報生成部３３は、例えば、時刻Ｔ１以降にさらに１パケットを受信した場合に受信に要する時間をパケット間隔およびパケット長を基に予測して時刻Ｔ２の情報を生成する。そのような構成とした場合には、定型的なパケットを１パケット受信する時間の情報は、あらかじめ時刻情報生成部３３に保存されている。
【００３２】
時刻情報生成部３３は、アドレスをスイッチに送信する時刻の情報を第２のノード１２に送信するために要する時間と、自ノードおよび第２のノード１２がＡＲＰパケットを生成して送信するために要する時間を基に時刻Ｔ３の情報を生成する。時刻情報生成部３３は、ＡＲＰの送信を開始してから第１のスイッチ１３および第２のスイッチ１４がＡＲＰを受信し、スイッチの切り替えを行うのに要する時間を時刻Ｔ３に加えて時刻Ｔ４を生成する。時刻情報生成部３３は、時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を生成すると、生成した各時刻の情報を同期制御部３２に送る。また、本実施形態の時刻情報生成部３３は、第１の実施形態の時刻生成手段２に相当する。
【００３３】
ネットワーク制御部３４は、パケットの送受信を行う機能を有する。ネットワーク制御部３４は、受信したパケットの宛先を確認し、自装置宛のパケットである場合は、受信したパケットを演算処理部３１に送る。また、ネットワーク制御部３４は、演算処理部３１が生成したデータをネットワークに送信する。また、ネットワーク制御部３４は、同期制御部３２が生成した制御用のパケットの送信を行う。また、本実施形態のネットワーク制御部３４は、第１の実施形態の通信手段１に相当する。
【００３４】
第２のノード１２は、演算処理部４１と、同期制御部４２と、時刻情報生成部４３と、ネットワーク制御部４４を備えている。第２のノード１２の構成と機能は、第１のノード１１と同様である。すなわち、演算処理部４１、同期制御部４２、時刻情報生成部４３およびネットワーク制御部４４の構成と機能は、第１のノード１１の演算処理部３１、同期制御部３２、時刻情報生成部３３およびネットワーク制御部３４とそれぞれ同様である。
【００３５】
同期制御部４２は、自装置が待機系であるときに、第１のノード１１から時刻Ｔ３の情報を受け取ると、自装置を起動状態にする。同期制御部３２は、時刻Ｔ３にＡＲＰパケットを第１のスイッチ１３および第２のスイッチ１４に送る。第２のノード１２の各部位は、第１のスイッチ１３および第２のスイッチ１４から自装置宛のパケットが送られてくると、順次、処理を行う。
【００３６】
また、時刻情報生成部４３は、自装置が現用系として稼働中であるときに、ノードの切り替え指示を受け取ると、第１のノード１１と同様に時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を生成する。同期制御部４２は、時刻情報生成部４３から時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を受け取ると、時刻Ｔ１と時刻Ｔ２の間に、時刻Ｔ３の情報を第１のノード１１に送る。また、同期制御部４２は、時刻Ｔ２にネットワークの停止を要求する情報と時刻Ｔ４の情報を含むパケットを第１のスイッチ１３および第２のスイッチ１４に送る。また、同期制御部３２は、時刻Ｔ３に自装置のＭＡＣアドレスの情報を示すＡＲＰパケットを第１のスイッチ１３および第２のスイッチ１４に送る。
【００３７】
第１のスイッチ１３は、パケットの宛先に応じて受信したパケットを転送する機能を有する。第１のスイッチ１３は、第１のノード１１および第２のノード１２とそれぞれのポートを介して接続している。第１のスイッチ１３は、ネットワーク２６から受信したパケットを、第１のノード１１または第２のノード１２のうち現用系のノードに転送する。第１のスイッチ１３は、ＡＲＰパケットとして現用系のＭＡＣアドレスを送ってきたノードが現用系のノードであると判断して、ネットワーク２６から受け取ったパケットの転送を行う。また、第１のノード１１および第２のノード１２から受け取ったパケットをネットワーク２６に送信する。第１のスイッチ１３は、第１のノード１１および第２のノード１２が接続されたポートと各ノードのＭＡＣアドレスを関連づけてアドレステーブルとして管理している。
【００３８】
第１のスイッチ１３は、第１のノード１１または第２のノード１２から、パケットの転送の停止の通知を受け取ると、各ノードへのパケットの転送を停止する。第１のスイッチ１３は、パケットの転送を停止している間に、各ネットワークからパケットを受け取ると受け取ったパケットを保存する。第１のスイッチ１３は、ネットワークの停止を解除する時刻Ｔ４の情報に基づいて、時刻Ｔ４から現用系のノードへのパケットの転送を再開する。第１のスイッチ１３は、パケットの転送を再開する際に、保存しているパケットがある場合には、保存しているパケットを新たに現用系となったノードに転送する。
【００３９】
第２のスイッチ１４は、パケットの宛先に応じて受信したパケットを転送する機能を有する。第２のスイッチ１４は、第１のノード１１および第２のノード１２とそれぞれのポートを介して接続している。第２のスイッチ１４は、ネットワーク２７から受信したパケットを、第１のノード１１または第２のノード１２のうち現用系のノードに転送する。第２のスイッチ１４は、ＡＲＰパケットとして現用系のＭＡＣアドレスを送ってきたノードが現用系のノードであると判断して、ネットワーク２７から受け取ったパケットの転送を行う。また、第１のノード１１および第２のノード１２から受け取ったパケットをネットワーク２７に送信する。第２のスイッチ１４は、第１のノード１１および第２のノード１２が接続されたポートと各ノードのＭＡＣアドレスを関連づけてアドレステーブルとして管理している。
【００４０】
第２のスイッチ１４は、第１のノード１１または第２のノード１２から、パケットの転送の停止の通知を受け取ると、各ノードへのパケットの転送を停止する。第２のスイッチ１４は、パケットの転送を停止している間に、各ネットワークからパケットを受け取ると受け取ったパケットを保存する。第２のスイッチ１４は、ネットワークの停止を解除する時刻Ｔ４の情報に基づいて、時刻Ｔ４から現用系のノードへのパケットの転送を再開する。第２のスイッチ１４は、パケットの転送を再開する際に、保存しているパケットがある場合には、保存しているパケットを新たに現用系となったノードに転送する。
【００４１】
本実施形態の通信システムでは、第１のスイッチ１４および第２のスイッチ１４は、現用系のＭＡＣアドレスが割り当てられているノードとの間でパケットの転送を行う。また、第１のスイッチ１４および第２のスイッチ１４は、ノードの切り替えの際は、パケットを一時保存し、切り替えの完了後に新たに現用系となったノードに転送している。よって、ネットワーク２６およびネットワーク２７に接続されている各装置は、いずれのノードが現用系であるかの認識を必要とせずに現用系のノードと通信を行うことができる。また、本実施形態の通信システムでは、現用系のノードの切り替えの際に、各スイッチがパケットの保存を行っている。よって、ネットワーク２６およびネットワーク２７に接続されている各装置は、現用系のノードの切り替え動作の影響を受けずに通信を行うことができる。
【００４２】
高精度時計１５は、水晶発振器を備え、時刻情報を生成する。高精度時計１５は、生成した時刻情報を第１のノード１１および第２のノード１２の同期制御部に送る。高精度時計１５は、ＧＰＳ（Global Positioning System）から送信される信号を用いて時刻情報を生成する構成としてもよい。高精度時計１５の生成した時刻情報は、第１のスイッチ１３および第２のスイッチ１４にも入力されるようにしてもよい。また、第１のスイッチ１３および第２のスイッチ１４は、それぞれ時刻情報の生成機能を自装置内に備えていてもよい。
【００４３】
ネットワーク接続２１、ネットワーク接続２２、ネットワーク接続２３およびネットワーク接続２４は、第１のノード１１、第２のノード１２、第１のスイッチ１３および第２のスイッチ１４の隣接する装置間をそれぞれネットワークケーブル等で接続している。第１のノード１１、第２のノード１２、第１のスイッチ１３および第２のスイッチ１４は、隣接する装置と各ネットワーク接続を介して相互にパケットの送受信を行うことができる。各装置間のネットワーク接続は、無線通信方式によって行われてもよい。
【００４４】
ノード間接続２５は、第１のノード１１の同期制御部３２と、第２のノードの同期制御部４２の間を信号ケーブルで接続している。第１のノード１１の同期制御部３２と、第２のノードの同期制御部４２は、相互に信号の送受信を行うことができる。また、ノード間接続２５は、無線通信方式によって構成されていてもよい。
【００４５】
ネットワーク２６は、第１のスイッチ１３との間でパケットの送受信を行う。本実施形態のネットワーク２６は、内部ネットワークとして構成されている。本実施形態における内部ネットワークとは、工場やオフィス等の限られた範囲で構成されたＬＡＮ（Local Area Network）などのことをいう。ネットワーク２７は、第２のスイッチ１４との間でパケットの送受信を行う。本実施形態のネットワーク２７は、外部ネットワークとして構成されている。本実施形態における外部ネットワークとは、内部ネットワークよりも広い範囲で構成されているネットワークのことをいう。また、ネットワーク２６およびネットワーク２７に接続された情報装置は、第１のノード１１および第２のノード１２と、現用系のノードに割り当てられるＭＡＣアドレスの情報を基にパケットの送受信を行う。
【００４６】
本実施形態の通信システムの動作について説明する。図４は、本実施形態の通信システムにおいて、現用系と待機系のノードの切り替えが行われる際の動作フローの概要を示したものである。以下の説明では、第１のノード１１を現用系、第２のノード１２を待機系として通信システムが稼働しているとして説明を行う。すなわち、各スイッチのアドレステーブルでは、第１のノード１１のＭＡＣアドレスが現用系のＭＡＣアドレスとして設定され、第２のノード１２のＭＡＣアドレスが待機系のＭＡＣアドレスとして設定されているとする。
【００４７】
第１のノード１１が現用系として稼働しているときに、ノードの切り替えが必要になると、作業者や通信管理システム等から第１のノード１１にノード切り替えの指示が入力される（ステップ１０１）。
【００４８】
ノード切り替えの指示が入力されると、第１のノード１１の同期制御部３２は、時刻情報生成部３３に、時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を生成する要求を送る。同期制御部３２からの要求を受け取ると、時刻情報生成部３３は、パケットの転送を停止する時刻Ｔ２、各ノードがＡＲＰパケットを送信する時刻Ｔ３およびパケットの転送を開始する時刻Ｔ４をそれぞれ決定する（ステップ１０２）。各時刻を決定すると、時刻情報生成部３３は、生成した時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を同期制御部３２に送る。
【００４９】
時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を受け取ると、同期制御部３２は、ＡＲＰパケットの送信時刻である時刻Ｔ３の情報を第２のノード１２の同期制御部３２にノード間接続２５を介して送る（ステップ１０３）。時刻Ｔ３の情報を送ると、第１のノード１１は、第１のスイッチ１３および第２のスイッチ１４から転送されてくるパケットの処理を時刻Ｔ２まで行う。
【００５０】
待機系の第２のノード１２の同期制御部４２は、現用系の第１のノード１１から時刻Ｔ３の情報を受け取ると受け取った時刻Ｔ３の情報を一時保存する。同期制御部４２で時刻Ｔ３の情報を受け取ると、第２のノード１２は現用系として稼働する状態に移行し、時刻Ｔ３まで待機する。
【００５１】
時刻Ｔ２になると、第１のノード１１の同期制御部３２は、ネットワーク制御部３４を介して、パケットの転送を停止する要求と時刻Ｔ４の情報を第１のスイッチ１３および第２のスイッチ１４に送る（ステップ１０４）。パケットの転送を停止する要求は、例えば、Ｐａｕｓｅパケットを第１のスイッチ１３および第２のスイッチ１４に送ることで各スイッチに通知される。パケットの転送を停止する要求と時刻Ｔ４の情報を受け取ると、第１のスイッチ１３および第２のスイッチ１４は、時刻Ｔ４の情報を保存する。また、第１のスイッチ１３および第２のスイッチ１４は、ネットワークからそれぞれ受け取ったパケットを転送せずに内部に保存し、現用系のノードである第１のノード１１へのパケットの転送を停止する（ステップ１０５）。
【００５２】
時刻Ｔ３になると、第１のノード１１および第２のノード１２は、ＡＲＰパケットを第１のスイッチ１３および第２のスイッチ１４に送る（ステップ１０６）。第１のノード１１は、自装置が待機系であることを示すＭＡＣアドレスを含むＡＲＰパケットを、第１のスイッチ１３および第２のスイッチ１４に送る。第１のノード１１は、待機系であることを示すＭＡＣアドレス「ＭＡＣ−Ｂ」を含むＡＲＰパケットを、第１のスイッチ１３および第２のスイッチ１４に送る。また、第２のノード１２は、自装置が現用系であることを示すＭＡＣアドレス「ＭＡＣ−Ａ」を含むＡＲＰパケットを、第１のスイッチ１３および第２のスイッチ１４に送る。
【００５３】
第１のノード１１および第２のノード１２が、同時に自装置のＭＡＣアドレスを第１のスイッチ１３および第２のスイッチ１４に送信することで、各スイッチは、各ノードのＭＡＣアドレスを短時間で収集することができる。また、各ノードからＭＡＣアドレスを受け取ることで、各スイッチは、新たな転送先を識別しつつ、各ノードが新たな稼働状態への移行準備を完了していることを認識することができる。
【００５４】
第１のスイッチ１３および第２のスイッチ１４は、ＡＲＰパケットを受け取ると、受け取ったパケットに基づいてアドレステーブルの情報を更新する（ステップ１０７）。第１のスイッチ１３および第２のスイッチ１４は、各ポートに対応するＭＡＣアドレスを変更しアドレステーブルを更新する。
【００５５】
第１のスイッチ１３は、第１のノード１１と接続しているネットワーク接続２１に対応するポートのＭＡＣアドレスを待機系のアドレスである「ＭＡＣ−Ｂ」に変更する。また、第１のスイッチ１３は、第２のノード１２と接続しているネットワーク接続２２に対応するポートのＭＡＣアドレスを現用系のアドレスである「ＭＡＣ−Ａ」に変更する。
【００５６】
同様に、第２のスイッチ１４は、第１のノード１１と接続しているネットワーク接続２３に対応するポートのＭＡＣアドレスを待機系のアドレスである「ＭＡＣ−Ｂ」に変更する。また、第２のスイッチ１３４、第２のノード１２と接続しているネットワーク接続２４に対応するポートのＭＡＣアドレスを現用系のアドレスである「ＭＡＣ−Ａ」に変更する。第２のノード１２から送られてきた現用系のＭＡＣアドレスを基にアドレステーブルが更新されたので、第１のスイッチ１３および第２のスイッチ１４は、第２のノード１２が現用系のノードとなったことを認識することができる。
【００５７】
待機系であった第２のノード１２に接続しているポートのＭＡＣアドレスが現用系のＭＡＣアドレスに変更されたので、第１のスイッチ１３および第２のスイッチ１４は、第２のノード１２を現用系としてパケットの転送を行う状態となる。また、現用系であった第１のノード１１に接続しているポートのＭＡＣアドレスが待機系のＭＡＣアドレスに変更されたので、第１のスイッチ１３および第２のスイッチ１４は、第１のノード１１を待機系として扱い、パケットの転送を行わない状態となる。アドレステーブルの更新等を行うと、第１のスイッチ１３および第２のスイッチ１４は、時刻Ｔ４になるまで待機する。
【００５８】
時刻Ｔ４になると、第１のスイッチ１３および第２のスイッチ１４は、保存されていた「ＭＡＣ−Ａ」宛のパケットおよび新たに受信した「ＭＡＣ−Ａ」宛のパケットを、新たに現用系となった第２のノード１２に順次、転送する（ステップ１０８）。すなわち、時刻Ｔ４に、それまで待機系であった第２のノード１２を現用系としたパケットの転送が再開される。第２のノード１２は、ネットワーク制御部４４を介して、第１のスイッチ１３および第２のスイッチ１４からのパケットを受信する。第２のノード１２の演算処理部４１は、ネットワーク制御部４４を介して受信したパケットの処理を順次、行う。また、新たに待機系となった第１のノード１１は、省電力モード等に移行するようにしてもよい。
【００５９】
上記の説明では、第１のノード１１を現用系、第２のノード１２を待機系とした場合を例に、本実施形態の通信システムにおける現用系のノードの切り替え動作について説明を行った。そのような動作に加えて、本実施形態の通信システムでは、第１のノード１１を待機系、第２のノード１２を現用系とした場合においても同様に、現用系のノードを切り替える動作を行うことができる。すなわち、本実施形態の通信システムでは、第１のノード１１と第２のノード１２の間で、現用系のノードを可逆的に切り替えることができる。
【００６０】
図５を参照して、本実施形態の通信システムにおけるパケットの送受信のタイミングの例について説明する。図５は、横軸を時刻とし、第１のスイッチ１３、第１のノード１１および第２のノード１２のパケットの送受信のタイミングを模式的に示したものである。図５の例では、初期状態では、第１のノード１１が現用系、第２のノード１２が待機系であるとする。図５の例では、始めに第１のスイッチ１３がパケット１を第１のノード１１に転送している。このとき、時刻Ｔ１において、現用系の第１のノード１１に、現用系のノードの切り替えの指示が入力されたとする。
【００６１】
現用系のノードの切り替えの指示を受け取ると、第１のノード１１の時刻情報生成部３３は、時刻Ｔ２、時刻Ｔ３および時刻Ｔ４の情報を生成する。第１のノード１１の時刻情報生成部３３は、パケット２の受信が終わる時刻を予測して時刻Ｔ２を算出する。また、第１のノード１１の同期制御部３２は、時刻Ｔ３の情報を時刻Ｔ２よりも前に第２のノード１２に通知する。
【００６２】
図５の例では、時刻Ｔ２までの間に、パケット２までが第１のスイッチ１３から第１のノード１１へと転送されている。時刻Ｔ２になると、第１のノード１１は、第１のスイッチ１３にパケットの転送の停止を要求する通知を送る。パケットの転送の停止を要求する通知を受け取ると、第１のスイッチ１３は、パケットの転送を停止する。パケットの転送は、図５で「Ｐａｕｓｅ」と示された時間、停止されている。第１のスイッチ１３は、ネットワーク２６からパケット３を受信すると、パケットの転送の停止の要求を受けている時間内のため、パケット３の転送を保留し自装置内に保存する。
【００６３】
時刻Ｔ３になると、第１のノード１１および第２のノード１２は、自装置のＭＡＣアドレスをＡＲＰパケットとして第１のスイッチ１３に送る。図５においてＡＲＰパケットは、ＡＲＰとして表記されている。このとき、新たに待機系となる第１のノード１１は、待機系として稼働するときのＭＡＣアドレスを第１のスイッチ１３に送る。また、新たに現用系となる第２のノード１２は、現用系として稼働するときのＭＡＣアドレスを第１のスイッチ１３に送る。
【００６４】
第１のノード１１および第２のノード１２からＭＡＣアドレスの情報受け取った第１のスイッチ１３は、受け取ったＭＡＣアドレスの情報を基にアドレステーブルを更新する。時刻Ｔ４になると、第１のスイッチ１３は、保存しているパケットおよび時刻Ｔ４以降に受信したパケットを、アドレステーブルを参照して現用系のノードに転送する。第２のノード１２に現用系のアドレスが対応しているので、第１のスイッチ１３は、パケット３およびパケット４を新たに現用系となった第２のノード１２に送る。以上のようにパケットを転送することで、パケットのロスを避けることができる。また、各時刻を適切に設定することで第１のノード１１から第２のノード１２に現用系のノードを切り替える際に要する時間を抑制することができる。また、第１のスイッチ１３よりもネットワーク側の装置は、現用系のＭＡＣアドレス宛のデータを第１のスイッチ１３に送ればよいため、切り替え処理やノードの切り替えを認識する必要はない。そのため、第１のスイッチ１３よりもネットワーク２６側の各装置は、ノードの切り替えに際して切り替え処理および設定変更等は不要となる。
【００６５】
また、上記の説明では図５の例を基に、第１のスイッチ１３について説明を行ったが、第２のスイッチ１４も同様に動作する。そのため、第２のスイッチ１４よりもネットワーク２７側の各装置は、現用系に割り当てられたＭＡＣアドレスを基に、第１のノード１１および第２のノード１２のうち現用系のノードと通信を行うことができる。そのため、そのため、第２のスイッチ１４よりもネットワーク２７側の各装置は、ノードの切り替えに際して切り替え処理および設定変更等は不要となる。
【００６６】
本実施形態の通信システムでは、現用系のノードを切り替える際にパケットの転送を停止し、時刻情報を基に同期を行っている。システム・クロックを基に同期を行った場合には、１ＧＨｚのシステム・クロック同期とすると、周期は、１/１ＧＨｚ＝１ナノ秒となる。一方で、パケットを基に同期を行うと１Ｇｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）の１パケットが１５００バイトとすると、１パケット送付に要する時間は、１/１ＧＨｚ × １５００ ｂｙｔｅ × ８ｂｉｔ/ｂｙｔｅ= １２０００ナノ秒となる。よって、パケットによる同期は、システム・クロック同期に比べて、約１２０００倍以上の時間スケールでの同期となる。そのため、より簡略な構成において、同期を行うことが可能になる。このように本実施形態の通信システムでは、時刻同期を行うことで同期精度を緩和することが可能になる。
【００６７】
また、本実施形態の通信システムは、各スイッチから現用系のノードへのパケットの転送を停止し、時刻を同期させたＡＲＰパケットの送信を行い、新たな現用系のノードへのパケットの転送を再開するシーケンスで動作している。そのため、本実施形態の通信システムでは、パケットの転送を停止して切り替えを行うので現用系のノードの切り替え後に、切り替え前の処理の中断状況の確認、破棄および再実行等の動作が不要となる。よって、本実施形態の通信システムでは、ノードの切り替えに要する時間を抑制することができる。また、ノード間で生じ得るずれをパケットの転送の一時停止で吸収することで、時刻同期の精度であっても同期を行うことが可能になる。また、本実施形態の通信システムは、各ノードへのパケットの転送を停止している間に切り替えを行うので、切り替えに要する動作が外部に波及せず、影響範囲を狭くすることができる。以上より、本実施形態の通信システムは、時刻同期を行うことで要求される同期精度を緩和する同期精度緩和手段と、切り替えの際の影響範囲を限定的な範囲とする影響範囲縮小化手段とを備えているとみなすことができる。
【００６８】
本実施形態の通信システムでは、例えば、第１のノード１１が現用系であったときにノードの切り替えの指示が入力されると、時刻情報生成部３３が、第２のノード１２と同期してノードの切り替えを行う際に必要な各時刻の情報を生成している。現用系であった第１のノード１１と待機系であった第２のノード１２は、ＡＲＰパケットを送信する時刻Ｔ３の情報を基に同期して切り替えを行うことができるため同期のための複雑な機構を必要としない。
【００６９】
また、本実施形態の通信システムでは、処理に要する時間を基にパケットの転送を再開する時刻Ｔ４を適切に設定することで、現用系のノードを切り替えてパケットの転送を再開するまでに要する時間を抑制することができる。このように、本実施形態の通信システムでは、時刻の通知のみでノード間の同期を行いつつ、パケットの転送の再開に要する時間を管理することが可能となる。また、パケット単位で同期を行いつつ、パケットの転送の再開に要する時間を各装置の動作に要する時間から算出することで、ノードの切り替えに要する時間を最小化することが可能になる。以上より、本実施形態の通信システムは、同期に要求される制度を緩和しつつ、同期に係る動作を必要とする範囲を最小限にしてノードの切り替えを行うことができる。また、本実施形態の通信システムは、切り替えに要する時間および切り替えの影響がおよぶ範囲を抑制してノードの切り替えを行うことができる。その結果、本実施形態の通信システムは、ノードの切り替えを行う際に、システムの複雑化を抑制しつつ、切り替えの影響範囲および障切り替えに要する時間を抑制することができる。
【００７０】
第２の実施形態の通信システムは、現用系と待機系のノードが１台ずつ備えられていたが、待機系のノードは２台以上、備えられていてもよい。そのような構成とする場合には、例えば、待機系のＭＡＣアドレスとして各ノードが固有のＭＡＣアドレスを有し、現用系として動作する際の共通のＭＡＣアドレスを設定することで、第２の実施形態と同様の方法で切り替えを行うことができる。待機系のノードを２台以上、備えることで、可用性が向上する。また、２台以上でも時刻の通知を基に、現用系のノードを切り替えることができるので、同期機構の複雑化を抑制する効果がより大きくなる。
【００７１】
ＦＴサーバなどを用いた場合などには複雑なシステム同期機構を備える必要があるのに対し、第２の実施形態の通信システムの構成では、簡素な時刻同期により、安価に高速なシステム切り替えを行うことができる。また、第２の実施形態の通信システムは、付加装置が簡略化されることにより、システム規模が小さくなり、工場等の限られた設置スペースへの配置可能性が高まる。また、第２の実施形態の通信システムは、第２の実施形態の通信システムは、クロックに比例して消費電力が増加するシステム・クロック等の高速信号が不要なため、消費電力を低減することができる。また、第２の実施形態の通信システムは、現用系のノードの切り替えの際に、外部インターフェースの切り替えを同期して実施することにより、ネットワーク上のパケットロスを抑えることができる。
【００７２】
第２の実施形態の通信システムは、例えば、工場の製造ラインのような複数の装置が連動して稼働しているシステムにおける運用制御システムに適用することができる。また、第２の実施形態の通信システムは、金融システム等の停止時に社会的に大きな影響を与えるシステムやサービスを２４時間継続稼働するシステムに適用することもできる。また、また、第２の実施形態の通信システムは、高い信頼性が要求される飛行機や電車等の運行管理システム等に適用することもできる。
【符号の説明】
【００７３】
１    通信手段
２    時刻生成手段
３    同期手段
１１    第１のノード
１２    第２のノード
１３    第１のスイッチ
１４    第２のスイッチ
１５    高精度時計
２１    ネットワーク接続
２２    ネットワーク接続
２３    ネットワーク接続
２４    ネットワーク接続
２５    ノード間接続
２６    ネットワーク
２７    ネットワーク
３１    演算処理部
３２    同期制御部
３３    時刻情報生成部
３４    ネットワーク制御部
４１    演算処理部
４２    同期制御部
４３    時刻情報生成部
４４    ネットワーク制御部
【図１】
0006641991.tif 000002
【図２】
0006641991.tif 000003
【図３】
0006641991.tif 000004
【図４】
0006641991.tif 000005
【図５】
0006641991.tif 000006