JP2016015672A - ネットワーク制御装置、及びネットワーク設定システム - Google Patents

ネットワーク制御装置、及びネットワーク設定システム Download PDF

Info

Publication number
JP2016015672A
JP2016015672A JP2014137549A JP2014137549A JP2016015672A JP 2016015672 A JP2016015672 A JP 2016015672A JP 2014137549 A JP2014137549 A JP 2014137549A JP 2014137549 A JP2014137549 A JP 2014137549A JP 2016015672 A JP2016015672 A JP 2016015672A
Authority
JP
Japan
Prior art keywords
setting
network
network setting
variable
communication device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014137549A
Other languages
English (en)
Inventor
聡 堤
Satoshi Tsutsumi
聡 堤
若山 浩二
Koji Wakayama
浩二 若山
斉 桑田
Hitoshi Kuwata
斉 桑田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Proterial Ltd
Original Assignee
Hitachi Metals Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Metals Ltd filed Critical Hitachi Metals Ltd
Priority to JP2014137549A priority Critical patent/JP2016015672A/ja
Priority to US14/752,326 priority patent/US20160006605A1/en
Publication of JP2016015672A publication Critical patent/JP2016015672A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信装置のネットワーク設定過程で既存のネットワークに障害を生じさせず、かつ、設定実行時間を短縮可能な設定手順を生成し、高速な設定実行を可能とする。
【解決手段】ネットワーク設定制御装置は、入力装置、出力装置、記憶装置、および処理装置を備え、少なくとも一つの通信装置120とネットワークを介して接続される制御装置100で構成される。制御装置100は、ネットワーク設定データに基づいて、通信装置120にネットワーク設定を行う。また、処理装置は、ネットワーク設定の設定手順をネットワーク設定データと既存のネットワーク構成に基づいて生成する。
【選択図】図1

Description

