(57)【要約】  モバイルネットワークの顧客へのサービスのプロビジョニングのエージェントレスで、データ駆動型であり、かつステートフルな自動化を可能にするサービステンプレートを構築するためのシステムおよび方法。デバイスおよびプロトコルのターゲット・スキーマ・オブジェクト・クラスを作成する要求に関連付けられたデータが受信される。前記デバイスおよびプロトコル情報に基づいて、ＣＲＵＤセマンティクスに関連付けられたデータフィールドのセットが、データベースまたはユーザ提供データから取得される。修飾ターゲット・オブジェクト・クラスは、要求されたターゲット・スキーマ・オブジェクト・クラスに基づいて作成される。前記修飾ターゲット・オブジェクト・クラスと、１つまたは複数の他の修飾ターゲット・オブジェクト・クラスとを含むサブレシピが作成される。事前入力されていないサービス・インスタンス・データ・フィールドがオペレータによってカスタマイズされ得るように特定のネットワークデバイスのオペレータによってカスタマイズ可能なサービスインスタンスを形成するために、実行エンジンへの送信のためのレシピが処理される。
2019508769.tif 000002
【特許請求の範囲】
【請求項１】
モバイルネットワークの顧客へのサービスのプロビジョニングのエージェントレスで、データ駆動型であり、ステートフルな自動化を可能にするサービステンプレートを構築するコンピュータで実行される方法であって、
コンピューティングデバイスにおいて、
モバイルネットワーク内のデバイスおよび関連プロトコルに関連付けられた接続デバイスタイプカテゴリを作成する要求に関連付けられたデータを受信するステップと、
前記コンピューティングデバイスにおいて、前記接続デバイスタイプカテゴリに関連付けられたターゲット・スキーマ・オブジェクト・クラスを作成する要求に関連付けられたデータを受信するステップであって、前記要求は前記ターゲット・スキーマ・オブジェクト・クラスに関連付けられた第１のオブジェクトパラメータを含み、前記第１のオブジェクトパラメータは前記デバイスのデバイスタイプおよび前記プロトコルの少なくとも１つを含み、前記ターゲット・スキーマ・オブジェクト・クラスは前記デバイスタイプと前記プロトコルとに基づいて構成可能なリソースのクラスを表す、ステップと、
前記コンピューティングデバイスにおいて、前記第１のオブジェクトパラメータに基づいて、前記デバイスの機能を表すＣＲＵＤ（作成、読み出し、更新、および削除）セマンティクスの指定に関連付けられたデータフィールドのセットを、
前記プロトコルに関連付けられた構成パラメータがサーバからデータベースにインポート可能なデータに関連付けられているインポート可能なフォームを含む場合に、前記コンピューティングデバイスに関連付けられた前記データベースから取得し、
前記プロトコルに関連付けられた前記構成パラメータがサーバから前記データベースにインポート不可能であるデータに関連付けられているインポート不可能なフォームを含む場合に、ユーザ提供データから取得するステップと、
前記コンピューティングデバイスによって、前記要求されたターゲット・スキーマ・オブジェクト・クラスを作成するステップであって、前記要求されたターゲット・スキーマ・オブジェクト・クラスは前記取得されたデータフィールドのセットを含む、ステップと、
前記コンピューティングデバイスによって、前記要求されたターゲット・スキーマ・オブジェクト・クラスに基づいて修飾ターゲット・オブジェクト・クラスを作成するステップであって、前記修飾ターゲット・オブジェクト・クラスは前記取得されたデータフィールドのセット内のデータフィールドの少なくとも一部に対する指定値を含む、ステップと、
前記コンピューティングデバイスにおいて、少なくとも１つのサブレシピを作成する要求に関連付けられたデータを受信するステップであって、前記少なくとも１つのサブレシピの各々は、
前記修飾ターゲット・オブジェクト・クラス、および
１つまたは複数の他の修飾ターゲット・オブジェクト・クラスと前記修飾ターゲット・オブジェクト・クラスと前記１つまたは複数の他の修飾ターゲット・オブジェクト・クラスとの間の関連付けを示すデータ
のうちの少なくとも１つを含む、ステップと、
前記コンピューティングデバイスにおいて、サービスインスタンスを形成するために実行エンジンへの送信のためのレシピを処理するステップであって、前記レシピは前記少なくとも１つのサブレシピを含み、前記サービスインスタンスは前記指定値に基づいて事前入力されている、または隠されているサービス・インスタンス・データ・フィールドを含み、前記サービスインスタンスは事前入力されていない前記サービス・インスタンス・データ・フィールドがオペレータによってカスタマイズされ得るように特定のネットワークデバイスのオペレータによってカスタマイズ可能である、ステップと
を含む、コンピュータで実行される方法。
【請求項２】
前記コンピューティングデバイスによって、共通修飾ターゲット・オブジェクト・クラスを有する前記少なくとも１つのサブレシピ内のサブレシピのセットを決定するステップであって、前記共通修飾ターゲット・オブジェクト・クラスは前記サブレシピのセットの各々に存在する、ステップと、
前記コンピューティングデバイスによって、前記サブレシピのセット内の１つのサブレシピ内の１つの共通修飾ターゲット・オブジェクト・クラスの合体パラメータを受信するステップであって、前記合体パラメータは、前記１つの共通修飾ターゲット・オブジェクト・クラスのデータフィールドに対する値のセットを含む、ステップと、
前記コンピューティングデバイスによって、前記合体パラメータを、他の少なくとも１つのサブレシピの各々に関連付けられた他の共通修飾ターゲット・オブジェクト・クラスの各々に適用するステップと
をさらに含む、請求項１に記載のコンピュータで実行される方法。
【請求項３】
前記コンピューティングデバイスによって修飾ターゲット・オブジェクト・クラスを作成するステップは、前記コンピューティングデバイスによって前記指定値を受信するステップをさらに含む、請求項１に記載のコンピュータで実行される方法。
【請求項４】
前記指定値は、前記第１のオブジェクトパラメータから導出される、請求項１に記載のコンピュータで実行される方法。
【請求項５】
前記サービスインスタンスは、仮想ネットワーク機能、物理ネットワーク機能、またはアプリケーションのうちの少なくとも１つを含むターゲットインスタンスをさらに含む、請求項１に記載のコンピュータで実行される方法。
【請求項６】
前記構成可能なリソースは、サービス品質、レーティンググループ、料金プラン、およびパケットフィルタのうちの少なくとも１つを含む、請求項１に記載のコンピュータで実行される方法。
【請求項７】
前記プロトコルは、表現状態転送（ＲＥＳＴ）プロトコル、構造化照会言語（ＳＱＬ）プロトコル、簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）、セキュアファイル転送プロトコル／セキュア・シェル・プロトコル（ＳＦＴＰ／ＳＳＨ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、およびネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）のうちの少なくとも１つを含む、請求項１に記載のコンピュータで実行される方法。
【請求項８】
モバイルネットワークの顧客へのサービスのプロビジョニングのエージェントレスで、データ駆動型であり、ステートフルな自動化を可能にするサービステンプレートを構築するためのコンピューティングデバイスであって、前記コンピューティングデバイスは、
メモリと、
前記メモリと通信し、前記メモリに記憶されたモジュールを実行するように構成されたプロセッサと
を備え、前記モジュールは前記プロセッサに、
モバイルネットワーク内のデバイスおよび関連プロトコルに関連付けられた接続デバイスタイプカテゴリを作成する要求に関連付けられたデータを受信させ、
前記接続デバイスタイプカテゴリに関連付けられたターゲット・スキーマ・オブジェクト・クラスを作成する要求に関連付けられたデータを受信させ、前記要求は前記ターゲット・スキーマ・オブジェクト・クラスに関連付けられた第１のオブジェクトパラメータを含み、前記第１のオブジェクトパラメータは前記デバイスのデバイスタイプおよび前記プロトコルの少なくとも１つを含み、前記ターゲット・スキーマ・オブジェクト・クラスは前記デバイスタイプと前記プロトコルとに基づいて構成可能なリソースのクラスを表し、
前記第１のオブジェクトパラメータに基づいて、前記デバイスの機能を表すＣＲＵＤ（作成、読み出し、更新、および削除）セマンティクスの指定に関連付けられたデータフィールドのセットを、
前記プロトコルに関連付けられた構成パラメータがサーバからデータベースにインポート可能なデータに関連付けられているインポート可能なフォームを含む場合に、前記コンピューティングデバイスに関連付けられた前記データベースから取得させ、
前記プロトコルに関連付けられた前記構成パラメータがサーバから前記データベースにインポート不可能であるデータに関連付けられているインポート不可能なフォームを含む場合に、ユーザ提供データから取得させ、
前記要求されたターゲット・スキーマ・オブジェクト・クラスを作成させ、前記要求されたターゲット・スキーマ・オブジェクト・クラスは前記取得されたデータフィールドのセットを含み、
前記要求されたターゲット・スキーマ・オブジェクト・クラスに基づいて、前記取得されたデータフィールドのセット内のデータフィールドの少なくとも一部に対する指定値を含む修飾ターゲット・オブジェクト・クラスを作成させ、
少なくとも１つのサブレシピを作成する要求に関連付けられたデータを受信させ、前記少なくとも１つのサブレシピの各々は、
前記修飾ターゲット・オブジェクト・クラス、および
１つまたは複数の他の修飾ターゲット・オブジェクト・クラス、および前記修飾ターゲット・オブジェクト・クラスと前記１つまたは複数の他の修飾ターゲット・オブジェクト・クラスとの間の関連付けを示すデータ
のうちの少なくとも１つを含み、
サービスインスタンスを形成するために実行エンジンへの送信のためのレシピを処理させ、前記レシピは前記少なくとも１つのサブレシピを含み、前記サービスインスタンスは前記指定値に基づいて事前入力されている、または隠されているサービス・インスタンス・データ・フィールドを含み、前記サービスインスタンスは事前入力されていない前記サービス・インスタンス・データ・フィールドがオペレータによってカスタマイズされ得るように特定のネットワークデバイスのオペレータによってカスタマイズ可能である、
ように構成される、コンピューティングデバイス。
【請求項９】
前記プロセッサにさらに、
共通修飾ターゲット・オブジェクト・クラスを有する前記少なくとも１つのサブレシピ内のサブレシピのセットを決定させ、前記共通修飾ターゲット・オブジェクト・クラスは前記サブレシピのセットの各々に存在し、
前記サブレシピのセット内の１つのサブレシピ内の１つの共通修飾ターゲット・オブジェクト・クラスの合体パラメータを受信させ、前記合体パラメータは前記１つの共通修飾ターゲット・オブジェクト・クラスのデータフィールドに対する値のセットを含み、
前記合体パラメータを、他の少なくとも１つのサブレシピの各々に関連付けられた他の共通修飾ターゲット・オブジェクト・クラスの各々に適用させる、請求項８に記載のコンピューティングデバイス。
【請求項１０】
修飾ターゲット・オブジェクト・クラスを作成するために、前記プロセッサにさらに前記指定値を受信させる、請求項８に記載のコンピューティングデバイス。
【請求項１１】
前記指定値は、前記第１のオブジェクトパラメータから導出される、請求項８に記載のコンピューティングデバイス。
【請求項１２】
前記サービスインスタンスは、仮想ネットワーク機能、物理ネットワーク機能、またはアプリケーションのうちの少なくとも１つを含むターゲットインスタンスをさらに含む、請求項８に記載のコンピューティングデバイス。
【請求項１３】
前記構成可能なリソースは、サービス品質、レーティンググループ、料金プラン、およびパケットフィルタのうちの少なくとも１つを含む、請求項８に記載のコンピューティングデバイス。
【請求項１４】
前記プロトコルは、表現状態転送（ＲＥＳＴ）プロトコル、構造化照会言語（ＳＱＬ）プロトコル、簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）、セキュアファイル転送プロトコル／セキュア・シェル・プロトコル（ＳＦＴＰ／ＳＳＨ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、およびネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）のうちの少なくとも１つを含む、請求項８に記載のコンピューティングデバイス。
【請求項１５】
非一過性コンピュータ可読媒体であって、装置に、
モバイルネットワーク内のデバイスおよび関連プロトコルに関連付けられた接続デバイスタイプカテゴリを作成する要求に関連付けられたデータを受信させ、
前記接続デバイスタイプカテゴリに関連付けられたターゲット・スキーマ・オブジェクト・クラスを作成する要求に関連付けられたデータを受信させ、前記要求は前記ターゲット・スキーマ・オブジェクト・クラスに関連付けられた第１のオブジェクトパラメータを含み、前記第１のオブジェクトパラメータは前記デバイスのデバイスタイプおよび前記プロトコルの少なくとも１つを含み、前記ターゲット・スキーマ・オブジェクト・クラスは前記デバイスタイプと前記プロトコルとに基づいて構成可能なリソースのクラスを表し、
前記第１のオブジェクトパラメータに基づいて、前記デバイスの機能を表すＣＲＵＤ（作成、読み出し、更新、および削除）セマンティクスの指定に関連付けられたデータフィールドのセットを、
前記プロトコルに関連付けられた構成パラメータがサーバからデータベースにインポート可能なデータに関連付けられているインポート可能なフォームを含む場合に、前記コンピューティングデバイスに関連付けられた前記データベースから取得させ、
前記プロトコルに関連付けられた前記構成パラメータがサーバから前記データベースにインポート不可能であるデータに関連付けられているインポート不可能なフォームを含む場合に、ユーザ提供データから取得させ、
前記要求されたターゲット・スキーマ・オブジェクト・クラスを作成させ、前記要求されたターゲット・スキーマ・オブジェクト・クラスは前記取得されたデータフィールドのセットを含み、
前記要求されたターゲット・スキーマ・オブジェクト・クラスに基づいて、前記取得されたデータフィールドのセット内のデータフィールドの少なくとも一部に対する指定値を含む修飾ターゲット・オブジェクト・クラスを作成させ、
少なくとも１つのサブレシピを作成する要求に関連付けられたデータを受信させ、前記少なくとも１つのサブレシピの各々は、
前記修飾ターゲット・オブジェクト・クラス、および
１つまたは複数の他の修飾ターゲット・オブジェクト・クラス、および前記修飾ターゲット・オブジェクト・クラスと前記１つまたは複数の他の修飾ターゲット・オブジェクト・クラスとの間の関連付けを示すデータ
のうちの少なくとも１つを含み、
サービスインスタンスを形成するために実行エンジンへの送信のためのレシピを処理させ、前記レシピは前記少なくとも１つのサブレシピを含み、前記サービスインスタンスは前記指定値に基づいて事前入力されている、または隠されているサービス・インスタンス・データ・フィールドを含み、前記サービスインスタンスは事前入力されていない前記サービス・インスタンス・データ・フィールドがオペレータによってカスタマイズされ得るように特定のネットワークデバイスのオペレータによってカスタマイズ可能である、
ように動作可能な実行可能命令を有する非一過性コンピュータ可読媒体。
【請求項１６】
前記装置にさらに、
共通修飾ターゲット・オブジェクト・クラスを有する前記少なくとも１つのサブレシピ内のサブレシピのセットを決定させ、前記共通修飾ターゲット・オブジェクト・クラスは前記サブレシピのセットの各々に存在し、
前記サブレシピのセット内の１つのサブレシピ内の１つの共通修飾ターゲット・オブジェクト・クラスの合体パラメータを受信させ、前記合体パラメータは前記１つの共通修飾ターゲット・オブジェクト・クラスのデータフィールドに対する値のセットを含み、
前記合体パラメータを、他の少なくとも１つのサブレシピの各々に関連付けられた他の共通修飾ターゲット・オブジェクト・クラスの各々に適用させる、請求項１５に記載の非一過性コンピュータ可読媒体。
【請求項１７】
修飾ターゲット・オブジェクト・クラスを作成するために、前記装置にさらに前記指定値を受信させる、請求項１５に記載の非一過性コンピュータ可読媒体。
【請求項１８】
前記指定値は、前記第１のオブジェクトパラメータから導出される、請求項１５に記載の非一過性コンピュータ可読媒体。
【請求項１９】
前記サービスインスタンスは、仮想ネットワーク機能、物理ネットワーク機能、またはアプリケーションのうちの少なくとも１つを含むターゲットインスタンスをさらに含む、請求項１５に記載の非一過性コンピュータ可読媒体。
【請求項２０】
前記構成可能なリソースは、サービス品質、レーティンググループ、料金プラン、およびパケットフィルタのうちの少なくとも１つを含む、請求項１５に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、「Ｄａｔａ  Ｄｒｉｖｅｎ  Ａｕｔｏｍａｔｅｄ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  ｏｆ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎｓ」と題された２０１５年１２月１０日に出願された米国仮特許出願第６２／２６５，６３３号に対する優先権を主張するものであり、この特許の内容を参照によって本願明細書に引用したものとする。
【０００２】
本開示は、データ自動化に関する。より具体的には、本開示は、電気通信アプリケーションのデータ駆動型自動プロビジョニングを提供するシステムおよび方法に関する。
【背景技術】
【０００３】
電気通信（Ｔｅｌｃｏ）ネットワーク機能およびアプリケーション（本明細書ではアプリケーションまたはｔｅｌｃｏアプリケーションとも呼ぶ）は、非常に豊富で複雑な構成モデルを有する傾向がある。さらに、Ｔｅｌｃｏアプリケーションは、永続的に頻繁に再構成される傾向がある。例えば、消費者向けモバイル事業の顧客をサポートするネットワークでは、追加の消費者がネットワークに参加する都度、多数のネットワークノードとバックエンドビジネスシステムの構成が必要である。
【０００４】
従来、ｔｅｌｃｏ環境におけるこれらの頻繁な構成オプションの最終的な統合ポイントは、オペレーション・サポート・システム／ビジネス・サポート・システム（ＯＳＳ／ＢＳＳ）システムである。しかしながら、新しいデバイスおよび／またはサービスをネットワークに統合するのは、非常に時間がかかり、非常にコスト高であり、ＯＳＳ／ＢＳＳシステムのカスタムコード開発が必要になる傾向があるが、ＯＳＳ／ＢＳＳシステム自体が非常に大きく、複雑でカスタマイズされたシステムである。さらに、十分な時間とお金を費やしても、最終的には、手続きが高度に自動化されるわけではなく、むしろＧＵＩ画面の順次セット（大抵の場合、サービス全体をサポートするために構成を必要とするデバイスのタイプごとに１つずつ）を介してユーザを導く形になる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
（対応する記載なし）
【課題を解決するための手段】
【０００６】
モバイルネットワークの顧客へのサービスのプロビジョニングのエージェントレス（エージェントが不要で）で、データ駆動型であり、かつステートフルな自動化を可能にするサービステンプレートを構築するためのシステムおよび方法が本明細書で開示される。いくつかの実施形態では、コンピューティングデバイス（コンピュータ装置）は、モバイルネットワーク内のデバイスおよび関連プロトコルに関連付けられた接続デバイスタイプカテゴリを作成する要求に関連付けられたデータを受信する。いくつかの実施形態では、コンピューティングデバイスは、接続デバイスタイプカテゴリに関連付けられたターゲット・スキーマ・オブジェクト・クラスを作成する要求に関連付けられたデータを受信し、この要求は、ターゲット・スキーマ・オブジェクト・クラスに関連付けられた第１のオブジェクトパラメータを含み、第１のオブジェクトパラメータは、デバイスのデバイスタイプおよびプロトコルのうちの少なくとも１つを含み、ターゲット・スキーマ・オブジェクト・クラスは、デバイスタイプおよびプロトコルに基づく構成可能なリソースのクラスを表す。いくつかの実施形態では、コンピューティングデバイスは、第１のオブジェクトパラメータに基づいて、デバイスの機能を表すＣＲＵＤ（作成、読み出し、更新、および削除）セマンティクスの指定に関連付けられたデータフィールドのセットを、構成パラメータがサーバからデータベースにインポート可能なデータに関連付けられたインポート可能なフォームを含む場合に、コンピューティングデバイスに関連付けられたデータベースから取得し、構成パラメータがサーバからデータベースにインポート不可能なデータに関連付けられたインポート不可能なフォームを含む場合に、ユーザ提供データから取得する。いくつかの実施形態では、コンピューティングデバイスは、要求されたターゲット・スキーマ・オブジェクト・クラスを作成し、要求されたターゲット・スキーマ・オブジェクト・クラスは、取得されたデータフィールドのセットを含む。いくつかの実施形態では、コンピューティングデバイスは、要求されたターゲット・スキーマ・オブジェクト・クラスに基づいて、修飾ターゲット・オブジェクト・クラスを作成し、修飾ターゲット・オブジェクト・クラスは、取得されたデータフィールドのセット内のデータフィールドの少なくとも一部に対する指定値を含む。いくつかの実施形態では、コンピューティングデバイスは、少なくとも１つのサブレシピを作成する要求に関連付けられたデータを受信し、少なくとも１つのサブレシピの各々は、修飾ターゲット・オブジェクト・クラス、および１つまたは複数の他の修飾ターゲット・オブジェクト・クラスおよび修飾ターゲット・オブジェクト・クラスと１つまたは複数の他の修飾ターゲット・オブジェクト・クラスとの間の関連付けを示すデータのうちの少なくとも１つを含む。いくつかの実施形態では、コンピューティングデバイスは、サービスインスタンスを形成するために実行エンジンへの送信のためのレシピを処理し、レシピは、少なくとも１つのサブレシピを含み、サービスインスタンスは、指定値に基づいて事前入力されている、または隠されているサービス・インスタンス・データ・フィールドを含み、サービスインスタンスは、事前入力されていないサービス・インスタンス・データ・フィールドがオペレータによってカスタマイズされ得るように、特定のネットワークデバイスのオペレータによってカスタマイズ可能である。
【０００７】
いくつかの実施形態では、コンピューティングデバイスは、共通修飾ターゲット・オブジェクト・クラスを有する少なくとも１つのサブレシピ内のサブレシピのセットを決定し、共通修飾ターゲット・オブジェクト・クラスはサブレシピのセットのそれぞれに存在する。いくつかの実施形態では、コンピューティングデバイスは、サブレシピのセット内の１つのサブレシピ内の１つの共通修飾ターゲット・オブジェクト・クラスの合体パラメータを受信し、合体パラメータは、１つの共通修飾ターゲット・オブジェクト・クラスのデータフィールドの値のセットを含む。いくつかの実施形態では、コンピューティングデバイスは、他の少なくとも１つのサブレシピの各々に関連付けられた他の共通修飾ターゲット・オブジェクト・クラスの各々に合体パラメータを適用する。
【０００８】
いくつかの実施形態では、コンピューティングデバイスは、指定値を受信することによって、修飾ターゲット・オブジェクト・クラスを作成する。いくつかの実施形態では、指定値は、第１のオブジェクトパラメータから導出される。いくつかの実施形態では、サービスインスタンスは、仮想ネットワーク機能、物理ネットワーク機能、またはアプリケーションの少なくとも１つを含むターゲットインスタンスをさらに含む。いくつかの実施形態では、構成可能な（設定可能な）リソースは、サービス品質、レーティンググループ、料金プラン、およびパケットフィルタのうちの少なくとも１つを含む。いくつかの実施形態では、プロトコルは、表現状態転送（ＲＥＳＴ：ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｓｔａｔｅ  ｔｒａｎｓｆｅｒ）プロトコル、構造化照会言語（ＳＱＬ）プロトコル、簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）、セキュアファイル転送プロトコル／セキュア・シェル・プロトコル（ＳＦＴＰ／ＳＳＨ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、およびネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）のうちの少なくとも１つを含む。
【０００９】
開示される主題の様々な目的、特徴、および利点は、以下の図面と併せて考察される場合、開示される主題の以下の詳細な説明を参照することにより、より十分に理解され得る。図面において、同様の参照番号は同様の要素を示している。
【図面の簡単な説明】
【００１０】
【図１】本開示のいくつかの実施形態に係る、サービス自動化プラットフォーム展開を示すシステム図である。
【図２】本開示のいくつかの実施形態に係る、新しいモバイル仮想ネットワークオペレータ（ＭＶＮＯ）の自動オンボーディングを示すシステム図である。
【図３】本開示のいくつかの実施形態に係る、レシピビルダおよびレシピトランザクタのシステム図である。
【図４】本開示のいくつかの実施形態に係る、サービスインスタンス管理のオブジェクト関係図である。
【図５】本開示のいくつかの実施形態に係る、サービス・レシピ・セクションおよびサブレシピセクションを含むレシピ・ビルダ・ユーザ・インタフェースを示すスクリーンショットである。
【図６Ａ】本開示のいくつかの実施形態に係る、ネイティブ・ターゲット・オブジェクト表現を含むレシピ・ビルダ・ユーザ・インタフェースを示すスクリーンショットである。
【図６Ｂ】本開示のいくつかの実施形態に係る、ネイティブ・ターゲット・オブジェクト表現を含むレシピ・ビルダ・ユーザ・インタフェースを示すスクリーンショットである。
【図６Ｃ】本開示のいくつかの実施形態に係る、コネクタタイプのターゲット・スキーマ・オブジェクトを設計するために使用されるレシピ・ビルダ・ユーザ・インタフェースの図である。
【図６Ｄ】本開示のいくつかの実施形態に係る、修飾ターゲット・オブジェクト・クラスを設計するために使用されるレシピ・ビルダ・ユーザ・インタフェースの図である。
【図７】本開示のいくつかの実施形態に係る、レシピ・トランザクタ・ユーザ・インタフェースを示すスクリーンショットである。
【図８】本開示のいくつかの実施形態に係る、レシピビルダにおけるパラメータ合体を示す図である。
【図９】本開示のいくつかの実施形態に係る、サービスインスタンスを作成する部分を自動化するために使用されるレシピの作成を示すフローチャートである。
【発明を実施するための形態】
【００１１】
いくつかの実施形態では、電気通信アプリケーション構成を自動化するための技術が開示されている。本明細書で開示する技術は、様々な電気通信アプリケーションおよびデバイス用にカスタマイズされ得る再利用可能なレシピ、サブレシピ、およびターゲット・スキーマ・オブジェクト・クラスを可能にする。
【００１２】
例えば、ネットワーク機能仮想化（ＮＦＶ）は、新しい仮想ネットワーク機能（ＶＮＦ）／仮想マシン（ＶＭ）を発見することだけではない。多くのＶＮＦは、永続的であり、マルチテナント型である。多くのＶＮＦでは、複雑な継続的構成の必要がある。
【００１３】
例えば、サービス機能チェイニング（ＳＦＣ）は、統合上の課題を増加させる可能性がある。ＳＦＣのＶＮＦは、永続的であり、マルチテナント型である傾向がある。ポリシーの調整は、ＳＦＣによって完全には解決されない（例えば、ＶＮＦは、どのポリシーがサービス機能パス（ＳＦＰ）ＩＤに関連付けられているかを認識しない場合がある）。
【００１４】
真のエンド・ツー・エンド・キャリア・サービスは、例えば、制御プレーン（例えば、ＭＭＥ、ＲＡＤＩＵＳ、ＰＣＲＦ、ＯＣＳ、ＯＦＣＳ、ＰＥのルータ）および様々な内部アプリケーションにわたって、広範な協調構成を必要とする可能性がある。
【００１５】
サービスモデリングは、時間（例えば、サービスおよびネットワーク内でサービスを実現する方法を定義するのに要する時間）がかかり過ぎる可能性があり、十分に自動化されない（例えば、対応するチェックリスト付きのＷｏｒｄ文書として表現されるメタモデル指向プログラミング（ＭＯＰ：Ｍｅｔａｍｏｄｅｌ  Ｏｒｉｅｎｔｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ））。
【００１６】
データ駆動型の自動化手法は、かなり長い間、スクリプトの形で利用されてきた。あるレベルでは、スクリプトを使用して自動化を進めることは、スクリプト自体がデータを表すという点でデータ駆動型である。さらに、スクリプトは、「ファイア・アンド・フォゲット」であるため、スクリプトを実行した結果として得られる効果をステートフルに表現することができない。
【００１７】
スクリプティングの手法は、従来の情報技術（ＩＴ）の設定で利用されているが、ｔｅｌｃｏアプリケーションのプロビジョニングにはほとんど利用されていない。典型的なｔｅｌｃｏアプリケーションとは異なり、典型的なＩＴアプリケーションは、展開時に構成されることが多く、増分的に再構成する必要はほとんどない、または全くない。それに対して、ｔｅｌｃｏアプリケーションは、確実にネットワーク内の意図されたアーチファクトが期待どおりにプロビジョニングされるように、サービス構成の検証が必要である。
【００１８】
ｔｅｌｃｏアプリケーション構成の自動化フレームワークへの統合を容易にする試みがなされてきたが、最終的には、新しいデバイス、サービス、または手順の統合を達成するためには、いずれも自動化プラットフォームの開発者によって書かれるコードが必要である。それに対して、本明細書に記載の手法は、データ駆動型であり、ソリューションのエンドユーザが必要な自動化手順をモデル化するのに必要な全てのデータを提供するエージェントレスな手法である。
【００１９】
Ｔｅｌｃｏアプリケーションは、通常は、エージェントレス（エージェントが不要）である。エージェントベースの手法は、クライアント（例えば、アプリケーション）がサーバ（例えば、インストールすべきソフトウェアパッケージをサーバに要求するサーバまたは仮想マシン（ＶＭ）上で動作するエージェント）から必要な構成をプルすることを可能にする。それに対して、エージェントがなければ、中央「マネージャ」は、様々なクライアントにおいて全ての必要な構成をプッシュする必要がある。Ｔｅｌｃｏアプリケーションは、様々なベンダおよびアプリケーションのタイプ（例えば、ルータ、ＤＮＳサーバ、ＰＣＲＦ、ＰＧＷなど）のために、エージェントレスである傾向がある。これは、エージェントベースのターゲットを持つ同種の環境（例えば、ソフトウェアのインストールとアップグレードのためにＬｉｎｕｘ（登録商標）にエージェントをインストールする）とは対照的である。
【００２０】
本明細書で説明するように、データ駆動型手法は、任意の新しいネットワーク機能またはアプリケーションの構成を管理するために必要な情報を提供するシステムのユーザを指すことができる。いくつかの実施形態で説明されているように、システムは、サポートされるネットワーク機能またはアプリケーションのリストを提供しない。代わりに、システムのユーザは、動的に前記アプリケーションの構成を直接可能にすることができる。上述したように、あらゆるタイプの構成をあらゆる関連ネットワーク機能およびアプリケーションにプルするためにユビキタス（例えば、どこにでも展開される）エージェントを展開することが実行不可能である電気通信のようなアプリケーションにおいて、エージェントレス手法を使用することができる。
【００２１】
また、上記の問題からエンドユーザに負担をかけないために、いくつかの実施形態では、データ自動化言語を使用して、あらゆる自動化手順を記述することができる。いくつかの実施形態では、本明細書に記載のシステムおよび方法は、ターゲットエンティティのいくつかのセットに対するセキュアシェル（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）／コマンド・ライン・インタフェース（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅｓ）（ＳＳＨ／ＣＬＩ）のようなサポートされているトランスポートを介して発生する一般化されたアクションシーケンスの表現を可能にする言語を作成するために拡張マークアップ言語（ＸＭＬ）を使用する。いくつかの実施形態では、この言語は、ターゲットエンティティのセット内の実行可能なバージョンの任意の範囲を処理するｉｆ／ｅｌｓｅロジックをキャプチャするのにも十分な表現能力を有する。
【００２２】
このような手法は、オブジェクト指向であり得、選択されたターゲット上のサポートされているネイティブ・オブジェクト・インスタンスの集合を含むことができる抽象サービスインスタンスのライフサイクル管理を可能にする。このようなサービスインスタンスは、作成、削除、修正、基礎となるターゲットとの同期チェック、基礎となるターゲットにおける同期化、ステータスのチェック、および統計のための収集が可能である。
【００２３】
本明細書に記載の手法は、ネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、ＳＳＨ／ＣＬＩ、ＳＳＨファイル転送プロトコル（ＳＦＴＰ）、表現状態転送（ＲＥＳＴ）、および簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）／ＸＭＬを含む所望のターゲットデバイスに対する任意の必要なトランスポートプロトコルをサポートすることができる。
【００２４】
いくつかの実施形態では、サービスはレシピビルダ（本明細書ではｖビルダとも呼ぶ）を使用して定義される。以下でより詳細に説明するように、レシピビルダにより、内容領域専門家（ＳＭＥ）はネットワーク・オペレータのレシピを構築することができる。いくつかの実施形態では、本明細書に記載のシステムは、コーディングの必要がなく、内蔵の製品特有のアダプタを持たないＧＵＩベースのエンドユーザデバイスを提供する。いくつかの実施形態では、ＳＭＥによる再利用可能なモデル定義が使用される。以下でより詳細に説明するように、再利用可能なモデル定義の一例は、複数のレシピで使用されるサブレシピである。いくつかの実施形態では、本明細書に記載のシステムは、柔軟な引数処理および伝播を可能にし、任意のトランスポートコネクタ（例えば、ＮＥＴＣＯＮＦ、ＲＥＳＴ、ＳＯＡＰ、ＳＮＭＰ、Ｊａｖａ（登録商標）構造化照会言語（ＪＳＱＬ）、ＣＬＩ／ＳＳＨ）を介して任意のターゲットデバイスまたはアプリケーションをサポートするように修正され得る。いくつかの実施形態では、本明細書に記載のシステムは、マルチバージョン管理のターゲットをサポートする。
【００２５】
いくつかの実施形態では、本明細書に記載のシステムは、レシピトランザクタ（本明細書ではレシピトランザクタとも呼ぶ）を使用してサービスインスタンス化を提供する。レシピトランザクタは、レシピビルダから完了したレシピをインポートすることができる。いくつかの実施形態では、サービスは、ＧＵＩを介して、またはプログラムによって（例えば、ＲＥＳＴを使用して）トリガされる。サービスは、作成／修正／削除、ステータス、統計、ユーザ定義アクションを含み得る。いくつかの実施形態では、本明細書に記載のシステムは、構成同期／チェック、ターゲット間の集約によるステータス、およびターゲット間の統計ロールアップのようなインスタンス化されたサービスインスタンスを追跡することができる。
【００２６】
図１は、本開示のいくつかの実施形態に係る、サービス自動化プラットフォーム展開を示すシステム図である。図１は、オペレーションネットワーク１０２、企業ＩＴネットワーク１０４、オペレータ用インタフェース１０６、内容領域専門家（ＳＭＥ）１０８用インタフェース、レシピビルダ（本明細書ではレシピビルダとも呼ぶ）１１０、レシピエグゼキュータ（本明細書ではレシピトランザクタとも呼ぶ）１１２、オペレーション・サポート・システム／ビジネス・サポート・システム（ＯＳＳ／ＢＳＳ）アプリケーション１１４、要素管理システム（ＥＭＳ）１１６、ネットワーク要素（ＮＥ）１１８、ＮＥ１２０、仮想Ｉ／Ｏモジュール（ＶＩＭ）１２２、ＮＦＶ  オーケストレータ／仮想ネットワーク機能マネージャ（ＮＦＶＯ／ＶＮＦＭ）１２４、およびアプリケーション１２６を示している。
【００２７】
レシピビルダ１１０は、企業ネットワーク１０４内のツールとして展開され得る。いくつかの実施形態では、ターゲットユーザは、内容領域専門家（ＳＭＥ）１０８である。ＳＭＥ１０８は、ＲＥＳＴのようなウェブ・サービス・アーキテクチャを介してレシピビルダ１１０と通信することができる。レシピビルダ１１０は、レシピの繰り返しの呼び出しに適したモデルを構築する方法を指定する。以下でより詳細に説明するように、レシピビルダ１１０は、いくつかの実施形態では、オペレータ１０６がサービスインスタンスを作成、取得、更新、および削除することができるようにすることによって、オペレータが新しい顧客をどのようにオンボードさせることができるかをＳＭＥ１０８が指定できるようにする。ＳＭＥ１０８は、レシピ（例えば、ＱｏＳポリシー、料金プラン）を構成するオブジェクト指向プログラム・ネイティブ・ターゲット・オブジェクト（本明細書では「ターゲット・スキーマ・オブジェクト・クラス」または「ターゲット・スキーマ・オブジェクト」とも呼ぶ）／修飾ターゲットオブジェクト（本明細書では「修飾ターゲット・オブジェクト・クラス」とも呼ぶ）を構築する。完全なサービスモデリング（例えば、作成／修正／削除、ステータス、統計、ユーザ定義アクション）が存在するように、レシピによってサービスを定義され得る。レシピは、機械可読スキーマを提供しないアプリケーションの「擬似スキーマ」を定義するために、ＳＭＥ１０８が構成オブジェクト・モデル・スキーマ（例えば、ルータ・ベンダＸのさらに別の次世代（ＹＡＮＧ：Ｙｅｔ  Ａｎｏｔｈｅｒ  Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ）モジュール）をインポートすること、およびレシピビルダのＧＵＩとの直接対話を介するユーザのデータ入力によって構築され得るので、コーディングおよび製品固有のアダプタは本明細書に記載のシステムでは少なくとも一部は必要ない。この一例は、コマンド・ライン・インタフェース（ＣＬＩ）のみで管理されるアプリケーションまたはネットワーク機能である。アプリケーションプロバイダは、ＣＬＩユーザガイドをＰＤＦファイルで公開していることが多い（例えば、バッカス・ナウア記法（ＢＮＦ：Ｂａｃｋｕｓ−Ｎｏｉｒ−Ｆｏｒｍ））のような機械可読フォーマットを公開することは可能であるが、シンタックスのみを提供し、セマンティクスは提供しない）。ＣＬＩドキュメントの例では、アプリケーションの「正式な」スキーマは事実上存在しない。
【００２８】
オペレーションネットワーク１０２内に常駐するレシピトランザクタ１１２は、オペレータ１０６がレシピビルダ１１０から受信したレシピに基づいてサービスを提供することを可能にする。オペレータ１０６は、ＲＥＳＴのようなウェブ・サービス・アーキテクチャを介してレシピトランザクタと通信することができる。レシピトランザクタ１１２は、サービスインスタンスのライフサイクル管理（例えば、作成、取得、更新、削除）をサポートするために、モデルを利用する。さらに、レシピトランザクタ１１２は、サポートされているコネクタまたはプロトコルのセットを介して、全ての他のコンポーネント（例えば、ＯＳＳ／ＢＳＳアプリケーション１１４、要素管理システム（ＥＭＳ）１１６、ネットワーク要素（ＮＥ）１２０、仮想Ｉ／Ｏモジュール（ＶＩＭ）１２２、ＮＦＶ  オーケストレータ（ＮＦＶＯ）／仮想ネットワーク機能マネージャ（ＶＮＦＭ）１２４、およびアプリケーション１２６）と通信することができる。モデルは、サービスインスタンス化に関連するプロトコルまたはデバイスの先験的知識の少なくとも１つ、およびレシピによって検出されたプロトコルおよびデバイスタイプから作成され得る。オペレータ１０６は、以下でより詳細に説明するように、特定のターゲットインスタンスにとって特有の情報をレシピに提供することによって、レシピトランザクタ１１２を介してサービスをインスタンス化することができる。レシピトランザクタ１１２は、サービスをインスタンス化するために、ＯＳＳ／ＢＳＳアプリケーション１１４、要素管理システム（ＥＭＳ）１１６、ネットワーク要素（ＮＥ）１２０、仮想Ｉ／Ｏモジュール（ＶＩＭ）１２２、ＮＦＶ  オーケストレータ（ＮＦＶＯ）／仮想ネットワーク機能マネージャ（ＶＮＦＭ））１２４、およびアプリケーション１２６に対してパラメータを指定することができる。レシピトランザクタ１１２は、サービスをインスタンス化するために、要素管理システム（ＥＭＳ）１１６、ネットワーク要素（ＮＥ）１２０、仮想インフラストラクチャマネージャ（ＶＩＭ）１２２、ＮＦＶ  オーケストレータ（ＮＦＶＯ）／仮想ネットワーク機能マネージャ（ＶＮＦＭ）１２４、およびアプリケーション１２６を構成するための命令をさらに用いて、ＯＳＳ／ＢＳＳアプリケーション１１４に対するパラメータを指定することもできる。レシピトランザクタ１１６は、本明細書に記載のシステムでサポートされているプロトコル／コネクタ（例えば、ＲＥＳＴ、ＳＯＡＰ、およびＮＥＴＣＯＮＦのうちの少なくとも１つ）を介して、他のオペレーションネットワーク要素と通信することができる。
【００２９】
ＯＳＳ／ＢＳＳアプリケーション１１４は、エンド・ツー・エンド電気通信サービスを管理し、サポートするために使用され得る。ＯＳＳは、サービスプロビジョニングのような管理機能を含む。ＢＳＳは、電気通信サービスプロバイダのための事業運営を管理するコンポーネントを含む。ＥＭＳ１１６は、電気通信ネットワーク内のネットワーク要素１２０を管理する。ＮＦＶＯ／ＶＮＦＭ１２４は、ＮＦＶリソースを管理し、オーケストレートする。ＶＮＦＭは、ＶＮＦのライフサイクルを管理する。アプリケーション１２６は、電気通信アプリケーションを指す。
【００３０】
上述したように、レシピビルダ１１０は、データ駆動型である。オンボーディングプロセスを自動化するために、ＳＭＥ１０８は、１つまたは複数のターゲット・スキーマ・オブジェクト（本明細書では「ターゲット・スキーマ・オブジェクト・クラス」とも呼ぶ）と、１つまたは複数の修飾ターゲットオブジェクト（本明細書では「修飾ターゲット・オブジェクト・クラス」とも呼ぶ））との組み合わせを使用して、オペレータ１０６によって指定されるべき各コンポーネントの構成パラメータを制限することができる。以下でより詳細に説明するように、ＳＭＥ１０８は、単一のサブレシピ内にターゲット・スキーマ・オブジェクト・クラスの組み合わせを含むことができ、さらにターゲット・スキーマ・オブジェクト・クラス間の関係を指定することができる。レシピトランザクタ１１２は、製品を構成するプロトコルをサポートし、そのことによって製品自体を構成する。レシピは、各プロトコルに必要なパラメータの少なくともいくつかを指定することができる。いくつかの実施形態では、ＳＭＥは、そうでなければターゲットの視点からすれば柔軟性のある特定の属性をハードコーディングすることによってモデルを簡略化し、および／またはターゲット自身の制約よりも限定的な制約を指定することができる。いくつかの実施形態では、最終的に全ての制約を満たす実際の値は、オペレーション（例えば、作成、更新など）の実行中にトランザクタによって処理される。
【００３１】
例えば、顧客をオンボードさせるために、ＳＭＥ１０８は、新規顧客をオンボードさせる方法を定義するレシピを構成することができる。ＳＭＥ１０８によって構成されたレシピにより、オペレータは、インスタンス化のためにライフサイクルを作成、取得、更新、および削除（本明細書ではＣＲＵＤセマンティクスとも呼ぶ）することができる。サービスインスタンス化の１つの例は、無線キャリアが巨大な顧客（例えば、ＡＴ＆Ｔ（登録商標）がオンボードしているＦｅｄＥｘ（登録商標））を直接オンボードさせる場合、または無線キャリアが子会社の顧客（例えば、ＡＴ＆Ｔ（登録商標）がオンボードしているＣｒｉｃｋｅｔ  Ｗｉｒｅｌｅｓｓのようなモバイル仮想ネットワーク・オペレータ（ＭＶＮＯ））をオンボードさせる場合である。いくつかの実施形態では、図２を用いて以下でより詳細に説明するように、顧客のオンボーディングは、複数の接点の構成を必要とする。
【００３２】
図２は、本開示のいくつかの実施形態に係る、新規ＭＶＮＯの自動オンボーディングを示すシステム図である。図２は、レシピトランザクタ１１２、ネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）２０２、ＯＳＳ１１４、ＮＦＶＯ／ＶＮＦＭ１２４、Ｇｉ  ＬＡＮサービス２０８、パケット・データ・ネットワーク・ゲートウェイ（ＰＧＷ）２１０、モビリティ管理エンティティ（ＭＭＥ）２１２、ドメイン・ネーム・サーバ（ＤＮＳ）２１４、オフライン課金システム（ＯＦＣＳ）２１６、オンライン課金システム（ＯＣＳ）２１８、ホーム加入者サーバ／ホーム・ロケーション・レジスタ（ＨＳＳ／ＨＬＲ）２２０、ポリシーおよび課金ルール機能（ＰＣＲＦ）２２２、認証、認可、アカウンティング（ＡＡＡ）サーバ２２４、プロバイダエッジ（ＰＥ）ルータ２２６、ノースバウンド・アプリケーション・プログラミング・インタフェース（ＡＰＩ）レンダラ２２８、レシピ・トランザクタ・エンジン１１２、認可マネージャ２３２、表現状態転送（ＲＥＳＴ）プロトコル２３４、構造化照会言語（ＳＱＬ）プロトコル２３６、簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）２３８、セキュアファイル転送プロトコル／セキュア・シェル・プロトコル（ＳＦＴＰ／ＳＳＨ）２４０、簡易ネットワーク管理プロトコル（ＳＮＭＰ）２４２、ネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）２４４を示している。
【００３３】
ＮＦＶＩ２０２は、ＶＮＦが利用できるコンピューティング、ストレージ、およびネットワーキングのリソースの集合である。いくつかの実施形態では、本明細書に記載のシステムを使用して、仮想ネットワーク機能、物理ネットワーク機能、または仮想ネットワーク機能と物理ネットワーク機能の両方の組み合わせを管理することができる。図２に示すように、サービスをインスタンス化するには、多様なネットワーク要素を構成する必要がある。例えば、ＰＥルータ２２６を構成することは、ボーダ・ゲートウェイ・プロトコル（ＢＧＰ）仮想ルーティング機能（ＶＲＦ）およびマルチプロトコル・ラベル・スイッチング（ＭＰＬＳ）ＢＧＰ／ＭＰＬＳ  ＶＲＦの各々の少なくとも１つまたは複数のインスタンスを構成することを含むことができ、ＡＡＡサーバ２２４、ＰＣＲＦ２２２、およびＨＳＳ／ＨＬＲ２２０を構成することは、アクセスポイント名（ＡＰＮ）ポリシーマッピングおよび国際移動体加入者識別（ＩＭＳＩ）ポリシーマッピングのうちの少なくとも１つを構成することを含むことができ、ＯＣＳ２１８およびＯＦＣＳ２１６を構成することは、ＡＰＮからＭＶＮＯへのマッピングを構成することを含むことができ、ＤＮＳ２１４を構成することは、ＡＰＮおよびＰＧＷ  Ｃ−ｎａｍｅレコードを構成することを含むことができ、ＭＭＥ２１２を構成することは、ＡＰＮオペレータポリシーおよびＰＧＷ選択ポリシーを構成することを含むことができ、Ｇｉ  ＬＡＮサービス２０８を構成することは、ＰＧＷ、ＡＰＮ、ユーザ機器（ＵＥ）プール、ＢＧＰ／ＭＰＬＳ  ＶＲＦ、ワークフロー制御、およびデータプロファイルを構成することを含むことができる。Ｇｉは、ＧＧＳＮ／ＰＧＷからインターネットへのインタフェースである。いくつかの実施形態では、ＧＧＳＮ／ＰＧＷとインターネットとの間に様々な付加価値サービスが挿入される。これらのエンティティは、ＧｉＬＡＮまたはＧｉ  ＬＡＮと呼ばれる。例えば、ＧｉＬＡＮサービス２０８は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）プロキシ、伝送制御プロトコル（ＴＣＰ）プロキシ、ＨＴＴＰコンテンツフィルタリング、ネットワークアドレス変換（ＮＡＴ）、またはファイアウォールに対するポリシーおよび挙動の構成を含むことができる。上述したように、ノースバウンドＡＰＩレンダラ２２８を介するオペレータ１０６は、レシピトランザクタ１１２を介してレシピを実行して、サポートされているプロトコル（例えば、ＲＥＳＴ  ２３４、ＳＱＬ２３６、ＳＯＡＰ  ２３８、ＳＦＴＰ／ＳＳＨ  ２４０、ＳＮＭＰ  ２４２、ＮＥＴＣＯＮＦ２４４）を介してサービスインスタンスを作成、取得、更新、または削除するために、ネットワーク要素を構成することができる。それに対して、従来技術の技術では、（１）それぞれの新規サービスインスタンス化のための手動プログラミング、または（２）ＩＴ部門によって高コストで設計されたサービスのほんのわずかのサブセットのみをサポートする柔軟性のないシステム、もしくは以前の構成を継続的に検証するために不適切な状態を保持するスクリプティング手法のいずれかが必要であった。以下でより詳細に説明するように、新規顧客のオンボーディングプロセスは、ＳＭＥが入力する情報、つまり、（１）レシピを含む第１の層、（２）サブレシピを含む第２の層、（３）（ａ）ターゲットによってネイティブに見られるターゲット・スキーマ・オブジェクト・クラス（本明細書では「ターゲット・スキーマ・オブジェクト」とも呼ぶ）および（ｂ）ＳＭＥによって注釈付けされたターゲット・スキーマ・オブジェクト・クラス（本明細書では「修飾ターゲットオブジェクト」とも呼ぶ）を含む第３の層によって、本明細書に記載のシステムおよび方法を使用して自動化される。動詞（例えば、ＣＲＵＤ）は、全ての層の挙動のアスペクトである。
【００３４】
いくつかの実施形態では、第３の層では、２段階のモデリング手法がある。まず、リソースのターゲットのネイティブ表現（例えば、オブジェクト）をインポートまたは定義し、次に、より厳しい制約を指定するために、そのネイティブ表現を修飾または注釈付けし、特定の属性のハードコーディングを介したデータ隠蔽、または複数の属性の合体（例えば、結合）を介した簡略化を実行する。ＣＲＵＤ動詞の各々に関連するモデルのアスペクトは、モデルのファセット（レシピ、サブレシピ、ターゲット・スキーマ・オブジェクト・クラス、修飾ターゲット・オブジェクト・クラス）と呼ぶことができ、全ては作成ファセット、更新ファセットなどを有し、モデルの動詞固有のアスペクトを表現する。いくつかの実施形態では、動詞固有ではないリソースまたはオブジェクトモデルの１つのアスペクトは、リソースのインスタンスを一意的に識別するキー属性である。これらの属性は、動詞を実行するために完全に指定されている。
【００３５】
本開示のいくつかの実施形態で説明されているように、ターゲット・スキーマ・オブジェクトとは、ネイティブアプリケーションによってオブジェクトに与えられた精度および柔軟性の表現である（例えば、ＣＬＩガイドを読めば、静的ルートオブジェクトが、例えば、そのインスタンスを一意に識別する特定の方法を有すること、特定の必須属性、特定の任意の属性を有すること、および属性にはタイプと場合によっては制約があることがわかる。）ターゲット・スキーマ・オブジェクトが確立されると（例えば、ＳＭＥによってインポートされると）、追加の制約、データ隠蔽、および複数の属性に常に同一の値が提供されるように属性を合体させるような他のオペレーションの形態で、さらなる詳細化が可能になる。例えば、ＩＰ  ｖ４アドレスのみを使用するように制限することによって、静的ルート・ターゲット・スキーマ・オブジェクト・クラスに基づいて修飾ターゲット・オブジェクト・クラスを作成することができる。同じターゲット・スキーマ・オブジェクト・クラスに基づく異なる修飾ターゲット・オブジェクト・クラスでは、ＩＰ  ｖ６アドレスのみを許可するという制限がある場合がある。
【００３６】
認可マネージャ２３２は、本明細書に記載のシステムのいくつかの実施形態において、いくつかの第２の機能を可能にする。作成されたサービスインスタンスは、オペレータのサブセットのみがさらにそれに作用する（更新、削除するなど）ことができるように指定され得る。例えば、Ｃｒｉｃｋｅｔ  ＭＶＮＯおよびＪａｓｐｅｒ  ＭＶＮＯは、ＳＭＥによって設計されたＭＶＮＯモデルまたはレシピに基づいて、トランザクタによって作成され得る。Ｃｒｉｃｋｅｔ  ＭＶＮＯのみを修正し得るオペレータの１つのチームと、Ｊａｓｐｅｒ  ＭＶＮＯのみを修正し得る異なるチームとが存在し得る。
【００３７】
図３は、本開示のいくつかの実施形態に係る、レシピビルダおよびレシピトランザクタのシステム図である。図３は、サービスデータベース３１０、レシピデータベース３１２、エンド・ツー・エンド（Ｅ２Ｅ）テストレシピ３１６、サービスレシピ３１８、エミュレートされたテストターゲット３２０、ウェブサービス定義言語（ＷＳＤＬ）３２２、ＸＭＬスキーマ定義（ＸＳＤ）３２４、さらに別の次世代構成オブジェクトモデリング言語（ＹＡＮＧ）３２６、管理情報ベース（ＭＩＢＳ）３２８、物理／仮想ネットワーク機能（Ｐ／ＶＮＦ）３３０  ３３２  ３４０  ３４２、ＮＦＶＯ／ＮＦ／アプリケーション３３４、Ｐ／ＶＮＦ／アプリケーション３３６、およびリモートデータベース３４４を示している。
【００３８】
サービスデータベース３１０は、レシピトランザクタ１１２によってインスタンス化されたサービスのレコードを含む。以下でより詳細に説明するように、サービスのレコードは、サービスインスタンス、ターゲットタイプ、およびターゲットインスタンスを含むことができる。レシピデータベース３１２は、レシピビルダ１１０を介してＳＭＥ１０８によって作成されたレシピ、サブレシピ、ターゲット・スキーマ・オブジェクト、および修飾ターゲット・オブジェクト・クラスのレコードを含む。
【００３９】
エミュレートされたテストターゲット３２０により、ＳＭＥは、テスト、デバッグ、および修正のためにシミュレートされた環境でレシピを実行することができる。エミュレートされたテストターゲット３２０は、要求／応答の対に関してＰＣＲＦのようなターゲットのＳＭＥによって定義され得るエミュレーションを指す。このことにより、トランザクタにおける展開の前でも、ＰＣＲＦを対象とするサブレシピの第１のレベルのテストが可能になる。
【００４０】
レシピビルダ１１０は、２種類のレシピ、すなわち、Ｅ２Ｅテストレシピ３１６およびサービスレシピ３１８を作成することができる。Ｅ２Ｅテストレシピ３１６は、レシピを介して作成されたサービスインスタンスの挙動を検証することができる。Ｅ２Ｅテストレシピ３１６は、構成が正しく、最新であることをテストするだけでなく、様々なルータ間リンクの物理リンクステータスなどの動作条件によって影響を受け得る真のエンド・ツー・エンド挙動をテストすることもできる。例えば、サービスインスタンスの通常のＣＲＵＤライフサイクル管理の代わりに、本明細書に記載のシステムおよび方法を使用して、サービス検証に使用され得るアクティブテストの起動をモデル化し、アクティブテストの結果を収集して解釈することができる。例えば、キャリアが所有するテストＵＥを展開して、ＭＶＮＯに接続してからキャリア所有のサーバからファイルを取得することができる。テストＵＥは、テストを実施するためにトリガされ、テストＵＥに対して、このテストの結果についてクエリが行われ得る。この例では、実際のサービスインスタンスは作成されず、ステートレスアクションである。本明細書でより詳細に説明するように、サービスレシピ３１８は、サービスをインスタンス化するためにオペレータ１０６によって使用されるようにＳＭＥによって設計され得る。
【００４１】
レシピは、ＳＯＡＰ／ＸＭＬを介して管理されるアプリケーションと通信し、対応するＷｅｂサービス定義言語（ＷＳＤＬ）３２２、さらに別の次世代（ＹＡＮＧ）３２６、および／または管理情報ベース（ＭＩＢＳ）３２８を公開するように設計され得る。ＷＳＤＬ３２２は、メッセージを交換することができるネットワークエンドポイントの集合としてサービスを定義するＸＭＬフォーマットである。ＹＡＮＧ３２６は、モジュール型であるＮＥＴＣＯＮＦ用の言語であり、ＸＭＬツリー形式のデータ構造を表す。ＭＩＢＳ３２８により、ネットワーク管理システムはデータベースオブジェクトを監視することができる。
【００４２】
上述したように、レシピトランザクタ１１２は、任意の数のプロトコル（例えば、表現状態転送（ＲＥＳＴ）プロトコル２３４、構造化照会言語（ＳＱＬ）プロトコル２３６、簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）２３８、セキュアファイル転送プロトコル／セキュア・シェル・プロトコル（ＳＦＴＰ／ＳＳＨ）２４０、簡易ネットワーク管理プロトコル（ＳＮＭＰ）２４２、ネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）２４４）を利用することができるレシピを受信することができる。各々のプロトコルは、Ｐ／ＶＮＦ  ３３０  ３３２  ３４０  ３４２、ＮＦＶＯ／ＮＦ／アプリケーション３３４、Ｐ／ＶＮＦ／アプリケーション３３６、およびリモートデータベース３４４の構成に関連付けられ、これらの構成を指定するのに使用され得る。例えば、ＮＥＴＣＯＮＦは、ＹＡＮＧ可能ルータ（例えば、Ｊｕｎｉｐｅｒルータ、Ｃｉｓｃｏルータ）と共に使用され得る。以下でより詳細に説明するように、ＹＡＮＧファイルは、アプリケーションプロバイダ（例えば、「エンタープライズ」ＹＡＮＧモデル）によって公開され、および／または標準化され（例えば、リクエスト・フォー・コメンツ（ＲＦＣ）の形式でインターネット技術タスクフォース（ＩＥＴＦ）によってリリースされ）、それをレシピビルダ１１０のワークスペースにドラッグして、ワークフロー（例えば、ＱｏＳフロー）を指定することができる。他のプロトコルは、ＲＥＳＴ、ＳＯＡＰ、およびコマンド・ライン・インタフェース（ＣＬＩ）を含む。ＮＥＴＣＯＮＦプロトコルは、一般に、ＹＡＮＧスキーマとペアになっており、ＳＮＭＰプロトコルは、一般的に、ＭＩＢスキーマとペアになっており、ＳＯＡＰ／ＸＭＬプロトコルは、一般に、ＷＳＤＬスキーマとペアになっており、ＲＥＳＴプロトコルおよびＣＬＩプロトコルは、一般に、フォーマルスキーマを有さない。
【００４３】
図４は、本開示のいくつかの実施形態に係る、サービスインスタンス管理のオブジェクト関係図である。図４は、レシピビルダ１１０に関連付けられたレシピ４０２、サブレシピ４０４、およびターゲット・スキーマ・オブジェクト・クラス４０６と、レシピトランザクタ１１２に関連付けられたサービスインスタンス４１０、ターゲットタイプ４１２、およびターゲットインスタンス４１４を示している。
【００４４】
図４に示すように、ラインより上の要素は、レシピビルダ１１０の観点から見た本明細書に記載のシステムおよび方法のいくつかの実施形態（例えば、サービスモデル）を示し、ラインより下の要素は、レシピトランザクタ１１２の観点から見た本明細書に記載のシステムおよび方法のいくつかの実施形態（例えば、サービスインスタンスを作成するためにモデルを実行した結果）を示している。特に、どのターゲットインスタンス（例えば、どのＰＥルータインスタンスおよびどのネイティブ・オブジェクトまたはリソース（関連する全ての値を含む））が関与しているかに関してネットワークに構成されたアーチファクトがそれらのターゲットインスタンス（すなわち、ＶＲＦ、ＭＰ−ＢＧＰピアリングセッションなど）上に作成されている。レシピビルダ１１０の観点から見て、レシピ４０２、サブレシピ４０４、およびターゲット・スキーマ・オブジェクト・クラス４０６が作成され、レシピトランザクタ１１２上に展開されるようにリンクされる。最初に、レシピ４０２に関連付けられた（例えば、ＭＶＮＯを用いて）作成コマンドが発行されて、サービスインスタンス４１０が作成される。複数のサービスインスタンス４１０は、レシピ１  ４０２によって表されるサービスモデルに基づいて作成された各々のサービスインスタンスを表す。同じレシピ４０２を使用して、異なる顧客に対して異なるサービスインスタンスをプロビジョニングすることができる。サービスインスタンスは、レシピ（例えば、作成コマンド）を実行することによって作成され得る。いくつかの実施形態では、レシピトランザクタ１１０は、サービスインスタンスの階層、およびターゲットオブジェクト４１４（サービスインスタンスのフットプリントとも呼ぶ）を追跡するためのＭｙＳＱＬデータベースを有する。
【００４５】
レシピ４０２は、複数のサブレシピ４０４を含むことができる。いくつかの実施形態では、各々のサブレシピ４０４は、１つまたは複数のターゲットタイプ４１２に関連付けられる。いくつかの実施形態では、ターゲットタイプ４１２は、デバイスタイプ（例えば、ルータ）を含む。サブレシピ４０４は、同じターゲットタイプおよび同じコネクタタイプによって制約される複数のターゲット・スキーマ・オブジェクト・クラス４０６を含むことができる。ターゲット・スキーマ・オブジェクト・クラス４０６は、サービスインスタンス化を作成するために構成されなければならないオブジェクト（例えば、ＶＮＦ、ＰＮＦ、アプリケーション）を含む。例えば、ターゲット・スキーマ・オブジェクト・クラス４０６は、ＣＲＵＤセマンティクス（例えば、作成、取得、更新、および削除）を含む。
【００４６】
上述したように、図１を参照すると、サービスをインスタンス化するためにオペレータ１０６によって実行される手動構成の量を最小限に抑えるために、レシピはＳＭＥ１０８によって作成され得る。いくつかの実施形態では、レシピは、ＳＭＥ１０８がオペレータ１０６による重要な構成の必要性を排除することによって、ハードコーディングされ得る。いくつかの実施形態では、レシピは、オペレータ１０６からの入力を受け取るためのオープンフィールドを有することができる。例えば、レシピは、ＶＲＦごとに一意のルート識別子の整数値を指定するオープンフィールドを残すことができる。レシピは、オペレータ１０６が提供するために必要な引数としてこの値を公開することができる。いくつかの実施形態では、レシピは、フィールドがデバイス構成に基づいて入力されるように、論理入力（例えば、ｉｆ／ｅｌｓｅ）を含むオープンフィールドを含むことができる。
【００４７】
サービスインスタンス４１０の１つの実装は、サービスインスタンス４１０が定義されるレシピ４０２に関連付けられたサブレシピ４０４によって指定される１つまたは複数のターゲットタイプ４１２を含む。いくつかの実施形態では、ターゲットタイプ４１２は、１つまたは複数のターゲットインスタンス４１４を含む。ターゲットインスタンス４１４は、仮想ネットワーク機能（ＶＮＦ）、物理ネットワーク機能（ＰＮＦ）、または実際に存在するアプリケーション（例えば、Ｊｕｎｉｐｅｒルータ、Ｃｉｓｃｏルータ）であり、ターゲットインスタンス４１４と通信することができるアプリケーションのインスタンスである。各々のターゲットインスタンス４１４は、上述したように、サービスインスタンスのデータベース、関連するフットプリントおよびアーチファクトに関連付けられる。いくつかの実施形態では、実行時に、レシピトランザクタ１１２は、オペレータ１０６に、いくつかのインスタンスを指定するように求めることができる。いくつかの実施形態では、多くのサービスインスタンスの各々に対する全てのパラメータは、トランザクタが消費することができるフォーマット（例えば、スプレッドシート）で指定され得る。
【００４８】
図５は、本開示のいくつかの実施形態に係る、サービス・レシピ・セクションおよびサブレシピセクションを含むレシピ・ビルダ・ユーザ・インタフェースを示すスクリーンショットである。図５は、レシピ・ビルダ・ユーザ・インタフェース５００、料金プラン５０２、レーティンググループ５０８、サービスルール５１０、パケットフィルタ５１２、レシピセクション５２２、サブレシピセクション５２４、およびサブレシピ・リスト・セクション５２６を示している。
【００４９】
レシピ・ビルダ・ユーザ・インタフェース５００は、レシピセクション５２２、サブレシピセクション５２４、およびサブレシピ・リスト・セクション５２６を含む。レシピセクション５２２は、レシピ名を受信または設定するためのフィールドを含む。レシピセクション５２２はさらに、レシピに関連付けられたサブレシピを含む。上述したように、サブレシピの各々は、ターゲット・スキーマ・オブジェクトおよび修飾ターゲット・オブジェクト・クラスのうちの少なくとも１つを含むことができる。
【００５０】
サブレシピセクション５２４は、サブレシピ名を受信または設定するためのフィールド５３０、デバイス・タイプ・フィールド５３２、ＡＰＩプロトコルフィールド５３４、タグ５３６、記述フィールド５３８、およびサブレシピフィールド５４０を使用するレシピを含む。例えば、図５に示すように、サブレシピ名５３０は、モバイル・コンテンツ・クラウド（ＭＣＣ）であり、デバイスタイプは、モバイル・コンテンツ・クラウド・デバイス５３２であり、ＡＰＩプロトコルは、ＹＡＮＧプロトコル５３４であり得る。タグ５３６は、ＭＣＣサブレシピに関連付けられたキーワードを含む。このサブレシピフィールド５４０を使用するレシピは、ポリシーおよび課金制御（ＰＣＣ）ルールを含み、レシピ名フィールドで指定されたレシピである。いくつかの実施形態では、サブレシピは、２つ以上のレシピに関連付けられ得る。いくつかの実施形態では、このサブレシピフィールド５４０を使用するレシピは、複数のレシピ名を含むことができる。サブレシピ５２４はさらに、オブジェクト間の関係の仕様（例えば、親／子またはオブジェクト間の階層関係）を含むウィンドウ５５０を含む。ＳＭＥ１０８は、オブジェクトおよびそのオブジェクトが相互接続される方法を選択することができる。例えば、レーティンググループ５０８は、料金プラン５０２の子であり得る。料金プラン５０２は、レーティンググループ５０８との１つまたは複数の関連付けを有することができる。レーティンググループ５０８は、サービスルール５１０に関連付けられ得、サービスルール５１０は、パケットフィルタ５１２にさらに関連付けられ得る。いくつかの実施形態では、あるオブジェクトを他のオブジェクトに接続する矢印上にマウスオーバーすると、２つのオブジェクト間の関係を示すことができる。いくつかの実施形態では、レシピは、どのターゲット・スキーマ・オブジェクト・クラスが合体されるか、または結合されるかを指定する。例えば、ターゲット・スキーマ・オブジェクト・クラスは、親子関係の存在に基づいて合体され得る。修飾ターゲット・オブジェクト・クラスおよび合体ターゲット・スキーマ・オブジェクト・クラスにより、さらにデータ隠蔽を行うことができる。
【００５１】
サブレシピ・リスト・セクション５２６は、レシピビルダ１１０を使用してＳＭＥ１０８によって作成された、またはＳＭＥ１０８が利用可能なサブレシピをリストアップする。サブレシピは、モバイルネットワーク要素タイプまたは構造（例えば、ＰＣＲＦ、ＰＧＷ、モバイルＤＮＳ）によってグループ化され得る。上述したように、説明するシステムのいくつかの実施形態は、ターゲットタイプの先験的知識を有さないが、システムはコネクタタイプの先験的知識を有することができる。上述したように、ＳＭＥ１０８は、レシピビルダ内にターゲットタイプを作成する。ＳＭＥがＹＡＮＧ、ＷＳＤＬ、または他のスキーマを利用できる場合、ＳＭＥは前記スキーマをインポートし、それらをターゲットタイプに関連付ける。スキーマタイプは、コネクタタイプを意味する（例えば、ＷＳＤＬは、ＳＯＡＰ／ＸＭＬを意味する）。
【００５２】
図６Ａ〜図６Ｂは、本開示のいくつかの実施形態に係る、ネイティブ・ターゲット・スキーマ・オブジェクト・クラス表現（例えば、ＹＡＮＧのような公開構成オブジェクトスキーマから抽出されるか、またはシステムのユーザによって動的に作成された）を示すスクリーンショットである。図６Ａ〜図６Ｂは、併せて、ターゲット・オブジェクト・セクション６０２、アクティビティタブ６２０、アクティビティタブ６２２内のフィールド、およびターゲット・オブジェクト・リスト・セクション６３０を示している。
【００５３】
ターゲット・オブジェクト・セクション６０２は、レシピ・ビルダ・ユーザ・インタフェース５００内に含まれる。ターゲット・オブジェクト・セクション６０２は、ターゲット・スキーマ・オブジェクト・クラス名６０４、ターゲット・スキーマ・オブジェクト・クラス・ＡＰＩプロトコル６０６、ターゲット・スキーマ・オブジェクト・クラス・デバイス・タイプ６０８、ターゲット・スキーマ・オブジェクト・クラス記述６１０、および／またはターゲット・スキーマ・オブジェクト・クラス・タグ６１２のためのフィールドなどのいくつかのパラメータを含む。図６Ａにおいて、ターゲット・スキーマ・オブジェクト・クラス名は、サービス品質（ＱｏＳ）フローである。ＱｏＳフローは、ＡＰＩプロトコルＹＡＮＧを使用するＭＣＣデバイスである。図６Ｂにおいて、ターゲット・スキーマ・オブジェクト・クラス名はパケットフィルタである。パケットフィルタは、ＡＰＩプロトコルＹＡＮＧを使用するＭＣＣオブジェクトタイプである。いくつかの実施形態では、フィールドの少なくとも１つは構成可能である。
【００５４】
ターゲット・オブジェクト・セクション６０２はさらに、ファセットタブ６２０を含む。ファセットタブ６２０は、作成／修正タブ、削除タブ、構成同期タブ、監視タブ、統計タブ、およびアクションタブを含むことができる。作成／修正タブにより、ＳＭＥ１０８はターゲット・スキーマ・オブジェクト・クラスを作成または修正することができる。削除タブにより、ＳＭＥ１０８はインスタンスを削除することができる。監視タブにより、ＳＭＥ１０８はインスタンスのステータスを判定することができる。構成同期タブは、インスタンスの永続的データに関連している。統計タブは、ターゲットのネイティブ・オブジェクトの統計関連の属性（例えば、パケット、バイトなど）を示している。統計タブでは、ＳＭＥは、使用可能なフィールドがあれば、どのフィールドが対象であるかを示すことができる（例えば、このターゲット・スキーマ・オブジェクト・クラスを利用するレシピに基づいて構築された任意のサービスインスタンスに対して収集され得る）。アクションタブは、非ＣＲＵＤファセット、または永続的データストアに影響を与えないファセット（例えば、リブート、ウイルススキャン中のファイルのフェッチ）を指す。
【００５５】
例えば、図６Ａに示すように、ＱｏＳフロー・ターゲット・スキーマ・オブジェクト・クラスが修正されている。いくつかの実施形態では、既に作成されているオブジェクトは、ターゲット・オブジェクト・リスト・セクション６３０にリストアップされる。ＳＭＥは、アクティビティタブ内のどのフィールド６２２がハードコーディングされるか、どのフィールド６２２がレシピトランザクタによって指定される必要があるかを指定することができる。いくつかの実施形態では、レシピトランザクタによって指定されるべきフィールドは、インジケータでマークされる（例えば、赤のアスタリスクでマークされる）。
【００５６】
ターゲット・オブジェクト・リスト・セクション６３０は、レシピビルダ１１０を使用してＳＭＥ１０８によって作成された、またはＳＭＥ１０８が利用可能なターゲット・スキーマ・オブジェクト・クラスをリストアップする。ターゲット・スキーマ・オブジェクト・クラスは、最初に、ターゲットタイプ（例えば、ＭＣＣ）ごとに配置され、次いで、ターゲットタイプ内のコネクタタイプ（例えば、ＮｅｔＣｏｎｆ／Ｙａｎｇ、ＳＳＨ／ＣＬＩ、ＳＦＴＰ／ＣＬＩ）ごとに配置され得る。
【００５７】
図６Ｃは、本開示のいくつかの実施形態に係る、ターゲット・スキーマ・オブジェクトを設計するために使用されるレシピ・ビルダ・ユーザ・インタフェースの表示である。ターゲット・スキーマ・オブジェクトは、ネイティブスキーマが関連付けられていない（例えば、ＮＥＴＣＯＮＦコネクタに関連付けられたＹＡＮＧスキーマの利用可能性とは対照的に）ＣＬＩのようなコネクタタイプに使用され得る。このインタフェースでは、ＳＭＥは、パラメータ（変数）の存在を宣言して、それらをオブジェクトのライフサイクル管理（すなわち、作成、取得、更新、削除）に必要な特定のコマンド（例えば、ＣＬＩ文字列）にマッピングすることによって、オブジェクト表現を設計することができる。
【００５８】
図６Ｄは、本開示のいくつかの実施形態に係る、修飾ターゲット・オブジェクト・クラスを設計するために使用されるレシピ・ビルダ・ユーザ・インタフェースの表示である。いくつかの実施形態では、修飾ターゲット・オブジェクト・クラスは、最初にターゲット・スキーマ・オブジェクトを選択することによって設計される。この手法により、同じ「ベース」ターゲット・スキーマ・オブジェクトに基づく複数の修飾ターゲット・オブジェクト・クラスを特化することができる。使用可能な修飾は、パラメータを特定の値にハードコーディングし、任意のパラメータを必須パラメータにして、パラメータの数値範囲を「ベース」ターゲット・スキーマ・オブジェクトが許容するよりも厳しくなるように制限する機能を含む。
【００５９】
図７は、本開示のいくつかの実施形態に係る、レシピ・トランザクタ・ページを示すスクリーンショットである。図７は、レシピ・トランザクタ・ページ７００、レシピタイトル７０２、レシピの記述７０４、サービスインスタンス名７０６、ステートフルトラッキング７０８、ＭＣＣ７１０、レシピおよびインスタンスのリスト７２０を示している。
【００６０】
レシピ・トランザクタ・ページ７００から、オペレータはレシピを実行または起動することができる。レシピ実行ページは、レシピを記述するレシピタイトル（例えば、ポリシーおよび課金制御（ＰＣＣ）ルールを作成する）を含む。レシピの記述７０４は、レシピをサービスインスタンスに関連付ける。さらに、サービスインスタンス名は、サービスインスタンス名フィールド７０６内に指定され得る。レシピ・トランザクタ・ページ７００はさらに、ステートフルトラッキング７０８を含む。オペレータは、構成同期が実行される間隔、または統計が収集される間隔を指定することができる。レシピ・トランザクタ・ページ７００はさらに、いくつかの実施形態では、選択されるデバイス、利用可能なデバイス、および他のモバイル・コンテンツ・クラウド・パラメータ（例えば、ＡＰＮ名、ＱｏＳフロー名、最大アップリンクならびにダウンリンクレート、およびパケットフィルタ名）をリストアップするＭＣＣ７１０を含むこともできる。上述したように、トランザクタページ７００上のフィールドの多くは、ＳＭＥ１０８によって設計されたレシピの一部として指定される。レシピおよびインスタンスのリスト７２０は、実行準備が整った、またはオペレータによって実行されたレシピ、およびオペレータによって作成されたインスタンスを示す。
【００６１】
図８は、本開示のいくつかの実施形態に係る、レシピビルダにおけるパラメータ合体を示す図である。図８は、パラメータ合体８０２、修飾ターゲット・オブジェクト・クラス８０４、修飾ターゲットオブジェクトにおけるパラメータ合体８０６、サブレシピ８０８、サブレシピにおけるパラメータ合体８１０、レシピ（recipe）８１４、およびレシピ(方策)におけるパラメータ合体８１２を示している。図８はさらに、値を入力するのに必要とされるレシピレベルの少数のパラメータをバブルアップするために、ＳＭＥがデバイス間で異なるターゲット・スキーマ・オブジェクト・クラスのパラメータを修飾する方法を示している。
【００６２】
パラメータ合体８０２は、同様のパラメータをグループ化し、起点またはサービスオペレータから１つの値を受け取るためのメカニズムである。例えば、ＰＧＷおよびＰＣＲＦデバイス間でサービスルールが構成され得、サービスルール名は両方のデバイスタイプで同じになるように維持され得る。サービス名がデバイスタイプごとに手動で２回入力された場合、長い名前でタイプミスが発生すると、２つのデバイスタイプ間の構成が一致しなくなる可能性がある。パラメータ合体メカニズムを使用すると、デバイス間で同様のパラメータが同じ値を持つことができ、サービスオペレータは全てのデバイスに対して１つの値のみを入力することができる。さらに、パラメータ合体８０２は、レシピレベルで必要とされるパラメータの数を減らすのに役立つ。図８に示すように、修飾ターゲット・オブジェクト・クラス８０４およびサブレシピ８０８からパラメータの数がバブルアップされても、レシピレベルで２つのパラメータのみが修飾され公開される。これは、レシピトランザクタ１１６内のサービスオペレータが、このレシピを使用してサービスインスタンスを作成するために、この例では、２つのパラメータのみの値を提供することが期待されることを意味する。
【００６３】
パラメータ合体８０２は、修飾ターゲット・オブジェクト・クラス８０４レベル、サブレシピ８０８レベル、またはレシピ８１４レベルの全てのレベルで機能する。各レベルで、同様のパラメータが合体され得る。修飾ターゲット・オブジェクト・クラス８０４では、８０６に示すように、ターゲットオブジェクト１１でデータメンバ１とデータメンバ２が合体データメンバ１（ＣＤＭ）としてグループ化される。同様に、合体は、ターゲットオブジェクト２でも行われるが、ターゲットオブジェクト２１では行われない。パラメータがサブレシピ８０８でバブルアップされると、サブレシピレベルで合体が行われる。８１０に示すように、合体は、ターゲットオブジェクト１１からのＣＤＭ（合体データメンバ）と、ターゲットオブジェクト１２からの別のＣＤＭとによって行われる。ＣＤＭは、任意の他のパラメータまたはデータメンバと同様である。ＣＤＭは、セット内の全てのパラメータに適用可能な属性を取得する。例えば、ＣＤＭの１つのメンバのタイプがｉｎｔ３２であり、別のメンバのタイプがｉｎｔ６４である場合、ＣＤＭはセット内の全てのパラメータに適用できるようにタイプをｉｎｔ３２として受け取る。パラメータがレシピ８１４までバブルアップされると、８１２に示すように、同様のパラメータがレシピレベルで合体され得る。
【００６４】
図９は、本開示のいくつかの実施形態に係る、サービスインスタンスを作成する部分を自動化するために使用されるレシピの作成を示すフローチャートである。
【００６５】
ステップ９０２を参照すると、レシピビルダは、ターゲット・スキーマ・オブジェクト・クラスを作成する要求に関連付けられたデータを受信する。いくつかの実施形態では、ターゲット・スキーマ・オブジェクトは、接続デバイスタイプカテゴリに関連付けられる。接続デバイスタイプカテゴリは、モバイルネットワーク内に存在する（または存在する可能性がある）管理デバイスおよび関連プロトコルを示すことができる。接続デバイスタイプカテゴリは、ターゲット・スキーマ・オブジェクト・クラスを作成する要求を受信する前に、受信されて作成され得る。
【００６６】
いくつかの実施形態では、ターゲット・スキーマ・オブジェクト・クラスを作成する要求はさらに、ターゲット・スキーマ・オブジェクト・クラスに関連付けられた第１のオブジェクトパラメータを含む。いくつかの実施形態では、第１のオブジェクトパラメータは、管理デバイスに関連付けられたデバイスタイプおよびプロトコルのうちの少なくとも１つを含む。ターゲット・スキーマ・オブジェクト・クラスは、デバイスタイプおよびプロトコルに基づいて構成可能な（設定可能な）リソースのクラスを表すことができる。いくつかの実施形態では、ターゲット・スキーマ・オブジェクト・クラスは、サービス品質、レーティンググループ、料金プラン、およびパケットフィルタのうちの少なくとも１つに関連付けられる。いくつかの実施形態では、プロトコルは、表現状態転送（ＲＥＳＴ）プロトコル、構造化照会言語（ＳＱＬ）プロトコル、簡易オブジェクト・アクセス・プロトコル（ＳＯＡＰ）、セキュアファイル転送プロトコル／セキュア・シェル・プロトコル（ＳＦＴＰ／ＳＳＨ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、およびネットワーク構成プロトコル（ＮＥＴＣＯＮＦ）のうちの少なくとも１つを含むことができる。デバイスタイプは、モバイル・コンテンツ・クラウド・デバイス、ＰＣＲＦ、ルータ、またはＰＧＷを含むことができる。
【００６７】
ステップ９０４を参照すると、レシピビルダは、デバイスタイプおよびプロトコルに基づいて、デバイスの機能を表すＣＲＵＤ（作成、読み出し、更新、および削除）セマンティクスの指定に関連付けられたデータフィールドのセットを取得する。いくつかの実施形態では、データフィールドのセットは、プロトコルに関連付けられた構成パラメータがサーバからデータベースにインポート可能なデータに関連付けられているインポート可能なフォームを含む場合に、レシピビルダに関連付けられたデータベースから取得され、プロトコルに関連付けられた構成パラメータがサーバからデータベースにインポート不可能であるデータに関連付けられているインポート不可能なフォームを含む場合に、ユーザ提供データから取得される。
【００６８】
ステップ９０６を参照すると、レシピビルダは、取得されたデータフィールドのセットに基づいて、要求されたターゲット・スキーマ・オブジェクト・クラスを作成する。上述したように、ＳＭＥが利用できるようになったターゲット・スキーマ・オブジェクト・クラスは、デバイスタイプおよびプロトコルに基づいて構成可能な全ての可能なフィールドを含むことができる。
【００６９】
ステップ９０８を参照すると、レシピビルダは、要求されたターゲット・スキーマ・オブジェクト・クラスに基づいて、修飾ターゲット・オブジェクト・クラスを作成する。いくつかの実施形態では、修飾ターゲット・オブジェクト・クラスは、取得されたデータフィールドのセット内のデータフィールドの少なくとも一部に対する指定値を含む。いくつかの実施形態では、修飾ターゲット・オブジェクト・クラスは、プロトコル情報に基づいて事前入力されているデータフィールドのサブセットを含む。いくつかの実施形態では、データフィールドは、レシピビルダのユーザによって完全に入力される。いくつかの実施形態では、データフィールドは、プロトコル情報とレシピビルダのユーザとの組み合わせによって入力される。
【００７０】
ステップ９１０を参照すると、レシピビルダは、少なくとも１つのサブレシピ（副レシピ）を作成する要求に関連付けられたデータを受信する。いくつかの実施形態では、少なくとも１つのサブレシピの各々は、（１）修飾ターゲット・オブジェクト・クラス、および（２）１つまたは複数の他の修飾ターゲット・オブジェクト・クラスおよび修飾ターゲット・オブジェクト・クラスと１つまたは複数の他の修飾ターゲット・オブジェクト・クラスとの間の関連付けを示すデータのうちの少なくとも１つを含む。上述したように、修飾ターゲット・オブジェクト・クラス間の関係およびフローを示すために、修飾ターゲット・オブジェクト・クラス間に階層が確立され得る。
【００７１】
ステップ９１２を参照すると、レシピビルダは、サービスインスタンスを形成するために実行エンジンへの送信のためのレシピを処理し、この場合、レシピ（手順書）は、少なくとも１つのサブレシピを含む。いくつかの実施形態では、サービスインスタンスは、指定値に基づいて事前入力されている、または隠されているサービス・インスタンス・データ・フィールドを含み、サービスインスタンスは、事前入力されていないサービス・インスタンス・データ・フィールドがオペレータによってカスタマイズされ得るように、特定のネットワークデバイスに対してオペレータによってカスタマイズ可能である。
【００７２】
本明細書に記載のシステムおよび方法の一例は、ＳＭＥに関与することができ、ＳＭＥは、Ｌ３企業ＶＰＮ接続サービスをオンボードし管理するために使用されるサービステンプレートを作成する、公共ネットワーク・オペレータの従業員またはコンサルタントであり得る。サービスを提供するためにネットワーク・オペレータによって使用されるネットワークデバイスのサービスおよび詳細なオペレーションに対してビジネス目的の実用的な知識を最初に取得しているＳＭＥは、レシピビルダ内でサービステンプレートの構築を開始する。この例では、Ｌ３  ＶＰＮにはルータとファイアウォールの両方の詳細な増分構成が必要であると仮定する。  さらに、ネットワーク・オペレータは、ベンダＲ１とベンダＲ２の２つの異なるベンダのルータと、ベンダＦ１とベンダＦ２の２つのベンダのファイアウォールを使用する。特定のＬ３ＶＰＮインスタンス（すなわち、特定の企業顧客に提供された）は、Ｒ１のインスタンスのみ、Ｒ２のインスタンスのみ、またはＲ１とＲ２のいくつかのインスタンスの組み合わせで展開され得る。同じパターンに従うファイアウォールの組み合わせも同様である。レシピビルダを使用してＳＭＥによって構築されたサービステンプレートは、可能な全ての組み合わせに対処することができる。この例では、ＳＭＥは以下のステップに従う。
１．デバイスタイプとプロトコルのペアリングを指定することによって、使用中の接続デバイスタイプを定義する。例えば、
ａ．ＮＥＴＣＯＮＦを介して接続されたＲ１
ｂ．ＣＬＩを介して接続されたＲ２
ｃ．ＲＥＳＴを介して接続されたＦ１
ｄ．ＳＯＡＰを介して接続されたＦ２
２．ターゲット・スキーマ・オブジェクト・クラスの作成：
ａ．ＮＥＴＣＯＮＦおよびＳＯＡＰベースの接続デバイスの場合、完全な機械可読スキーマ（ＮＥＴＣＯＮＦを介するＲ１のＹＡＮＧ、ＳＯＡＰを介するＦ２のＷＳＤＬ）をインポートする。このステップは、レシピビルダに、サポートされている全てのターゲット・スキーマ・オブジェクト・クラス（すなわち、機械可読スキーマに記述された各々の管理可能リソースに対応する）を動的に作成させる。
ｂ．ＣＬＩおよびＲＥＳＴベースの接続デバイスの場合、ＳＭＥは後続のステップで必要となる各々の必要なターゲット・スキーマ・オブジェクト・クラスを手動で作成する。
ｃ．ステップ２の例は、次のようなリソースを含む。
ｉ．Ｒ２、Ｆ１上のＩＰインタフェース
ｉｉ．Ｒ２、Ｆ１Ｖ上のＩＰインタフェース
ｉｉｉ．Ｒ２、Ｆ１上のＲＦ
ｉｖ．Ｒ２、Ｆ１上のＶＲＦ
ｖ．Ｒ２上のＢＧＰネイバー
ｖｉ．Ｆ１上のアクセス制御リスト
ｖｉｉ．Ｆ１上のＴｒｕｓｔ  Ｚｏｎｅ
３．ステップ２ａおよびステップ２ｂからの対象のターゲット・スキーマ・オブジェクト・クラスの各々について、いくつかの実施形態では、リソースの制約付きおよび／または注釈付きバリエーションである、修飾ターゲット・オブジェクト・クラスを作成する。ここでは、ＳＭＥは、最終的にオペレーションネットワークにおける実際のオンボーディングおよび管理を担当するオペレータによって消耗可能な方法でリソースの完全な複雑さおよび機能を簡略化している。
４．修飾ターゲット・オブジェクト・クラスを、接続デバイスタイプとそれらの間の論理的な関連付けとに基づいてサブレシピへとグループ化する。例としては、
ａ．Ｒ１用のＩＰインタフェース修飾ターゲットオブジェクトおよびＲ１用のＢＧＰネイバー修飾ターゲットオブジェクトを含むＲ１上のルーテッドインタフェース
ｂ．Ｒ２用のＩＰインタフェース修飾ターゲットオブジェクトおよびＲ２用のＢＧＰネイバー修飾ターゲットオブジェクトを含むＲ２上のルーテッドインタフェース
ｃ．Ｆ１用のＴｒｕｓｔ  Ｚｏｎｅ修飾ターゲットオブジェクトおよびＦ１用のＩＰインタフェース修飾ターゲットオブジェクトを含むＦ１上のトラステッドインタフェース
ｄ．Ｆ２用のＴｒｕｓｔ  Ｚｏｎｅ修飾ターゲットオブジェクトおよびＦ２用のＩＰインタフェース修飾ターゲットオブジェクトを含むＦ２上のトラステッドインタフェース
５．サブレシピをグループ化して、複数のベンダのレシピを作成する。例：
ａ．Ｒ１用のルーテッド・インタフェース・サブレシピおよびＲ２用のルーテッド・インタフェース・サブレシピを含むルーテッドインタフェース
ｂ．Ｆ１用のトラステッド・インタフェース・サブレシピおよびＦ２用のトラステッド・インタフェース・サブレシピを含むトラステッドインタフェース
６．任意で、値を強制的に同じにする必要がある場合、オペレータによる重複パラメータ入力を避けるために、全てのレベルのパラメータを合体する。例えば、サービスインスタンスにルータのＲ１タイプが使用されるかＲ２タイプが使用されるかに関係なく、作成されたＩＰインタフェースの名前は同じでなければならない。つまり、Ｒ１のＩＰインタフェースサブレシピで必要とされるＩＰインタフェース名と、Ｒ２のＩＰインタフェースのサブレシピで必要とされるＩＰインタフェース名とを集約するために合体が使用される。
７．完了したサービステンプレートをレシピビルダからエクスポートする。
８．完了したサービステンプレートをレシピトランザクタにインポートする。
９．オペレータは、サービステンプレートを使用して、Ｌ３  ＶＰＮサービスのインスタンスの作成、取得、更新、削除、および検証を行うことができるようになる。
【００７３】
本開示の特定の実施形態は、電気通信アプリケーションに関するデータ自動化技術を説明しているが、本明細書に記載のシステムおよび方法は、エージェントレスターゲットを使用する他のアプリケーションにも適用可能である。上述したように、エージェントレスターゲットは、通常、絶えず構成する必要のあるターゲットである。サーバから更新情報をプルすることができるエージェントベースのターゲットとは異なり、エージェントレス（エージェントが不要な）ターゲットに関連付けられた更新では、サーバからプルするのに実行不可能である、より頻繁な更新および／またはより多くのアプリケーション固有の更新が必要である。エージェントレスアプリケーションの一例は、工場自動化である。工場内のロボット部品は、増分構成（例えば、組立ライン内のロボット部品）を必要とすることがある。
【００７４】
本明細書に記載の主題は、本明細書に開示される構造的手段およびその構造的均等物、またはそれらの組み合わせを含む、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実装され得る。本明細書に記載の主題は、データ処理装置（例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ）によって事項するために、またはデータ処理装置の動作を制御するために、（例えば、機械可読記憶装置内の）情報担体に有形に具現化されるか、もしくは伝搬信号で具現化される１つまたは複数のコンピュータプログラムのような１つまたは複数のコンピュータプログラム製品として実装され得る。コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている）は、コンパイラ型言語またはインタプリタ型言語を含む任意の形式のプログラミング言語で記述され得、スタンドアローンプログラムまたはコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、または他のユニットなどを含む任意の形態で展開され得る。コンピュータプログラムは、必ずしもファイルに対応しているとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、当該プログラム専用の単一のファイル、または複数の調整されたファイル（例えば、１つまたは複数のモジュール、サブプログラム、コードの一部を記憶するファイル）に記憶され得る。コンピュータプログラムは、１つのコンピュータ上で、または１つのサイトの複数のコンピュータ上で実行されるように、または複数のサイトに分散され、通信ネットワークによって相互接続されるように展開され得る。
【００７５】
本明細書に記載の主題の方法ステップを含む本明細書に記載のプロセスおよび論理フローは、入力データ上で操作して出力を生成することによって本明細書に記載の主題の機能を実行するために、１つまたは複数のコンピュータプログラムを実行する１つまたは複数のプログラマブルプロセッサによって実行され得る。さらに、プロセスおよび論理フローは、例えば、ＦＰＧＡ（フィールド・プログラマブル・ゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）の専用論理回路によって実行され得、本明細書に記載の主題の装置は、専用論理回路として実装され得る。
【００７６】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための１つまたは複数のメモリデバイスとである。一般に、コンピュータはさらに、データを記憶するための１つまたは複数の記憶装置（例えば、磁気ディスク、光磁気ディスク、または光ディスク）を含むか、または１つまたは複数の記憶装置からデータを受信する、または１つまたは複数の記憶装置にデータを送信する、またはその両方のために動作可能に結合される。コンピュータプログラム命令およびデータを具現化するのに適した情報担体は、例として、半導体メモリ装置（例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置）、磁気ディスク（例えば、内蔵ハードディスクまたはリムーバブルディスク）、光磁気ディスク、光ディスク（例えば、ＣＤおよびＤＶＤディスク）を含む、全ての形態の不揮発性メモリを含む。プロセッサおよびメモリは、専用論理回路で補完され得る、または専用論理回路に組み込まれ得る。
【００７７】
ユーザとの対話を提供するために、本明細書に記載の主題は、ユーザに情報を表示するための表示装置、例えば、ＣＲＴ（ブラウン管）またはＬＣＤ（液晶ディスプレイ）モニタと、ユーザがコンピュータに入力を行うことができるようにするキーボードおよびポインティングデバイス（例えば、マウスまたはトラックボール）とを有するコンピュータ上に実装され得る。他の種類の装置を使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。
【００７８】
本明細書に記載の主題は、バックエンドコンポーネント（例えば、データサーバ）、ミドルウェアコンポーネント（例えば、アプリケーションサーバ）、またはフロントエンドコンポーネント（例えば、グラフィカル・ユーザ・インタフェースまたはユーザが本明細書に記載の主題の実装と対話することができるウェブブラウザを有するクライアントコンピュータ）、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、およびフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実装され得る。システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続され得る。通信ネットワークの例は、ローカル・エリア・ネットワーク（「ＬＡＮ」）および広域ネットワーク（「ＷＡＮ」）、例えばインターネットを含む。
【００７９】
開示される主題は、その適用において、以下の説明に記載される、または図面に示される構成要素の構成の詳細および配置に限定されないことを理解されたい。開示される主題は、他の実施形態が可能であり、様々な方法で実施され、実行され得る。また、本明細書で使用される表現および用語は、説明のためのものであり、限定的であると見なされるべきではないことを理解されたい。
【００８０】
したがって、当業者であれば、本開示が基礎とする概念は、開示される主題のいくつかの目的を実行するための他の構造、方法、およびシステムの設計の基礎として容易に利用され得ることを理解するであろう。すなわち、特許請求の範囲は、開示される主題の精神および範囲から逸脱しない限り、同等の構成を含むものと見なされるということが重要である。
【００８１】
開示される主題は、上述の例示的な実施形態で説明され例示されているが、本開示は例としてのみ作成されたものであり、開示される主題の実装の詳細の多くの変更は、開示される主題の精神および範囲から逸脱せずに行われてよく、開示される主題の精神および範囲は、以下の請求項によってのみ限定されることを理解されたい。
【図１】
2019508769.tif 000003
【図２】
2019508769.tif 000004
【図３】
2019508769.tif 000005
【図４−１】
2019508769.tif 000006
【図４−２】
2019508769.tif 000007
【図４−３】
2019508769.tif 000008
【図５】
2019508769.tif 000009
【図６Ａ】
2019508769.tif 000010
【図６Ｂ】
2019508769.tif 000011
【図６Ｃ】
2019508769.tif 000012
【図６Ｄ】
2019508769.tif 000013
【図７】
2019508769.tif 000014
【図８】
2019508769.tif 000015
【図９】
2019508769.tif 000016
【国際調査報告】
2019508769.tif 000017