(57)【要約】【課題】ネットワークを稼働させつつ、当該ネットワークを構成する通信装置の設定更新を行う設定装置を提供する。【解決手段】設定装置は、パケットを転送する装置であって制御装置により制御される、複数の通信装置に関する設定更新を行う装置である。設定装置は、制御装置に対し、複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、指定された通信装置を複数の通信装置からなるネットワークから除外することを指示するトポロジ変更指示部を備える。設定装置は、設定更新の対象である通信装置がネットワークから除外された後に、設定更新の対象である通信装置の設定を更新する更新実行部を備える。上記トポロジ変更指示部は、設定更新の対象である通信装置の設定が更新された後に、制御装置に対して、除外された通信装置を前記ネットワークに復帰させる指示を行う。【選択図】図１
2017169044.tif 000002
【特許請求の範囲】
【請求項１】
パケットを転送する装置であって制御装置により制御される、複数の通信装置に関する設定更新を行う装置であって、
前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示するトポロジ変更指示部と、
前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新する更新実行部と、
を備え、
前記トポロジ変更指示部は、前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行う、
設定装置。
【請求項２】
前記制御装置に対して、前記ネットワークが正常であるか否かを問い合わせるネットワーク状態検査部を更に備え、
前記トポロジ変更指示部は、前記ネットワークが正常である場合に、前記設定更新の対象である通信装置を前記ネットワークから除外することを前記制御装置に対して指示する、請求項１の設定装置。
【請求項３】
前記ネットワーク状態検査部は、
前記除外された通信装置が前記ネットワークに復帰した後に、前記制御装置に対して、前記ネットワークが正常であるか否かを問い合わせ、
前記トポロジ変更指示部は、
前記除外された通信装置が復帰したネットワークが正常である場合に、前記設定更新の対象である通信装置の設定更新が正常に終了したと判断する、請求項２の設定装置。
【請求項４】
設定更新の対象である通信装置を指定し、前記指定された通信装置の設定更新を指示するコマンドを入力するためのインターフェースをユーザに提供する情報取得部を更に備える、請求項１乃至３のいずれか一項に記載の設定装置。
【請求項５】
前記ユーザによる前記通信装置の指定を可能とする管理番号と、前記複数の通信装置それぞれに固有の情報と、が関連付けて登録される、請求項４の設定装置。
【請求項６】
前記複数の通信装置それぞれに固有の情報として前記通信装置の個別アドレスを使用し、前記個別アドレスと前記複数の通信装置それぞれに割り当て可能なアドレスを対応付けて管理すると共に、前記割り当てたアドレスを前記通信装置に配布するアドレス配布部を更に備える、請求項５の設定装置。
【請求項７】
前記設定更新の対象である通信装置の設定を確認する更新対象検査部を更に備え、
前記トポロジ変更指示部は、
前記確認された設定と、前記設定更新の対象である通信装置に対して予め登録された設定と、が異なる場合に、前記制御装置に対して、通信装置を前記ネットワークから除外する指示を行う、請求項１乃至６のいずれか一項に記載の設定装置。
【請求項８】
パケットを転送する、複数の通信装置と、
前記複数の通信装置を制御する制御装置と、
前記複数の通信装置に関する設定更新を行う設定装置と、
を含み、
前記設定装置は、前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示し、
前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新し、
前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行う、
通信システム。
【請求項９】
パケットを転送する、複数の通信装置と、
前記複数の通信装置を制御する制御装置と、
を含むシステムにおいて、
前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示するステップと、
前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新するステップと、
前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行うステップと、
を含む、通信装置の設定更新方法。
【請求項１０】
パケットを転送する装置であって制御装置により制御される、複数の通信装置に関する設定更新を行う装置を制御するコンピュータに実行させるプログラムであって、
前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示する処理と、
前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新する処理と、
前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行う処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定装置、通信システム、通信装置の設定更新方法及びプログラムに関する。
【背景技術】
【０００２】
データセンタや企業等において運用されるキャンパスネットワーク（構内ネットワーク）では、多くのサーバやネットワーク装置（パケット転送装置；例えば、スイッチやルータ等の通信装置）が用いられている。また、近年、ハードウェアの構成を変更せず、ソフトウェアによる設定によりネットワークの構成を変更するＳＤＮ（Software Defined Networking）の利用が進んでいる。
【０００３】
非特許文献１、２にて、オープンフロー（Open Flow）という技術が提案され、このオープンフローに対応した制御装置（Controller）や転送装置（Switch）が利用されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化、帯域制御などを行うものである。現在、上記ＳＤＮの考えを取り入れたネットワークシステムが、大規模なデータセンタ等にて運用され始めている。
【０００４】
なお、非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Match Fields）と、フロー統計情報（Counters）と、処理内容を定義したインストラクション（Instructions）と、の組が定義される（非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２８（２０１６）年３月３日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２８（２０１６）年３月３日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【０００７】
サーバ、スイッチ等の通信装置をネットワークに導入する際、当該装置にソフトウェアのインストールやコンフィグレーションの設定（環境設定）を行う必要がある。さらに、当該装置がネットワークに導入された後においても、機能の追加や不具合の修正のために、ソフトウェアやコンフィグレーションの更新が行われることがある。
【０００８】
ここで、ネットワークを構成する装置のうち、サーバに関しては、動作中にコンフィグレーションを更新するような種々のソフトウェアが存在する。しかし、通信装置（ネットワーク装置）に関しては、このようなソフトウェアは存在しない。そのため、通信装置のソフトウェアやコンフィグレーションを更新する場合には、ネットワークに組み込まれた通信装置を停止し、ソフトウェア等の更新を行った後に当該装置の再起動を行う必要がある。しかし、ネットワークを構成する装置である通信装置（例えば、スイッチ、ルータ等）を無考慮に停止し、再起動すると、当該装置を経由する通信が遮断され、ネットワーク障害の要因となり得る。
【０００９】
このようなネットワーク障害を回避するため、通信装置を制御するためのコントローラと通信装置が分離されたネットワーク（例えば、オープンフロー技術によるネットワーク）においては、ネットワーク運用者がコントローラを直接操作（マニュアル操作）することにより、ネットワークトポロジを変更している。具体的には、ソフトウェア等の更新が行われる通信装置（停止、再起動がなされる装置）を含む経路を通らないように（例えば、冗長化された一方の経路が除外されるように）ネットワークトポロジが変更される。その上で、ネットワークの運用者が、通信装置の設定を管理する設定装置（コンフィグレーション装置）に対して、上記通信装置のソフトウェア更新やコンフィグレーションの更新を指示している。
【００１０】
設備導入時等のネットワークが稼働していない場合には、ソフトウェア更新等の対象となっている通信装置を含む経路を考慮する必要はなく、その場合には設定更新（ソフトウェア、コンフィグレーションの更新）の自動化は可能である。しかし、ネットワークが稼働している場合には、上記ネットワーク運用者によるコントローラのマニュアル操作がなければ、ネットワーク障害を引き起こしかねない。さらに、ネットワーク運用者によるマニュアル操作では、誤った経路を除外してしまう等のヒューマンエラーが生じる可能性があり、当該ヒューマンエラーによりネットワーク障害が発生する可能性もある。
【００１１】
このように、設定装置（コンフィグレーション装置）を用いた装置環境の更新は通常行われるものであるが、その際の事情がサーバ装置等の装置とルータ等の装置では異なっている。つまり、サーバ装置を設定更新（アップデート）するためにコンフィグレーション装置を用いる際には、当該サーバ装置を切断することで生じる影響だけを考慮すればよい。しかし、ネットワークを構成する通信装置（スイッチ）に関しては、当該装置を経由する経路の全体（ネットワークの全体）を考慮する必要がある。また、ネットワークに多数の通信装置が含まれる場合、ネットワークによっては、設定更新を行う全ての装置をデータが経由しないよう、一度にネットワークトポロジを変更することは困難である。従って、このような場合、１台又は限られた台数の通信装置のアップデートのたびに、人手によるネットワークトポロジの変更が必要となる。しかし、このような作業をマニュアルで実行すると、ヒューマンエラーを誘発し易いという問題がある。
【００１２】
本発明は、ネットワークを稼働させつつ、当該ネットワークを構成する通信装置の設定更新を行うことに寄与する、設定装置、通信システム、通信装置の設定更新方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、パケットを転送する装置であって制御装置により制御される、複数の通信装置に関する設定更新を行う装置であって、前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示するトポロジ変更指示部と、前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新する更新実行部と、を備え、前記トポロジ変更指示部は、前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行う、設定装置が提供される。
【００１４】
本発明の第２の視点によれば、パケットを転送する、複数の通信装置と、前記複数の通信装置を制御する制御装置と、前記複数の通信装置に関する設定更新を行う設定装置と、を含み、前記設定装置は、前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示し、前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新し、前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行う、通信システムが提供される。
【００１５】
本発明の第３の視点によれば、パケットを転送する、複数の通信装置と、前記複数の通信装置を制御する制御装置と、を含むシステムにおいて、前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示するステップと、前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新するステップと、前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行うステップと、を含む、通信装置の設定更新方法が提供される。
【００１６】
本発明の第４の視点によれば、パケットを転送する装置であって制御装置により制御される、複数の通信装置に関する設定更新を行う装置を制御するコンピュータに実行させるプログラムであって、前記制御装置に対し、前記複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、前記指定された通信装置を前記複数の通信装置からなるネットワークから除外することを指示する処理と、前記設定更新の対象である通信装置が前記ネットワークから除外された後に、前記設定更新の対象である通信装置の設定を更新する処理と、前記設定更新の対象である通信装置の設定が更新された後に、前記制御装置に対して、前記除外された通信装置を前記ネットワークに復帰させる指示を行う処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明の各視点によれば、ネットワークを稼働させつつ、当該ネットワークを構成する通信装置の設定更新を行うことに寄与する、設定装置、通信システム、通信装置の設定更新方法及びプログラムが、提供される。
【図面の簡単な説明】
【００１８】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る通信システムの構成の一例を示す図である。
【図３】第１の実施形態に係る設定装置のハードウェア構成の一例を示す図である。
【図４】第１の実施形態に設定装置の処理構成の一例を示すブロック図である。
【図５】管理台帳ファイルの一例を示す図である。
【図６】データベース構築部が生成する通信装置データベースの一例を示す図である。
【図７】第１の実施形態に係る制御装置の処理構成の一例を示すブロックである。
【図８】第１の実施形態に係る通信装置の処理構成の一例を示すブロック図である。
【図９】第１の実施形態に係る通信システムの動作の一例を示すシーケンス図である。
【図１０】第１の実施形態に係る通信システムの動作を説明するための図である。
【図１１】第１の実施形態に係る通信システムの動作を説明するための図である。
【図１２】第１の実施形態に係る通信システムの動作を説明するための図である。
【発明を実施するための形態】
【００１９】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００２０】
一実施形態に係る設定装置（コンフィグレーション装置）１００は、パケットを転送する装置であって制御装置により制御される、複数の通信装置に関する設定更新を行う装置である（図１参照）。設定装置１００は、制御装置に対し、複数の通信装置のうち、設定更新の対象である通信装置を指定しつつ、指定された通信装置を複数の通信装置からなるネットワークから除外することを指示するトポロジ変更指示部１０１を備える。設定装置１００は、設定更新の対象である通信装置がネットワークから除外された後に、設定更新の対象である通信装置の設定を更新する更新実行部１０２を備える。上記トポロジ変更指示部１０１は、設定更新の対象である通信装置の設定が更新された後に、制御装置に対して、除外された通信装置を前記ネットワークに復帰させる指示を行う。なお、本願開示において、設定更新には、少なくとも通信装置のソフトウェア及びコンフィグレーションを更新することが含まれる。
【００２１】
設定装置１００は、ネットワーク運用者が設定装置１００に指示を行うことにより通信装置のソフトウェア更新やコンフィグレーション更新を自動的に行う仕組みを提供する。具体的には、設定装置１００は、当該設定更新に係る処理を行う前に、ネットワークを制御する制御装置に指示を行うことによって、ネットワークトポロジを変更し、指定された通信装置を使用しないように経路を迂回させる処理を行う。その後、設定装置１００は、指定された通信装置の設定更新を実行した後、制御装置に指示を行うことによって、元のネットワークトポロジに復旧させる。これにより、当初のネットワークで流れている通信を止めることなく（即ち、ネットワークを運用しながら）、通信装置の設定更新が行える。その結果、ネットワーク障害の誘発が抑制され、且つ、ネットワーク運用者による操作が不要となるので、通信装置の設定更新に関するヒューマンエラーの撲滅や通信装置の設定更新の効率化が図れる。
【００２２】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００２３】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２４】
図２は、第１の実施形態に係る通信システムの構成の一例を示す図である。図２を参照すると、通信システムは、設定装置１０と、制御装置２０と、通信装置３０−１〜３０−６と、端末４０−１〜４０−４と、を含んで構成される。なお、図２の構成は例示であって、通信装置や端末の数を限定する趣旨ではない。また、以降の説明において、通信装置３０−１〜３０−６や端末４０−１〜４０−４を区別する特段の理由がない場合には、単に「通信装置３０」や「端末４０」のように表記する。
【００２５】
図２に示す通信システムは、制御装置２０（コントローラ）が、通信装置３０（ルータ、スイッチ等のパケット転送装置）を集中的に制御する、ＳＤＮ技術が適用されたネットワークを構成する。図２に示す通信システムには、例えば、データセンタ内のネットワークが想定され、当該ネットワークに対して設定装置１０（コンフィグレーション装置）が導入されている。
【００２６】
設定装置１０は、通信装置３０−１〜３０−６と制御装置２０と接続されている。制御装置２０は、通信装置３０−１〜３０−６と接続されている。設定装置と他の装置や制御装置２０と通信装置３０は、セキュアチャンネルを介して接続される。
【００２７】
設定装置１０は、複数の通信装置３０それぞれの装置に関する設定更新等の処理を行う装置である。より具体的には、設定装置１０は、制御装置２０とのインターフェースを備え、当該制御装置２０に対して種々の指示を行う。また、設定装置１０は、通信装置３０とのインターフェースを備え、当該通信装置３０のソフトウェアやコンフィグレーションの更新（アップデート）を行う装置でもある。
【００２８】
制御装置２０は、複数の通信装置３０を制御する装置である。具体的には、制御装置２０は、通信装置３０に対して処理規則を設定することで、パケットのフローを制御する（データの流れる経路を指定する）。
【００２９】
通信装置３０は、パケットを転送する装置である。通信装置３０は、制御装置２０から設定される処理規則に従って、受信パケットを処理する（パケットを転送する）。通信装置３０は、制御装置２０から設定された処理規則に合致しないパケットを受信すると、当該受信パケットを制御装置２０に送信し、処理規則の設定を依頼する。当該依頼を受けた制御装置２０は、上記受信パケットを処理するための処理規則を生成し、当該処理規則を通信装置３０に設定する。
【００３０】
端末４０は、通信の端点となる装置である。端末４０には、例えば、データセンタにおけるコンピュータサーバ装置が該当する。
【００３１】
［ハードウェアの構成］
次に、設定装置１０のハードウェア構成について説明する。
【００３２】
図３は、第１の実施形態に係る設定装置１０のハードウェア構成の一例を示す図である。設定装置１０は、情報処理装置（コンピュータ）により構成可能であり、図３に例示する構成を備える。例えば、設定装置１０は、内部バスにより相互に接続される、ＣＰＵ（Central Processing Unit）１１、メモリ１２、入出力インターフェース１３及び通信手段であるＮＩＣ（Network Interface Card）１４等を備える。
【００３３】
なお、図３に示す構成は、設定装置１０のハードウェア構成を限定する趣旨ではない。設定装置１０は、図示しないハードウェアを含んでもよい。さらに、設定装置１０に含まれるＣＰＵ等の数も図３の例示限定する趣旨ではなく、例えば、複数のＣＰＵが設定装置１０に含まれていてもよい。
【００３４】
メモリ１２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）である。
【００３５】
入出力インターフェース１３は、図示しない表示装置や入力装置のインターフェースとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。また、タッチパネル等のように表示装置と入力装置が一体となったインターフェースでもよい。
【００３６】
なお、他の装置（制御装置２０、通信装置３０、端末４０）のハードウェア構成も上記設定装置１０の構成と基本的に同じであり、当業者にとって明らかなものであるため、その説明を省略する。
【００３７】
［設定装置１０の構成］
図４は、第１の実施形態に設定装置１０の処理構成の一例を示すブロック図である。図４を参照すると、設定装置１０は、通信制御部２０１と、記憶部２０２と、情報取得部２０３と、アドレス配布部２０４と、データベース構築部２０５と、設定更新処理部２０６と、を含んで構成される。
【００３８】
上記の各処理モジュールは、例えば、メモリ１２に格納されたプログラムをＣＰＵ１１
が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び／又は、ソフトウェアで実行する手段があればよい。
【００３９】
通信制御部２０１は、設定装置１０と他の装置（制御装置２０、通信装置３０）間の通信を制御する手段である。通信制御部２０１は、パケットを受信すると各種処理モジュールに振り分ける、又は、処理モジュールからパケットを取得すると他の装置に向けてパケットを送信する。
【００４０】
記憶部２０２は、各種情報を記憶する手段である。具体的には、記憶部２０２は、ネットワーク運用者が設定装置１０に予め入力するファイルデータ（初期データ）を配置する領域を備える。また、記憶部２０２には、データベース構築部２０５によりデータベース（後述する通信装置データベース）が構築される。
【００４１】
情報取得部２０３は、ネットワーク運用者に対して情報入力のインターフェースを提供する手段である。具体的には、情報取得部２０３は、ネットワーク運用者からネットワークの運用に必要な情報を予め入力する。
【００４２】
ネットワーク運用者は、設定装置１０に接続されたデバイス（表示デバイス、操作デバイス）や図示しない端末を用いて、設定装置１０に必要な情報を入力する。例えば、ネットワーク運用者は、管理台帳ファイル、コンフィグレーションテンプレートファイル、通信装置３０にインストールするソフトウェアファイル群等に係る初期データを予め設定装置１０に入力する。
【００４３】
管理台帳ファイルとは、通信装置３０ごとに異なるパラメータが記載されたものであり、例えば、スプレッドシートの形式を有するファイルである。各通信装置３０のパラメータには、通信装置３０を特定するための管理番号、通信装置３０のインターフェースから得られるＭＡＣ（Media Access Control）アドレス、ソフトウェアバージョン及びコンフィグレーション（環境設定の内容）が、少なくとも含まれる（図５参照）。
【００４４】
なお、管理台帳ファイルに記載されるソフトウェアバージョンやコンフィグレーションは、ネットワークで稼働中の通信装置３０に適用したいソフトウェアバージョンやコンフィグレーションを規定する情報である。例えば、図５の１行目は、管理番号が「１」により特定される通信装置３０は、そのソフトウェアバージョンが「Ｖ＿０１」、コンフィグレーションの内容が「Ｃｏｎｆ＿０１」と管理されることを示す。
【００４５】
情報取得部２０３は、ネットワーク運用者が入力する上記初期データを、記憶部２０２に格納する。
【００４６】
情報取得部２０３は、ネットワーク運用者からのコマンドを受け付け、当該コマンドの処理結果を応答する手段でもある。具体的には、ネットワーク運用者は、後述する通信装置データベースの構築に係るコマンドや、通信装置３０の設定更新に係るコマンドを設定装置１０に入力する。情報取得部２０３は、入力されたコマンドを設定装置１０の各種処理モジュールに割り振り、当該コマンドの処理を依頼し、その処理結果をネットワーク運用者に応答する。
【００４７】
アドレス配布部２０４は、通信装置３０の個別アドレス（例えば、ＭＡＣアドレス）と各通信装置３０に割り当て可能なアドレス（例えば、ＩＰ（Internet Protocol）アドレス）を対応付けて管理し、個別アドレスの取得に応じてアサイン可能なアドレスを通信装置３０に配布する手段である。即ち、アドレス配布部２０４は、所謂、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバとしての機能を提供する手段である。つまり、設定装置１０は、複数の通信装置３０それぞれに固有の情報として通信装置３０の個別アドレスを使用し、個別アドレスと複数の通信装置それぞれに割り当て可能なアドレスを対応付けて管理すると共に、割り当てたアドレスを通信装置３０に配布する手段を有する。
【００４８】
また、アドレス配布部２０４は、管理台帳ファイルに記載された管理番号と通信装置３０に割り振られたＩＰアドレスの対応に係る情報を、制御装置２０に提供する。上記情報（管理番号とＩＰアドレスの対応関係）を取得した制御装置２０は、設定装置１０から管理番号を取得することで、各通信装置３０を一意に特定できるようになる。制御装置２０は、設定装置１０から、ネットワーク運用者（ユーザ）による通信装置３０の指定を可能とする管理番号と、複数の通信装置３０それぞれに固有の情報（ＭＡＣアドレス）と、が関連付けられた情報を取得するためである。
【００４９】
データベース構築部２０５は、情報取得部２０３がネットワーク運用者から管理台帳ファイル等を取得すると、通信装置３０を管理するための通信装置データベースを記憶部２０２に構築する手段である。データベース構築部２０５は、情報取得部２０３を介して通信装置データベース構築に係るコマンドを受信した際に起動する。
【００５０】
通信装置データベースの構築の際、データベース構築部２０５は、管理台帳ファイルに記載された「ソフトウェアバージョン」に対応するソフトウェアファイル（プログラムの実体ファイル）を記憶部２０２のソフトウェアファイル群から特定する。さらに、データベース構築部２０５は、記憶部２０２のコンフィグレーションテンプレートファイルに記載された数値（パラメータ）を、管理台帳ファイルに記載された「コンフィグレーション」に記載された数値に置き替え、対応するコンフィグレーションファイルを生成する。その後、データベース構築部２０５は、管理番号と、上記特定されたソフトウェアファイルと、上記生成されたコンフィグレーションファイルと、をそれぞれ対応付け、１つのエントリとして通信装置データベースに登録する（図６参照）。データベース構築部２０５は、通信装置３０−１〜３０−６に関して上記作業を行い、通信装置データベースの構築を行う。
【００５１】
上述のように、ネットワーク管理者は、通信装置３０の設定更新に係るコマンドを設定装置１０に入力する。その際、情報取得部２０３は、設定更新の対象である通信装置を指定し、当該指定された通信装置の設定更新を指示するコマンドを入力するためのインターフェースをネットワーク管理者に提供する。
【００５２】
設定更新処理部２０６は、情報取得部２０３を介して取得した通信装置の設定更新に係るコマンドを処理する手段である。設定更新処理部２０６は、更新対象検査部２１１と、ネットワーク状態検査部２１２と、トポロジ変更指示部２１３と、更新実行部２１４と、からなるサブモジュールを備える。なお、通信装置の設定更新に係るコマンドには、通信装置の設定を更新する（ソフトウェア、コンフィグレーションを更新する）旨の情報と、設定更新を行う通信装置を指定する情報（管理台帳ファイルの管理番号）と、が含まれる。あるいは、各通信装置３０がどのソフトウェア（どのバージョンのソフトウェア）を使用するかを指定できてもよい。
【００５３】
更新対象検査部２１１は、上記コマンドにより指定される通信装置３０の設定を検査する手段である。より詳細には、更新対象検査部２１１は、指定された通信装置３０（複数の通信装置３０が指定された場合には、そのうちの１台）のソフトウェアバージョン、コンフィグレーションを調査する。
【００５４】
更新対象検査部２１１は、指定された通信装置３０に対して、自装置のソフトウェアバージョンやコンフィグレーションを報告するように指示する。更新対象検査部２１１は、通信装置３０から応答を取得すると、記憶部２０２に格納された管理台帳ファイル（図５参照）と、通信装置３０からの応答と、に基づき、コマンドにより指定された通信装置３０のソフトウェア更新やコンフィグレーション更新が必要か否かを判定する。
【００５５】
具体的には、更新対象検査部２１１は、管理台帳ファイルを参照し、指定された通信装置３０の「ソフトウェアバージョン」と「コンフィグレーション」を取得する。その後、更新対象検査部２１１は、当該取得した情報と、通信装置３０から取得した情報と、を比較し、両者が異なれば、ソフトウェア更新やコンフィグレーション更新が必要であると判定する。
【００５６】
なお、通信装置３０のソフトウェアを更新する際には、当該通信装置３０の再起動が必要であり、コンフィグレーションを更新する場合にも、その内容によっては通信装置３０の再起動が必要となる。そこで、更新対象検査部２１１は、通信装置３０の設定更新（ソフトウェア及び又はコンフィグレーションの更新）が必要か否かと、当該通信装置３０を再起動する必要があるか否かと、に関する判定を行う。
【００５７】
なお、更新対象検査部２１１による通信装置３０のソフトウェアバージョン、コンフィグレーションを確認する動作を、「ドライラン」と表記し以降の説明を行う。
【００５８】
更新対象検査部２１１は、通信装置３０の設定更新が少なくとも必要であると判定した場合には、上記判定結果（設定更新の詳細、再起動の必要性）をネットワーク状態検査部２１２に通知する。
【００５９】
ネットワーク状態検査部２１２は、制御装置２０により制御されている通信装置３０からなるネットワークが正常か否かを検査する手段である。具体的には、ネットワーク状態検査部２１２は、制御装置２０に対し、ネットワークは正常であるか否かを問い合わせる。
【００６０】
問い合わせの結果、ネットワークが正常（各通信装置３０が正常に稼働）である旨の応答を取得した場合に、ネットワーク状態検査部２１２は、その旨（ネットワークは正常）をトポロジ変更指示部２１３に通知する。一方、ネットワークが異常（少なくとも１台の通信装置３０が正常に稼働していない）である旨の応答を取得した場合には、ネットワーク状態検査部２１２は、その旨（ネットワークは異常）を情報取得部２０３に通知する。通知を受けた情報取得部２０３は、ネットワーク運用者による通信装置３０の設定更新に係るコマンド入力は正常に処理されなかった旨の応答を行う。
【００６１】
トポロジ変更指示部２１３は、通信装置３０からなるネットワークのトポロジを変更するように制御装置２０に対して指示する手段である。具体的には、トポロジ変更指示部２１３は、ネットワーク状態検査部２１２から「ネットワークは正常」である旨の通知を受けた場合に、制御装置２０に対し、複数の通信装置３０のうち、設定更新の対象である通信装置３０を指定しつつ、指定された通信装置３０を複数の通信装置３０からなるネットワークから除外することを指示する。なお、トポロジ変更指示部２１３は、ネットワークから除外する通信装置３０の指定に、管理台帳ファイルに記載された管理番号を用いる。
【００６２】
また、トポロジ変更指示部２１３は、ネットワークから除外することを指示した通信装置３０を記憶しておく（当該装置の管理番号を記憶する）。
【００６３】
制御装置２０は、上記指示を設定装置１０（トポロジ変更指示部２１３）から受信すると、指定された通信装置３０を除外するようにネットワークのトポロジを変更する。その結果、通信システムでは、ネットワークからの除外が指定された通信装置３０にパケットが転送されないようになる。
【００６４】
トポロジ変更指示部２１３は、制御装置２０から通信装置３０の除外処理が正常に終了した旨の応答を得た場合には、その旨を更新実行部２１４に通知する。一方、トポロジ変更指示部２１３は、制御装置２０から通信装置３０の除外処理が正常に終了しなかった旨の応答を得た場合には、その旨を情報取得部２０３に通知する。その場合、情報取得部２０３は、ネットワーク運用者に対して、取得したコマンドは正常に処理されなかった旨の応答を行う。
【００６５】
更新実行部２１４は、通信装置３０の設定更新（ソフトウェア更新、コンフィグレーション更新）を実行する手段である。より具体的には、更新実行部２１４は、トポロジ変更指示部２１３から上記通知（通信装置３０の除外処理が正常終了）を受信すると、記憶部２０２に構築された通信装置データベース（図６参照）において、管理番号をキーとして更新対象となる通信装置３０を検索する。
【００６６】
更新実行部２１４は、検索されたエントリのソフトウェアファイル、コンフィグレーションファイルを更新対象の通信装置３０に送信し、当該ファイルを用いた更新を指示する。通信装置３０は、取得したソフトウェアファイル、コンフィグレーションファイルを用いてソフトウェア、コンフィグレーションの更新を行う。このように、更新実行部２１４は、設定更新の対象である通信装置３０がネットワークから除外された後に、当該通信装置３０の設定を更新する。
【００６７】
その後、更新実行部２１４は、通信装置３０に対して再起動を指示する。あるいは、通信装置３０が自発的に再起動を行ってもよい。
【００６８】
更新実行部２１４は、通信装置３０の設定更新が正常に終了したと判断した場合には、その旨を更新対象検査部２１１に通知する。当該通知を受けた更新対象検査部２１１は、上述のドライランを実行し、更新実行部２１４によるソフトウェア、コンフィグレーションの更新が成功したことを確認する。ソフトウェア等の更新が成功すると、更新対象検査部２１１は、その旨をトポロジ変更指示部２１３に通知する。
【００６９】
当該通知を受けたトポロジ変更指示部２１３は、先に記憶した、ネットワークから除外する通信装置３０を指定して、当該通信装置３０をネットワークに復帰させる旨の指示を制御装置２０に対して行う。つまり、トポロジ変更指示部２１３は、設定更新の対象である通信装置３０の設定が更新された後に、制御装置２０に対して、除外された通信装置３０をネットワークに復帰させる指示を行う。当該指示が正常に処理されることにより、ネットワークから除外された通信装置３０にパケットが転送されるようになる。
【００７０】
制御装置２０からネットワークトポロジの変更が正常に終了した旨の応答を得た場合に、トポロジ変更指示部２１３は、その旨をネットワーク状態検査部２１２に通知する。
【００７１】
ネットワーク状態検査部２１２は、ネットワークが正常であるか否かを制御装置２０に問い合わせる。制御装置２０から、ネットワークは正常である旨の応答を得た場合には、ネットワーク状態検査部２１２は、その旨を情報取得部２０３に通知する。当該通知を受けた情報取得部２０３は、通信装置３０の設定更新に係るコマンドに対する応答（肯定応答）を、ネットワーク運用者に行う。つまり、ネットワーク状態検査部２１２は、除外された通信装置３０がネットワークに復帰した後に、制御装置２０に対して、ネットワークが正常であるか否かを問い合わせる。そして、設定装置１０は、ネットワークが正常である旨の応答を制御装置２０から得た場合に、設定更新の対象である通信装置３０の設定更新が正常に終了したと判断する。
【００７２】
［制御装置２０の構成］
図７は、第１の実施形態に係る制御装置２０の処理構成の一例を示すブロックである。図７を参照すると、制御装置２０は、通信制御部３０１と、記憶部３０２と、ネットワーク制御部３０３と、を含んで構成される。
【００７３】
通信制御部３０１は、制御装置２０と他の装置（設定装置１０、通信装置３０）間の通信を制御する手段である。通信制御部３０１は、パケットを受信すると各種処理モジュールに振り分ける、又は、処理モジュールからパケットを取得すると他の装置に向けてパケットを送信する。また、通信制御部３０１は、通信装置３０の管理番号とＩＰアドレスの対応に係る情報を設定装置１０から取得した場合には、当該情報を記憶部３０２に格納し、他の処理モジュールが参照可能な状態とする。
【００７４】
記憶部３０２は、各種情報を記憶する手段である。記憶部３０２には、ネットワーク運用者等から通信装置３０からなるネットワークのトポロジに関する情報（例えば、通信装置３０間のリンク情報）が予め登録されている。あるいは、制御装置２０が、通信装置３０から情報を取得し、ネットワークトポロジを自動生成してもよい。
【００７５】
ネットワーク制御部３０３は、通信システムに含まれる通信装置３０からなるネットワークを制御し、管理する手段である。ネットワーク制御部３０３は、転送経路計算部３１１と、処理規則設定部３１２と、ネットワーク状態確認部３１３と、トポロジ変更部３１４と、からなるサブモジュールを備える。
【００７６】
転送経路計算部３１１は、通信装置３０からなるネットワークのパケットの転送経路を計算する手段である。具体的には、転送経路計算部３１１は、通信装置３０から処理規則の設定依頼を受信すると、記憶部３０２に格納されたネットワークトポロジに基づいて、受信パケットのパケット転送経路を計算する。転送経路計算部３１１は、計算したパケット転送経路を記憶部３０２に登録する。
【００７７】
処理規則設定部３１２は、通信装置３０に処理規則を設定する手段である。より具体的には、処理規則設定部３１２は、転送経路計算部３１１にて計算されたパケット転送経路に基づき、通信装置３０の各々に設定する処理規則を生成すると共に、生成した処理規則を通信装置３０にそれぞれ設定する。
【００７８】
ネットワーク状態確認部３１３は、上述の設定装置１０からの問い合わせ（ネットワークが正常か否かに関する問い合わせ）を処理する手段である。上記問い合わせを受信したネットワーク状態確認部３１３は、配下の全ての通信装置３０又は主要な通信装置３０に対して死活を問い合わせる信号を送信し、各通信装置３０の稼働状態（各通信装置は有効・無効）を確認する。個別の通信装置３０に関する死活を確認した後、ネットワーク状態確認部３１３は、全ての通信装置３０又は主要な通信装置３０から稼働状態は正常である旨の応答を受信した場合に、設定装置１０に対して「ネットワークは正常」である旨の応答を行う。一方、通信装置３０が稼働していない場合や主要な通信装置３０が稼働していない場合には、ネットワーク状態確認部３１３は、設定装置１０に対して「ネットワークは異常」である旨の応答を行う。
【００７９】
トポロジ変更部３１４は、上述の設定装置１０からの指示（指定された通信装置３０をネットワークから除外する又は復帰させる指示）を処理する手段である。
【００８０】
設定装置１０から通信装置３０を除外する旨の指示を受信すると、トポロジ変更部３１４は、記憶部３０２に格納されているネットワークトポロジに関する情報を変更する。具体的には、トポロジ変更部３１４は、指定された通信装置３０が他の通信装置３０との間に有するリンクを切断し、ネットワークトポロジを更新する。その後、トポロジ変更部３１４は、記憶部３０２に格納されているパケット転送経路であって、除外された通信装置３０の影響を受けるパケット転送経路の再計算を転送経路計算部３１１に指示する。処理規則設定部３１２は、再計算されたパケット転送経路に応じた処理規則を通信装置３０に設定する。
【００８１】
トポロジ変更部３１４は、指定された通信装置３０を除外したネットワークにおいて、パケット転送経路の再計算と処理規則の設定が正常に終了した場合に、設定装置１０からの指示は正常に処理された旨の応答（肯定応答）を行う。一方、トポロジ変更部３１４は、上記パケット転送経路の再計算等が正常に終了しなかった場合には、設定装置１０からの指示は正常に処理できなかった旨の応答（否定応答）を行う。
【００８２】
また、設定装置１０から通信装置３０をネットワークに復帰させる旨の指示を受信すると、トポロジ変更部３１４は、通信装置３０を復帰させたネットワークトポロジの構築と、当該ネットワークトポロジに対応した処理規則の設定を転送経路計算部３１１、処理規則設定部３１２に指示する。
【００８３】
なお、トポロジ変更部３１４は、予め計算されたパケット転送経路のうち、除外される通信装置３０の影響を受けるパケット転送経路を再計算し、対応する処理規則を通信装置３０に設定することで、ネットワークを維持することを説明した。しかし、トポロジ変更部３１４による通信装置３０の除外とネットワークの維持は、当該方法に限定されず、種々の方法を採用することができる。例えば、トポロジ変更部３１４は、国際公開第２０１４／０５７９７７号に開示された迂回処理を使うなどして異なる通信装置を経由したり、冗長化された構成であれば冗長化された片側を使ったりしてもよい。即ち、除外する通信装置３０にデータが入力されないようにネットワークトポロジが変更されれば、どのような手法を使用してもよい。
【００８４】
図７に示した制御装置２０は、非特許文献１、２に記載されたオープンフローコントローラに、上記したネットワーク状態確認機能、トポロジ変更機能を追加することで実現できる。
【００８５】
［通信装置３０の構成］
図８は、第１の実施形態に係る通信装置３０の処理構成の一例を示すブロック図である。図８を参照すると、通信装置３０は、通信制御部４０１と、テーブル管理部４０２と、記憶部４０３と、転送処理部４０４と、設定確認部４０５と、設定更新部４０６と、を含んで構成されている。
【００８６】
通信制御部４０１は、通信装置３０と他の装置（設定装置１０、制御装置２０）間の通信を制御する手段である。通信制御部４０１は、パケットを受信すると各種処理モジュールに振り分ける、又は、処理モジュールからパケットを取得すると他の装置に向けてパケットを送信する。
【００８７】
テーブル管理部４０２は、記憶部４０３に記憶されているテーブルを管理する手段である。より具体的には、テーブル管理部４０２は、制御装置２０から指示された処理規則（制御情報）をテーブルデータベースに登録し、転送処理部４０４から新規パケットを受信したことを通知されると、制御装置２０に対し、処理規則の設定を要求する。なお、上記テーブルデータベースは、転送処理部４０４が受信パケットの処理を行う際に参照するテーブルを１つ以上格納可能なデータベースによって構成される。
【００８８】
転送処理部４０４は、テーブル検索部４１１と、アクション実行部４１２と、からなるサブモジュールを備える。テーブル検索部４１１は、テーブルデータベースに格納されたテーブルから、受信パケットに適合するマッチフィールドを持つ処理規則を検索する手段である。アクション実行部４１２は、テーブル検索部４１１にて検索された処理規則のインストラクションフィールドに示す処理内容に従ってパケット処理を行う手段である。また、転送処理部４０４は、受信パケットに適合するマッチフィールドを持つ処理規則が見つからなかった場合は、その旨をテーブル管理部４０２に通知する。
【００８９】
テーブル管理部４０２は、受信パケットに対応する処理規則が存在しない場合、通信制御部４０１を介して制御装置２０に対し、処理規則の設定を要求する。
【００９０】
設定確認部４０５は、上述の設定装置からの指示（自装置のソフトウェアバージョンやコンフィグレーションを報告する指示）を処理する手段である。設定確認部４０５は、ソフトウェア版数の比較や、ファイル自体の照合により、自身のソフトウェアバージョンやコンフィグレーションを特定し、設定装置１０に応答する。
【００９１】
設定更新部４０６は、設定装置１０から提供されるソフトウェアファイル、コンフィグレーションファイルを用いて、自装置のソフトウェアやコンフィグレーションを更新（アップデート）する手段である。具体的には、設定更新部４０６は、ＨＤＤ等の記憶媒体に記憶されたソフトウェアファイル、コンフィグレーションファイルを提供されたファイルにより書き換え、自装置の設定更新を行う。
【００９２】
図８に示した通信装置３０は、非特許文献１、２に記載されたオープンフロースイッチに、上記した設定確認機能、設定更新機能を追加することで実現できる。
【００９３】
［通信システムの動作］
次に、第１の実施形態に係る通信システムの動作について説明する。
【００９４】
図９は、第１の実施形態に係る通信システムの動作の一例を示すシーケンス図である。
【００９５】
設定装置１０は、ネットワーク運用者からの初期データを入力する（ステップＳ１０１）。具体的には、ネットワーク運用者は、管理台帳ファイル、コンフィグレーションテンプレートファイル、通信装置３０にインストールするソフトウェアファイル群を設定装置１０に配置する。
【００９６】
設定装置１０は、ネットワーク運用者からのコマンド投入に応じて、通信装置データベースを構築する（ステップＳ１０２）。具体的には、設定装置１０は、ステップＳ１０１にて入力された情報から、各通信装置３０に設定するソフトウェアファイル、コンフィグレーションファイルを準備し、通信装置データベースを構築する。
【００９７】
その後、設定装置１０は、アドレス配布部２０４を起動し、各通信装置３０に割り当てるアドレス（例えば、ＩＰアドレス）と各通信装置３０固有のアドレス（例えば、ＭＡＣアドレス）との対応を登録する（ステップＳ１０３）。
【００９８】
上記ステップＳ１０１〜Ｓ１０３の手順により、設定装置１０の初期設定が完了する。
【００９９】
次に、通信装置３０の設定更新に関する手順を説明するが、通信装置３０の設定更新（通信装置３０のアップデート）に関する契機としては、通信装置３０から起動する場合と、ネットワーク運用者が設定装置１０にコマンドにて指示する方法が考えられる。第１の実施形態では、ネットワーク運用者が、設定装置１０にコマンドを用いて通信装置３０の設定更新を指示する方法を説明する。しかし、通信装置３０から起動する場合であっても、以下に説明する方法が適用可能なことは勿論である。
【０１００】
設定装置１０は、ネットワーク運用者からのコマンド（通信装置３０の設定更新に係るコマンド）を入力する（ステップＳ１０４）。上記コマンドにより指示される内容は、通信装置３０の設定を更新する旨の指示、及び、１つ又は複数の通信装置３０を指定する番号である。通信装置３０を指定する番号には、管理台帳ファイルにより一意に指定され、通信装置データベースに登録されている管理番号が用いられる。なお、通信装置３０の設定更新（通信装置３０のアップデート）とは、ステップＳ１０２にて設定装置１０が生成した通信装置データベースにより整理された状態に通信装置３０がなるような設定更新を意味する。
【０１０１】
設定更新に係るコマンドを受信すると、設定装置１０は、指定された通信装置３０に対して上述のドライランを実行する（ステップＳ１０５）。具体的には、設定装置１０は、指定された通信装置３０（群）から１つの通信装置３０を選択し、当該通信装置３０の現在のソフトウェア、コンフィグレーションを調査する指示を行う。なお、ドライランの実行により、指定された通信装置３０のソフトウェアのアップデートの要否と、コンフィグレーション更新の要否が判明する。また、ソフトウェアのアップデートが必要な場合はネットワーク装置の再起動が必要であり、コンフィグレーションの変更が必要な場合に、通信装置３０の再起動が必要か否かも判明する。
【０１０２】
ここでは、図９を参照し、通信装置３０のソフトウェア及びコンフィグレーションの更新が必要な場合について説明する。つまり、「自動的なネットワークトポロジ変更」と通信装置３０の再起動を伴う場合の動作を説明する。
【０１０３】
設定装置１０は、ステップＳ１０５による結果に応じて、通信装置３０の設定更新を実行する。設定装置１０はステップＳ１０２において生成した通信装置データベースによって、ネットワーク内に存在する全ての通信装置３０を認識している。そこで、設定装置１０は、これらの通信装置３０それぞれに関する稼働状態を確認する。具体的には、設定装置１０は、制御装置２０に対して、ネットワークが正常か否かを問い合わせる（ステップＳ１０６）。本ステップを実行することにより、設定装置１０は、無効（異常）な通信装置３０が存在せず、ネットワークが正常であることを確認できる。
【０１０４】
その後、設定装置１０は、制御装置２０に対して、通信装置３０の管理番号をパラメータとし、当該通信装置３０をネットワークから除外する旨の指示を行う（ステップＳ１０７）。設定装置１０から制御装置２０に対して上記指示が行われることにより、制御装置２０によりネットワークトポロジが修正される。その結果、データ通信は指定された通信装置３０を通らないようになる。
【０１０５】
設定装置１０は、指定された通信装置３０に対し、設定更新を指示する（ステップＳ１０８）。設定装置１０が通信装置３０の再起動を行うか、又は、通信装置３０が自発的（自動的）に再起動する。
【０１０６】
その後、設定装置１０は、再びドライランを実行（ステップＳ１０９）することにより、ステップＳ１０８による通信装置３０の設定更新が成功したことを確認する。
【０１０７】
ステップＳ１０９にて、設定装置１０が通信装置３０の正常性を確認した後、設定装置１０は、制御装置２０に対し、通信装置３０の管理番号をパラメータとして、当該通信装置３０をネットワークに復帰させる旨の指示を行う（ステップＳ１１０）。即ち、設定装置１０は、先に除外された通信装置３０を指定し、当該通信装置３０をネットワークに復帰させる指示を、制御装置２０に行う。当該処理により、ネットワークトポロジが修復され、データ通信は経路を切り替える前の通信装置を通るようになる。
【０１０８】
その後、設定装置１０は、ステップＳ１０６と同様に、ネットワークが正常か否かを制御装置２０に問い合わせる（ステップＳ１１１）。つまり、設定装置１０は、通信装置３０それぞれに関する「装置が有効か、無効か」を確認する。当該処理により、設定装置１０は、無効な通信装置３０が存在せず、ネットワークが正常であることを確認し、通信装置３０の設定更新に係るコマンドの処理を完了する。
【０１０９】
なお、図９におけるステップＳ１０５〜Ｓ１１１までの処理は、１台の通信装置３０に関する設定更新に係る処理であるので、ステップＳ１０４において複数の通信装置３０が指定された場合には、対応する台数分の処理が繰り返される。例えば、図２を参照すると、通信装置３０−１、３０−２、３０−３からなる３台の通信装置３０の設定更新がコマンド入力により指示された場合には、設定装置１０は、通信装置３０−１の設定更新が終了した後に、順次、通信装置３０−２、３０−３の設定更新を行う。
【０１１０】
次に、図１０〜図１２を参照しつつ、第１の実施形態に係る通信システムの動作を具体的に説明する。
【０１１１】
図１０には、ネットワーク運用者から、通信装置３０の設定更新に係るコマンドが入力される前のパケット転送経路が示される。例えば、端末４０−１から送信されたパケットは、通信装置３０−１、３０−２、３０−６というパケット転送経路を経て端末４０−４に到達する。
【０１１２】
図１０に示す状態から、ネットワーク運用者が、通信装置３０−２を指定して、当該通信装置の設定更新に係るコマンドを入力した際のパケット転送を例示する図が、図１１と図１２である。
【０１１３】
上記コマンドを受け付けると、設定装置１０は、通信装置３０−２を指定して、当該装置をネットワークから除外するように、制御装置２０に指示する。当該指示により、制御装置２０は、通信装置３０−２を除外したネットワークトポロジを新たに構築する。その結果、端末４０−１から送信されたパケットは、通信装置３０−１、３０−５、３０−６というパケット転送経路により、端末４０−４に到達する（図１１参照）。つまり、設定装置１０からの上記指示により、通信装置３０−２は、稼働中のネットワークから一時的に切り離され、除外された状態となる（図１２参照）。
【０１１４】
当該状態においては、通信装置３０−２が正常に稼働していなくとも、ネットワークの運用は継続可能である。従って、通信装置３０−２の設定更新に伴う再起動等が発生しても、ネットワーク障害が発生することはない。
【０１１５】
ネットワークから除外された通信装置３０−２の設定更新が実行され、当該装置の再起動が行われると、通信装置３０−２はネットワークに復帰可能な状態となる。通信装置３０−２がネットワークに復帰可能な状態となると、設定装置１０は、制御装置２０に対して、通信装置３０−２をネットワークに復帰させる指示を行う。ネットワークトポロジの再変更が制御装置２０により実行されると、パケット転送経路は、図１０に示す状態に復帰する。
【０１１６】
以上のように、第１の実施形態に係る、通信システムでは、制御装置２０（コントローラ）と通信装置３０（スイッチ）が分離された構成において、制御装置２０に設けたインターフェースに対して設定装置１０が指示をすることで、データ通信（パケットを収容するフロー）が設定更新の対象となる通信装置を経由しないように経路除外するようなトポロジ変更を行う。その際、設定装置１０は、必要な処理である通信装置３０のアップデートを完了し、その正常性を確認した後、制御装置２０に設けたインターフェースに設定装置１０が指示することにより、ネットワークトポロジを復旧させ、上記通信装置を通る経路を復旧する。即ち、第１の実施形態に係る設定装置１０は、設定更新の対象となっている通信装置３０だけでなく、ネットワーク全体を考慮しつつ、一連の更新シーケンスを実行している。その際、当該更新シーケンスは人手を介すことなく自動的に行われ、設定装置１０が、制御装置２０とのインターフェースを操作する際に必要な、通信装置３０を一意に示す管理番号と通信装置３０のアドレスを紐づけして一致させ、意図した通信装置３０の除外を可能としている。換言するならば、第１の実施形態により、通信装置３０とそれを制御する制御装置２０からなる冗長化された、又は、冗長化されていないネットワークにおいて、設定装置１０が１つ又は複数の制御装置２０（ネットワークが仮想化されている場合のオーケストレータを含む）に指示することでネットワークトポロジを切り替えることができるネットワークシステムが提供される。なお、上記の冗長化には、通信装置の二重化や、通信装置を複数台用いたリンクアグリゲーションなどが含まれる。
【０１１７】
上記説明したように、ネットワークの運用中に、当該ネットワークの運用者が、特定の通信装置３０のソフトウェア、コンフィグレーションの更新が自動的に実行可能となる。その際、対象となる通信装置３０はネットワークから除外されているので、ネットワーク障害が発生することもなく（ネットワーク内に流れる通信を止めることなく）、通信装置３０のアップデート処理を正常に実行することができる。また、第１の実施形態に係る通信装置の設定更新方法を使用することで、多数の通信装置が存在する場合であっても、ネットワーク運用者は、一度にまとめてアップデートの指示を設定装置１０に行うことができる。設定装置１０が都度、トポロジの変更と復旧を行うため、処理の最中に人手を介する必要がないためである。その結果、通信装置３０の設定更新に要するリソースが削減できると共に、ヒューマンエラーを削減することができる。
【０１１８】
［変形例］
第１の実施形態にて説明した通信システムは例示であって、システムの構成を限定する趣旨ではない。例えば、第１の実施形態では、コントローラとスイッチ（パケット転送装置）が分離されたＳＤＮの考えによる構成を主に説明した。しかし、既存のネットワーク、例えば、ＯＳＰＦ（Open Shortest Path First）などのルーティングプロトコルが動作するＩＰネットワークであってもよい。その際、コンフィグレーション装置は当該ネットワーク装置（ルータ）とインターフェースし、ネットワークを運用しながらルーティングプロトコルの設定を変更することによって、当該ネットワーク装置をデータ通信が経由しないようにする。その結果、当該ネットワーク装置が使われないように経路除外できる。コンフィグレーション装置による処理が終了した後は当該設定を元通りに回復させる。
【０１１９】
第１の実施形態では、通信装置と管理番号を一意に紐づけるための情報としてＭＡＣアドレスを用いて説明したが、他の情報（通信装置に固有な名前、番号）であってもよい。
【０１２０】
第１の実施形態では、通信装置群へのアドレス配布方式としてＤＨＣＰを想定して説明したが、他の方式、例えば、ＢＯＯＴＰ（Bootstrap Protocol）など任意のアドレス配布方式を用いることができる。
【０１２１】
設定装置１０は、ＳＤＮの環境においては、物理的又は機能的に制御装置２０に同梱されていてもよい。
【０１２２】
また、設定装置１０および制御装置２０は、例えば、ＮＦＶ（Network Functions Virtualization）を用いて、汎用サーバ上に仮想的にその機能を構築することもできる。
【０１２３】
第１の実施形態では、制御装置２０は１台である場合を説明したが、ネットワークを構成するために複数台の制御装置２０がある場合は、当該複数台の制御装置２０に対して指示が行われてもよい。
【０１２４】
第１の実施形態では、制御装置２０に対して指示を行ったが、ネットワーク上に複数台の制御装置を管理する、又は、ネットワークシステムを管理するオーケストレータがある場合は、当該オーケストレータに対して指示が行われてもよい。
【０１２５】
上記の説明により、本発明の産業上の利用可能性は明らかであるが、本発明は、データセンタ、企業・キャンパスネットワークなど、ネットワーク装置（スイッチ）が多数配備される環境において好適に適用可能である。とりわけ、ＳＤＮの考えを用いて構成されるネットワークに好適である。つまり、大規模なデータセンタなどが有する、多くの通信装置の設定更新を、人手を介さずに更新したいという要望を満たし、大規模なデータセンタを運営する顧客などにとって高い付加価値を備える通信システムを提供できる。
【０１２６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
上述の第１の視点に係る設定装置のとおりである。
［付記２］
前記制御装置に対して、前記ネットワークが正常であるか否かを問い合わせるネットワーク状態検査部を更に備え、
前記トポロジ変更指示部は、前記ネットワークが正常である場合に、前記設定更新の対象である通信装置を前記ネットワークから除外することを前記制御装置に対して指示する、付記１の設定装置。
［付記３］
前記ネットワーク状態検査部は、
前記除外された通信装置が前記ネットワークに復帰した後に、前記制御装置に対して、前記ネットワークが正常であるか否かを問い合わせ、
前記トポロジ変更指示部は、
前記除外された通信装置が復帰したネットワークが正常である場合に、前記設定更新の対象である通信装置の設定更新が正常に終了したと判断する、付記２の設定装置。
［付記４］
設定更新の対象である通信装置を指定し、前記指定された通信装置の設定更新を指示するコマンドを入力するためのインターフェースをユーザに提供する情報取得部を更に備える、付記１乃至３のいずれか一に記載の設定装置。
［付記５］
前記ユーザによる前記通信装置の指定を可能とする管理番号と、前記複数の通信装置それぞれに固有の情報と、が関連付けて登録される、付記４の設定装置。
［付記６］
前記複数の通信装置それぞれに固有の情報として前記通信装置の個別アドレスを使用し、前記個別アドレスと前記複数の通信装置それぞれに割り当て可能なアドレスを対応付けて管理すると共に、前記割り当てたアドレスを前記通信装置に配布するアドレス配布部を更に備える、付記５の設定装置。
［付記７］
前記設定更新の対象である通信装置の設定を確認する更新対象検査部を更に備え、
前記トポロジ変更指示部は、
前記確認された設定と、前記設定更新の対象である通信装置に対して予め登録された設定と、が異なる場合に、前記制御装置に対して、通信装置を前記ネットワークから除外する指示を行う、付記１乃至６のいずれか一に記載の設定装置。
［付記８］
上述の第２の視点に係る通信システムのとおりである。
［付記９］
上述の第３の視点に係る通信装置の設定更新方法のとおりである。
［付記１０］
上述の第４の視点に係るプログラムのとおりである。
なお、付記８〜付記１０の形態は、付記１の形態と同様に、付記２の形態〜付記７の形態に展開することが可能である。
【０１２７】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１２８】
１０、１００  設定装置
１１  ＣＰＵ（Central Processing Unit）
１２  メモリ
１３  入出力インターフェース
１４  ＮＩＣ（Network Interface Card）
２０  制御装置
３０、３０−１〜３０−６  通信装置
４０、４０−１〜４０−４  端末
１０１、２１３  トポロジ変更指示部
１０２、２１４  更新実行部
２０１、３０１、４０１  通信制御部
２０２、３０２、４０３  記憶部
２０３  情報取得部
２０４  アドレス配布部
２０５  データベース構築部
２０６  設定更新処理部
２１１  更新対象検査部
２１２  ネットワーク状態検査部
３０３  ネットワーク制御部
３１１  転送経路計算部
３１２  処理規則設定部
３１３  ネットワーク状態確認部
３１４  トポロジ変更部
４０２  テーブル管理部
４０４  転送処理部
４０５  設定確認部
４０６  設定更新部
４１１  テーブル検索部
４１２  アクション実行部
【図１】
2017169044.tif 000003
【図２】
2017169044.tif 000004
【図３】
2017169044.tif 000005
【図４】
2017169044.tif 000006
【図５】
2017169044.tif 000007
【図６】
2017169044.tif 000008
【図７】
2017169044.tif 000009
【図８】
2017169044.tif 000010
【図９】
2017169044.tif 000011
【図１０】
2017169044.tif 000012
【図１１】
2017169044.tif 000013
【図１２】
2017169044.tif 000014