【文献】
是津 耕司,他,高度センサー情報集約・解析プラットフォーム,NICT News 2012年 10月号,2012年,URL,http://www.nict.go.jp/publication/NICT-News/1210/01.html
【文献】
Kyoungsook Kim,Challenges and Opportunities for Cyber-Physical Cloud Computing,第38回ワークショップ インタークラウドとオープン化,グリッド協議会,2013年 3月 6日,URL,http://www.jpgrid.org/event/2012/workshop38.html
【文献】
クラウド時代に求められるネットワークサーバのようにネットワークも仮想化できる,@IT,2011年 8月31日,URL,http://www.atmarkit.co.jp/ad/nec/1108pflow/nec01.html
(58)【調査した分野】(Int.Cl.,DB名)
前記ネットワーク状況取得手段により取得された情報を、前記第3の描画手段による描画と同期して、前記表示装置の画面上に描画するための第4の描画手段をさらに含む、請求項4に記載の可視化システム。
【背景技術】
【0002】
データ通信ネットワークの基盤整備が進み、アプリケーションが、ネットワークの高い処理能力を利用可能になっている。こうしたネットワークの拡張性は高く、今後もネットワークを介して利用可能な情報サービスが多種多様になっていくことは間違いない。
【0003】
一方、こうしたネットワーク構成の調整は、これまでは一握りの専門家が行なえるだけで、一般的なユーザがネットワークを自己のアプリケーションにあわせて調整することはきわめて難しかった。これは、例えばネットワークが一企業又は1つの大学などに限定されている場合でも同様である。そしてときには予期せぬ事態が発生し、ネットワークの管理者でもその対応に苦慮することがある。
【0004】
ところで、ネットワーク上で提供される様々なデータを、一定の目的のもとに、限られた時間内に収集し処理することが望ましいときがある。例えば、突発的な災害が発生したり予測されたりしたときに、それら災害による被害状況、災害をもたらす原因となる事象に関する情報などを大量に収集し、適時に処理することで、被害の拡大を予防したり、既に生じた被害に対して有効な対策を講じたりすることが可能になる。そのためには、ネットワーク上に分散する膨大な量のデータを収集し、多種多様な情報サービスを組合せ、効率よく実行することが必要になる。
【0005】
そのようなアプリケーションを実現するためには、情報サービスの要求を的確かつ適時にネットワークに伝え、ネットワーク構成を動的に調整する技術が必要である。特に、突発的で想定を超えて発生する情報を、柔軟に経路を選定して適時に転送したり、膨大な情報を試行錯誤により分析したり、アプリケーションの緊急度又はデータの重要性に応じて情報サービスを提供したりする際に、情報サービスの要求に連動してネットワークを柔軟に構成し、ネットワークの管理及び情報サービスの展開コストが著しく上昇しないようにすることが望ましい。
【0006】
しかし、通常のネットワークの場合、一方では、アプリケーション開発者が新たなサービス連携をオンデマンドで作成しようとしても、既に設定されたネットワークのパスしか利用できず、情報サービスに適した形でネットワークの性能を最大限に引き出すことができないという問題がある。他方、ネットワーク管理者は、予め想定した条件内でネットワークを構築するため、想定した経路に予想を超えるトラフィックの発生等の障害が生じても、リアルタイム性高く対応できないという問題がある。
【0007】
こうした問題を解決し、ネットワークを柔軟に構成するための基礎的な技術として、後掲の非特許文献1に記載されたSoftware−Defined−Network(SDN)と呼ばれるものがある。SDNは、ネットワークのトポロジー及びQoS(Quolity of Service)をソフトウェアで設定し、API(Application Programming Interface)又はコマンドを呼出すことにより物理ネットワークを構成する技術である。SDNによれば、ソフトウェアのプログラミングと同様に、ネットワーク構成をプログラミングし、物理ネットワーク上に仮想的なネットワーク(仮想ネットワーク)を構築することが可能になる。
【0008】
そのようなSDNに類する代表的な技術としてOpenFlowと呼ばれるものがある。OpenFlowは、これまでのネットワーク機器の役割を、OpenFlowコントローラと呼ばれるものと、OpenFlowスイッチと呼ばれるものとに分離したものである。OpenFlowスイッチにはネットワーク上の機器が接続されており、かつOpenFlowスイッチ相互の間でデータの転送が可能である。
【0009】
図1を参照して、OpenFlowによるネットワーク(OpenFlowネットワーク)30は、実際に通信を行なうOpenFlowスイッチ50,52,54及び56等を含むスイッチ群40と、スイッチ群40の状態を監視し、制御を行なうOpenFlowコントローラ42とを含む。OpenFlowプロトコルと呼ばれる手順でOpenFlowコントローラ42を介してスイッチ群40内の各スイッチによるスイッチングを動的に制御できる。
【0010】
OpenFlowネットワーク30は、ソフトウェアにより制御できるネットワークである。利用者が仮想ネットワークの論理的構成を実現するためのネットワーク制御コマンドをOpenFlowコントローラ42に指示すると、OpenFlowコントローラ42がその論理的構成を物理ネットワーク上で実現するためのフローテーブルを作成し、各OpenFlowスイッチ50,52,54及び56に配布する。各OpenFlowスイッチ50,52,54及び56はこのフローテーブルにしたがってデータの転送を行なう。一方、各OpenFlowスイッチ50,52,54及び56はネットワークの帯域情報等をOpenFlowコントローラ42に送信する。OpenFlowコントローラ42は、これら情報に基づき、指示された仮想ネットワークの構成を実現するために動的にフローテーブルを修正する。
【0011】
これにより、利用者は物理ネットワークの構成とは独立に仮想ネットワークを構築できる。そのために物理ネットワークの構成を熟知していなくてもよい。
【0012】
一方、実際のネットワーク管理者としては、自分が管理する物理ネットワーク上にどのような仮想ネットワークが構築されているか、物理ネットワークの各経路上のトラフィックはどのようになっているか、等の情報をリアルタイムで知る必要がある。ネットワークには膨大な数の機器が接続されているため、テキスト的な情報ではそうした情報を知ることは不可能である。
【0013】
そうした問題を解決するための方策が特許文献1に開示されている。
図2を参照して、特許文献1が開示するネットワーク可視化装置のネットワーク管理画面60は、複数個の仮想ネットワークに割当てられた物理ネットワークの資源を管理するためのものである。ネットワーク管理画面60は、表示すべき仮想ネットワークを選択するVNT選択画面70と、物理ネットワークに含まれるノードと各ノード間のリンク(物理リンク)とを表示する物理網表示画面80と、VNT選択画面70により選択されたVNTを構成する論理リンクとルータとを表示するVNT表示画面72及び74と、各VNTに割当てられた資源(VNTの物理トポロジーとリンクへの割当て帯域)とをVNTごとに表示する配分資源表示画面76及び78とを含む。VNT表示画面72及び74には、各リンクを流れるデータによるトラフィック量も表示される。
【0014】
物理網表示画面80は、物理ネットワーク上のリンクがしきい値以上の数の仮想ネットワークにより共有されているときに、そのリンクの近傍にアラームを表示する。例えば
図2では、リンク82の近傍に「S1 1G,S2 1G」と表示されているが、これはこのリンク82が仮想ネットワークS1及びS2により共有されており、かつそれらに割当てられた帯域がいずれも1Gであることを示す。同様に、リンク84については、4つの仮想ネットワークS1,S2,S3及びS4により共有されており、それらに割当てられた帯域がそれぞれ1G,1G,1G,及び8Gであることを示す。
【0015】
このネットワーク管理画面60により、ネットワーク管理者は、物理網における各仮想ネットワークの共有状態、資源割当て状況、及び挙動を見ることができ、仮想ネットワークの状況を把握しやすくなるとされている。
【発明を実施するための形態】
【0026】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0027】
図3を参照して、本願発明の一実施の形態に係るネットワークの可視化装置の監視画面90は、監視対象となるネットワーク上に構築されたサービス連携の実行監視画面92を含む。サービス連携の構成は、後述するようにDSNと呼ばれる宣言的記述により、ルールの集まりとして記述される。各ルールは、ネットワークの状況及び情報サービスの状況が充足すべき条件と、条件が充足されたとき(ルールが発火したとき)に実行されるべき処理との組を含む。これら処理のいずれかは、OpenFlowのネットワーク制御コマンドを生成する処理を規定する。
【0028】
このネットワーク管理システムは、この宣言的記述をOpenFlowの制御コマンドに変換するための、後述するミドルウェアを含む。ミドルウェアは、DSN記述により記述された各ルールのうち、発火したルールを処理し、ネットワーク制御コマンドを生成するときには、予め準備された変換ルールにしたがった処理を行ない、OpenFlowコマンドに変換する。サービス連携に変更があると、ミドルウェアはDSN記述の変更を反映するようにOpenFlowコマンドを生成し、OpenFlowコントローラにコマンドを送信する。OpenFlowコントローラがこのコマンドにしたがってフローテーブルを再構成し、配下のOpenFlowスイッチに配布することにより、物理ネットワークがサービス連携アプリケーションによる要件を満たすよう再構成される。
【0029】
監視画面90はさらに、上記したミドルウェアのルール実行結果の履歴(ログ)を表示するルール実行ログ表示画面94と、ミドルウェアのルール実行の結果、OpenFlowコントローラに対して発行されるネットワーク制御コマンド及び情報サービス間のトラフィック情報のログの表示画面(ネットワーク制御コマンド表示画面96)と、ネットワーク制御コマンドの実行及びネットワークの状況の変化によるネットワーク構成の変更を表示するネットワーク構成監視画面98とを含む。
【0030】
この実施の形態では、監視画面90にサービス連携の実行監視画面92、ルール実行ログ表示画面94、ネットワーク制御コマンド表示画面96及びネットワーク構成監視画面98が同時に全て表示される。さらに、サービス連携に変更があれば、その変更がサービス連携の実行監視画面92にリアルタイムで反映され、ミドルウェアによるルール実行結果のログと、ルール実行の結果発行されるネットワーク制御コマンドのログとが、これもリアルタイムで表示される。ネットワーク制御コマンドの結果、物理ネットワーク構成に変化が生じると、その変化がネットワーク構成監視画面98の表示に反映される。
【0031】
図4を参照して、サービス連携の実行監視画面92は、ネットワーク上で提供されている情報サービスの情報(サービス情報)を表示するサービス情報表示領域100と、それら情報サービスの間の関係として定義されたサービス連携アプリケーションごとに、各情報サービスを頂点、情報サービス間の通信パスをエッジとするサービス連携グラフの形で表すサービス連携グラフ表示領域102と、サービス情報表示領域100に表示されている情報サービスのネットワーク上での位置をIPアドレスで表示するサービス位置表示領域104とを含む。
【0032】
サービス情報表示領域100に表示されている各情報サービス名は、ある一定のルールで省略されアルファベット4文字により示されている。この情報サービス名は、サービス連携グラフ表示領域102及びサービス位置表示領域104、並びに他の画面でも共通して使用される。
【0033】
サービス連携グラフ表示領域102に表示されているサービス連携グラフのエッジは、サービス連携ごとに異なる色で描画される。この描画色は、例えばネットワーク構成監視画面98のパスのうち、その情報サービスに割当てられているものの表示にも使用される。
【0034】
図5を参照して、ルール実行ログ表示画面94には、ミドルウェアによるDSN記述の実行履歴のログが表示される。DSNは、アプリケーションが様々な情報サービスを連携させる際のルールをステートメントとして記述する。以下の説明では、DSN記述内の各ステートメントを単に「ルール」と呼ぶ。例えば、「ある情報サービスを実行するには、他のある情報サービスの処理結果が必要で、かつその結果は特定の条件を満たしている」等というルールをDSNとして記述する。これらのルールは、何を行なうかを記述するのみの宣言的記述であり、処理をどのように実行するかについての手続きには触れない。
【0035】
ミドルウェアは、DSN記述と、OpenFlowコントローラから与えられるネットワークの挙動に関する情報とに基づいて、ルールごとに、そのルールを実行すべき条件が充足されているか否かを判定する。ルールの条件が充足されていなければ、そのルールは実行せず、次のルールの判定に移る。ルールの条件が充足されていれば(ルールが「発火すれば」)、そのルールに記載されている処理を実行する。こうした処理の連鎖の結果、ネットワークに何らかの変更が必要なときにはそれを実現するためのネットワーク制御コマンドが生成され、OpenFlowコントローラに与えられる。
【0036】
なお、サービス情報表示領域100及びサービス位置表示領域104の各情報サービスに関する情報は、ミドルウェアから取得した、ルールの実行ログを用いて描画する。サービス連携グラフ表示領域102の各グラフは、サービス連携ごとについて、DSN記述内の情報サービス間パス設定コマンドの実行ログから描画する。各サービス連携のグラフのエッジ色は、情報サービス間の通信パス設定コマンドを実行した際に、OpenFlowコントローラから返されるパス識別子(OpenFlowコントローラ内のネットワーク管理装置がネットワーク制御に使用しているもの)に基づいて決定している。
【0037】
図5のルール実行ログ表示画面94には、ミドルウェアが実行したルールの履歴がリアルタイムで表示される。このときのルールの表示色は、もとのDSN記述により記述されているサービス連携のエッジ色と同じである。
【0038】
図6を参照して、ネットワーク制御コマンド表示画面96は、OpenFlowコントローラから取得した情報サービス間のトラフィックの発生ログを表示するトラフィックログ表示領域110と、OpenFlowコントローラが受付けた各ノードからの制御コマンドの実行履歴を表示する制御コマンド表示領域112とを含む。
【0039】
図7を参照して、ネットワーク構成監視画面98の表示は、OpenFlowコントローラから取得したネットワークのトポロジー情報と、OpenFlowコントローラから取得した、ネットワークのノードとスイッチ120,122,124,126,128及び130等との接続関係とに基づいて描画したネットワーク構成のグラフを含む。このグラフは、ネットワークのノード及びスイッチを頂点、それらを互いに接続する物理線をエッジとして表している。ネットワーク構成監視画面98の表示はさらに、ノード及びスイッチ間の物理線上に、OpenFlowコントローラから得た各物理線のトラフィック情報に基づいて描画された、トラフィック量を表わす画像を含む。
【0040】
この表示はさらに、OpenFlowコントローラから取得したパス情報と、ミドルウェアから取得したサービス連携の実行ログとから、アプリケーションごとに決められた色によって表示される、各情報サービスに割当てられたデータ転送の経路を示す転送経路の画像を含む。転送経路の各画像は、トラフィック量に応じた太さで、情報サービスごとに別々に描画される。これらの画像は、後述するように一定時間のログを集積するために必要とされる若干の遅延を伴うだけで、ほぼリアルタイムで描画される。
【0041】
例えば
図7のパス142は、黄色の太い線のみで描画されている。これは、
図4のサービス連携の実行監視画面92において、エッジが黄色で描かれているサービス連携のデータ転送のパスとしてこの物理線が使用されていることを示す。パス140は、赤い線と黄色の線とにより描画されている。これは、
図4のサービス連携の実行監視画面92において、エッジが黄色で描かれているサービス連携と、エッジが赤で描かれているサービス連携との両方によりこの物理線がデータ転送のパスとして使用されていることを示す。その他の線も同様である。本実施の形態では、ネットワーク上でトラフィックが発生するたびに、ネットワーク構成監視画面98のそのトラフィックを生じた情報サービスに対応する転送パスを表す線と、サービス連携の実行監視画面92の、対応するサービス間連携のグラフのエッジの部分とが同期して、同じ色で描画される。
【0042】
可視化装置で上記した各種の描画を行なうためには、そのための情報を収集しなければならない。
図8に、情報収集のためのバックエンドシステムの構成をブロック図形式で示す。上記した描画に必要な情報を取得するタイミングは互いに異なる。データが取得される場所はネットワーク上の各所に分散している。さらに、データが可視化装置にリアルタイムで送信されてくる場合と、可視化装置が明示的にデータを取得しに行かなければならない場合とがある。そのため、データを単純に収集してもそれらを同期して表示させることは難しい。
【0043】
そこで本実施の形態では、可視化装置と情報サービスを提供する位置であるサービスノード、及び可視化装置とOpenFlowコントローラとの間にそれぞれキャッシュを設け、可視化装置にデータが同期して配信されるようにしている。
【0044】
図8を参照して、このバックエンドシステム150は、上記した監視画面90を表示する表示装置を備えた可視化装置174と、サービスノード168から与えられる情報サービスに関する情報をキャッシュし、所定のフォーマットに整形するキャッシュDB170と、OpenFlowネットワーク176を制御するOpenFlowコントローラ160によるネットワーク制御コマンドの実行及びOpenFlowコントローラ160が収集するOpenFlowネットワーク176の状況に関する情報をキャッシュし、所定のフォーマットに整形するログサーバ162とを含む。ログサーバ162に蓄積されたログデータは定期的にキャッシュDB170に転送される。
【0045】
バックエンドシステム150はさらに、キャッシュDB170に蓄積された情報を一定時間ごとに可視化装置174に送信するためのデータ送信モジュール172と、ログサーバ162に蓄積されたログデータのうち、ネットワークの物理トポロジー等、
図7のネットワーク構成監視画面98内のネットワーク構成の永続的な構成を描画するために必要な情報を記憶する永続化用DB164と、永続化用DB164に蓄積されたデータを、可視化装置174の初期化時等、ネットワーク構成監視画面98の再描画を行なうタイミングで可視化装置174に送信するためのデータ送信モジュール166とを含む。
【0046】
図9を参照して、サービス連携によるアプリケーションから生成されたDSN記述をミドルウェアが解釈してネットワーク制御コマンドを生成するまでの処理の流れをブロック図形式で示す。
【0047】
図9を参照して、本発明の実施の形態に係るネットワーク制御システム200は、アプリケーション要求を記述したDSN記述232を出力するアプリケーションレイヤ210と、ネットワーク構成を制御するNCPSレイヤ214と、アプリケーションレイヤ210及びNCPSレイヤ214の中間に位置し、DSN記述232を随時解釈してOpenFlow制御コマンドシーケンス236を出力し、NCPSレイヤ214に与えるミドルウェア212とを含む。なお、以下では説明を明瞭にするために、出力されるコマンドがOpenFlow制御コマンドのみとしているが、OpenFlowネットワークとは異なるネットワーク、例えばPIAXネットワークについても制御可能なようにネットワーク制御システム200を構成してもよい。
【0048】
NCPSは、異なるネットワークプロトコルごとに、ネットワークを制御するためのコマンド集合を定義する。具体的には、NCPSは以下のようなコマンドを含む。
【0049】
(1)特定の情報サービスが稼働しているネットワークノードを検索するためのコマンド群、
(2)ノード間に通信経路(パス)を作成するためのコマンド群、及び、
(3)ノードの状態を監視するコマンド群。
【0050】
例えば、OpenFlowの場合、ノード検索はノードリストの参照コマンド、経路作成はパスの設定コマンド、状態監視はスイッチ統計情報集約コマンドによって実装される。
【0051】
アプリケーションレイヤ210は、本実施の形態では所望の情報サービス連携を記述し、そのサービス連携を実現するために必要なネットワークの仕様をDSN記述232として出力するアプリケーション230を含む。アプリケーション230の設計者は、コンピュータのGUIを用いて情報サービス間の連携をネットワークダイアグラム形式で記述し、適宜DSN記述232として出力してもよい。アプリケーション230において、サービス連携の内容が変更されると、DSN記述232もその変更に応じて変更される。
【0052】
ミドルウェア212は、アプリケーションレイヤ210が出力するDSN記述232を記憶するDSN記憶部233と、NCPSレイヤ214から受信するネットワーク状況を監視しながら、DSN記述232内のルールが発火するか否かを繰返して判定し、ルールが発火した場合にはそのルールにしたがって、OpenFlow制御コマンドシーケンス236を出力するインタープリタ234と、DSNのルールをNCPSの制御コマンド列に変換する際にインタープリタ234が利用する、変換ルールを記述した辞書240と、インタープリタ234によるルールの実行ログを記憶するログ記憶装置242と、インタープリタ234があるアプリケーションについてパスの割当命令を発行したときに、戻り値として受けるパス識別子をサービス連携アプリケーションと対応付けてテーブル形式で記憶するパステーブル記憶部244とを含む。
【0053】
図9に示すように、インタープリタ234はOpenFlowコントローラ160からOpenFlowネットワーク176の動作状況(ネットワーク状況)を取得し、その情報を用いて各ルールが発火するか否かを判定する。
【0054】
辞書240はOpenFlowのために変換ルールを記述している辞書である。ここでいう「変換ルール」は、DSN記述内の「ルール」とは異なるものである点に注意が必要である。パステーブル記憶部244に記憶されたパス識別子のテーブルは、
図7のトラフィックの表示と、
図4の各サービス連携の内の、そのトラフィックに対応する情報サービス間のエッジとを同期させて描画するために用いられる。このテーブルはまた、ルール実行ログ表示画面94に表示された特定のルールと、そのルールの実行の結果、発生したトラフィックの発生ログと、OpenFlowコントローラが受付けた各ノードからの制御コマンドとの表示を同期させるためにも使用される。
【0055】
インタープリタ234は、DSN記述232により指定されるネットワークがOpenFlowによるものか否かに応じて、OpenFlow制御コマンドシーケンス236又は図示しない別の系列のネットワーク制御コマンドシーケンスを選択的に生成する。具体的には、インタープリタ234は、DSN記述232がOpenFlowを指定しているか否かにより、辞書240を使用するか否かを決定する。ネットワーク制御コマンドは、この辞書を用い、発火したDSNルールに基づいて定められる。以下の説明では、本発明に直接関係しないため、この選択については詳細には説明しない。
【0056】
NCPSレイヤ214は、OpenFlowネットワーク176に接続され、OpenFlow制御コマンドシーケンス236を実行することによりフローテーブルを作成し、このフローテーブルを用いてOpenFlowネットワーク176の各スイッチを制御するためのOpenFlowコントローラ160とを含む。
【0057】
図10に、可視化装置174の機能を実現するためのプログラムの制御構造をフローチャート形式で示す。このフローチャートは、実際のプログラムそのものの制御構造というよりは、様々なオブジェクトなどの協働の結果得られる、可視化装置174の動きをフローチャート化したものである。
【0058】
このプログラムは、可視化装置174の起動時に、ネットワーク構成に関する永続的な表示を永続化用DB164から読出した情報に基づいて生成するステップ280と、プログラムを終了することを指示する何らかの信号を受信したか否かを判定し、終了信号を受信した場合に処理を終了するステップ282と、終了指示を受信していないと判定されたときに、
図8に示すキャッシュDB170から一定時間ごとにサービス情報を受信するステップ284と、
図8に示すログサーバ162からネットワークに関するログを受信するステップ286と、ステップ284で受信した情報に基づいて、
図4に示すサービス連携の実行監視画面92のサービス情報表示領域100及びサービス位置表示領域104の表示を生成するステップ288と、
図4のサービス連携グラフ表示領域102に表示するサービス連携グラフのエッジ色を決定するステップ290と、ステップ290で決定されたエッジ色を用いてサービス連携グラフ表示領域102にサービス連携グラフを描画するステップ292とを含む。ステップ290では、既にエッジ色が決定されているサービス連携グラフについては既存のものを用い、新たに生成されるサービス連携グラフについては、既存のものと異なる表示色を採用する。
【0059】
このプログラムはさらに、ステップ292の後、
図9に示すミドルウェア212のルール実行ログをログ記憶装置242から読出し、
図4のサービス位置表示領域104に表示するステップ294と、ステップ286で受信したOpenFlowコントローラのログに基づいて、サービス間のトラフィックの発生ログと各ノードにおけるネットワーク制御コマンドの実行ログとをそれぞれ
図6に示すネットワーク制御コマンド表示画面96のトラフィックログ表示領域110と制御コマンド表示領域112とに表示するステップ296とを含む。
【0060】
このプログラムはさらに、スイッチ及びノードとこれらの間の接続の表示を
図7に示すネットワーク構成監視画面98に描画するステップ298と、スイッチ間を接続する物理線に流れるトラフィック量をOpenFlowコントローラからのログに基づいて決定するステップ300と、パスを構成する物理線ごとに、ステップ300において決定されたトラフィック量、及び、そのパスを利用する情報サービスの連携グラフのエッジ色とに基づいて、トラフィックを表す線の太さ及び色を決定し、
図7に示すネットワーク構成監視画面98に描画して制御をステップ282に戻すステップ302とを含む。
【0061】
ステップ284以下の一連の処理が一定時間ごとに実行される。したがって、
図3に示す監視画面90上のサービス連携の実行監視画面92、ルール実行ログ表示画面94、ネットワーク制御コマンド表示画面96、及びネットワーク構成監視画面98の表示は互いに同期して更新される。したがって、各サービス連携アプリケーションの情報サービス間でデータが送受信されると、そのサービス連携グラフのエッジが強調表示される。それと同期して、ネットワーク構成監視画面98の、そのデータが送信された経路に相当するパスも同じ色で強調表示される。さらに、そのときのルールの実行ログもルール実行ログ表示画面94において同じ色で表示され、そのルールの実行の結果として発行されるネットワーク制御コマンドもネットワーク制御コマンド表示画面96において同じ色で表示される。
【0062】
[動作]
図8を参照して、上記した可視化装置174とそのためのバックエンドシステム150とは以下のように動作する。OpenFlowコントローラ160は、所与の条件にしたがって、OpenFlowネットワーク176内の各スイッチをフローテーブルにより制御している。例えばOpenFlowネットワーク176内に新しいスイッチが導入されたり新しいノードが追加されたりするたびに、OpenFlowコントローラ160はOpenFlowネットワーク176の状態が所与の条件を充足するようにフローテーブルを生成し、各スイッチに配布する作業を行なう。OpenFlowコントローラ160のそのような処理の結果のログ、及びOpenFlowネットワーク176の各パスのトラフィック等に関する情報はログサーバ162に送信され、一時的に蓄積され、適時にキャッシュDB170に送信される。これら情報のうち、ネットワーク構成監視画面98のネットワーク構成を描画するために必要な永続化用データは永続化用DB164に保存される。
【0063】
このネットワーク上のいずれかのノードで、何らかの情報サービスの提供が開始されたものとする。その情報サービスに関する情報(情報サービスの内容、性格、アドレス等)はそのサービスノード168からキャッシュDB170に送信され、キャッシュDB170にキャッシュされる。本実施の形態では、サービス連携アプリケーション230(
図9参照)は既存のサービスノードをグラフ形式で組合せることにより作成され、DSN記述232の形式でDSN記憶部233に保存される。
【0064】
ミドルウェア212のインタープリタ234は、このDSN記述を繰返し解釈する。すなわち、DSN記述内のルールの各々について、その発火の条件が成立しているか否かをOpenFlowコントローラ160から与えられるネットワークの状況に基づいて判定する。ルールの発火条件が充足されていれば、インタープリタ234はそのルールを実行することにより、OpenFlow制御コマンドシーケンス236を生成しOpenFlowコントローラ160に送信する。インタープリタ234はまた、ルールの実行ログをログ記憶装置242に記憶する。制御コマンドが情報サービス間の通信パスの設定コマンドである場合には、その戻り値としてパス識別子がOpenFlowコントローラ160から送信されてくる。インタープリタ234はこのパス識別子をサービス連携の識別子と関係づけてパステーブル記憶部244に保存する。
【0065】
可視化装置174は、電源投入時に
図3に示す監視画面90の描画を開始する。具体的には、可視化装置174は、所定時間ごとに以下の処理を繰返す。
【0066】
可視化装置174は、ログ記憶装置242に記憶されたDSNのルール実行ログに基づいてサービス連携の実行監視画面92のサービス情報と情報サービスの配置情報、及びサービス連携グラフの描画を行なう。サービス連携グラフの描画の際には、サービス連携グラフごとにエッジを異なる色で描画する。
【0067】
可視化装置174は、ログ記憶装置242に記憶されたルール実行ログを読出してルール実行ログ表示画面94に描画する。さらに可視化装置174は、OpenFlowコントローラ160から取得した情報サービス間のトラフィック情報から
図6のトラフィックログ表示領域110を描画し、OpenFlowコントローラ160が受付けた各ノードからの制御コマンドの履歴を制御コマンド表示領域112に描画する。
【0068】
可視化装置174は、データ送信モジュール166から送信されてくる永続化情報(ネットワークのトポロジー情報及びノードとスイッチとの接続情報)に基づいて、ネットワーク構成監視画面98のネットワーク構成画面を描画する。可視化装置174はさらに、ネットワーク構成画面の各物理線の画像に重ねて、各物理線を流れるトラフィック量を表す画像を描画する。この画像は、OpenFlowコントローラ160から取得した、各物理線のトラフィック情報と、物理線に割当てられた最大帯域に基づいて描画される。
【0069】
可視化装置174はさらに、ネットワーク構成画面の各物理線の画像に重ねて、その物理線上を流れる情報サービス間のデータの流れを、サービス連携アプリケーションごとに、別々の色の線で描画する。この色は、パステーブル記憶部244を参照して、その物理線上に設定されたパスがどのサービス連携アプリケーションに対応するものかを調べることにより決定する。
【0070】
仮にネットワークのトポロジーが変化すると、その情報はOpenFlowコントローラ160から永続化用DB164に送信されて保持される。さらにこの情報はデータ送信モジュール166を経由して可視化装置174に与えられ、その結果、ネットワーク構成監視画面98のネットワーク構成の描画が新しいトポロジーを反映するように変更される。
【0071】
ネットワークの状況が変化し、サービス連携アプリケーションによる要件が充足できなくなると、インタープリタ234はその要件に関連するルールの解釈の結果、要件を充足するように仮想的なネットワーク構成を変化させるようなOpenFlow制御コマンドシーケンスを生成し、OpenFlowコントローラ160に与える。OpenFlowコントローラ160はこの制御コマンドに応答してフローテーブルを作り直し、各スイッチに配布する。各スイッチがこのフローテーブルにしたがってデータの送信経路を変更することにより、サービス連携アプリケーションの要求が充足される。このときのインタープリタ234のルール実行ログはログ記憶装置242に出力され、その結果によるOpenFlowコントローラ160の動作結果及びネットワークの状況は
図8のログサーバ162に蓄積された後、キャッシュDB170及びデータ送信モジュール172を経て一定時間おきに可視化装置174に送信される。可視化装置174は、この情報に基づいて、一定時間おきに、サービス連携の実行監視画面92、ルール実行ログ表示画面94、ネットワーク制御コマンド表示画面96及びネットワーク構成監視画面98の描画を更新する。この結果、DSN記述のルールの実行と、そのルールが関連する情報サービスのデータの物理線上の伝送状況とがほぼリアルタイムで表示される。同じ情報サービスに関連する情報は同じ色で表示されるため、ある情報サービスに対するデータ伝送の物理ネットワーク上のパスの対応関係と、その伝送状況とが分かりやすく表示される。ルールの実行ログとネットワーク制御コマンドとが、サービス連携の実行監視画面92及びネットワーク構成監視画面98でのデータ伝送の表示と同期して表示されるので、どのようなルールが実行され、その結果どのようにネットワークの構成が変更されたのかを容易に理解することもできる。
【0072】
このように、サービス連携アプリケーションでのデータの流れと、物理ネットワーク上でのデータの流れとが同期して、しかも互いの関係が分かりやすい形で表示される。そのためネットワークの管理者は、サービス連携アプリケーションと、物理ネットワークの挙動とを俯瞰的に監視できる。
【0073】
[ハードウェア構成]
上記実施の形態に係る可視化装置174は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行される上記したコンピュータプログラムとにより実現できる。
図11はこのコンピュータシステム330の外観を示し、
図12はコンピュータシステム330の内部構成を示す。
【0074】
図11を参照して、このコンピュータシステム330は、メモリポート352及びDVD(Digital Versatile Disc)ドライブ350を有するコンピュータ340と、キーボード346と、マウス348と、モニタ342とを含む。
【0075】
図12を参照して、コンピュータ340は、メモリポート352及びDVDドライブ350に加えて、CPU(中央処理装置)356と、CPU356、メモリポート352及びDVDドライブ350に接続されたバス366と、ブートプログラム等を記憶する読出専用メモリ(ROM)358と、バス366に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)360とを含む。コンピュータシステム330はさらに、他端末との通信を可能とするネットワークへの接続を提供するネットワークインターフェイス(I/F)344を含む。
【0076】
コンピュータシステム330を上記した実施の形態の可視化装置174の各機能部として機能させるためのコンピュータプログラムは、DVDドライブ350又はメモリポート352に装着されるDVD362又はリムーバブルメモリ364に記憶され、さらにハードディスク354に転送される。又は、プログラムはネットワーク368を通じてコンピュータ340に送信されハードディスク354に記憶されてもよい。プログラムは実行の際にRAM360にロードされる。DVD362から、リムーバブルメモリ364から、又はネットワーク368を介して、直接にRAM360にプログラムをロードしてもよい。
【0077】
このプログラムは、コンピュータ340を、上記実施の形態に係る可視化装置174の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ340にこの動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ340上で動作するオペレーティングシステム若しくはサードパーティのプログラム、又は、コンピュータ340にインストールされる各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供するようにしてもよい。
【0078】
上記実施の形態では、DSN記述232、インタープリタ234によるDSN記述のルール実行ログ、辞書240、及びパステーブル記憶部244等は、RAM360又はハードディスク354に記憶される。すなわち、
図9に示すDSN記憶部233及びログ記憶装置242等はRAM360又はハードディスクにより実現される。これらの値はさらに、USBメモリ等のリムーバブルメモリ364に記憶されてもよいし、ネットワーク等の通信媒体を介して他のコンピュータに送信されてもよい。
【0079】
コンピュータプログラムを実行する際のコンピュータシステム330の動作は周知である。したがってここではその詳細については繰返さない。
【0080】
上記実施の形態では、監視画面90にはサービス連携の実行監視画面92、ルール実行ログ表示画面94、ネットワーク制御コマンド表示画面96、及びネットワーク構成監視画面98を同時に表示している。その結果、ネットワークに関する情報が一時に俯瞰できるという効果を得ることができる。しかし本発明はそのような実施の形態には限定されない。例えばサービス連携の実行監視画面92とネットワーク構成監視画面98のみを同時に、かつ互いに同期して表示するようにしてもよい。さらに、これに追加してルール実行ログ表示画面94又はネットワーク制御コマンド表示画面96を追加して表示してもよいことはいうまでもない。
【0081】
また、上記実施の形態では、各サービス連携のグラフのエッジ色は、情報サービス間の通信パス設定コマンドを実行した際に、
図9に示されるOpenFlowコントローラ160からミドルウェア212に返されるパス識別子に基づいて決定している。しかし本発明はそのような実施の形態には限定されない。例えば、情報サービス間の通信パスの識別子をミドルウェア212が全て管理するようにし、OpenFlowコントローラ160には新たに設定すべき通信パスの識別子を実行パラメータとして渡すようにしてもよい。
【0082】
上記実施の形態では、ネットワーク構成の変更をソフトウェアにより制御するものとしてOpenFlowを採用している。しかし本発明はその様な実施の形態には限定されない。例えばPIAX等を採用することもできる。
【0083】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。