本発明は、コンピュータ・ネットワーク分野に関する。具体的には、プログラマブルネットワークを実現する、ネットワーク設定制御装置、及びネットワーク設定システムに関する。
ネットワーク設定を自動化するため、下記特許文献1に記載の技術がある。この公報には、「設定順序生成部が、VPN終端装置及び集合仮想ルータに対して反映される順序を規定する設定順序情報を生成する」、「設定順序情報に規定される順序に従って、VPN終端装置に設定すべき設定情報、及び、集合仮想ルータに設定すべき設定情報を、VPN終端装置及び集合仮想ルータに対して反映する」という記載がある。
特開2012−44601号公報
SDN(Software Defined Networking)に代表されるプログラマブルネットワークでは、プログラマビリティを活かした動的なネットワーク構築・最適化が可能である。この技術では、自動化された高速なネットワーク構成変更が重要となる。
特許文献1では、ネットワーク設定を自動化するために、ネットワークの設定手順を、上位の装置である集合仮想ルータから、VPN終端装置の固定的な順、もしくは、設定情報が生成された順序で決定している。しかしながら、設定過程において既存のネットワークに障害を生じさせないための設定順序の生成方法については記載がない。よって、特許文献1とは異なるネットワーク構成では、設定過程でネットワークに障害を生じる可能性がある。そのため、ネットワーク設定過程で、ネットワークサービスを中断する必要があるなど、高速なネットワーク構成変更ができない問題があった。また、設定実行時間を短縮する方法について記載がなく、設定情報が多い場合、ネットワークサービスの中断時間が伸びるという問題があった。
そこで、本発明では、設定過程で既存のネットワークに障害を生じさせず、かつ、設定実行時間を短縮可能な設定手順を生成し、高速な設定実行を可能とする、ネットワーク設定制御装置、及びネットワーク設定システムを提供することを目的とする。
上記課題を解決するために、代表的な本発明のネットワーク設定制御装置は、入力装置、出力装置、記憶装置、および処理装置を備え、少なくとも一つの通信装置とネットワークを介して接続される制御装置で構成される。制御装置は、ネットワーク設定データに基づいて、通信装置にネットワーク設定を行う。また、処理装置は、ネットワーク設定の設定手順を生成する。このネットワーク設定の設定手順は、ネットワーク設定データと既存のネットワーク構成に基づいて定められる。
ネットワーク設定の設定手順は、好ましくは通信装置単位の設定順序と通信装置内の設定順序に分けられる。好ましくは、通信装置内の設定順序は、ネットワーク設定データに含まれる設定(たとえばマッチ条件)同士の包含関係に基づいて定められる。
また、好ましくは、複数生成された新規ネットワーク設定の設定手順のうち、設定済みのネットワーク設定データと、競合を生じない設定手順を選択する。さらに好ましくは、ネットワーク設定データに含まれる設定の、通信装置の保存先を検出し、新規ネットワーク設定に含まれる複数の設定が、同時に異なる保存先に行えるように設定手順を生成する。また、好ましくは、通信装置単位の設定順序は、データの送信側を上流、受信側を下流と定義した場合、下流側から順番に設定する。
本発明の他の側面は、上述の制御装置とネットワークを介して接続された一つ以上の通信装置を包含するシステム、あるいは、これを用いた方法である。
本発明によれば、高速なネットワーク構成変更が可能になる。
上記以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1のネットワーク設定システムの構成例を示すブロック図。 実施例1のネットワーク設定システムを適用して構成したネットワークの例を示すブロック図。 実施例1のネットワーク設定データの例を示す表図。 実施例1のネットワーク設定データの例を示す表図。 実施例1のネットワーク設定データの例を示す表図(つづき)。 実施例1のネットワーク構成データの例を示す表図。 実施例1のネットワーク構成データの例を示す表図(つづき)。 実施例1のネットワーク構築を説明するフローチャート。 実施例1の装置単位の設定手順決定のフローチャート。 実施例1の初期化された装置設定隣接リストを示す表図。 実施例1の装置単位の設定手順決定が終了した状態の、装置設定隣接リストを示す表図。 実施例1の装置内の設定手順決定のフローチャート。 実施例1の初期化されたフローエントリ隣接リストを示す表図。 実施例1のTableプロパティが異なる場合に、変数Eのフローエントリを、変数Fのフローエントリより先に実行すべきか判断するフローチャート。 実施例1のフローエントリのアクション優先度テーブルを示す表図。 実施例1のTableプロパティが同じ場合に、変数Eのフローエントリを、変数Fのフローエントリより先に実行すべきか判断するフローチャート。 実施例1のマッチ条件の包含関係を決定するフローチャート。 実施例1の変数Eが変数Fに等しい関係か確認するフローチャート。 実施例1の変数Eと変数Fが排他関係か確認するフローチャート。 実施例1の変数Eが変数Fに包含される関係か確認するフローチャート。 実施例1の変数Eが変数Fを包含する関係か確認するフローチャート。 実施例1の装置内の設定手順決定ステップが終了した状態の、フローエントリ隣接リストの例を示す表図。 実施例1のネットワークの既存設定との競合を回避するフローチャート。 実施例1のパス単位設定手順決定のフローチャート。 実施例1の装置内設定手順候補生成のフローチャート。 実施例1の部分グラフ単位で順列を生成するフローチャート。 実施例1の部分グラフを抽出するフローチャート。 実施例1の順列を生成するフローチャート。 実施例1の競合検出のフローチャート。 実施例1のループ検出のフローチャート。 実施例1の設定先依存設定手順決定のフローチャート。 実施例1の装置内設定先依存設定手順決定のフローチャート。 実施例1の装置内設定先依存設定手順決定後の、フローエントリ隣接リストの例を示す表図。 実施例1のシーケンス番号付与のフローチャート。 実施例1の装置内シーケンス番号を付与するフローチャート。 実施例1の制御装置における設定実行のフローチャート。 実施例1の装置設定の並列実行のフローチャート。 実施例1の装置設定の実行のフローチャート。 実施例1のフローエントリ設定の並列実行のフローチャート。 実施例1の通信装置における設定要求受信のフローチャート。 実施例1の通信装置における設定実行のフローチャート。 実施例1の設定実行部における設定実行のフローチャート。 実施例1のネットワーク構成変更の流れの例を示すタイムライン図。 実施例2のネットワーク設定システムの構成例を示すブロック図。 実施例2の制御装置における設定実行のフローチャート。
以下、本発明の実施例を添付図面に基づき説明する。各図における同一符号は同一物または相当物を示す。説明の都合上、符号に添え字を追加して区別することがある。
本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
図1は、本発明の実施形態におけるネットワーク設定システムの構成例を示すブロック図である。
本実施形態のプログラマブルネットワークは、制御装置100及び1台以上の通信装置120を備え、コンフィギュレーションネットワーク110を介して互いに接続される。管理装置120及び通信装置120の台数は、本実施形態の台数に限定されない。
制御装置100は、ネットワーク設定キュー101、ネットワーク構成DB102、ネットワーク設定手順生成部103、ネットワーク設定実行キュー104、ネットワーク設定実行部105、設定済みネットワークモデル管理部106、制御IF107、設定済みネットワークモデル108から構成される。また、制御装置100には情報を出力する出力装置と、情報を入力する入力装置を有する。これらは、本実施形態では制御IF107に含まれるものとする。
制御装置100は、汎用のPCサーバなどを利用して実現できる。その場合、ネットワーク設定キュー101、ネットワーク構成DB102、ネットワーク設定実行キュー104、設定済みネットワークモデル108は、半導体メモリDRAM(Dynamic Random Access Memory),SRAM(Static Random Access Memory)などに格納される。ネットワーク設定手順生成部103、ネットワーク設定実行部105、設定済みネットワークモデル管理部106はCPU(Central Processing Unit)などの演算器によって実行されるプログラムとして実現される。また、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェア回路として実現することもできる。
ネットワーク設定キュー101には、オペレータによって作成されたネットワーク設定データが格納される。ネットワーク設定データの詳細については図3、図4で後述する。
ネットワーク構成DB102には、オペレータによって作成されたネットワーク構成データが格納される。ネットワーク構成データの詳細については図5で例を説明する。
ネットワーク設定手順生成部103は、ネットワーク設定キュー101から読み出したネットワーク設定データ、ネットワーク構成DB102から読み出したネットワーク構成データ、設定済みネットワークモデル108をもとに、ネットワーク設定グラフを生成する。ネットワーク設定グラフとは、ネットワーク設定データの設定手順である。設定手順生成ステップ及びネットワーク設定グラフについては後述する。
ネットワーク設定実行キュー104には、ネットワーク設定手順生成部により生成されたネットワーク設定グラフとネットワーク設定データが格納される。
ネットワーク設定実行部105は、ネットワーク設定データに記載された設定開始時刻になると、ネットワーク設定実行キューから、ネットワーク設定グラフとネットワーク設定データを読み出す。ネットワーク設定実行部105は、ネットワーク設定グラフをもとにネットワーク設定データを制御IF107経由で通信装置120に設定するとともに、設定済みネットワーク管理部106に同じネットワーク設定データを通知する。ネットワーク設定実行部の詳細は後述する。
設定済みネットワークモデル管理部106は、設定済みネットワークモデル108を作成・管理する。設定済みネットワークモデル管理部106は、ネットワーク設定実行部105からネットワーク設定データの通知を受けると、設定済みネットワークモデル108に設定を反映させる。設定済みネットワークモデル108は、ネットワーク構成データをもとにネットワークに存在する通信装置120をモデル化し、ネットワーク設定データから読み出した実通信装置120に設定済みの設定内容を、モデル内に保存したデータセットである。
制御IF107は、制御装置100をコンフィギュレーションネットワーク110と接続する。制御IF107は、Ethernet(登録商標)やInfiniband(登録商標)など、制御装置と通信装置が相互に通信できればよい。制御IF107は、コンフィギュレーションネットワーク110と接続できれば良く、その数は問わない。ただし、制御IF107の数を増やすことで、ネットワーク帯域のボトルネックの問題を改善できる。
設定済みネットワークモデル108は、現在運用中であるすべての通信装置120の設定情報、及び、通信装置間の接続関係を保持する。設定済みネットワークモデル108の詳細は後述する。
本実施例では、ネットワークの要求・応答回数を削減する効果がある。このため、ネットワーク遅延が大きいほど本実施例の効果も大きくなる。このため、本実施形態では、コンフィギュレーションネットワーク110の例として、高遅延のWAN(Wide Area Network)を想定したが、IEEE 802.11(登録商標)/a/b/gなどの無線LAN(Local Area Network)や、Ethernet(登録商標)などによるLANなど、他の通信手段によって置き換えられてもよい。他の通信手段の利用によって通信速度、及び配置の自由度等の改善が可能となる。
なお、本実施例では、ネットワーク設定手順生成部103とネットワーク設定実行部105を同じ制御装置に備えているが、それぞれ別の制御装置として構成し、LANなどのネットワーク経由で、必要なデータをやり取りしてもよい。また、ネットワーク設定キュー101、ネットワーク構成DB102、ネットワーク設定実行キュー104、設定済みネットワークモデル108等を格納する記憶装置を、制御装置外に配置することもできる。
通信装置120は、1個以上の設定IF121、1個以上の設定実行部122、1個以上のデータ転送部124、及び設定実行部122とデータ転送部124を接続する装置内ネットワーク125から構成される。通信装置120は、OpenFlow(登録商標)スイッチなどと同様に、データ転送処理を設定データで変更できる。
設定IF121は、通信装置120とコンフィギュレーションネットワーク110を接続する。設定IF121は、Ethernet(登録商標)やInfiniband(登録商標)など、制御装置と通信装置が相互に通信できればよい。本実施例では、通信装置120の設定を並列に実行することで、設定変更時間を短縮する効果がある。そのため、本実施形態では、通信装置120は2個以上の設定IF121を備える例を想定する。設定IF121は、一つの物理的IFを複数の論理的IFとして提供してもよい。物理的な設定IF121の数を増やすことで、ネットワーク帯域のボトルネックを改善できる効果がある。なお、ネットワーク帯域のボトルネックが問題にならないシステムでは、設定IF121は一つでもよい。
設定実行部122は、制御装置100からの設定要求を受け、データ転送部124に設定を実行する。制御装置100からの設定要求は、設定キュー123に一度格納される。設定実行部122は、CPUなどの演算器によって実行されるプログラムとして、あるいは、FPGAなどにより実装される論理回路などとして実現される。設定キュー123は、半導体メモリDRAM,SRAMなどの利用が考えられる。設定の実行ステップについては後述する。
データ転送部124は、設定記憶部126に格納される設定データに基づいて通信装置120のデータ転送を行う。データ転送部124は、CPUなどの演算器によって実行されるプログラムとして、あるいは、FPGA、ASICなどのハードウェア回路として実現される。
装置内ネットワーク125は、設定実行部122とデータ転送部124間を接続する。本実施形態の装置内ネットワーク125は、電気バックプレーンを用いたLANを想定するが、その他、光バックプレーンや無線など、本実施形態に限定されない。
設定記憶部126は、半導体メモリDRAM,SRAM、TCAM(Ternary Content Addressable Memory)などの利用が考えられる。本実施形態では、設定記憶部126は、OpenFlow(登録商標)のフローテーブルと同様に、2つ以上の設定記憶領域を備えることを想定する。
図2は、実施例1のネットワーク設定システムを適用して構成したネットワークの例である。ネットワーク200は、ノードA201、ノードB202、ノードC203、制御装置100、コンフィギュレーションネットワーク110、通信装置X120(1)〜通信装置Z120(3)から構成される。ノードA201、ノードB202、ノードC203は、端末や制御装置100が管理していない通信装置を想定している。
本実施形態では、制御装置100と通信装置120間のプロトコルとしてOpenFlow(登録商標)を利用すること想定している。
通信装置X120(1)〜通信装置Z(3)は、それぞれ、設定実行部122であるMC(Management Card)2枚、データ転送部124であるLC(Line Card)8枚を備える。LCは、データ転送用ポート210を4ポート備え、MCは設定IF121を備える。
以降、LCn(nは自然数)のm(mは自然数)番目のポートを、Port m/n
と表現する。本実施形態では、ノードAが通信装置X120(1)のPort 1/1と、通信装置X120(1)のPort 1/2が通信装置Z120(3)のPort 1/1と、通信装置X120(1)のPort 2/2が通信装置Z120(3)のPort 2/1と、通信装置X120(1)のPort 5/1と通信装置Y120(2)のPort 5/1と、通信装置Z120(3)のPort 1/8と通信装置Y120(2)のPort 1/7と、通信装置Z120(3)のPort 2/8と通信装置Y120(2)のPort 2/7と、ノードBが通信装置120Y(2)のPort 1/8と、ノードCが通信装置Y120(2)のPort 2/8とが、それぞれ接続されている。
図3は、図1のネットワーク設定キュー101に格納される、オペレータによって作成されたネットワーク設定データの例である。本実施形態では、ネットワーク設定データ300をXML(eXtensible Markup Language)形式で記述しているが、等価のデータを含んでいればXML形式以外の形式で記述されてもよい。
ネットワーク設定データ300は、追加もしくは削除するネットワーク全体の設定を定義する。
行301の設定タグは、ネットワーク設定データが記載されたファイルであることを示しており、設定の有効期限が開始日時プロパティと終了日時プロパティで指定される。
行302の装置タグは、設定対象の通信装置120をnameプロパティで特定する。
行303のフローエントリタグは、対象となる通信装置120の設定記憶部126に格納する設定内容を指定する。行303のIDプロパティには、フローエントリを特定するユニークな値を指定する。Tableプロパティには複数ある設定記憶部(テーブル)126を特定する値を指定する。Priorityタグはフローエントリ間の優先度を指定する。Devicesプロパティは、データ転送部124であるLCを特定する値を指定する。これらにより、設定データに含まれる設定(例えばフローエントリ)の、通信装置内の保存先(例えばフローテーブル)が指定される。典型的な例では、設定には、処理されるフレームの条件(マッチング条件)と、条件にあてはまるフレームの処理内容が含まれる。
行304のマッチ条件タグは、データ転送処理対象のフレームの条件を指定する。行304の例では、入力ポートがPort 1/1かつVLANが100のフレームが対象となる。
行305のアクションタグは、マッチング条件に該当したフレームの処理内容を指定する。行305の例では、出力先Normalが指定されており、OpenFlow(登録商標)の規定では、通信装置の実装依存の動作となる。本実施形態では、出力先がNormalの場合、L2スイッチと同じ、FDB(Forwarding DataBase)に基づく転送動作を想定する。
行306は、ノードA201のフローエントリを示している。ノードAは、端末や制御装置100が管理していない通信装置のため、行306のTypeプロパティにDummyを指定し、行307で出力先がPort 1/1となる仮のフローエントリを指定している。以降、既出のタグについては説明を省略する。
図4A,図4Bは、同じくネットワーク設定キュー101に格納されるネットワーク設定データの例である。ネットワーク設定データ400は、フローエントリタグ401、402を含む。
図5A,図5Bは、図1のネットワーク構成DB102に格納されるネットワーク構成データの例である。ネットワーク設定データと同様にXML形式で記述しているが、等価のデータを含んでいればXML形式以外の形式で記述されてもよい。
ネットワーク構成データ500は、ネットワークの物理的な構成情報を定義する。
行501の構成タグは、ネットワーク構成データが記載されたファイルであることを示している。
行502の装置タグは、ネットワークに存在する装置をnameプロパティで指定する。
行503のポートタグは、装置が備えるポートをnameプロパティで指定する。
行504の接続タグは、装置間の接続関係を指定する。
行505のFromタグは接続元、行506のToタグは接続先を表す。
続いて、本実施形態におけるプログラマブルネットワークの動作の概略について説明する。まず、ネットワーク200(図2参照)にネットワーク設定データ400(図4参照)を追加する動作を例として、ネットワーク構築のステップを説明する。
図6は、本実施形態におけるネットワーク構築を説明するフローチャート600である。図1のネットワーク設定手順生成部103で実行される。
ネットワーク構築は、開始状態601から始まり、ステップ602に進む。
ステップ602では、まず、オペレータが物理的なネットワーク構成からネットワーク構成データ500(図5参照)を作成し、ネットワーク構成DB102に格納する。次に、オペレータがネットワーク構成をもとにユーザの要求仕様を満たす論理的なネットワーク設定であるネットワーク設定データ400(図4参照)を作成し、ネットワーク設定キュー101に格納する。ネットワーク設定データがネットワーク設定キュー101に格納されるとステップ603に進む。
ステップ603では、制御装置100のネットワーク設定手順生成部103が装置単位の設定手順を決定し、ステップ604に進む。
ステップ604では、ネットワーク設定手順生成部103がネットワーク設定データ、ネットワーク構成データをもとに装置内の設定手順を作成し、ステップ605に進む。
ステップ605では、設定済みネットワークモデルをもとに、ネットワーク200に設定済みのネットワーク設定と、ステップ604までで作成された設定手順が競合しないように設定手順を作成し、ステップ606に進む。
ステップ606は、装置内の設定先に依存して(基づいて)定められる設定手順の決定処理である。ステップ606では、ネットワーク設定データ400に記載された設定記憶部126の情報をもとに、異なる設定記憶部126に同時に設定できる設定手順を作成し、ステップ607に進む。
ステップ607では、ステップ606までで作成された設定手順に通信装置120ごとにシーケンス番号を付与し、ステップ608に進む。
ステップ608では、制御装置100が設定処理を開始し、ステップ609に進む。
ステップ609では通信装置120が設定処理を実行し、ステップ610に進み、終了する。
以上説明したように、本実施例の制御装置は、入力装置、出力装置、記憶装置102,108、および処理装置を備え、少なくとも一つの通信装置120とネットワーク110を介して接続される。制御装置は入力装置から入力され、あるいは記憶装置に記憶されたネットワーク設定データ300に基づいて、通信装置にネットワーク設定を行う。処理装置は、ネットワーク設定の設定手順を生成するネットワーク設定手順生成部103を有し、ネットワーク設定手順生成部103は、入力装置から入力され、あるいは記憶装置に記憶されているネットワーク構成データ500から通信装置の接続関係を検出する機能を有する。処理装置は、検出した接続関係と、ネットワーク設定データに基づき、通信装置単位の設定順序を生成する機能を有し、通信装置単位の設定順序に基づいて新規ネットワーク設定の設定手順を生成する。本実施例では、ネットワークの設定手順は、既存のネットワーク構成とネットワーク設定データに基づいて、動的に生成される。これにより、既存のネットワーク構成に影響を与えない設定順序を生成することができる。
以降、フローチャート600の各ステップの詳細な説明をする。
図7は、図6の装置単位の設定手順決定ステップ603の詳細を説明するフローチャート700である。まず、開始状態701から始まり、ステップ702に進む。
ステップ702では、ネットワーク設定手順生成部103がネットワーク設定キュー101からネットワーク設定データ400を読み出し、ステップ703に進む。
ステップ703では、ネットワーク設定手順生成部103がネットワーク構成DB102からネットワーク構成データ500を読み出し、ステップ704に進む。
ステップ704では、ネットワーク設定手順生成部103が、ネットワーク設定データ400をもとに装置をグラフノードとする装置設定隣接リストを初期化し、ステップ705に進む。
図8は、図7の装置設定隣接リスト初期化ステップ704で初期化された、装置設定隣接リスト800である。図8に示すグラフノード801を識別する「通信装置X」「通信装置Y」「通信装置Z」等は、図4のネットワーク設定データ400で記述された「装置name」である。すなわち、装置設定隣接リスト800は、ネットワーク設定データ400の装置タグに定義された装置をグラフノード801、装置間の接続状態をエッジ802としたグラフである。初期化されたグラフは接続状態がないグラフとなる。
フローチャート700に戻り、ステップ705からステップ711は、図8の装置設定隣接リスト800のグラフノード801に対する繰り返し処理である。すなわちここでは、変数Uは図8の[0][1][2][3][4][5]であって、各グラフノード(装置)に対して繰り返される。
ステップ706からステップ710は、変数Uのグラフノードに対応する、ネットワーク設定データ400から取得したフローエントリに対する繰り返し処理である。例えば、図8でUが[0]のグラフノード(通信装置X)に対応するフローエントリは、ネットワーク設定データ400から”a”,”b”,”c”,”d”とわかる。よって、変数Eは図11の[0][1][2][3]であって、各フローエントリに対して繰り返される。
ステップ707では、ネットワーク設定手順生成部103が、ネットワーク構成データ500から取得した変数Uのグラフノードに対応するポート情報と、変数Eのフローエントリのマッチ条件に記載された入力ポートであるinportの値(変数Pに格納)を照合し、ステップ708に進む。すなわちステップ707では、ネットワークを構成するグラフノード(装置)のポートのうち、ネットワーク構成データ500が入力ポートとして指定しているポートを抽出している。
ステップ708では、ネットワーク設定手順生成部103が、変数Pのポートが接続されている装置(変数Vに格納)を、ネットワーク構成データ500の接続タグのエントリから検索し、ステップ709に進む。これにより、ネットワーク構成データ500が入力ポートとして指定しているポートに接続される他の装置Vが抽出される。
ステップ709では、ネットワーク設定手順生成部103が、送信元を後に設定するという、設定手順決定ポリシー713に基づいて、装置設定隣接リスト800の変数Uの接続先として、変数Vを追加し、ステップ710に進む。
ステップ710では、繰り返し処理が終わっていればステップ711に進み、終わっていなければステップ706に戻る。
ステップ711では、繰り返し処理が終わっていればステップ712に進み、終わっていなければステップ705に戻る。ステップ712は終了状態である。
図9は、図7の装置単位の設定手順決定ステップ700が終了した状態の、装置設定隣接リスト900である。エッジ901の右側に書かれているグラフノードは、エッジ901の左側のグラフノードの接続元のグラフノード一覧を表している。
装置単位の設定手順は、装置設定隣接リスト900に基づいて実行される。例えば、通信装置Xを開始位置とした場合、次は通信装置Yもしくは通信装置ZもしくはAとなる。
このように、装置単位の設定手順決定ステップ700により、ネットワーク設定データ400とネットワーク構成データ500から、ネットワーク下流から設定する手順が生成される。ネットワーク下流から設定することで、予期しないパケットの流入を防ぐことができ、設定途中に起き得るネットワーク障害の回避が図れる。ここで、データの送信側を上流と称し、受信側を下流と称している。さらに好ましくは、装置設定隣接リスト900において、接続関係のない装置間を認識することで、安全に複数の装置を並列に設定できるため、設定実行時間の短縮が図れる。
また、自動的に装置単位の設定手順の組み合わせを図9の例では12通りに絞り込むことができ、設定手順の決定時間を短縮できる。装置単位の設定手順決定ステップ603を使用しない場合、装置数をnとした場合、設定手順の候補はnの階乗通り存在するため、ネットワーク設定データ400では720通りの候補から選択する必要がある。
図10は、図6の装置内の設定手順決定ステップ604の詳細を説明するフローチャート1000である。まず、開始状態1001から始まり、ステップ1002に進む。
ステップ1002からステップ1013までは、装置設定隣接リスト900のグラフノード801(変数Uに格納)の繰り返しである。
ステップ1003では、ネットワーク設定手順生成部103が、ネットワーク設定データ400をもとに変数Uの装置のフローエントリをグラフノードとするフローエントリ隣接リストを初期化し、ステップ1004に進む。
図11は、図10のフローエントリ隣接リスト初期化ステップ1003で初期化された、フローエントリ隣接リスト1100である。図中に示すグラフノード1101を識別する「a」,「b」,「c」,「d」は、図4のネットワーク設定データ400で示したフローエントリIDである。フローエントリ隣接リスト1100は、ネットワーク設定データ400のフローエントリタグに定義されたフローエントリをグラフノード1101、フローエントリの設定手順をエッジ1102で表現したグラフである。初期化されたグラフは設定の順序関係がないグラフである。
図10のフローチャート1000に戻り、ステップ1004からステップ1012までは、変数Uの装置のフローエントリに対する(変数Eに格納)繰り返しである。ステップ1005からステップ1011までは、変数Eを除く、変数Uの装置のフローエントリに対する繰り返しである。変数Eを除くのは、同一の装置相互の関係は考慮しなくてよいからである。
ステップ1006では、ネットワーク設定手順生成部103が、変数EのフローエントリのTableプロパティと、変数FのフローエントリのTableプロパティが一致しているか確認し、Yesの場合はステップ1007に、Noの場合はステップ1008に進む。Tableプロパティが一致している場合は、フローエントリの設定相互の干渉を考慮する必要があるからである。
ステップ1007では、ネットワーク設定手順生成部103が、後述するフローチャート1200を実行し、Tableプロパティが同じ場合に、変数Fのフローエントリを、変数Eのフローエントリの後に実行するか決定し、ステップ1009に進む。
ステップ1008では、ネットワーク設定手順生成部103が、後述するフローチャート1400を実行し、Tableプロパティが異なる場合に、変数Fのフローエントリを、変数Eのフローエントリの後に実行するか決定し、ステップ1009に進む。
ステップ1009では、ネットワーク設定手順生成部103がステップ1007またはステップ1008の結果を確認し、Yesの場合はステップ1010に、Noの場合はステップ1011に進む。
ステップ1010では、ネットワーク設定手順生成部103が、フローエントリ隣接リストに変数Fのフローエントリを変数Eのフローエントリの後手順として登録し、ステップ1011に進む。
ステップ1011では、繰り返し処理が終わっていればステップ1012に進み、終わっていなければステップ1005に戻る。
ステップ1012では、繰り返し処理が終わっていればステップ1013に進み、終わっていなければステップ1004に戻る。
ステップ1013では、繰り返し処理が終わっていればステップ1014に進み、終わっていなければステップ1002に戻る。ステップ1014は終了状態である。
図12は、図10の決定ステップ1008で、Tableプロパティが異なる場合に、変数Eのフローエントリを、変数Fのフローエントリより先に実行すべきか判断するフローチャート1200である。まず、開始状態1201から始まり、ステップ1202に進む。
ステップ1202では、ネットワーク設定手順生成部103が、フローエントリを追加するか削除するか判断し、Yesの場合はステップ1203に、Noの場合は、ステップ1205に進む。フローエントリを追加するか削除するかの判断は、オペレータが指定する方法や、ネットワーク設定データ400の有効期限をもとに、ネットワーク設定手順生成部103が、終了時刻前であれば追加、終了時刻後であれば削除すると判断する方法などが考えられる。
ステップ1203では、ネットワーク設定手順生成部103が、変数E、変数Fのフローエントリのアクション優先度をそれぞれ、後述するネットワーク設定手順生成部103が備えるアクション優先度テーブル1300から検索し、ステップ1204に進む。
図13は、フローエントリのアクション優先度テーブルである。このテーブルは図12の検索ステップ1203、1205で用いる。アクション優先度テーブルは、フローエントリに含まれるアクションの実行優先度が記載されている。優先度は、OpenFlow(登録商標)に規定された値を固定値としてネットワーク設定手順生成部103に格納する方法や、オペレータが任意の値を設定する方法などが考えられる。
図12のフローチャート1200に戻って、ステップ1204では、ネットワーク設定手順生成部103が、変数Eのアクション優先度が、変数Fのアクション優先度より高いか確認し、Yesの場合はステップ1207に進み、Noの場合は、ステップ1210に進む。
ステップ1205では、ネットワーク設定手順生成部103が、変数E、変数Fのフローエントリのアクション優先度をそれぞれ、後述するネットワーク設定手順生成部103が備えるアクション優先度テーブル1300から検索し、ステップ1206に進む。
ステップ1206では、ネットワーク設定手順生成部103が、変数Eのアクション優先度が、変数Fのアクション優先度より低いか確認し、Yesの場合はステップ1207に進み、Noの場合は、ステップ1210に進む。
ステップ1207では、ネットワーク設定手順生成部103が後述するフローチャート1500を実行し、変数E、変数Fそれぞれのフローエントリのマッチ条件の包含関係を決定し、ステップ1208に進む。
ステップ1208では、ネットワーク設定手順生成部103が、ステップ1207の結果が「変数Eと変数Fは排他関係」であるかを確認し、Yesであればステップ1209に、Noであればステップ1210に進む。
ステップ1209は呼び出し元にYesを返し、ステップ1210は呼び出し元にNoを返す。
このように、フローチャート1200において、アクション優先度に基づき設定手順を決定することで、データ転送部124がポートからパケットを出力するアクション(output)を実行する前に、残りの実行されるべきアクションすべてが実行されることを保証でき、設定途中のネットワーク障害の回避を図れる。また、強制される実行の順序がないことを検出できるため、並列化により設定実行時間の短縮化が実現できる。
図14は、図10の決定ステップ1007で、Tableプロパティが同じ場合に、変数Eのフローエントリを、変数Fのフローエントリより先に実行すべきか判断するフローチャート1400である。まず、開始状態1401から始まり、ステップ1402に進む。ステップ1402では、ネットワーク設定手順生成部103が、フローエントリを追加するか削除するか判断し、Yesの場合はステップ1403に、Noの場合は、ステップ1405に進む。フローエントリを追加するか削除するかの判断は、ステップ1202の場合と同様でよい。
ステップ1403では、ネットワーク設定手順生成部103が後述するフローチャート1500を実行し、変数E、変数Fそれぞれのフローエントリのマッチ条件の包含関係を決定し、ステップ1404に進む。ステップ1404では、ネットワーク設定手順生成部103が、ステップ1403の結果が、「変数Eが変数Fに包含される関係」で、かつ、変数EのフローエントリのPriorityが変数FのフローエントリのPriorityより大きいかを確認し、Yesであればステップ1407に、Noであればステップ1408に進む。
ステップ1405では、ネットワーク設定手順生成部103が後述するフローチャート1500を実行し、変数E、変数Fそれぞれのフローエントリのマッチ条件の包含関係を決定し、ステップ1406に進む。ステップ1406では、ネットワーク設定手順生成部103が、ステップ1405の結果が、「変数Eが変数Fを包含する関係」で、かつ、変数EのフローエントリのPriorityが変数FのフローエントリのPriority未満かを確認し、Yesであればステップ1407に、Noであればステップ1408に進む。ステップ1407は呼び出し元にYesを返し、ステップ1408は呼び出し元にNoを返す。
図15は、図12の決定ステップ1207で、マッチ条件の包含関係を決定するフローチャート1500である。マッチ条件の包含関係を決定ステップは引数として、2つのフローエントリEとフローエントリFを取る。まず、開始状態1501から始まり、ステップ1502に進む。ステップ1502では、ネットワーク設定手順生成部103が、後述する「変数Eが変数Fに等しい関係」か確認するフローチャート1600を実行し、ステップ1503に進む。ステップ1503では、ネットワーク設定手順生成部103が、ステップ1502の結果を確認し、Yesの場合はステップ1504に、Noの場合は1503に進む。
ステップ1505では、ネットワーク設定手順生成部103が「変数Eと変数Fが排他関係」かを確認するステップ1700を実行し、ステップ1506に進む。ステップ1506では、ネットワーク設定手順生成部103がステップ1505の結果を確認し、Yesの場合はステップ1507に、Noの場合はステップ1508に進む。
ステップ1508では、ネットワーク設定手順生成部103が「変数Eが変数Fに包含される関係」か確認するフローチャート1800を実行し、ステップ1509に進む。ステップ1509では、ネットワーク設定手順生成部103が、ステップ1508の結果を確認し、Yesの場合はステップ1510に、Noの場合はステップ1511に進む。ステップ1511では、ネットワーク設定手順生成部103が「変数Eが変数Fを包含する関係」か確認するフローチャート1900を実行し、ステップ1512に進む。ステップ1512では、ネットワーク設定手順生成部103がステップ1511の結果を確認し、Yesの場合はステップ1513に、Noの場合はステップ1514に進む。
ステップ1504、ステップ1507、ステップ1510、ステップ1513、ステップ1514は、呼び出し元にそれぞれ、「変数Eが変数Fに等しい関係」、「変数Eと変数Fが排他関係」、「変数Eが変数Fに包含される関係」、「変数Eが変数Fを包含する関係」、「変数Eと変数Fが両立の関係」を返す。
図16は、図15の確認ステップ1502で、変数Eが変数Fに等しい関係か確認するフローチャート1600である。まず、開始状態1601から始まり、ステップ1602に進む。ステップ1602では、ネットワーク設定手順生成部103が、変数Eのフローエントリのマッチ条件数と変数Fのフローエントリのマッチ条件数が等しく、かつ、変数Eのフローエントリのマッチ条件項目と、変数Fのフローエントリのマッチ条件項目が等しいか確認し、Yesの場合はステップ1603に、Noの場合はステップ1604に進む。
ステップ1603からステップ1606は、変数Eのフローエントリのマッチ条件に対する繰り返し(変数Mに格納)である。ステップ1604は、ネットワーク設定手順生成部103が、変数Fのマッチ条件から、変数Mの項目に対応するマッチ条件を取得し(変数Nに格納)、ステップ1605に進む。ステップ1605では、ネットワーク設定手順生成部103が、変数Mと変数Nが同値であるか確認し、Yesの場合はステップ1606に、Noの場合はステップ1604に進む。ステップ1606は繰り返し処理が終わっていればステップ1607に進み、終わっていなければステップ1603に戻る。ステップ1607は呼び出し元にYesを返し、ステップ1604は呼び出し元にNoを返す。
ステップ1600で得られる結果は、変数Eのマッチ条件が変数Fのマッチ条件と完全に同一であることを意味する。
図17は、図15の確認ステップ1505で、変数Eと変数Fが排他関係か確認するフローチャート1700である。まず、開始状態1701から始まり、ステップ1702に進む。ステップ1702からステップ1706は、変数Eのフローエントリのマッチ条件すべてに対する繰り返し(変数Mに格納)である。ステップ1703では、ネットワーク設定手順生成部103が、変数Fのマッチ条件から、変数Mの項目に対応するマッチ条件を取得し(変数Nに格納)、ステップ1704に進む。ステップ1704では、変数Nに値が存在するか確認し、Yesの場合はステップ1705に、Noの場合はステップ1706に進む。
ステップ1705では、ネットワーク設定手順生成部が、変数MのDon’t Careビット除くすべてのビットと変数Nのビットが等しい(変数NのDon’t Careビットは常に等しいと判断)、もしくは、変数NのDon’t Careビット除くすべてのビットと変数Mのビットが等しい(変数MのDon’t Careビットは常に等しいと判断)か確認し、Yesの場合はステップ1706、Noの場合は、ステップ1708に進む。ステップ1706は繰り返し処理が終わっていれば1707に進み、終わっていなければステップ1702に戻る。ステップ1707は呼び出しもとにNoを返し、ステップ1708は呼び出しもとにYesを返す。
ステップ1700で得られる結果は、変数Eのマッチ条件と変数Fのマッチ条件が、同時には成立しないことを意味する。
図18は、図15の確認ステップ1508で、変数Eが変数Fに包含される関係か確認するフローチャート1800である。まず、開始状態1801から始まり、ステップ1802に進む。ステップ1802では、ネットワーク設定手順生成部103が、変数Eのフローエントリのマッチ条件数が変数Fのフローエントリのマッチ条件数以上、かつ、変数Fのフローエントリのマッチ条件項目がすべて変数Eのフローエントリのマッチ条件項目に含まれるか確認し、Yesの場合はステップ1803に、Noの場合はステップ1809に進む。ステップ1803からステップ1807は、変数Eのフローエントリのマッチ条件すべてに対する繰り返し処理(変数Mに格納)である。
ステップ1804では、ネットワーク設定手順生成部103が、変数Fのマッチ条件から、変数Mの項目に対応するマッチ条件を取得し(変数Nに格納)、ステップ1805に進む。ステップ1805では、変数Nに値が存在するか確認し、Yesの場合はステップ1806に、Noの場合はステップ1807に進む。
ステップ1806では、変数MのDon’t Careビット除くすべてのビットと変数Nのビットが等しいか(変数NのDon’t Careビットは常に等しいと判断)確認し、Yesの場合はステップ1807に、Noの場合は、ステップ1809に進む。ステップ1807では、繰り返し処理が終わっていればステップ1808に進み、終わっていなければステップ1803に戻る。ステップ1808は呼び出しもとにYesを返し、ステップ1809は呼び出しもとにNoを返す。
ステップ1800で得られる結果は、変数Eのマッチ条件に一致する場合は変数Fにも一致する(逆は必ずしも真ではない)ことを意味する。
図19は、図15の確認ステップ1511で、変数Eが変数Fを包含する関係か確認するフローチャート1900である。フローチャート1900の実行結果は、フローチャート1800において、変数Eと変数Fを入れ替えて実行した結果と同様である。
また、変数Eと変数Fが両立の関係は、変数Eのマッチ条件と変数Fのマッチ条件が同時に成立する可能性があることを意味する。
図20は、初期化されたフローエントリ隣接リスト1100(図11)の初期値から出発し、装置内の設定手順決定ステップ1000が終了した状態の、通信装置X120(1)のフローエントリ隣接リスト2000の例である。エッジ2001の右側に書かれているグラフノードは、エッジ2001の左側のグラフノードより後に設定される。
図10〜図20で説明したように、ネットワーク設定手順生成部130は、ネットワーク設定データに含まれる設定同士の包含関係を検出する機能を有し、検出した包含関係に基づき、通信装置内の設定順序を生成する。 このように、フローチャート1400において、フローエントリのマッチ条件の包含関係に基づき設定手順を決定することで、マッチ条件が包含されるフローエントリを先に設定する手順が生成され、設定途中のネットワーク障害の回避が図れる。
すなわち、設定手順が固定的な従来の技術では、包含するマッチ条件のフローエントリが先に設定されることがあり、包含されるマッチ条件に一致するパケットが通信装置120に入力された場合、包含するマッチ条件をもつフローエントリのアクションが実行されてしまう問題があるのに対して、本実施形態では包含関係を確認して設定手順を生成するため、問題を解決できる。
また、包含関係のない排他的なフローエントリ関係を識別することで、強制される実行順序がないことを検出できるため、並列化により設定実行時間の短縮化が図れる。
このように、装置内の設定手順決定のフローチャート1000により、ネットワーク設定データ400から、ネットワーク障害を回避しつつ、設定実行の並列化により設定実行時間の短縮が図れる、装置内の設定手順が生成される。
図21は、図6の競合回避ステップ605において、ネットワーク200の既存設定との競合を回避するフローチャート2100である。本実施例では、ネットワーク設定変更中に既存設定に影響を与える設定、例えば、既存の通信を遮断する設定やループを形成してしまう設定などを、既存設定と競合する設定と定義している。
まず、開始状態2101から始まり、ステップ2102に進む。ステップ2102では、後述するパス単位の設定手順決定のフローチャート2200で、ネットワーク設定手順生成部103が、設定手順候補リストを作成し、ステップ2103に進む。
ステップ2103からステップ2110は、ステップ2102で作成されたフローエントリの設定手順候補リストすべてに対する繰り返し(変数Iに格納)処理である。
ステップ2104からステップ2108は、変数Iに格納されたフローエントリリストに対する繰り返し(変数Eに格納)処理である。ステップ2105では、ネットワーク設定手順生成部103が、設定済みネットワーク管理部106から取得した設定済みネットワークモデル108に、ネットワーク設定手順生成部103が、変数Eのフローエントリを適用し、ステップ2106に進む。
ステップ2106では、ネットワーク設定手順生成部103が、後述する競合検出ステップ2700を実行し、ステップ2107に進む。ステップ2107では、ステップ2106の結果から競合がないか確認し、Yesの場合はステップ2108に、Noの場合はステップ2110に進む。
ステップ2108では、繰り返し処理が終わっていればステップ2109に進み、終わっていなければステップ2104に戻る。ステップ2109では、設定手順候補リストのうち、現在変数Iに格納されている通信経路と同じパスの設定手順候補リストをスキップし(変数Iを更新)、ステップ2110に進む。ステップ2110では繰り返し処理が終わっていればステップ2111に進み、終わっていなければステップ2103に戻る。
図22は、図21のパス単位設定手順決定2102のフローチャート2200である。まず、開始状態2201から始まり、ステップ2202に進む。ステップ2202からステップ2204は、フローチャート700の実行により作成された装置設定隣接リスト900に対する繰り返し処理(変数Iに格納)である。ステップ2203では、後述する再帰的なステップである装置内設定手順候補生成のフローチャート2300を実行し、ステップ2204に進む。ステップ2204では、繰り返し処理が終わっていればステップ2205に進み、終わっていなければステップ2202に戻る。
図23は、図22の装置内設定手順候補生成ステップ2203のフローチャート2300である。装置内設定手順候補生成は再帰的な処理であり、引数として装置A、及び設定手順候補リストを格納する2次元配列のEmatrixを取る。
まず、開始状態2301から始まり、ステップ2302に進む。ステップ2302では、装置内の設定手順決定のフローチャート1000で作成した装置Aに対応するフローエントリ隣接リストを変数Uに格納し、ステップ2303に進む。ステップ2303からステップ2307は、装置Aのフローエントリ隣接リストに対する繰り返し処理(変数eに格納)である。
ステップ2304では、引数としてEmatrixと変数eを渡し、マッチ条件の包含関係を決定するフローチャート1500を実行し、ステップ2305に進む。ステップ2305ではステップ2304の結果が排他関係にあることを確認し、Yesの場合は、ステップ2306に、Noの場合はステップ2307に進む。ステップ2306では、変数Uから変数eの要素を取り除き、ステップ2307に進む。ステップ2307では、繰り返し処理が終わっていればステップ2308に進み、終わっていなければステップ2303に戻る。
ステップ2308では、後述する部分グラフ単位で順列を生成するフローチャート2400を実行し、ステップ2309に進む。ステップ2309では、順列ごとにEmatrixをコピーしたEmatrix_new[i](iは0から始まる順列の数−1の添え字)に、生成した順列を追加し、ステップ2310に進む。ステップ2310からステップ2312は、装置設定隣接リスト900から取得した、装置Aに接続されているノードに対する繰り返し処理(変数Iに格納)である。ステップ2311では、再び装置内設定手順候補生成ステップ(引数は、変数I,及びEmatrix_new[]全体)を実行し、ステップ2312に進む。ステップ2313は終了状態である。
図24は、図23の部分グラフ単位で順列を生成するステップ2308のフローチャート2400である。ここでの部分グラフとは、フローエントリ隣接リスト900において、設定手順が強制されるエッジで結合されたグラフノードの集合を意味する(単独のグラフノードはグラフノード一つの集合と見なす)。部分グラフ単位で順列を生成ステップは、引数としてフローエントリ隣接リストAを取る。まず、開始状態2401から始まり、ステップ2402に進む。ステップ2402では、配列変数W、及び配列変数Tを空集合に初期化するとともに、ステップ2403に進む。ステップ2403からステップ2407は、フローエントリ隣接リストのグラフノードに対する繰り返し処理(変数Iに格納)である。
ステップ2404では、後述する部分グラフの抽出のフローチャート2500を実行し、ステップ2405に進む。ステップ2405では、配列変数Tが空か確認し、Yesであればステップ2407に、Noであればステップ2406に進む。ステップ2406では、配列変数Wに配列変数Tを追加し、ステップ2407に進む。
ステップ2407では、繰り返し処理が終わっていればステップ2408に進み、終わっていなければステップ2408に進む。ステップ2408では、後述する順列生成のフローチャート2600を実行し、ステップ2409に進む。ステップ2409は終了状態である。
図25は、図24の部分グラフを抽出するステップ2404のフローチャート2500である。部分グラフを抽出するステップは、再帰的な処理で、引数としてグラフノードN及び結果格納用の配列Tを取る。まず、開始状態2501から始まり、ステップ2502に進む。ステップ2502では、グラフノードNが訪問状態か確認し、Yesの場合はステップ2508に、Noの場合はステップ2503に進む。ステップ2503では配列TにグラフノードNを追加し、ステップ2504に進む。ステップ2504では、グラフノードNを訪問状態に変更し、ステップ2505に進む。ステップ2505からステップ2507はグラフノードNの隣接グラフノードすべてに対する繰り返し処理(変数Iに格納)である。
ステップ2506は、再び部分グラフ抽出ステップを引数として、変数I及び配列Tを渡して実行し、ステップ2507に進む。ステップ2507では、繰り返し処理が終わっていればステップ2508に進み、終わっていなければステップ2508に進む。ステップ2508は終了状態である。
図26は、図24の順列を生成するステップ2408のフローチャート2600である。順列の生成ステップは、再帰的な処理で、引数として、部分グラフの配列A,及び結果を格納する配列Pを取る。まず、開始状態2601から始まり、ステップ2602に進む。ステップ2602では、配列Pを配列Aのサイズ分だけ、配列P[i] (iは添え字で要素i番目を意味)を複製し、ステップ2603に進む。ステップ2603からステップ2606は、配列Aの要素に対する繰り返し処理(変数Iに格納)である。
ステップ2604では、配列P[i]に変数Iを追加し、ステップ2605に進む。ステップ2605では、再び順列の生成ステップを、引数としてA−{I}、及び配列P[i]を渡して実行し、ステップ2606に進む。ステップ2606では繰り返し処理が終わっていればステップ2607に進み、終わっていなければステップ2603に戻る。ステップ2607は終了状態である。
図27は、図21の競合検出ステップ2106のフローチャート2700である。競合検出のステップは、引数として、フローエントリEを取る。まず、開始状態2701から始まり、ステップ2702に進む。ステップ2702では、フローエントリEのアクションがoutputか確認し、Yesの場合はステップ2703に、Noの場合はステップ2704に進む。
ステップ2703では、後述するループ検出のフローチャート2800を実行し、ステップ2708に進む。ステップ2704からステップ2707は、フローエントリEが設定される通信装置に既に設定されているフローエントリに対する繰り返し処理(変数Fに格納)である。フローエントリEの設定先は、フローエントリEのIDプロパティをもとにネットワーク設定データ400を検索し取得する。設定先に既に設定されているフローエントリは、設定済みネットワークモデル108から取得する。
ステップ2705では、引数としてEとFを指定してマッチ条件の包含関係を決定するフローチャート1500を実行し、ステップ2706に進む。ステップ2706では、ステップ2705の結果が排他関係かを確認し、Yesの場合はステップ2707に進み、Noの場合はステップ2709に進む。ステップ2707では、繰り返し処理が終わっていればステップ2710に進み、終わっていなければステップ2704に戻る。
ステップ2708では、ステップ2703のループ検出結果を呼び出し元に返し終了する。ステップ2709では競合を検出したErrorを呼び出し元に返し終了する。ステップ2710では、競合未検出のNoを呼び出し元に返し終了する。
図28は、図27のループ検出ステップ2703のフローチャート2800である。ループ検出のステップは再帰的な処理であり、引数として、フローエントリR、フローエントリEを取る。まず、開始状態2801から始まり、ステップ2802に進む。ステップ2802からステップ2812は、フローエントリEのアクションoutputの出力先に対する繰り返し処理(変数Pに格納)である。出力先がNormalの場合、フローエントリEのIDをもとに、ネットワーク設定データから設定先装置を特定し、設定済みネットワークモデル108から該当装置に設定されている同一VLANに属する出力ポートを得る。
ステップ2803では、ネットワーク構成データ500から変数Pが接続されている装置Xを特定し、ステップ2804に進む。ステップ2804からステップ2811は、装置Xに設定されてフローエントリに対する繰り返し処理(変数e)である。装置Xに設定されているフローエントリは、設定済みネットワークモデル108から取得する。ステップ2805は、フローエントリEとフローエントリeが同一か確認し、Yesの場合はステップ2814に、Noの場合はステップ2806に進む。
ステップ2806では、引数としてEとeを指定してマッチ条件の包含関係を決定するフローチャート1500を実行し、ステップ2807に進む。ステップ2807ではステップ2806の結果が排他関係か確認し、Yesの場合はステップ2808に、Noの場合はステップ2811に進む。
ステップ2808では、フローエントリeのアクションにoutputが含まれるかを確認し、Yesの場合はステップ2809に進み、Noの場合はステップ2811に進む。ステップ2809では、引数にフローエントリRとフローエントリeを指定して再びループ検出のステップを実行し、ステップ2811に進む。
ステップ2811では、繰り返し処理が終わっていればステップ2812に進み、終わっていなければステップ2804に戻る。ステップ2812では、繰り返し処理が終わっていればステップ2813に進み、終わっていなければステップ2802に戻る。
ステップ2813では、呼び出し元にNoを返し終了する。ステップ2814では、呼び出し元にYesを返し終了する。
図21〜図28で説明したように、ネットワーク設定手順生成部は、生成された新規ネットワーク設定の設定手順のうち、入力装置から入力され、あるいは記憶装置に記憶されている設定済みのネットワーク設定データと、競合を生じない設定手順を選択する。
具体的には、フローチャート2100において、設定手順の候補から既存設定との競合を確認した設定手順を選択することによりネットワーク設定変更中のループ回避が可能になり、また既存の設定に影響を与える矛盾した設定内容を検出することが可能になり、信頼性の高いネットワーク構成変更が実現できる。
図29は、図6の設定先依存設定手順決定ステップ606のフローチャート2900である。ここでは、ネットワーク設定データ400に記載された設定記憶部126の情報をもとに、異なる設定記憶部126に同時に設定できる設定手順を作成する。まず、開始状態2901から始まり、ステップ2902に進む。
ステップ2902からステップ2904は、装置設定隣接リスト900のグラフノードに対する繰り返し処理(変数Iに格納)である。
ステップ2903では、後述する装置内設定先依存設定手順決定のフローチャート3000を実行し、ステップ2904に進む。
ステップ2904では、繰り返し処理が終わっていればステップ2905に進み、終わっていなければステップ2902に戻る。
ステップ2905では、装置設定隣接リスト900と、後述するフローチャート2900により生成されたフローエントリ隣接リストをネットワーク設定グラフとしてまとめ、ネットワーク設定データ400とともに、ネットワーク設定実行キュー104に保存し、ステップ2906に進む。ステップ2906は終了状態である。
図30は、図29の設定先に依存した装置内における設定手順を決定するステップ2903のフローチャート3000である。ステップ2903は、再帰的な処理であり、引数として通信装置Aを取る。まず、開始状態3001から始まり、ステップ3002に進む。
ステップ3002では、ネットワーク設定データ400から、装置Aのフローエントリ隣接リストのグラフノードすべての設定先を取得し、ステップ3003に進む。ステップ3003では、ステップ3002で取得したフローエントリ隣接グラフノードの設定先をもとに、グラフノードの順番を同じ設定先(格納先)が連続しないように並び替え、ステップ3004に進む。
ステップ3004からステップ3010は通信装置Aのフローエントリ隣接リストのグラフノードに対する繰り返し処理(変数Eに格納)である。
ステップ3005では、変数Eの隣接グラフノードが複数あるか確認し、Yesの場合はステップ3006に、Noの場合はステップ3007に進む。
ステップ3006では、ステップ3002で取得した変数Eの隣接グラフノードの設定先をもとに、隣接グラフノードの順番を同じ設定先(格納先)が連続しないように並び替え、ステップ3007に進む。
ステップ3007からステップ3009は、変数Eに含まれるoutputアクションの出力先通信装置に対する繰り返し処理(変数Iに格納)である。outputアクションの出力先通信装置は、ネットワーク構成データ500から取得する。ステップ3008では、引数に変数Iを指定して、装置内設定先依存設定手順決定のフローチャート3000を実行し、ステップ3009に進む。ステップ3009では繰り返し処理が終了していればステップ3010に進み、終了していなければステップ3007に戻る。ステップ3010では、繰り返し処理が終了していればステップ3011に進み、終了していなければステップ3004に戻る。ステップ3011は終了状態である。
図31は、図6の装置内設定先依存設定手順決定ステップ606のフローチャート3000実行後の、通信装置X120(1)のフローエントリ隣接リストの例である。
このように、装置内設定先依存設定手順決定のフローチャート3000に基づいて、設定先の影響を考慮した設定手順を生成することにより、設定実行の衝突を回避することができ、設定実行時間の短縮が実現される。
図32は、図6のシーケンス番号付与ステップ607のフローチャート3200である。まず、開始状態3201から始まり、ステップ3202に進む。ステップ3202からステップ3207は、装置設定リスト900のグラフノードに対する繰り返し処理(変数Iに格納)である。ステップ3203からステップ3206は、変数Iのフローエントリ隣接リストのグラフノードのうち、先頭手順のグラフノードに対する繰り返し処理(変数Eに格納)である。ステップ3204は、後述する装置内シーケンス番号を付与するフローチャート3300を実行し、ステップ3205に進む。
ステップ3205では、変数Iのうち最終手順のグラフノードの次にバリア命令を追加し、ステップ3206に進む。ステップ3206では繰り返し処理が終わっていればステップ3207に進み、終わっていなければステップ3203に戻る。ステップ3207では繰り返し処理が終わっていればステップ3208に進み、終わっていなければステップ3202に戻る。ステップ3208は終了状態である。
図33は、図32の装置内シーケンス番号を付与するステップ3204のフローチャート3300である。装置内シーケンス番号の付与は再帰的な処理であり、引数にフローエントリEとシーケンス番号nを取る。まず、開始状態3301から始まり、ステップ3302に進む。
ステップ3302ではフローエントリEにシーケンス番号nを付与し、ステップ3303に進む。ステップ3303からステップ3305はフローエントリEの隣接グラフノードに対する繰り返し処理(変数Iに格納)である。ステップ3304は、引数に変数I及びn+1を指定し、再び装置内シーケンス番号の付与のフローチャートを実行する。
ステップ3305では、繰り返し処理が終わっていればステップ3306に進み、終わっていなければステップ3303に戻る。ステップ3306は終了状態である。
図32〜図33で説明したように、本実施例では、生成された設定手順に設定順序を表すシーケンス番号を付与する。また、通信装置単位で、設定完了の応答を要求する命令を追加する。
このように、通信装置120ごとフローエントリにシーケンス番号を付与することで、通信装置120内で同じシーケンス番号を持っている設定を並列に実行できることが識別できるので並列実行により、設定実行時間の短縮化につながる。
また、通信装置120はシーケンス番号に基づいて独立して正しい設定手順で設定実行が可能になるため、制御装置100が逐次フローエントリの設定実行が終了したか確認する必要がなくなり、設定完了確認に要する時間を削減できる。例えば、ネットワーク設定データ400の通信装置X120(1)には4つのフローエントリがあるため、仮に、コンフィギュレーションネットワークが高遅延なWAN、例えば100msの遅延を持つネットワーク場合、従来技術では、設定完了確認に、100ms×2(往復)×4=800ms必要とするのに対して、本実施形態では、100ms×2(往復)=200msで済み、設定実行時間の短縮を図ることができる。
図34は、制御装置100における図6の設定実行ステップ608のフローチャートである。まず、開始状態3401から始まり、ステップ3402に進む。
ステップ3402では、ネットワーク設定実行部105が、ネットワーク設定実行キュー104からネットワーク設定グラフGとネットワーク設定データCを読み出し、ステップ3403に進む。
ステップ3403では、ネットワーク設定実行部105が、装置設定の並列実行を行い、ステップ3404に進む。ステップ3404は終了状態である。
図35は、ネットワーク設定実行部105における、図6の装置設定の並列実行ステップ609のフローチャート3500である。装置設定の並列実行は再帰的な処理であり、引数として装置設定隣接リスト(図9参照)のグラフノードを取る。まず、開始状態3501から始まり、ステップ3502に進む。
ステップ3502では、ネットワーク設定実行部105が、装置設定隣接リストのグラフノードのうち、互いに隣接していないグラフノードAn(nは自然数で、最大は互いに隣接していないグラフノードの数)を引数に、後述する装置設定の実行のフローチャート3600(図36参照)を実行し、ステップ3503に進む。
ステップ3503は、並列に実行したステップ3502それぞれ独立に実行される。ステップ3503では、ネットワーク設定実行部105が、Anの隣接ノードすべてを引数に、再び装置設定の並列実行を呼び出し、ステップ3504に進む。ステップ3504は終了状態である。
図36は、図35の装置設定の実行ステップ3502のフローチャート3600で、引数として装置Aを取る。まず、開始状態3601から始まり、ステップ3602に進む。ステップ3602では、ネットワーク設定実行部105が、後述するフローエントリ設定の並列実行3700を行いステップ3603に進む。ステップ3603は終了状態である。
図37は、図36のフローエントリ設定の並列実行ステップ3602のフローチャート3700である。フローエントリ設定の並列実行は再帰的処理であり、引数にフローエントリ隣接リストのグラフノードを取る。まず、開始状態3701から始まり、ステップ3702に進む。
ステップ3702は、互いに隣接していないフローエントリのグラフノードAn(nは自然数で、最大は互いに隣接していないグラフノードの数)分、並列に実行される。
ステップ3702では、ネットワーク設定実行部105が、ネットワーク設定データCからAnに対応する設定データXnを取得し、ステップ3703に進む。
ステップ3703では、ネットワーク設定実行部105が、設定データXnを対象の通信装置120に送信し、ステップ3704に進む。
ステップ3704では、ネットワーク設定実行部105が、Anに送信済みフラグを設定し、ステップ3705に進む。
ステップ3705では、Xnがバリア命令か確認し、Yesの場合はステップ3706に進み、Noの場合はステップ3707に進む。
ステップ3706では、バリア命令を送信した通信装置120からバリア応答が戻ってくるのを待ち、戻ってきたらステップ3707に進む。
ステップ3707では、Anの隣接ノードで送信済みフラグが設定されていないグラフノードを引数に、フローエントリ設定の並列実行を呼び出し、ステップ3708に進む。ステップ3708は終了状態である。
以上の実施例では、ネットワーク設定データに含まれる設定の、通信装置の保存先を検出する。そして、新規ネットワーク設定に含まれる複数の設定が同時に通信装置に設定できるように設定手順を生成する。このために、ネットワーク設定実行部105がネットワーク設定グラフに基づき設定を実行する。これにより、装置単位及び装置内のフローエントリ単位で、ネットワークに障害を起こさない手順で設定を並列実行できるため、安全に制御装置の設定実行時間の短縮を図れる。また、本実施例のネットワーク設定実行部は、生成された設定手順に従い、通信装置に設定を実行し、設定完了の応答を要求する命令を送信した場合は応答を待つように構成することができる。
図38は、通信装置120における、図6の設定処理ステップ609の一部である、設定要求受信のフローチャート3800である。まず、開始状態3801から始まり、ステップ3802に進む。
ステップ3802では、設定実行部122が、制御装置100からの設定要求を受信し、ステップ3803に進む。
ステップ3803では、設定実行部122が設定キュー123に、設定要求を格納し、ステップ3804に進む。ステップ3804は終了状態である。
図39は、通信装置120における、図6の設定処理ステップ609の一部である、設定実行のフローチャート3900である。まず、開始状態3901から始まり、ステップ3902に進む。
ステップ3902では、n個ある(nは自然数)設定実行部(図1の122)の設定実行4000が並列に実行され、ステップ3903に進む。ステップ3903は終了状態である。
図40は、図6の設定処理ステップ609の一部である、設定実行部122における設定実行のフローチャートである。まず、開始状態4001から始まり、ステップ4002に進む。
ステップ4002では、設定実行部122が、実行シーケンス番号nを1に初期化し、ステップ4003に進む。
ステップ4003では、設定実行部122が、設定キューからシーケンス番号nの設定を取得し、ステップ4004に進む。
ステップ4004では、設定実行部122が、受信した設定を設定記憶部に保存し、ステップ4005に進む。
ステップ4005では、設定実行部122が、実行シーケンス番号nに1を加え、ステップ4006に進む。
ステップ4006では、設定実行部122が、設定キューが空か確認し、Yesの場合は、ステップ4007に進み、Noの場合はステップ4003に進む。ステップ4007は終了状態である。
図41は、本発明の実施形態における、ネットワーク構成変更のタイムラインを示している。
図41のネットワーク設計開始時刻4110は、オペレータが要求仕様に基づきネットワークを構成する装置それぞれの設定内容を検討し、ネットワーク設定データ300、およびネットワーク構成データ500の作成に着手(図6のステップ602)した時刻である。オペレータは設計作業を終えると、ネットワーク設定データ300をネットワーク設定キュー101に、ネットワーク構成データ500をネットワーク構成DB102に格納する。
設定手順生成開始時刻4120は、ネットワーク設定手順生成部103がネットワーク設定キュー101からネットワーク設定データ300を読み出し、図6のステップ603を開始した時刻である。
ネットワーク設計終了時刻4130は、ネットワーク設定手順生成部103により生成されたネットワーク設定グラフとネットワーク設定データが、ネットワーク設定実行キュー104に格納された時刻である。
以上でネットワークの設定準備4131が終わり、システムは予定されたネットワーク構成変更開始時刻4140まで待機する。ネットワークの設定準備4131の間は、ネットワークは運用可能である。
ネットワーク構成変更開始時刻4140は、ネットワーク設定データに記載された設定開始時刻であり、ネットワーク設定実行部105が、図34のフローチャート3400に示す設定を開始した時刻である。
ネットワーク検証開始時刻4150は、フローチャート3400に示す設定が終わった後、ネットワークが正しく設定されたか検証を開始する時刻である。サービスイン4160は、検証後実際にネットワークの運用を開始できる時刻である。
本発明は、ネットワーク設計時に設定手順を生成し、図41の設定実行時間4170を短縮することで、高速なネットワーク構成変更を可能とする。設定実行時間は、構成中のネットワークが利用できない時間であり、設定実行時間4170を短縮することで、ネットワーク資源の利用効率を向上させることができる。
本実施例は、実施例1における制御装置の設定実行時間を短縮するものである。図1を参照し、実施例1から変更がある構成についてのみ、以下に示す。
図42は、実施例2におけるネットワーク設定システムの構成例を示すブロック図である。本実施例では、制御装置100を複数備える。本実施例では、複数の制御装置100は、互いに通信できるようにコンフィギュレーションネットワーク110に接続しているが、互いに通信できれば、コンフィギュレーションネットワーク110以外のネットワークを追加して接続してもよい。
図43は、変更後の制御装置における設定実行のフローチャート4300である。ステップ3401からステップ3402(図34参照)は、実施例1と同様である。
ステップ4301では、ネットワーク設定実行部105が、読み出したネットワーク設定グラフに分割済み設定フラグが設定されているか確認し、Yesの場合はステップ4305に、Noの場合はステップ4302に進む。
ステップ4302では、ネットワーク設定実行部105がネットワーク設定グラフGを分割しステップ4303に進む。本実施例では、装置設定リストのルートノード、すなわち、ネットワークの最下流に位置する通信装置の集合を制御装置数で分割している。制御装置数で割り切れない場合は余りを任意の制御装置に割り当ててもよい。分割は、均等分割の他、制御装置の負荷や、制御装置が管理する通信装置の数に基づいてもよい。
ステップ4303では、ネットワーク設定実行部105が、分割されたネットワーク設定グラフG[i](iは添え字)それぞれに、分割済みのフラグを設定し、ステップ4304に進む。
ステップ4304では、自身を含む制御装置のネットワーク設定実行キューに分割したネットワーク設定グラフG[i]を格納し、ステップ4305に進む。
ステップ4305では、分割後のネットワーク設定グラフGを引数に指定して、装置設定の並列実行ステップを実行し、ステップ4306に進む。ステップ4306は終了状態である。
このように変更することにより、ネットワーク設定を複数の制御装置100で並列に実行可能になり、制御装置の負荷が下がるため、設定実行時間の短縮が図れる。
本実施例中、ソフトウエアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウエアでも実現できる。そのような態様も本願発明の範囲に含まれる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。
102…ネットワーク構成データ、103…ネットワーク設定手順生成部、105…ネットワーク設定実行部、108…設定済みネットワークモデル、110…コンフィギュレーションネットワーク、120…通信装置、122…設定実行部、123…設定キュー、126…設定記憶部、300…ネットワーク設定データ、603…装置単位の設定手順決定ステップ、604…装置内の設定手順決定ステップ、605…既存設定との競合回避ステップ、606…装置内設定先依存設定手順決定ステップ、607…シーケンス番号付与ステップ、608…制御装置における設定処理ステップ、609…通信装置における設定処理ステップ。

