(57)【要約】  制御装置は、トポロジ情報とフロー情報を保持するネットワーク管理部と、スイッチをコアスイッチとエッジスイッチに分割するネットワーク分割部と、コアスイッチから成るコアネットワークのトポロジ情報を保持するコアネットワーク管理部と、エッジスイッチから成るエッジネットワークのトポロジ情報を保持するエッジネットワーク管理部と、コアネットワークのトポロジ情報を用いてフロー情報を生成してコアネットワーク管理部に格納するコア制御ロジックと、エッジネットワークのトポロジ情報を用いてフロー情報を生成してエッジネットワーク管理部に格納するエッジ制御ロジックを備え、コアネットワークまたはエッジネットワークのフロー情報の生成に応じてネットワーク管理部が保持するフロー情報を更新する。エッジスイッチとコアスイッチを操作する制御ロジックを独立に実装可能とする。
2015080092.tif 000002
【特許請求の範囲】
【請求項１】
複数のスイッチから成るネットワークのトポロジ情報およびフロー情報を保持するネットワーク管理部と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割するネットワーク分割部と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報を保持するコアネットワーク管理部と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報を保持するエッジネットワーク管理部と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納するコア制御ロジックと、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納するエッジ制御ロジックと、を備え、
前記ネットワーク分割部は、前記コア制御ロジックによる前記コアネットワークのフロー情報の生成、または、前記エッジ制御ロジックによる前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する、ネットワーク制御装置。
【請求項２】
前記ネットワーク分割部により分割されたエッジスイッチとコアスイッチを接続するリンクを示す情報を保持する境界リンク情報テーブルを備える、請求項１に記載のネットワーク制御装置。
【請求項３】
前記コア制御ロジックは、前記コアネットワークに対する通信フローを受け付けると、前記コアネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する、請求項２に記載のネットワーク制御装置。
【請求項４】
前記ネットワーク分割部は、前記コアネットワーク管理部が保持するフロー情報が更新されると、更新されたフロー情報を前記ネットワーク管理部に格納し、更新されたフロー情報のマッチ条件に含まれる入力ポート、アクションに含まれる出力ポート、および、前記境界リンク情報テーブルを参照して、更新されたフロー情報に相当する通信フローに対する前記エッジネットワークの端点となる２つのポートを導出し、導出した２つのポートを結ぶリンクを表す情報をリンク情報として前記エッジネットワーク管理部に格納する、請求項３に記載のネットワーク制御装置。
【請求項５】
前記エッジ制御ロジックは、前記エッジネットワークに対する通信フローを受け付けると、前記エッジネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する、請求項２ないし４のいずれか１項に記載のネットワーク制御装置。
【請求項６】
前記ネットワーク分割部は、前記エッジネットワーク管理部が保持するフロー情報が更新された場合に、更新されたフロー情報に相当する通信フローが、前記リンク情報が表すリンクを経由するとき、該リンクの両端において該通信フローを分割し、分割された通信フローに対するフロー情報を前記ネットワーク管理部に格納する、請求項５に記載のネットワーク制御装置。
【請求項７】
前記ネットワーク分割部は、前記複数のスイッチのうちの、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、前記複数のスイッチ以外のノードにリンクで接続されたポートを有するスイッチを、論理的なリンクで互いに接続された論理的なエッジスイッチと論理的なコアスイッチに分割し、論理的なエッジスイッチおよび論理的なコアスイッチをそれぞれ前記エッジネットワーク管理部および前記コアネットワーク管理部に格納し、論理的なリンクを前記境界リンク情報テーブルに格納する、請求項２ないし６のいずれか１項に記載のネットワーク制御装置。
【請求項８】
複数のスイッチと、
前記複数のスイッチを制御するネットワーク制御装置と、を備え、
前記ネットワーク制御装置は、複数のスイッチから成るネットワークのトポロジ情報およびフロー情報を保持するネットワーク管理部と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割するネットワーク分割部と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報を保持するコアネットワーク管理部と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報を保持するエッジネットワーク管理部と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納するコア制御ロジックと、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納するエッジ制御ロジックと、を備え、
前記ネットワーク分割部は、前記コア制御ロジックによる前記コアネットワークのフロー情報の生成、または、前記エッジ制御ロジックによる前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する、ネットワークシステム。
【請求項９】
コンピュータが、複数のスイッチから成るネットワークのトポロジ情報およびフロー情報をネットワーク管理部に保持する工程と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割する工程と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報をコアネットワーク管理部に保持する工程と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報をエッジネットワーク管理部に保持する工程と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する工程と、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する工程と、
前記コアネットワークのフロー情報の生成、または、前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する工程と、を含む、ネットワーク制御方法。
【請求項１０】
複数のスイッチから成るネットワークのトポロジ情報およびフロー情報をネットワーク管理部に保持する処理と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割する処理と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報をコアネットワーク管理部に保持する処理と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報をエッジネットワーク管理部に保持する処理と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する処理と、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する処理と、
前記コアネットワークのフロー情報の生成、または、前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する処理と、をコンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−２４３９７３号（２０１３年１１月２６日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ネットワーク制御装置、ネットワークシステム、ネットワーク制御方法、および、プログラムに関し、特に、トラヒックを転送するスイッチを集中管理するネットワーク制御装置、ネットワークシステム、ネットワーク制御方法、および、プログラムに関する。
【背景技術】
【０００２】
集中管理型のネットワークシステムの一例が、特許文献１に記載されている。このネットワークシステムは、トラヒックを転送するスイッチと、スイッチを管理・制御するコントローラを備えている。【０００３】
特許文献１に記載されたネットワークシステムは、次のように動作する。すなわち、コントローラは、管理下のスイッチで構成されるネットワークのトポロジを検出して各スイッチにノードＩＤ（Identifier）を割当て、中継用スイッチとなるコアスイッチにはマッチ条件の宛先情報にノードＩＤを指定し、アクションを指定ポートへの出力とするフローエントリを登録する。また、コントローラは、端末を検出してユーザＩＤを割当てておき、出力側のエッジスイッチにはマッチ条件の宛先情報にユーザＩＤを指定し、アクションとしてユーザＩＤから端末の宛先情報に書き戻すフローエントリを設定する。さらに、コントローラは、入力側のエッジスイッチにはマッチ条件として宛先情報、アクションとして宛先情報に宛先のノードＩＤとユーザＩＤを記載するフローエントリを設定する。このように、コントローラは、コアスイッチとエッジスイッチに対して、異なる種類のフローエントリを登録する。【０００４】
また、他の集中管理型のネットワークシステムの例が、非特許文献１に記載されている。このネットワークシステムは、入口エッジスイッチ（Ingress Edge Switch）と出口エッジスイッチ（Egress Edge Switch）を管理・制御するエッジコントローラ（Edge Controller）と、ファブリック要素（Fabric Elements）を管理・制御するファブリックコントローラ（Fabric Controller）と、入口スイッチ（Ingress Switch）に接続され、トラヒックを送信する送信元ホスト（Src Host）と、出口スイッチ（Egress Switch）に接続され、トラヒックを受信する宛先ホスト（Dst Host）とを備えている。【０００５】
非特許文献１に記載された集中管理型ネットワークシステムは、次のように動作する。すなわち、ファブリックコントローラ（Fabric Controller）は、ファブリック要素（Fabric Elements）で構成されたネットワークにてトラヒックの転送サービスを提供するために、ファブリック要素（Fabric Elements）の管理・制御を行う。一方、エッジコントローラ（Edge Controller）は、エッジスイッチ（Edge Switch）にてより高機能なネットワークサービス（セキュリティ、アイソレーション、モビリティなど）を提供するために、エッジスイッチ（Edge Switch）の管理・制御を行う。したがって、送信元ホスト（Src Host）が入口エッジスイッチ（Ingress Edge Switch）にパケットを送信すると、エッジコントローラ（Edge Controller）は、入口エッジスイッチ（Ingress Edge Switch）がそのパケットに対して指定されたネットワークサービスを適用してからパケットの宛先となる出口エッジスイッチ（Egress Edge Switch）に向けてパケットを送信するために、ファブリック要素（Fabric Elements）での宛先となるアドレス、または、経路識別子を付与してパケットを送信させる。次に、ファブリックコントローラ（Fabric Controller）は、入口エッジスイッチ（Ingress Edge Switch）で付与されたファブリック要素（Fabric Elements）内での宛先アドレス、または、経路識別子に従って目的の出口エッジスイッチ（Egress Edge Switch）まで転送する。最後に、エッジコントローラ（Edge Controller）は、出口エッジスイッチ（Egress Edge Switch）を用いて、入口エッジスイッチ（Ingress Edge Switch）で付与した宛先アドレスや経路識別子を除去して宛先ホスト（Dst Host）に転送する。なお、非特許文献１には、上記のファブリック要素（Fabric Elements）内での宛先アドレス、または、経路識別子の付与について、アドレス変換とカプセル化の２種類の方式が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１２／０９６１３１号
【非特許文献】
【０００７】
【非特許文献１】Martin Casado, Teemu Koponen, Scott Shenker, and Amin Tootoonchian, "Fabric: A Retrospective on Evolving SDN," HotSDN'12, August 13, 2012, Helsinki, Finland.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。【０００９】
特許文献１に記載された方式によると、コントローラのフローエントリの制御ロジックが複雑になるという問題がある。その理由は、上記の制御ロジックは、フローエントリを制御する対象のスイッチがネットワークトポロジ上、コアスイッチであるかエッジスイッチであるかに応じて、振る舞いを変えなければならないからである。【００１０】
一方、非特許文献１に記載された方式によると、ネットワークをエッジとコアに分割する手続きを再帰的に行うことができないという問題がある。その理由は、制御ロジックを有するエッジコントローラ（Edge Controller）とファブリックコントローラ（Fabric Controller）に分割しているからである。例えば、ファブリック要素（Fabric Elements）の中をエッジスイッチ（Edge Switch）とファブリック要素（Fabric Elements）にさらに再帰的に分割するためには、ファブリックコントローラ（Fabric Controller）に新たな分割処理を実装しなければならない。【００１１】
したがって、エッジスイッチとコアスイッチを操作する制御ロジックを独立に実装しやすくし、ネットワークをエッジスイッチから成るネットワーク（以下「エッジネットワーク」という。）と、コアスイッチから成るネットワーク（以下「コアネットワーク」という。）の２つのネットワークに再帰的に分割できるようにすることが要望される。本発明の目的は、かかる要望に寄与するネットワーク制御装置、ネットワークシステム、ネットワーク制御方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の視点に係るネットワーク制御装置は、
複数のスイッチから成るネットワークのトポロジ情報およびフロー情報を保持するネットワーク管理部と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割するネットワーク分割部と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報を保持するコアネットワーク管理部と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報を保持するエッジネットワーク管理部と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納するコア制御ロジックと、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納するエッジ制御ロジックと、を備え、
前記ネットワーク分割部は、前記コア制御ロジックによる前記コアネットワークのフロー情報の生成、または、前記エッジ制御ロジックによる前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する。【００１３】
本発明の第２の視点に係るネットワークシステムは、
複数のスイッチと、
前記複数のスイッチを制御するネットワーク制御装置と、を備え、
前記ネットワーク制御装置は、複数のスイッチから成るネットワークのトポロジ情報およびフロー情報を保持するネットワーク管理部と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割するネットワーク分割部と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報を保持するコアネットワーク管理部と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報を保持するエッジネットワーク管理部と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納するコア制御ロジックと、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納するエッジ制御ロジックと、を備え、
前記ネットワーク分割部は、前記コア制御ロジックによる前記コアネットワークのフロー情報の生成、または、前記エッジ制御ロジックによる前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する。【００１４】
本発明の第３の視点に係るネットワーク制御方法は、
コンピュータが、複数のスイッチから成るネットワークのトポロジ情報およびフロー情報をネットワーク管理部に保持する工程と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割する工程と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報をコアネットワーク管理部に保持する工程と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報をエッジネットワーク管理部に保持する工程と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する工程と、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する工程と、
前記コアネットワークのフロー情報の生成、または、前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する工程と、を含む。【００１５】
本発明の第４の視点に係るプログラムは、
複数のスイッチから成るネットワークのトポロジ情報およびフロー情報をネットワーク管理部に保持する処理と、
前記トポロジ情報に基づいて、前記複数のスイッチをコアスイッチとエッジスイッチに分割する処理と、
前記コアスイッチから成るコアネットワークのトポロジ情報およびフロー情報をコアネットワーク管理部に保持する処理と、
前記エッジスイッチから成るエッジネットワークのトポロジ情報およびフロー情報をエッジネットワーク管理部に保持する処理と、
前記コアネットワークのトポロジ情報に基づいて前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する処理と、
前記エッジネットワークのトポロジ情報に基づいて前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する処理と、
前記コアネットワークのフロー情報の生成、または、前記エッジネットワークのフロー情報の生成に応じて、前記ネットワーク管理部が保持するフロー情報を更新する処理と、をコンピュータに実行させる。
なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することができる。
【発明の効果】
【００１６】
本発明に係るネットワーク制御装置、ネットワークシステム、ネットワーク制御方法、および、プログラムによると、エッジスイッチとコアスイッチを操作する制御ロジックを独立に実装しやすくし、ネットワークをエッジネットワークとコアネットワークの２つのネットワークに再帰的に分割することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態に係るネットワークシステムの構成を一例として示すブロック図である。
【図２】第１の実施形態に係るネットワークシステムの構成として、エッジかつコアスイッチを含む場合の構成を一例として示す図である。
【図３】第１の実施形態に係るネットワークシステムの動作を一例として示すフロー図である。
【図４】第１の実施形態において、ネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図５】第１の実施形態において、エッジネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図６】第１の実施形態において、コアネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図７】第１の実施形態において、境界リンク情報テーブルに登録された境界リンクを一例として示す図である。
【図８】第１の実施形態において、ネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図９】第１の実施形態において、エッジネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図１０】第１の実施形態において、コアネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図１１】第２の実施形態に係るネットワークシステムの構成を一例として示す図である。
【図１２】第２の実施形態に係るネットワークシステムにおけるコントローラの構成を一例として示すプロック図である。
【図１３】第２の実施形態において、ネットワーク管理部５３１に登録されたネットワーク情報を一例として示す図である。
【図１４】第２の実施形態において、ＴｏＲネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図１５】第２の実施形態において、ネットワーク管理部５３３に登録されたネットワーク情報を一例として示す図である。
【図１６】第２の実施形態において、境界リンク情報テーブル５５１に登録された境界リンクを一例として示す図である。
【図１７】第２の実施形態において、集約ネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図１８】第２の実施形態において、コアネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図１９】第２の実施形態において、境界リンク情報テーブル５５２に登録された境界リンクを一例として示す図である。
【図２０】第２の実施形態において、ネットワーク管理部５３１に登録されたネットワーク情報を一例として示す図である。
【図２１】第２の実施形態において、ＴｏＲネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図２２】第２の実施形態において、ネットワーク管理部５３３に登録されたネットワーク情報を一例として示す図である。
【図２３】第２の実施形態において、集約ネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【図２４】第２の実施形態において、コアネットワーク管理部に登録されたネットワーク情報を一例として示す図である。
【発明を実施するための形態】
【００１８】
はじめに、本発明の概要について説明する。なお、本概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
図１を参照すると、ネットワークシステムは、ネットワークの通信フローを、エッジスイッチのフローと、コアネットワークのフローをそれぞれ独立に制御するネットワーク制御装置（コントローラ１０）を備えている。ネットワーク制御装置は、ネットワーク管理部３１、エッジ制御ロジック４１、エッジネットワーク管理部３２、コア制御ロジック４２、コアネットワーク管理部３３、ネットワーク分割部２１、および、境界リンク情報テーブル５１を備えている。
【００２０】
エッジネットワーク管理部３２は、エッジ制御ロジック４１から制御されるエッジスイッチ（例えば、図１のスイッチ１０１、１０３）で構成されたエッジネットワークのトポロジ情報やフロー情報を含むネットワーク情報を保持する。一方、コアネットワーク管理部３３は、コア制御ロジック４２から制御されるコアスイッチ（例えば、図１のスイッチ１０２）で構成されたコアネットワークのトポロジ情報やフロー情報を含むネットワーク情報を保持する。ネットワーク分割部２１は、ネットワーク管理部３１に登録されたネットワーク情報を、エッジとコアに分割して、それぞれ、エッジネットワーク管理部３２、コアネットワーク管理部３３に登録し、さらに、エッジネットワーク管理部３２またはコアネットワーク管理部３３の情報が更新された場合に、元のネットワーク管理部３１の情報を更新する。
【００２１】
ネットワーク制御装置（コントローラ１０）は、ネットワーク分割部２１によって更新された元のネットワーク管理部３１のネットワーク情報に基づいてスイッチ１０１〜１０３の制御を行う。
【００２２】
また、ネットワーク分割部２１は、ネットワーク管理部３１に登録されたスイッチのうち、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、他のポートにはリンクが存在しないスイッチをコアスイッチ（例えば、図１のスイッチ１０２、図２のスイッチ６０２、６０４）と判定し、他のスイッチとリンクで接続されたポートが０または１つ存在し、かつ、他にリンクが存在するポートを持ったスイッチをエッジスイッチ（例えば、図１のスイッチ１０１、１０２、図２のスイッチ６０１、６０５）と判定し、他のスイッチとリンクで接続されたポートが２つ以上持ち、かつ、他にリンクが存在するポートを１つ以上持ったスイッチをエッジかつコアスイッチ（例えば、図２のスイッチ６０３）と判定してもよい。さらに、ネットワーク分割部２１は、判定の結果、エッジスイッチをエッジネットワークのネットワーク情報としてエッジネットワーク管理部３２に登録し、コアスイッチをコアネットワークのネットワーク情報としてコアネットワーク管理部３３に登録し、さらに、この分割に際して、エッジスイッチとコアスイッチの境界となったリンク情報（例えば、図１のリンク６１、６２を示す情報）を境界リンク情報テーブル５１（図７参照）に登録する。
【００２３】
また、図２を参照すると、ネットワーク分割部２１は、エッジかつコアスイッチ（図２のスイッチ６０３）については、論理的なエッジスイッチ（図２の６０３ａ）とコアスイッチ（図２のスイッチ６０３ｂ）の２つのスイッチに分割し、それぞれ、エッジネットワーク管理部３２、コアネットワーク管理部３３に登録する。さらに、ネットワーク分割部２１は、論理的なエッジスイッチとコアスイッチ間に論理的なリンクを生成して、境界リンク情報テーブル５１に登録する。
【００２４】
また、ネットワーク分割部２１は、コアネットワーク管理部３３にフロー情報が登録された場合、そのフロー情報を元のネットワーク管理部３１に登録し、そのフロー情報のマッチ条件から入力ポート、アクション、境界リンク情報テーブルから、エッジネットワーク管理部３２が保持するエッジネットワークの端点となる２つのポート（図１のスイッチ１０１のポート１、スイッチ１０３のポート１）を導出し、導出したポートをエッジネットワークのリンク（例えば、図９のlink1）としてエッジネットワーク管理部３２に登録する。
【００２５】
さらに、ネットワーク分割部２１は、エッジネットワーク管理部３２にフロー情報が登録された場合、そのフロー情報に相当する通信フローが経由するリンクのうち、境界リンク情報テーブル５１に登録されたリンクを経由する場合、当該リンクの両端で通信フローを分割し、分割後の通信フローを元のネットワーク管理部３１に登録する。また、ネットワーク分割部２１は、エッジネットワーク管理部３２およびコアネットワーク管理部３３で行われたネットワーク情報の更新をネットワーク管理部３１に対しても適用する。
【００２６】
かかる構成を有するネットワークシステムによると、エッジネットワークとコアネットワークを制御する制御ロジックをより独立（ないし、疎結合）にすることができる。その理由は、ネットワーク分割部２１がエッジネットワーク管理部３２およびコアネットワーク管理部３３に登録した情報には、それぞれ、エッジスイッチに関する情報およびコアスイッチに関する情報しか含まれず、また、コアスイッチとエッジスイッチの境界に関する情報は、境界リンク情報テーブル５１で管理されている。したがって、エッジネットワーク管理部３２が保持する情報と境界リンク情報テーブル５１を利用すればエッジネットワークの制御ロジックを構築でき、一方、コアネットワーク管理部３３が保持する情報と境界リンク情報テーブル５１を利用すればコアネットワークの制御ロジックを構築することができるからである。
【００２７】
さらに、上記構成を有するネットワークシステムによると、ネットワーク分割部２１を再帰的に適用することが可能になる。その理由は、ネットワーク分割部２１はネットワーク管理部３１に対して適用可能であり、その出力もまたネットワーク管理部３１に対するネットワーク情報の更新となるからである。
【００２８】
以上より、一実施形態に係るネットワークシステムによると、ネットワーク分割モジュールを適用することで、ネットワーク制御装置のフローエントリの制御ロジックが複雑化することを防ぐことができ、さらに、ネットワーク分割モジュールを再帰的に適用することも可能となる。
【００２９】
＜実施形態１＞
次に、第１の実施形態に係るネットワークシステムについて、図面を参照して詳細に説明する。
【００３０】
［構成］
図１を参照すると、本実施形態のネットワークシステムは、プログラム制御により動作するコンピュータ（中央処理装置、プロセッサ、データ処理装置）を含むコントローラ１０と、コントローラ１０から制御されるスイッチ１０１〜１０３と、端末２０１、２０２とを備えている。
【００３１】
コントローラ１０は、ネットワーク管理部３１と、ネットワーク分割部２１、エッジネットワーク管理部３２、コアネットワーク管理部３３、エッジ制御ロジック４１、コア制御ロジック４２、および、境界リンク情報テーブル５１を備えている。
【００３２】
ネットワーク管理部３１は、スイッチ１０１〜１０３から構成されたネットワークのトポロジやフロー、または、それらの状態（以下「ネットワーク情報」という。）を管理する。ネットワーク分割部２１は、ネットワーク管理部３１が管理するネットワーク情報をエッジとコアの２つに分割し、エッジネットワークに関するネットワーク情報をエッジネットワーク管理部３２に格納し、一方、コアネットワークに関するネットワーク情報をコアネットワーク管理部３３に格納する。また、ネットワーク分割部２１は、エッジネットワーク管理部３２とコアネットワーク管理部３３への分割に際して境界となったリンクの情報を境界リンク情報テーブル５１に格納する。
【００３３】
ここで、トポロジ情報は、ノード、ポート、リンクとこれらに付随する状態等の属性情報を含む。一方、フロー情報は、あるノードのポートからあるノードのポートへの通信フローのマッチ条件、経由するリンク情報、ノードで実行されるパケットへのアクションの一覧を含む。
【００３４】
これらの各部は、概略次のように動作する。
【００３５】
コントローラ１０は、スイッチ１０１〜１０３を検出し、さらに、それらの間の接続リンクを検出してトポロジ情報を構築し、フローエントリの情報からフロー情報を構築し、これらの状態情報をまとめてネットワーク情報としてネットワーク管理部３１に登録する。また、コントローラ１０は、ネットワーク管理部３１に対して行われた更新情報に基づいて、スイッチ１０１〜１０３を制御する。
【００３６】
ここで、ネットワーク分割部２１は、各スイッチがエッジネットワークに属するか、コアネットワークに属するかを次のように判定する。
【００３７】
すなわち、ネットワーク分割部２１は、ネットワーク管理部３１に登録されたスイッチのうち、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、他のポートにはリンクが存在しないスイッチ（図１のスイッチ１０２）をコアスイッチと判定する。また、ネットワーク分割部２１は、他のスイッチとリンクで接続されたポートが０または１つ存在し、かつ、他にリンクが存在するポートを有するスイッチ（図１のスイッチ１０１、１０３）をエッジスイッチと判定する。さらに、ネットワーク分割部２１は、他のスイッチとリンクで接続されたポートが２つ以上有し、かつ、他にリンクが存在するポートを１つ以上有するスイッチ（例えば、図２のスイッチ６０３）をエッジかつコアスイッチと判定する。
【００３８】
ネットワーク分割部２１は、このように判定した結果、エッジスイッチ１０１、１０３をエッジネットワークのネットワーク情報としてエッジネットワーク管理部３２に登録し、コアスイッチ１０２をコアネットワークのネットワーク情報としてコアネットワーク管理部３３に登録し、さらに、この分割に際して、エッジスイッチとコアスイッチの境界となったリンク情報（リンク６１、６２を示す情報）を境界リンク情報テーブル５１に登録する。
【００３９】
ここで、ネットワーク分割部２１は、エッジかつコアスイッチについては、図２に示すように、論理的なエッジスイッチ６０３ａとコアスイッチ６０３ｂの２つのスイッチに分割し、それぞれ、エッジネットワーク管理部３２およびコアネットワーク管理部３３に登録する。さらに、ネットワーク分割部２１は、論理的なエッジスイッチ６０３ａとコアスイッチ６０３ｂ間に論理的なリンクを生成して、生成したリンクの情報を境界リンク情報テーブル５１に登録する。
【００４０】
コアネットワーク管理部３３にフロー情報が登録された場合、ネットワーク分割部２１は、登録されたフロー情報を元のネットワーク管理部３１に登録し、登録されたフロー情報のマッチ条件に含まれる入力ポート、アクションに含まれる出力ポート、および、境界リンク情報テーブル５１を参照し、エッジネットワーク管理部３２が管理するエッジネットワークの端点となる２つのポートを導出し、導出した２つのポートをエッジネットワークのリンクとしてエッジネットワーク管理部３２に登録する。
【００４１】
一方、エッジネットワーク管理部３２にフロー情報が登録された場合、ネットワーク分割部２１は、登録されたフロー情報に相当する通信フローが境界リンク情報テーブル５１に登録されたリンクを経由する場合、当該リンクの両端で通信フローを分割し、分割された通信フローに対するフロー情報を元のネットワーク管理部３１に登録する。
【００４２】
また、ネットワーク分割部２１は、エッジネットワーク管理部３２とコアネットワーク管理部３３で行われたネットワーク情報の更新をネットワーク管理部３１に対しても適用する。
【００４３】
上記のような機能を備えたネットワーク分割部２１は、ネットワーク管理部３１に登録されたネットワーク情報のうち、エッジネットワークに関する情報をエッジネットワーク管理部３２、コアネットワークに関する情報をコアネットワーク管理部３３に登録し、境界リンク情報を境界リンク情報テーブル５１に登録する。
【００４４】
コア制御ロジック４２は、コアネットワーク管理部３３に登録されたトポロジ情報と境界リンク情報テーブル５１の情報に基づいてフロー情報を生成し、生成したフロー情報をコアネットワーク管理部３３に登録する。
【００４５】
一方、エッジ制御ロジック４１は、エッジネットワーク管理部３２に登録されたトポロジ情報と境界リンク情報テーブル５１の情報に基づいてフロー情報を生成し、生成したフロー情報をエッジネットワーク管理部３２に登録する。
【００４６】
上記の各部が相互に作用することで、最終的にネットワーク管理部３１にすべてのフロー情報が蓄積され、コントローラ１０による実際のスイッチ１０１〜１０３の制御が可能となる。また、エッジ制御ロジック４１はエッジネットワーク管理部３２が管理するネットワーク情報の範囲で制御ロジックを実現でき、一方、コア制御ロジック４２はコアネットワーク管理部３３が管理するネットワーク情報の範囲で制御ロジックを実現することができる。さらに、ネットワーク分割部２１がネットワーク管理部３１に対して適用可能で、かつ、ネットワーク分割部２１がネットワーク情報を異なるネットワーク管理部（エッジネットワーク管理部３２、コアネットワーク管理部３３）に登録することにより、ネットワークをエッジネットワークとコアネットワークに再帰的に分割可能となる。
【００４７】
［動作］
次に、図１の構成図および図３のフロー図を参照して、本実施形態のネットワークシステムにおけるコントローラ１０の動作について詳細に説明する。
【００４８】
まず、コントローラ１０は、スイッチ１０１〜１０３を検出し、さらに、それらの間の接続リンクを検出してトポロジ情報を構築し、スイッチが管理するフローエントリの情報からフロー情報を構築し、これらの状態情報をまとめてネットワーク情報としてネットワーク管理部３１に登録する（ステップＳ１）。 
【００４９】
次に、ネットワーク分割部２１は、ネットワーク管理部３１に登録されたネットワーク情報をエッジネットワークに関する情報とコアネットワークに関する情報に分割し、それぞれ、エッジネットワーク管理部３２とコアネットワーク管理部３３に登録し、さらに、コアネットワークとエッジネットワークの境界となったリンク情報（スイッチ１０１とスイッチ１０２の間のリンク、スイッチ１０２とスイッチ１０３の間のリンク）の情報を境界リンク情報テーブル５１に登録する（ステップＳ２）。
【００５０】
次に、コア制御ロジック４２は、コアネットワーク管理部３３に登録されたトポロジ情報に基づいてフロー情報を生成し、生成したフロー情報をコアネットワーク管理部３３に登録する（ステップＳ３）。
【００５１】
次に、ネットワーク分割部２１は、コアネットワーク管理部３３に登録されたフロー情報の登録イベントを検知し、そのフロー情報をネットワーク管理部３１に登録し、そのフロー情報のマッチ条件から入力ポートを取得し、アクションから出力ポートを取得し、境界リンク情報テーブル５１からエッジネットワーク管理部３２の管理するエッジネットワークの端点となる２つのポートを導出し、導出した２つのポート間のリンクをエッジネットワーク管理部３２に登録する（ステップＳ４）。
【００５２】
次に、エッジ制御ロジック４１は、エッジネットワーク管理部３２に登録されたトポロジ情報と境界リンク情報テーブル５１の情報に基づいてフロー情報を生成し、生成したフロー情報をエッジネットワーク管理部３２に登録する（ステップＳ５）。
【００５３】
次に、ネットワーク分割部２１は、エッジネットワーク管理部３２に登録されたフロー情報の登録イベントを検知し、当該フロー情報に相当する通信フローが境界リンク情報テーブル５１に登録されたリンクを経由する場合、当該リンクの両端で通信フローを分割し、分割された通信フローのそれぞれのフロー情報を元のネットワーク管理部３１に登録する（ステップＳ６）。
【００５４】
次に、本実施形態に係るネットワークシステムにおいて、ネットワーク管理部３１、エッジネットワーク管理部３２、コアネットワーク管理部３３、および、境界リンク情報テーブル５１が保持する情報について、図１に示すネットワークを例として具体的に説明する。
【００５５】
図４は、図３のステップＳ１においてコントローラ１０がネットワーク管理部３１に登録するネットワーク情報を示す。ここで、ネットワーク情報は、ノードおよびポート情報一覧、および、リンク情報一覧、フロー情報一覧を含む。
【００５６】
図５は、エッジネットワーク管理部３２が管理するネットワーク情報、すなわち、図３のステップＳ２において、ネットワーク分割部２１がネットワーク管理部３１に登録されたネットワーク情報に基づいてエッジスイッチと判定したスイッチ（図１のスイッチ１０１、１０３）から成るエッジネットワークに対するネットワーク情報を示す。
【００５７】
図６は、コアネットワーク管理部３３が管理するネットワーク情報、すなわち、図３のステップＳ２において、ネットワーク分割部２１がネットワーク管理部３１に登録されたネットワーク情報に基づいてコアスイッチと判定したスイッチ（図１のスイッチ１０２）から成るコアネットワークに対するネットワーク情報を示す。
【００５８】
図７は、境界リンク情報テーブル５１が管理する境界リンク情報を示す。すなわち、図７のリンク情報は、図３のステップＳ２において、ネットワーク分割部２１が、ネットワーク管理部３１に登録されたネットワークに含まれるスイッチを、コアスイッチとエッジスイッチに分割する際に、これらのスイッチ境界となったリンク（図１のリンク６１、６２）の情報を示す。
【００５９】
次に、本実施形態に係るネットワークシステムにおいて、コアネットワークに対する通信フローおよびエッジネットワークに対する通信フローが登録された場合に、ネットワーク管理部３１、エッジネットワーク管理部３２、および、コアネットワーク管理部３３に格納されるネットワーク情報について説明する。
【００６０】
図８〜図１０は、エッジ制御ロジック４１およびコア制御ロジック４２が、それぞれフロー情報を登録した状態を一例として示す。
【００６１】
図１０を参照すると、コア制御ロジック４２は、コアスイッチ１０２を経由するflow1, flow2をコアネットワーク管理部３３に登録する（図３のステップＳ３）。コア制御ロジック４２は、宛先ノードＩＤを示すラベル（ここでは、スイッチ１０２がラベルＬ１に対応しているものと仮定する。）が付与されたデータを転送するためのフローを登録する。
【００６２】
図９を参照すると、コアネットワーク管理部３３へのフロー登録（図１０）を受けて、ネットワーク分割部２１は、追加されたフローに対応するリンク情報link1をエッジネットワーク管理部３２に登録する（図３のステップＳ４）。
【００６３】
また、図９を参照すると、エッジ制御ロジック４１は、flow3とflow4をエッジネットワーク管理部３２に登録する（図３のステップＳ５）。ここでは、ステップＳ４で登録されたlink1を経由するフローが登録されている。また、エッジ制御ロジック４１は、それぞれのフローにおいて宛先ノードＩＤを示すラベル（ここでは、スイッチ１０１がラベルＬ３に、スイッチ１０３がラベルＬ４に対応しているものと仮定する。）が付与されたデータを転送するためのフローを登録する。
【００６４】
さらに、図８を参照すると、ネットワーク分割部２１は、ステップＳ３、Ｓ５で登録されたフロー情報（図９、図１０）を変換して、元のネットワーク管理部３１に登録する（図３のステップＳ６）。エッジネットワーク管理部３２に登録されたflow3, flow4はいずれも境界リンク情報テーブル（図７）に登録された境界リンク６１、６２を経由する。したがって、ネットワーク分割部２１は、flow3をflow31, flow32に分割するとともに、flow4をflow41, flow42に分割してネットワーク管理部３１に登録する。具体的には、ネットワーク分割部２１は、コアネットワーク管理部３３に登録されたフロー情報flow1, flow2が要求するラベルを付与するアクションをflow31, flow41に追加し、付与されたラベルを削除するアクションをflow32, flow42に追加する。
【００６５】
次に、本実施形態のネットワークシステムの効果について説明する。本実施形態では、ネットワーク分割部２１がネットワーク管理部３１に対して適用可能であり、かつ、ネットワーク分割部２１がネットワーク管理部３１のネットワーク情報を分割し、エッジネットワーク管理部３２とコアネットワーク管理部３３のネットワーク情報を生成する。したがって、エッジ制御ロジック４１はエッジネットワーク管理部３２が管理するネットワーク情報の範囲と境界リンク情報テーブル５１を利用して実装することができ、一方、コア制御ロジック４２はコアネットワーク管理部３３が管理するネットワーク情報の範囲と境界リンク情報テーブル５１を利用して実装することができる。すなわち、本実施形態によると、エッジスイッチとコアスイッチを操作する制御ロジックを独立に実装することが容易となる。また、本実施形態によると、ネットワーク分割部２１をネットワーク管理部３１に対して再帰的に適用でき、ネットワークをエッジネットワークとコアネットワークの２つのネットワークに再帰的に分割することが可能となる。
【００６６】
＜実施形態２＞
次に、第２の実施形態に係るネットワークシステムについて、図面を参照して詳細に説明する。
【００６７】
本実施形態のネットワークシステムは、トップ・オブ・ラック（ＴｏＲ：Top of Rack）スイッチ、集約スイッチ、コアスイッチの３種類のOpenFlowスイッチで構成されたネットワークを、ＴｏＲスイッチを含むネットワーク、集約スイッチを含むネットワーク、コアスイッチを含むネットワークに分割する。なお、本発明の適用対象は、本実施形態におけるネットワークの構成に限定されない。
【００６８】
図１１は、本実施形態に係るネットワークシステムの構成を一例として示す図である。図１１を参照すると、本実施形態のネットワークシステムは、コアスイッチ４０１、４０２で構成されたネットワークと、集約スイッチ４０３、４０４で構成されたネットワークと、ＴｏＲスイッチ４０５〜４０８で構成されたネットワークと、これらのネットワークを管理および制御するコントローラ３１０を備えている。
【００６９】
図１１において、実線はスイッチ間のリンクを示し、リンクの両端に付された番号はスイッチのポート番号を示す。また、図１１において、点線はコントローラ３１０から各スイッチに接続するためのネットワーク回線を示す。
【００７０】
図１２は、コントローラ３１０の構成を一例として示すブロック図である。図１２を参照すると、コントローラ３１０は、ネットワーク管理部５３１、ネットワーク分割部５２１、ＴｏＲネットワーク管理部５３２、ネットワーク管理部５３３、ネットワーク分割部５２２、集約ネットワーク管理部５３４、コアネットワーク管理部５３５、ＴｏＲ制御ロジック５４１、集約制御ロジック５４２、コア制御ロジック５４３、および、境界リンク情報テーブル５５１、５５２を備えている。
【００７１】
ネットワーク管理部５３１は、スイッチ４０１〜４０８に関するネットワーク情報を管理する。ネットワーク分割部５２１は、ネットワーク管理部５３１が管理するネットワークのうち、スイッチ４０５〜４０８をエッジネットワークに含まれるスイッチとしてＴｏＲネットワーク管理部５３２に登録する。また、ネットワーク分割部５２１は、スイッチ４０１〜４０４をコアネットワークに含まれるスイッチとしてネットワーク管理部５３３に登録する。さらに、ネットワーク分割部５２１は、ネットワーク管理部５３１に関して、エッジネットワークとコアネットワークのリンクを境界リンク情報として境界リンク情報テーブル５５１に登録する。
【００７２】
一方、ネットワーク分割部５２２は、ネットワーク管理部５３３が管理するネットワークのうち、スイッチ４０３と４０４をエッジネットワークに含まれるスイッチとして集約ネットワーク管理部５３４に登録する。また、ネットワーク分割部５２２は、スイッチ４０１と４０２をコアネットワークに含まれるスイッチとしてコアネットワーク管理部５３５に登録する。さらに、ネットワーク分割部５２２は、ネットワーク管理部５３３に関して、エッジネットワークとコアネットワークのリンクを境界リンク情報として境界リンク情報テーブル５５２に登録する。
【００７３】
ＴｏＲ制御ロジック５４１は、ＴｏＲネットワーク管理部５３２のネットワーク情報を制御する。一方、集約制御ロジック５４２は、集約ネットワーク管理部５３４のネットワーク情報を制御する。また、コア制御ロジック５４３は、コアネットワーク管理部５３５のネットワーク情報を制御する。
【００７４】
図１３は、ネットワーク管理部５３１が保持するネットワーク情報を示す。ここで、ネットワーク情報は、ノードおよびポート情報一覧、リンク情報一覧、および、フロー情報一覧を含む。
【００７５】
図１４は、ＴｏＲネットワーク管理部５３２が管理するネットワーク情報、すなわち、ネットワーク管理部５３１に格納されたネットワーク情報に基づいてネットワーク分割部５２１がエッジと判定したネットワーク情報を示す。
【００７６】
図１５は、ネットワーク管理部５３３が管理するネットワーク情報、すなわち、ネットワーク管理部５３１に格納されたネットワーク情報に基づいてネットワーク分割部５２１がコアと判定したネットワーク情報を示す。
【００７７】
図１６は、境界リンク情報テーブル５５１が管理する境界リンク情報、すなわち、ネットワーク分割部５２１が、ネットワーク管理部５３１が管理するネットワークを、ＴｏＲネットワーク管理部５３２が管理するネットワークと、ネットワーク管理部５３３が管理するネットワークに分割する際に境界となったリンクの情報を示す。
【００７８】
図１７は、集約ネットワーク管理部５３４が管理するネットワーク情報、すなわち、ネットワーク管理部５３３に格納されたネットワーク情報に基づいてネットワーク分割部５２２がエッジと判定したネットワーク情報を示す。
【００７９】
図１８は、コアネットワーク管理部５３５が管理するネットワーク情報、すなわち、ネットワーク管理部５３３に格納されたネットワーク情報に基づいてネットワーク分割部５２２がコアと判定したネットワーク情報を示す。
【００８０】
図１９は、境界リンク情報テーブル５５２が管理する境界リンク情報、すなわち、ネットワーク分割部５２２が、ネットワーク管理部５３３が管理するネットワークを、集約ネットワーク管理部５３４が管理するネットワークと、コアネットワーク管理部５３５が管理するネットワークに分割する際に境界となったリンクの情報を示す。
【００８１】
図２０ないし図２４は、ＴｏＲ制御ロジック５４１、集約制御ロジック５４２、および、コア制御ロジック５４３がそれぞれフロー情報を登録した状態を一例として示す。
【００８２】
図２４を参照すると、コア制御ロジック５４３は、コアスイッチ４０１を経由するflow1, flow2をコアネットワーク管理部５３５に登録する。コア制御ロジック５４３は、宛先ノードＩＤを示すラベル（ここでは、スイッチ４０１がラベルＬ１に対応しているものと仮定する。）が付与されたデータを転送するためのフローを登録する。
【００８３】
図２３を参照すると、コアネットワーク管理部５３５へのフロー登録（図２４）を受けて、ネットワーク分割部５２２は、追加されたフローに対応するリンク情報link1を集約ネットワーク管理部５３４に登録する。
【００８４】
また、図２３を参照すると、集約制御ロジック５４２は、flow3とflow4を集約ネットワーク管理部５３４に登録する。ここでは、上記で登録されたリンクlink1を経由するフローが登録されている。また、集約制御ロジック５４２は、それぞれのフローにおいて宛先ノードＩＤを示すラベル（ここでは、スイッチ４０３がラベルＬ３に、スイッチ４０４がラベルＬ４に対応しているものと仮定する。）が付与されたデータを転送するためのフローを登録する。
【００８５】
図２２は、ネットワーク分割部５２２が、集約ネットワーク管理部５３４（図２３）およびコアネットワーク管理部（図２４）に登録されたフロー情報を変換して、ネットワーク管理部５３３に登録した状態を示す。ネットワーク管理部５３３に登録されたflow3, flow4は、いずれも境界リンク情報テーブル５５２（図１９）に登録された境界リンク５０１、５０２を経由する。したがって、ネットワーク分割部５２２は、flow3をflow31, flow32に分割するとともに、flow4をflow41, flow42に分割してネットワーク管理部５３３に登録する。具体的には、ネットワーク分割部５２２は、コアネットワーク管理部５３５に登録されたフロー情報flow1, flow2が要求するラベルを付与するアクションをflow31, flow41に追加し、付与されたラベルを削除するアクションをflow32, flow42に追加する。
【００８６】
さらに、図２１は、ＴｏＲ制御ロジック５４１がＴｏＲネットワーク管理部５３２にフロー情報を追加した状態を示す。ここで、link2は、ネットワーク分割部５２１がネットワーク管理部５３３に追加されたフロー情報から生成したリンク情報である。ここでは、このlink2を利用したflow5, flow6がフロー情報に登録されている。
【００８７】
さらに、図２０は、ネットワーク分割部５２１が、ＴｏＲネットワーク管理部５３２（図２１）およびネットワーク管理部（図２２）で登録されたフロー情報を変換して、ネットワーク管理部５３１に登録した状態を示す。ネットワーク管理部５３１に登録されたflow5, flow6は、いずれも境界リンク情報テーブル５５１（図１６）に登録された境界リンク５０５、５１１を経由する。したがって、ネットワーク分割部５２１は、flow5をflow51,flow52に分割するとともに、flow6をflow61, flow62に分割してネットワーク管理部５３１に登録する。具体的には、ネットワーク分割部５２１は、ネットワーク管理部５３３に登録されたフロー情報に登録されたflow31, flow32, flow41, flow42が要求するラベルを付与するアクションをflow51, flow61に追加し、付与されたラベルを削除するアクションをflow52, flow62に追加する。
【００８８】
本実施形態のネットワークシステムによると、ネットワーク分割部５２１、５２２をネットワーク管理部５３１に対して適用することにより、ネットワークをエッジネットワークとコアネットワークの２つのネットワークに再帰的に分割することが可能となる。すなわち、ＴｏＲスイッチ、集約スイッチおよびコアスイッチから成る元のネットワークをＴｏＲスイッチから成るネットワークと集約スイッチおよびコアスイッチから成るネットワークに分割した上で、さらに、後者のネットワークを集約スイッチから成るネットワークとコアスイッチから成るネットワークに分割することができる。
【００８９】
なお、上記の第１および第２の実施形態は、エッジスイッチがコアネットワークの宛先ノードＩＤをラベルとして転送データに付与する方式について説明した。これとは逆に、コアネットワークがエッジの宛先ノードＩＤからコアネットワークの宛先ノードＩＤを、境界リンク情報テーブルを利用して導出し、コアネットワークがそれをラベルとして付与する方式を採用してもよい。
【００９０】
また、本発明に係るネットワーク制御装置、ネットワークシステム、ネットワーク制御方法およびプログラムは、例えば、ネットワークをエッジネットワークとコアネットワークに分けて管理・制御するネットワークコントローラ装置や、ネットワーク管理・制御をするプログラムなどの用途に適用することができる。
【００９１】
なお、本発明において、下記の形態が可能である。
［形態１］
上記第１の視点に係るネットワーク制御装置のとおりである。
［形態２］
前記ネットワーク分割部により分割されたエッジスイッチとコアスイッチを接続するリンクを示す情報を保持する境界リンク情報テーブルを備える、形態１に記載のネットワーク制御装置。
［形態３］
前記コア制御ロジックは、前記コアネットワークに対する通信フローを受け付けると、前記コアネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する、形態２に記載のネットワーク制御装置。
［形態４］
前記ネットワーク分割部は、前記コアネットワーク管理部が保持するフロー情報が更新されると、更新されたフロー情報を前記ネットワーク管理部に格納し、更新されたフロー情報のマッチ条件に含まれる入力ポート、アクションに含まれる出力ポート、および、前記境界リンク情報テーブルを参照して、更新されたフロー情報に相当する通信フローに対する前記エッジネットワークの端点となる２つのポートを導出し、導出した２つのポートを結ぶリンクを表す情報をリンク情報として前記エッジネットワーク管理部に格納する、形態３に記載のネットワーク制御装置。
［形態５］
前記エッジ制御ロジックは、前記エッジネットワークに対する通信フローを受け付けると、前記エッジネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する、形態２ないし４のいずれか一に記載のネットワーク制御装置。
［形態６］
前記ネットワーク分割部は、前記エッジネットワーク管理部が保持するフロー情報が更新された場合に、更新されたフロー情報に相当する通信フローが、前記リンク情報が表すリンクを経由するとき、該リンクの両端において該通信フローを分割し、分割された通信フローに対するフロー情報を前記ネットワーク管理部に格納する、形態５に記載のネットワーク制御装置。
［形態７］
前記ネットワーク分割部は、前記複数のスイッチのうちの、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、前記複数のスイッチ以外のノードにリンクで接続されたポートを有するスイッチを、論理的なリンクで互いに接続された論理的なエッジスイッチと論理的なコアスイッチに分割し、論理的なエッジスイッチおよび論理的なコアスイッチをそれぞれ前記エッジネットワーク管理部および前記コアネットワーク管理部に格納し、論理的なリンクを前記境界リンク情報テーブルに格納する、形態２ないし６のいずれか一に記載のネットワーク制御装置。
［形態８］
前記ネットワーク分割部は、前記複数のスイッチのうちの、他のスイッチとリンクで接続されたポートの個数に応じて、前記複数のスイッチをコアスイッチとエッジスイッチに分割する、形態１ないし７のいずれか一に記載のネットワーク制御装置。
［形態９］
前記ネットワーク分割部は、前記複数のスイッチのうちの、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、他のスイッチ以外のノードにリンクで接続されたポートを有しないスイッチをコアスイッチとし、他のスイッチとリンクで接続されたポートを０または１つ有し、かつ、他のスイッチ以外のノードにリンクで接続されたポートを有するスイッチをエッジスイッチとする、形態８に記載のネットワーク制御装置。
［形態１０］
上記第２の視点に係るネットワークシステムのとおりである。
［形態１１］
上記第３の視点に係るネットワーク制御方法のとおりである。
［形態１２］
前記コンピュータが、分割されたエッジスイッチとコアスイッチを接続するリンクを示す情報を境界リンク情報テーブルに保持する工程を含む、形態１１に記載のネットワーク制御方法。
［形態１３］
前記コンピュータが、前記コアネットワークに対する通信フローを受け付ける工程と、
前記コアネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する工程と、を含む、形態１２に記載のネットワーク制御方法。
［形態１４］
前記コンピュータが、前記コアネットワーク管理部が保持するフロー情報が更新されると、更新されたフロー情報を前記ネットワーク管理部に格納し、更新されたフロー情報のマッチ条件に含まれる入力ポート、アクションに含まれる出力ポート、および、前記境界リンク情報テーブルを参照して、更新されたフロー情報に相当する通信フローに対する前記エッジネットワークの端点となる２つのポートを導出し、導出した２つのポートを結ぶリンクを表す情報をリンク情報として前記エッジネットワーク管理部に格納する工程を含む、形態１３に記載のネットワーク制御方法。
［形態１５］
前記コンピュータが、前記エッジネットワークに対する通信フローを受け付ける工程と、
前記エッジネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する工程と、を含む、形態１２ないし１４のいずれか一に記載のネットワーク制御方法。
［形態１６］
前記コンピュータが、前記エッジネットワーク管理部が保持するフロー情報が更新された場合に、更新されたフロー情報に相当する通信フローが、前記リンク情報が表すリンクを経由するとき、該リンクの両端において該通信フローを分割し、分割された通信フローに対するフロー情報を前記ネットワーク管理部に格納する工程を含む、形態１５に記載のネットワーク制御方法。
［形態１７］
前記コンピュータが、前記複数のスイッチのうちの、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、前記複数のスイッチ以外のノードにリンクで接続されたポートを有するスイッチを、論理的なリンクで互いに接続された論理的なエッジスイッチと論理的なコアスイッチに分割し、論理的なエッジスイッチおよび論理的なコアスイッチをそれぞれ前記エッジネットワーク管理部および前記コアネットワーク管理部に格納し、論理的なリンクを前記境界リンク情報テーブルに格納する工程を含む、形態１２ないし１６のいずれか一に記載のネットワーク制御方法。
［形態１８］
上記第４の視点に係るプログラムのとおりである。
［形態１９］
分割されたエッジスイッチとコアスイッチを接続するリンクを示す情報を境界リンク情報テーブルに保持する処理を、前記コンピュータに実行させる、形態１８に記載のプログラム。
［形態２０］
前記コアネットワークに対する通信フローを受け付ける処理と、
前記コアネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記コアネットワークのフロー情報を生成して前記コアネットワーク管理部に格納する処理と、を前記コンピュータに実行させる、形態１９に記載のプログラム。
［形態２１］
前記コアネットワーク管理部が保持するフロー情報が更新されると、更新されたフロー情報を前記ネットワーク管理部に格納し、更新されたフロー情報のマッチ条件に含まれる入力ポート、アクションに含まれる出力ポート、および、前記境界リンク情報テーブルを参照して、更新されたフロー情報に相当する通信フローに対する前記エッジネットワークの端点となる２つのポートを導出し、導出した２つのポートを結ぶリンクを表す情報をリンク情報として前記エッジネットワーク管理部に格納する処理を、前記コンピュータに実行させる、形態２０に記載のプログラム。
［形態２２］
前記エッジネットワークに対する通信フローを受け付ける処理と、
前記エッジネットワークのトポロジ情報、および、前記境界リンク情報テーブルに基づいて、受け付けた通信フローに対する前記エッジネットワークのフロー情報を生成して前記エッジネットワーク管理部に格納する処理と、を前記コンピュータに実行させる、形態１９ないし２１のいずれか一に記載のプログラム。
［形態２３］
前記エッジネットワーク管理部が保持するフロー情報が更新された場合に、更新されたフロー情報に相当する通信フローが、前記リンク情報が表すリンクを経由するとき、該リンクの両端において該通信フローを分割し、分割された通信フローに対するフロー情報を前記ネットワーク管理部に格納する処理を、前記コンピュータに実行させる、形態２２に記載のプログラム。
［形態２４］
前記複数のスイッチのうちの、他のスイッチとリンクで接続されたポートを２つ以上有し、かつ、前記複数のスイッチ以外のノードにリンクで接続されたポートを有するスイッチを、論理的なリンクで互いに接続された論理的なエッジスイッチと論理的なコアスイッチに分割し、論理的なエッジスイッチおよび論理的なコアスイッチをそれぞれ前記エッジネットワーク管理部および前記コアネットワーク管理部に格納し、論理的なリンクを前記境界リンク情報テーブルに格納する処理を、前記コンピュータに実行させる、形態１９ないし２３のいずれか一に記載のプログラム。
【００９２】
なお、上記特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９３】
１０    コントローラ
２１    ネットワーク分割部
３１    ネットワーク管理部
３２    エッジネットワーク管理部
３３    コアネットワーク管理部
４１    エッジ制御ロジック
４２    コア制御ロジック
５１    境界リンク情報テーブル
６１、６２    リンク
１０１〜１０３、６０１〜６０５、６０３ａ、６０３ｂ    スイッチ
２０１、２０２、７０１〜７０３    端末
３１０    コントローラ
４０１、４０２    コアスイッチ
４０３、４０４    集約スイッチ
４０５〜４０８    ＴｏＲスイッチ
５０１〜５１２    リンク
５２１、５２２    ネットワーク分割部
５３１、５３３    ネットワーク管理部
５３２    ＴｏＲネットワーク管理部
５３４    集約ネットワーク管理部
５３５    コアネットワーク管理部
５４１    ＴｏＲ制御ロジック
５４２    集約制御ロジック
５４３    コア制御ロジック
５５１、５５２    境界リンク情報テーブル
【図１】
2015080092.tif 000003
【図２】
2015080092.tif 000004
【図３】
2015080092.tif 000005
【図４】
2015080092.tif 000006
【図５】
2015080092.tif 000007
【図６】
2015080092.tif 000008
【図７】
2015080092.tif 000009
【図８】
2015080092.tif 000010
【図９】
2015080092.tif 000011
【図１０】
2015080092.tif 000012
【図１１】
2015080092.tif 000013
【図１２】
2015080092.tif 000014
【図１３】
2015080092.tif 000015
【図１４】
2015080092.tif 000016
【図１５】
2015080092.tif 000017
【図１６】
2015080092.tif 000018
【図１７】
2015080092.tif 000019
【図１８】
2015080092.tif 000020
【図１９】
2015080092.tif 000021
【図２０】
2015080092.tif 000022
【図２１】
2015080092.tif 000023
【図２２】
2015080092.tif 000024
【図２３】
2015080092.tif 000025
【図２４】
2015080092.tif 000026
【国際調査報告】
2015080092.tif 000027
2015080092.tif 000028
2015080092.tif 000029