IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-93223通信システム、通信制御装置、通信制御方法及び通信制御プログラム
<>
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図1
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図2
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図3
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図4
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図5
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図6
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図7
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図8
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図9
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図10
  • 特開-通信システム、通信制御装置、通信制御方法及び通信制御プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024093223
(43)【公開日】2024-07-09
(54)【発明の名称】通信システム、通信制御装置、通信制御方法及び通信制御プログラム
(51)【国際特許分類】
   H04L 65/102 20220101AFI20240702BHJP
   H04L 41/0668 20220101ALI20240702BHJP
【FI】
H04L65/102
H04L41/0668
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022209456
(22)【出願日】2022-12-27
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人情報通信研究機構「革新的情報通信技術研究開発委託研究/Beyond 5G研究開発促進事業/Beyond 5Gで実現する同期型CPSコンピューティング基盤の研究開発」産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】阿南 信一
(57)【要約】
【課題】通信システム内の或るゲートウェイに障害が発生した場合に通信不良が生じるのを抑制可能な通信システム、通信制御装置、通信制御方法及び通信制御プログラムを提供すること。
【解決手段】通信制御装置20は、ゲートウェイにおける障害の発生を検出する障害検出部240と、ゲートウェイ10における障害の発生が検出された場合において、通信制御装置20のクライアント側通信インタフェースが、通信装置5A,5Bが備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、通信制御装置20から、第1の通信データを送信した通信装置のサーバ側通信インタフェースへ送信される第2の通信データの通信経路を規定する経路情報を生成する経路情報生成部251と、経路情報に基づき、第2の通信データを送信する送信部245とを備える。
【選択図】図11
【特許請求の範囲】
【請求項1】
サーバ側通信インタフェースと、クライアント側通信インタフェースとを備えた1以上の第1のゲートウェイと、
サーバ側通信インタフェースと、クライアント側通信インタフェースとを備え、前記1以上の第1のゲートウェイのバックアップ装置として機能する第2のゲートウェイと、
複数のサーバ側通信インタフェースと、クライアント側通信インタフェースとを備え、前記第1のゲートウェイ及び前記第2のゲートウェイと通信する複数の通信装置とを含み、
前記複数の通信装置はそれぞれ、クライアントである移動体装置に設けられ、
前記第1のゲートウェイ及び前記第2のゲートウェイの前記クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
前記第2のゲートウェイは、
前記第1のゲートウェイにおける障害の発生を検出する障害検出部と、
前記第1のゲートウェイにおける障害の発生が検出された場合において、前記第2のゲートウェイの前記クライアント側通信インタフェースが、前記通信装置の前記複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、前記第1の通信データを受信した前記第2のゲートウェイの前記クライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成する経路情報生成部と、
前記経路情報に基づき、前記第2の通信データを送信する送信部と
を含み、
前記経路情報は、前記第2のゲートウェイの前記複数のクライアント側通信インタフェースのうち、前記第1の通信データを受信したクライアント側通信インタフェースを、前記第2の通信データを送信するインタフェースとして規定し、
前記送信部は、前記第1の通信データを受信したクライアント側通信インタフェースから、前記第1の通信データを送信した前記通信装置の前記サーバ側通信インタフェースへ、前記第2の通信データを送信する、
通信システム。
【請求項2】
前記第2のゲートウェイは、前記経路情報生成部が生成した経路情報が登録されるデータテーブルを備えており、
前記経路情報生成部は、前記第1の通信データを受信した前記第2のゲートウェイのクライアント側通信インタフェースのIPアドレスを、前記経路情報として前記データテーブルに登録する、請求項1に記載の通信システム。
【請求項3】
前記通信システムが複数の前記第1のゲートウェイを含む場合において、
前記第2のゲートウェイは、前記複数の第1のゲートウェイのそれぞれについて、前記データテーブルを有する、請求項2に記載の通信システム。
【請求項4】
前記第2のゲートウェイの全てのクライアント側通信インタフェースを介して、前記通信装置の全てのサーバ側通信インタフェースに対し、応答を要する通信データを送信する送信部をさらに備え、
前記経路情報生成部は、前記第2のゲートウェイの複数のクライアント側通信インタフェースのそれぞれについて、前記通信装置の複数のサーバ側通信インタフェースうち、前記応答を要する通信データに対する返信時間が最も短いサーバ側通信インタフェースを特定し、
特定された前記通信装置のサーバ側通信インタフェースに対応する前記第2のゲートウェイのクライアント側通信インタフェースを介して、前記特定された前記通信装置のサーバ側通信インタフェースへ、前記第2の通信データを転送するための経路情報を生成する、請求項1~3のいずれか1項に記載の通信システム。
【請求項5】
複数の第1のゲートウェイに同時期に障害が発生した場合、前記第2のゲートウェイは、予め設定されたバックアップの優先度に従い、前記複数の第1のゲートウェイのうち優先度の最も高い第1のゲートウェイをバックアップする、請求項1~3のいずれか1項に記載の通信システム。
【請求項6】
サーバ側通信インタフェースと、クライアントである複数の移動体装置のそれぞれに設けられた複数の通信装置と通信するクライアント側通信インタフェースとを備え、1以上のゲートウェイのバックアップ装置として機能する通信制御装置であって、
前記クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
前記ゲートウェイにおける障害の発生を検出する障害検出部と、
前記ゲートウェイにおける障害の発生が検出された場合において、前記クライアント側通信インタフェースが、前記通信装置が備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、前記第1の通信データを受信した前記通信制御装置の前記クライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成する経路情報生成部と、
前記経路情報に基づき、前記第2の通信データを送信する送信部と
を備え、
前記経路情報は、前記通信制御装置の前記複数のクライアント側通信インタフェースのうち、前記第1の通信データを受信したクライアント側通信インタフェースを、前記第2の通信データを送信するインタフェースとして規定し、
前記送信部は、前記第1の通信データを受信したクライアント側通信インタフェースから、前記第1の通信データを送信した前記通信装置の前記サーバ側通信インタフェースへ、前記第2の通信データを送信する、
通信制御装置。
【請求項7】
サーバ側通信インタフェースと、クライアントである複数の移動体装置のそれぞれに設けられた複数の通信装置と通信するクライアント側通信インタフェースとを備え、1以上のゲートウェイのバックアップ装置として機能する通信制御装置が実行する通信制御方法であって、前記クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
前記通信制御方法は、
前記ゲートウェイにおける障害の発生が検出したか判定し、
前記ゲートウェイにおける障害の発生が検出された場合において、前記クライアント側通信インタフェースが、前記通信装置が備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、前記第1の通信データを受信した前記通信制御装置の前記クライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成し、前記経路情報は、前記通信制御装置の前記複数のクライアント側通信インタフェースのうち、前記第1の通信データを受信したクライアント側通信インタフェースを、前記第2の通信データを送信するインタフェースとして規定し、
前記経路情報に基づき、前記第1の通信データを受信したクライアント側通信インタフェースから、前記第1の通信データを送信した前記通信装置の前記サーバ側通信インタフェースへ、前記第2の通信データを送信する、
通信制御方法。
【請求項8】
サーバ側通信インタフェースと、クライアントである複数の移動体装置のそれぞれに設けられた複数の通信装置と通信するクライアント側通信インタフェースとを備え、1以上のゲートウェイのバックアップ装置として機能する通信制御装置が実行する通信制御プログラムであって、前記クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
前記通信制御装置が備えるコンピュータに対し、
前記ゲートウェイにおける障害の発生が検出したか判定させ、
前記ゲートウェイにおける障害の発生が検出された場合において、前記クライアント側通信インタフェースが、前記通信装置が備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、前記第1の通信データを受信した前記通信制御装置の前記クライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成させ、前記経路情報は、前記通信制御装置の前記複数のクライアント側通信インタフェースのうち、前記第1の通信データを受信したクライアント側通信インタフェースを、前記第2の通信データを送信するインタフェースとして規定し、
前記経路情報に基づき、前記第1の通信データを受信したクライアント側通信インタフェースから、前記第1の通信データを送信した前記通信装置の前記サーバ側通信インタフェースへ、前記第2の通信データを送信させる、
通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲートウェイを含む通信システム、通信制御装置、通信制御方法及び通信制御プログラムに関する。
【背景技術】
【0002】
従来、ゲートウェイを含む通信システムの通信不良を防ぐための種々の技術が提案されている。このような技術の一例として、特許文献1が開示するシステムでは、複数のアクティブな装置のうちの1つが停止した場合、停止した装置が処理していた通信を他のアクティブな装置が分担する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016-136749号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、通信装置を含む通信システムにおいて、通信装置が複数の通信インタフェースを備える場合、これらの通信インタフェースのうち、通信状態が良好な通信インタフェースを選択して使用する技術が存在する。しかしながら、特許文献1が開示するシステムは、障害が発生したゲートウェイのバックアップ装置が、通信装置が備えた複数の通信インタフェースのうち、障害発生前に使用されていた通信インタフェースを介してデータ通信を行うものではない。そのため、特許文献1が開示するシステムでは、障害発生前に使用されていた通信状態が良好な通信インタフェースを使用することができず、ゲートウェイに障害が発生した場合に通信不良が生じる虞があった。
【0005】
本開示の目的の1つは、上述した課題を鑑み、通信システム内の或るゲートウェイに障害が発生した場合に、通信不良が生じるのを抑制可能な通信システム、通信制御装置、通信制御方法及び通信制御プログラムを提供することにある。
【課題を解決するための手段】
【0006】
例示的な一実施形態に係る通信システムは、
サーバ側通信インタフェースと、クライアント側通信インタフェースとを備えた1以上の第1のゲートウェイと、
サーバ側通信インタフェースと、クライアント側通信インタフェースとを備え、1以上の第1のゲートウェイのバックアップ装置として機能する第2のゲートウェイと、
複数のサーバ側通信インタフェースと、クライアント側通信インタフェースとを備え、第1のゲートウェイ及び第2のゲートウェイと通信する複数の通信装置とを含み、
複数の通信装置はそれぞれ、クライアントである移動体装置に設けられ、
第1のゲートウェイ及び第2のゲートウェイのクライアント側通信インタフェースは、複数のIP(Internet Protocol)アドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
第2のゲートウェイは、
第1のゲートウェイにおける障害の発生を検出する障害検出部と、
第1のゲートウェイにおける障害の発生が検出された場合において、第2のゲートウェイのクライアント側通信インタフェースが、通信装置の複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、第1の通信データを受信した第2のゲートウェイのクライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成する経路情報生成部と、
経路情報に基づき、第2の通信データを送信する送信部と
を含み、
経路情報は、第2のゲートウェイの複数のクライアント側通信インタフェースのうち、第1の通信データを受信したクライアント側通信インタフェースを、第2の通信データを送信するインタフェースとして規定し、
送信部は、第1の通信データを受信したクライアント側通信インタフェースから、第1の通信データを送信した通信装置のサーバ側通信インタフェースへ、第2の通信データを送信する。
【0007】
例示的な一実施形態に係る、サーバ側通信インタフェースと、クライアントである複数の移動体装置のそれぞれに設けられた複数の通信装置と通信するクライアント側通信インタフェースとを備え、1以上のゲートウェイのバックアップ装置として機能する通信制御装置は、
クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
ゲートウェイにおける障害の発生を検出する障害検出部と、
ゲートウェイにおける障害の発生が検出された場合において、クライアント側通信インタフェースが、通信装置が備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、第1の通信データを受信した通信制御装置のクライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成する経路情報生成部と、
経路情報に基づき、第2の通信データを送信する送信部と
を備え、
経路情報は、通信制御装置の複数のクライアント側通信インタフェースのうち、第1の通信データを受信したクライアント側通信インタフェースを、第2の通信データを送信するインタフェースとして規定し、
送信部は、第1の通信データを受信したクライアント側通信インタフェースから、第1の通信データを送信した通信装置のサーバ側通信インタフェースへ、第2の通信データを送信する。
【0008】
例示的な一実施形態に係る、サーバ側通信インタフェースと、クライアントである複数の移動体装置のそれぞれに設けられた複数の通信装置と通信するクライアント側通信インタフェースとを備え、1以上のゲートウェイのバックアップ装置として機能する通信制御装置が実行する通信制御方法において、クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
通信制御方法は、
ゲートウェイにおける障害の発生が検出したか判定し、
ゲートウェイにおける障害の発生が検出された場合において、クライアント側通信インタフェースが、通信装置が備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、第1の通信データを受信した通信制御装置のクライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成し、経路情報は、通信制御装置の複数のクライアント側通信インタフェースのうち、第1の通信データを受信したクライアント側通信インタフェースを、第2の通信データを送信するインタフェースとして規定し、
経路情報に基づき、第1の通信データを受信したクライアント側通信インタフェースから、第1の通信データを送信した通信装置のサーバ側通信インタフェースへ、第2の通信データを送信する。
【0009】
例示的な一実施形態に係る、サーバ側通信インタフェースと、クライアントである複数の移動体装置のそれぞれに設けられた複数の通信装置と通信するクライアント側通信インタフェースとを備え、1以上のゲートウェイのバックアップ装置として機能する通信制御装置が実行する通信制御プログラムにおいて、クライアント側通信インタフェースは、複数のIPアドレスが割り当てられることによって複数のクライアント側通信インタフェースとして機能し、
通信制御プログラムは、通信制御装置が備えるコンピュータに対し、
ゲートウェイにおける障害の発生が検出したか判定させ、
ゲートウェイにおける障害の発生が検出された場合において、クライアント側通信インタフェースが、通信装置が備えた複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、第1の通信データを受信した通信制御装置のクライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成させ、経路情報は、通信制御装置の複数のクライアント側通信インタフェースのうち、第1の通信データを受信したクライアント側通信インタフェースを、第2の通信データを送信するインタフェースとして規定し、
経路情報に基づき、第1の通信データを受信したクライアント側通信インタフェースから、第1の通信データを送信した通信装置のサーバ側通信インタフェースへ、第2の通信データを送信させる。
【発明の効果】
【0010】
本開示により、通信システム内の或るゲートウェイに障害が発生した場合に通信不良が生じるのを抑制可能な通信システム、通信制御装置、通信制御方法及び通信制御プログラムを提供することができる。
【図面の簡単な説明】
【0011】
図1】例示的な一実施形態に係る通信システムを示す図である。
図2】例示的な一実施形態に係る第2のゲートウェイのハードウェア構成の一例を示す図である。
図3】例示的な一実施形態に係る通信制御部の構成の一例を示す図である。
図4】ゲートウェイ管理テーブルの一例を示す図である。
図5】経路情報テーブルの一例を示す図である。
図6図5の経路情報テーブルに対応する通信システムを示す図である。
図7】例示的な一実施形態に係る経路推定部の構成の一例を示す図である。
図8】経路情報の生成方法を示す図である。
図9】例示的な一実施形態に係る第2のゲートウェイが実行する処理を示すフローチャートである。
図10】例示的な一実施形態に係る第2のゲートウェイが実行する処理を示すフローチャートである。
図11】例示的な一実施形態に係る第2のゲートウェイが有する主要な構成要素を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、例示的な一実施形態について説明する。図1は、例示的な一実施形態に係る通信システム1を示す概略図である。通信システム1は、サーバ2と、スイッチ3と、第1のゲートウェイ10と、第2のゲートウェイ20と、アクセスポイント4A~4Cと、無線通信装置5A,5Bと、移動体装置6A,6Bとを含む。なお、通信システム1には、任意の数の第1のゲートウェイ10、無線通信装置5A,5B、及び移動体装置6A,6Bが含まれ得る。また、他の実施形態では、無線通信装置5A,5Bの代わりに、有線による通信装置を採用してもよい。
【0013】
サーバ2は、クライアントである移動体装置6A,6Bに関する種々の情報を処理する装置である。例えば、サーバ2は、移動体装置6A,6Bに制御データを送信して、移動体装置6A,6Bの動作を制御することができる。また、サーバ2は、移動体装置6A,6Bから様々なデータを取得することができる。
【0014】
スイッチ3は、ネットワークケーブル30によって形成されたネットワークと、サーバ2側のネットワークとを接続する装置である。
【0015】
第1のゲートウェイ10は、ネットワークケーブル30によって形成されたネットワークと、サーバ2側のネットワークとの間で通信データを中継する通信制御装置である。第1のゲートウェイ10は、マスターゲートウェイに相当する。第1のゲートウェイ10は、物理的な1つのサーバ側通信インタフェースと、物理的な1つのクライアント側通信インタフェースとを備え得る。第1のゲートウェイ10は、サーバ側通信インタフェースを介して、サーバ2とデータ通信を行う。第1のゲートウェイ10のサーバ側通信インタフェースは、ブリッジインタフェースとしても称される。
【0016】
また、第1のゲートウェイ10は、クライアント側通信インタフェースを介して、アクセスポイント4A~4C及び無線通信装置5A,5Bとデータ通信を行う。第1のゲートウェイ10の物理的なクライアント側通信インタフェースには、無線通信装置5A,5Bの物理的なサーバ側通信インタフェースの数に応じて、IPアドレスが割り当てられる。換言すると、第1のゲートウェイ10は、無線通信装置5A,5Bのサーバ側通信インタフェースの数に応じたクライアント側通信インタフェースを有する。これにより、第1のゲートウェイ10の物理的な1つのクライアント側通信インタフェースは、無線通信装置5A,5Bの複数のサーバ側通信インタフェースのそれぞれに対応する複数のクライアント側通信インタフェースとして機能し得る。第1のゲートウェイ10のクライアント側通信インタフェースは、トンネルインタフェースとしても称される。
【0017】
第1のゲートウェイ10は、無線通信装置5A,5Bが備えた物理的な複数のサーバ側通信インタフェースのうち、通信状態が良好なサーバ側通信インタフェースを選択して、データ通信を行う。例えば、第1のゲートウェイ10は、無線通信装置5A,5Bのサーバ側通信インタフェースへ、応答を要する通信データを送信し、当該通信データに対する返信時間が最も短いサーバ側通信インタフェースを、通信状態が良好なサーバ側通信インタフェースとして選択できる。その他、連続する複数の往復遅延結果を用いて分析や推定した結果、スピードテスト等を利用したスループット、無線通信装置のサーバ側インタフェースのドライバでカウントされる送信エラー数、無線通信装置のサーバ側インタフェースのドライバで検出される待機時間等に基づいて、通信状態が良好なサーバ側通信インタフェースを選択することができる。
【0018】
第2のゲートウェイ20は、通信システム1内の1以上の第1のゲートウェイのバックアップ装置として機能する通信制御装置である。第2のゲートウェイ20は、第1のゲートウェイ10と同様に、サーバ側通信インタフェースと、クライアント側通信インタフェースとを備え得る。第2のゲートウェイ20の物理的なクライアント側通信インタフェースには、無線通信装置5A,5Bのサーバ側通信インタフェースの数に応じてIPアドレスが割り当てられる。換言すると、第2のゲートウェイ20は、無線通信装置5A,5Bのサーバ側通信インタフェースの数に応じたクライアント側通信インタフェースを有する。これにより、第2のゲートウェイ20の物理的な1つのクライアント側通信インタフェースは、無線通信装置5A,5Bの複数のサーバ側通信インタフェースのそれぞれに対応する複数のクライアント側通信インタフェースとして機能し得る。第2のゲートウェイ20のサーバ側通信インタフェースは、ブリッジインタフェースとしても称される。第2のゲートウェイ20のクライアント側通信インタフェースは、トンネルインタフェースとしても称される。
【0019】
本実施形態では、第1のゲートウェイ10及び第2のゲートウェイ20のサーバ側通信インタフェースの識別情報及びクライアント側通信インタフェースの識別情報として、VRRP(Virtual Router Redundancy Protocol)等のプロトコルに準拠した共通の仮想的なIPアドレスが使用される。サーバ2から第1のゲートウェイ10及び第2のゲートウェイ20のサーバ側通信インタフェースへの通信データの送信は、仮想的なIPアドレスを用いて行われる。同様に、無線通信装置5A,5Bから第1のゲートウェイ10及び第2のゲートウェイ20のクライアント側通信インタフェースへの通信データの送信は、仮想的なIPアドレスを用いて行われる。
【0020】
アクセスポイント4A~4Cは、第1のゲートウェイ10及び第2のゲートウェイ20と、無線通信装置5A,5Bとの間で通信データを中継する装置である。
【0021】
無線通信装置5A,5Bは、第1のゲートウェイ10及び第2のゲートウェイ20と無線通信する通信装置である。また、無線通信装置5A,5Bは、ケーブル40A,40Bを介して移動体装置6A,6Bと通信することができる。無線通信装置5A,5Bは、移動体装置6A,6Bに設置することができる。無線通信装置5A,5Bは、物理的な複数のサーバ側通信インタフェースと、物理的な1つのクライアント側通信インタフェースとを備え得る。無線通信装置5A,5Bは、複数のサーバ側通信インタフェースを介して、第1のゲートウェイ10及び第2のゲートウェイ20と通信を行う。また、無線通信装置5A,5Bは、クライアント側通信インタフェースを介して移動体装置6A,6Bと通信を行う。
【0022】
移動体装置6A,6Bは、サーバ2によって管理及び/又は制御される装置である。移動体装置の具体例としては、AGV(Automatic Guided Vehicle)、工作機械、ロボット等が挙げられる。
【0023】
図2は、例示的な一実施形態に第2のゲートウェイ20のハードウェア構成の一例を示す図である。第2のゲートウェイ20は、サーバ側通信インタフェース(IF)21と、クライアント側通信インタフェース22と、記憶装置23と、通信制御部24と、経路推定部25とを備える。
【0024】
サーバ側通信インタフェース21は、サーバ2とのデータ通信で使用される通信インタフェースである。クライアント側通信インタフェース22は、クライアント側装置とのデータ通信で使用される通信インタフェースである。
【0025】
記憶装置23は、第2のゲートウェイ20が処理する種々のデータ及びプログラムが保存される装置である。記憶装置23には、第1のゲートウェイ10が通信する装置の通信インタフェースの識別情報が保存される。第1のゲートウェイ10が通信する装置の通信インタフェースの識別情報には、サーバ2の通信インタフェースのIPアドレス及び無線通信装置5A,5Bの通信インタフェースのIPアドレスが含まれる。無線通信装置5A,5Bの通信インタフェースのIPアドレスは、ユーザの設定によって記憶装置23に予め保存することができる。無線通信装置5A,5Bの通信インタフェースのIPアドレスが動的に生成される場合、記憶装置23には、無線通信装置5A,5Bの通信インタフェースのMAC(Media Access Control)アドレスを保存することができる。この場合、第2のゲートウェイ20は、無線通信装置5A,5Bからパケットを受信し、記憶装置23に保存されたMACアドレスと当該パケットに付加されているMACアドレスが一致すると判断すると、当該パケットに付加されているIPアドレスを、無線通信装置5A,5Bの通信インタフェース識別情報として、記憶装置23に保存する。
【0026】
通信制御部24は、後述するプログラムを実行する装置である。通信制御部24は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサによって実現することができる。また、通信制御部24は、FPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等の集積回路によっても実現することができる。これらの装置は、コンピュータに相当する。
【0027】
図3は、例示的な一実施形態に通信制御部24の構成の一例を示す図である。通信制御部24は、プログラムである、障害検出部240、テーブル更新部241、通信データ検出部242、通信状態判定部243、インタフェース判定部244、転送部245、及び経路情報取得部246を実行する。
【0028】
障害検出部240は、第2のゲートウェイ20がバックアップする1以上の第1のゲートウェイ10のそれぞれにおける障害の発生を検出するプログラムである。具体的には、障害検出部240は、監視対象の第1のゲートウェイ10の死活監視を行う。障害検出部240は、監視対象の第1のゲートウェイ10の停止を検出すると、第1のゲートウェイ10に割り当てられた仮想的なインタフェース識別情報を使用するのが、第2のゲートウェイ20の物理的な通信インタフェースである旨を示すパケット、例えば、GARP(Gratuitous Address Resolution Protocol)パケット等をネットワーク上に送信する。他の機器は、このパケットを受信すると、第1のゲートウェイ10に割り当てられた仮想的なインタフェース識別情報を宛先とするパケットを第2のゲートウェイ20に送信するようになる。これにより、第2のゲートウェイ20が、第1のゲートウェイ10のバックアップ装置として動作する。
【0029】
テーブル更新部241は、第1のゲートウェイ10を管理するためのゲートウェイ管理テーブルを更新するプログラムである。テーブル更新部241は、障害検出部240による第1のゲートウェイ10の死活監視の結果に基づき、ゲートウェイ管理テーブルを更新する。図4は、ゲートウェイ管理テーブルの一例を示す図である。ゲートウェイ管理テーブルには、第1のゲートウェイ10の通信状況と、第2のゲートウェイ20が第1のゲートウェイ10のバックアップ装置として動作するときに使用する経路情報の状態が、各第1のゲートウェイ10の識別情報と関連付けて登録される。テーブル更新部241は、障害の発生が検出された第1のゲートウェイ10の通信状況を「停止」、経路情報を「未確定」に変更する。
【0030】
通信データ検出部242は、第2のゲートウェイ20のサーバ側通信インタフェース21又はクライアント側通信インタフェース22を介して、通信データを受信したか否か判定するプログラムである。本実施形態では、通信データとしてパケットを採用する。
【0031】
通信状態判定部243は、ゲートウェイ管理テーブルに登録された経路情報の状態を判定するプログラムである。
【0032】
インタフェース判定部244は、通信データを受信したインタフェースを判定するプログラムである。
【0033】
転送部245は、受信した通信データ及びクライアント側通信インタフェースの識別情報を転送するプログラムである。具体的には、転送部245は、受信したパケット及び当該パケットを受信した通信インタフェースの識別情報を、経路推定部25に転送する。後述するように、経路推定部25は、この通信インタフェースの識別情報を用いて、経路情報を更新することができる。また、転送部245は、経路推定部25が生成した経路情報に基づき、無線通信装置5A,5B又はサーバ2にパケットを送信する。転送部245は、送信部に相当する。
【0034】
経路情報取得部246は、経路情報テーブルを参照し、受信したパケットを転送するための経路情報を取得するプログラムである。図5は、経路情報テーブルの一例を示す図である。図6は、図5の経路情報テーブルに対応する通信システム1を示す図である。図6に示す「Tunnel」は、第2のゲートウェイ20と無線通信装置5A,5Bとの間の通信経路を示す。
【0035】
経路情報テーブルには、パケットの送信元の装置の識別情報と、当該パケットの宛先の装置の識別情報と、当該パケットを受信したゲートウェイの通信インタフェースである「入力IF」の識別情報と、当該パケットを送信するゲートウェイの通信インタフェースである「出力IF」の識別情報が登録される。例えば、図5に示す経路情報テーブルにおいて、番号1で識別される経路情報は、サーバ2から移動体装置6Aへ送信されるパケットの経路情報である。ゲートウェイの入力IFは、サーバ側通信インタフェース(192.168.2.10)である。図6に示す通信システム1では、ゲートウェイの出力IFは、クライアント側通信インタフェース(192.168.0.10)及びクライアント側通信インタフェース(192.168.1.10)の2つが想定される。この2つのクライアント側通信インタフェースのうち、通信品質の良好なクライアント側通信インタフェースの識別情報が経路情報テーブルに登録される。クライアント側通信インタフェース(192.168.0.10)が通信品質の良好なクライアント側通信インタフェースである場合、図5の例のように、クライアント側通信インタフェース(192.168.0.10)がゲートウェイの出力IFとして登録される。
【0036】
また、番号2で識別される経路情報は、サーバ2から無線通信装置5A及び無線通信装置5Bへブロードキャストされるパケットの経路情報である。ゲートウェイの入力IFは、サーバ側通信インタフェース(192.168.2.10)である。ブロードキャストでは、無線通信装置5A及び無線通信装置5Bの双方にパケットを届ける必要があるため、ゲートウェイの出力IFは、クライアント側通信インタフェース(192.168.0.10)及びクライアント側通信インタフェース(192.168.1.10)の双方が登録される。
【0037】
さらに、番号3で識別される経路情報は、移動体装置6Aからサーバ2へ送信されるパケットの経路情報である。図6に示す通信システム1では、ゲートウェイの入力IFは、クライアント側通信インタフェース(192.168.0.10)及びクライアント側通信インタフェース(192.168.1.10)の2つが想定される。無線通信装置5Aが、無線通信装置5Aの記憶装置に保存された経路情報テーブルに基づき、ゲートウェイの入力IFの識別情報を選択する。なお、ゲートウェイの出力IFは、サーバ側通信インタフェース(192.168.2.10)である。
【0038】
経路推定部25は、後述するプログラムを実行する装置である。経路推定部25は、CPUやMPU等のプロセッサによって実現することができる。また、経路推定部25は、FPGAやASIC等の集積回路によっても実現することができる。本実施形態では、通信制御部24及び経路推定部25が個別の装置として構成されるが、他の実施形態では、通信制御部24及び経路推定部25を1つの装置として構成してもよい。
【0039】
図7は、例示的な一実施形態に係る経路推定部25の構成の一例を示す図である。経路推定部25は、プログラムである、経路情報判定部250、経路情報生成部251及び転送部252を実行する。
【0040】
経路情報判定部250は、更新すべき経路情報が有るか否か判定するプログラムである。具体的には、経路情報判定部250は、移動体装置6A,6Bを宛先とするパケットの経路情報のゲートウェイの出力インタフェースとして、複数のクライアント側通信インタフェースの識別情報が登録されているか判定する。出力インタフェースとして、複数のクライアント側通信インタフェースの識別情報が登録されている場合、経路情報判定部250は、更新すべき経路情報が有ると判断する。一方、出力インタフェースとして、1つのクライアント側通信インタフェースの識別情報が登録されている場合、経路情報判定部250は、更新すべき経路情報が無いと判断する。
【0041】
経路情報生成部251は、第2のゲートウェイ20が受信したパケットの通信経路を規定する経路情報を生成するプログラムである。経路情報生成部251は、通信システム1に含まれる各装置を宛先とするパケットのそれぞれについて、当該パケットを初めに受信した時点で経路情報を生成する。
【0042】
具体的には、経路情報生成部251は、無線通信装置5A,5Bからパケットを受信した通信インタフェースの識別情報に基づき、第2のゲートウェイ20から無線通信装置5A,5Bに送信されるパケットの経路情報を生成する。このパケットには、無線通信装置5A,5Bを宛先とするパケットと、無線通信装置5A,5Bを経由するパケットが含まれる。例えば、第2のゲートウェイ20が、無線通信装置5Aからパケットを受信した場合、当該パケットを受信したクライアント側通信インタフェースの識別情報を、無線通信装置5Aのクライアント側通信インタフェースを宛先とするパケット、又は、当該クライアント側通信インタフェースを経由するパケットを出力する出力インタフェースとして、経路情報テーブルに登録する。
【0043】
より詳細には、例えば、第2のゲートウェイ20が、サーバ2を送信元とし移動体装置6Aを宛先とするパケットを初めて受信した場合、経路情報生成部251は、図8に示すように、送信元の識別情報と、宛先の識別情報と、当該パケットを受信したサーバ側通信インタフェースの識別情報と、当該パケットを出力するクライアント側通信インタフェースの識別情報を登録する。このとき、経路情報生成部251は、当該パケットを出力するクライアント側通信インタフェースの識別情報として、クライアント側通信インタフェースの識別情報(192.168.0.10)及びクライアント側通信インタフェースの識別情報(192.168.1.10)の双方を登録する。この場合、第2のゲートウェイ20が、サーバ2を送信元とし移動体装置6Aを宛先とするパケットは、クライアント側通信インタフェースの識別情報(192.168.0.10)及びクライアント側通信インタフェースの識別情報(192.168.1.10)の双方から出力される。
【0044】
その後、第2のゲートウェイ20が、移動体装置6Aを送信元としサーバ2を宛先とするパケットを初めて受信すると、経路情報生成部251は、図8に示すように、送信元の識別情報と、宛先の識別情報と、当該パケットを受信したクライアント側通信インタフェースの識別情報と、当該パケットを出力するサーバ側通信インタフェースの識別情報を登録する。そして、経路情報生成部251は、番号1で識別されるサーバ2を送信元とし移動体装置6Aを宛先とするパケットの経路情報を、図8のように更新する。すなわち、経路情報生成部251は、サーバ2を送信元とし移動体装置6Aを宛先とするパケットを出力する通信インタフェースの識別情報として、移動体装置6Aを送信元としサーバ2を宛先とするパケットを受信したクライアント側通信インタフェースの識別情報(192.168.0.10)のみを登録する。これにより、番号1で識別される経路情報が確定する。
【0045】
通信制御部24の転送部245は、このようにして確定された経路情報を用いて、パケットを転送する。例えば、第2のゲートウェイ20が、サーバ2を送信元とし移動体装置6Aを宛先とする送信対象のパケットを受信した場合、番号1で識別される経路情報を用いて、当該パケットを出力する第2のゲートウェイ20のクライアント側通信インタフェースを特定する。特定されたクライアント側通信インタフェースは、当該パケットを、無線通信装置のサーバ側通信インタフェースへ送信する。このとき、特定されたクライアント側通信インタフェースは、番号1で識別される経路情報の確定に使用されたパケットを送信した無線通信装置のサーバ側通信インタフェースへ、送信対象のパケットを送信する。この無線通信装置のサーバ側通信インタフェースの情報は、経路情報生成部251が、経路情報を確定する際に記憶装置23に保存できる。代替的に、第2のゲートウェイ20のクライアント側通信インタフェースの識別情報と、無線通信装置5A,5Bのサーバ側通信インタフェースの識別情報とを対応付けてデータテーブルに予め登録してもよい。この場合、特定されたクライアント側通信インタフェースは、当該クライアント側通信インタフェースに対応付けられた無線通信装置5A,5Bのサーバ側通信インタフェースへ、送信対象のパケットを送信する。
【0046】
転送部252は、通信制御部24から受信したパケットを通信制御部24に転送するプログラムである。
【0047】
図9及び図10は、例示的な一実施形態に係る第2のゲートウェイ20が実行する処理を示すフローチャートである。ステップS1では、通信制御部24の通信データ検出部242が、第2のゲートウェイ20のサーバ側通信インタフェース21又はクライアント側通信インタフェース22からパケットを受信したか否か判定する。パケットを受信していない場合(NO)、ステップS1の処理が再び実行される。
【0048】
一方、パケットを受信した場合(YES)、ステップS2で通信制御部24の通信状態判定部243が、ゲートウェイ管理テーブルに登録された経路情報の状態の少なくとも1つが未確定であるか否か判定する。ゲートウェイ管理テーブルに登録された経路情報の状態の全てが確定である場合(NO)、ステップS9に処理が分岐する。一方、ゲートウェイ管理テーブルに登録された経路情報の状態の少なくとも1つが未確定である場合(YES)、ステップS3に処理が分岐する。
【0049】
ステップS3では、通信制御部24のインタフェース判定部244が、パケットを受信したインタフェースを判定する。パケットを受信したインタフェースがサーバ側通信インタフェースである場合、ステップS9に処理が分岐する。一方、パケットを受信したインタフェースがクライアント側通信インタフェースである場合、ステップS4に処理が分岐する。ステップS4では、通信制御部24の転送部245が、クライアント側通信インタフェースが受信した第1のパケット及び第1のパケットを受信したクライアント側通信インタフェースの識別情報を、経路推定部25に転送する。
【0050】
ステップS5では、経路推定部25の経路情報判定部250が、更新すべき経路情報が少なくとも1つ有るか否か判定する。更新すべき経路情報がない場合(NO)、ステップS9に処理が分岐する。一方、更新すべき経路情報がある場合(YES)、ステップS6に処理が分岐する。
【0051】
ステップS6では、経路推定部25の経路情報生成部251が、第1のパケットを受信した第2のゲートウェイ20のクライアント側通信インタフェースから出力される第2のパケットの経路情報を生成する。ステップS7では、経路情報生成部251は、生成した経路情報を経路情報テーブルに登録する。ステップS8では、経路推定部25の転送部252が、第1のパケットを通信制御部24に転送する。
【0052】
ステップS9では、通信制御部24の経路情報取得部246が、経路情報テーブルを参照し、受信したパケットを転送するための経路情報を取得する。例えば、当該パケットの送信元がサーバ2であり、当該パケットの宛先が移動体装置6Aである場合において、図5に示す経路情報テーブルを使用するとき、経路情報取得部246は、図5の番号1で識別される経路情報を取得する。ステップS10では、通信制御部24の転送部245が、取得した経路情報に基づき、ステップS1で検出したパケットを送信し、図10の処理が終了する。
【0053】
図11は、例示的な一実施形態に係る第2のゲートウェイ20が有する主要な構成要素を示す図である。第2のゲートウェイ20は、障害検出部240と、経路情報生成部251と、転送部245とを備える。
【0054】
障害検出部240は、第1のゲートウェイ10における障害の発生を検出する。経路情報生成部251は、第1のゲートウェイにおける障害の発生が検出された場合において、第2のゲートウェイのクライアント側通信インタフェースが、無線通信装置の複数のサーバ側通信インタフェースの1つから第1の通信データを受信したとき、第1の通信データを受信した第2のゲートウェイのクライアント側通信インタフェースから送信される第2の通信データの通信経路を規定する経路情報を生成する。経路情報は、第2のゲートウェイの複数のクライアント側通信インタフェースのうち、第1の通信データを受信したクライアント側通信インタフェースを、第2の通信データを送信するインタフェースとして規定する。送信部245は、第1の通信データを受信したクライアント側通信インタフェースから、第1の通信データを送信した無線通信装置のサーバ側通信インタフェースへ、第2の通信データを送信する。
【0055】
第1のゲートウェイ10が、無線通信装置5A,5Bの備えた複数のサーバ側通信インタフェースのうち、通信状態が良好なサーバ側通信インタフェースを選択して通信を行っていた場合、第2のゲートウェイ20は、上記構成を採用することにより、この通信状態が良好な無線通信装置5A,5Bのサーバ側通信インタフェースへ第2の通信データを転送することができる。このため、第1のゲートウェイ10に障害が発生した場合でも、通信不良が生じるのを抑制できる。
【0056】
また、第2のゲートウェイ20は、複数の第1のゲートウェイ10のそれぞれについて、経路情報生成部251が生成した経路情報が登録されるデータテーブルを備える。経路情報生成部251は、第1の通信データを受信した第2のゲートウェイのクライアント側通信インタフェースのIPアドレスを、経路情報としてデータテーブルに登録する。これにより、経路情報取得部246は、複数の第1のゲートウェイ10のそれぞれについて、第1の通信データを受信した第2のゲートウェイのクライアント側通信インタフェースのIPアドレスを規定した経路情報を取得することができる。送信部245は、この経路情報に基づき、当該IPアドレスによって特定されるクライアント側通信インタフェースから、当該クライアント側通信インタフェースに対応する無線通信装置のサーバ側通信インタフェースへ、第2の通信データを送信することができる。このため、複数の第1のゲートウェイ10のいずれに障害が発生した場合でも、第2のゲートウェイ20が、障害が発生した第1のゲートウェイ10のバックアップ装置として機能することができる。
【0057】
他の実施形態では、第2のゲートウェイ20は、第2のゲートウェイ20の全てのクライアント側通信インタフェースを介して、無線通信装置5A,5Bの全てのサーバ側通信インタフェースに対し、応答を要する通信データを送信する送信部をさらに備えることができる。この場合、経路情報生成部251は、第2のゲートウェイの複数のクライアント側通信インタフェースのそれぞれについて、無線通信装置5A,5Bの複数のサーバ側通信インタフェースうち、応答を要する通信データに対する返信時間が最も短いサーバ側通信インタフェースを特定する。そして、経路情報生成部251は、特定された無線通信装置5A,5Bのサーバ側通信インタフェースに対応する第2のゲートウェイのクライアント側通信インタフェースを介して、特定された無線通信装置5A,5Bのサーバ側通信インタフェースへ、第2の通信データを転送するための経路情報を生成する。ここで、特定された無線通信装置5A,5Bのサーバ側通信インタフェースに対応する第2のゲートウェイのクライアント側通信インタフェースとは、当該無線通信装置5A,5Bのサーバ側通信インタフェースが送信した応答を受信した第2のゲートウェイのクライアント側通信インタフェースである。これにより、第2のゲートウェイ20は、無線通信装置5A,5B側から通信データを受信しない場合でも、通信状態が良好な無線通信装置5A,5Bのサーバ側通信インタフェースを能動的に特定することができる。
【0058】
さらに他の実施形態では、第2のゲートウェイが、障害が発生した第1のゲートウェイが復旧したことを検出した場合、テーブル更新部241は、復旧した第1のゲートウェイ10の通信状況を「正常」に変更することができる。
【0059】
さらに他の実施形態では、複数の第1のゲートウェイ10に同時期に障害が発生した場合、第2のゲートウェイ20が、これらの複数の第1のゲートウェイ10のバックアップ装置として動作できる。この場合、第2のゲートウェイ20は、予め設定されたバックアップの優先度に従い、複数の第1のゲートウェイ10のうち優先度の最も高い第1のゲートウェイをバックアップすることができる。
【0060】
さらに他の実施形態では、複数の第1のゲートウェイ10に同時期に障害が発生した場合、第2のゲートウェイ20が、これらの複数の第1のゲートウェイ10のバックアップ装置として同時に動作できる。この場合、第2のゲートウェイ20のサーバ側通信インタフェース及びクライアント側通信インタフェースのそれぞれに、第1のゲートウェイ10の数に応じた数の仮想的なIPアドレスを割り当てる。これにより、バックアップ対象の第1のゲートウェイ10の数に応じて、第2のゲートウェイ20のサーバ側通信インタフェース及びクライアント側通信インタフェースを多重化できる。多重化されたサーバ側通信インタフェース及びクライアント側通信インタフェースのそれぞれが、複数の第1のゲートウェイ10のサーバ側通信インタフェース及びクライアント側通信インタフェースのそれぞれのバックアップとして機能する。
【0061】
上述の例において、プログラムは、様々な種類の非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々な種類の実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々な種類の一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0062】
本開示は、上述した実施形態に限られたものではなく、本開示の趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0063】
1 通信システム
2 サーバ
3 スイッチ
4A アクセスポイント
4B アクセスポイント
4C アクセスポイント
5A 無線通信装置、通信装置
5B 無線通信装置、通信装置
6A 移動体装置
6B 移動体装置
10 第1のゲートウェイ
20 第2のゲートウェイ
21 サーバ側通信インタフェース
22 クライアント側通信インタフェース
23 記憶装置
24 通信制御部
25 経路推定部
30 ネットワークケーブル
240 障害検出部
241 テーブル更新部
242 通信データ検出部
243 通信状態判定部
244 インタフェース判定部
245 転送部、送信部
246 経路情報取得部
250 経路情報判定部
251 経路情報生成部
252 転送部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11