Claims (15)

  1. 入力装置、出力装置、記憶装置、および処理装置を備え、少なくとも一つの通信装置とネットワークを介して接続され、前記入力装置から入力され、あるいは前記記憶装置に記憶されたネットワーク設定データに基づいて、前記通信装置にネットワーク設定を行う制御装置であって、
    前記処理装置は、前記ネットワーク設定の設定手順を生成するネットワーク設定手順生成部を有し、
    該ネットワーク設定手順生成部は、
    前記入力装置から入力され、あるいは前記記憶装置に記憶されているネットワーク構成データから前記通信装置の接続関係を検出する機能と、
    前記検出した接続関係と、前記ネットワーク設定データに基づき、前記通信装置単位の設定順序を決め、新規ネットワーク設定の設定手順を生成する機能を有することを特徴とするネットワーク制御装置。
  2. 前記ネットワーク設定手順生成部は、
    前記ネットワーク設定データに含まれる設定同士の包含関係を検出する機能を有し、
    前記検出した包含関係に基づき、前記通信装置内の設定順序を生成することを特徴とする請求項1のネットワーク制御装置。
  3. 前記ネットワーク設定手順生成部は、
    前記生成された新規ネットワーク設定の設定手順のうち、前記入力装置から入力され、あるいは前記記憶装置に記憶されている設定済みのネットワーク設定と、競合を生じない前記設定手順を選択する請求項2のネットワーク制御装置。
  4. 前記ネットワーク設定データに含まれる設定の、前記通信装置内の保存先を検出し、前記新規ネットワーク設定に含まれる複数の設定を同時に、前記通信装置内の異なる保存先に設定するように設定手順を生成することを特徴とする請求項3のネットワーク制御装置。
  5. 前記生成された設定手順に設定順序を表すシーケンス番号を付与し、かつ、前記通信装置単位で、設定完了の応答を要求する命令を追加することを特徴とする請求項4のネットワーク制御装置。
  6. ネットワーク設定実行部を有し、前記生成された設定手順に従い、前記通信装置に設定を実行し、前記設定完了の応答を要求する命令を送信した場合は応答を待つことを特徴とする請求項5のネットワーク制御装置。
  7. 前記通信装置単位の設定順序は、データの送信側を上流、受信側を下流と定義した場合、下流側から順番に設定する請求項1のネットワーク制御装置。
  8. 制御装置と通信装置がネットワークを介して接続されたネットワーク設定システムであって、
    前記制御装置は、
    入力装置、出力装置、記憶装置、および処理装置を備え、前記入力装置から入力され、あるいは前記記憶装置に記憶されたネットワーク設定データに基づいて、前記通信装置にネットワーク設定を行う制御装置であって、
    前記処理装置は、前記ネットワーク設定の設定手順を生成するネットワーク設定手順生成部を有し、
    該ネットワーク設定手順生成部は、
    前記入力装置から入力され、あるいは前記記憶装置に記憶されているネットワーク構成データから前記通信装置の接続関係を検出する機能と、
    前記検出した接続関係と、前記ネットワーク設定データに基づき、前記通信装置単位の設定順序を生成する機能と、
    前記通信装置単位の設定順序に基づいて新規ネットワーク設定の設定手順を生成する制御装置であり、
    前記通信装置は、
    設定実行部、設定記憶部を有し、前記設定実行部は、前記制御装置から受信した設定を、前記設定順序に従って、前記設定記憶部に格納することを特徴とするネットワーク設定システム。
  9. 前記制御装置が2つ以上ある場合は、設定手順を生成した前記制御装置の前記ネットワーク設定実行部が、他の前記制御装置に、設定処理を分割することを特徴とする請求項7のネットワーク設定システム。
  10. 前記ネットワーク設定手順生成部は、
    前記ネットワーク設定データに含まれる設定同士の包含関係を検出する機能を有し、
    前記検出した包含関係に基づき、前記通信装置内の設定順序を生成する請求項8のネットワーク設定システム。
  11. 前記ネットワーク設定手順生成部は、
    前記生成された新規ネットワーク設定の設定手順のうち、前記入力装置から入力され、あるいは前記記憶装置に記憶されている設定済みのネットワーク設定と、競合を生じない前記設定手順を選択する請求項10のネットワーク設定システム。
  12. 前記ネットワーク設定データに含まれる設定の、前記通信装置の保存先を検出し、前記新規ネットワーク設定に含まれる複数の設定が同時に、前記通信装置内の異なる保存先に設定できるように設定手順を生成することを特徴とする請求項11のネットワーク設定システム。
  13. 前記生成された設定手順に設定順序を表すシーケンス番号を付与し、かつ、前記通信装置単位で、設定完了の応答を要求する命令を追加することを請求項12のネットワーク設定システム。
  14. ネットワーク設定実行部を有し、前記生成された設定手順に従い、前記通信装置に設定を実行し、前記設定完了の応答を要求する命令を送信した場合は応答を待つ請求項13のネットワーク設定システム。
  15. 前記通信装置単位の設定順序は、データの送信側を上流、受信側を下流と定義した場合、下流側から順番に設定する請求項8のネットワーク設定システム。
