(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6791538
(24)【登録日】2020年11月9日
(45)【発行日】2020年11月25日
(54)【発明の名称】通信システム及び通信装置
(51)【国際特許分類】
H04L 12/713 20130101AFI20201116BHJP
H04L 12/28 20060101ALI20201116BHJP
【FI】
H04L12/713
H04L12/28 200Z
H04L12/28 200M
【請求項の数】7
【全頁数】11
(21)【出願番号】特願2018-240552(P2018-240552)
(22)【出願日】2018年12月25日
(65)【公開番号】特開2020-102799(P2020-102799A)
(43)【公開日】2020年7月2日
【審査請求日】2018年12月25日
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】山木 基充
【審査官】
中川 幸洋
(56)【参考文献】
【文献】
米国特許出願公開第2016/0277509(US,A1)
【文献】
特開2016−208068(JP,A)
【文献】
Network Functions Virtualisation (NFV); Resiliency Requirements,ETSI GS NFV-REL 001 V1.1.1,2015年 1月
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/713
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
複数の第1の演算装置、複数の第1の機能部及び転送部を備え、メイン装置として機能する第1の通信装置と、
複数の第2の演算装置、及び前記複数の第1の機能部に対応する複数の第2の機能部を備え、前記第1の通信装置のバックアップ装置として機能する第2の通信装置と
を含み、
前記複数の第1の機能部のうちの一部の機能部は、前記第1の通信装置が備える前記複数の第1の演算装置の一つに実装され、
その他の第1の機能部は、当該第1の演算装置とは異なる、前記第1の通信装置が備える他の第1の演算装置に実装され、
前記複数の第2の機能部のうちの一部の機能部は、前記第2の通信装置が備える前記複数の第2の演算装置の一つに実装され、
その他の前記第2の機能部は、当該第2の演算装置とは異なる、前記第2の通信装置が備える他の第2の演算装置に実装され、
前記複数の第2の機能部はそれぞれ、
対応する前記第1の機能部に応答要求を送信し、前記対応する第1の機能部から、前記応答要求に対する応答を受信したか否か判断する監視部と、
前記対応する第1の機能部から前記応答を受信していない場合に、前記転送部に対し、当該第1の機能部が処理するパケットを、前記第2の通信装置に転送させるための転送先変更要求を送信する変更要求部とを含み、
前記複数の第1の機能部はそれぞれ、
対応する前記第2の機能部から前記応答要求を受信したか否か判断し、前記対応する第2の機能部から前記応答要求を受信した場合に、前記応答要求に対する応答を前記対応する第2の機能部に送信する応答部を有し、
前記転送部は、
前記第2の機能部の前記変更要求部から前記転送先変更要求を受信した場合に、前記応答が受信されなかった前記第1の機能部が処理するパケットの転送先を、当該第1の機能部が実装された前記第1の演算装置から、前記第2の通信装置に変更する転送先変更部と、
前記パケットを前記第2の通信装置に転送し、前記パケット以外のパケットを、当該パケットを処理する前記第1の機能部が実装された前記第1の演算装置に転送するパケット転送部とを有し、
前記応答を受信しなかった前記第2の機能部は、当該第2の機能部が実装された1の前記第2の演算装置において、前記パケット転送部によって前記第2の通信装置に転送された前記パケットを処理する、
通信システム。
【請求項2】
前記第1の通信装置の前記転送先変更部は、前記第2の通信装置から前記転送先変更要求を受信した場合、前記応答が受信されなかった前記第1の機能部が処理する前記パケット以外のパケットの転送先を変更しないことを特徴とする、請求項1に記載の通信システム。
【請求項3】
前記第2の通信装置の前記変更要求部は、前記第1の機能部に問題が発生したことに起因して前記第1の機能部から前記応答を受信していない場合、前記第1の通信装置に前記転送先変更要求を送信する、請求項1又は2に記載の通信システム。
【請求項4】
複数の演算装置と、
他の通信装置が有する複数の第1の機能部のそれぞれに対応する複数の第2の機能部と
を備え、
前記複数の第2の機能部のうちの一部の機能部は、自機が備える前記複数の演算装置の1つに実装され、
その他の前記第2の機能部は、当該演算装置とは異なる、自機が備える他の演算装置に実装され、
前記複数の第2の機能部はそれぞれ、
対応する前記第1の機能部に応答要求を送信し、前記対応する第1の機能部から、前記応答要求に対する応答を受信したか否か判断する監視部と、
前記対応する第1の機能部から前記応答を受信していない場合に、前記他の通信装置に対し、当該第1の機能部が処理するパケットを、自機に転送させるための転送先変更要求を送信する変更要求部とを含み、
前記応答を受信しなかった前記第2の機能部は、当該第2の機能部が実装された1の前記演算装置において、前記他の通信装置から転送された前記パケットを処理する、
バックアップ装置として機能する通信装置。
【請求項5】
前記変更要求部は、前記第1の機能部に問題が発生したことに起因して前記第1の機能部から前記応答を受信していない場合、前記他の通信装置に前記転送先変更要求を送信する、請求項4に記載の通信装置。
【請求項6】
複数の演算装置と、
複数の機能部と、
転送部とを備え、
前記複数の機能部のうちの一部の機能部は、自機が備える前記複数の演算装置の1つに実装され、
その他の前記機能部は、当該演算装置とは異なる、自機が備える他の演算装置に実装され、
前記複数の機能部はそれぞれ、
他の通信装置が有する対応する機能部から応答要求を受信したか否か判断し、前記対応する機能部から前記応答要求を受信した場合に、前記応答要求に対する応答を前記他の通信装置に送信する応答部を有し、
前記転送部は、
前記他の通信装置から転送先変更要求を受信した場合に、前記応答が受信されなかった前記機能部が処理するパケットの転送先を、当該機能部が実装された前記演算装置から、前記他の通信装置に変更する転送先変更部と、
前記パケットを前記他の通信装置に転送し、前記パケット以外のパケットを、当該パケットを処理する前記機能部が実装された前記演算装置に転送するパケット転送部とを有する、
メイン装置として機能する通信装置。
【請求項7】
前記転送先変更部は、前記他の通信装置から前記転送先変更要求を受信した場合、前記応答が受信されなかった前記機能部が処理する前記パケット以外のパケットの転送先を変更しないことを特徴とする、請求項6に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム及び通信装置に関し、特に、フォールトトレランスを実現する通信システム及び通信装置に関する。
【背景技術】
【0002】
従来、IP(Internet Protocol)電話システムにおいて、ルーティング機能や呼制御機能、音声通信制御機能等の複数の機能を有する通信装置が利用されている。通常、このような通信装置は、1つのCPU(Central Processing Unit)を備えており、CPUが、ルーティング処理や呼制御処理、音声通信制御処理を実行することにより、ルーティング機能や呼制御機能、音声通信制御機能を実現する。しかしながら、CPUに障害が発生した場合や、通信装置に実装されたOSや機能部に問題が発生した場合、通信装置を利用する端末装置は、通信装置を介したデータ通信を行うことができなくなる。
【0003】
この点に関し、特許文献1が開示するIP電話システムは、複数のIP電話による冗長化を採用する。具体的には、1台のIP電話端末に対して内線制御機能を割り当て、当該IP電話端末に障害が発生した場合、バックアップ端末であるIP電話端末が、内線制御端末として動作することにより、1台のIP電話端末に障害が発生した場合でも、IP電話による音声通信機能を継続して提供する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第5218626号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1が開示するIP電話システムでは、複数の機能部を有する装置において或る機能部にのみ問題が発生した場合に、当該機能部が有する機能のみを他の装置に実現させることができないという問題があった。
【0006】
本発明の目的は、上述した課題を鑑み、複数の機能部を有する通信装置において或る機能部にのみ問題が発生した場合に、当該機能部が有する機能のみを他の通信装置に実現させることが可能な通信システム及び通信装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明の通信システムは、第1の機能部及び第1の転送部を備え、メイン装置として機能する第1の通信装置と、第2の機能部及び第2の転送部を備え、前記第1の通信装置のバックアップ装置として機能する第2の通信装置とを含む。前記第2の機能部は、前記第1の機能部に応答要求を送信し、前記第1の機能部から前記応答要求に対する応答を受信したか否か判断する監視部と、前記第1の機能部から前記応答を受信していない場合に、前記第1の通信装置に対し、前記第2の機能部が処理すべきパケットを前記第2の機能部に転送させるための転送先変更要求を送信する変更要求部とを含む。前記第1の機能部は、前記第2の機能部から前記応答要求を受信したか否か判断し、前記第2の機能部から前記応答要求を受信した場合に、前記応答要求に対する応答を前記第2の機能部に送信する応答部を有する。前記第1の転送部は、前記第2の機能部から前記転送先変更要求を受信した場合に、前記第2の機能部が処理すべきパケットの転送先を、前記第1の機能部から前記第2の機能部に変更する転送先変更部を有する。
【発明の効果】
【0008】
本発明により、複数の機能部を有する通信装置において或る機能部にのみ問題が発生した場合に、当該機能部が有する機能のみを他の通信装置に実現させることが可能な通信システム及び通信装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係る通信システムを示す概略図である。
【
図2】本発明の一実施形態に係る通信装置の詳細な構成を示すブロック図である。
【
図3】本発明の一実施形態に係る通信装置の機能部の詳細な構成を示すブロック図である。
【
図4】本発明の一実施形態に係る通信装置の概略的な構成を示すブロック図である。
【
図5】バックアップ装置として機能する第2の通信装置が実行する処理を示すフローチャートである。
【
図6】メイン装置として機能する第1の通信装置が実行する処理を示すフローチャートである。
【
図7】メイン装置として機能する第1の通信装置が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の一実施形態について説明する。
図1は、本発明の通信システム50の一実施形態を示す概略図である。通信システム50は、第1の通信装置10と、第2の通信装置20と、端末装置30a,30bとを含む。第1の通信装置10及び第2の通信装置20の具体例として、アクセスポイントとして機能するルータが挙げられる。第1の通信装置10及び第2の通信装置20は、通信ケーブルを介して相互にデータ通信を行うことができる。また、第1の通信装置10及び第2の通信装置20は、インターネット40等のWAN(Wide Area Network)に接続され、外部装置との間でデータ通信を行うことができる。第1の通信装置10及び端末装置30a,30bは、通信ケーブル又は無線LANを介して相互にデータ通信を行うことができる。第1の通信装置10及び第2の通信装置20は、VRRP(Virtual Router Redundancy Protocol)を実装することができる。これにより、端末装置30a,30bは、これらの装置を論理的に1台の通信装置として認識することができる。なお、
図1では、第1の通信装置10には、2つの端末装置30a,30bのみが接続されているが、1の端末装置又は3以上の端末装置を接続することができる。また、第1の通信装置10及び第2の通信装置20は、無線LANを介して相互にデータ通信を行ってもよい。
【0011】
図2は、本発明の一実施形態に係る第1の通信装置10の詳細な構成を示すブロック図である。以下、第1の通信装置10の構成について説明するが、第2の通信装置20も第1の通信装置10と同一の構成を有する。第1の通信装置10は、CPU110と、CPU120と、転送部130とを備える。
【0012】
CPU110は、種々の演算を行う演算装置であり、OS(Operating System)111及び機能部112を実装する。OS111は、CPU110に実装された機能部112を制御するプログラムである。機能部112は、第1の通信装置10が有する機能の一つを実現するプログラムであり、外部装置から受信したパケットのルーティングを行う。
【0013】
CPU120は、種々の演算を行う演算装置であり、OS121及び機能部122,123を実装する。OS121は、CPU120に実装された機能部122,123を制御するプログラムである。機能部122は、第1の通信装置10が有する機能の一つを実現するプログラムであり、例えば、IP電話の呼出制御を行う。機能部123は、第1の通信装置10が有する機能の一つを実現するプログラムであり、例えば、IP電話の音声通信制御を行う。
【0014】
転送部130は、外部装置から受信したパケットを処理する半導体集積装置である。転送部130は、パケット転送部131と、監視部132と、転送先変更部133と、転送先管理テーブル134とを有する。
【0015】
パケット転送部131は、外部装置からパケットを受信した場合に、パケットを転送する論理回路である。パケット転送部131の具体例として、L2スイッチが挙げられる。
図8は、転送先管理テーブル134の一例を示す図である。
図8に示す転送先管理テーブルには、パケット識別情報と、機能部識別情報と、転送先変更要求の有無を示す情報と、転送先情報とが登録される。パケット識別情報は、パケットを識別するための情報であり、例えば、IP電話の呼出制御に関するパケットに固有の識別情報、IP電話の接続が確立された後の音声通信に関するパケットに固有の識別情報が登録される。
【0016】
機能部識別情報は、第1の通信装置10及び第2の通信装置20が有する機能部の識別情報である。
図8に示す例では、機能部識別情報(function_a)が示す機能部は、IP電話の呼出制御を行う機能部であり、機能部識別情報(function_b)が示す機能部は、IP電話の音声通信を制御する機能部である。また、機能部識別情報(function_c)が示す機能部は、IP電話に関するデータ以外のデータのルーティングを行う機能部である。なお、第1の通信装置10及び第2の通信装置20は、共通の機能部識別情報を使用する。
【0017】
転送先変更要求の有無を示す情報は、他の通信装置からの転送先変更要求の受信の有無を示す情報であり、転送先変更要求を受信していない旨を示す情報がデフォルトとして登録される。転送先情報は、パケットの転送先の識別情報であり、自機が備えるCPUの識別情報と、他の通信装置の識別情報(IPアドレス)が使用される。
【0018】
パケット転送部131は、外部装置からパケットを受信すると、当該パケットからパケット識別情報を取得する。そして、パケット転送部131は、転送先管理テーブル134を参照し、当該パケット識別情報に関連付けられた転送先変更要求の有無を示す情報を特定する。ここで、当該パケットの識別情報が転送先管理テーブル134に登録されていない場合、パケット転送部131は、未登録の識別情報(
図8に示す例では、function_C)に関連付けられた転送先変更要求の有無を示す情報を特定する。転送先変更要求を受信していない旨の情報が登録されている場合、すなわち、他の通信装置から転送先変更要求を受信していない場合、パケット転送部131は、デフォルトの転送先である自機のCPUの識別情報を特定し、当該CPUにパケットを転送する。一方、転送先変更要求を受信した旨の情報が登録されている場合、すなわち、他の通信装置から転送先変更要求を受信した場合、パケット転送部131は、変更後の転送先である他の通信装置のIPアドレスを特定し、当該他の通信装置にパケットを転送する。
【0019】
監視部132は、他の通信装置から転送先変更要求を受信したか否か判断する論理回路である。転送先変更部133は、他の通信装置から転送先変更要求を受信した場合に、転送先変更要求の送信元の機能部が処理すべきパケットの転送先を、自機の機能部から当該転送先変更要求の送信元の機能部に変更する論理回路である。具体的には、転送先変更部133は、監視部132が他の通信装置から転送先変更要求を受信したと判断すると、転送先変更要求に含まれる転送先変更要求の送信元の機能部の識別情報に基づき、転送先管理テーブル134に転送先変更要求が有った旨の情報を登録する。
【0020】
図3は、第1の通信装置10及び第2の通信装置20の各機能部が有するプログラムモジュールを示すブロック図である。以下、第1の通信装置10の機能部112が有するプログラムモジュールについて説明するが、第1の通信装置10の他の機能部及び第2の通信装置20の機能部も同じプログラムモジュールを有する。
【0021】
機能部112は、監視部300と、変更要求部301と、応答部302とを含む。監視部300及び変更要求部301は、自機がバックアップ装置として機能する場合に実行され、応答部302は、自機がメイン装置として機能する場合に実行される。
【0022】
監視部300は、バックアップ装置の機能部112に対応するメイン装置の機能部に応答要求を送信し、当該メイン装置の機能部から応答要求に対する応答を受信したか否か判断するプログラムモジュールである。
【0023】
変更要求部301は、バックアップ装置の機能部112に対応するメイン装置の機能部から応答要求に対する応答を受信していない場合に、バックアップ装置の機能部112が処理すべきパケットを当該機能部112に転送させるための転送先変更要求を、メイン装置に送信するプログラムモジュールである。
【0024】
応答部302は、バックアップ装置から応答要求を受信したか否か判断し、当該応答要求を受信した場合に、応答要求に対する応答をバックアップ装置に送信するプログラムモジュールである。
【0025】
図4は、本発明の一実施形態に係る通信装置が有する主要な構成要素を示すブロック図である。第1の通信装置10及び第2の通信装置20は、主要な構成要素として機能部112と、転送部130とを有する。機能部112は、監視部300と、変更要求部301と、応答部302とを含み、転送部130は、転送先変更部133を含む。
【0026】
図5は、バックアップ装置として機能する第2の通信装置20の各機能部が実行する処理を示すフローチャートである。以下、メイン装置として機能する第1の通信装置10の機能部を第1の機能部とし、バックアップ装置として機能する第2の通信装置20の機能部を第2の機能部として説明する。
【0027】
ステップS101では、第2の通信装置20の第2の機能部が、第2の機能部に対応する第1の通信装置10の第1の機能部に応答要求を送信する。応答要求には、応答要求の識別情報と、応答要求の送信先である第1の通信装置10のIPアドレス及び第1の機能部の識別情報が含まれる。第1の通信装置10が備える転送部130のパケット転送部131は、第2の通信装置20から応答要求を受信すると、当該機能部の識別情報が示す第1の機能部に応答要求を転送する。例えば、
図8に示す機能部識別情報を使用する実施形態では、機能部識別情報が「function_A」である場合、パケット転送部131は、「function_A」が示す機能部122にパケットを転送する。機能部識別情報が「function_B」である場合、パケット転送部131は、「function_B」が示す機能部123にパケットを転送する。機能部識別情報が「function_C」である場合、パケット転送部131は、「function_C」が示す機能部112にパケットを転送する。
【0028】
ステップS102では、第2の機能部は、第1の通信装置10の第1の機能部から応答を受信したか否か判断する。応答を受信した場合(YES)、ステップS101に処理が戻る。一方、応答を受信していない場合(NO)、ステップS103に処理が分岐する。ステップS103では、第2の機能部は、第1の通信装置10の転送部130に転送先変更要求を送信し、
図5の処理が終了する。転送先変更要求には、転送先変更要求の識別情報と、転送先変更要求の送信元である第2の機能部の識別情報、すなわち、当該第2の機能部の識別情報に対応する第1の機能部の識別情報が含まれており、第1の通信装置10が備える転送部130の転送先変更部133は、
図7を参照して詳述するように、転送先管理テーブル134を更新し、第2の機能部が処理すべきパケットの転送先を、第1の機能部から第2の機能部に変更する。
【0029】
図6は、メイン装置として機能する第1の通信装置10の各機能部が実行する処理を示すフローチャートである。ステップS201では、第1の通信装置10の第1の機能部が、第1の機能部に対応する第2の通信装置20の第2の機能部から転送部130を介して応答要求を受信したか否か判断する。応答要求を受信していない場合(NO)、ステップS201の処理が再び実行される。一方、応答要求を受信した場合(YES)、ステップS202に処理が分岐する。ステップS202では、第1の機能部は、応答要求の送信元である第2の通信装置20の第2の機能部に応答を送信し、
図6の処理が終了する。
【0030】
図7は、メイン装置として機能する第1の通信装置10の転送部130が実行する処理を示すフローチャートである。ステップS301では、転送部130の監視部132が、第2の通信装置20から転送先変更要求を受信したか否か判断する。転送先変更要求を受信していない場合(NO)、ステップS301の処理が再び実行される。一方、転送先変更要求を受信した場合(YES)、ステップS302に処理が分岐する。ステップS302では、転送部130の転送先変更部133が、転送先管理テーブル134を更新して、転送先変更要求の送信元の機能部が処理すべきパケットの転送先を、当該機能部に変更し、
図7の処理が終了する。具体的には、転送先変更部133は、転送先管理テーブル134を参照し、転送先変更要求に含まれる転送先変更要求の送信元の機能部の識別情報と関連付けて、転送先変更要求が有った旨の情報を登録する。これにより、パケット転送部131は、転送先変更要求の送信元の機能部が処理すべきパケットを受信した場合、当該パケットを当該機能部に転送する。
【0031】
上述した実施形態では、バックアップ装置である第2の通信装置20の第2の機能部が、それぞれ第1の通信装置10の対応する第1の機能部に応答要求を送信することにより、機能部毎に死活監視を行う。そして、応答要求に対する応答が無い場合、第2の通信装置20の第2の機能部が、第1の通信装置10の転送部130に対し、当該応答を送信しない第1の機能部が処理することになっていたパケットの転送先を第2の機能部に変更させる。これ以降、第2の通信装置20の第2の機能部が、当該パケットを処理する。これにより、複数の機能部を有する通信装置において或る機能部にのみ問題が発生した場合に、当該機能部が有する機能のみを他の通信装置に実現させることができる。
【0032】
また、上述した実施形態では、第1の通信装置10の転送先変更部133は、第2の通信装置20から転送先変更要求を受信した場合、当該応答を送信しない第1の機能部が処理することになっていたパケットの転送先を、第1の機能部から第2の機能部に変更し、それ以外のパケットの転送先を変更しない。このため、特定の機能部に問題が発生した場合でも、問題が発生していない機能部は、継続してパケットの処理を行うことができる。これにより、パケットを処理する機能部の変更に伴うデータ損失や一時的な機能停止を防ぐことができる。
【0033】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0034】
本発明は上述した実施形態に限られたものではなく、本発明の趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施形態では、CPU110が1つの機能部を実装し、CPU120が2つの機能部を実装するが、他の実施形態では、CPU110及びCPU120は、任意の数の機能部を実装することができる。また、上述した実施形態では、パケットのルーティングを行う機能部と、IP電話に関する処理を実行する機能部について説明したが、CPU110及びCPU120は、これ以外の種々の処理を実行する機能部(例えば、WAN通信を行うアプリケーション等)を実装することができる。
【符号の説明】
【0035】
10 第1の通信装置
20 第2の通信装置
30a 端末装置
30b 端末装置
40 インターネット
50 通信システム