(57)【要約】【課題】ネットワーク制御システムのデータ伝送能力の低下を良好に抑制することができる通信制御装置、通信システム、通信管理方法、および通信管理用プログラムを提供する。【解決手段】イベントハンドラ管理部１１が、通信ネットワークを構成して互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理する。統合部１３が、イベントハンドラ管理部１１が管理しているイベントハンドラを統合した統合イベントハンドラを生成する。そして、統合部１３が、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、統合イベントハンドラを生成する。【選択図】      図１０
2017157897.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを構成して互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理するイベントハンドラ管理手段と、
前記イベントハンドラ管理手段が管理している前記イベントハンドラを統合した統合イベントハンドラを生成する統合手段とを備え、
前記統合手段は、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、前記統合イベントハンドラを生成する
ことを特徴とする通信制御装置。
【請求項２】
前記統合手段は、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、所定のルールに従って前記イベントハンドラを統合して前記統合イベントハンドラを生成する
請求項１に記載の通信制御装置。
【請求項３】
前記統合手段は、前記通信ネットワークにおいて、コンポーネント接続が追加された場合に、前記統合イベントハンドラを生成する
請求項１または請求項２に記載の通信制御装置。
【請求項４】
前記統合手段は、一方のコンポーネントと他方のコンポーネントとの間にコンポーネント接続が追加された場合に、前記一方のコンポーネントに到達するイベントハンドラまたは統合イベントハンドラと、前記他方のコンポーネントを呼び出すイベントハンドラまたは統合イベントハンドラとを統合した統合イベントハンドラを生成する
請求項１から請求項３のうちいずれかに記載の通信制御装置。
【請求項５】
前記複数の通信装置の接続関係をロジックコンポーネントとネットワークコンポーネントとの接続関係として管理する接続関係管理手段を含み、
前記統合手段は、前記接続関係管理手段によって管理されている前記ロジックコンポーネントとネットワークコンポーネントとの接続関係に基づいて、前記統合イベントハンドラを生成する
請求項１から請求項４のうちいずれかに記載の通信制御装置。
【請求項６】
請求項１から請求項５のうちいずれかに記載の通信制御装置と、
少なくとも１つの前記通信装置とを備えた
ことを特徴とする通信システム。
【請求項７】
通信ネットワークを構成して互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理し、
コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、前記管理されている前記イベントハンドラを統合した統合イベントハンドラを生成する
ことを特徴とする通信管理方法。
【請求項８】
コンピュータに、
通信ネットワークを構成し、互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理する管理処理と、
前記管理処理で管理されている前記イベントハンドラを統合した統合イベントハンドラを生成する統合処理とを実行させ、
前記統合処理で、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、前記統合イベントハンドラを生成させる
ための通信管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの送受信を制御する通信制御装置、通信システム、通信管理方法、および通信管理用プログラムに関する。
【背景技術】
【０００２】
通信装置によって構成され、データが送受信される通信ネットワークがある。そのような通信ネットワークを構成する通信装置を集中的に制御する技術にＳＤＮ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ）がある。
【０００３】
非特許文献１には、ネットワークコンポーネントとロジックコンポーネントとをつなぎ合わせることでＳＤＮコントローラを作成する方法が記載されている。
【０００４】
非特許文献１に記載されている方法で作成されたＳＤＮコントローラによって制御されるネットワーク制御システムは、例えば、以下に示すように動作する。すなわち、ＯｐｅｎＦｌｏｗ（登録商標）ドライバ（ｄｒｉｖｅｒ）としてのロジックコンポーネントが、ネットワークドメインの情報（トポロジや、フロー群、パケット群等）を抽象化したデータを、第１のネットワークコンポーネントに登録する。
【０００５】
第１のネットワークコンポーネントは、当該ネットワークドメインの情報が更新された場合に、イベントを発行してフェデレータ（ｆｅｄｅｒａｔｏｒ）としてのロジックコンポーネントに当該ネットワークドメインの情報の更新を通知する。また、レガシーネットワークドライバ（Ｌｅｇａｃｙ  Ｎｅｔｗｏｒｋ  Ｄｒｉｖｅｒ）としてのロジックコンポーネントが、当該ネットワークドメインの情報を抽象化したデータを第２のネットワークコンポーネントに登録する。そして、第２のネットワークコンポーネントが、イベントを発行して、フェデレータとしてのロジックコンポーネントに当該ネットワークドメインの情報の更新を通知する。
【０００６】
フェデレータとしてのロジックコンポーネントは、第１のネットワークコンポーネントに登録されたデータと、第２のネットワークコンポーネントに登録されたデータとを通信ネットワークの１つの情報に統合して、第３のネットワークコンポーネントに登録する。
【０００７】
また、特許文献１には、イベントハンドラと、当該イベントハンドラが実行される条件とが対応付けられた情報に基づいて、経路表を更新して、ネットワークシステムにおける経路設定を更新する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２０１４／１７４７２０号
【非特許文献】
【０００９】
【非特許文献１】小出  俊夫、外２名、“ＳＤＮコントローラ作成のシンプル化を実現するネットワーク抽象化モデル”、［ｏｎｌｉｎｅ］、ＮＥＣ技報、［平成２８年２月４日検索］、インターネット（ＵＲＬ：http://jpn.nec.com/techrep/journal/g13/n02/pdf/130208.pdf）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、前述したようなネットワーク制御システムのＳＤＮコントローラにおいて、ロジックコンポーネントを介してネットワークコンポーネント間でデータ（例えば、ネットワークドメインの情報）が受け渡される場合に、当該データがコピーされる。そのようなときに、ＳＤＮコントローラの処理能力の一部が当該コピーに供されてしまうので、当該ＳＤＮコントローラにおいて他の処理を行う能力が低下してしまうという問題がある。
【００１１】
具体的には、前述したようなネットワーク制御システムのＳＤＮコントローラでは、ネットワークコンポーネントは、データベースとしての役割を有するので当該ネットワークコンポーネントが発行するイベントに含まれるデータをコピーする必要がある。また、ネットワークコンポーネントは、ロジックコンポーネントからデータを追加されたり、更新されたりする場合にも、当該データをコピーする必要がある。したがって、ＳＤＮコントローラの処理能力の一部が当該コピーに供されてしまい、当該ＳＤＮコントローラが他の処理を行う能力が低下してしまう。つまり、ネットワーク制御システムのデータ伝送能力が低下してしまう。
【００１２】
また、特許文献１に記載されている制御装置も、同様にデータのコピーを行うので、同様な問題が生じる。
【００１３】
そこで、本発明は、ネットワーク制御システムのデータ伝送能力の低下を良好に抑制することができる通信制御装置、通信システム、通信管理方法、および通信管理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による通信制御装置は、通信ネットワークを構成して互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理するイベントハンドラ管理手段と、イベントハンドラ管理手段が管理しているイベントハンドラを統合した統合イベントハンドラを生成する統合手段とを備え、統合手段は、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、統合イベントハンドラを生成することを特徴とする。
【００１５】
本発明による通信システムは、いずれかの態様の通信制御装置と、少なくとも１つの通信装置とを備えることを特徴とする。
【００１６】
本発明による通信管理方法は、通信ネットワークを構成して互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理し、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、管理されているイベントハンドラを統合した統合イベントハンドラを生成することを特徴とする。
【００１７】
本発明による通信管理用プログラムは、コンピュータに、通信ネットワークを構成し、互いにデータを受け渡す処理を行う複数の通信装置を、動作に基づいてイベントハンドラとして管理する管理処理と、管理処理で管理されているイベントハンドラを統合した統合イベントハンドラを生成する統合処理とを実行させ、統合処理で、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、統合イベントハンドラを生成させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、通信制御機能の低下を良好に抑制することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態の通信制御装置の接続例を示すブロック図である。
【図２】本発明の第１の実施形態の通信制御装置の構成例を示すブロック図である。
【図３】イベントハンドラ管理部が管理する情報の例を示す説明図である。
【図４】統合イベントハンドラ管理部が管理する情報の例を示す説明図である。
【図５】統合イベントハンドラ生成部に設定されている統合イベントハンドラ生成ルールの例を示す説明図である。
【図６】本発明の第１の実施形態の通信制御装置の動作を示すフローチャートである。
【図７】コンポーネント接続管理部が管理する情報に基づく構成例を示す説明図である。
【図８】統合イベントハンドラ生成部が生成したＮｏｄｅイベントを処理する統合イベントハンドラの具体例を示す説明図である。
【図９】統合イベントハンドラ生成部が生成したＰｏｒｔイベントを処理する統合イベントハンドラの具体例を示す説明図である。
【図１０】本発明の第２の実施形態の通信制御装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００２０】
実施形態１．
本発明の第１の実施形態の通信制御装置１００について図面を参照して説明する。図１は、本発明の第１の実施形態の通信制御装置１００の接続例を示すブロック図である。図１に破線で示されているように、通信制御装置１００は、互いに接続されて通信ネットワーク２００を構成する通信装置２０１−ａ〜２０１−ｄにそれぞれ接続されている。そして、通信制御装置１００は、通信装置２０１−ａ〜２０１−ｄの処理を制御する。
【００２１】
なお、通信装置２０１−ａ〜２０１−ｄは、例えば、ＳＤＮに対応したスイッチである。また、通信制御装置１００は、例えば、ＳＤＮコントローラである。通信制御装置１００は、具体的には、例えば、プログラム制御に従って処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や単数または複数の回路が搭載されたコンピュータによって実現される。
【００２２】
そして、通信制御装置１００の機能は、通信ネットワーク２００が、トポロジ、フロー群、およびパケット群の３つのデータに抽象化して表現された場合に、複数のネットワークコンポーネントと、複数のロジックコンポーネントとに分けられて考えられる。
【００２３】
ここで、ネットワークコンポーネントは、通信ネットワーク２００の構成要素である通信装置２００−ａ〜２００−ｄによって当該通信ネットワーク２００を通信ネットワークとして機能させるためのデータが登録されたデータベースとしての役割を有する。
【００２４】
また、ロジックコンポーネントは、１つ以上のネットワークコンポーネントと接続され、接続されたネットワークコンポーネントに登録されているデータを操作する役割を有する。
【００２５】
図２は、本発明の第１の実施形態の通信制御装置１００の構成例を示すブロック図である。
【００２６】
図２に示すように、本発明の第１の実施形態の通信制御装置１００は、イベントハンドラ管理部１１０、コンポーネント接続管理部１２０、統合イベントハンドラ生成部１３０、および統合イベントハンドラ管理部１４０を含む。そして、各部は、当該通信制御装置１００の各機能を司る。すなわち、各部は、当該通信制御装置１００における複数のネットワークコンポーネントの動作と、複数のロジックコンポーネントの動作とを司る。
【００２７】
イベントハンドラ管理部１１０は、各ロジックコンポーネントのイベントハンドラとしての動作を管理する。具体的には、イベントハンドラ管理部１１０には、例えば、各ロジックコンポーネントがイベントハンドラとして登録されている。
【００２８】
コンポーネント接続管理部１２０は、ロジックコンポーネントとネットワークコンポーネントとの間の接続を管理する。
【００２９】
統合イベントハンドラ生成部１３０は、イベントハンドラ管理部１１０に管理されている情報、コンポーネント接続管理部１２０、および統合イベントハンドラ管理部１４０に管理されている情報に基づく統合イベントハンドラを生成する。そして、統合イベントハンドラ生成部１３０は、生成した統合イベントハンドラを統合イベントハンドラ管理部１４０に登録する。
【００３０】
統合イベントハンドラ管理部１４０には、統合イベントハンドラ生成部１３０が生成した統合イベントハンドラが登録される。
【００３１】
図３は、イベントハンドラ管理部１１０が管理する情報の例を示す説明図である。図３に示すように、イベントハンドラ管理部１１０によって、ロジックコンポーネントごとに、受信したイベントの送信元のネットワークコンポーネントが接続されている方向と、当該ネットワークコンポーネントの接続種別に応じたハンドラタイプと、イベントの種類とに応じて、受信したイベントのデータに対して行う操作を示す情報（以下、イベントデータ操作種別情報という）が管理されている。なお、イベントに応じたデータを送信することまたは受信することを、単に、イベントを送信するまたは受信するともいう。また、イベントに応じたデータを渡すことを、単に、イベントを渡すともいう。そして、イベントに応じたデータのコピーを、単に、イベントのコピーともいう。
【００３２】
図３に示す例では、アグリゲータ（Ａｇｇｒｅｇａｔｏｒ）、フェデレータ（Ｆｅｄｅｒａｔｏｒ）、スライサ（Ｓｌｉｃｅｒ）、リンクレイヤザイア（Ｌｉｎｋ  Ｌａｙｅｒｉｚｅｒ）、ドライバ（Ｄｒｉｖｅｒ）、およびＬ２スイッチ（Ｌ２  Ｓｗｉｔｃｈ）としてのロジックコンポーネント（Ｌｏｇｉｃ  Ｃｏｍｐｏｎｅｎｔ）のそれぞれについて操作が設定されている。
【００３３】
具体的には、図３に示すように、イベントデータ操作種別情報に、例えば、アグリゲータにおいて、上流側（Ｕｐｓｔｒｅａｍ）から統合された（ａｇｇｒｅｇａｔｅｄ）ハンドラタイプ（Ｈａｎｄｌｅｒ  Ｔｙｐｅ）のポート（Ｐｏｒｔ）イベントが発行された場合に、静的なルールに従ってＩＤ（ＩＤｅｎｔｉｆｉｅｒ）のみを更新して転送（図３においてＩＦと示す）することが設定されている。
【００３４】
また、図３に示すように、イベントデータ操作種別情報に、例えば、アグリゲータにおいて、上流側から統合されたハンドラタイプのフロー（Ｆｌｏｗ）イベントが発行された場合に、更新して転送（図３においてＷＦと示す）することが設定されている。
【００３５】
図３に示すイベントデータ操作種別情報には、例えば、アグリゲータにおいて、上流側から統合されたハンドラタイプのアウトパケット（ＯｕｔＰａｃｋｅｔ）イベントが発行された場合に、静的なルールに従ってｉｄのみを更新して転送することが設定されている。
【００３６】
また、図３に示すように、イベントデータ操作種別情報には、例えば、アグリゲータにおいて、下流側（Ｄｏｗｎｓｔｒｅａｍ）からオリジナル（ｏｒｉｇｉｎａｌ）のハンドラタイプのノード（Ｎｏｄｅ）イベントが発行された場合に、更新せずに受信のみ（図３においてＲと示す）をすることが設定されている。
【００３７】
図３に示すように、イベントデータ操作種別情報には、例えば、スライサ（Ｓｌｉｃｅｒ）において、下流側からオリジナル（ｏｒｉｇｉｎａｌ）のハンドラタイプのノード（Ｎｏｄｅ）イベントが発行された場合に、更新せずに転送（図３においてＦと示す）をすることが設定されている。
【００３８】
なお、イベントデータ操作種別情報には、図３に示す例に限られず、図３に示すロジックコンポーネントや他のロジックコンポーネントについて、他の操作が設定されていてもよい。
【００３９】
次に、各イベントハンドラを互いに統合し、統合後の統合イベントハンドラを生成する処理について説明する。まず、統合イベントハンドラ管理部１４０が管理する、統合イベントハンドラを示す情報について説明する。
【００４０】
図４は、統合イベントハンドラ管理部１４０が管理する情報の例を示す説明図である。図４に示す例では、各ネットワークコンポーネントが発行するイベントを起点として、上流側（図４において上方）、または下流側（図４において下方）から呼び出される統合イベントハンドラについて示されている。
【００４１】
図４の上側には、例えば、ネットワークコンポーネントｎ５が発行したノードイベントを起点として、ロジックコンポーネントｘ５の上流側のイベントハンドラから順に呼び出される統合イベントハンドラがＨ１として破線で示されている。なお、図４の上側において、ロジックコンポーネントｘ５が呼び出されるイベントハンドラがＨ（ｘ５，ｕｐ，ｔ５５，Ｎｏｄｅ）と示されている。ここで、「ｘ５」によってロジックコンポーネントのＩＤが示され、「ｕｐ」によって上流側であることが示され、「ｔ５５」によってロジックコンポーネントのハンドラタイプが示され、「Ｎｏｄｅ」によってノードイベントであることが示されている。
【００４２】
また、図４の上側において、ロジックコンポーネントｘ４が呼び出されるイベントハンドラがＨ（ｘ４，ｕｐ，ｔ４４，Ｎｏｄｅ）と示されている。ここで、「ｘ４」によってロジックコンポーネントのＩＤが示され、「ｕｐ」によって上流側であることが示され、「ｔ４４」によってロジックコンポーネントのハンドラタイプが示され、「Ｎｏｄｅ」によってノードイベントであることが示されている。
【００４３】
図４に示す統合イベントハンドラＨ１は、イベントハンドラＨ（ｘ５，ｕｐ，ｔ５５，Ｎｏｄｅ）とイベントハンドラＨ（ｘ４，ｕｐ，ｔ４４，Ｎｏｄｅ）とが統合されたハンドラである。
【００４４】
そして、統合イベントハンドラ管理部１４０には、統合イベントハンドラＨ１を示す情報（単に、統合イベントハンドラＨ１ともいう）が登録されているとする。
【００４５】
また、図４には、ネットワークコンポーネントｎ４が発行したノードイベントを起点として、ロジックコンポーネントｘ４の上流側のイベントハンドラから順に呼び出される統合イベントハンドラＨ３が破線で示されている。そして、統合イベントハンドラ管理部１４０には、統合イベントハンドラＨ３を示す情報（単に、統合イベントハンドラＨ３ともいう）が登録されているとする。
【００４６】
さらに、統合イベントハンドラ管理部１４０には、ネットワークコンポーネントｎ３が発行したノードイベントを起点として、ネットワークコンポーネントｎ３の下流側のイベントハンドラである、ロジックコンポーネントｘ４、ネットワークコンポーネントｎ４、ロジックコンポーネントｘ５、ネットワークコンポーネントｎ５およびロジックコンポーネントｘ６が順に呼び出される統合イベントハンドラＨ５を示す情報（単に、統合イベントハンドラＨ５ともいう）が登録されているとする。
【００４７】
統合イベントハンドラ管理部１４０には、ネットワークコンポーネントｎ４が発行したノードイベントを起点として、ネットワークコンポーネントｎ４の下流側のイベントハンドラである、ロジックコンポーネントｘ５、ネットワークコンポーネントｎ５およびロジックコンポーネントｘ６が順に呼び出される統合イベントハンドラＨ７を示す情報（単に、統合イベントハンドラＨ７ともいう）が登録されているとする。
【００４８】
また、統合イベントハンドラ管理部１４０には、ネットワークコンポーネントｎ５が発行したノードイベントを起点として、ネットワークコンポーネントｎ５の下流側のイベントハンドラである、ロジックコンポーネントｘ６が呼び出される統合イベントハンドラＨ９を示す情報（単に、統合イベントハンドラＨ９ともいう）が登録されているとする。
【００４９】
図４の下側には、例えば、ネットワークコンポーネントｎ２が発行したノードイベントを起点として、ロジックコンポーネントｘ２の上流側のイベントハンドラである、ロジックコンポーネントｘ２、ネットワークコンポーネントｎ１およびロジックコンポーネントｘ１が順に呼び出される統合イベントハンドラがＨ２として示されている。なお、図４の下側において、ロジックコンポーネントｘ２が呼び出されるイベントハンドラがＨ（ｘ２，ｕｐ，ｔ２２，Ｎｏｄｅ）と示されている。ここで、「ｘ２」によってロジックコンポーネントのＩＤが示され、「ｕｐ」によって上流側であることが示され、「ｔ２２」によってロジックコンポーネントのハンドラタイプが示され、「Ｎｏｄｅ」によってノードイベントであることが示されている。
【００５０】
また、図４の下側において、ロジックコンポーネントｘ４が呼び出されるイベントハンドラがＨ（ｘ１，ｕｐ，ｔ１１，Ｎｏｄｅ）と示されている。ここで、「ｘ１」によってロジックコンポーネントのＩＤが示され、「ｕｐ」によって上流側であることが示され、「ｔ１１」によってロジックコンポーネントのハンドラタイプが示され、「Ｎｏｄｅ」によってノードイベントであることが示されている。
【００５１】
そして、図４の下側には、統合イベントハンドラＨ２は、イベントハンドラＨ（ｘ２，ｕｐ，ｔ２２，Ｎｏｄｅ）とイベントハンドラＨ（ｘ１，ｕｐ，ｔ１１，Ｎｏｄｅ）とが統合されたハンドラであることが示されている。
【００５２】
そして、統合イベントハンドラ管理部１４０には、統合イベントハンドラＨ２を示す情報（単に、統合イベントハンドラＨ２ともいう）が登録されているとする。
【００５３】
また、統合イベントハンドラ管理部１４０には、ネットワークコンポーネントｎ１が発行したノードイベントを起点として、ネットワークコンポーネントｎ４の上流側のイベントハンドラである、ロジックコンポーネントｘ１が呼び出される統合イベントハンドラＨ４を示す情報（単に、統合イベントハンドラＨ４ともいう）が登録されているとする。
【００５４】
また、図４には、ネットワークコンポーネントｎ１が発行したノードイベントを起点として、ネットワークコンポーネントｎ１の下流側のイベントハンドラである、ロジックコンポーネントｘ２、ネットワークコンポーネントｎ２およびロジックコンポーネントｘ３が順に呼び出される統合イベントハンドラＨ６が破線で示されている。そして、統合イベントハンドラ管理部１４０には、統合イベントハンドラＨ６を示す情報（単に、統合イベントハンドラＨ６ともいう）が登録されているとする。
【００５５】
図４には、ネットワークコンポーネントｎ２が発行したノードイベントを起点として、ネットワークコンポーネントｎ２の下流側のイベントハンドラである、ロジックコンポーネントｘ３が呼び出される統合イベントハンドラＨ８が破線で示されている。そして、統合イベントハンドラ管理部１４０には、統合イベントハンドラＨ８を示す情報（単に、統合イベントハンドラＨ８ともいう）が登録されているとする。
【００５６】
図５は、統合イベントハンドラ生成部１３０に設定されている統合イベントハンドラ生成ルールの例を示す説明図である。統合イベントハンドラ生成部１３０は、例えば、図５に例示した、設定されているルールに従って、各イベントハンドラを互いに統合し、統合後の統合イベントハンドラを生成する。なお、図５において、ハンドラの送信インタフェースが、白丸によって示されている。また、ハンドラの受信インタフェースが、下向きの凹形状によって示されている。
【００５７】
図５に示す例において、ルール１では、当該イベントハンドラがいずれであっても、イベントの発行先のロジックコンポーネントのイベントハンドラのイベントデータ操作種別情報において、ＦまたはＩＦに設定されている場合に、以下のような処理を行う統合イベントハンドラを生成するように決定されている。すなわち、ルール１では、当該ロジックコンポーネントに対してイベントの参照とコピーとのいずれを渡すか選択可能な統合イベントハンドラが生成されることが示されている。なお、後述するように、優先的にイベントの参照が渡される。
【００５８】
そして、ルール１では、さらにその出力イベントとして、イベントの参照を渡すことと、参照渡しされたイベントをネットワークコンポーネントに格納した後に、当該ネットワークコンポーネントによって生成されたイベントのコピーを渡す、という操作の組み合わせに変換することとができる統合イベントハンドラが生成されることが示されている。
【００５９】
また、図５に示す例において、ルール２では、当該イベントハンドラがいずれであっても、イベントの発行先のロジックコンポーネントのイベントハンドラのイベントデータ操作種別情報において、ＷＦに設定されている場合に、以下のような統合イベントハンドラを生成するように決定されている。すなわち、ルール２では、コピー渡しされたイベントをネットワークコンポーネントに格納した後に、当該ネットワークコンポーネントによって生成されたイベントのコピーを渡す、という操作の組み合わせに変換する統合イベントハンドラが生成されることが示されている。
【００６０】
さらに、図５に示す例において、ルール３では、当該イベントハンドラがいずれであっても、イベントの発行先のロジックコンポーネントのイベントハンドラのイベントデータ操作種別情報において、Ｒに設定されている場合に、以下のような統合イベントハンドラを生成するように決定されている。すなわち、ルール３では、参照渡しされたイベントを受信する統合イベントハンドラが生成されることが示されている。
【００６１】
図５に示す例において、ルール４では、当該イベントハンドラがいずれであっても、イベントの発行先のロジックコンポーネントのイベントハンドラのイベントデータ操作種別情報において、ＲＷに設定されている場合に、以下のような統合イベントハンドラを生成するように決定されている。すなわち、ルール４では、コピー渡しされたイベントを受信する統合イベントハンドラが生成されることが示されている。
【００６２】
また、図５に示す例において、ルール５では、ハンドラ接続のルールが示されている。すなわち、ルール５では、イベントを参照渡しされるハンドラと、イベントを参照渡しされることを期待しているハンドラとは互いに接続可能であり、それらが互いに接続された統合イベントハンドラが生成されることが示されている。また、ルール５では、イベントをコピー渡しされるハンドラと、イベントを参照渡しされることを期待しているハンドラ、およびイベントをコピー渡しされることを期待しているハンドラとは、いずれも互いに接続可能であり、それらが互いに接続された統合イベントハンドラが生成されることが示されている。しかし、ルール５では、イベントを参照渡しされるハンドラと、イベントをコピー渡しされることを期待しているハンドラとは互いに接続されず、それらが互いに接続された統合イベントハンドラが生成されないことが示されている。
【００６３】
次に、本発明の第１の実施形態の通信制御装置１００の動作について説明する。図６は、本発明の第１の実施形態の通信制御装置１００の動作を示すフローチャートである。図６には、通信ネットワーク２００が、抽象的に、図４に示すように、複数のネットワークコンポーネントと複数のロジックコンポーネントとで表現された場合において、ロジックコンポーネントｘ３とネットワークコンポーネントｎ３とが互いに接続されたときの動作に応じたフローチャートが示されている。具体的には、例えば、図６に示すフローチャートは、図１に示す例において、通信制御装置１００によって制御されている通信装置（例えば、通信装置２０１−ａ）に新たに他の通信ネットワークを構成する通信装置が接続された場合に応じたフローチャートである。
【００６４】
図４に示すロジックコンポーネントｘ３とネットワークコンポーネントｎ３とが互いに接続された場合に、以下の処理が行われる。すなわち、通信制御装置１００のコンポーネント接続管理部１２０が、管理している接続関係の情報に基づいてロジックコンポーネントｘ３とネットワークコンポーネントｎ３との間に接続（コンポーネント接続）が追加されたというイベントが発生したことを検知し、当該イベントを示す情報（単に、イベントともいう）を統合イベントハンドラ生成部１３０に入力する（ステップＳ１０１）。
【００６５】
統合イベントハンドラ生成部１３０は、互いに接続されたコンポーネントの一方であるネットワークコンポーネントが発行して他方であるロジックコンポーネントに到達するイベントについての統合イベントハンドラ群を生成する。本例では、統合イベントハンドラ生成部１３０は、例えば、図４に示すネットワークコンポーネントｎ３が発行してロジックコンポーネントｘ３を呼び出すイベントについての統合イベントハンドラ群を生成する。本例では、統合イベントハンドラ生成部１３０は、図４に示す統合イベントハンドラＨ１０を含む統合イベントハンドラ群を生成する。統合イベントハンドラＨ１０は、ネットワークコンポーネントｎ３から、ロジックコンポーネントｘ３、ネットワークコンポーネントｎ２、ロジックコンポーネントｘ２、およびネットワークコンポーネントｎ１を順に呼び出して、ロジックコンポーネントｘ１に到達する統合イベントハンドラである。
【００６６】
そして、統合イベントハンドラ生成部１３０は、生成した統合イベントハンドラ群に含まれている統合イベントハンドラ（本例では統合イベントハンドラＨ１０）を示す情報（単に、統合イベントハンドラＨ１０ともいう）を統合イベントハンドラ管理部１４０に登録する（ステップＳ１０２）。
【００６７】
また、統合イベントハンドラ生成部１３０は、統合イベントハンドラ管理部１４０から、接続されたネットワークコンポーネントｎ３に到達する統合イベントハンドラ群を取得する。本例では、統合イベントハンドラ生成部１３０は、統合イベントハンドラ管理部１４０から、例えば、図４に示す統合イベントハンドラＨ１と統合イベントハンドラＨ３とを含む統合イベントハンドラ群を取得する。
【００６８】
そして、統合イベントハンドラ生成部１３０は、取得した統合イベントハンドラ群に応じて、ステップＳ１０２の処理で統合イベントハンドラ管理部１４０に登録した、ネットワークコンポーネントｎ３が発行したイベントを処理する、ロジックコンポーネントｘ３のイベントハンドラを読み出す。本例では、統合イベントハンドラＨ１０が読み出される。
【００６９】
そして、統合イベントハンドラ生成部１３０は、読み出した統合イベントハンドラＨ１０と、取得した統合イベントハンドラ群に含まれているイベントハンドラＨ１とを統合した統合イベントハンドラＨ１’を生成する。
【００７０】
また、統合イベントハンドラ生成部１３０は、読み出した統合イベントハンドラＨ１０と、取得した統合イベントハンドラ群に含まれているイベントハンドラＨ３とを統合した統合イベントハンドラＨ３’を生成する。
【００７１】
なお、本例では、統合イベントハンドラＨ１０が、イベントハンドラＨ１およびイベントハンドラＨ３の一方と統合されて統合イベントハンドラが生成されたが、イベントハンドラ管理部１１０によって管理されている情報に基づいて、ネットワークコンポーネントｎ３が発行してロジックコンポーネントｘ３を呼び出すイベントハンドラが、イベントハンドラＨ１およびイベントハンドラＨ３の一方と統合されて統合イベントハンドラが生成されるように構成されていてもよい。
【００７２】
そして、統合イベントハンドラ生成部１３０は、生成した統合イベントハンドラＨ１’を示す情報（単に、統合イベントハンドラＨ１’ともいう）と統合イベントハンドラＨ３’を示す情報（単に、統合イベントハンドラＨ３’ともいう）とを統合イベントハンドラ管理部１４０に登録する（ステップＳ１０３）。
【００７３】
統合イベントハンドラ生成部１３０は、統合イベントハンドラ管理部１４０から、接続されたロジックコンポーネントｘ３に到達する統合イベントハンドラ群を取得する。本例では、統合イベントハンドラ生成部１３０は、統合イベントハンドラ管理部１４０から、例えば、図４に示す統合イベントハンドラＨ６と統合イベントハンドラＨ８とを含む統合イベントハンドラ群を取得する。
【００７４】
そして、統合イベントハンドラ生成部１３０は、取得した統合イベントハンドラ群に応じて、ロジックコンポーネントｘ３がネットワークコンポーネントｎ３を更新することによって発行されるイベントを処理する、ロジックコンポーネントｘ４、およびロジックコンポーネントｘ４よりも上流側のイベントハンドラを統合した統合イベントハンドラを生成する。本例では、統合イベントハンドラ生成部１３０は、例えば、図４に示すように、イベントハンドラＨ６が統合された統合イベントハンドラＨ６’と、イベントハンドラＨ８が統合された統合イベントハンドラＨ８’とを生成する。
【００７５】
なお、本例における統合イベントハンドラＨ６’は、図４に示すように、ネットワークコンポーネントｎ１を起点に、ロジックコンポーネントｘ２、ネットワークコンポーネントｎ２，ロジックコンポーネントｘ３，ネットワークコンポーネントｎ３，ロジックコンポーネントｘ４，ネットワークコンポーネントｎ４，ロジックコンポーネントｘ５，ネットワークコンポーネントｎ５およびロジックコンポーネントｘ６が順に呼び出される統合イベントハンドラである。
【００７６】
また、本例における統合イベントハンドラＨ８’は、図４に示すように、ネットワークコンポーネントｎ２を起点に、ロジックコンポーネントｘ３，ネットワークコンポーネントｎ３，ロジックコンポーネントｘ４，ネットワークコンポーネントｎ４，ロジックコンポーネントｘ５，ネットワークコンポーネントｎ５およびロジックコンポーネントｘ６が順に呼び出される統合イベントハンドラである。
【００７７】
そして、統合イベントハンドラ生成部１３０は、統合して生成した統合イベントハンドラを含む統合イベントハンドラ群を統合イベントハンドラ管理部１４０に登録する（ステップＳ１０４）
統合イベントハンドラ生成部１３０は、ステップＳ１０１〜Ｓ１０４の処理で統合イベントハンドラ管理部１４０に登録された統合イベントハンドラ群に含まれている統合イベントハンドラを統合イベントハンドラ管理部１４０から取得する。そして、統合イベントハンドラ生成部１３０は、所定のルールに従って、イベントハンドラおよびネットワークコンポーネントをそれぞれ互いに結合する（ステップＳ１０５）。本例では、統合イベントハンドラ生成部１３０は、図５に例示されているルールに従って、イベントハンドラおよびネットワークコンポーネントをそれぞれ互いに結合する。なお、統合イベントハンドラ生成部１３０は、イベントの参照渡しがコピー渡しに優先して行われるように、イベントハンドラおよびネットワークコンポーネントをそれぞれ互いに結合する。したがって、統合イベントハンドラ生成部１３０によって、イベントの参照渡しがコピー渡しに優先して行われるように統合イベントハンドラが生成され、統合イベントハンドラ管理部１４０に登録される。
【００７８】
図７は、コンポーネント接続管理部１２０が管理する情報に基づく構成例を示す説明図である。図７に示すように、コンポーネント接続管理部１２０が管理する情報に基づく構成では、ドライバロジックコンポーネント２１０に、ドライバロジックコンポーネント２１０によって抽象化されたネットワークドメインの情報が格納されているネットワークコンポーネント２１１が接続されている。
【００７９】
さらに、ネットワークコンポーネント２１１には、抽象化されたネットワークドメインの情報に基づいて、図７に示す構成をＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でスライスするスライサロジックコンポーネント２１２が接続されている。
【００８０】
そして、図７には、スライサロジックコンポーネント２１２に、当該スライサロジックコンポーネント２１２によってスライスされたことによるネットワークコンポーネント３１０，５１０が接続されている。
【００８１】
さらに、各ネットワークコンポーネント３１０，５１０をＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスの範囲指定でそれぞれスライスするスライサロジックコンポーネント３１１，５１１がそれぞれ接続されている。
【００８２】
そして、スライサロジックコンポーネント３１１には、ネットワークコンポーネント３１０がＩＰアドレスの範囲指定でスライサロジックコンポーネント３１１によってスライスされたことによるネットワークコンポーネント４１０，４１１が接続されている。また、ネットワークコンポーネント４１０には、当該ネットワークコンポーネント４１０においてレイヤ２スイッチの機能を実現するＬ２Ｓｗｉｔｃｈ（Ｌａｙｅｒ  ２  Ｓｗｉｔｃｈ）ロジックコンポーネント７１０が接続されている。ネットワークコンポーネント４１１には、当該ネットワークコンポーネント４１１においてレイヤ２スイッチの機能を実現するＬ２Ｓｗｉｔｃｈロジックコンポーネント７１１が接続されている。
【００８３】
また、スライサロジックコンポーネント５１１には、ネットワークコンポーネント５１０がＩＰアドレスの範囲指定でスライサロジックコンポーネント５１１によってスライスされたことによるネットワークコンポーネント６１０，６１１が接続されている。また、ネットワークコンポーネント６１０には、当該ネットワークコンポーネント６１０においてレイヤ２スイッチの機能を実現するＬ２Ｓｗｉｔｃｈロジックコンポーネント８１０が接続されている。ネットワークコンポーネント６１１には、当該ネットワークコンポーネント６１１においてレイヤ２スイッチの機能を実現するＬ２Ｓｗｉｔｃｈロジックコンポーネント８１１が接続されている。
【００８４】
図８は、統合イベントハンドラ生成部１３０が生成したＮｏｄｅイベントを処理する統合イベントハンドラの具体例を示す説明図である。
【００８５】
図８に示す例において、ドライバロジックコンポーネント２１０に、ドライバロジックコンポーネント２１０によって抽象化されたネットワークドメインの情報が格納されているネットワークコンポーネント２１１が接続されている。そして、図８には、ドライバロジックコンポーネント２１０からネットワークコンポーネント２１１に、イベントのコピー渡しが行われることが示されている。
【００８６】
さらに、ネットワークコンポーネント２１１には、ハンドラ２１２−ａ，３１１−ａ，５１１−ａ，７１０−ａ，７１１−ａ，８１０−ａ，８１１−ａが接続されている。
【００８７】
ハンドラ２１２−ａは、図７に示すスライサロジックコンポーネント２１２が有するｏｒｉｇｉｎａｌハンドラタイプのイベントハンドラである。また、ハンドラ３１１−ａは、図７に示すスライサロジックコンポーネント３１１が有するｏｒｉｇｉｎａｌハンドラタイプのイベントハンドラである。ハンドラ５１１−ａは、図７に示すスライサロジックコンポーネント５１１が有するｏｒｉｇｉｎａｌハンドラタイプのイベントハンドラである。
【００８８】
図８に示す例において、ハンドラ２１２−ａには、図７に示すネットワークコンポーネント３１０，５１０に相当するネットワークコンポーネント３１０，５１０が接続されている。また、図８に示す例において、ハンドラ３１１−ａには、図７に示すネットワークコンポーネント４１０，４１１に相当するネットワークコンポーネント４１０，４１１が接続されている。さらに、図８に示す例において、ハンドラ５１１−ａには、図７に示すネットワークコンポーネント６１０，６１１に相当するネットワークコンポーネント６１０，６１１が接続されている。
【００８９】
そして、ハンドラ７１０−ａ，７１１−ａ，８１０−ａ，８１１−ａは、図７に示すＬ２Ｓｗｉｔｃｈロジックコンポーネント７１０，７１１，８１０，８１１にそれぞれ相当する、Ｌ２Ｓｗｉｔｃｈのｏｇｉｇｉｎａｌハンドラタイプのイベントハンドラである。
【００９０】
図３を参照すると、スライサロジックコンポーネントのｏｒｉｇｉｎａｌハンドラタイプのＮｏｄｅイベントにおける操作種別はＦである。また、図３を参照すると、Ｌ２ＳｗｉｔｃｈロジックコンポーネントのｏｒｉｇｉｎａｌハンドラタイプのＮｏｄｅイベントにおける操作種別はＲである。
【００９１】
そこで、統合イベントハンドラ生成部１３０は、図５に示すルール１、ルール３およびルール５に従うとともに、当該ルールの適用の際にイベント出力として参照渡しを採用する。
【００９２】
すると、図８に示すように、ネットワークコンポーネント２１１から、ハンドラ２１２−ａ，３１１−ａ，５１１−ａ，７１０−ａ，７１１−ａ，８１０−ａ，８１１−ａに、イベントの参照渡しが行われる。
【００９３】
また、図８に示すように、ハンドラ２１２−ａ，３１１−ａ，５１１−ａからネットワークコンポーネント３１０，４１０，４１１，５１０，６１０，６１１に、イベントの参照渡しが行われる。
【００９４】
したがって、図８に示すように、イベントが、ネットワークコンポーネント２１１から、ネットワークコンポーネント３１０，４１０，４１１，５１０，６１０，６１１，７１０，７１１，８１０，８１１まで、コピー渡しされることなく参照渡しされて到達するような統合イベントハンドラが統合イベントハンドラ生成部１３０によって生成される。
【００９５】
図９は、統合イベントハンドラ生成部１３０が生成したＰｏｒｔイベントを処理する統合イベントハンドラの具体例を示す説明図である。
【００９６】
図９に示す例において、ドライバロジックコンポーネント２１０に、ドライバロジックコンポーネント２１０によって抽象化されたネットワークドメインの情報が格納されているネットワークコンポーネント２１１が接続されている。そして、図９には、ドライバロジックコンポーネント２１０からネットワークコンポーネント２１１に、イベントのコピー渡しが行われることが示されている。
【００９７】
さらに、ネットワークコンポーネント２１１には、ハンドラ２１２−ｂが接続されている。
【００９８】
ハンドラ２１２−ｂは、図７に示すスライサロジックコンポーネント２１２が有するｏｒｉｇｉｎａｌハンドラタイプのイベントハンドラであり、ネットワークコンポーネント２１１によって発行されたＰｏｒｔイベントを処理する。
【００９９】
図９に示す例では、ハンドラ２１２−ｂには、図７に示すネットワークコンポーネント３１０，５１０に相当するネットワークコンポーネント３１０，５１０が接続されている。
【０１００】
さらに、図９に示す例では、ネットワークコンポーネント３１０には、ハンドラ３１１−ｂが接続されている。また、ネットワークコンポーネント５１０には、ハンドラ５１１−ｂが接続されている。
【０１０１】
ハンドラ３１１−ｂは、図７に示すスライサロジックコンポーネント３１１が有するｏｒｉｇｉｎａｌハンドラタイプのイベントハンドラである。ハンドラ５１１−ｂは、図７に示すスライサロジックコンポーネント５１１が有するｏｒｉｇｉｎａｌハンドラタイプのイベントハンドラである。
【０１０２】
図９に示す例において、ハンドラ３１１−ｂには、図７に示すネットワークコンポーネント４１０，４１１に相当するネットワークコンポーネント４１０，４１１が接続されている。さらに、図９に示す例において、ハンドラ５１１−ｂには、図７に示すネットワークコンポーネント６１０，６１１に相当するネットワークコンポーネント６１０，６１１が接続されている。
【０１０３】
また、図９に示す例において、ネットワークコンポーネント４１０にはハンドラ７１０−ｂが接続されている。さらに、図９に示す例において、ネットワークコンポーネント４１１にはハンドラ７１０−ｂが接続されている。図９に示す例において、ネットワークコンポーネント６１０にはハンドラ８１０−ｂが接続されている。また、図９に示す例において、ネットワークコンポーネント６１１にはハンドラ８１１−ｂが接続されている。
【０１０４】
そして、ハンドラ７１０−ｂ，７１１−ｂ，８１０−ｂ，８１１−ｂは、図７に示すＬ２Ｓｗｉｔｃｈロジックコンポーネント７１０，７１１，８１０，８１１にそれぞれ相当する、Ｌ２Ｓｗｉｔｃｈのｏｇｉｇｉｎａｌハンドラタイプのイベントハンドラである。
【０１０５】
図３を参照すると、スライサロジックコンポーネントのｏｒｉｇｉｎａｌハンドラタイプのＰｏｒｔイベントにおける操作種別はＷＦである。また、図３を参照すると、Ｌ２ＳｗｉｔｃｈロジックコンポーネントのｏｒｉｇｉｎａｌハンドラタイプのＮｏｄｅイベントにおける操作種別はＲである。
【０１０６】
そこで、統合イベントハンドラ生成部１３０は、図５に示すルール２、ルール３およびルール５に従うとともに、当該ルールの適用の際にイベント出力として参照渡しを採用する。
【０１０７】
すると、図９に示すように、ネットワークコンポーネント２１１，３１０，４１０，４１１，５１０，６１０，６１１から、ハンドラ２１２−ｂ，３１１−ｂ，７１０−ｂ，７１１−ｂ，５１１−ｂ，８１０−ｂ，８１１−ｂに、イベントの参照渡しが行われる。
【０１０８】
したがって、Ｎｏｄｅイベントについてはコピー渡しが行われる場合よりも高速化され、Ｐｏｒｔイベントについては通常通りの機能が発揮される。よって、データの受け渡しにコピー渡しが優先的に用いられた場合に比べて、通信ネットワーク２００の処理性能の劣化を良好に抑制することができる。
【０１０９】
本実施形態によれば、統合イベントハンドラ生成部１３０が、所定のルールに従うとともに、当該ルールの適用の際にイベント出力として参照渡しを採用するように、各ハンドラを統合した統合イベントハンドラを生成する。
【０１１０】
したがって、ロジックコンポーネントからネットワークコンポーネントにデータの追加や更新がなされる場合であっても、当該データをコピーする回数を減少させることができる。よって、ロジックコンポーネントを介したネットワークコンポーネント間のデータの受け渡しによる処理性能の劣化を良好に抑制することができる。
【０１１１】
実施形態２．
次に、本発明の第２の実施形態の通信制御装置１０について、図面を参照して説明する。図１０は、本発明の第２の実施形態の通信制御装置１０の構成例を示すブロック図である。
【０１１２】
図１０に示すように、本発明の第２の実施形態の通信制御装置１０は、イベントハンドラ管理部１１と、統合部１３とを含む。
【０１１３】
イベントハンドラ管理部１１は、例えば、図２に示す本発明の第１の実施形態におけるイベントハンドラ管理部１１０に相当する。また、統合部１３は、例えば、図２に示す本発明の第１の実施形態における統合イベントハンドラ生成部１３０に相当する。
【０１１４】
イベントハンドラ管理部１１は、通信ネットワーク（例えば、図１に示す通信ネットワーク２００）を構成して互いにデータを受け渡す処理を行う複数の通信装置（例えば、図１に示す通信装置２０１−ａ〜２０１−ｄ）を、動作に基づいてイベントハンドラとして管理する。
【０１１５】
統合部１３は、イベントハンドラ管理部１１が管理しているイベントハンドラを統合した統合イベントハンドラを生成する。
【０１１６】
そして、統合部１３は、コピー渡しに優先して参照渡しでデータの受け渡しが行われるように、統合イベントハンドラを生成する。
【０１１７】
本実施形態によれば、統合部１３が、イベント出力として参照渡しを採用するように、各ハンドラを統合した統合イベントハンドラを生成する。
【０１１８】
したがって、ロジックコンポーネントからネットワークコンポーネントにデータの追加や更新がなされる場合であっても、当該データをコピーする回数を減少させることができる。よって、ロジックコンポーネントを介したネットワークコンポーネント間のデータの受け渡しによる処理性能の劣化を良好に抑制することができる。
【０１１９】
なお、各図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【符号の説明】
【０１２０】
１０、１００    通信制御装置
１１、１１０    イベントハンドラ管理部
１３    統合部
１２０    コンポーネント接続管理部
１３０    統合イベントハンドラ生成部
１４０    統合イベントハンドラ管理部
２００    通信ネットワーク
２００−ａ，２００−ｂ，２００−ｃ，２００−ｄ    通信装置
２１０    ドライバロジックコンポーネント
２１１、３１０、４１０、４１１、５１０、６１０、６１１    ネットワークコンポーネント
２１２、３１１、５１１    スライサロジックコンポーネント（ハンドラ）
７１０、７１１、８１０、８１１    Ｌ２Ｓｗｉｔｃｈロジックコンポーネント（ハンドラ）
【図１】
2017157897.tif 000003
【図２】
2017157897.tif 000004
【図３】
2017157897.tif 000005
【図４】
2017157897.tif 000006
【図５】
2017157897.tif 000007
【図６】
2017157897.tif 000008
【図７】
2017157897.tif 000009
【図８】
2017157897.tif 000010
【図９】
2017157897.tif 000011
【図１０】
2017157897.tif 000012