JP2014137549A 2014-07-03 2014-07-03 ネットワーク制御装置、及びネットワーク設定システム Pending JP2016015672A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014137549A JP2016015672A (ja) 2014-07-03 2014-07-03 ネットワーク制御装置、及びネットワーク設定システム
US14/752,326 US20160006605A1 (en) 2014-07-03 2015-06-26 Network control device and network setting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014137549A JP2016015672A (ja) 2014-07-03 2014-07-03 ネットワーク制御装置、及びネットワーク設定システム

Publications (1)

Publication Number Publication Date
JP2016015672A true JP2016015672A (ja) 2016-01-28

Family

ID=55017807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014137549A Pending JP2016015672A (ja) 2014-07-03 2014-07-03 ネットワーク制御装置、及びネットワーク設定システム

Country Status (2)

Country Link
US (1) US20160006605A1 (ja)
JP (1) JP2016015672A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10355920B2 (en) * 2016-07-13 2019-07-16 Computational Systems, Inc. Defining acquisition and measurement definitions in a machine monitoring system
JP7143718B2 (ja) * 2018-10-16 2022-09-29 日本電信電話株式会社 装置設定制御装置、ネットワークシステム、装置設定方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013236399A (ja) * 2010-05-28 2013-11-21 Nec Corp 通信システム、ノード、制御装置、通信方法およびプログラム
WO2014055400A1 (en) * 2012-10-05 2014-04-10 Nec Laboratories America, Inc. Network management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316671A (ja) * 2002-04-19 2003-11-07 Hitachi Ltd ストレージネットワークの構成表示方法
DE112010003776B4 (de) * 2009-09-25 2016-08-18 Mitsubishi Electric Corp. Netzwerk-Performance-Schätzvorrichtung, Netzwerk-Performance-Schätzverfahren und Netzwerkkonfiguration-Prüfverfahren

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013236399A (ja) * 2010-05-28 2013-11-21 Nec Corp 通信システム、ノード、制御装置、通信方法およびプログラム
WO2014055400A1 (en) * 2012-10-05 2014-04-10 Nec Laboratories America, Inc. Network management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OPENFLOW SWITCH SPECIFICATION VERSION 1.4.0, JPN6017030491, 14 October 2013 (2013-10-14), US, pages 28 - 29, ISSN: 0003749253 *
あきみち, 他2名, マスタリングTCP/IP OPENFLOW編, vol. 第1版, JPN6017029394, 25 July 2013 (2013-07-25), pages 41 - 42, ISSN: 0003749252 *

