(57)【要約】【課題】  ネットワークにおいてソフトウェア制御部を実行する方法を提供する。【解決手段】  グラフィカルポリシインタフェースアーキテクチャは、ネットワークサービス、接続、及び装置を制御するためにソフトウェア制御部のためのカスタマイズされたポリシロジックの簡略化グラフィカル開発を可能にできる。グラフィカルポリシロジック表記に基づくポリシロジックは、実行時にソフトウェア制御部にコンパイルされインストールされ得る。【選択図】  図２
2017220240.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおいてソフトウェア制御部を実行する方法であって、前記方法は、
ポリシルールに基づき、ソフトウェア制御部を用いてネットワークを制御するグラフィカルポリシロジックを設計するためにグラフィカルポリシ表記を使用するステップと、
前記ソフトウェア制御部の中で制御ロジックを決定するためにグラフィカルポリシ執行部により使用可能なランタイムモジュールとして前記グラフィカルポリシロジックをコンパイルするステップと、
前記ソフトウェア制御部により前記制御ロジックにアクセスするステップであって、前記制御ロジックは、前記ランタイムモジュールにより少なくとも部分的に決定される、ステップと、
を有し、
前記グラフィカルポリシ執行部は、
前記グラフィカルポリシロジックに基づく動作を前記ソフトウェア制御部へ送信し、前記動作は、前記ソフトウェア制御部による実行のためのネットワークコマンドを表し、
前記ソフトウェア制御部から前記ネットワークの中で生じるイベントを受信する、
方法。
【請求項２】
前記グラフィカルポリシ執行部において、オペレータから、前記ネットワークにおける機能を制御するための制御要求を受信するステップと、
前記制御要求に基づき前記動作を生成するステップと、
前記オペレータのために表記を生成するステップであって、前記表記は前記イベントに基づく、ステップと、
を更に有する請求項１に記載の方法。
【請求項３】
前記ソフトウェア制御部が前記ネットワークを制御するために実行中の間、前記グラフィカルポリシロジックを有する前記ランタイムモジュールは、前記ソフトウェア制御部に取り入れられる、請求項１に記載の方法。
【請求項４】
グラフィカルポリシ表記を使用するステップは、
前記グラフィカルポリシロジックを設計するために、グラフィカル表記エディタを使用するステップ、
を更に有する、請求項１に記載の方法。
【請求項５】
前記グラフィカルポリシロジックは、複数の異なるソフトウェア制御部と共に使用可能である、請求項１に記載の方法。
【請求項６】
前記ソフトウェア制御部は、前記ネットワークと通信するために複数のネットワークプロトコルをサポートする、請求項１に記載の方法。
【請求項７】
ネットワークであって、
前記ネットワークを制御するために制御ロジックにアクセスするソフトウェア制御部と、
グラフィカルポリシ執行部であって、
前記ソフトウェア制御部の中で前記制御ロジックを決定するために前記グラフィカルポリシ執行部により使用可能なランタイムモジュールとしてグラフィカルポリシロジックを受信でき、前記グラフィカルポリシロジックは、グラフィカルポリシ表記を用いるポリシルールに基づき設計され、前記制御ロジックは、前記ランタイムモジュールにより少なくとも部分的に決定され、
前記グラフィカルポリシロジックに基づく動作を前記ソフトウェア制御部へ送信でき、前記動作は、前記ソフトウェア制御部による実行のためのネットワークコマンドを表し、
前記ソフトウェア制御部から前記ネットワークの中で生じるイベントを受信できる、
グラフィカルポリシ執行部と、
を有するネットワーク。
【請求項８】
前記グラフィカルポリシ執行部は、さらに、
オペレータから、前記ネットワークにおける機能を制御するための制御要求を受信でき、
前記制御要求に基づき前記動作を生成でき、
前記オペレータのために表記を生成でき、前記表記は前記イベントに基づく、
請求項７に記載のネットワーク。
【請求項９】
前記ソフトウェア制御部が前記ネットワークを制御するために実行中の間、前記グラフィカルポリシロジックを有する前記ランタイムモジュールは、前記ソフトウェア制御部に取り入れられる、請求項７に記載のネットワーク。
【請求項１０】
グラフィカルポリシ表記を使用することは、
前記グラフィカルポリシロジックを設計し及びコンパイルするために、グラフィカル表記エディタを使用すること、
を更に有する、請求項７に記載のネットワーク。
【請求項１１】
前記グラフィカルポリシロジックは、複数の異なるソフトウェア制御部と共に使用可能である、請求項７に記載のネットワーク。
【請求項１２】
前記ソフトウェア制御部は、前記ネットワークと通信するために複数のネットワークプロトコルをサポートする、請求項７に記載のネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信ネットワークに関し、より具体的には、ネットワーク制御システムのためのグラフィカルポリシインタフェースに関する。
【背景技術】
【０００２】
データセンタインフラストラクチャ（「クラウド」として参照される）からネットワーク接続されたサービス（「クラウドアプリケーション」として参照される）としてより多くのアプリケーションが提供されるので、クラウドアプリケーションは、共有物理インフラストラクチャ上で実行され、複数テナントのクラウドの中の「テナント」として考えられる。例えば、クラウドは、地理的に離散するデータセンタを接続するデータセンタ間光ネットワークと共に、各々のデータセンタ内部に計算リソース及びデータセンタ内ネットワークを有する分散型データセンタインフラストラクチャを表し得る。計算リソースの視覚化は、クラウドのための主要技術として出現しており、複数のテナントが計算及びネットワークリソースの両方を効率的に共有することを可能にできる。
【０００３】
視覚化と共に、ネットワークサービス及び機能のソフトウェアに基づく制御も、種々のネットワーク機能を実装するソフトウェア制御部を用いて普及してきている。例えば、ソフトウェア定義ネットワーク（Software−defined  networking：ＳＤＮ）は、ネットワーク仮想化及び抽象化へ向かう重要なステップを表し、ユーザ入力から手動によるのではなく、論理ネットワークエンティティをソフトウェア命令を用いて自動的にインスタンス化させることができる。ソフトウェアに基づくネットワーク制御技術と実際のネットワークプロバイダ運用との間の複雑性に起因して、各々のソフトウェア制御部に関連するカスタマイズは、ネットワークサービスを展開するための複雑性、コスト、及び遅延を追加し得る。
【発明の概要】
【０００４】
一態様では、ネットワークにおいてソフトウェア制御部を実行する方法が開示される。方法は、ポリシルールに基づき、ソフトウェア制御部を用いてネットワークを制御するグラフィカルポリシロジックを設計するためにグラフィカルポリシ表記を用いるステップを有して良い。方法は、ソフトウェア制御部の中で制御ロジックを決定するためにグラフィカルポリシ執行部により使用可能なランタイムモジュールとしてグラフィカルポリシロジックをコンパイルするステップを有して良い。方法は、ソフトウェア制御部により制御ロジックにアクセスするステップを更に有して良い。方法において、制御ロジックは、ランタイムモジュールにより少なくとも部分的に決定されて良い。方法において、グラフィカルポリシ執行部は、グラフィカルポリシロジックに基づく動作をソフトウェア制御部へ送信し、該動作はソフトウェア制御部により実行するためのネットワークコマンドを表し、ソフトウェア制御部からネットワーク内で生じるイベントを受信して良い。
【０００５】
開示の実施形態のうちの任意のものにおいて、方法は、前記グラフィカルポリシ執行部において、オペレータから、前記ネットワークにおける機能を制御するための制御要求を受信するステップと、前記制御要求に基づき前記動作を生成するステップと、前記オペレータのために注釈を生成するステップであって、前記注釈は前記イベントに基づく、ステップと、を更に有して良い。
【０００６】
方法の開示の実施形態のうちの任意のものにおいて、前記ソフトウェア制御部が前記ネットワークを制御するために実行中の間、前記グラフィカルポリシロジックを有する前記ランタイムモジュールは、前記ソフトウェア制御部に取り入れられて良い。
【０００７】
方法の開示の実施形態のうちの任意のものにおいて、グラフィカルポリシ注釈を使用するステップは、前記グラフィカルポリシロジックを設計するために、グラフィカル注釈エディタを使用するステップ、を更に有して良い。
【０００８】
方法の開示の実施形態のうちの任意のものにおいて、前記グラフィカルポリシロジックは、複数の異なるソフトウェア制御部と共に使用可能であって良い。
【０００９】
方法の開示の実施形態のうちの任意のものにおいて、前記ソフトウェア制御部は、前記ネットワークと通信するために複数のネットワークプロトコルをサポートする。
【００１０】
追加の開示の態様は、本願明細書に記載のように、ネットワーク及びグラフィカルポリシ執行部を制御するために制御ロジックにアクセスするソフトウェア制御部を有するネットワークを含む。
【図面の簡単な説明】
【００１１】
本開示並びにその特徴及び利点のより完全な理解のため、添付の図と共に以下の説明を参照する。
【図１】ネットワークの一実施形態の選択された要素のブロック図である。
【図２】グラフィカルポリシインタフェースアーキテクチャの一実施形態の選択された要素のブロック図である。
【図３Ａ】グラフィカルポリシロジック表記の実施形態の選択された要素のブロック図である。
【図３Ｂ】グラフィカルポリシロジック表記の実施形態の選択された要素のブロック図である。
【図３Ｃ】グラフィカルポリシロジック表記の実施形態の選択された要素のブロック図である。
【図３Ｄ】グラフィカルポリシロジック表記の実施形態の選択された要素のブロック図である。
【図４】グラフィカルポリシロジック制御システムの一実施形態の選択された要素のブロック図である。
【図５】ネットワークを制御する方法の一実施形態の選択された要素のフローチャートである。
【図６】ネットワーク制御部の一実施形態の選択された要素のブロック図である。
【発明を実施するための形態】
【００１２】
以下の説明では、開示の主題の議論を容易にするために例として詳細事項が説明される。しかしながら、当業者には、開示の実施形態が例示であること及び全ての可能な実施形態を網羅するものではないことが明らかである。
【００１３】
本開示を通じて、ハイフンで結んだ形式の参照符号は、１つの要素の特定のインスタンスを表し、ハイフンを有しない形式の参照符号は、要素を一般的又は集合的に表す。したがって、例として（図示しない）、装置１２−１は、装置クラスのインスタンスを表し、装置１２として集合的に言及されて良く、それらのうちの任意のものが装置１２として一般的に言及されて良い。図及び説明の中で、同様の記号は同様の要素を表す。
【００１４】
上述のように、種々のネットワーク機能を実装するソフトウェア制御部を用いるネットワークサービスのソフトウェアに基づく制御は、依然として、大幅なカスタマイズを含み得る。例えば、各々のソフトウェア制御部は、特に、ＭＰＬＳ（multiprotocol  label  switching）、ＶＬＡＮ（virtual  local  area  networks）、及びＮＶＧＲＥ（network  virtualization  using  generic  routing  encapsulation）のような種々の標準のためのサービス定義を取り扱うために専用のカスタマイズに依存し得る。ソフトウェアに基づく制御を実装するソフトウェア制御システム（又は単に「ソフトウェア制御部」）の例は、ＳＤＮ（software−defined  networking）及びＮＦＶ（network  function  virtualization）マネジャを含む。市販のＳＤＮソフトウェア制御部の例は、特に、６WINDGate（６WIND  USA,  Inc.）、Arista  EOS（Arista  Networks,  Inc.）、Brocade  Vyatta（Brocade  Communication  Systems,  Inc.）、Cisco  APIC（Cisco  Systems,  Inc.）、及びJuniper  NorthStar（Juniper  Networks,  Inc.）を含む。サービス要件を満たし及び既存のネットワーク技術をサポートするためにネットワークオペレータにより使用される制御ロジックを備えるこのようなソフトウェア制御部のカスタマイズは、最も高度な又は洗練されたソフトウェア制御部でさえ、数週間又は数ヶ月のハードコードされたソフトウェアの開発を含み得る。
【００１５】
更に詳述するように、単純な視覚化インタフェースを通じて知的ポリシロジックの生成を可能にするネットワーク制御システムのグラフィカルポリシインタフェースが本願明細書に開示される。本願明細書に開示のネットワーク制御システムのグラフィカルポリシインタフェースは、グラフィカルポリシロジック表記を用い、ＧＵＩ（graphical  user  interface）を用いて、所望のポリシに従い制御ロジックの定義を可能にする。本願明細書に開示のネットワーク制御システムのグラフィカルポリシインタフェースは、個々のソフトウェア制御部と統合され得るポリシロジックをコンパイルするために、グラフィカルポリシロジック表記のコンパイルを可能にする。コンパイルされたポリシロジックは、種々のネットワークプロトコル、ネットワーク装置、及び外部アプリケーションをサポートする複雑なポリシルールセットを記述するランタイムモジュールであって良い。
【００１６】
図を参照すると、図１は、ネットワーク１００の一実施形態の選択された要素を示すブロック図である。特定の実施形態において、ネットワーク１００は、Ｅｔｈｒｅｎｅｔ（登録商標）ネットワークであって良い。ネットワーク１００は、ネットワーク１００のコンポーネントにより通信される１又は複数の信号を運ぶよう動作する１又は複数の伝送媒体１１２を有しても良い。ネットワーク１００のコンポーネントは、伝送媒体１１２により一緒に結合され、複数のネットワーク要素１０２を含んで良い。図示のネットワーク１００では、各々のネットワーク要素１０２は、４個の他のノードと結合される。しかしながら、任意の適切な数のネットワーク要素１０２の任意の適切な構成がネットワーク１０を生成して良い。ネットワーク１００はメッシュネットワークとして示されるが、ネットワーク１００は、リング型ネットワーク、ポイントツーポイントネットワーク、又は任意の他の適切なネットワーク若しくはネットワークの結合として構成されて良い。光ネットワーク１００は、短距離都市域ネットワーク、長距離都市間ネットワーク、又は任意の他の適切なネットワーク若しくはネットワークの組合せの中で用いられて良い。
【００１７】
各々の伝送媒体１１２は、ネットワーク装置１０２を互いに通信可能に結合し対応するネットワーク装置１０２の間で情報を通信するよう構成される、任意のシステム、装置、又は機器を有して良い。例えば、伝送媒体１１２は、光ファイバ、イーサネット（登録商標）ケーブル、Ｔ１ケーブル、WiFi信号、Bluetooth（登録商標）信号、及び／又は他の適切な媒体を有して良い。
【００１８】
ネットワーク１００は、伝送媒体１１２を介して情報又は「トラフィック」を通信して良い。ここで使用されるとき、「トラフィック」は、ネットワーク１００で送信され、格納され又はソートされる情報を意味する。このようなトラフィックは、オーディオ、ビデオ、テキスト、及び／又は他の適切なデータをエンコードするよう構成された光又は電気信号を有して良い。データは、同期又は非同期で送信されて良く、確定的に（「リアルタイム」とも表される）及び／又は確率的に送信されて良い。特定の実施形態では、トラフィックは、限定ではなくインターネットプロトコル（ＩＰ）を含む適切な通信プロトコルを介して通信されて良い。さらに、ネットワーク１００を介して通信されるトラフィックは、フレーム、パケットで構造化されるか又は非構造化ビットストリームを含むがこれらに限定されない任意の適切な方法で構造化されても良い。
【００１９】
ネットワーク１００の中の各々のネットワーク要素１０２は、ラフィックを送信及び受信するよう動作する任意の適切なシステムを有して良く、ネットワークサービスを提供して良い。図示の実施形態では、各ネットワーク要素１０２は、１又は複数の他のネットワーク要素１０２にトラフィックを直接送信し、１又は複数の他のネットワーク要素１０２からトラフィックを直接受信するよう動作して良い。
【００２０】
本開示の範囲から逸脱することなく、ネットワーク１００に対し変更、追加又は省略が行われて良い。記載のネットワーク１００のコンポーネント及び要素は、特定の必要に従い統合され又は分離されて良い。さらに、ネットワーク１００の動作は更に多くの、更に少ない又は他のコンポーネントにより実行されて良い。
【００２１】
動作中、ネットワーク１００は、前述のようにソフトウェア制御部を用いて制御されて良い。具体的には、ネットワーク１００の中の装置は、ソフトウェア制御部により種々のネットワークプロトコルを用いてネットワーク１００の中で構成され及びプログラミングされて良い。ソフトウェア制御部は、本願明細書に開示のように、ネットワーク制御システムのグラフィカルポリシインタフェースをサポートして良い。
【００２２】
図２を参照すると、グラフィカルポリシインタフェースアーキテクチャ２００の一実施形態の選択された要素の概略ブロック図が示される。図２のグラフィカルポリシインタフェースアーキテクチャ２００は、ネットワーク１００（図１を参照）の中に実装されて良く、説明の目的のために概略図である。
【００２３】
図２に示すように、管理者２０４は、グラフィカルポリシロジック２１０を生成するために、グラフィカルポリシ設計部２０２にポリシルール２０６を適用して良い。図３に、グラフィカルポリシロジック２１０の例示的表記が示される。ポリシルール２０６は、ネットワーク１００内でのソフトウェア制御部２２０の所望の動作を定めて良い。この方法で、任意の種類のネットワーク活動に関連する手順が、ポリシルール２０６により定められる。
【００２４】
概して、ポリシルール２０６は、ネットワーク１００内の様々な種類の動作を含んで良い。特定の例示的な動作種類は、ポリシルール２０６により指定されて良く、表１に与えられる。
【００２５】
［表１］例示的なネットワーク動作のためのポリシルール明細事項
【表１】
2017220240.tif 000003
【００２６】
多くの場合に、グラフィカルポリシインタフェースアーキテクチャ２００は、ネットワークサービスを顧客に提供するネットワークオペレータにより操作されて良い。顧客に提供されるネットワークサービスの種々の態様は、ネットワークオペレータにより提供される所望のサービスレベルを指定するサービス内容合意書（service−level  agreement：ＳＬＡ）により指定されて良い。一方で、ネットワークサービスのコスト及び価格も、合意しているＳＬＡにより決定されて良い。表２は、一例として、ネットワーク１００に又はネットワーク１００内の特定リンクに適用され得るネットワークサービスＳＬＡ定義の例を列挙する。表２は、説明を目的とする例示的な実施形態であること、及び実際のＳＬＡは表２に示されない様々な他の異なる種類のＳＬＡパラメータを含み得ることに留意する。
【００２７】
［表２］ＳＬＡネットワークサービスの例
【表２】
2017220240.tif 000004
【００２８】
説明の目的でＳＬＡに関連する特定情報を示す表２に示されるように、ＳＬＡパラメータ（データレート、最大遅延、信頼性）が、３つの異なる性能レベル（Ｇｏｌｄ、Ｓｉｌｖｅｒ、Ｂｒｏｎｚｅ）について指定される。表２のＧｏｌｄ  ＳＬＡネットワークサービス定義は、１０ギガビットイーサネットデータレート、１００ｍｓ最大遅延、及び保証信頼レベルを指定し、完全保護スイッチング又は別の冗長機構による保護されたサービスが有効であることを示す。表２のＳｉｌｖｅｒ  ＳＬＡネットワークサービス定義は、１０ギガビットイーサネットデータレート、２００ｍｓ最大遅延、及び共有リスク信頼性レベルを指定し、これは、何らかのダウンタイムリスクを伴う、より低い保護レベルが関連すること、及び指定ネットワークリンクが少なくとも何らかの既存ネットワークリンクと組み込んで良く、したがって他のネットワークリンクとバックアップリスクを共有し得ることを示す。表２のＢｒｏｎｚｅ  ＳＬＡネットワークサービス定義は、１ギガビットイーサネットデータレート、ベストエフォート遅延、及びベストエフォート信頼性レベルを指定し、これは、待ち時間及び信頼性の両方が指定ネットワークリンクについてネットワークオペレータのベストエフォートに従う非保護ネットワークサービスを示す。
【００２９】
したがって、表２の例に示すように、選択されたＳＬＡ定義を実装するための制御ロジック動作は、ポリシルール２０６により与えられて良い。言い換えると、顧客ＳＬＡは、特定ポリシルール２０６を定めるために使用されて良い。具体的には、ＳＬＡパラメータの値は、他のパラメータの中でも特に、ポリシルール２０６によりキャプチャされる、接続種類（データレート）、接続のルーティング（最大遅延）、及び接続の動作（信頼性）を決定して良い。例えば、ポリシルール２０６は、保護又は非保護ネットワークサービスがプロビジョニングされるかのような、指定ネットワークリンクが対応するＳＬＡパラメータに従いどのようにプロビジョニングされるかを指定して良い。別の例では、ポリシルール２０６は、指定ネットワークリンク内の障害が自動的に警報を生成するか又は（保護ネットワークサービスでは）保護切り替えイベントを開始するかのような、特定ネットワークが復旧動作又は通知動作をトリガするか否かのような、指定ネットワークリンクがネットワークイベントにどのように反応するかを指定して良い。
【００３０】
表２には、ネットワーク制御に関連する特定のＳＬＡパラメータの例が示され、且つ説明の目的で示される。したがって、ポリシルール２０６は、指定ネットワークリンクについてのネットワーク制御の様々な特長も定めて良い。ポリシルール２０６が指定するネットワーク制御の範囲は、ソフトウェア制御部２２０がアクセス及び視認性を有する（特定ネットワーク機器及び装置のような）ネットワークの実際の能力に依存して良い。したがって、ポリシルール２０６は、特定の実施形態及び実装においてネットワーク制御の異なる態様を有して良い。限定又は排除ではなく、ポリシルール２０６により指定され得るネットワーク制御の幾つかの例示的領域は、表３に与えられる。
【００３１】
［表３］例示的なネットワーク制御領域のためのポリシルール明細事項
【表３】
2017220240.tif 000005
【００３２】
さらに、ポリシルール２０６は、ネットワーク制御に加えて、ネットワーク接続サービスをアドレスする種々のポリシレイヤを有して良い。追加のポリシレイヤは、特定顧客サービス要求がどのように処理され及び応答されるべきかのような、ビジネス決定又は顧客選好に関連して良い。さらに、ポリシルール２０６は、特定ネットワーク機器が特定ネットワークリンクについてどのように構成され及び作動されるべきかのような、装置レベルプロビジョニングサービスを指定して良い。
【００３３】
ソフトウェア制御部２２０の機能は、グラフィカルポリシ設計部２０２にインポートされるプロシジャとして表されて良い。プロシジャ呼び出しは、ソフトウェア制御部２２０内の関数のためのＡＰＩ（application  programming  interface）を表して良い。グラフィカルポリシ設計部２０２は、更に以下に詳述するように、例えばグラフィカル表記エディタを含むことにより、グラフィカル表記でグラフィカルポリシロジック２１０の生成を可能にするアプリケーションであって良い。
【００３４】
次に、グラフィカルポリシインタフェースアーキテクチャ２００において、グラフィカルポリシロジック２１０は、コンパイルされ、実行のためにグラフィカルポリシ執行部２０８へ送信される。幾つかの実施形態では、グラフィカルポリシ設計部２０２は、グラフィカルポリシロジック２１０をコンパイルするためにポリシコンパイラを有して良い。グラフィカルポリシ執行部２０８は、したがって、ネットワーク１００内の機能を制御するためにソフトウェア制御部２２０（図３及び６も参照）と一緒に実行するランタイム環境を有して良い。
【００３５】
グラフィカルポリシロジック２１０のソフトウェア制御部２２０との統合は、異なる手順及び方法を用いて実現されて良い（図４も参照）。
【００３６】
グラフィカルポリシロジック２１０をソフトウェア制御部２２０と統合する第１の例示的な実施形態では、標準化インタフェースが使用されて良い。ＯＮＦ（Open  Networking  Foundation）によるような、種々のネットワーク機能のためのＡＰＩ（application  programming  interface）のための情報及びデータモデルを定める種々の基準が公布されていることに留意する。グラフィカルポリシロジック２１０（グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８と一緒に）及びソフトウェア制御部２２０が同じ標準化インタフェースに従うとき、ソフトウェア制御部２２０はグラフィカルポリシロジック２１０に従うだろう。
【００３７】
グラフィカルポリシロジック２１０をソフトウェア制御部２２０と統合する第２の例示的な実施形態では、ソフトウェア制御部２２０の独自仕様ＡＰＩが、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８と共に使用するためにインストールされて良い。したがって、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８がソフトウェア制御部２２０と共に使用されるとき、特定のソフトウェア制御部２２０に関連付けられる独自仕様ＡＰＩは、ＸＭＬ（extensible  markup  language）仕様の仕様によるように、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８にロードされ又はそれらにアクセス可能にされて良い。結果として、ソフトウェア制御部２２０の独自仕様ＡＰＩは、ポリシルール２０６を生成するため及びグラフィカルポリシロジック２１０を実行するために、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８に利用可能且つアクセス可能になる。幾つかのソフトウェア制御部２２０は、通常、通信のためにＨＴＴＰ（hypertext  transfer  protocol）に依存するＲｅＳＴ（representational  state  transfer）アーキテクチャ型プロトコルをサポートすることに留意する。したがって、ＲｅＳＴ準拠インタフェースのような共通インタフェースを使用して、ソフトウェア制御部２２０の独自仕様ＡＰＩは、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８から直接呼び出されることができる。
【００３８】
グラフィカルポリシロジック２１０をソフトウェア制御部２２０と統合する第３の例示的な実施形態では、ソフトウェア制御部２２０の独自仕様ＡＰＩを統合するために、顧客システム統合が、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８のソースコードの直接変更の形式で実行されて良い。この方法でグラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８がカスタマイズされると、ソフトウェア制御部２２０の独自仕様ＡＰＩは、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８から直接呼び出されることができる。
【００３９】
図２に示すように、グラフィカルポリシ執行部２０８は、ネットワーク１００のネットワーク運用を担って良いオペレータ２１２により作動され又は監視されて良い。この能力において、オペレータ２１２は、機能を制御するための制御要求２１５をグラフィカルポリシ執行部２０８に送信して良い。グラフィカルポリシロジック２１０に基づき、グラフィカルポリシ執行部２０８は、ソフトウェア制御部２２０により実行するために、特定ネットワークコマンドを表す動作２１７を生成して良い。ソフトウェア制御部２２０はネットワーク１００において生じるイベント２１８を報告するとき、グラフィカルポリシ執行部は、イベント２１８を受信して良く、オペレータ２１２による閲覧のために通知２１６を生成して良い。グラフィカルポリシ執行部２０８は、動作２１７を生成するために制御要求２１５をフィルタし又は処理して良く、通知２１６を生成するためにイベント２１８をフィルタし又は処理して良い。この方法で、グラフィカルポリシ執行部２０８及びソフトウェア制御部２２０を使用して実行されるポリシワークフローは、ソフトウェア制御部２２０内に存在するハードコードされた制御ロジックを置き換えることができる。ソフトウェア制御部２２０は、さらに、ネットワーク１００内の特定の装置又はシステムと通信するために、ネットワークプロトコル２２２をサポートし及び使用して良い。
【００４０】
図３Ａを参照すると、グラフィカルポリシロジック表記３００−１の一実施形態の選択された要素のブロック図が示される。グラフィカルポリシロジック表記３００−１は、前述のように、グラフィカルポリシ設計部２０２を用いて生成されて良い。例えば、グラフィカルポリシ設計部２０２は、グラフィカルポリシロジック表記３００−１をサポートするグラフィカルポリシエディタを有して良い。図示のように、グラフィカルポリシロジック表記３００−１は、個々の足を有する２つのネットワーク経路（ＰａｔｈＡ及びＰａｔｈＢ）が、経路間に共有コンポーネント又は接続が及びしたがって共有リスクが存在しないことを示す別のものであるか否かを決定するために、以下の表４に示される実際のプログラムコードに対応するグラフィカルポリシロジック表記の特定の例を表す。この種のポリシロジックは、ネットワーク１００内の任意の２つの経路について共有リスクリンクグループ（shared  risk  link  groups：ＳＲＬＧ）を構成する又は評価する際に使用されて良く、例えばCheckSRLG()関数として示されて良い。具体的には、グラフィカルポリシロジック表記３００−１が基づくポリシルール２０６は、表２に示されるような、例としてＧｏｌｄサービスレベルの保証された信頼性及びＳｉｌｖｅｒサービスレベルの共有リスク信頼性を指定し得る信頼性パラメータを含んで良い。したがって、Ｇｏｌｄ又はＳｉｌｖｅｒサービスレベルが示されるとき、グラフィカルポリシロジック表記３００−１（CheckSRLG()関数を表す）は、「別である（Ｄｉｖｅｒｓｅ）」結果が保証されるときネットワークリンクがプロビジョニングできるようにして良く、「別ではない（Ｎｏｔ  Ｄｉｖｅｒｓｅ）」結果が保証されるときネットワークリンクのプロビジョニングをブロックして良い。
【００４１】
［表４］グラフィカルポリシロジック表記３００−１（図３Ａ）に対応する例示的なコード
【表４】
2017220240.tif 000006
【００４２】
図３Ａ、３Ｂ、３Ｃ、３Ｄで使用される表記は、以下の表５に示すシンボルを用いるビジネスプロセスモデル及び表記（business  process  model  and  notation：ＢＰＭＮ）のサブセットに基づいて良い。
【００４３】
［表５］グラフィカルポリシロジック表記の中のグラフィカル要素
【表５】
2017220240.tif 000007
【００４４】
したがって、グラフィカルポリシロジック表記３００−１は、初期ノードにおいて開始して良い。InitSLRGData動作ノードにおいて、ＰａｔｈＡ及びＰａｔｈＢの識別子を定義するような、変数及び他の初期化が実行されて良い。SetPathA動作ノードにおいて、ＰａｔｈＡが選択されて良い。IncrementLegA動作ノードにおいて、ＰａｔｈＡのｌｅｇＡがインクリメントされて良い。IncrementLegAの後に、追加の足がＰａｔｈＡの中に存在することを示す、NumberLegA＞０か否かに関して決定が行われて良い。追加の足が存在しない場合、Ｄｉｖｅｒｓｅという結果が生成されて良い。追加の足が存在する場合、SetLegAにおいて、ｌｅｇＡが選択される。SetPathBにおいて、ＰａｔｈＢが選択される。SetLegBにおいて、ＰａｔｈＢの中のｌｅｇＢが選択される。CompareLegABにおいて、ｌｅｇＡがｌｅｇＢと比較される。ｌｅｇＡ＝ｌｅｇＢである場合、Ｎｏｔ  Ｄｉｖｅｒｓｅという結果が生成される。ｌｅｇＡ≠ｌｅｇＢである場合、IncrementLegBにおいて、ＬｅｇＢは、ＰａｔｈＢの中の次の足へとインクリメントされる。次に、追加の足がＰａｔｈＢの中に存在することを示すNumberLegB＞０に基づき、実行は図示のようにループバックして良い。
【００４５】
図３Ｂ、３Ｃ、３Ｄを参照すると、グラフィカルポリシロジック表記３０１の一実施形態の選択された要素のブロック図が示される。グラフィカルポリシロジック表記３０１の例示的な実施形態では、ＶＰＮ（virtual  private  network）が顧客に提供されているネットワークサービス使用例が記載される。グラフィカルポリシロジック表記３０１は、説明を目的とする一例であること、及び任意の所与の実装において異なる要素が追加され又は削除されて良いことに留意する。
【００４６】
具体的には、図３Ｂのネットワーク３０２に示すように、ネットワークオペレータは、ＶＰＮ（virtual  private  network）３１２を、顧客へのネットワークサービスとして提供して良い。ネットワーク３０２は、図１に示すネットワーク１００の一部を表し得る。ＶＰＮ３１２は、リンク３１０−１においてイングレスを及びリンク３１０−２において顧客位置へのイグレスを有するＶＬＡＮ（virtual  local  area  network）３１０として構成されて良い。ネットワーク３０２に示すように、ＶＰＮ３１２−１は、最初に、リンク１１２−１、１１２−２、１１２−５を有するＬＳＰ（label  switched  path）を有するＭＰＬＳ（multi−protocol  label  switching）のようなネットワーク３０２の内部に構成されて良い。さらに、ネットワークオペレータは、ＶＰＮネットワークサービスの２つのクラス、つまりＧｏｌｄ及びＢｒｏｎｚｅを提供して良い。Ｇｏｌｄ  ＶＰＮサービスクラスは、より高い信頼性を提供して良く、リンク１１２内の障害のようなネットワーク障害が生じるときでもＶＰＮ３１２を維持して良い。Ｂｒｏｎｚｅ  ＶＰＮサービスレベルは、保護を有しない、つまり障害の場合に冗長ネットワークリンクを有しない、ベストエフォート型サービスであって良い。ＶＬＡＮ３１０を顧客に提供するためにＶＰＮ３１２を確立する目的で、対応するポリシルール２０６は、グラフィカルポリシロジック表記３０１に従い定められて良い。
【００４７】
図３Ａに示すように、グラフィカルポリシロジック表記３０１−１は、ポリシレベル動作を有するポリシルール２０６のハイレベル表現であり、ＶＰＮ３１２のプロビジョニング及び維持を含む主なワークフローを記述する。図３Ｂで、グラフィカルポリシロジック表記３０１−２は、グラフィカルポリシロジック表記３０１−１の中のハイレベル動作CreateVPNServiceの制御部機能である動作を有するポリシルール２０６の表現である。図３Ｃで、グラフィカルポリシロジック表記３０１−３は、グラフィカルポリシロジック表記３０１−１の中のハイレベル動作AlarmCheckPolicyの制御部機能である動作を有するポリシルール２０６の表現である。
【００４８】
図３Ａで、グラフィカルポリシロジック表記３０１−１は、図３Ｂで更に詳細に説明される動作CreateVPNServiceで開始して良い。次に、動作SetSLAで、クライアントのＳＬＡパラメータが決定されて良い。その後、どのサービスレベルが指定されるかについて決定が行われる。Ｇｏｌｄ又はＢｒｏｎｚｅサービスレベルに基づき、SetGoldProfile又はSetBronzeProfile動作が実行される。次に、ＶＰＮサービスが保護されるか否かが決定されて良い。この特定の例では、ＳＬＡパラメータは、保護が有効であることを指定して良い。その結果、Protection=Yesにより動作AlarmCheckPolicyが実行される。AlarmCheckPolicyの更なる詳細事項は、図３Ｃで説明される。次に、グラフィカルポリシロジック表記３０１−１は、エラーが検出されない限り、AlarmCheckPolicyを続けて良い。
【００４９】
また。図３Ｂで、ネットワーク３０４は、リンク１１２−１がアクティブだったネットワーク障害３１４が生じた後の構成（又はネットワーク状態）を示す。ネットワーク障害３１４、及びＧｏｌｄレベルＳＬＡが適用される結果として、ＶＰＮ３１２−２は、ネットワーク３０４の中でＶＰＮ３１２−２に自動的に再構成されて良く、リンク１１２−３、１１２−６及び１１２−７を通じるルーティング経路を有するようになる。
【００５０】
図３Ｂで、グラフィカルポリシロジック表記３０１−２は、図３Ａに示したCreateVPNService動作の更なる詳細を示す。ＭＰＬＳ  ＬＳＰは、ネットワーク３０２／３０４の中でユーザトラフィックをルーティングし及び運ぶために使用されるトランスポートプロトコルである。ＶＰＮ３１２の顧客エンドポイントは、ＶＬＡＮ３１０として構成される。CreateVPNServiceは、グラフィカルポリシロジック表記３０１−２に示される、ネットワークオペレータによるＶＰＮサービス定義を実施するためのポリシワークフローである。グラフィカルポリシロジック表記３０１−２は、したがって、ＶＰＮ３１２への第１顧客アタッチメントポイントとしてＶＬＡＮ３１０のイングレスリンク３１０−１を設定するCreateIngressVLANで開始して良い。次に、CreateEgressVLANは、ＶＰＮ３１２への第２顧客アタッチメントポイントとしてＶＬＡＮ３１０のイグレスリンク３１０−２を設定する。次に、CreateLSPは、ネットワーク３０２に示すＶＰＮ３１２のＭＰＬＳ  ＬＳＰ接続のリンクをプロビジョニングする。最後に、AttachVPNは、物理ＶＬＡＮ３１０及びＭＰＬＳ  ＬＳＰ接続をＶＰＮ３１２−１にアタッチする。
【００５１】
図３Ｄで、グラフィカルポリシロジック表記３０１−３は、図３Ａに示したAlarmCheckPolicy動作の更なる詳細を示す。先ず、動作AlarmCheckStatusで、任意のネットワーク障害がクエリされ識別される。ネットワーク障害がアラームの形式で検出されない場合（Alarm=No）、手順は終了する。グラフィカルポリシロジック表記３０１−３は、図３Ａのグラフィカルポリシロジック表記３０１−１において定められるループロジックの結果として、周期的に実行されて良い。アラームが検出されると（Alarm=Yes、ネットワーク障害３１４に起因するような）、動作GetIngressVLANで、ＶＬＡＮ３１０のイングレスリンク３１０−１が識別される。動作GetEgressVLANで、ＶＬＡＮ３１０のイグレスリンク３１０−２が識別される。動作CreateLSPで、ＶＰＮ３１２−２により示されるように、リンク３１０−１と３１０−２との間に新しいＭＰＬＳ  ＬＳＰ接続が生成される。次に、AttachVPNは、物理ＶＬＡＮ３１０及び新しいＭＰＬＳ  ＬＳＰ接続をＶＰＮ３１２−２にアタッチする。最後に、動作DeleteOldLSPで、ＶＰＮ３１２−１のＭＰＬＳ  ＬＳＰ接続が削除される。グラフィカルポリシロジック表記３０１−３で説明される手順は、ＶＰＮ３１２−１からＶＰＮ３１２−２への保護切り替えイベントを表して良く、本願明細書に記載のように対応するポリシルール２０６が定められ実装されると、ソフトウェア制御部２２０によりシームレスに且つ自動的に実行されて良い。
【００５２】
図４を参照すると、グラフィカルポリシロジック制御システム４００の一実施形態の選択された要素のブロック図が示される。図４のグラフィカルポリシロジック制御システム４００は、ネットワーク１００（図１を参照）を制御するために実装されて良く、説明の目的のために概略図である。グラフィカルポリシロジック制御システム４００は、上述のように及び図６に記載するように、グラフィカルポリシ執行部２０８と共に動作するソフトウェア制御部２２０の詳細を示す。
【００５３】
図４で、ソフトウェア制御部２２０は、説明上明確化のために他の抽象モデル間で例として選択された３つの異なる抽象モデル４１２を含むレポジトリを有して示される。幾つかの実施形態では、抽象モデル４１２は、ネットワーク構成プロトコル（NETCONF）を通じてネットワーク装置を管理するために使用される構成及び状態データをモデル化するデータモデル化言語であるＹＡＮＧを用いて定められる。具体的には、サービス抽象モデル４１２−１は、ネットワーク１００と共に使用されるネットワークサービスの構成及び状態データをモデル化して良い。ネットワーク抽象モデル４１２−２は、ネットワーク１００と共に使用されるネットワーク接続の構成及び状態データをモデル化して良い。装置抽象モデル４１２−３は、ネットワーク１００の中で使用されるネットワーク装置４２０の構成及び状態データをモデル化して良い。それぞれ、制御機能４１０−１は、ネットワークサービスの様々な制御機能を表して良い。制御機能４１０−２は、ネットワーク接続の様々な制御機能を表して良い。制御機能４１０−３は、ネットワーク装置４２０の様々な制御機能を表して良い。それぞれ、ＡＰＩ４０８−１は、制御ロジック４０６−１がネットワークサービスの制御機能４１０−１にアクセスできるようにして良い。ＡＰＩ４０８−２は、制御ロジック４０６−２がネットワーク接続の制御機能４１０−２にアクセスできるようにして良い。ＡＰＩ４０８−３は、制御ロジック４０６−３がネットワーク装置４２０の制御機能４１０−３にアクセスできるようにして良い。
【００５４】
グラフィカルポリシロジック制御システム４００に示すように、ＡＰＩ４１４は、制御ロジック４０６同士の及び外部アプリケーション４１６との間の通信を可能にして良い。ＡＰＩ４１４は、特定のソフトウェア制御部２２０の中で内部的に定義されて良く、又はグラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８の中に定義され統合されて良く、ＡＰＩ４１４がコンパイルされたポリシロジック４０２にアクセス可能になるようにする。ソフトウェア制御部２２０と共に使用され得る外部アプリケーション４１６の幾つかの非限定的な例は、オーケストレ−タ（NCX,  Anuta  Networks,  Inc.,  Milpitas,  CA,  USA;  Exanova  Service  Intelligence,  CENX,  Ottawa,  Canada）、ワークフローマネジャ（Salesforce  Service  Cloud,  salesforce.com,  Inc.,  San  Francisco,  CA,  USA;  TrackVia,  TrackVia,  Inc.,  Denver,  CO,  USA;  Integrify,  Integrify  Inc.,  Chicago,  IL,  USA）、分析アプリケーション（Cloud  Analytics  Engine,  Juniper  Networks,  Inc.,  Sunnyvale,  CA,  USA;  Nuage  Networks  Virtualized  Services  Directory  (VSD),  Nokia  Solutions  and  Networks  Oy,  Espoo,  Finland）を含む。
【００５５】
以上に詳細に説明したように、ＡＰＩ４０８は、コンパイルされたポリシロジック４０２が（グラフィカルポリシロジック２１０に基づき）制御機能４１０を呼び出すことができるように、グラフィカルポリシ設計部２０２及びグラフィカルポリシ執行部２０８に統合されているソフトウェア制御部２２０の独自仕様ＡＰＩを有して良い。
【００５６】
従来のソフトウェア制御部の実装では（図示しない）、内部制御ロジックは、通常、所望の機能と共にハードコードされ、外部的にアクセスできない。しかしながら、図４に示すグラフィカルポリシロジック制御システム４００では、コンパイルされたポリシロジック４０２は、少なくとも部分的に、制御ロジック４０８の所望の動作を支配できる。幾つかの実施形態では、コンパイルされたポリシロジック４０２は、以上に詳述したポリシルール２０６により定められるように、制御ロジック４０６の機能全体を自由に操ることができる。種々の実施形態では、制御ロジック４０６は、ソフトウェア制御部２２０内に独自仕様、内部、又は管理上保護された部分を残す内部制御ロジックを有して良い。制御ロジック４０６の内部又は保護部分の非限定的な例は、経路計算のような複雑な独自仕様アルゴリズム、及びネットワークオペレータの課金アルゴリズムのようなプライベートビジネスロジックを含んで良い。
【００５７】
さらに、コンパイルされたポリシロジック４０２は、ソフトウェア制御部２２０と共に使用するために、実行時間にインストールできるランタイムモジュールを表して良い。本願明細書で使用されるとき、「ランタイム」は、ソフトウェア制御部２２０がネットワークを制御するために実行されている状態を参照して良い。コンパイルされたポリシロジック４０２、ポリシエンジン４０４、及びグラフィカルポリシ執行部２０８は、複数の異なる種類のソフトウェア制御部をサポートして良い。グラフィカルポリシロジックを表すコンパイルされたポリシロジックは、異なる種類のネットワークにおける異なる種類の複数の異なるソフトウェア制御部と共に使用可能であって良い。
【００５８】
グラフィカルポリシ執行部２０８は、上述のように動作２１７及びイベント２１８により制御ロジック４０６と通信する特定のコンパイルされたポリシロジック４０２を実行できる１又は複数のポリシエンジン４０４を有して良い。図示のように、ポリシエンジン４０４−１は、ネットワークサービスに関連するコンパイルされたポリシロジック４０２−１を実行して良い。ポリシエンジン４０４−２は、ネットワーク接続に関連するコンパイルされたポリシロジック４０２−２を実行して良い。ポリシエンジン４０４−３は、ネットワーク装置４２０に関連するコンパイルされたポリシロジック４０２−３を実行して良い。ポリシエンジン４０４及び動作２１７及びイベント２１８は、図４に、物理的視点ではなく論理的視点で示されることに留意する。グラフィカルポリシ執行部２０８とソフトウェア制御部２２０との間の実際の物理接続は、１又は複数のネットワーク接続を使用するように、異なる実施形態において異なって良い（図４に明示されない）。
【００５９】
さらに、ソフトウェア制御部２２０は、異なるネットワークプロトコルを使用する種々のネットワーク装置４２０と相互作用して良い。例えば、ソフトウェア制御部２２０は、ＮＥＴＣＯＮＦプロトコルであるソフトウェアプロトコル２２２−１を用いてネットワーク装置４２０−１と、コマンドラインインタフェース（ＣＬＩ）であるソフトウェアプロトコル２２２−２を用いてネットワーク装置４２０−２と、及びＳＮＭＰ（simple  network  management  protocol）であるソフトウェアプロトコル２２２−３を用いてネットワーク装置４２０−３と、相互作用して良い。ネットワーク装置４２０は、ルータ、スイッチ、又はネットワーク１００に含まれるネットワーク要素１０２を表して良い。上述のように、ネットワーク抽象モデル４１２は、ソフトウェア制御部２２０によりサポートされる機能の表現を有するデータベースのようなレポジトリであって良い。一方で、機能の実際の実装は、制御機能４１０により実行される。したがって、制御機能４１０は、ネットワーク装置４２０にアクセスするために異なるネットワークプロトコル２２２を利用して良い。
【００６０】
ネットワーク装置４２０及びソフトウェアプロトコル２２２は、図４に、物理的視点ではなく論理的視点で示される。ネットワーク装置４２０とソフトウェア制御部２２０との間の実際の物理接続は、１又は複数のネットワーク接続を使用するように、異なる実施形態において異なって良い（図４に明示されない）。
【００６１】
図５を参照すると、ネットワーク制御システムのためのグラフィカルポリシインタフェースを用いる、本願明細書で記載されるような、ネットワークを制御する方法５００の一実施形態の選択された要素のブロック図がフローチャートの形式で示される。方法５００の中の少なくとも特定の動作は、グラフィカルポリシインタフェースアーキテクチャ２００（図２を参照）を用いて実行されて良い。留意すべきことに、方法５００で記載される特定の動作は、異なる実施形態では任意であって良く或いは再配置されて良い。
【００６２】
方法５００は、ステップ５０２で、ポリシルールに基づき、ソフトウェア制御部を用いてネットワークを制御するグラフィカルポリシロジックを設計するためにグラフィカルポリシ表記を用いて、開始して良い。ステップ５０４で、グラフィカルポリシロジックは、ソフトウェア制御部の中で制御ロジックを決定するためにグラフィカルポリシ執行部により使用可能なランタイムモジュールとしてコンパイルされる。ステップ５０６で、制御ロジックは、ソフトウェア制御部によりアクセス可能であり、制御ロジックは少なくとも部分的にランタイムモジュールにより決定される。ステップ５０８で、グラフィカルポリシロジックに基づく動作は、ソフトウェア制御部へ送信される。動作は、ソフトウェア制御部により実行するためのネットワークコマンドを表す。ステップ５１０で、ネットワークで生じるイベントが、ソフトウェア制御部から受信される。ステップ５１２で、ネットワークにおける機能を制御するために、制御要求が、オペレータから受信される。ステップ５１４で、制御要求に基づく動作が生成される。ステップ５１６で、オペレータに対する通知が生成される。通知は、イベントに基づく。
【００６３】
図６を参照すると、ネットワーク制御部６００の一実施形態の選択された要素のブロック図が示される。図６で、ネットワーク制御部６００は、本願明細書に記載のようなグラフィカルポリシインタフェースアーキテクチャ２００を実装する物理及び論理コンポーネントを含むコンピュータシステムとして表され、したがって、プロセッサ６０１、メモリ６１０、及びネットワークインタフェース６２０を有して良い。プロセッサ６０１は、１又は複数の個々の処理ユニットを表して良く、プログラム命令を実行し、データを解釈し、及び／又はメモリ６１０若しくはネットワーク制御部６００により格納されるデータを処理して良い。ネットワーク制御部６００は異なる実施形態で実装されて良いことに留意する。例えば、幾つかの実施形態では、ネットワーク制御部６００は、ネットワーク要素１０２（図１）を用いて実装されて良い。特定の実施形態では、メモリ６１０は、上述のようにグラフィカルポリシ執行部２０８を用いてプロセッサ６０１上で実行するソフトウェア制御部２２０を表して良い。
【００６４】
図６で、メモリ６１０は、プロセッサ６０１に通信可能に結合されて良く、プログラム命令及び／又はデータをある期間の間保持するのに適するシステム、装置又は機器（例えば、コンピュータ可読媒体）を有しても良い。メモリ６１０は、ＲＡＭ（random  access  memory）、ＥＥＰＲＯＭ（electrically  erasable  programmable  read−only  memory）、ＰＣＭＣＩＡカード、フラッシュメモリ、固体ディスク、ハードディスクドライブ、磁気テープライブラリ、光ディスクドライブ、光磁気ディスクドライブ、コンパクトディスクドライブ、コンパクトディスクアレイ、ディスクアレイコントローラ、又は揮発性若しくは不揮発性メモリの任意の適切な選択又はアレイのような様々な種類のコンポーネント及び装置を有しても良い。不揮発性メモリは、電源がオフにされた後にデータを保持するメモリを表す。留意すべきことに、種々の実施形態において、メモリ６１０は、異なる数の物理記憶装置を有して良い。図６に示すように、メモリ６１０は、上述のように、グラフィカルポリシ執行部２０８及びソフトウェア制御部２２０を有して良い。
【００６５】
本願明細書に開示のように、グラフィカルポリシインタフェースアーキテクチャは、ネットワークサービス、接続、及び装置を制御するためにソフトウェア制御部のためのカスタマイズされたポリシロジックの簡略化グラフィカル開発を可能にできる。グラフィカルポリシロジック注釈に基づくポリシロジックは、実行時にソフトウェア制御部にコンパイルされインストールされ得る。
【００６６】
以上に開示した主題は、説明のためであり、限定ではないと考えられるべきである。また、添付の特許請求の範囲は、本開示の真の精神及び範囲に包含される全ての変更、拡張及び他の実施形態を包含することを意図している。したがって、法により認められる最大範囲まで、本開示の範囲は、特許請求の範囲及びその等価物の最も広い許容可能な解釈により決定されるべきであり、前述の詳細な説明により限定又は制限されるべきではない。
【００６７】
以上の実施形態に加えて、更に以下の付記を開示する。
（付記１）  ネットワークにおいてソフトウェア制御部を実行する方法であって、前記方法は、
ポリシルールに基づき、ソフトウェア制御部を用いてネットワークを制御するグラフィカルポリシロジックを設計するためにグラフィカルポリシ表記を使用するステップと、
前記ソフトウェア制御部の中で制御ロジックを決定するためにグラフィカルポリシ執行部により使用可能なランタイムモジュールとして前記グラフィカルポリシロジックをコンパイルするステップと、
前記ソフトウェア制御部により前記制御ロジックにアクセスするステップであって、前記制御ロジックは、前記ランタイムモジュールにより少なくとも部分的に決定される、ステップと、
を有し、
前記グラフィカルポリシ執行部は、
前記グラフィカルポリシロジックに基づく動作を前記ソフトウェア制御部へ送信し、前記動作は、前記ソフトウェア制御部による実行のためのネットワークコマンドを表し、
前記ソフトウェア制御部から前記ネットワークの中で生じるイベントを受信する、
方法。
（付記２）  前記グラフィカルポリシ執行部において、オペレータから、前記ネットワークにおける機能を制御するための制御要求を受信するステップと、
前記制御要求に基づき前記動作を生成するステップと、
前記オペレータのために表記を生成するステップであって、前記表記は前記イベントに基づく、ステップと、
を更に有する付記１に記載の方法。
（付記３）  前記ソフトウェア制御部が前記ネットワークを制御するために実行中の間、前記グラフィカルポリシロジックを有する前記ランタイムモジュールは、前記ソフトウェア制御部に取り入れられる、付記１に記載の方法。
（付記４）  グラフィカルポリシ表記を使用するステップは、
前記グラフィカルポリシロジックを設計するために、グラフィカル表記エディタを使用するステップ、
を更に有する、付記１に記載の方法。
（付記５）  前記グラフィカルポリシロジックは、複数の異なるソフトウェア制御部と共に使用可能である、付記１に記載の方法。
（付記６）  前記ソフトウェア制御部は、前記ネットワークと通信するために複数のネットワークプロトコルをサポートする、付記１に記載の方法。
（付記７）  ネットワークであって、
前記ネットワークを制御するために制御ロジックにアクセスするソフトウェア制御部と、
グラフィカルポリシ執行部であって、
前記ソフトウェア制御部の中で前記制御ロジックを決定するために前記グラフィカルポリシ執行部により使用可能なランタイムモジュールとしてグラフィカルポリシロジックを受信でき、前記グラフィカルポリシロジックは、グラフィカルポリシ表記を用いるポリシルールに基づき設計され、前記制御ロジックは、前記ランタイムモジュールにより少なくとも部分的に決定され、
前記グラフィカルポリシロジックに基づく動作を前記ソフトウェア制御部へ送信でき、前記動作は、前記ソフトウェア制御部による実行のためのネットワークコマンドを表し、
前記ソフトウェア制御部から前記ネットワークの中で生じるイベントを受信できる、
グラフィカルポリシ執行部と、
を有するネットワーク。
（付記８）  前記グラフィカルポリシ執行部は、さらに、
オペレータから、前記ネットワークにおける機能を制御するための制御要求を受信でき、
前記制御要求に基づき前記動作を生成でき、
前記オペレータのために表記を生成でき、前記表記は前記イベントに基づく、
付記７に記載のネットワーク。
（付記９）  前記ソフトウェア制御部が前記ネットワークを制御するために実行中の間、前記グラフィカルポリシロジックを有する前記ランタイムモジュールは、前記ソフトウェア制御部に取り入れられる、付記７に記載のネットワーク。
（付記１０）  グラフィカルポリシ表記を使用することは、
前記グラフィカルポリシロジックを設計し及びコンパイルするために、グラフィカル表記エディタを使用すること、
を更に有する、付記７に記載のネットワーク。
（付記１１）  前記グラフィカルポリシロジックは、複数の異なるソフトウェア制御部と共に使用可能である、付記７に記載のネットワーク。
（付記１２）  前記ソフトウェア制御部は、前記ネットワークと通信するために複数のネットワークプロトコルをサポートする、付記７に記載のネットワーク。
【符号の説明】
【００６８】
１００  ネットワーク
２００  グラフィカルポリシインタフェースアーキテクチャ
２０２  グラフィカルポリシ設計部
２０６  ポリシルール
２０８  グラフィカルポリシ執行部
２１０  グラフィカルポリシロジック
２１２  オペレータ
２１５  制御要求
２１６  通知
２１７  動作
２１８  イベント
２２０  ソフトウェア制御部
２２２  ネットワークプロトコル
【図１】
2017220240.tif 000008
【図２】
2017220240.tif 000009
【図３Ａ】
2017220240.tif 000010
【図３Ｂ】
2017220240.tif 000011
【図３Ｃ】
2017220240.tif 000012
【図３Ｄ】
2017220240.tif 000013
【図４】
2017220240.tif 000014
【図５】
2017220240.tif 000015
【図６】
2017220240.tif 000016