(57)【特許請求の範囲】
【請求項１】
サービスを提供するリソースを含む少なくとも１つのデータ・センタを備えたネットワークにおけるオン・デマンドのサービス・プロビジョニングを制御するためのコンピュータ実装方法であって、
サービス制御ノードによって、前記サービスを提供するためのユーザ・デバイスからのサービス要求を傍受するステップと、
前記サービス制御ノードによって、前記サービス要求に関連付けられる前記サービスについて必要とされる少なくとも第１ネットワーク機能を決定するステップと、
前記ネットワークにおいて前記サービスを実施するために前記ネットワークの前記少なくとも１つのデータ・センタにおけるリソースで前記少なくとも第１ネットワーク機能をインスタンス化するステップと、
を含む、方法。
【請求項２】
請求項１記載の方法であって、
前記サービス要求に関連付けられる前記サービスについて必要とされる第２ネットワーク機能を決定するステップと、
前記第２ネットワーク機能が前記ネットワークにおいてインスタンス化されるかを検証するステップと、
前記第２ネットワーク機能が前記ネットワークにおいてインスタンス化されるときに、前記サービス要求に関連付けられる前記ネットワークから前記サービスを実施するために前記インスタンス化される第２ネットワーク機能を使用するステップと、
前記第２ネットワーク機能が前記ネットワークにおいてインスタンス化されないときに、前記サービス要求に関連付けられる前記ネットワークから前記サービスを実施するために、前記ネットワークにおいて前記第２ネットワーク機能をインスタンス化するステップと、
を含む、方法。
【請求項３】
請求項１または２記載の方法において、前記第１ネットワーク機能が仮想ネットワーク機能である、方法。
【請求項４】
請求項１から３の何れか一項記載の方法において、前記サービス要求を傍受するステップが、
前記サービス要求をユーザ・デバイスから受け取ることと、
傍受されたサービス識別子によってトリガされるネットワークのネットワーク・ノードから前記サービス要求を受け取ることと、
の内１つを含む、方法。
【請求項５】
請求項１から４の何れか一項記載の方法において、前記サービスに関連付けられる、相互接続されるネットワーク機能のシーケンスである順序セットを含むサービス機能チェーン・テンプレートを取得するステップを含み、前記順序セットが、前記少なくとも１つの第１ネットワーク機能と、任意で、前記ネットワークにおいてインスタンス化されているネットワーク機能と、を収容する、方法。
【請求項６】
請求項５記載の方法であって、前記サービス要求に基づいて前記サービス機能チェーン・テンプレートを取得するステップを含む、方法。
【請求項７】
請求項１から６の何れか一項記載の方法において、前記第１ネットワーク機能をインスタンス化するステップが、１つ以上の転送ルールを第１ネットワーク機能に関連付けて、前記第１ネットワーク機能からのデータ・パケット出力についての更なる処理を決定するステップを含む、方法。
【請求項８】
請求項１から７の何れか一項記載の方法であって、更に、データ・パケットを前記少なくとも１つの第１ネットワーク機能にルーティングするために前記サービス要求に関連付けられる前記データ・パケットに適用されることになるネットワーク機能ルーティング・トークンを生成するステップを含む、方法。
【請求項９】
請求項８記載の方法において、前記ネットワーク機能ルーティング・トークンが少なくとも第１レベルおよび第２レベルを含む階層型トークンであり、前記第１レベルが、相互接続されたネットワーク機能のシーケンスである順序セットを含むサービス機能チェーン・テンプレートの間を区別し、前記第２レベルが、インスタンス化されたサービス機能チェーン・テンプレート内のネットワーク機能の間またはそれらのインスタンスの間を区別する、方法。
【請求項１０】
請求項１から９の何れか一項記載の方法において、前記サービス要求が通信ネットワーク・サービスに関連する、方法。
【請求項１１】
請求項１から１０の何れか一項記載の方法であって、前記インスタンス化された少なくとも１つの第１ネットワーク機能を終了するステップを含む、方法。
【請求項１２】
コンピュータ・プログラムまたは一組のコンピュータ・プログラムであって、少なくとも１つのソフトウェア・コード部、または少なくとも１つのソフトウェア・コード部を格納するコンピュータ・プログラム製品を含み、前記ソフトウェア・コード部が、コンピュータ・システムで起動するときに、請求項１から１０の内何れか一項に記載の方法を実行するように構成される、コンピュータ・プログラムまたは一組のコンピュータ・プログラム。
【請求項１３】
ネットワークにおけるオン・デマンドのサービス・プロビジョニングを制御するように構成されるサービス制御ノードであって、
サービスを提供するためのサービス要求を傍受し、
前記サービス要求に関連付けられる前記サービスについて必要とされる少なくとも第１ネットワーク機能を決定し、
前記ネットワークにおいて前記少なくとも第１ネットワーク機能をインスタンス化する、
ように構成される、サービス制御ノード。
【請求項１４】
当該サービス制御ノードが、更に、請求項１から１１の何れか一項に記載の方法を実行するように構成される、請求項１３記載のサービス制御ノード。
【請求項１５】
請求項１３または１４記載のサービス制御ノードとのインタフェースを備えるサービス・マネージャであって、
前記インタフェースを通じて前記サービス制御ノードからサービス機能チェーン・テンプレートを求める要求を受け取り、
前記サービス機能チェーン・テンプレートをメモリから抽出し、または前記サービス機能チェーン・テンプレートを生成し、前記サービス機能チェーン・テンプレートが、前記サービスに関連付けられる、相互接続されたネットワーク機能のシーケンスである順序セットを含み、該順序セットが前記少なくとも第１ネットワーク機能を収容し、
前記抽出または生成されたサービス機能チェーン・テンプレートを前記サービス制御ノードに供給するように構成される、サービス・マネージャ。
【請求項１６】
前記サービス機能チェーン・テンプレートを作成および／または修正するためのインタフェースを更に備える、請求項１５記載のサービス・マネージャ。
【請求項１７】
請求項１から１１の何れか一項記載の方法においてインスタンス化される前記少なくとも第１ネットワーク機能に対し、前記サービス要求に関連付けられるデータ・パケットをルーティングするように構成されるトークン・アプリケーション・ノード。
【請求項１８】
請求項１７記載のトークン・アプリケーション・ノードであって、更に、ネットワーク機能ルーティング・トークンを、任意で階層型ネットワーク機能ルーティング・トークンを、前記サービス要求に関連付けられる前記データ・パケットに、好ましくは該データ・パケットのヘッダに挿入するように構成され、前記ネットワーク機能ルーティング・トークンが、任意で、請求項１３または１４記載のサービス制御ノードから受け取られる、トークン・アプリケーション・ノード。
【請求項１９】
オン・デマンドのサービス・プロビジョニングを制御するように構成される通信ネットワークであって、サービス制御ノードと、サービス・マネージャと、トークン・アプリケーション・ノードと、サービス要求送信機と、を備え、
前記サービス制御ノードが、
サービスを提供するためのサービス要求を傍受し、
前記サービス要求に関連付けられる前記サービスについて必要とされる少なくとも第１ネットワーク機能を決定し、
前記通信ネットワークにおいて前記少なくとも第１ネットワーク機能をインスタンス化する、ように構成され、
前記サービス・マネージャが、
前記サービス制御ノードとのインタフェースを通じて前記サービス制御ノードからサービス機能チェーン・テンプレートを求める要求を受け取り、
前記サービス機能チェーン・テンプレートをメモリから抽出し、または前記サービス機能チェーン・テンプレートを生成し、前記サービス機能チェーン・テンプレートが、前記サービスに関連付けられる、相互接続されたネットワーク機能の順序セットであるシーケンスを含み、該順序セットが前記少なくとも第１ネットワーク機能を収容し、
前記抽出または生成されたサービス機能チェーン・テンプレートを前記サービス制御ノードに供給するように構成され、
前記トークン・アプリケーション・ノードが、
前記インスタンス化された前記少なくとも第１ネットワーク機能に対し、前記サービス要求に関連付けられるデータ・パケットをルーティングするように構成され、
前記サービス要求送信機が、
前記サービスに関連付けられるデータ・パケットを分析し、
前記データ・パケットからサービス識別子を決定し、
前記決定されたサービス識別子に基づいて前記サービス要求を生成し、
前記生成されたサービス要求を送信する、ように構成される、通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オン・デマンドのサービス・プロビジョニングを制御する方法、ネットワーク・ノード、およびコンピュータ・プログラムに関する。具体的には、本発明は、サービスを提供するリソースを含むネットワークにおいてオン・デマンドのサービス・プロビジョニングを制御するためのコンピュータ実装方法に関する。
【従来技術】
【０００２】
従来のネットワークでは、ネットワーク・ノードの機能性は物理デバイスと結合される。したがって、ネットワーク・サービスの確立は、物理デバイス、それらの接続、および構成をセットアップすることを伴う。既存のサービスまたは新規のサービスのために要求変更が要求される場合、ネットワーク事業者は、性能または機能性を増加または減少させるために、デバイスをネットワークから追加または除去することを必要とする。
【０００３】
特定のサービスは、実行されることになる複数の機能を含んでもよい。ある機能によって受け取られるパケットの特定の処置について、その機能は責任を有する。機能は、物理ネットワーク・エレメントに組み込むことができ、またはソフトウェア・インスタンス（例えば、仮想ネットワーク機能）とすることができて、（仮想化した）物理インフラストラクチャ上で起動する。
【０００４】
ネットワーク機能の仮想化（ＮＦＶ）は、ネットワーク機能（例えば、ルータ、ファイアウォール、アプリケーション・レイヤ・ゲートウェイ、ウィルス・スキャナ）を、ＶＭウェアのような仮想化技術を用いて物理デバイスから分離させる方法である。仮想化により、ネットワーク機能を動的にロードするできるリソースとして物理デバイスをみなすのを可能にする。例えば、ネットワーク・サービスがネットワーク内の特定の位置でトラフィックをフィルタするように求められると、ＮＦＶは、物理デバイス（例えば、クラウド・データセンタ）へのファイアウォール・ネットワーク機能の割り当てを許可する。あらゆる仮想ネットワーク機能（ＶＮＦ）は、１つ以上の仮想マシン（ＶＭ）上にホストされる。ＶＭは物理マシンをエミュレートし、単一の物理マシン上で多数のＶＭをホストするのを可能にする。あらゆるＶＭは、物理マシンのリソースを共有して利用する。これら物理リソースは、ＣＰＵ、メモリ、帯域幅、およびディスク領域を含む。
【０００５】
サービスは、サービス機能チェーン（ＳＦＣ）として説明することができる。ＳＦＣは、サービスについて１つ以上のネットワーク機能のセットと、機能について順序制約(ordering constraint)を規定し、これを通じて、データ・パケットが公表される。サービスをインスタンス化するために、ＳＦＣは、ＮＦＶマネジメントおよびオーケストレーション・システム（例えば、ＥＴＳＩ ＮＦＶにおいて規定されるもの）によって実行される。ＳＦＣは、サービス・ライフサイクルを管理し、関連のリソースの管理を調整するＮＦＶオーケストレータを含み、必要なリソースおよび接続性の最適な割り当てを確実にする。ＳｈａｔｚｋａｍｅｒらによるＵＳ ２０１４／０３１７２６１ Ａ１は、このようなＮＦＶオーケストレータ機能を実装する１つの方法について説明する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サービス要求は、予測するのが不安定また困難となることがある。結果として、リソースがあまりにも利用可能ではないので、サービスが利用可能ではない。或いは、サービスが予測していたのよりもポピュラではないので、リソースが活用されないことがある。ＮＦＶマネジメントおよびオーケストレーション機能は、入来するＳＦＣの実行に関係するリソースの管理を調整することができる。しかしながら、ＳＦＣがＮＦＶオーケストレータに立ち入っている(enter)ときに、リソースが、ＳＦＣによって表されるネットワーク・サービスについて既に直ちに利用可能（事前に割り当てられている）ではない場合、長い時間（数分から数時間）を要することになり、その後に、必要とされるリソースが供給および割り当てられ、また、ＳＦＣが実際に実行することができサービスをインスタンス化することができる。当該遅延は、ＳＦＣがＮＦＶオーケストレータに立ち入る前に、（ユーザ機器から事業者のバックエンド・システムに行き着くまでの）全ネットワークを通じてＳＦＣを移動させることによって既に導入済みの遅延に付加する。ネットワーク事業者は、つまり、リソースを過度に事前割当する結果、ＳＦＣをより早く且つより大きな成功の機会を有して実行することができる。このことはリソースの浪費となる。
【０００７】
加えて、ＮＦＶオーケストレータにおいて入来したＳＦＣは、既にインスタンス化されている、またはもう少しでインスタンス化される（例えば、ＶＮＦは既に正常なＶＭ上にあるが、僅かに異なって構成されることが必要である）と判明することが見込まれる。ＮＦＶマネジメントおよびオーケストレーション機能がこの事実を認識し、次いでほとんど何もしないことを決定する前に長い時間を要する。或いは、これとは反対に、サービスを事前プロビジョニングする方法として、ＳＦＣを受け取る前に、ＮＦＶマネジメントおよびオーケストレーション機能は、既に様々なＶＮＦを事前設定および／または事前ロードしていることを決定する。何故ならば、将来、数多くのＳＦＣが到達することを予想するからである。このことはまた、リソースの浪費となる。
【０００８】
本開示は、ネットワーク・サービスを展開するときに、サービス要求を満たすリソース使用の効率性を改善することを目的する。
【課題を解決するための手段】
【０００９】
そのために、１つの態様では、ネットワークからのオン・デマンドのサービス・プロビジョニングを制御するためのコンピュータ実装方法が開示される。ここでは、ネットワークはサービスを提供するリソースを含む。本方法では、サービス要求が傍受される(intercepted)。サービス要求に関連付けられるサービスについて必要とされる少なくとも１つのネットワーク機能が決定され、第１ネットワーク機能として示される。次いで、第１ネットワーク機能が、ネットワークからサービスを実施するためにネットワークのリソースでインスタンス化される。
【００１０】
本開示の他の態様は、コンピュータ・プログラムまたは一組のコンピュータ・プログラムに関連し、少なくとも１つのソフトウェア・コード部、または少なくとも１つのソフトウェア・コード部を格納するコンピュータ・プログラム製品を備える。ソフトウェア・コード部は、コンピュータ・システムで起動するときに、本明細書に開示される方法を実行するように構成される。
【００１１】
更なる他の態様は、ネットワークからのオン・デマンドのサービス・プロビジョニングを制御するように構成されるサービス制御ノードに関する。一例では、サービス制御ノードは、サービスを提供するためのサービス要求を傍受するステップと、サービス要求に関連付けられるサービスについて必要とされる少なくとも第１ネットワーク機能を決定するステップと、ネットワークにおいて少なくとも第１ネットワーク機能をインスタンス化するステップとを含む、開示される方法のステップの内１つ以上を実行するためのプロセッサを備える。
【００１２】
開示される方法およびシステムにより、サービスのネットワーク機能が、オン・デマンドでインスタンス化される、即ち、サービス要求の受け取りによってトリガされるのを可能にする。したがって、サービスを求める推定要求に基づいて、ネットワークにおいてサービスのネットワーク機能を事前ロードおよび／または事前構成することは必要とされない。その結果、ネットワークにおいて改良されたリソース使用の効率性が得られる。
【００１３】
ネットワーク機能のインスタンスが、ネットワークにおいて既に実行されているネットワーク機能に更なるリソースを割り当てること、およびネットワークにおいて新規機能を開始することの内少なくとも１つを含むことが更に認められるべきである。
【００１４】
多数のネットワーク機能が同一のハードウェア機器に組み込まれることができ、また、多数のインスタンスが特定の機能を有して存在してもよいことが更に認められるべきできある。
【００１５】
本開示の更なる態様は、サービス・マネージャ、トークン・アプリケーション・ノード、およびサービス要求送信機を含む。
【００１６】
サービス・マネージャは、サービス制御ノードと通信するためのインタフェースを含む。また、サービス・マネージャは、インタフェースを通じてサービス制御ノードからサービス機能チェーン・テンプレートを求める要求を受け取るように、また、サービス機能チェーン・テンプレートをメモリから抽出、またはサービス機能チェーン・テンプレートを生成するように構成される。サービス機能チェーン・テンプレートは、サービスに関連付けられる、相互接続されたネットワーク機能の順序セットを含む。当該セットは、少なくとも１つの第１ネットワーク機能を収容する。更に、サービス・マネージャは、抽出または生成されたサービス機能チェーン・テンプレートをサービス制御ノードに供給するように構成される。
【００１７】
トークン・アプリケーション・ノードは、本明細書に開示される方法においてインスタンス化される少なくとも第１ネットワーク機能に対し、サービス要求に関連付けられるデータ・パケットをネットワーク機能ルーティングするように構成される。
【００１８】
サービス要求送信機は、データ・パケットを分析し、データ・パケットからサービス識別子を決定し、決定されたサービス識別子に基づいてサービス要求を生成し、生成されたサービス要求を送信するように構成される。
【００１９】
サービス・マネージャ、トークン・アプリケーション・ノード、およびサービス要求送信機は、更に、本明細書に開示される方法を改良するために使用されてもよいが、異なる目的のためにまた使用されてもよい。
【００２０】
ネットワーク機能は、通信ネットワークそれ自体、通信プロバイダのデータ・センタ内、またはサード・パーティのクラウド・データ・センタ内にプロビジョニングされてもよいことが認められるべきである。サービスが通信ネットワーク内に提供される場合、サービス制御ノードはまた、通信ネットワークに位置される。
【００２１】
本開示の更なる他の態様は、オン・デマンドのサービス・プロビジョニングを制御するように構成される通信ネットワークに関する。ここでは、サービス制御ノード、サービス・マネージャ、トークン・アプリケーション・ノード、およびサービス要求送信機が、通信ネットワーク内のノードまたは通信ネットワークに接続されるユーザ・デバイスと共に配置されてもよい。サービス制御ノード、サービス・マネージャ、トークン・アプリケーション・ノード、およびサービス要求送信機の位置は、サービス、通信ネットワークのトポロジ、サービス要求が適切な手法で遮断される位置、リソース可用性、接続条件、セキュリティ上の配慮等の内少なくとも１つにしたがって選択される。ネットワーク内のトークン・アプリケーション・ノードおよびサービス要求送信機は、通例、ユーザ・データ・パケットが通り抜ける(traverse)経路に沿って位置される。トークン・アプリケーション・ノードおよびサービス要求送信機は、必ずしも同一のノードに共に配置されるのではない。トークン・アプリケーション・ノードは、例えば、サービス機能チェーンの始めに（例えば、クラウド・データ・センタの入口ノードに）位置してもよい。
【００２２】
通信ネットワークにおけるノードの内１つ以上を位置特定する利点は、通信ネットワークのノードが既に有用な情報を所有しているということである。例えば、ＨＳＳは加入者情報を収容し、また、ＭＭＥはモビリティ情報を収容している。
【００２３】
一実施形態では、本方法は、サービス要求に関連付けられるサービスについて必要とされる第２ネットワーク機能を決定するステップを含む。第２ネットワーク機能がネットワークにおいてインスタンス化されるかについて検証される。即ち、第２ネットワーク機能がネットワークに存在するかについて、また、第２ネットワーク機能を実行するのに十分なリソースがサービス要求を満たすのに利用可能であるかについて検証される。第２ネットワーク機能がネットワークにおいてインスタンス化されるときに、インスタンス化される第２ネットワーク機能は、サービス要求に関連付けられるネットワークからのサービスを実施するために使用される。第２ネットワーク機能がネットワークで未だインスタンス化されておらず、即ち利用可能でないときには、次いで、ネットワークにおける第２ネットワーク機能のインスタンス化が、ネットワークからのサービスを実施するために実行される。
【００２４】
第１ネットワーク機能および第２ネットワーク機能が異なるネットワーク機能（のインスタンス）を識別するのに使用されており、また、連続した順序で伝達する(convey)のには使用されていないことが留意される。また、これらの機能のインスタンス化は、任意の順序でよく、または同時に実行されてもよい。更に、第１ネットワーク機能は、必ずしも、サービス機能チェーンにおける第１ネットワーク機能であるわけではない。
【００２５】
ネットワーク機能（複数可）は、起動中の専用マシンで実行されてもよく、または、ネットワーク機能（複数可）を実行するソフトウェアを起動するようインスタンス化されてもよい。その一方で、一実施形態では少なくとも１つのネットワーク機能は仮想ネットワーク機能である。仮想ネットワーク機能の利点は、その機能についてスケーラビリティを含み、また、多数のインスタンスによる多数の構成で単一のネットワーク機能を共有する見込みを含む。
【００２６】
一実施形態では、サービス要求は、ユーザ・デバイスから受け取られる。ユーザ・デバイスは、スマートフォンやタブレット・コンピュータ等を含む、サービスを要求する如何なるデバイスを含んでもよい。このような実施形態は、ネットワーク・プロバイダによって提供されるサービスにとって有益なものとなる。他の実施形態では、サービス要求は、ネットワーク（例えば、通信ネットワーク）においてネットワーク・ノードから受け取られる。ここで、サービス要求は、ネットワーク・ノードを通じてランするデータ・パケットのサービス識別子を傍受することによってトリガされる。このような実施形態は、ＮｅｔｆｌｉｘおよびＹｏｕＴｕｂｅのようなサービスを含むオーバ・ザ・トップ・サービスにとって有利なものとなる。双方の実施形態でも、サービス要求は、サービス制御ノードによって検出または傍受される。
【００２７】
一実施形態では、サービス機能チェーン・テンプレートは、サービスに関連付けられる、相互接続されたネットワーク機能の順序セットを含んで取得される。当該セットは、少なくとも１つの第１ネットワーク機能と、更には例えば上述した第２ネットワーク機能を収容する。サービス機能チェーン・テンプレートは、例えば、サービス・マネージャまたは別の場所に格納されてもよい。サービス機能チェーン・テンプレートは、既に存在していてもよく、またはサービス要求に応答して生成されてもよい。サービス・プロバイダは、新規のサービス機能チェーン・テンプレートを作成するために、またはそのサービス（複数可）について既存のサービス機能チェーン・テンプレートを操作するために、サービス・マネージャにアクセスしてもよい。サービス機能チェーン・テンプレートの利点は、複数の機能およびその実行順序が、単一のサービス要求に応答してサービスについて識別できるということである。サービス機能チェーン・テンプレートは、尚もインスタンス化されるべきであるネットワーク機能（例えば、上述した第１ネットワーク機能）、およびネットワーク内に既に存在し利用可能である機能を含んでもよい。
【００２８】
一実施形態では、適用可能なサービス機能チェーン・テンプレートは、サービス要求に基づいて選択される。一例には、サービス要求のサービス・タイプに基づいてテンプレートを選択することが含まれる。サービス・タイプの例には次のものが含まれる。即ち、安全接続サービス、高データ・レート・サービス、低レイテンシ・サービス、プライベート・ネットワーク・サービス、プライベート・クラウド・サービス、優先サービス等である。別の例には、パラメータ（例えば、サービス要求を発出するユーザが有するデバイスの位置）に基づくテンプレートの選択が含まれる。
【００２９】
一実施形態では、第１ネットワーク・サービスをインスタンス化するステップは、１つ以上の転送ルールを第１ネットワーク機能に関連付けて、第１ネットワーク機能によって処理された後にデータ・パケットのルーティングを決定することを含む。このような実施形態は、例えば、第１ネットワーク機能が多数のサービスについてインスタンス化されるときや、当該第１ネットワーク機能からのルーティングは、異なるサービスに関連付けられるデータ・パケットについて異なるときに有益となる。転送ルールはまた、サービス機能チェーンの入口に関連付けられてもよく、その結果、サービス機能チェーンの最初のネットワーク機能に向けてデータ・パケットをルーティングすることができる。
【００３０】
一実施形態では、一旦、１つ以上のネットワーク機能がサービスについて決定されており、また、ネットワーク機能がネットワークにおいてインスタンス化されていると、トークン・アプリケーション・ノードによってデータ・パケットに適用されるネットワーク機能ルーティング・トークンが生成されてもよい。ネットワーク機能ルーティング・トークンは、通信プロトコル独立のトークンであり、下位ネットワークから分離されると共に、ネットワーク機能のインスタンスをサービス・インスタンスに関係付ける。生成されたトークンは、少なくとも１つの第１ネットワーク機能に向けてデータ・パケットをルーティングするためにサービス要求に関連付けられるデータ・パケットに適用されてもよい。
【００３１】
一実施形態では、トークンは、少なくとも第１レベルおよび第２レベルを含む多数レベルのトークン（階層型トークン）である。ここでは、第１レベルは、相互接続されたネットワーク機能の順序セットを含むサービス機能チェーン・テンプレートの間を区別する。第２レベルは、インスタンス化されたサービス機能チェーン・テンプレート内のネットワーク機能の間またはそれらのインスタンスの間を区別する。階層型トークンは、１つのネットワーク機能から別のネットワーク機能までの、サービスに関連付けられるデータ・パケットのルーティングを可能にする。
【００３２】
一実施形態では、サービス要求は、通信ネットワーク・サービス（例えば、Ｓ−ＧＷネットワーク機能、Ｐ−ＧＷネットワーク機能、および／またはＭＭＥネットワーク機能を有するＬＴＥ＿ＥＰＣネットワーク・サービス）に関係する。本実施形態は、仮想化されたネットワーク・サービス（即ち、仮想通信ネットワーク・サービス）のプロビジョニングを可能にする。
【００３３】
一実施形態では、インスタンス化された第１ネットワーク機能は終了されてもよい。本ステップは、例えば、サービス制御ノードから実行されてもよい。また、もはや必要とされないネットワーク機能を終了することによって、または当該ネットワーク機能に割り当てられるリソースを減少させることによって、リソースの効率的な使用を可能とする。これにより、他のネットワーク機能をインスタンス化するキャパシティを開放し、または増大するキャパシティ要求によって追加のキャパシティをネットワーク機能に割り当てる。
【００３４】
当業者には認められるであろうが、本開示の１つ以上のステップは、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態をなすことができ、これらは全て、総じて、「回路」、「モジュール」、または「システム」と本明細書では称されてもよい。本開示において説明する機能は、コンピュータのプロセッサ／マイクロプロセッサによって実行されるアルゴリズムとして実装することができる。更に、本開示の態様は、コンピュータ読み取り可能プログラム・コードが具体化された、例えば、格納された、１つ以上のコンピュータ読み取り可能媒体（複数可）において具体化されたコンピュータ・プログラム製品の形態をなすこともできる。
【００３５】
１つ以上のコンピュータ読み取り可能媒体（複数可）の如何なる組み合わせも利用することができる。コンピュータ読み取り可能媒体とは、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体としてもよい。コンピュータ読み取り可能記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、更には以上の任意の適した組み合わせでもよいが、これらに限定されるのではない。コンピュータ読み取り可能記憶媒体の更に具体的な例は、これに限定されないが、次のものを含んでもよい。即ち、１本以上のワイヤを有する電気接続、携帯用コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリ・メモリ（ＥＰＲＯＭ若しくはフラッシュ・メモリ）、光ファイバ、携帯用コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または以上のものの如何なる好適な組み合わせである。本発明の文脈では、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによる使用のための、或いはこれに関連したプログラムを収容または格納することができる任意の有形媒体としてもよい。
【００３６】
コンピュータ読み取り可能信号媒体は、例えば、ベースバンドにおいてまたは搬送波の一部として、コンピュータ読み取り可能プログラム・コードが内部に具体化された伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらの任意の適した組み合わせを含むがこれらに限定されない種々の形態の内、任意のものをなすことができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、且つ、命令実行システム、装置またはデバイスによる使用のための、或いはこれと関連したプログラムを伝達、伝搬または移送することができる任意のコンピュータ読み取り可能媒体としてもよい。
【００３７】
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、任意のしかるべき媒体を使用して送信することができる。任意のしかるべき媒体には、ワイヤレス、ワイヤライン、光ファイバ、ケーブル、ＲＦ等、または以上のものの任意の適した組み合わせが含まれるが、これらに限定されるのではない。本発明の態様に合わせて動作を実行するためのコンピュータ・プログラム・コードは、１つ以上のプログラム言語の任意の組み合わせで書くことができる。プログラミング言語には、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、あるいは「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手順型プログラミング言語が含まれる。プログラム・コードは、全体的にユーザのコンピュータで、部分的にユーザのコンピュータで、スタンド・アロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータで、あるいは全体的にリモート・コンピュータまたはサーバで実行することができる。後者のシナリオでは、リモート・コンピュータをユーザのコンピュータに、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを通じて接続することができ、或いは、（例えば、インターネット・サービス・プロバイダを介してインターネットを通じて）接続が外部コンピュータに対して行われてもよい。
【００３８】
以下に、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図および／またはブロック図を参照しながら、本発明の態様について説明する。フローチャート図および／またはブロック図、並びにフローチャート図および／またはブロック図における各ブロックや、ブロックの組み合わせは、コンピュータ・プログラム命令によって実装できることが理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサ、特に、マイクロプロセッサまたは中央処理ユニット（ＣＰＵ）に供給される。その結果、コンピュータのプロセッサ、他のプログラマブル・データ処理装置、または他のデバイスによって実行する命令が、フローチャートおよび／またはブロック図の１または複数のブロックにおいて指定される機能／アクトを実装する手段を形成する(create)ように、マシンを制作する(produce)ことができる。
【００３９】
また、これらのコンピュータ・プログラム命令をコンピュータ読み取り可能媒体に格納することもできる。コンピュータ読み取り可能媒体に格納された命令が、フローチャートおよび／またはブロック図の１つ以上のブロックにおいて指定される機能／アクトを実現する命令を含む製品を制作するように、コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに対し、特定の手法で機能するように指令することができる。
【００４０】
また、コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイスで実行させる。その結果、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートおよび／またはブロック図の１つ以上のブロックにおいて指定される機能／アクトを実現するためのプロセスを提供するように、コンピュータ実装プロセスを制作することができる。
【００４１】
図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能（複数可）を実装するための１つ以上の実行可能命令を含む、モジュール、セグメント、またはコード部分(portion of code)を表すことができる。また、幾らかの代替の実施態様では、ブロック内に記される機能が、図面に示される順序以外で行われてもよいことに留意されるべきである。例えば、連続して示される２つのブロックが、実際には、実質的に同時に実行されてもよく、または、関係する機能に応じて、ときにはブロックが逆の順序で実行されてもよい。また、ブロック図および／またはフローチャート図の各ブロック、ならびにブロック図および／またはフローチャート図におけるブロックの組み合わせは、指定された機能またはアクトを実行する特殊目的ハードウェア・ベース・システム、或いは特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実現できることにも留意されよう。
【００４２】
添付図面を参照して、本発明の実施形態について更に例示する。添付図面は、本開示による実施形態を模式的に示す。なお、本発明はこれらの具体的な実施形態に限定されるのでは決してないことは理解されよう。
【００４３】
なお、本発明は、特許請求の範囲に記載される特徴の全てのあり得る組み合わせに関係することに留意される。
図面に示される例証的な実施形態を参照して、本発明の態様について更に詳しく説明する。
【図面の簡単な説明】
【００４４】
【図１】図１は、開示される１つの実施形態によるサービス制御ノードを備えるシステムの概略図を示す。
【図２】図２は、開示される実施形態によるオン・デマンドのサービス・プロビジョニングについての幾らかのステップを例示するフローチャートである。
【図３Ａ】図３Ａは、開示される実施形態によるタイム・チャートであり、図１のシステムにおけるサービス制御ノードとの通信を示す。
【図３Ｂ】図３Bは、開示される実施形態によるタイム・チャートであり、図１のシステムにおけるサービス制御ノードとの通信を示す。
【図４】図４は、オン・デマンドのサービス・プロビジョニングを実行するシステムについて開示される実施形態の他の概略図である。
【図５】図５は、図４のシステムが有するノード間の幾らかの通信を示すタイム・チャートである。
【図６】図６は、開示される方法を用いて通信システムのサービスがプロビジョニングされるシステムの概略図である。
【図７】図７は、ネットワーク機能ルーティング・トークンをデータ・パケットに適用する基本的な例を示す。
【図８】図８は、多数レベルのトークンを使用したネットワーク機能ルーティングの例を示す。
【図９】図９は、ネットワーク機能ルーティングの他の例を示す。
【図１０Ａ】図１０Ａは、マルチレベルのトークンを使用したネットワーク機能ルーティングの別の例を示す。
【図１０Ｂ】図１０Ｂは、マルチレベルのトークンを使用したネットワーク機能ルーティングの別の例を示す。
【図１１】図１１は、汎用システム（例えば、サービス制御ノード）の概略ブロック図である。
【発明を実施するための形態】
【００４５】
図１は、ユーザ・デバイスＵＥをパケット・データ・ネットワーク２（例えば、インターネットまたは通信事業者のクローズド・パケット・データ・ネットワーク）に接続する通信ネットワーク１を備えるシステムを示す。
【００４６】
通信ネットワーク１は、無線アクセス・ネットワークＲＡＮ（例えば３Ｇ ＵＴＲＡＮまたは４Ｇ ＥーＵＴＲＡＮ）およびコア・ネットワークＣＮを備える。アーキテクチャについてのより詳細な説明および概要は、３ＧＰＰ技術仕様ＴＳ２３．００２「ネットワーク・アーキテクチャ」において探し出すことができる。３ＧＰＰ ＴＳ２３．００２をここで引用したことにより、その内容全体が本願に含まれるものとする。
【００４７】
パケット・データ・ネットワーク２は、図１のサーバ３，４として示される計算リソースを備える。サーバ３は、例えば、通信ネットワーク１の事業者の（例えば付加価値サービス（ＶＡＳ）を提供する）データ・センタを表す。一方で、サーバ４は、例えば、サード・パーティのクラウド・データ・センタを表す。リソース３，４は、ネットワーク機能仮想化（ＮＦＶ）を提供するように構成されてもよい。
【００４８】
通信ネットワーク１には、サービス制御ノードＳＣＮが設けられる。サービス制御ノードＳＣＮは、リソース３、４を使用するネットワーク２において、または通信ネットワーク１において、オン・デマンドのサービス・プロビジョニングを可能とするように構成される。サービス制御ノードＳＣＮについての実施形態および機能について以下により詳細に説明する。
【００４９】
図２はフローチャートを示しており、ネットワーク（例えば、パケット・データ・ネットワーク２）におけるオン・デマンドのサービス・プロビジョニングのための方法における幾らかのステップを示す。
【００５０】
ステップＳ１では、サービス要求が傍受される(intercept)。サービス要求は、例えば、安全接続サービス、高データ・レート・サービス、低レイテンシ・サービス、プライベート・ネットワーク・サービス、パーソナル・クラウド・サービス、優先サービス等を求める要求とするとことができる。
【００５１】
ステップＳ２では、サービス要求に関連付けられるサービスについて必要とされる少なくとも１つのネットワーク機能が決定される。サービスは、ネットワーク２で実施されることになる１つ以上のネットワーク機能を必要とする。少なくとも１つのネットワーク機能の決定は、サービス要求に示されるサービス・タイプに基づいて行われる。少なくとも１つのネットワーク機能を決定することができる基礎となる他のパラメータは、例えばユーザ・デバイスＵＥの位置を含むことができる。
【００５２】
ステップＳ３では、少なくとも１つのネットワーク機能は、サービスを実施するためにネットワーク２のリソースでインスタンス化される。ネットワーク機能のどのインスタンスもネットワーク２には存在しない場合に、サービスを実施するのにネットワーク機能のインスタンス化が必要とされる。サービスがこれを必要とし、且つこれらネットワーク機能のどのインスタンスもネットワーク２には存在しない場合に、多数のネットワーク機能がインスタンス化されてもよい。
【００５３】
開示される方法およびシステムによって、サービスのネットワーク機能が、オン・デマンドで（即ち、サービス要求の受け取りによってトリガされて）インスタンス化されるのを可能にする。したがって、サービスの推定要求に基づいて、ネットワーク内でネットワーク機能を事前ロードおよび／または事前構成することは必要とされない。結果として、ネットワークにおいて改良されたリソース使用の効率性が得られる。
【００５４】
本方法およびシステムは、サービス要求がサービス・マネージャＳＭに入るよりかなり前に、例えば、ネットワークの遮断機能をユーザ機器の近くでサービス制御ノード（ＳＣＮ）という形態で実装することにより、サービス要求を遮断するという概念に基づくものである。サービス要求について必要なリソースを割り当てる（または、割り当て機構をトリガする）方法をＳＣＮが承知しているあるレベルまで、ＳＣＮはサービス要求を解釈することができる（例えば、ネットワーク事業者が直接命令することによって、または、例えばＳＭによりＳＣＮに供給されるＳＦＣテンプレートの整合を検査することによって）。次いで、ＳＣＮは直ちに割り当て機能を開始する。その結果、サービス・マネージャＳＭによってＳＦＣが処理されるときに、ＳＦＣは、正常、簡単に実行されることができる。何故ならば、リソースがオン・デマンドで正常に事前割り当てがされているからである。加えて、ＳＣＮは、ネットワークにおいて既にインスタンス化され、即ち存在していないＶＮＦを認識し、また、オン・デマンドでＶＮＦをそれぞれロードするように構成することができる。このように、サービス・マネージャＳＭの作業をかなり単純化およびスピード・アップすることができる。
【００５５】
後に検討するように、ネットワーク機能はまた、ネットワーク１においてインスタンス化されてもよい。
【００５６】
図３Ａおよび図３Ｂは、図１および図２に関して説明したオン・デマンドのサービス・プロビジョニングの制御を実行するタイム・チャートを示す。
【００５７】
図３Ａでは、通信３０において、通信ネットワーク１内のサービス制御ノードＳＣＮは、ユーザ・デバイスＵＥからサービス要求ＳＲを検出または傍受する。
【００５８】
プロセス３１において、サービス制御ノードＳＣＮは、サービス要求ＳＲに関連付けられたサービスを実行するために少なくとも１つのネットワーク機能を決定する。
【００５９】
通信３２において、サービス制御ノードＳＣＮは、ネットワーク２のネットワーク機能ＮＦ１をインスタンス化する。
【００６０】
通信３３は、インスタンス化されたネットワーク機能ＮＦ１を使用したサービスのプロビジョニングを示す。
【００６１】
図３Ｂでは、通信３０において、通信ネットワーク１内のサービス制御ノードＳＣＮは、通信ネットワーク１内部からのサービス要求ＳＲ（またはネットワーク２からのサービス要求）を検出または傍受する。サービス要求は、ユーザ・デバイスＵＥからのオーバ・ザ・トップＯＴＴセッションの確立の検出および傍受に応じて、サービス要求送信機ＳＲＴによって送信される。図３Ｂのアクション３１ー３３は、図３Ａで参照される類似のステップに対応する。
【００６２】
図４は、サービス制御ノードＳＣＮ、サービス・マネージャＳＭ、およびトークン・アプリケーション・ノードＴＡＮを備えるオン・デマンドのサービス・プロビジョニング・システムの概略図である。サービス・マネージャＳＭは、ＥＴＳＩ ＮＦＶのＮＦＶマネジメントおよびオーケストレーション機能と同等の機能を有する。本システムはまた、サービス要求送信機ＳＲＴを備えて、図３Ｂを参照して説明したように、通信ネットワーク１内でのサービス要求の生成を可能にする。
【００６３】
本例での通信ネットワーク１は、当業者にとって周知の４Ｇ通信ネットワークを備える。また、周知のノード、例えば、ユーザ・デバイスＵＥのワイヤレス・アクセスを可能にする発展型(evolved)ノードＢ（ＥＮＢ）、モビリティ管理エンティティＭＭＥ、ホーム加入者サーバＨＳＳ、複数のＥＮＢ（非図示）を配給するＳ−ＧＷ、およびパケット・データ・ネットワーク２へのゲートウェイであるＰ−ＧＷを備える。
【００６４】
図４では、サービス制御ノードＳＣＮはＭＭＥと共に配置される。一方で、サービス制御ノードＳＣＮは、例えばユーザ・デバイスＵＥ、またはユーザ・プレーン・ノード（例えば、基地局（例えばＥＮＢ））のような他の場所に配置されてもよい。トークン・アプリケーション・ノードＴＡＮおよびサービス要求送信機ＳＲＴは、サービスに関連付けられるデータ・パケットの経路中に（例えば、基地局（例えばＥＮＢ）に、またはゲートウェイ（例えばＳーＧＷまたはＰーＧＷ）に位置される。通信ネットワーク１内にあるノードの１つ以上の位置決めをすることの利点は、通信ネットワーク１内のノードが有用な情報を既に所有しているということである。例えば、ＨＳＳは加入者情報を収容し、また、ＭＭＥはモビリティ情報を収容している。
【００６５】
ネットワーク機能がサービス要求ＳＲを満たすようにはネットワーク内で既に利用可能とはなっていない場合に、サービス制御ノードＳＣＮは、サービス・マネージャＳＭおよびトークン・アプリケーション・ノードＴＡＮと相互作用して、ネットワーク２内でネットワーク機能をインスタンス化することによってオン・デマンドのサービスを提供する。ネットワーク機能のインスタンス化は、接続４０を通じて実行される。ネットワーク機能のインスタンス化は、また、ＰーＧＷ（または第２ネットワークへの他の如何なるゲートウェイ）を介して、通信ネットワーク１を通じてサービス制御ノードから実行される。
【００６６】
特に、ネットワークにおけるサービスのプロビジョニングは、新規のネットワーク機能をインスタンス化すること、既存のネットワーク機能をスケールすること、およびサービス識別(differentiation)トンネルを初期化することを含む。
【００６７】
サービス制御ノードＳＣＮは、また、例えばサービス要求フローの終了によってトリガされ、またはタイマの満了に応じて、ネットワーク機能のインスタンスを終了させる。全般的に、サービス制御ノードＳＣＮは、ネットワーク機能のインスタンスにおけるライフサイクル管理の責任を有する。
【００６８】
サービス制御ノードＳＣＮは、サービス要求ＳＲを受け取り、認可するように構成される。ＳＣＮは、認可情報へのアクセス（例えばデータベース・アクセス（例えばＨＳＳ））を有する。
【００６９】
ＳＣＮはこの情報を使用して、ユーザが要求した特定のサービスを使用することについてユーザが実際に認可されているかを判定する（例えば、支払い(subscription)、ＳＬＡアグリーメント、データ制限）。ユーザが認可されていない場合、ＳＣＮはサービスをプロビジョニングすることはない。
【００７０】
サービス要求ＳＲは、所望のネットワーク・サービスのネットワーク事業者に対する指標を含む。指標は、ヘッダ情報またはパケット・データ・パターンでもよい。サービス要求ＳＲは、通信ネットワーク１への初期アタッチ要求のような既存のメッセージ、プロトコルまたはシグナリング（例えば、ＨＴＴＰまたはＩＭＳ）に組み込まれる所定のタグ（例えばサービス識別子）、或いは、専用プロトコルでもよい。
【００７１】
サービス制御ノードＳＣＮは、サービス要求を受け取る方法にしたがってネットワークにおける様々な場所に位置してもよい。例えば、サービス制御ノードＳＣＮは、サービスのブートストラッピングが専用のアプリケーション・レイヤ・プロトコルを介して示されることができるときには、ユーザ・デバイスＵＥ上に位置することができる。他のオプションでは、サービス制御ノードＳＣＮをＥＮＢに位置し、または、モバイル・ネットワーク監視シグナリング・トラフィックについての通信ネットワーク１内のＭＭＥに位置する。この場合、サービス制御ノードＳＣＮは、既存のシグナリング・メッセージに応じてトリガし、またはサービス要求ＳＲとしてプロトコル組み込みサービス識別子を傍受することもある。
【００７２】
サービス制御ノードＳＣＮは、サービス要求ＳＲをサービス・マネージャＳＭにディスパッチするように構成され、サービスを実施するために１つ以上のネットワーク機能ＮＦを決定する。図７から図１０を参照して更に説明するように、サービス・マネージャＳＭは、サービス機能チェーン（ＳＦＣ）テンプレートＴＭＰＬを抽出または作成する。そのために、サービス・マネージャＳＭは、サービスの公知のリスト、それら構成（ＳＦＣ）、および各サービスに関連付けられる、見込まれる他の情報（例えば、支払い、ユーザ、ポリシ）を保持する。サービス・マネージャＳＭは、（例えばＳＦＣの形態で）サービスをデリバリするサード・パーティとインタフェースし、また、関連のネットワーク・エレメントおよび他のコンポーネントとインタフェースして、クラウド・ブローカ、Ｐ−ＧＷ、ＥＮＢ等のようなサービスをロードおよび実施する。
【００７３】
サービス制御ノードＳＣＮは、サービス機能チェーン・テンプレートをコンパイルし、また、ネットワーク２においてネットワーク機能ＮＦをインスタンス化するために、サービス機能チェーン・テンプレートを受け取るように構成される。後述するように、ネットワーク機能（複数可）ＮＦはまた、通信ネットワーク１でインスタンス化されてもよい。
【００７４】
サービス制御ノードＳＣＮは、サービスに関連付けられたデータ・パケットの決定済みネットワーク機能ＮＦへのルーティングのために、ネットワーク機能ルーティング・トークンを生成するように構成される。サービス制御ノードＳＣＮは、生成されたネットワーク機能ルーティング・トークンをトークン・アプリケーション・ノードＴＡＮに供給するように構成される。
【００７５】
トークン・アプライヤＴＡＮは、サービス制御ノードＳＣＮからネットワーク機能ルーティング・トークンを受け取り、受け取ったトークンをデータ・パケットに（例えば、データ・パケットのヘッダに）に適用するように構成される。その結果、サービス機能チェーン・テンプレートＴＭＰＬに規定されるネットワーク機能ＮＦのチェーンに沿ったデータ・パケットのルーティングを可能にする。これにより、トークン・ベースのサービス・フロー・ルーティングが可能となる。トークン・アプライヤＴＡＮは、サービス機能チェーンの入口ノードに、例えば、クラウド・データ・センタ３または４の入口ノードに論理的に位置する。したがって、トークン・アプリケーション・ノードＴＡＮは、（図４の点線で示すように）ネットワーク２に位置してもよい。
【００７６】
図３Ｂを参照して既に説明したように、サービス要求ＳＲは、また、通信ネットワーク１の内部から（またはネットワーク２から）生じる。そのために、サービス要求送信機ＳＲＴは通信ネットワーク１内に配置される。サービス要求は、例えば、ユーザ・デバイスＵＥからのトラフィック内のサービス識別子に基づいて、オーバ・ザ・トップＯＴＴのサービス要求または他の要求について通知されるように傍受または配置されるように構成されてもよい。サービス識別子は、例えば、ユーザ・デバイスＵＥまたはｗｅｂサーバによって、ユーザ・デバイスＵＥからのサービス要求（例えば、所与のサーバ／サービスに向けてポイントするｈｔｔｐ要求）に組み込んだものでよい。情報の傍受または受け取りに応答して、サービス要求ＳＲは生成され、また、サービス制御ノードＳＣＮに送信される。
【００７７】
図４のシステムにおけるサービス制御ノードＳＣＮ、サービス・マネージャＳＭ、およびトークン・アプリケーション・ノードＴＡＮを動作させる方法について図５に示す。
【００７８】
最初に、通信５０では、ユーザ・デバイスＵＥからのサービス要求が、サービス制御ノードＳＣＮによって傍受される。プロセス５１では、サービス制御ノードＳＣＮは、例えばパケット・ヘッダ・フィールド（例えば、ポート、ターゲットＩＰアドレス）またはパケット・コンテンツに基づいて、サービス・タイプを検出する。
【００７９】
続いて通信５２では、サービス・タイプを使用して、サービス・マネージャＳＭからのＳＦＣテンプレートＴＭＰＬを要求する。サービス・マネージャＳＭは、サービス要求ＳＲ、またはサービス制御ノードＳＣＮで導出されたサービス要求ＳＲの派生物を、相互接続されたネットワーク機能のセット（即ち、サービス機能チェーン（ＳＦＣ）テンプレート）に変換するように構成される。この変換は、多数のやり方で取り扱うことができる。例えば、ＳＦＣテンプレートは、そのネットワーク内で使用されるサービス・タイプごとに手動で作成されていてもよい。或いは、自動化した変換アルゴリズムを用いて、オンザフライでＳＦＣテンプレートを作成することができる。
【００８０】
通信５３では、テンプレートＴＭＰＬは、関係するネットワーク機能（例えば、ＮＦ１，ＮＦ２）の順序および記述を示して返される。このＳＦＣテンプレートに基づいて、サービス制御ノードＳＣＮは、ユーザ・デバイスＵＥを用いるカスタマに、要求されたサービスを提供するために、ネットワーク機能のセットを決定する。サービス・マネージャＳＭから取得される情報に加えて、サービス制御ノードＳＣＮは、更に、情報を処理してもよく、また、更なる特徴を付加またはセットしてもよい。例えば、ＳＣＮは、必要であれば、ＳＦＣテンプレートのネットワーク機能における多数のインスタンスを生成してもよく、ネットワーク機能ルーティングを決定してもよい。また、テンプレートにおけるユーザに特有の構成は、サービス制御ノードＳＣＮで決定されてもよい。
【００８１】
通信５４では、サービス発見機構を使用して、サービス制御ノードＳＣＮは、テンプレートＴＭＰＬにリストされたネットワーク機能のセットを決定する。ネットワーク機能は、ネットワーク２において（例えば、ドメインのクラウド・データ・センタ３（図１参照）内で）現在起動している。サービス発見から、サービス制御ノードＳＣＮは、ネットワーク機能ＮＦ２がネットワークにおいて既に起動していること、また、十分なリソースがこのネットワーク機能のサービス要求ＳＲに適応するために利用可能であることについて検証する。同時に、サービス制御ノード２は、テンプレートＴＭＰＬにまたリストされるネットワーク機能ＮＦ１が、ネットワーク２には未だ存在しないこと（または十分なリソースはこのネットワーク機能を求める要求ＳＲに適応するために利用可能であること）を見つけ出す。
【００８２】
したがって、次の通信５５では、サービス制御ノードは、新規のネットワーク機能のインスタンスＮＦ１をインスタンス化する。
【００８３】
引き続き、通信５６では、必要なリソースが、選択されたネットワーク機能のインスタンスにプロビジョニングされ、また、ユーザのサービス要求に適応するために、ネットワークがそれらを相互接続する。ネットワーク機能が（例えば、多数のラック、データ・センタ、ネットワークを通じて）配給されるので、ネットワーク機能を通じてネットワーク・パスを取得するためにリソースが割り当てられなければならない。
【００８４】
オン・デマンドのサービス・プロビジョニング・プロセスの最終ステップである通信５７の間、サービス制御ノードＳＣＮは、ユーザ・デバイスＵＥからのサービス要求ＳＲに関連付けられるサービス・フローのためのルーティング・パスを構成する。このルーティングの構成は、サービス要求に関連付けられるデータ・パケットが、ＳＦＣテンプレートの指定(specification)にしたがって、ネットワーク機能ＮＦ１に、続いてネットワーク機能ＮＦ２にリダイレクトされるのを可能にする。そのために、サービス制御ノードＳＣＮは、ネットワーク機能ルーティング・トークンをトークン・アプリケーション・ノードＴＡＮに供給する。
【００８５】
上述したようにサービスが確立および構成されると、トークン・アプリケーション・ノードＴＡＮを介してユーザ・デバイスＵＥからサービス要求フローに関連付けられるデータ・パケットは、サービス・エンドポイントにルーティングされるネットワーク機能ルーティング・トークンをピックアップする。その逆もまた同様である。ネットワーク機能ルーティング・トークンは、ＳＦＣの出口でデータ・パケットから除去され、データ・パケットの経路において別のネットワークのためにトランスペアレンシを得る。
【００８６】
事業者それ自体（または別の事業者）が有する通信ネットワーク１は、ユーザ要求およびリソース可用性に基づいて、ネットワーク機能をインスタンス化する能力から恩恵を受ける。ＭＭＥ機能、Ｓ−ＧＷ機能、および／またはＰ−ＧＷ機能のようなコア・ネットワークＣＮサービス（図１参照）は、例えばユーザ指定バージョンのこれらノードを取得するために、適切なネットワーク機能をインスタンス化することによって、オン・デマンドでプロビジョニングされる。仮想機能は、通例、仮想コア・ネットワークＣＮのクラウドに配置される。カスタマイズされたコア・ネットワークをインスタンス化する能力により、例えば、ユーザが通信ネットワーク１内で移動しているとき、または通信ネットワーク間をローミングしているときに、リソース効率性およびカスタマイズのための機会が広がる(open up)。
【００８７】
図６は、通信ネットワーク１におけるＭＭＥ、Ｓ−ＧＷ、およびＰ−ＧＷの機能をオン・デマンドでプロビジョニングする例を示す。点線のボックスは、オン・デマンドのコア・ネットワーク・サービスを提供するのに関連付けられるネットワーク機能である。サービス制御ノードＳＣＮ自体さえも仮想ＭＭＥ機能でインスタンス化することができ、ＳＣＮ’として示されることに留意されるべきである。
【００８８】
必ずしも、コア・ネットワーク全てがプロビジョニングされなければならないということではないことに留意される。また、本明細書に開示する方法を用いて、このようなコア・ネットワークにおける１つ以上のノードのみをプロビジョニングすることも見込まれる。ユーザ・デバイスＵＥが個別バージョンのＥＰＣサービスを要求する１つの理由は、３ＧＰＰが新規の特徴および機能（例えば、サービス公表のためのアーキテクチャ強化（ＡＥＳＥ;Architecture Enhancements for Service Exposure)に関してコンスタントに進展しているということである。このことは、ＡＥＳＥによって作られる「規格」ＥＰＣはサービスを提供するのに十分ではないことを意味する。本明細書に開示される方法を通じて、通信ネットワーク・プロバイダは、ＥＰＣの複雑なＡＥＳＥを配備することを必要とされるのではなく、単に、ＡＥＳＥ用のテンプレートと、それに含まれる機能コンポーネントとをＳＭに含める。したがって、プロバイダは、コンポーネントを実際に公開する(roll out)必要なくネットワークを更新する。
【００８９】
要するに、以降のステップは、コア・ネットワーク・サービスをプロビジョニングするために行われる。特定のサービス要求によるユーザ・デバイスＵＥからネットワークへの初期要求は、サービス制御ノードＳＣＮに到達する。サービス制御ノードＳＣＮは、必要とされるサービス・タイプ（この場合、ＵＥ特有のＥＰＣサービス・タイプ）を（ＵＥからのサービス要求を使用して）検出し、例えばＨＳＳに位置するサービス・マネージャからＳＦＣテンプレートを要求する。サービス・マネージャＳＭは、サービス制御ノード（ＳＣＮ）からのサービス要求にしたがって１つ以上のＳＦＣテンプレートを探す／作成する（要求されたＥＰＣを記述するテンプレートのセット。多数の転送経路（例えばデータ・トラフィック用の経路および制御トラフィック用の経路）が存在するときは、多数テンプレートが使用されてもよい。）。サービス・マネージャＳＭは、１つ以上のＳＦＣテンプレートを返す。そして、サービス制御ノードＳＣＮは、テンプレートをＳＦＣアクション配備へとコンパイルする（ＭＭＥ機能のような１つ以上のネットワーク機能のインスタンスを含む（元のＳＣＮからのハンドオーバが実行されるサービス制御ノードＳＣＮ’それ自体のインスタンスを恐らくは含む。）。）。元のサービス制御ノードＳＣＮは、１つ以上のネットワーク機能ルーティング・トークンをトークン・アプリケーション・ノードＴＡＮに供給する。トークン・アプリケーション・ノードＴＡＮは、ＥＮＢ内に共に配置される。
【００９０】
次いで、標準ＭＭＥハンドオーバ手順に続いて、シグナリング・トラフィックを新規に作成されたＭＭＥにスイッチする。また、新規に作成されたＥＰＣ内でシグナリングするための接続がセットアップされる。新規に作成されたＭＭＥ’は、標準３ＧＰＰ手順に続いて、新規に作成されたＥＰＣコンポーネントにわたるベアラを確立する。そして、データ・フローが開始する。
【００９１】
上述したように、トークン・アプリケーション・ノードのＴＡＮは、ネットワーク機能ルーティング・トークンを、サービスに関連付けられるデータ・パケットに適用し、その結果、サービス機能チェーン・テンプレートＴＭＰＬで指定されたネットワーク機能の適切なインスタンスにデータ・パケットをルーティングすることができる。
【００９２】
通常、データ・パケットは、ネットワーク機能の少なくとも１つのインスタンスにルーティングされる。サービスを実行する（Ｖ）ＮＦがネットワーク内で起動している。ネットワーク機能（Ｖ）ＮＦは、サービス機能チェーン・テンプレートＴＭＰＬの少なくとも１つのインスタンス化に割り当てられる。本方法は、ネットワーク機能にデータ・パケットをルーティングするために、ネットワーク機能ルーティング・トークンｘ．ｙを、データ・パケットの各々に適用するステップを含む。各ネットワーク機能ルーティング・トークンは、サービス機能チェーン・テンプレートＴＭＰＬの少なくとも１つのインスタンス化を示す第１レベル「ｘ」と、ネットワーク機能（Ｖ）ＮＦの少なくとも１つのインスタンスを示す第２レベル「ｙ」とを含む。このことを図７に模式的に示す。ここでは、トークン・アプリケーション・ノードＴＡＮは、データ・パケットＤＰを、サービス機能ルーティング・テンプレート「ｘ」のインスタンス化で収容されたネットワーク機能のインスタンスであるインスタンス「ｙ」にルーティングする。
【００９３】
ネットワーク機能ルーティング・トークンが２つのレベル以上を含んでもよいことに留意されるべきである。
【００９４】
ネットワーク機能の１つ以上のインスタンスが、サービスを実行するためにサービス機能チェーン・テンプレートの１つ以上のインスタンス化に関連付けられる場合に、トークン・アプリケーション・ノードＴＡＮは、データ・パケットのネットワーク機能ルーティングを可能にする。ネットワーク機能ルーティング・トークンは、通信プロトコル独立トークンであり、下位ネットワーク１，２から分離されると共に、ネットワーク機能のインスタンスをサービス機能チェーン・テンプレートによって規定されるサービスに関係付ける。
【００９５】
テンプレートは１つ以上の異なる機能、異なる順序の１つ以上の同一機能、および／または異なる設定（複数可）を有する同一機能（複数可）を収容するので、テンプレートのインスタンス化は異なるものでよいことに留意されるべきである。ネットワーク機能が異なるので、および／またはネットワーク機能の設定（複数可）が異なるので、ネットワーク機能のインスタンスは異なるものでよい。ネットワーク機能ルーティング・トークンが生成されると、テンプレートのインスタンス化および／またはネットワーク機能のインスタンスは公知である。
【００９６】
なお、ネットワーク機能ルーティング・トークンは、多数の方法でパケットに組み込むことができることに留意されるべきである。例えばＩＰｖ４では、オプション・フィールドを使用するこができる。オプション・フィールドは、ＩＰｖ４ヘッダのオプション部分であり、３２ビット・ワードのセットを収容する。ＩＰｖ６では、その代わりに、いわゆるヘッダ機能を使用することができる。当該ヘッダ拡張は、ＩＰｖ４のオプション・ヘッダ・フィールドと同一の目的に供するが、よりモジュール化および拡張可能である。
【００９７】
図８は、多数レベルのトークンを用いたネットワーク機能ルーティングの例を示す。図８の上部に、ＳＦＣテンプレート１およびＳＦＣテンプレート２を示す。各々は、相互接続されたネットワーク機能のグラフを含む。この実施形態では、サービス機能チェーン・テンプレートＳＦＣテンプレート１のインスタンス化は、特定のサービスのためのネットワーク機能Ａ、ＢおよびＣの複数のインスタンスを収容する。また、サービス機能チェーン・テンプレートＳＦＣテンプレート２は、別のタイプのサービスのためのネットワーク機能Ｄ、Ｂ、Ｃ、ＥおよびＦの複数のインスタンスを、図８に示す順序で収容する。両方のテンプレートにＮＦ ＢおよびＣが存在する（即ち、これらに関連付けられるサービスは共にこれら機能を使用する。）ことに留意される。図８から観察できるように、サービス機能チェーン・テンプレートＳＦＣテンプレート１の第１インスタンス化と、サービス機能チェーン・テンプレートＳＦＣテンプレート２の第２インスタンス化とでは、ネットワーク機能の少なくとも１つのインスタンスが異なる。ネットワーク機能ルーティング・トークンＸの第１レベルは、サービス機能チェーン・テンプレートＳＦＣテンプレート１の第１インスタンス化と、サービス機能チェーン・テンプレートＳＦＣテンプレート２の第２インスタンス化との間を識別する。上述したように、ネットワーク機能の少なくとも１つインスタンスにおける相違は、また、サービス機能チェーン・テンプレートにおけるネットワーク機能のインスタンスの順序から現れる。後述するように、本実施形態により、サービス機能チェーン・テンプレートの相違によって区別される異なるサービスに関連付けられるデータ・パケットのルーティングを可能にする。
【００９８】
サービス制御ノードＳＣＮがサービス機能チェーン・テンプレートを一旦受け取ると、図８の下部に示すように、例えばクラウド・データ・センタ３または４内に配備される実際のネットワーク機能に対して、抽象的なネットワーク機能をリンクさせることによって、テンプレートはアクション配備へとコンパイルされる。ネットワーク機能はＸ．Ｙで示される。ここでは、ＸはＮＦタイプ（例えば、ＡまたはＢ）であり、Ｙはインスタンス番号（例えば、１または２）である。
【００９９】
ＮＦインスタンス間の転送ルール（Ｘ｜Ｙと記載する。ここでは、Ｘ＝パケット・ヘッダ・トークンとの整合であり、Ｙ＝次ホップＮＦである。）は、例えばネットワーク機能のインスタンス化の間に、ネットワーク機能の１つ以上に関連付けられる。複雑なフィルタ・ルールを編成するために、正規表現を用いることができる。
【０１００】
図８では、２レベルの階層型トークンが使用される。第１レベルのトークンを使用して、ＳＦＣテンプレート１とＳＦＣテンプレート２の間を識別することができる。本例では、ＮＦ Ａの２つのインスタンスが存在し、インスタンスＡ．１およびＡ．２として示される。ＳＦＣテンプレート１に関連付けられる第２レベルのトークンを使用して、ＮＦ Ａのこれら２つのインスタンスの間を識別することができる。
【０１０１】
ＳＦＣテンプレート２では、第２レベルを用いて、ＮＦインスタンスＥ．１またはＦ．１の何れかにデータ・パケットを向けることができる。後者の場合は、転送の決定は、特徴(distinguishing)ファクタに基づく。特徴ファクタは、本例では、例えばネットワーク機能Ｃ１のＳＦＣテンプレート２内のネットワーク機能ノードによって解釈することができる。ネットワーク機能Ｃ１は、特徴ファクタを解釈して、トークン２．ＸでマークされたパケットをＥ．１またはＦ．１にルーティングすべきかについて判定することができる。ＮＦ Ｃ１は、ネットワーク機能ルーティング・トークンを更新する結果、特徴ファクタがまた、その（この例では２．１および２．２の）ＮＦダウンロードストリームによって使用されることができる。このような特徴ファクタの例は、ユーザ特性若しくは特定コンテキスト（例えば男性／女性）であり、またはローカル・サービス・レベル・アグリーメントである。
【０１０２】
代替のオプションは、２つの別個のＳＦＣテンプレートを使用することである。即ち、１つはＮＦ Ｅを含む分岐のためのものであり、１つはＮＦ Ｆを含む分岐のためのものである。当該実施形態は、特徴ファクタがＳＦＣの入口ノードにおいて解釈でき、また、トークン・アプリケーション・ノードＴＡＮによってセットできる場合に有益となろう。
【０１０３】
ネットワーク機能ルーティング・トークンの特定レベルが関係しないとき、またはネットワーク機能の範囲が特定されることになるときに、ワイルドカードをパケット・ヘッダのトークン、例えば（１．？）で使用することができる。この例では、データ・パケットはＳＦＣテンプレート１に従う必要があるが、第２階層型レベルについて次のホップを自由に選択することができる（例えば、ＮＦインスタンスＡ．１またはＡ．２のどちらを使用するべきかについて）。ノードを転送する際は、また、代わりのオプション（例えば、「［１２］．？」）のような他の正規表現セマンティクスをサポートすることができる。他の正規表現セマンティクスは、トークン１．？および２．？でマークされる全てのトラフィックが同様の方法で処理されるのを表現するルーティング・サマリである。
【０１０４】
図９は、２つ以上のレベルを含むネットワーク機能ルーティング・トークンの概略図である。一実施形態では、サービス機能チェーン・テンプレートはまた、相互接続したネットワーク機能の順序セットを含む。また、第２レベルおよび更なるレベルのネットワーク機能ルーティング・トークンは、順序セットにおけるネットワーク機能の位置に対応する。したがって、データ・パケットは、機能チェーン・テンプレートのネットワーク機能の順序にしたがって、ネットワークにおける後続のネットワーク機能にルーティングすることができる。任意には、第２レベルでのトークンの値は、ネットワーク機能のインスタンスに順序セットの位置で対応する。
【０１０５】
図９では、また、第１レベルはＳＦＣテンプレートの間を区別する。第２レベルおよび更なるレベルは（トークンはＮ＋１つのレベルを有する）、（仮想の）ネットワーク機能の異なるインスタンスの間を（例えば、特定ＮＦのインスタンスの間を、或いは、例えばローカルに解釈可能な特徴ファクタに基づく異なるＮＦの間を）区別する。
【０１０６】
トークンで用いることができる階層型レベルの番号はＮ＋１にセットすることができる。ここでは、ＮはＳＦＣテンプレートにおいて連続するＮＦの数（またはＳＦＣテンプレートの長さ）である。（Ｎ＋１）レベルのトークン・ベースのルーティングを使用して、ＶＮＦのどのインスタンスがＳＦＣでの異なるステップで使用されるべきかについて規定することができる。このようなタイプの４レベル（Ｎ＝３）トークン・ベースのルーティングの例を図９に示す。図９では、３つのネットワーク機能Ａ，Ｂ，Ｃが、サービス機能チェーン・テンプレート「１」でのその順序に含まれる。したがって、ネットワーク機能ルーティング・トークンの第１レベルが「１」にセットされる。第２レベルおよび更なるレベルのトークンにより、データ・パケットが、ＳＦＣテンプレート１内でこれらネットワーク機能のインスタンスの間を区別するのを可能にする。例えば、第２レベルの値は、ネットワーク機能ＡのインスタンスＡ．１およびＡ．２の間を区別する。第３レベルの値は、ネットワーク機能ＢのインスタンスＢ１、Ｂ２およびＢ３の間を区別する等である。ネットワーク機能Ａの２つのインスタンスＡ．１、Ａ．２は、例えば、ネットワーク機能Ａの異なる構成に関する。
【０１０７】
サービス機能チェーン・テンプレートの多数のインスタンス化が存在してもよい。一例は、図８の実施形態で既に与えている。ここでは、ＳＦＣテンプレートのインスタンス化は、テンプレートに収容されるネットワーク機能の相違によって、異なったものとなる。別の例を図１０Ａに示す。ここでは、単一のサービス機能チェーン・テンプレート１が多数の回数でインスタンス化される。その結果、ネットワーク機能Ｂについて異なるネットワーク機能のインスタンスＢ１およびＢ２となる。ネットワーク機能Ｂの構成が異なるので、ネットワーク機能Ｂ１およびＢ２は、例えば異なるものとなる。第２レベルのネットワーク機能ルーティング・トークンは、ネットワーク機能インスタンスＢ１を収容するＳＦＣテンプレートのインスタンス化、または、ネットワーク機能インスタンスＢ２を収容するＳＦＣテンプレートのインスタンス化をデータ・パケットが通り抜けるかについて判定する。区別(differentiation)が第１レベルのトークンに対してなされることを除き、２つのテンプレートが規定されるときに同様の効果が得られることになる。
【０１０８】
図１０Ｂは、ネットワーク機能ルーティングの更なる別の実施形態を示す。２つのＳＦＣテンプレートが規定される。ＳＦＣテンプレート１は、ネットワーク機能Ａ、ＢおよびＣを収容する。ＳＦＣテンプレート２は、ネットワーク機能Ａ、ＢおよびＦを収容する。第１レベルのネットワーク・ルーティング・トークンは、使用されるＳＦＣテンプレートを決定する。第２レベルは、ネットワーク機能のインスタンスを決定する。
【０１０９】
図１１は、全般システム（例えば、サービス制御ノードＳＣＮ、サービス・マネージャＳＭ、および／またはトークン・アプリケーション・ノードＴＡＮ）についての概略ブロック図である。
【０１１０】
図１１に示すように、データ処理システム１１０は、システム・バス７１１３を通じてメモリ・エレメント１１２に結合された少なくとも１つのプロセッサ１１１を含む。このように、データ処理システムはメモリ・エレメント１１２内にプログラム・コードを格納してもよい。更に、プロセッサ１１１は、システム・バス１１３を通じてメモリ・エレメント１１２からアクセスされるプログラム・コードを実行する。一態様では、データ処理システムは、プログラム・コードを格納および／または実行するのに適したコンピュータとして実装される。しかしながら、データ処理システム１１０は、プロセッサおよびメモリを含み、本明細書内に説明された機能を実行することができる任意のシステムの形態で実装すればよいことは認められるべきである。
【０１１１】
メモリ・エレメント１１２は、例えば、ローカル・メモリ１１４のような１つ以上の物理メモリ・デバイスと、１つ以上の大容量記憶デバイス１１５とを含むでもよい。ローカル・メモリとは、プログラム・コードの実際の実行中に通常使用されるランダム・アクセス・メモリまたは他の非永続的メモリ・デバイス（複数可）を指す。大容量記憶デバイスは、ハード・ドライブまたは他の永続的データ記憶デバイスとして実装される。また、処理システム１１０は１つ以上のキャッシュ・メモリ（非図示）も含む。キャッシュ・メモリは、実行中にプログラム・コードを大容量記憶デバイス１１５から抽出しなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時的格納に備える。
【０１１２】
入力デバイス１１６および出力デバイス１１７として図示されている入力／出力（Ｉ／Ｏ）デバイスは、任意に、データ処理システムに結合することができる。入力デバイスの例には、例えば、キーボード、マウスのようなポインティング・デバイス等を含むことができるが、これらに限定されるのではない。出力デバイスの例には、例えば、モニタまたはディスプレイ、スピーカ等を含むことができるが、これらに限定されるのではない。入力／出力デバイスは、データ処理システムに直接、または仲介する(intervening)Ｉ／Ｏコントローラを通じて結合してもよい。
【０１１３】
実施形態では、入力および出力デバイスは、組み合わせの入力／出力デバイスとして実装されてもよい（図１１では、入力デバイス１１６と出力デバイス１１７を囲う点線で示される。）。このような組み合わせ入力／出力デバイスの例はタッチ感応ディスプレイであり、時折、タッチ・スクリーン・ディスプレイ」または単に「タッチ・スクリーン」と称される。このような実施形態では、デバイスへの入力は、タッチ・スクリーン・ディスプレイ上またはこれ近辺での物理オブジェクト（例えばスタイラスまたはユーザの指）の移動によって提供される。
【０１１４】
また、ネットワーク・アダプタ１１８をデータ処理システムに結合して、他のシステム、コンピュータ・システム、リモート・ネットワーク・デバイス、および／またはリモート記憶デバイスに、仲介するプライベートまたはパブリック・ネットワークを通じて結合されることを可能にしてもよい。ネットワーク・アダプタは、具体的には、上記システム、デバイス、および／またはネットワークによってデータ処理システム１１０に送信されるデータを受信するデータ受信機、並びに、上記システム、デバイス、および／またはネットワークまでデータ処理システム１１０からデータを送信するデータ送信機を含んでもよい。モデム、ケーブル・モデム、およびイーサネット・カードは、データ処理システム１１０と共に使用される異なるタイプのネットワーク・アダプタの例である。
【０１１５】
図１１に示すように、メモリ・エレメント１１２は、アプリケーション１１９を格納する。様々な実施形態では、アプリケーション１１９は、ローカル・メモリ１１４、１つ以上の大容量記憶デバイス１１５内に、或いは、ローカル・メモリや大容量記憶デバイス１１５とは別個に格納されてもよい。データ処理システム１１０は、更に、アプリケーション１１９の実行を容易にすることができるオペレーティング・システム（非図示）を実行できることが認められるべきである。実行可能プログラム・コードの形態で実現されるアプリケーション１１９は、データ処理システム１１０によって、例えば、プロセッサ１１１によって実行することができる。アプリケーションを実行したことに応答して、データ処理システム１１０は、本明細書に説明される１つ以上の方法ステップを実行するように構成される。
【０１１６】
本発明の一態様では、本明細書に開示されるように、データ処理システム１１０は、サービス制御ノードＳＣＮ、サービス・マネージャＳＭ、またはトークン・アプリケーション・ノードＴＡＮを表す。
【０１１７】
本発明の種々の実施形態は、コンピュータ・システムと共に使用するためのプログラム製品として実現することもでき、プログラム製品のプログラム（複数可）は、実施形態の機能（本明細書において説明した方法を含む）を規定する。一実施形態では、プログラム（複数可）は、種々の非一時的コンピュータ読み取り可能媒体に収容することができる。本明細書において使用する場合、「非一時的コンピュータ読み取り可能記憶媒体」との表現は、全てのコンピュータ読み取り可能媒体を含み、唯一の例外が一時的な伝搬信号である。他の実施形態では、プログラム（複数可）は種々の一時的コンピュータ読み取り可能記憶媒体に収容することができる。例示的なコンピュータ読み取り可能記憶媒体には、（ｉ）情報が永続的に格納される非書き込み可能記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、ＲＯＭチップ、または任意のタイプのソリッド・ステート不揮発性半導体メモリのような、コンピュータ内部のリード・オンリ・メモリ・デバイス）、および（ｉｉ）変化する可能性がある情報が格納される書き込み可能記憶媒体（例えば、フラッシュ・メモリ、ディスケット・ドライブ内部のフロッピ・ディスク、またはハード・ディスク・ドライブ、あるいは任意のタイプのソリッド・ステート・ランダム・アクセス半導体メモリ）が含まれるが、これらに限定されるのではない。コンピュータ・プログラムは、本明細書に説明されるプロセッサ１１１で実行することができる。
【０１１８】
本明細書に使用される用語は、特定の実施形態を説明するために限られており、本発明の限定であることを意図するのではない。本明細書に使用される場合、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、コンテキストが明らかにそうでないことを示すのでなければ、複数形も含むことを意図している。更に、「含む」(comprises)および／または「含んでいる」(comprising)という用語は、本明細書において使用する場合、言及される特徴、整数、ステップ、動作、エレメント、および／またはコンポーネントの存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、および／またはそのグループの存在や追加を除外するのではないことも理解されるであろう。
【０１１９】
以下の特許請求の範囲における全ての手段またはステップ・プラス機能エレメントの対応する構造、材料、アクト、および均等物は、特定的に特許請求される他の特許請求するエレメントと組み合わせて当該機能を実行する任意の構造、材料、またはアクトを含むことを意図している。本発明についての実施形態の説明は、例示および説明の目的に限って提示されたのであって、網羅的であること、または開示した形態に本発明を限定することを意図するのではない。本発明の範囲および主旨から逸脱することなく、当業者には多くの変更および変種が明白であろう。以上の実施形態が選択され説明されたのは、本発明の原理および実用的用途を最良に説明するためであり、更に他の当業者が、本発明を理解して、想定される特定の使用に適する種々の変更を行って種々の実施形態を得ることを可能にするためである。
【０１２０】
一実施形態では、ネットワークにおいて起動しているサービスを実行するためのネットワーク機能の少なくとも１つのインスタンスに対し、データ・パケットをルーティングするための方法が実行される。ネットワーク機能は、サービス機能チェーン・テンプレートの少なくとも１つのインスタンス化に割り当てられる。本方法は、データ・パケットをネットワーク機能のインスタンスにルーティングするために、データ・パケットの各々にネットワーク機能ルーティング・トークンを適用するステップを含む。各ネットワーク機能ルーティング・トークンは、サービス機能チェーン・テンプレートの少なくとも１つのインスタンス化を示す第１レベルと、ネットワーク機能の少なくとも１つのインスタンスを示す第２レベルとを含む。
【０１２１】
他の実施形態は、本方法を実行するように構成されるトークン・アプリケーション・ノードに関する。トークン・アプリケーション・ノードは、サービスに関連付けられるデータ・パケットをネットワーク機能の少なくとも１つのインスタンスにネットワーク機能ルーティングするように構成される。
【０１２２】
更なる実施形態は、サービス制御ノードおよびサービス・マネージャに関する。特に、サービス制御ノードは、サービスを提供するサービス要求を検出または傍受するのに応答してサービス機能チェーン・テンプレートを取得するように構成される。また、ネットワークにおいてネットワーク機能の少なくとも１つのインスタンスをインスタンス化または発見するように構成される。サービス制御ノードは、データ・パケットをネットワーク機能のインスタンスにルーティングするために、サービス要求に対応するサービスに関連付けられるデータ・パケットごとに、ネットワーク機能ルーティング・トークンを生成するように構成される。サービス・マネージャは、サービス制御ノードとのインタフェースを含み、サービス機能チェーン・テンプレートをサービス制御ノードに供給する。
【０１２３】
更なる実施形態は、トークン・アプリケーション・ノード、サービス制御ノード、およびサービス・マネージャを備える通信ネットワークに関する。サービス制御ノード、サービス・マネージャおよびトークン・アプリケーション・ノードは、通信ネットワーク内のノード、または通信ネットワークに接続されるユーザ・デバイス内のノードと共に配置される。サービス制御ノード、サービス・マネージャ、およびトークン・アプリケーション・ノードの位置は、サービス、通信ネットワークのトポロジ、サービス要求が適切な手法で検出される位置、リソース可用性、接続条件、セキュリティ上の配慮等の内少なくとも１つにしたがって選択される。トークン・アプリケーション・ノードは、通例、ユーザ・データ・パケットが通り抜けるパスに位置される。
【０１２４】
通信ネットワークにおけるノードの内１つ以上を位置特定することの利点は、通信ネットワークのノードが既に有用な情報を所有しているということである。例えば、ＨＳＳは加入者情報を収容し、また、ＭＭＥはモビリティ情報を収容している。
【０１２５】
開示される実施形態は、ネットワーク機能の内１つ以上のインスタンスが、サービスを実行するためにサービス機能チェーン・テンプレートの１つ以上のインスタンス化に関連付けられる場合に、データ・パケットのネットワーク機能ルーティングを可能にする。
【０１２６】
一実施形態では、ネットワークは、ネットワーク機能における複数のインスタンスを起動する。第１サービス機能チェーン・テンプレートのインスタンス化は、ネットワーク機能のインスタンスの内１つ以上を収容する。また、第２サービス機能チェーン・テンプレートのインスタンス化は、ネットワーク機能のインスタンスの内１つ以上を収容する。ここでは、第１サービス機能チェーン・テンプレートのインスタンス化および第２サービス機能チェーン・テンプレートのインスタンス化では、ネットワーク機能における少なくとも１つのインスタンスが異なる。本実施形態では、第１レベルのネットワーク機能ルーティング・トークンは、第１サービス機能チェーン・テンプレートのインスタンス化と、第２サービス機能チェーン・テンプレートのインスタンス化との間を識別する。上述したように、ネットワーク機能の少なくとも１つのインスタンスの相違は、また、サービス機能チェーン・テンプレートにおけるネットワーク機能のインスタンスの順序から現れてもよい。本実施形態により、サービス機能チェーン・テンプレートの相違によって区別される異なるサービスに関連付けられるデータ・パケットのルーティングを可能にする。
【０１２７】
一実施形態では、サービス機能チェーン・テンプレートは、相互接続したネットワーク機能の順序セットを含む。また、第２レベルの、および必要に応じて更なるレベルのネットワーク機能ルーティング・トークンは、その順序セットにおけるネットワーク機能の位置に対応する。したがって、データ・パケットは、機能チェーン・テンプレートのネットワーク機能の順序にしたがって、ネットワークにおける後続のネットワーク機能にルーティングすることができる。任意には、第２レベルでのトークンの値が、順序セットの位置においてネットワーク機能のインスタンスに対応する。この実施形態は、順序における同一の位置で、そのセットにおけるネットワーク機能の多数インスタンスの間の区別を可能にする。
【０１２８】
一実施形態では、ネットワーク機能の少なくとも１つのインスタンスは、転送ルールに関連付けられる。ここでは、転送ルールは、ネットワーク機能ルーティング・トークンに基づいて、ネットワーク機能の少なくとも１つのインスタンスからのデータ・パケット出力について更なるルーティングを決定する。転送ルールは、サービス機能チェーン・テンプレートからのチェーン情報に対応する。したがって、ネットワーク機能ルーティング・トークンのレベルの数は、サービス機能チェーン・テンプレートにおけるネットワーク機能のインスタンスの数に対応する必要はない。
【０１２９】
実施形態では、１つ以上のレベルのネットワーク機能ルーティング・トークンは、１つ以上のワイルドカードを収容する。本実施形態は、トークンの特定のレベルが関係しないか、または、トークンの範囲が特定されることになるときに、フレキシビリティを有効なものにする。
【図１】
0006765373.tif 000002
【図２】
0006765373.tif 000003
【図３Ａ】
0006765373.tif 000004
【図３Ｂ】
0006765373.tif 000005
【図４】
0006765373.tif 000006
【図５】
0006765373.tif 000007
【図６】
0006765373.tif 000008
【図７】
0006765373.tif 000009
【図８】
0006765373.tif 000010
【図９】
0006765373.tif 000011
【図１０Ａ】
0006765373.tif 000012
【図１０Ｂ】
0006765373.tif 000013
【図１１】
0006765373.tif 000014