Also Published As

Publication number Publication date
US20160006605A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
Majumdar et al. Kuai: A model checker for software-defined networks
US10042654B2 (en) Computer-based distribution of large sets of regular expressions to a fixed number of state machine engines for products and services
US10990724B1 (en) System and method for incremental topology synthesis of a network-on-chip
US20090070773A1 (en) Method for efficient thread usage for hierarchically structured tasks
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
US10225183B2 (en) System and method for virtualized receive descriptors
US20220045948A1 (en) Path creation method and device for network on chip and electronic apparatus
US20180089270A1 (en) Pipeline dependent tree query optimizer and scheduler
US20140241347A1 (en) Static translation of network forwarding plane models into target implementation in the hardware abstraction layer
JP6926953B2 (ja) 情報処理装置、情報処理方法及びプログラム
TWI636679B (zh) 虛擬區域網路配置系統與方法及其電腦程式產品
JP2016015672A (ja) ネットワーク制御装置、及びネットワーク設定システム
RU2584471C1 (ru) УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ
US20220036206A1 (en) Containerized distributed rules engine
WO2015107711A1 (ja) 分散環境モデル用モデル検査装置、分散環境モデル用モデル検査方法及びプログラム
JPWO2015107711A6 (ja) 分散環境モデル用モデル検査装置、分散環境モデル用モデル検査方法及びプログラム
JP6654733B2 (ja) データ処理装置、ネットワークシステム、パケット順序制御回路、およびデータ処理方法
WO2017052589A1 (en) Pre-processing of data packets with network switch application-specific integrated circuit
JP6729567B2 (ja) パラメータ決定装置、パラメータ決定方法、および、プログラム
CN109218204A (zh) 一种解决mac hash冲突的方法和装置
US10067816B2 (en) Model checking apparatus and method, and storage medium having program stored therein
JP2014225719A (ja) 統合ネットワーク、統合運用管理装置、ネットワーク統合運用管理方法およびプログラム
US11757733B2 (en) Parallel service invocation in a network
EP4160468A1 (en) System and method for deadlock detection in network-on-chip (noc) having external dependencies
CN110249594B (zh) 通信装置和通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180306