(57)【要約】【課題】木構造の未知データモデルを共通データモデルに対応付けるプログラム等を提供する。【解決手段】教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされている。学習段階として、既知データモデルを、親ノード及び子ノード群に分解する親子ノード分解手段と、「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて学習する第１の機械学習エンジンとして機能させる。推定段階として、第１の機械学習エンジンは、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する。【選択図】図４
2019180052.tif 000002
【特許請求の範囲】
【請求項１】
親ノード及び子ノードからなる木構造のデータモデルについて、未知データモデルを共通データモデルにマッチングさせる装置に搭載されたコンピュータを機能させるプログラムであって、
教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされており、
既知データモデルを、親ノード及び子ノード群に分解する親子ノード分解手段と、
「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて学習する第１の機械学習エンジンと
してコンピュータを機能させ、
第１の機械学習エンジンは、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する
ようにコンピュータを機能させることを特徴とするプログラム。
【請求項２】
第１の機械学習エンジンに入力された「未知データモデルの子ノード群」がつながる「未知データモデルの親ノード」に、第１の機械学習エンジンによって推定された「共通データモデルの親ノード」をマッチングさせる
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
既知データモデルを、親ノード及び葉ノードに分解する親葉ノード分解手段と、
「既知データモデルの親ノード及び葉ノード」と、既知データモデルの葉ノードにマッチングされた「共通データモデルの子ノード」とを対応付けて学習する第２の機械学習エンジンと
してコンピュータを更に機能させ、
第２の機械学習エンジンは、「未知データモデルの親ノード及び葉ノード」を入力し、「共通データモデルの子ノード」を推定する
ようにコンピュータを機能させることを特徴とする請求項２に記載のプログラム。
【請求項４】
第２の機械学習エンジンに入力された「未知データモデルの葉ノード」に、第２の機械学習エンジンによって推定された「共通データモデルの子ノード」をマッチングさせる
ようにコンピュータを機能させることを特徴とする請求項３に記載のプログラム。
【請求項５】
前記共通データモデルは、ネットワーク管理用プロトコル基づくＹＡＮＧ(Yet Another Next Generation)モデルであり、
親ノード及び子ノードは、"container"又は"list"によって規定され、
葉ノードとなる子ノードは、"leaf"又は"leaf-list"によって規定される
ようにコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
親ノード及び子ノードからなる木構造のデータモデルについて、未知データモデルを共通データモデルにマッチングさせる推定装置であって、
教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされており、
既知データモデルを、親ノード及び子ノード群に分解する親子ノード分解手段と、
「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて学習する第１の機械学習エンジンと
を有し、
第１の機械学習エンジンは、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する
ことを特徴とする推定装置。
【請求項７】
親ノード及び子ノードからなる木構造のデータモデルについて、未知データモデルを共通データモデルにマッチングさせる装置の推定方法であって、
教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされており、
前記装置は、
既知データモデルを、親ノード及び子ノード群に分解する第１のステップと、
「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて第１の機械学習エンジンに学習させる第２のステップと、
第１の機械学習エンジンを用いて、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する第３のステップと
を実行することを特徴とする装置の推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク管理用のデータモデルを共通化する技術に関する。
【背景技術】
【０００２】
近年、ネットワークの仮想化によって、オーケストレータやコントローラを用いてネットワーク全体を統合的に管理する必要性が高くなってきている。そのために、ネットワーク装置に対するNETCONF/YANGの実装も進んできている。
ネットワーク機器の管理プロトコルNETCONFで使用される記述言語YANG(Yet Another Next Generation)は、ネットワーク機器の設定項目や状態、 手続き呼び出しなどの構造を記述可能とする。これは、ネットワーク管理プロトコルSNMP(Simple Network Management Protocol)で使用される記述言語SMI(Structure of Management Information)と同じ関係にある。
YANGを用いてネットワーク機器の値や構造を階層型に抽象化したものは、「YANGデータモデル」と称される。
【０００３】
また、YANGデータモデルを用いてネットワーク装置を管理するために、OpenConfig（例えば非特許文献１参照）やOpenROADM MSA（例えば非特許文献２参照）がある。これらによって、ネットワーク装置のメーカに依存しないAPI(Application Programming Interface)が提供される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８１６０５号公報
【非特許文献】
【０００５】
【非特許文献１】「OpenConfig」、[online]、［平成３０年３月５日検索］、インターネット＜URL:http://www.openconfig.net/＞
【非特許文献２】「Open ROADM MSA」、[online]、［平成３０年３月５日検索］、インターネット＜URL:http://www.openroadm.org/home.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、様々なメーカやベンダによって開発されるネットワーク装置は、現実的には、共通データモデルに対応したものは少ない。上位のオーケストレータやコントローラが一元的に、異なるメーカのネットワーク装置を制御するためには、メーカ独自のデータモデルを、共通データモデルに変換する必要がある。
【０００７】
これに対し、異なる組織によって作成された任意のデータテーブル間で、同一の内容を表す属性を、各属性に含まれる属性値（文字列及び数値）の類似性に基づいてマッチングする技術もある（例えば特許文献１参照）。
しかしながら、ネットワーク管理用のYANGデータモデルは、木構造のものであって、各属性に含まれる属性値のようにテーブルに含まれる情報のみではマッチングすることは難しい。
【０００８】
例えばネットワーク装置の場合、回線インタフェースにおける回線速度やアドレス、回線ＩＤのような物理的／具体的な属性は、マッチングが容易である。これに対し、木構造のデータモデルにおける中間ノード（葉ノード以外）は、概念的で、メーカにおける設計思想によって大きく異なる。特に、ユニット／ブロックが多段又はフラットのようなネットワーク構成に応じて、中間ノードは、様々に構成される。また、ボードやラック毎に集約してから、光／メタル／無線とメディア種別毎に集約したり、逆に、メディア種別毎に集約してから、ハードウェア毎に集約したりすることもある。即ち、中間ノードが様々に構成される。
【０００９】
これに対し、本願の発明者らは、ネットワーク管理プロトコルにおけるデータモデルの場合、中間ノードの構成はメーカによって大きく異なっていても、親ノードにつながる子ノード群の構成や、親ノードにつながる葉ノードの属性は、比較的類似するのではないか、ということに注目した。
【００１０】
そこで、本発明は、木構造の未知データモデルを共通データモデルに対応付けることができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によれば、親ノード及び子ノードからなる木構造のデータモデルについて、未知データモデルを共通データモデルにマッチングさせる装置に搭載されたコンピュータを機能させるプログラムであって、
教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされており、
既知データモデルを、親ノード及び子ノード群に分解する親子ノード分解手段と、
「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて学習する第１の機械学習エンジンと
してコンピュータを機能させ、
第１の機械学習エンジンは、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する
ようにコンピュータを機能させることを特徴とする。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
第１の機械学習エンジンに入力された「未知データモデルの子ノード群」がつながる「未知データモデルの親ノード」に、第１の機械学習エンジンによって推定された「共通データモデルの親ノード」をマッチングさせる
ようにコンピュータを機能させることも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
既知データモデルを、親ノード及び葉ノードに分解する親葉ノード分解手段と、
「既知データモデルの親ノード及び葉ノード」と、既知データモデルの葉ノードにマッチングされた「共通データモデルの子ノード」とを対応付けて学習する第２の機械学習エンジンと
してコンピュータを更に機能させ、
第２の機械学習エンジンは、「未知データモデルの親ノード及び葉ノード」を入力し、「共通データモデルの子ノード」を推定する
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明のプログラムにおける他の実施形態によれば、
第２の機械学習エンジンに入力された「未知データモデルの葉ノード」に、第２の機械学習エンジンによって推定された「共通データモデルの子ノード」をマッチングさせる
ようにコンピュータを機能させることも好ましい。
【００１５】
本発明のプログラムにおける他の実施形態によれば、
共通データモデルは、ネットワーク管理用プロトコル基づくＹＡＮＧ(Yet Another Next Generation)モデルであり、
親ノード及び子ノードは、"container"又は"list"によって規定され、
葉ノードとなる子ノードは、"leaf"又は"leaf-list"によって規定される
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明によれば、親ノード及び子ノードからなる木構造のデータモデルについて、未知データモデルを共通データモデルにマッチングさせる推定装置であって、
教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされており、
既知データモデルを、親ノード及び子ノード群に分解する親子ノード分解手段と、
「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて学習する第１の機械学習エンジンと
を有し、
第１の機械学習エンジンは、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する
ことを特徴とする。
【００１７】
本発明によれば、親ノード及び子ノードからなる木構造のデータモデルについて、未知データモデルを共通データモデルにマッチングさせる装置の推定方法であって、
教師データとしての既知データモデルのノードは、共通データモデルのノードにマッチングされており、
装置は、
既知データモデルを、親ノード及び子ノード群に分解する第１のステップと、
「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて第１の機械学習エンジンに学習させる第２のステップと、
第１の機械学習エンジンを用いて、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する第３のステップと
を実行することを特徴とする。
【発明の効果】
【００１８】
本発明のプログラム、装置及び方法によれば、木構造の未知データモデルを共通データモデルに対応付けることができる。
これによって、様々なメーカによって開発されたネットワーク装置であっても、その未知データモデルを共通データモデルに変換することによって、ネットワーク管理用のデータモデルを共通化することができる。
【図面の簡単な説明】
【００１９】
【図１】木構造の共通データモデルに対するYANG記述言語を表す説明図である。
【図２】既知データモデルと共通データモデルとのマッチングを表す説明図である。
【図３】未知データモデルと共通データモデルとを表す説明図である。
【図４】本発明における推定装置の第１の機能構成図である。
【図５】学習段階における親子ノード分解部と第１の機械学習エンジンと間のデータ構成を表す説明図である。
【図６】推定段階における第１の機械学習エンジンの入出力のデータ構成を表す説明図である。
【図７】本発明における推定装置の第２の機能構成図である。
【図８】学習段階における親葉ノード分解部と第２の機械学習エンジンと間のデータ構成を表す説明図である。
【図９】推定段階における第２の機械学習エンジンの入出力のデータ構成を表す説明図である。
【発明を実施するための形態】
【００２０】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２１】
図１は、木構造の共通データモデルに対するYANG記述言語を表す説明図である。
【００２２】
図１によれば、共通データモデルは、最上位の親ノードから、中間ノードを辿って、葉ノードまで木構造に構成されている。
親ノード：下位につながるノードを持つ。
子ノード：上位につながるノード（親ノード）を持つ。
葉ノード：下位につながるノードを持たない。葉ノードは子ノードとなる。
中間ノード：上位につながるノードを持つと共に、下位につながるノードを持つ。
YANG記述言語によれば、親ノード及び中間ノードは、"container"又は"list"によって下位につながるノードが規定される。一方で、葉ノードは、"leaf"又は"leaf-list"によって規定される。また、親ノードと子ノードとの関係は、例えばXPath"/"のように記述することができる。そして、ノード毎に、ネットワーク管理情報が記述されている。
【００２３】
図２は、既知データモデルと共通データモデルとのマッチングを表す説明図である。
【００２４】
既知データモデルであっても、共通データモデルと全く同じ木構造を有するとは限らない。即ち、ネットワーク装置のデータモデルにおける中間ノードは、メーカによって様々に構成されている。但し、教師データとなる既知データモデルの各ノードは、共通データモデルのノードにマッチングされている。
【００２５】
図３は、未知データモデルと共通データモデルとを表す説明図である。
【００２６】
未知データモデルは、共通データモデルとのマッチング関係が不明なものであって、推定対象となるものである。未知データモデルも、既知データモデルと同様に、共通データモデルと全く同じ木構造を有するとは限らない。
本発明によれば、図３のような未知データモデルであって、中間ノードの構成が不明であっても、共通データモデルのノードとのマッピングを推定することができる。
【００２７】
図４は、本発明における推定装置の第１の機能構成図である。
【００２８】
推定装置１は、未知データモデルの子ノード群から、共通データモデルの親ノードを推定するものである。図４によれば、推定装置１は、学習段階と推定段階とに分類され、親子ノード分解部１１１と、第１の機械学習エンジン１１２とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、データモデルをマッチングさせる装置の推定方法としても理解できる。
【００２９】
＜学習段階＞
図５は、学習段階における親子ノード分解部と第１の機械学習エンジンと間のデータ構成を表す説明図である。
【００３０】
［親子ノード分解部１１１］
親子ノード分解部１１１は、既知データモデルを、親ノード及び子ノード群に分解する。
【００３１】
図５によれば、図２の既知データモデルを、以下のような４つの親ノード及び子ノードに分解している。
［既知データモデルの親ノード］          ［既知データモデルの子ノード群］
/network                          -> /node
/network/node                     -> /term
/network/node/term                -> /tp-type
/used-wavelength
/network/node/term/used-wavelength-> /index
/frequency
/width
【００３２】
次に、既知データモデルの親ノードと、共通データモデルの親ノードとのマッチングを得る。
［既知データモデルの親ノード］         ［共通データモデルの親ノード］
/network                          -> /network
/network/node                     -> /network/node
/network/node/term                -> /network/node/termination-point
/network/node/term/used-wavelength->
/network/node/termination-point/tx-ttp-attributes/used-wavelength
【００３３】
［第１の機械学習エンジン１１２］
第１の機械学習エンジン１１２は、「既知データモデルの子ノード群」と、これら子ノード群につながる既知データモデルの親ノードにマッチングされた「共通データモデルの親ノード」とを対応付けて学習する。
【００３４】
共通データモデルの親ノードと、既知データモデルの子ノード群とを対応付ける。
［共通データモデルの親ノード］         ［既知データモデルの子ノード群］
/network                           -> /node
/network/node                      -> /term
/network/node/termination-point    -> /tp-type
/used-wavelength
/network/node/termination-point/tx-ttp-attributes/used-wavelength 
-> /index
/frequency
/width
第１の機械学習エンジンへ１１２は、この対応関係を教師データとして入力することによって、学習モデルを構築する。
【００３５】
第１の機械学習エンジン１１２は、教師あり学習(Supervised learning)に基づくものである。教師データｘ及びｙ（二値分類問題）を対応付けて入力し、ｘ及びｙのデータ間の写像関数を近似的に学習する。これによって、未知データｘを入力することよって予測データｙを得ることができる。具体的には、サポートベクタマシンやニューラルネットワークなどを用いることができる。
【００３６】
＜推定段階＞
第１の機械学習エンジン１１２は、同一の親ノードにつながる「未知データモデルの子ノード群」を入力し、「共通データモデルの親ノード」を推定する。
未知データモデルの最上位ノードから下位ノードへ順に、第１の機械学習エンジン１１２における推定を繰り返すことによって、葉ノードにつながる親ノードまで、共通データモデルのノードとマッチングさせることができる。
【００３７】
図６は、推定段階における第１の機械学習エンジンの入出力のデータ構成を表す説明図である。
【００３８】
図６によれば、未知データモデルの子ノード群が、第１の機械学習エンジン１１２へ入力されている。
/index
/frequency
/width
これによって、第１の機械学習エンジン１１２は、共通データモデルの親ノードを推定する。
/network/node/termination-point/tx-ttp-attributes/used-wavelength
【００３９】
図６によれば、「未知データモデルの子ノード群」（/index、/frequency、/width）がつながる「未知データモデルの親ノード」（/network/node/term/used-wavelength）に、第１の機械学習エンジン１１２によって推定された「共通データモデルの親ノード」（/network/node/termination-point/tx-ttp-attributes/used-wavelength）をマッチングさせることができる。
【００４０】
図７は、本発明における推定装置の第２の機能構成図である。
【００４１】
推定装置１は、未知データモデルの親ノード及び葉ノードから、共通データモデルの子ノードを推定するものである。図７によれば、推定装置１は、学習段階と推定段階とに分類され、親葉ノード分解部１２１と、第２の機械学習エンジン１２２とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、データモデルをマッチングさせる装置の推定方法としても理解できる。
【００４２】
＜学習段階＞
図８は、学習段階における親葉ノード分解部と第２の機械学習エンジンと間のデータ構成を表す説明図である。
【００４３】
［親葉ノード分解部１２１］
親葉ノード分解部１２１は、既知データモデルを、親ノード及び葉ノードに分解する。
【００４４】
図８によれば、図２の既知データモデルを、以下のような４つの親ノード及び葉ノードに分解している。
［既知データモデルの親ノード］          ［既知データモデルの葉ノード］
/network/node/term                 -> /tp-type
/network/node/term/used-wavelength -> /index
/network/node/term/used-wavelength -> /frequency
/network/node/term/used-wavelength -> /width
【００４５】
次に、既知データモデルの葉ノードと、共通データモデルの子ノードとのマッチングを得る。
［既知データモデルの葉ノード］ -> ［共通データモデルの子ノード］
/tp-type   -> /network/node/termination-point/tp-type
/index     -> /network/node/termination-point/tx-ttp-attributes
/used-wavelength/index
/frequency -> /network/node/termination-point/tx-ttp-attributes
/used-wavelength/frequency
/width     -> /network/node/termination-point/tx-ttp-attributes
/used-wavelength/width
【００４６】
［第２の機械学習エンジン１２２］
第２の機械学習エンジン１２２は、「既知データモデルの親ノード及び葉ノード」と、既知データモデルの葉ノードにマッチングされた「共通データモデルの子ノード」とを対応付けて学習する。
【００４７】
既知データモデルの親ノード及び葉ノードと、共通データモデルの子ノードとを対応付ける。
｛既知データモデルの親ノード・葉ノード｝
-> ｛共通データモデルの子ノード｝
｛/network/node/term -> /tp-type｝
-> /network/node/termination-point/tp-type
｛/network/node/term/used-wavelength -> /index｝
-> /network/node/termination-point/tx-ttp-attributes
/used-wavelength/index
｛/network/node/term/used-wavelength -> /frequency｝
-> /network/node/termination-point/tx-ttp-attributes
/used-wavelength/frequency
｛/network/node/term/used-wavelength -> /width｝
-> /network/node/termination-point/tx-ttp-attributes
/used-wavelength/width
第２の機械学習エンジンへ１２２は、この対応関係を教師データとして入力することによって、学習モデルを構築する。
【００４８】
第２の機械学習エンジン１２２も、第１の機械学習エンジン１１２と同様に、教師あり学習(Supervised learning)に基づくものである。
【００４９】
＜推定段階＞
図９は、推定段階における第２の機械学習エンジンの入出力のデータ構成を表す説明図である。
【００５０】
図９によれば、未知データモデルの親ノード及び葉ノードが、第２の機械学習エンジン１２２へ入力されている。
［未知データモデルの親ノード］          ［未知データモデルの葉ノード］
/network/node/term/used-wavelength -> /frequency
これによって、第２の機械学習エンジン１２２は、共通データモデルの子ノードを推定する。
/network/node/termination-point/tx-ttp-attributes
/used-wavelength/frequency
【００５１】
第２の機械学習エンジン１２２に入力された「未知データモデルの親ノード」（/network/node/term/used-wavelength）がつながる「未知データモデルの葉ノード」（/frequency）に、第２の機械学習エンジン１２２によって推定された「共通データモデルの子ノード」（/network/node/termination-point/tx-ttp-attributes/used-wavelength/frequency）をマッチングさせることができる。
【００５２】
本発明の特徴は、未知データの葉ノードと、共通データモデルの子ノードとをマッチングさせるために、未知データの葉ノード周辺となる親ノードも一緒に学習することにある（第２の機械学習エンジン１２２）。遡って、その未知データの親ノードと、共通データモデルの子ノードとをマッチングさせるために、未知データの親ノード周辺となる子ノード群も一緒に学習することにある（第１の機械学習エンジン１１２）。
【００５３】
未知データモデルの最上位ノードから下位ノードへ順に、第１の機械学習エンジン１１２における推定を繰り返すことによって、葉ノードにつながる親ノードまで、共通データモデルのノードとマッチングさせることができる。
次に、葉ノード（親ノードとの組）毎に、第２の機械学習エンジン１２２における推定を繰り返すことによって、未知データモデルの全ての葉ノードを、共通データモデルの子ノードとマッチングさせることができる。
【００５４】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、木構造の未知データモデルを共通データモデルに対応付けることができる。
これによって、様々なメーカによって開発されたネットワーク装置であっても、その未知データモデルを共通データモデルに変換することによって、ネットワーク管理用のデータモデルを共通化することができる。
【００５５】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５６】
１  推定装置
１１１  親子ノード分解部
１１２  第１の機械学習エンジン
１２１  親葉ノード分解部
１２２  第２の機械学習エンジン
【図１】
2019180052.tif 000003
【図２】
2019180052.tif 000004
【図３】
2019180052.tif 000005
【図４】
2019180052.tif 000006
【図５】
2019180052.tif 000007
【図６】
2019180052.tif 000008
【図７】
2019180052.tif 000009
【図８】
2019180052.tif 000010
【図９】
2019180052.tif 000011