(57)【特許請求の範囲】
【請求項１】
仮想ネットワーク機能プール（５０８）と制御エンティティ（５２０）との間におけるインターフェース・エレメント（５１０）のための方法であって、前記仮想ネットワーク機能プールが、少なくとも第１仮想ネットワーク機能インスタンスと第２仮想ネットワーク機能インスタンスとを含む複数の仮想ネットワーク機能インスタンスを含み、前記制御エンティティ（５２０）が前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスを制御して、少なくとも前記第２仮想ネットワーク機能インスタンス上における前記第１仮想ネットワーク機能インスタンスの状態の複製を補助するように構成され、前記方法が、
−前記インターフェース・エレメントが、前記制御エンティティから前記第１仮想ネットワーク機能インスタンスへのメッセージを入手するステップと、
−前記インターフェース・エレメントが、前記メッセージのコピー、前記メッセージを含んだ別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す別のメッセージを、少なくとも前記第１仮想ネットワーク機能インスタンスおよび前記第２仮想ネットワーク機能インスタンスに供給するステップと、
−前記インターフェース・エレメントが、前記第１仮想ネットワーク機能インスタンスに供給された、前記メッセージのコピー、前記メッセージを含んだ前記別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す前記別のメッセージについての受け取り通知と、前記第２仮想ネットワーク機能インスタンスに供給された、前記メッセージのコピー、前記メッセージを含んだ前記別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す前記別のメッセージについての受け取り通知と、を有するときに、前記インターフェース・エレメントが、前記メッセージの受け取り通知を前記制御エンティティに供給するステップと、
を含み、前記第１仮想ネットワーク機能インスタンスおよび／または前記第２仮想ネットワーク機能インスタンスにおける前記メッセージの受け取りに応答して、前記受け取り通知が、少なくとも前記第１仮想ネットワーク機能インスタンスおよび／または前記第２仮想ネットワーク機能インスタンスから前記インターフェース・エレメントに供給される、方法。
【請求項２】
請求項１記載の方法において、前記仮想ネットワーク機能インスタンスが、２つ以上の仮想ネットワーク機能インスタンス、好ましくは３つ以上の仮想ネットワーク機能インスタンスを含み、前記インターフェース・エレメントが、前記メッセージを少なくとも前記第１仮想ネットワーク機能インスタンスおよび前記第２仮想ネットワーク機能インスタンスに供給するステップが、前記メッセージを、前記仮想ネットワーク機能プールの仮想ネットワーク機能インスタンスの内少なくとも２つ、好ましくは全部に供給するステップを含み、前記方法が、更に、
−前記インターフェース・エレメントが、前記仮想ネットワーク機能プールの内、前記インターフェース・エレメントが前記メッセージの受け取り通知を受信しなかった仮想ネットワーク機能インスタンスを識別するステップと、
−前記インターフェース・エレメントが、前記識別した仮想ネットワーク機能インスタンスの指示を、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスが登録されている仮想ネットワーク機能プール・レジストラ（５０４）に供給するステップと、
を含む、方法。
【請求項３】
請求項１または２記載の方法であって、更に、前記インターフェース・エレメントと、前記制御エンティティ、前記第１仮想ネットワーク機能インスタンス、および前記第２仮想ネットワーク機能インスタンスの各々との間に、ベース通信チャネル、好ましくは、ＴＣＰチャネルを確立するステップを含む、方法。
【請求項４】
請求項３記載の方法において、前記仮想ネットワーク機能インスタンスが、２つ以上の仮想ネットワーク機能インスタンス、好ましくは３つ以上の仮想ネットワーク機能インスタンスを含み、前記インターフェース・エレメントが前記ベース通信チャネルを確立するステップが、前記インターフェース・エレメントと、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスの内前記少なくとも２つ、好ましくは全部の各々との間に、前記ベース通信チャネルを確立するステップを含み、前記方法が、更に、
−前記インターフェース・エレメントが、前記仮想ネットワーク機能プールの内、前記ベース通信チャネルを確立することができなかったおよび／または前記ベース通信チャネルが破壊された仮想ネットワーク機能インスタンスを識別するステップと、
−前記インターフェース・エレメントが、前記識別した仮想ネットワーク機能インスタンスの指示を、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスが登録されている仮想ネットワーク機能プール・レジストラ（５０４）に供給するステップと、
を含む、方法。
【請求項５】
請求項３または４記載の方法であって、更に、前記インターフェース・エレメントが、前記インターフェース・エレメントと、前記制御エンティティ、前記第１仮想ネットワーク機能インスタンス、および前記第２仮想ネットワーク機能インスタンスの各々との間に確立された前記ベース通信チャネル上に、安全な通信チャネルを確立するステップを含む、方法。
【請求項６】
請求項５記載の方法において、前記安全な通信チャネルがＳＳＬ／ＴＬＳベース・チャネルを含む、方法。
【請求項７】
請求項５または６記載の方法において、前記インターフェース・エレメントと、前記制御エンティティ、前記第１仮想ネットワーク機能インスタンス、および前記第２仮想ネットワーク機能インスタンスの各々との間の前記安全な通信チャネルが、実質的に並列に確立される、方法。
【請求項８】
請求項５から７のいずれか１項記載方法において、前記仮想ネットワーク機能インスタンスが、２つ以上の仮想ネットワーク機能インスタンス、好ましくは、３つ以上の仮想ネットワーク機能インスタンスを含み、前記インターフェース・エレメントが前記安全な通信チャネルを確立するステップが、前記インターフェース・エレメントと、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスの内少なくとも２つ、好ましくは全部の各々との間に、前記安全な通信チャネルを確立するステップを含み、前記方法が、更に、
−前記インターフェース・エレメントが、前記仮想ネットワーク機能プールの内、前記安全な通信チャネルを確立できなかったおよび／または前記安全な通信チャネルが破壊された仮想ネットワーク機能インスタンスを識別するステップと、
−前記インターフェース・エレメントが、前記識別した仮想ネットワーク機能インスタンスの指示を、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスが登録されている仮想ネットワーク機能プール・レジストラに供給するステップと、
を含む、方法。
【請求項９】
プロセッサ上で実行されると、請求項１から８のいずれか１項記載の方法ステップを実行するように構成されたソフトウェア・コード部分を含み、好ましくはコンピュータ読み取り可能非一時的記憶媒体上に格納されたコンピュータ・プログラム。
【請求項１０】
請求項１から８のいずれか１項記載の方法ステップを実行するように構成された少なくとも１つのプロセッサ（１２０２）を含むデータ処理システム（１２００）。
【請求項１１】
システム（５００）であって、
−少なくとも第１仮想ネットワーク機能インスタンスと第２仮想ネットワーク機能インスタンスとを含む複数の仮想ネットワーク機能インスタンス（５０２）を含んだ仮想ネットワーク機能プール（５０８）と、
−前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスを制御するように構成された制御エンティティ（５２０）と、
−前記仮想ネットワーク機能インスタンスの各々および前記制御エンティティに通信可能に接続されたインターフェース・エレメント（５１０）と、
を含み、前記インターフェース・エレメントが、
−少なくとも前記第２仮想ネットワーク機能インスタンス上における前記第１仮想ネットワーク機能インスタンスの状態の複製を補助し、
−前記制御エンティティから前記第１仮想ネットワーク機能インスタンスへのメッセージを入手し、
−前記メッセージのコピー、前記メッセージを含んだ別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す別のメッセージを、少なくとも前記第１仮想ネットワーク機能インスタンスおよび前記第２仮想ネットワーク機能インスタンスに供給し、
−前記インターフェース・エレメントが、前記第１仮想ネットワーク機能インスタンスに供給された、前記メッセージのコピー、前記メッセージを含んだ前記別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す前記別のメッセージについての受け取り通知と、前記第２仮想ネットワーク機能インスタンスに供給された、前記メッセージのコピー、前記メッセージを含んだ前記別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す前記別のメッセージについての受け取り通知と、を有するときに、前記メッセージの受け取り通知を前記制御エンティティに供給する、
ように構成され、
前記第１仮想ネットワーク機能インスタンスおよび／または前記第２仮想ネットワーク機能インスタンスにおける前記メッセージの受け取りに応答して、前記受け取り通知が、少なくとも前記第１仮想ネットワーク機能インスタンスおよび／または前記第２仮想ネットワーク機能インスタンスから前記インターフェース・エレメントに供給される、システム。
【請求項１２】
請求項１１記載のシステムであって、更に、
−前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスが登録されている仮想ネットワーク機能プール・レジストラ（５０４）を含み、
前記仮想ネットワーク機能プール・レジストラが、前記インターフェース・エレメントに通信可能に接続され、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスを、前記インターフェース・エレメントから少なくとも受け取るように構成され、
−前記仮想ネットワーク機能プールから、前記インターフェース・エレメントが、前記インターフェース・エレメントによって識別される、前記メッセージのコピー、前記メッセージを含んだ前記別のメッセージ、または、前記メッセージの受け取りを示すおよび／若しくは前記メッセージのコンテンツを示す前記別のメッセージについての受け取り通知を受信しなかったか、或いは、
−前記仮想ネットワーク機能プールを用いて、前記インターフェース・エレメントと、前記インターフェース・エレメントによって識別される、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスの内前記少なくとも２つ、好ましくは全部の各々との間に、ベース通信チャネル確立することができなかった、および／またはベース通信チャネルが破壊されたか、或いは、
−前記仮想ネットワーク機能プールを用いて、前記インターフェース・エレメントと、前記インターフェース・エレメントによって識別される、前記仮想ネットワーク機能プールの前記仮想ネットワーク機能インスタンスの内少なくとも２つ、好ましくは全部の各々との間に、安全な通信チャネル確立することができなかった、および／または前記安全な通信チャネルが破壊されたか、
である、システム。
【請求項１３】
請求項１２記載のシステムにおいて、前記仮想ネットワーク機能プールがプール・ユーザにサービス提供するように構成され、前記仮想ネットワーク機能プール・レジストラが、更に、前記第１仮想ネットワーク機能インスタンスからの切り替えの場合、バックアップ仮想ネットワーク機能インスタンスへのハンドルを、前記プール・ユーザに供給するように構成され、前記バックアップ仮想ネットワーク機能インスタンスが、前記第１仮想ネットワーク機能インスタンスについて複製された状態を有する、システム。
【請求項１４】
請求項１２記載のシステムにおいて、前記仮想ネットワーク機能プール・レジストラが、更に、データ・プレーンにおける少なくとも前記第１仮想ネットワーク機能インスタンスと第２仮想ネットワーク機能インスタンスとの間における負荷分担の場合、前記第２仮想ネットワーク機能インスタンスへのハンドルをプール・ユーザに供給するように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には、仮想ネットワーク機能（ＶＮＦ）の分野に関する。特に、本開示は、ＶＮＦプールの１つのＶＮＦインスタンスの状態を、このプールの少なくとも１つの他のＶＮＦインスタンス上において複製するための方法、システム、およびコンピュータ・プログラム製品に関するが、必ずしもこれらに限られる訳ではない。
【従来技術】
【０００２】
従来の電気通信ネットワークでは、例えば、ファイアウォール、ロード・バランサ、およびワイヤレス・アクセス・ネットワーク（ＷＡＮ）オプティマイザのような機能は、ネットワーク・オペレータおよびデータ・センタのネットワークにおける専用の特殊ハードウェア・サーバ上にデプロイされる。これらの機能は、これらが全てのネットワーク・サービスの構築ブロック(building block)として役割を果たすので重要である。近年の傾向は、これらの機能を仮想化する、即ち、これらを、例えば、汎用サーバ上のソフトウェアとして走らせる仮想ネットワーク機能インスタンス（ＶＮＦインスタンス）として実装することによって、これらの機能をその専用ハードウェアから切断する(decouple)方向に向かっている。
【０００３】
ネットワーク機能をＶＮＦインスタンスとしてデプロイすることに伴う１つの課題は、信頼性である。何故なら、このような機能のソフトウェア・インスタンスの信頼性メカニズムは、現在、Ｘまでの９９．９９．．．％の可用性(X nines availability)のために設計された従来のハードウェア実施態様と比較して、同じレベルにないからである。
【０００４】
ＶＮＦ実装の信頼性を確保することを試みる現在の手法の１つは、同じ機能を提供する複数のＶＮＦインスタンスのＶＮＦプールを採用することによって、信頼サーバ・プーリング（ＲＳｅｒＰｏｏｌ）アーキテクチャに従う。図１は、ＲＳｅｒＰｏｏｌアーキテクチャ１００の模式図を示し、一方、図２は、図１に示すＲＳｅｒＰｏｏｌアーキテクチャに従うＶＮＦプール・アーキテクチャ２００の模式図を示す。
【０００５】
図１に示すように、ＲＳｅｒＰｏｏｌアーキテクチャ１００は、３種類のコンポーネント、即ち、プール・エレメント（ＰＥ）１０２、プール・レジスタ１０４、およびプール・ユーザ１０６を利用する。ＰＥ１０２は、プール１０８においてサーバを指定する。プール１０８は、図１の例では、ＰＥ１０２の３つのインスタンスを含むことが示される。プール１０８内にあるＰＥ１０２の全てのインスタンスは、一定のネットワーク機能を実施することによって、同じネットワーク・サービスを提供するように構成される。ＰＵ１０６は、プール１０８のサービスを使用するクライアントを指定する。ＲＰ１０４は、プール１０８を管理し、恐らくは図１に示されない他のプールも管理する管理コンポーネントを指定する。ＰＲ１０４およびＰＵ１０６の機能については、以下で更に詳しく説明する。プール１０８、ＰＲ１０４およびＰＵ１０６は、これらのエレメント間にある二重矢印によって示されるように、アグリゲート・サーバ・アクセス・プロトコル（ＡＳＡＰ： Aggregate Server Access Protocol）を使用して通信する。
【０００６】
図２のＶＮＦプール・アーキテクチャ２００は、ＶＮＦプール２０８を採用することによって、図１のアーキテクチャに従う。ＶＮＦプール２０８は、異なるＶＮＦインスタンスをプール・エレメント２０２（図２の例では、エレメントＶＮＦｉ１、ｉ２およびｉ３として示される）として含み、ＶＮＦレジストラ２０４によって管理され、ＶＮＦプール２０８のユーザ２０６にサービスを提供するように構成される。ユーザ２０６の一例を挙げるとすれば、サーバ機能チェーン（ＳＦＣ）制御システムであろう。これは、ＩＥＴＦ ＳＦＣ作業グループによって規定されようとしているＳＦＣ制御フレームワークにおいて定められるように、ＳＦＣを調整する役割を担う制御エンティティである。ＶＮＦインスタンス２０２はＰＥ１０２に類似し、ＶＮＦレジストラ２０４はＰＲ１０４に類似し、ＳＦＣ制御システム２０６はＰＵ１０６に類似し、ＶＮＦプール２０８は前述のプール１０８に類似する。ＲＳｅｒＰｏｏｌアーキテクチャ１００のエレメントと同様、ＶＮＦインスタンス２０２、ＶＮＦレジストラ２０４およびユーザ２０６は、ＡＳＡＰを使用して通信することができる。
【０００７】
ＶＮＦプールのブートストラップ・プロセスも、ＲＳｅｒＰｏｏｌアーキテクチャから継承され、図３に示す。最初に、ＶＮＦのコンテキストではＶＮＦレジストラ２０４であるＰＲ１０４が、ＡＳＡＰメッセージ３０２を使用して種々のプール・エレメントにそれ自体を通知する。次いで、ＶＮＦのコンテキストではＶＮＦｉ２０２、例えば、ＶＮＦｉ１である特定のプール・エレメントＰＥ１０２が、ＡＳＡＰメッセージ３０４を使用して、プール１０８に登録するためにＰＲ１０４を選択する。ＶＮＦのコンテキストでは、プール１０８はＶＮＦプール２０８となる。一旦登録が確認されたなら、ＰＲ２０４は、図３にＰＲ−Ｈ３０６として示すように、ＰＲ−Ｈ（プール・レジストラ−ホーム）と呼ばれる。この時点から、ＰＲ１０４に登録されたＰＥ１０２のステータスが、キープアライブ・メッセージ３０８および３１０によって、通常秒単位の交換速度(exchange rate)でＰＲ１０４によって能動的に監視される。次に、ＶＮＦのコンテキストでは、例えば、ＳＦＣ制御システム２０６であることが可能なＰＵ１０６は、例えば、メッセージ３１２を使用して、ＰＥインスタンス（即ち、ＶＮＦインスタンス）のサービスをＰＲ１０４に要求することができる。このプロセスを「ハンドル・リソリューション」(handle resolution)と呼ぶ。要求３１２に応答して、ＰＲ１０４は、次に、ＰＵ１０６に戻す特定のＰＥ１０２に対応するハンドル３１２を、例えば、スタティック・ポリシまたは適応ポリシに基づいて選択することができる。
【０００８】
ＰＲ１０４が、例えば、キープアライブ・プロセスにおける時間切れを検出したことによって、アクティブなＰＥが停止している(down)ことを検出した場合、ＰＵ１０６へのハンドルを更新することができる。一方、ＰＵ１０６がアクティブなＰＥの障害を検出する最初のものである場合、ＰＲ１０４に知らせて、代わりのハンドルを求めることができる。
【０００９】
ＲＳｅｒＰｏｏｌは、アプリケーションに依存しないように設計された。したがって、同じプール内におけるＰＥ間の状態複製は、プール・ユーザのタスクであると見なされる。しかしながら、ＰＳｅｒＰｏｏｌは、そのＡＳＡＰメッセージング・プロトコルによってサポートされる、いくつかのサポーティング・メカニズムを提供する。このようなメカニズムの１つは、クッキーを伴う。クッキーは、ＰＵにアクティブなＰＥの最新状態を提供するために、アクティブなＰＥのサービスを使用して、アクティブなＰＥからＰＵに送ることができる特定状態メッセージ（「ダンプ」(dump)）である。アクティブなＰＥの障害時に、ＰＵによって、この情報を新たに選択されたＰＥに送ることができる。本明細書において使用する場合、「アクティブなＰＥ」または「主ＰＥ」という用語、そして同様に「アクティブなＶＮＦインスタンス」および「主ＶＮＦインスタンス」という用語は、ハンドルがＰＵまたはＶＮＦプールのユーザによって最後に使用されたＰＥまたはＶＮＦインスタンス、あるいは現在使用されているＰＥまたはＶＮＦインスタンスを指す。
【００１０】
図４Ａは、図４Ａでは「ＰＥ１」として示すアクティブなＶＮＦインスタンスとＰＵ１０６間におけるクッキー・メッセージ４０２の規則的な交換を拠り所として、同じプールの異なるＶＮＦインスタンス間における状態複製を行うデフォルトのフェイルオーバー・プロセスの模式図を示す。このような場合、ＰＵ１０６自体が、図４Ａにおいて「ＰＥ２」として示す、新たに選択されたＰＥにおいて状態を再現する(restore)役割を担う。図４Ａのプロセスは、ＰＲ１０４（図４Ａのこの例では、ＰＥ１およびＰＥ２）に登録されたプール１０８のＰＥ１０２のステータスが、能動的にＰＲ−Ｈ１０４によって、それぞれＰＥ２およびＰＥ１に対するキープアライブ・メッセージ４０４および４０８によって監視されることを示し、メッセージ４０４および４０８は図３に示したメッセージ３０８に類似する。図３に示したメッセージ３１０に類似するメッセージ４０６は、ＰＥ２がＰＲ−ＨのＫＥＥＰ＿ＡＬＩＶＥメッセージ４０４の受け取りを通知することを示し、一方時間切れイベント４１０は、主ＰＥ、ＰＥ１がＫＥＥＰ＿ＡＬＩＶＥメッセージ４０８の受け取りを通知しないことを示す。これが発生したとき、ＰＲ１０４は、メッセージ４１４によって示すように、ＰＵ１０６に代わりのＰＥ、ＰＥ２について通知する。即ち、ＰＲ１０４はＰＵ１０６にＰＥ２へのハンドル４１２を供給し、これによってＰＥ２をアクティブに、即ち、主ＰＥにする。この通知(notification)を受けた後、図４Ａにおいてメッセージ４１４によって示すように、ＰＵ１０６は、クッキー・メッセージ４０２を通じて受信したＰＥ１についての全ての状態情報を、代わりにバックアップＰＥ２に向けて転送することができる。次いで、ＰＥ２は、ステップ４１６において、その状態をＰＥ１の状態に更新することができる。言い換えると、ＰＥ１の状態はこうしてＰＥ２上で複製される。
【００１１】
図４Ａにおいて「フェイルオーバー時間４１８」と名付けられた二重矢印は、いわゆるフェイルオーバー時間を示す。フェイルオーバー時間とは、アクティブなＰＥ、ＰＥ１の障害を検出してから、代わりのＰＥ、ＰＥ２上でＰＥ１の状態を再現するまでの時間期間を意味する。ＳＦＣの形態とした連鎖ＶＮＦ(chained VNF)を使用してネットワーク・サービスがプロビジョニングされるとき、データ面におけるＶＮＦ障害の素早い処理、即ち、短いフェイルオーバー時間は非常に重要となる。具体的には、電気通信ネットワーク・サービスは９９．９９９％の信頼性、および５０ミリ秒（ｍｓ）程度のフェイルオーバー時間を要求することが多い。したがって、ヒットレス・データ・プレーン(hitless data plane)切り替えは、例えば、ファイアウォール・ネットワーク機能または交換機能には、非常に必要とされる機能(feature)である。
【００１２】
図４Ａにおいて説明したようにクッキー／状態ダンプ・メッセージの能動的な交換を拠り所にすることによって、ＶＮＦプール内においてＶＮＦインスタンスのフェイルオーバー・メカニズムを実装しようとするとき、様々な問題がある。１つの問題は、ＰＵと同じエンティティである可能性があるＶＮＦプールのユーザが、主ＰＥから代わりのＰＥへの状態複製の役割を担わなければならないが、これが常に望ましいとは限らないことである。他の問題は、多くのネットワーク機能が、数百ＭＢよりも多いメモリを必要とする可能性が高い状態を維持し、その結果、代わりのＰＥへの切り替え時にクッキー・メッセージ４１４を使用して、関係する状態をコピーするためには、秒から分単位の遅れが生ずることである。更に他の問題は、そもそもクッキー・メッセージ４０２を主ＰＥからＰＵに供給するには、主ＰＥとＰＵとの間にかなりの帯域幅を要することである。
【００１３】
例えば、大きなクラスのＶＮＦインスタンスは、それ自体がＶＮＦである可能性がある制御／管理エンティティによって制御される。このようなエンティティをここでは「制御エンティティ」または「＼制御ＶＮＦ」と呼ぶ。このようなＶＮＦインスタンスおよび対応する制御エンティティの例には、ＯｐｅｎＦｌｏｗスイッチ、およびＶＮＦインスタンス上にインストールされる規則を伝達するために制御エンティティとＶＮＦインスタンスとの間でＯｐｅｎＦｌｏｗプロトコルを使用するＯｐｅｎＦｌｏｗコントローラとのそれらの相互作用、管理または自動ディープ・パケット検査（ＤＰＩ：deep packet inspection)）あるいは侵入検出モジュールのいずれかによって構成されるファイアウォール、更にまたネットワーク・コンフィギュレーション・プロトコル（ＮＥＴＣＯＮＦ）またはシンプル・ネットワーク管理プロトコル（ＳＮＭＰ）によって構成されるもっと一般的なネットワーク機能が含まれる。ＯｐｅｎＦｌｏｗのコンテキストでは、このようなＶＮＦインスタンスの状態は、制御エンティティからＶＮＦインスタンスに伝達される規則表(table of rules)によって判定され、この表を「フロー・テーブル」と呼ぶ。このコンテキストにおけるデフォルトのフェイルオーバー・プロセスを図４Ｂに示す。図４Ｂは、図４Ａについて説明した全てのエレメント４０２〜４１８を示すことが図４Ａと同様である（したがって、その説明は図４Ｂでは繰り返さない）が、更に制御ＶＮＦ４２０と主ＰＥ１との間における制御メッセージ４２２およびそれらの受け取り通知４２４の交換も示す。図４Ｂに示すように、制御メッセージ４２２は、ＲＵＬＥ１からＲＵＬＥｎまでとして示す規則を含む。これらの規則は周期的に主ＰＥ、ＰＥ１からＰＵ１０６に、先程説明したクッキー・メッセージ４２０において供給される。このような場合のクッキー・メッセージ４０２は、ＯｐｅｎＦｌｏｗ規則またはフロー・エントリを格納するデータ構造を含むフロー・テーブル４２６を含む。ＯｐｅｎＦｌｏｗスイッチにおける規則の数ｎは、容易に１０Ｋ個程度のフロー・エントリになる可能性があり、数百ＭＢを超えるメモリの状態を表し、その結果長大なフェイルオーバー時間が生ずる。
【００１４】
以上の論述は主にフェイルオーバー・プロセスを中心に据えたが、同様の問題は、主ＶＮＦの障害がなくても、ＶＮＦプールの１つのＶＮＦインスタンスの状態の複製をこのプールの少なくとも１つの他のＶＮＦインスタンス上において必要とする状況においても起こる。このような状況には、例えば、１つのＶＮＦインスタンスによってＶＮＦプールの他のＶＮＦインスタンスに提供されるサービスの切り替え、例えば、ほぼ過剰負荷状況の場合に後者のＶＮＦインスタンスの方が多くの容量を有するとき、または２つのＶＮＦインスタンス間におけるサービスの負荷分担が含まれる。また、フェイルオーバー時間４１８もこのような状況における懸念であり、このコンテキストにおける「フェイルオーバー時間」という用語は「切り替え時間」と改名する方がよい。何故なら、これは実際の障害は起こらなかったがVNFプールの２つの異なるＶＮＦインスタンス間で切り替えを行うために要する時間を表すからである。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
当技術分野において必要とされるのは、ＶＮＦプールの１つのＶＮＦインスタンスの状態を、このＶＮＦプールの少なくとも１つの他のＶＮＦインスタンス上に複製し、以上で論じた欠点の内少なくともいくつかを改良または解消する技法である。
【課題を解決するための手段】
【００１６】
当業者には認められるであろうが、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態をなすことができ、これらは全て、総じて、「回路」、「モジュール」、または「システム」と本明細書では呼ぶこともできる。本開示において説明する機能は、コンピュータのマイクロプロセッサによって実行されるアルゴリズムとして実現することができる。更に、本発明の態様は、コンピュータ読み取り可能プログラム・コードが具体化された、例えば、格納された、１つ以上のコンピュータ読み取り可能媒体（１つまたは複数）において具体化されたコンピュータ・プログラム製品の形態をなすこともできる。
【００１７】
１つ以上のコンピュータ読み取り可能媒体（１つまたは複数）の任意の組み合わせも利用することができる。コンピュータ読み取り可能媒体とは、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体であるとして差し支えない。コンピュータ読み取り可能記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、更には以上の任意の適した組み合わせでもよいが、これらに限定されるのではない。コンピュータ読み取り可能記憶媒体の更に具体的な例（非網羅的なリスト）をあげるとすれば、以下になる。１本以上のワイヤを有する電気接続、携帯用コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、携帯用コンパクト・ディスク・リード・オンリー・メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または以上のものの任意の適した組み合わせ。この文書のコンテキストでは、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによる使用、あるいはこれと関連付けた使用のためにプログラムを収容または格納することができる任意の有形媒体として差し支えない。
【００１８】
コンピュータ読み取り可能信号媒体は、例えば、ベースバンドにおいてまたは搬送波の一部として、コンピュータ読み取り可能プログラム・コードが内部に具体化された伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらの任意の適した組み合わせを含むがこれらに限定されない種々の形態の内任意のものをなすことができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによる使用、あるいはこれと関連付けた使用のためにプログラムを伝達、伝搬、または移送することができる任意のコンピュータ読み取り可能媒体として差し支えない。
【００１９】
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、任意のしかるべき媒体を使用して送信することができる。任意のしかるべき媒体には、ワイヤレス、ワイヤライン、光ファイバ、ケーブル、ＲＦ等、または以上のものの任意の適した組み合わせが含まれるが、これらに限定されるのではない。本発明の態様に合わせて動作を実行するためのコンピュータ・プログラム・コードは、１つ以上のプログラム言語の任意の組み合わせで書くことができる。プログラミング言語には、Ｊａｖａ（商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、あるいは「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手順型プログラミング言語が含まれる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、単体ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは全体的にリモート・コンピュータまたはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータをユーザのコンピュータに、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを通じて接続することができ、あるいは接続が外部コンピュータに対して行われてもよい（例えば、インターネット・サービス・プロバイダを介してインターネットを通じて）。
【００２０】
以下に、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャートおよび／またはブロック図を参照しながら、本発明の態様について説明する。尚、フローチャートおよび／またはブロック図、あるいはフローチャートおよび／またはブロック図におけるブロックの組み合わせの各ブロックは、コンピュータ・プログラム命令によって実現できることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサ、具体的には、マイクロプロセッサまたは中央処理ユニット（ＣＰＵ）に供給され、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスのプロセッサによって実行する命令が、フローチャートおよび／またはブロック図の１つ以上のブロックにおいて指定される機能／アクトを実施する手段を形成する(create)ように、機械(machine)を制作する(produce)ことができる。
【００２１】
また、これらのコンピュータ・プログラム命令をコンピュータ読み取り可能媒体に格納することもでき、コンピュータ読み取り可能媒体に格納された命令が、フローチャートおよび／またはブロック図の１つ以上のブロックにおいて指定される機能／アクトを実現する命令を含む製品を制作するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定のやり方で機能するように指令することができる。
【００２２】
また、コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートおよび／またはブロック図の１つ以上のブロックにおいて指定される機能／アクトを実現するためのプロセスを提供するように、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実行させてコンピュータ実装プロセスを制作することもできる。
【００２３】
図におけるフローチャートおよびブロック図は、本発明の種々の実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能（１つまたは複数）を実現するための１つ以上の実行可能命令を含む、モジュール、セグメント、またはコード部(portion of code)を表すことができる。また、ある代替実施態様では、ブロック内に記される機能が、図に示される順序以外で行われてもよいことは注記してしかるべきである。例えば、連続して示される２つのブロックが、実際には、実質的に同時に実行されてもよく、または、関係する機能に応じて、ときにはブロックが逆の順序で実行されてもよい。また、ブロック図および／またはフローチャートの各ブロック、ならびにブロック図および／またはフローチャートにおけるブロックの組み合わせは、指定された機能またはアクトを実行する特殊目的ハードウェア・ベース・システム、あるいは特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実現できることも注記しておく。
【００２４】
先に論じた問題の少なくとも一部を低減または解消するために、本発明の実施形態の一態様によれば、ＶＮＦプールと制御エンティティとの間においてインターフェース・エレメントによって実行されるコンピュータ実装方法を開示する。ＶＮＦプールは、少なくとも第１ＶＮＦインスタンス（ＶＮＦｉ１）および第２ＶＮＦインスタンス（ＶＮＦｉ２）を含む複数のＶＮＦインスタンスを含む。制御エンティティは、ＶＮＦプールのＶＮＦインスタンスを制御するように構成される。この方法は、第１ＶＮＦインスタンスの状態を少なくとも第２ＶＮＦインスタンス上において複製するときに、インターフェース・エレメントが補助することを可能にする。この方法は、制御エンティティから第１ＶＮＦインスタンスに供給された制御メッセージを、何らかのやり方で入手する、即ち、受信する、傍受する、判定する等のステップと、入手した制御メッセージを少なくとも第１ＶＮＦインスタンスおよび第２ＶＮＦインスタンスに供給するステップと、インターフェース・エレメントが、第１ＶＮＦインスタンスに供給された制御メッセージおよび第２ＶＮＦインスタンスに供給された制御メッセージ双方の、明示的または暗示的いずれかの受け取り通知を有するとき、制御メッセージの受け取り通知を制御エンティティに供給するステップとを含む。
【００２５】
本明細書において使用する場合、「ＶＮＦインスタンス」という用語は、コンピュータ・サーバ、例えば、汎用サーバ上で実行することによって、アプリケーション、コンピュータ・サーバ、システム、ハードウェア・コンポーネント、またはネットワーク機能の仮想化を、複数のユーザ間においてその機能を共有することができる物理ネットワーク機能のスライス、あるいはソフトウェアおよび物理ネットワーク機能のスライス双方の組み合わせに供給するソフトウェアを意味する。
【００２６】
本明細書において使用する場合、「制御メッセージ」という用語は、制御エンティティによって送られＶＮＦインスタンスに到達するように宛てられた任意の制御または管理メッセージを意味する。
【００２７】
本発明の実施形態は、ＶＮＦプールのＶＮＦインスタンスと、ＶＮＦインスタンスを制御する制御エンティティとの間にインターフェース・エレメントを設けることによって、制御エンティティによって送られた制御メッセージをＶＮＦインスタンスの１つから他のＶＮＦインスタンスに複写する(duplicate)ことが可能になるという認識に基づく。ＶＮＦインスタンスによって受信された制御メッセージはそれらの状態を定めるので、このような複写(duplication)は、プール内部の１つ以上の他のＶＮＦインスタンス上において１つのＶＮＦインスタンスの状態の複製(replication)を可能にする。つまり、本明細書において使用する場合、「１つのＶＮＦインスタンスの状態を他のＶＮＦインスタンス上で複製する」という表現、および同様の表現は、インターフェース・エレメントが、第１ＶＮＦインスタンスに宛てられた制御メッセージを第１ＶＮＦインスタンスだけでなく第２ＶＮＦインスタンスにも供給することによって、第１ＶＮＦインスタンスの状態が第２ＶＮＦインスタンス上で複製されるのをインターフェース・エレメントが補助することを意味する。
【００２８】
一方、状態の複製は、プール・ユーザに供給される主ＶＮＦインスタンスへのハンドルの代わりにまたはそれに加えて、新たなＶＮＦインスタンスへのハンドルをＶＮＦプールのユーザに供給することが必要になる場合があるという異なるシナリオにおいて、種々の利点を提供する。本明細書において使用する場合、「ハンドル」という用語は、例えば、ネットワーク・コンポーネント、このコンテキストではＶＮＦインスタンスの、ＩＰまたはＭＡＣアドレスのような、アドレス可能な識別子を指す。
【００２９】
このようなシナリオの１つはフェイルオーバーに関係し、本明細書において使用する場合、「フェイルオーバー」という用語は、これまでアクティブであった（即ち、主）アプリケーション、コンピュータ・サーバ、システム、ハードウェア・コンポーネント、仮想機械、またはネットワークの障害または異常な終了時に、冗長なまたは交換用の（即ち、補助的な）アプリケーション、コンピュータ・サーバ、システム、ハードウェア・コンポーネント、仮想機械、またはネットワークに切り替えることを意味する。本明細書において説明するように、インターフェース・エレメントによって補助される、ＶＮＦプールの異なるＶＮＦインスタンス間の状態複製により、主ＶＮＦインスタンスに障害が発生した場合に、迅速な復元(fast recovery)が可能になる。何故なら、プール・ユーザは、ＶＮＦプールにおける他のＶＮＦインスタンスの１つへのハンドルを受け取るだけで済むからである。プール・ユーザが新たに選択したＶＮＦインスタンスにおいて状態を再現することはもはや不要となる。何故なら、障害前には主ＶＮＦインスタンスであったが障害を発生したＶＮＦインスタンスの状態は、既に、新たに選択されたＶＮＦインスタンス上に複製されているからである。
【００３０】
本明細書では、本発明の実施形態について主にフェイルオーバーを参照して説明するが、１つのＶＮＦインスタンスの状態をＶＮＦプールの少なくとも１つの他のＶＮＦインスタンス上に複製することによって、ＶＮＦインスタンスにおいて全く障害がない場合にも利点が得られることは、当業者には認められよう。例えば、１つのＶＮＦインスタンスの状態を少なくとも１つの他のＶＮＦインスタンスに複製させることによって、例えば、ほぼ過剰負荷の状況の場合に後者のＶＮＦインスタンスの方が容量が大きいとき、または２つのＶＮＦインスタンス間でサービスを分担するときに、前者のＶＮＦインスタンスによって提供されるサービスを、素早く後者のＶＮＦインスタンスに切り替えることが可能になる。
【００３１】
本明細書において説明するインターフェース・エレメントの実装により、このような状態の複製が、特に、構成集約的な(configuration-intensive)ＶＮＦインスタンスのために望まれる可能性がある全てのシナリオにおいて、ＶＮＦプールの１つのＶＮＦインスタンスの状態をＶＮＦプールの１つ以上の他のＶＮＦインスタンスに複製するメカニズムを、高速化し、透過性を高め、一層リソース効率的にして提供する。
【００３２】
実施形態では、ＶＮＦインスタンスは、２つ以上のＶＮＦインスタンス、好ましくは、３つ以上のＶＮＦインスタンスを含むとよい。したがって、インターフェース・エレメントが制御メッセージを少なくとも第１ＶＮＦインスタンスおよび第２ＶＮＦインスタンスに供給するステップは、ＶＮＦプールのＶＮＦインスタンスの内少なくとも２つ、しかし好ましくは全てに制御メッセージを供給するステップを含むとよい。このような実施形態では、この方法は、更に、インターフェース・エレメントが、ＶＮＦプールの２つ以上のＶＮＦインスタンスから、インターフェース・エレメントが制御メッセージの受け取り通知を受信しなかったＶＮＦインスタンスを識別するステップと、ＶＮＦプールのＶＮＦインスタンスが登録されているＶＮＦプール・レジストラ（ＰＲ−Ｈ）に、識別したＶＮＦインスタンスの指示を供給するステップを含むとよい。３つ以上のＶＮＦインスタンスを有するＶＮＦプールを設けることによって、第１ＶＮＦインスタンスの状態を、より多くの数の異なるＶＮＦインスタンス上に複製することが可能になり、このため、第１ＶＮＦインスタンスから何らかの他のＶＮＦインスタンスへの切り替えが必要となった場合における信頼性を高める。ＶＮＦインスタンスの１つに供給された制御メッセージの受け取り通知をインターフェース・エレメントが受信しないのは、第１ＶＮＦインスタンスの状態がこのようなＶＮＦインスタンス上に複製されていないからである可能性があることを示す。このようなＶＮＦインスタンスを識別し、この情報をＶＮＦプール・レジストラと共有することによって、インターフェース・エレメントが、ＶＮＦプール・レジストラによって考慮されるＶＮＦプールを更新する（即ち、「プール内」にあると見なされるはずのＶＮＦインスタンスを更新する）ことが可能になるので、切り替えの場合に、ＶＮＦプール・レジストラは、ＶＮＦインスタンスの内、第１ＶＮＦインスタンスの状態が複製されていない可能性があるものにはハンドルを供給しない。
【００３３】
実施形態では、この方法は、更に、インターフェース・エレメントが、インターフェース・エレメントと、制御エンティティ、第１ＶＮＦインスタンス、および第２ＶＮＦインスタンスの各々との間に、ベース通信チャネル、好ましくは、ＴＣＰチャネルを確立するステップを含んでもよい。本明細書において使用する場合、「ベース通信チャネル」という用語は、例えば、二進エンコード・データグラムを使用してメッセージをいずれの方向にも交換することができる２つのエンドポイント間における双方向物理（例えば、ワイヤ）媒体または双方向論理媒体（物理媒体上に多重化することができる）のいずれかを記述するために使用される。ベース通信チャネル上の通信は、盗聴（いわゆる「中間者」攻撃）の被害を受けやすいおそれがあり、攻撃者は双方のエンドポイントとの独立した接続を行い、エンドポイントに知らせずに、これらの間でメッセージを中継する。
【００３４】
このようなベース通信チャネルの確立により、インターフェース・エレメントが、制御ＶＮＦによってＶＮＦインスタンスの１つに送られた制御メッセージを入手して、この入手した制御メッセージを他のＶＮＦインスタンスに供給することが可能になる。
【００３５】
一実施形態では、ベース通信チャネルは、当技術分野では周知の３ウェイ・ハンドシェーク、例えば、３ウェイＴＣＰ型ハンドシェークを使用して確立されてもよい。このような実施形態は、通信媒体によって相互接続された２つのプロセス間において、信頼性が高く、整列され、エラー・チェックされたオクテット・ストリームの配信を提供するという利点が得られる。
【００３６】
ベース・チャネルの確立を伴う他の一実施形態では、ＶＮＦプールのＶＮＦインスタンスが２つ以上のＶＮＦインスタンス、好ましくは、３つ以上のＶＮＦインスタンスを含んでもよく、インターフェース・エレメントがベース通信チャネルを確立するステップは、インターフェース・エレメントと、ＶＮＦプールのＶＮＦインスタンスの内少なくとも２つであるが、好ましくは、全ての各々との間にベース通信チャネルを確立するステップを含むとよい。このような実施形態では、この方法は、更に、インターフェース・エレメントが、ＶＮＦプールから、ベース通信チャネルを確立できなかったおよび／または破壊されたＶＮＦインスタンスを識別するステップと、インターフェース・エレメントが、ＶＮＦプールのＶＮＦインスタンスが登録されているＶＮＦプール・レジストラ（ＰＲ−Ｈ）に、識別したＶＮＦインスタンスの指示を供給するステップを含んでもよい。このような実施形態は、ベース通信チャネルの確立および／または動作における障害がいずれも、ＶＮＦプール・レジストラへの、ＶＮＦプールからいくつかのＶＮＦインスタンスを除外する指示として役割を果たすことができるという利点がある。何故なら、ベース通信チャネルが確立されていない、および／または破壊されたＶＮＦインスタンス上には、第１ＶＮＦインスタンスの状態を首尾良く複製成功できないからである。このように、１つのＶＮＦインスタンスから他のＶＮＦインスタンスに切り替える場合、または２つのＶＮＦインスタンス間において負荷分担が必要となる場合、ＶＮＦプール・レジストラは、ＶＮＦインスタンスの内、ベース通信チャネル（１つまたは複数）におけるエラーのために、第１ＶＮＦインスタンスの状態が複製されなかった可能性があるものにはハンドルを供給しない。
【００３７】
実施形態では、この方法は、更に、インターフェース・エレメントと、制御エンティティ、第１ＶＮＦインスタンス、および第２ＶＮＦインスタンス（そして好ましくは、プールにおける全てのＶＮＦインスタンス）の各々との間に確立されたベース通信チャネル上に、インターフェース・エレメントが安全な通信チャネルを確立するステップを含んでもよい。
【００３８】
本明細書において使用する場合、「安全な通信チャネル」という用語は、以上で説明したベース通信チャネルのような通信チャネルであって、更に機密で真正であるものを記述するために使用される。機密チャネルは、盗聴（即ち、内容を読み取る）には耐性があるが、必ずしも改竄には耐性がないデータを転送する経路(way)を提供する。真正チャネルは、改竄には耐性があるが、必ずしも盗聴には耐性がないデータを転送する経路を提供する。つまり、安全な通信チャネルは盗聴および改竄の双方に耐性がある。
【００３９】
安全な通信チャネルを確立することによって、インターフェース・エレメントとＶＮＦインスタンスとの間で交換されるデータだけでなく、インターフェース・エレメントとＶＮＦインスタンスとの間で交換されるデータの安全性を確保することが可能になるという利点がある。このように、制御エンティティと個々のＶＮＦインスタンスとの間に、盗聴(overhearing)および改竄に耐性があるマルチポイント接続が可能になる。したがって、インターフェース・エレメントは、ＶＮＦインスタンスと制御エンティティとの間において安全な接続を容易に行うための信頼できる中間者(trusted man in the middle)と見なすことができる。
【００４０】
本明細書において使用する場合、ベース・チャネルおよび安全なチャネル双方に該当する「通信チャネルをインターフェース・エレメントが確立する」という表現は、インターフェース・エレメントがチャネルの確立に関与するという事実だけに言及するのであって、どのエンティティがこのような確立を開始したか示すのではない。ある実施形態では、インターフェース・エンティティが、特定の通信チャネルの確立を開始することも可能であるが、他の実施形態では、何らかの他のエンティティ、例えば、本明細書において説明する制御エンティティがそれを行うこともできる。
【００４１】
他の一実施形態では、安全な通信チャネル（１つまたは複数）はＳＳＬ／ＴＬＳベース・チャネル（１つまたは複数）を含むことができる。この実施形態は、インターフェース・エレメントと制御ＶＮＦおよび異なるＶＮＦインスタンスの各々との間に安全なチャネルを確立するために、例えば、ＳＳＬベース４フェーズ・ハンドシェークのような、標準化されたハンドシェーク・プロセスを使用することが可能になるという利点がある。
【００４２】
更なる他の一実施形態では、インターフェース・エレメントと制御エンティティ、第１ＶＮＦインスタンス、および第２ＶＮＦインスタンスの各々との間の安全な通信チャネルを実質的に並列に確立することができる。この実施形態では、制御エンティティと個々のＶＮＦプール・インスタンスとの間に、盗聴および改竄に耐性があるマルチポイント接続の確立を加速するという利点が得られる。実施形態では、ＶＮＦインスタンスは、２つ以上のＶＮＦインスタンス、好ましくは、３つ以上のＶＮＦインスタンスを含むことができ、インターフェース・エレメントが安全な通信チャネルを確立するステップは、インターフェース・エレメントと、ＶＮＦプールのＶＮＦインスタンスの内少なくとも２つであるが、好ましくは、全部の各々との間に安全な通信チャネルを確立するステップを含んでもよい。このような実施形態では、この方法は、更に、インターフェース・エレメントが、ＶＮＦプールから、安全な通信チャネルを確立することができなかったおよび／または破壊されたＶＮＦインスタンスを識別し、ＶＮＦプールのＶＮＦインスタンスが登録されているＶＮＦプール・レジストラに、識別したＶＮＦインスタンスの指示を供給するステップを含んでもよい。この実施形態では、安全な通信チャネルの確立および／または動作における障害がいずれも、ＶＮＦプール・レジストラへの、ＶＮＦプールからいくつかのＶＮＦインスタンス（即ち、安全な通信チャネルを首尾良く確立することができなかった、および／または安全な通信チャネルが破壊されたＶＮＦインスタンス）を除外する指示として役割を果たすことができるという利点を得ることができる。このような指示を供給することによって、インターフェース・エレメントが、ＶＮＦプール・レジストラによって考慮されるＶＮＦプールを更新することが可能になるので、１つのＶＮＦインスタンスから他のＶＮＦインスタンスに切り替る場合、または２つのＶＮＦインスタンスの間で負荷分担が必要となる場合に、ＶＮＦプール・レジストラは、ＶＮＦインスタンスの内、安全な通信チャネルがないために検出されなかった可能性があるものにはハンドルを供給しない。
【００４３】
本発明の他の態様によれば、本明細書において説明する方法ステップを実行するためのデータ処理システムおよびノード（即ち、例えば、サービス・プロバイダ・セルラ電気通信ネットワークの３ＧＰＰ  Ｐ−ＧＷ，Ｓ−ＧＷのようなデバイスまたはネットワーク・エンティティ）を提供する。データ処理システムおよびノードの各々は、本明細書において説明する方法ステップを実行するように構成された少なくとも１つのプロセッサを含む。このようなデータ処理システムをノード内に含むこともできる。
【００４４】
本発明の更なる他の態様によれば、システムを開示する。このシステムは、少なくとも第１ＶＮＦインスタンス（ＶＮＦｉ１）および第２ＶＮＦインスタンス（ＶＮＦｉ２）を含む複数のＶＮＦインスタンスを含むＶＮＦプールと、ＶＮＦプールのＶＮＦインスタンスを制御するように構成された制御エンティティと、ＶＮＦインスタンスおよび制御エンティティに通信可能に接続されたインターフェース・エンティティであって、本明細書において説明する方法ステップを実行するように構成された少なくとも１つのプロセッサを含む、インターフェース・エンティティとを含んでもよい。実施形態では、このようなシステムは、更に、ＶＮＦプールのＶＮＦインスタンスが登録されているＶＮＦプール・レジストラを含むことができる。ＶＮＦプール・レジストラは、インターフェース・エレメントに通信可能に接続され、以上で説明した異なる実施形態にしたがって、インターフェース・エレメントによって識別されたＶＮＦインスタンスを、インターフェース・エレメントから少なくとも受け取るように構成される。他の実施形態の１つでは、ＶＮＦプール・レジストラは、更に、ＶＮＦインスタンスの障害または不適切な動作の場合、および／またはデータ・プレーンにおいて使用される２つ以上のＶＮＦインスタンスの間で負荷を分担する場合、第２ＶＮＦインスタンスへのハンドルをプール・ユーザに供給するように構成することができる。続いて、プール・ユーザは、代替ＶＮＦインスタンスを使用するためにネットワークを再構成することができる。
【００４５】
また、本開示は、コンピュータ読み取り可能記憶媒体上に実装されるコンピュータ・プログラム、およびこのようなコンピュータ・プログラムを格納する、好ましくは、非一時的なコンピュータ読み取り可能記憶媒体に関係するとしてもよい。コンピュータ・プログラムは、コンピュータ上で実行されると、本開示において説明する方法の内任意のものにしたがって方法ステップを実行するように構成されたソフトウェア・コード部分を含んでもよい。
【００４６】
更に、添付図面を参照して本開示を例示する。添付図面は本開示による実施形態を模式的に示す。尚、本開示はこれらの具体的な実施形態には決して限定されないことは理解されよう。更に、実施形態および限定のいずれの組み合わせも、本開示によって予見されるものとする。
図面に示す実証的実施形態を参照して、本発明の態様について更に詳しく説明する。
【図面の簡単な説明】
【００４７】
【図１】図１は、技術的現状によるＲＳｅｒＰｏｏｌアーキテクチャの模式図を示す。
【図２】図２は、図１に示すＲＳｅｒＰｏｏｌアーキテクチャに従うＶＮＦプール・アーキテクチャの模式図を示す。
【図３】図３は、図１のＲＳｅｒＰｏｏｌアーキテクチャから継承され、図２のＶＮＦプール・アーキテクチャに適用可能な、ＶＮＦプールのブートストラップ・プロセスの模式図を示す。
【図４Ａ】図４Ａは、アクティブなＶＮＦインスタンスとＰＵとの間におけるクッキー・メッセージの規則的な交換を拠り所として、同じプールの異なるＶＮＦインスタンス間の状態複製を行う、デフォルトのフェイルオーバー・プロセスの模式図を示す。
【図４Ｂ】図４Ｂは、異なるＶＮＦインスタンスの状態が、制御エンティティによってそれぞれのＶＮＦインスタンスに供給される制御メッセージによって定められるときにおける、図４Ａのデフォルトのフェイルオーバー・プロセスの模式図を示す。
【図５】図５は、本発明の一実施形態による、ＶＮＦプール・アーキテクチャの模式図である。
【図６】図６は、本発明の一実施形態による、第１ＶＮＦインスタンスの状態を第２ＶＮＦインスタンス上に複製するときの模式図を示す。
【図７】図７は、本発明の一実施形態による、個々のベース(base)通信チャネルを設定するブートストラップ・プロセスの模式図を示す。
【図８】図８は、クライアント・プロセスとサーバ・プロセスとの間における既存の標準化ＳＳＬ−ベース４フェーズ・ハンドシェーク・プロセスを示す。
【図９】図９は、本発明の一実施形態による、個々のセキュア通信チャネルを設定するときの模式図を示す。
【図１０】図１０は、異なるＶＮＦインスタンスの状態が、制御エンティティによってそれぞれのＶＮＦインスタンスに供給される制御メッセージによって定められるときにおける、本発明の一実施形態によるフェイルオーバー・プロセスの模式図を示す。
【図１１】図１１は、本明細書において説明するようなインターフェース・エレメントの機能と共に使用することができる、本発明の一実施形態によるデータ・プレーン・アーキテクチャの模式図を示す。
【図１２】図１２は、本明細書において説明する方法ステップを実行するために使用することができる、本発明の一実施形態による実証的なデータ処理システムを表すブロック図を示す。
【図１３】図１３は、本明細書において説明するインターフェース・エレメントの機能を実現するために使用することができる電気通信システムの模式図を示す。
【発明を実施するための形態】
【００４８】
図５は、本発明の一実施形態によるＶＮＦプール・アーキテクチャ５００の模式図を示す。先に説明したアーキテクチャ２００と同様、ＶＮＦプール・アーキテクチャ５００は、３種類のコンポーネント、１）３つのＶＮＦインスタンス５０２、ＶＮＦｉ１、ＶＮＦｉ２、ＶＮＦｉ３として示す複数のプール・エレメント５０２、２）ＶＮＦレジストラ５０４として示すプール・レジストラ、および３）ＰＵ５０６として示すプール・ユーザを利用する。ＮＶＦインスタンス５０２の各々は、サーバであることも可能である。ＶＮＦインスタンス５０２は全て、同じネットワーク機能を実行し、併せてＶＮＦプール５０８を形成することができる。図５の例に示すプール５０８は、プール・エレメントの３つのインスタンスを含むように示されているが、本発明の実施形態は、２つ以上の任意の数のプール・エレメントに適用可能である。ＰＵ５０６は、プール５０８のサービスを使用する、例えば、ＳＦＣ制御システムのような、クライアントである。ＶＮＦレジストラ５０４は、プール５０８のＶＮＦインスタンス５０２の登録および管理機能を実行するように構成され、当技術分野において現在実行されているように、そして図１に関連付けてＰＲコンポーネントについて、更には図２に関連付けてＶＮＦレジストラ・コンポーネントについて先に概説したように、個々のＶＮＦインスタンス５０２へのハンドルをＰＵ５０６に提供する。ＶＮＦプール５０８のＶＮＦインスタンス５０２、ＶＮＦレジストラ５０４、およびＰＵ５０６は、これらのエレメント間の二重矢印で示すように、ＡＳＡＰを使用して互いに通信することができる。
【００４９】
また、アーキテクチャ５００は制御エンティティ５２０も示す。制御エンティティ５２０は、それ自体がＶＮＦインスタンス５０２を制御する役割を担うＶＮＦであることも可能な制御／管理エンティティであるが、そうである必要はない。先に説明したように、ＶＮＦインスタンス５０２の状態は、制御エンティティ５２０からＶＮＦインスタンス５０２の各々に伝達される制御メッセージによって判定される。以上で示した制御エンティティによって制御されるＶＮＦインスタンスとして実装されるネットワーク機能の例は、ここでも当てはまり、したがって繰り返さない。
【００５０】
更に、アーキテクチャ５００は、インターフェース・エレメント５１０を含むことを特徴とする。インターフェース・エレメント５１０は、ＶＮＦプール５０８のＶＮＦインスタンス５０２と制御エンティティ５２０との間にインターフェースを設け、ＶＮＦインスタンス５０２の１つに宛てられたメッセージを制御エンティティ５２０から入手し、次いで入手した制御メッセージをそれぞれのＶＮＦインスタンスおよびＶＮＦプール５０８内部の他のＶＮＦインスタンスに供給することができる。このように、インターフェース・エレメント５１０は、制御エンティティ５２０と個々のＶＮＦインスタンス５０２との間において論理ＶＮＦインターフェースとして役割を果たす。これは、以下で説明する図６のメッセージング図において示される。
【００５１】
図５は、特定のＶＮＦインスタンスの状態が確定される構成または相互作用から１つの制御エンティティ５２０を示すが、常にこのようになるとは限らない。言い換えると、必ずしも、ＶＮＦインスタンスの状態を１つの制御エンティティとの相互作用に変換(reduce)できるとは限らない。このような場合、制御エンティティ５２０について本明細書で説明する同じ原理を、ＶＮＦインスタンスの全ての他のインターフェースにも適用することができ、インターフェース・エレメント５１０はこの場合でも論理ＶＮＦインターフェースとして役割を果たす。
【００５２】
図６に示すように、最初に、インターフェース・エレメント５１０は制御メッセージ６０２を入手する。この時点において、アクティブなインスタンス、即ち、ＶＮＦレジストラ５０４がＰＵ５０６へのハンドルを提供したＶＮＦインスタンスは、ＶＮＦｉ１であり、メッセージ６０２は制御エンティティ５２０によってＶＮＦｉ１に送られた場合について検討する。インターフェース・エレメント５１０は、このような制御メッセージを多数の異なる方法で入手することができ、その全てが本発明の範囲内に入る。例えば、インターフェース・エレメント５１０は物理ポイント・ツー・ポイントまたはマルチポイント媒体（ＬＡＮ）から受信したデータグラムを通じて、メッセージ６０２を傍受する(intercept)することもできる。他の例では、インターフェース・エレメント５１０は、制御エンティティ５２０からメッセージ６０２を受信することもできる（即ち、制御エンティティ５２０が意図的にＶＮＦｉ１に対するメッセージ６０２をインターフェース・エレメント５１０に送信する）。何故なら、インターフェース・エレメント５１０と制御エンティティ５２０との間には、ＴＣＰチャネルのような、定着したベース通信チャネルがあるからである。次いで、インターフェース・エレメント５１０は、メッセージが本来宛てられたＶＮＦｉ１だけでなく、ＶＮＦプール５０８の少なくとも１つの他のＶＮＦインスタンスにも制御メッセージ６０２を供給することができる。これは、図６において、インターフェース・エレメント５１０がメッセージ６０２のコピー、メッセージ６０２を含むメッセージ、あるいはメッセージ６０４および６０８のような、それぞれ、第１および第２ＶＮＦインスタンスへのメッセージ６０２の受信を示すおよび／またはその内容を示すメッセージを供給することによって示されている。１つのＶＮＦインスタンスに宛てられたメッセージ６０２をそのＶＮＦインスタンスおよび少なくとも１つの他のＶＮＦインスタンスに供給することによって、インターフェース・エレメント５１０は、第２ＶＮＦインスタンス上における第１ＶＮＦインスタンスの状態の複製を可能にする。
【００５３】
実施形態では、インターフェース・エレメント５１０がメッセージ６０４および６０８を実質的に並列して供給するように構成することもできる。
【００５４】
メッセージ６０４供給後のある時点において、インターフェース・エレメントは、第１ＶＮＦインスタンスから、この第１ＶＮＦインスタンスがメッセージ６０４を受信したという受け取り通知(acknowledgement)を入手する。同様に、メッセージ６０８の供給後のある時点において、インターフェース・エレメントは、第２ＶＮＦインスタンスから、この第２ＶＮＦインスタンスがメッセージ６０８を受信したという受け取り通知を入手する。第１および第２ＶＮＦインスタンスからの受け取り通知は、図６において、それぞれ、メッセージ６０６および６１０として示されている。
【００５５】
一旦インターフェース・エレメント５１０が第１および第２ＶＮＦインスタンス双方から、これらがメッセージ６０４および６０８をそれぞれ受信したという受け取り通知を受けた(has)なら、受け取り通知メッセージ６１２を制御エンティティ５２０に送り、こうして、これらは同じ制御メッセージを首尾良く受信したので、第１ＶＮＦインスタンスの状態が第２ＶＮＦインスタンス上に複製されたことを示す。インターフェース・エレメント５１０は制御エンティティ５２０から制御メッセージを入手して、受け取り通知を制御エンティティに返送したので、これは制御エンティティ５２０に対する論理ＶＮＦインターフェースとして機能する。
【００５６】
当業者であれば、明示的な受け取り通知メッセージ６０６および６１０を受信する以外にも、インターフェース・エレメント５１０がこのような受け取り通知を受けるには他の方法もあり、それらの全ては本発明の範囲内であることを認めよう。例えば、ＴＣＰにしたがって（即ち、インターフェース・エンティティ５１０と第１および第２ＶＮＦインスタンスの各々との間にベースＴＣＰチャネルがあるとき）、ＣＴＲＬ＿ＭＳＧｓ＜ｎ＞６０４および６０８がシーケンス番号（ｎ）を取得するとき、これらのメッセージをそれぞれメッセージ６０６および６１０によって明示的に受け取りを通知する代わりに、それぞれのＶＮＦインスタンスは、例えば、「私はＣＴＲＬ＿ＭＳＧ＜ｎ＋１＞を受信する用意ができています」というメッセージを送ることによって、暗示的に受信を通知することもできる。他の例では、制御メッセージ６０２が「規則Ｘ＝＜．．．＞を設定する」というフォーマットである場合、ＶＮＦインスタンスの各々からインターフェース・エレメント５１０に返送されるメッセージ６０６および６１０は、「報告：規則Ｘ＝＜．．．＞」というフォーマットにすることができる。更に他の例では、インターフェース・エレメント５１０に送られる明示的な受け取り通知メッセージも暗示的な受け取り通知メッセージもないとき、インターフェース・エレメントは、変化したことを検証するために、変化した状態について明示的に調査するように、制御エンティティ５２０に要求することによって、このような受け取り通知を入手するように構成することもできる。次いで、インターフェース・エレメント５１０は、この調査(polling)に対する応答を１つのメッセージに統合し、更にこの過程では所望の受け取り通知を入手することによって、仮想化機能に関わることになる。また、インターフェース・エレメント５１０が１つのＶＮＦインスタンスからの受け取り通知を１つのやり方で入手する一方、他のＶＮＦインスタンスからの受け取り通知を他のやり方で入手する実施形態も可能である。
【００５７】
以上の論述と同様、図６では受け取り通知６１２が明示的な受け取り通知メッセージ(explicit acknowledgement message)として示されているが、種々の実施形態では、インターフェース・エレメント５１０が、明示的または暗示的のいずれかの他の形態で、例えば、以上で説明した方法の内任意のものでこのような受け取り通知を供給するように構成することもできる。
【００５８】
図６はＶＮＦプール５０８の第１および第２ＶＮＦインスタンスのみに対する状態の複製を示すが、他の実施形態において、もっと多いＶＮＦインスタンスが同じネットワーク機能を実行する場合、このような複製は、もっと多くの、そして好ましくは全てのこれらのＶＮＦインスタンスに対して実行することができる。この場合、インターフェース・エレメント５１０は、どのＶＮＦインスタンスに、第１ＶＮＦインスタンスの状態が複製されたかについて、ＶＮＦレジストラ５０４に指示を与え、こうしてＶＮＦレジストラ５０４がＶＮＦプール５０８内にあると見なすＶＮＦインスタンスを更新するように構成することができる。好ましくは、第１ＶＮＦインスタンスの状態を複製することができない可能性があるＶＮＦインスタンス（例えば、インターフェース・エレメント５１０が図６において説明したような受け取り通知を入手していないため）は、ＶＮＦレジストラがこのようなＶＮＦインスタンスへのハンドルをＰＵ５０６に供給しないので、ＶＮＦプール５０８から削除される(take out of)。
【００５９】
以上で説明したように制御コマンドを自動的に複写(duplicate)することによって、１つのＶＮＦインスタンスの状態を少なくとも１つの他のＶＮＦインスタンス上に複製する(replicate)ことによって、ＶＮＦインスタンスとＰＵ５０６との間でも、ＶＮＦインスタンス自体の間でもメッセージを能動的に送る必要なく、これらのＶＮＦインスタンスの状態が、これらの構成が変化した時点から同期することを確保する。このような場合、以前にアクティブであったＶＮＦインスタンスの状態は既にこれらのＶＮＦインスタンスに複製されているので、新たなＶＮＦインスタンスへのハンドルをＰＵ５０７に供給しなければならない時点から（供給された古いハンドルの代わりに、またはそれに加えて）、ＶＮＦレジストラ５０４は、直ちに、レジストラがプール５０８を形成すると見なすＶＮＦインスタンスへのハンドルの内任意のものを選択することができる。これによって、フェイルオーバー、切り替え、または負荷分配の高速化が可能になり、更にネットワーク・リソース全体の利用度が高まることになる。
【００６０】
インターフェース・エレメント５１０と制御エンティティ５２０との間、およびインターフェース・エレメント５１０とプールにおいて状態複製に関与するＶＮＦインスタンスの各々との間における信頼性の高い通信は、例えば、ＴＣＰチャネルの形態で、これらのコンポーネント間にベース通信チャネルを確立することによって達成することができる。更に、例えば、ＳＳＬ／ＴＬＳチャネルのような安全な通信チャネルをベース通信チャネル上に確立することによって、関係するエンティティ間においてデータを交換する際のセキュリティを保証することができる。つまり、実施形態では、インターフェース・エレメント５１０は、信頼性を確保するために制御エンティティ５２０とのベース通信チャネルを確立し、そして好ましくは、セキュリティを確保するために制御エンティティ５２０との安全な通信チャネルを確立するように構成することができる。同様に、インターフェース・エレメント５１０は、複製に関与することになる個別のＶＮＦインスタンスの各々とのベース通信チャネル、そして好ましくは安全な通信チャネルを、これらのインスタンスとの個々の通信セッションを設定することによって確立するように構成することができる。
【００６１】
図７は、本発明の一実施形態にしたがって、個々のベース通信チャネルを設定するブートストラップ・プロセスの模式図を示す。
【００６２】
チャネルの設定は、大抵の場合、ハンドシェークのようなメカニズムを伴う。図７は、ＴＣＰ型(TCP-like)３ウェイ・ハンドシェークのためのプロセスの特定例を示す。図７に示す例では、ベース接続の確立は、制御下にある主ＶＮＦインスタンスに向けてＳＹＮメッセージ７０２を送ることによって、制御エンティティ５２０によって開始されると仮定する。図６の例を続けると、第１ＶＮＦインスタンスＶＮＦｉ１は、主ＶＮＦインスタンスであると見なされる。第１ＶＮＦインスタンスによって実行されるネットワーク機能が、ＶＮＦプール５０８全体で冗長的に実施されるので、ＳＹＮメッセージはインターフェース・エレメント５１０によって処理され、インターフェース・エレメント５１０は、この場合も、論理ＶＮＦインターフェースとして機能する。次に、インターフェース・エレメント５１０は、ＶＮＦプール５０８の少なくとも第１および第２ＶＮＦインスタンス５０２、好ましくは全てのＶＮＦインスタンス５０２に向けて、ミラーＳＹＮメッセージ(mirrored SYN message)を発信する(initiate)。好ましくは、このプロセスは並列に行われる。第１および第２ＶＮＦインスタンスに向けての複写ＳＹＮメッセージは、図７では、それぞれ、メッセージ７０４および７０８として示されている。
【００６３】
このＳＹＮメッセージに応答して、それぞれのＶＮＦインスタンスは、第１および第２ＶＮＦインスタンスに対して、それぞれ、メッセージ７０６および７１０として、インターフェース・エンティティ５１０に向けた図７に示すＳＹＮ＋ＡＣＫメッセージで回答する。ＳＹＮ＋ＡＣＫメッセージが少なくとも第１および第２ＶＮＦインスタンス、しかし好ましくはＶＮＦプール５０８の全てのＶＮＦインスタンスからインターフェース・エレメント５１０によって受信されると、インターフェース・エレメント５１０は、ハンドシェークの第２フェーズに入るために、ＳＹＮ＋ＡＣＫメッセージ７１２を制御エンティティ５２０に向けて返送する。後者は、制御エンティティ５２０が、インターフェース・エレメント５１０に向けた最終ＡＣＫメッセージ７１４で回答するきっかけとなる。個々のＶＮＦインスタンスとのベース通信チャネルの確立を開始するインターフェース・エレメント５１０のレベルにおいて、ここでＡＣＫがインターフェース・エレメント５１０から個々のＶＮＦインスタンスに向けて、図７に示すハンドシェークの最終フェーズとして、第１および第２ＶＮＦインスタンスに対してそれぞれメッセージ７１６および７１８として、送られる。
【００６４】
少なくとも第１および第２ＶＮＦインスタンスからのＳＹＮ＋ＡＣＫメッセージがインターフェース・エレメント５１０によって受信されないとき、またはＳＹＮメッセージが供給された全てのＶＮＦインスタンスからＳＹＮ＋ＡＣＫメッセージが受信されないとき、インターフェース・エレメント５１０は、ハンドシェーク・プロセスが失敗し、ＶＮＦ保護メカニズムが起動されなかった(bootstrapped)と判断し、好ましくは、これの指示を制御エンティティ５２０に与えることができる。次いで、ベース通信チャネルの確立のプロセスを繰り返すことができる。
【００６５】
実施形態では、インターフェース・エレメント５１０は、ＶＮＦレジストラ５０４へのベース通信チャネルの確立における任意の時点で、障害の指示を与えるように構成することができる。一方、ＶＮＦレジストラは、ＶＮＦプール５０８内に含ませることを考慮するＶＮＦインスタンス５０２を更新することを検討することもできる。例えば、ＳＹＮメッセージの受け取り通知が、インターフェース・エレメント５１０がＳＹＮメッセージを複写したＶＮＦインスタンスの内の１つから受信されなかった場合、インターフェース・エレメントは、このようなＶＮＦインスタンスを識別し、この情報をＶＮＦレジストラ５０４に提供することができ、次いで、ＶＮＦレジストラ５０４はこのＶＮＦインスタンスをＶＮＦプール５０８から除外する。
【００６６】
一旦、図７に示したＴＣＰ接続のようなベース通信チャネルが設定されたなら、例えば、ＳＳＬ ＴＬＳベース・チャネルのような安全な通信チャネルを、ベース・チャネルの上に、更に高いレイヤ・ハンドシェーク・メカニズムで設定することができる。この場合も、提案する解決策は、ＶＮＦプール５０８の少なくとも２つであるが好ましくは全てのＶＮＦインスタンスとインターフェース・エレメント５１０との間、およびインターフェース・エレメント５１０と制御エンティティ５２０との間に、安全なチャネルを設定することを目的とする。これは、関与するあらゆるノード、即ち、ＶＮＦインスタンス５０２、制御エンティティ５２０、およびインターフェース・エレメント５１０が、秘密／公開鍵対、およびこの公開鍵に署名する証明書を有することを必要とする。種々の実施形態において、これらの鍵は、個々のＶＮＦインスタンスによって自己生成および自己署名されてもよく、または信頼できる証明書当局との相互作用において受け取られてもよい。この設定において、インターフェース・エレメント５１０の鍵対は、制御エンティティ５２０がインターフェースする論理ＶＮＦの鍵対を表すことができる。
【００６７】
図８は、クライアントとサーバとの間における、既存の標準化ＳＳＬベース４フェーズ・ハンドシェーク・プロセスを示す。図８に示すように、ハロー・メッセージ(hello message)（フェーズ１）は、セッションＩＤ、鍵交換アルゴリズム、ＭＡＣアルゴリズム、暗号化アルゴリズムのネゴシエーション、および初期乱数の交換を伴う。次に、サーバはその証明書および鍵交換メッセージを送ることができ、クライアントに証明書を送るように要求することができる。次いで、サーバはハロー・フェーズの終了を伝える（フェーズ２）。続いて、クライアントは、要求された場合、証明書を送り、明示的な証明書検証メッセージを送ることができ、更にクライアントは常にその鍵交換メッセージを送る（フェーズ３）。最後に、暗号仕様(cipher spec)が変更され、ハンドシェークを終了する（フェーズ４）。当業者であれば認められようが、暗号仕様は、例えば、ＤＥＳのようなバルク・データ暗号化アルゴリズム、および、例えば、ＭＤ５またはＳＨＡ−１のようなハッシュ・アルゴリズムを指定することができ、更にハッシュ・サイズのような暗号属性を定めることもできる。図８において、破線はメッセージが任意であることを示し、一方実線は、ハンドシェークが成功するためには、メッセージが必須であることを示す。
【００６８】
図９は、本発明の一実施形態にしたがって、個々の安全な通信チャネルを設定するときの模式図を示す。具体的には、図９は、３つのセキュアＳＳＬ−チャネルの並列設定を示し、各ＳＳＬ−チャネルは、図８に示すような４フェーズ・ハンドシェーク・メカニズムに従う。１つのチャネルは、制御エンティティ５２０とインターフェース・エレメント５１０との間にあり、図８の４フェーズ・ハンドシェーク・メカニズムは４ウェイＳＳＬハンドシェーク９０２として示されている。他のチャネルは、第１ＶＮＦインスタンスＶＮＦｉ１とインターフェース・エレメント５１０との間にあり、図８の４フェーズ・ハンドシェーク・メカニズムは４ウェイＳＳＬハンドシェーク９０６として示されている。第３のチャネルは、第２ＶＮＦインスタンスＶＮＦｉ２とインターフェース・エレメント５１０との間にあり、図８の４フェーズ・ハンドシェーク・メカニズムは４ウェイＳＳＬハンドシェーク９０４として示されている。
【００６９】
ベース通信チャネルについて先に説明したように、実施形態では、インターフェース・エレメント５１０は、安全な通信チャネルの確立における任意の時点において障害の指示をＶＮＦレジストラ５０４に与えるように構成することができる。一方、ＶＮＦレジストラは、それがＶＮＦプール５０８内に含ませることを考慮するＶＮＦインスタンス５０２を更新することを検討することができる。
【００７０】
好ましい実施形態では、図６に関連付けて説明した複製メカニズムは、図７について説明したようなベース通信チャネル、および好ましくは、図９について説明したような安全な通信チャネルを設定するブートストラップ・プロセスが首尾良く実行された（即ち、制御チャネルがアクティブであると見なされるとき）ときにだけ実行される。
【００７１】
技術的現状とは異なり、提案する解決策は、ＶＮＦインスタンス５０２とＰＵ５０６との間に、状態複製のための追加の帯域幅を必要としない。これは、クッキー・メッセージが不要であるからである。加えて、提案する解決策において結果的に得られる新たなＶＮＦインスタンスに切り替えるまたは有効化するプロセスは、極めて高速化することができる。これらの利点は、再度図４Ａに戻り、以上で説明したアーキテクチャ５００の使用を拠り所とする、同じプールの異なるＶＮＦインスタンス間において状態複製を行うフェイルオーバー・プロセスはステップ４０２、４１４、および４１６を必要としないことに気がつくことによって、確認することができる。図４Ａにおいて示したフェイルオーバー・プロセスの説明の残り部分は、ＰＥ１をＶＮＦｉ１と置き換え、ＰＥ２をＶＮＦｉ２と置き換え、ＲＰ−Ｈ１０４をＶＮＦレジストラ５０４と置き換え、ＰＵ１０６をＰＵ５０６と置き換えることによって、アーキテクチャ５００にも適用可能であり、したがって、これらの図示および説明はここでは繰り返さない。ＰＥ１に向かう接続(connectivity)が障害を発生したときから、即ち、キープアライブの時間切れから、ＶＮＦレジストラ５０４は、第２ＶＮＦインスタンスＶＮＦｉ２へのハンドルによって、ＰＵ５０６に通知する(notify)ことができる。このメッセージがＰＵ５０６によって受信された時点から、フェイルオーバーは終了したと見なすことができる。何故なら、ＶＮＦｉ１の状態は、以上で説明したプロセスの結果、ＶＮＦｉ２上で既に継続的に複製されているからである。
【００７２】
図１０は、本発明の一実施形態にしたがって、異なるＶＮＦインスタンス５０２の状態が、制御エンティティ５２０によってそれぞれのＶＮＦインスタンスに供給される制御メッセージによって定められるときにおける、デフォルトのフェイルオーバー・プロセスの模式図を示す。図１０は、技術的現状による類似シナリオを示す図４Ｂに相当する。つまり、図１０は、検討対象のＶＮＦインスタンス５０２が、例えば、ＯｐｅｎＦｌｏｗ−ファイアウォールのような、ＯｐｅｎＦｌｏｗ−制御型ネットワーク機能である場合のプロセスも示す。図１０に示すように、メッセージ１００２によって、制御エンティティ５２０、この場合はＯｐｅｎＦｌｏｗコントローラは、新たなフロー・エントリ（例えば、ＲＵＬＥｘ）をアクティブなＶＮＦインスタンス、即ち、ＶＮＦレジストラ５０４がＰＵ５０６へのハンドラを供給したＶＮＦインスタンス、この例ではＶＮＦｉ１、に伝達し、インターフェース・エレメント５１０はこのメッセージを入手する。インターフェース・エレメント５１０は、この制御情報を複写して、個々のプール・エレメント、この場合は、ＯｐｅｎＦｌｏｗスイッチ、ＶＮＦｉ１、およびＶＮＦｉ２に向けて、それぞれメッセージ１００８および１００４によって、図６に関連付けて説明したようなやり方で、図７および図９に関連付けて説明したような関与するエンティティ間に確立された通信チャネルによって伝える。また、先に図６について説明したように、インターフェース・エレメント５１０が、図１０ではそれぞれ明示的なメッセージ１０１０および１００６によって示す、受け取り通知をＶＮＦインスタンスＶＮＦｉ１およびＶＮＦｉ２から受けたときにのみ、インターフェース・エレメント５１０は、制御エンティティ５２０に向けて受け取り通知を送る。これは図１０ではメッセージ１０１２によって示されている。先に説明したように、このプロセスは、個々のプール・エレメントＶＮＦｉ１およびＶＮＦｉ２の状態が常に同期することを確保する。一方、ＶＮＦレジストラ５０４（ＰＲ−Ｈ）とＶＮＦインスタンスｉ１およびｉ２との間におけるキープアライブ・プロセスは、これらのプール・エレメントが、正しく動作し続けているか否か監視する。これは、図１０では、それぞれ、メッセージ１０１８および１０１４によって示されている。主プール・エレメントＶＮＦｉ１の障害発生時に、対応するキープアライブ・セッションが時間切れとなり（図１０ではステップ１０２０によって示す）、ＶＮＦレジストラ５０４は、ＶＮＦｉ２へのハンドルという形態である、新たなハンドルによってＰＵ５０６（例えば、ＳＦＣ制御システム）を更新する。これは図１０においてステップ１０２２によって示されている（図１０においてステップ１０１６によって示すように、プール・エレメントＶＮＦｉ２には障害がなかったことを条件とする）。これによって、ＰＵ５０６は、データ・プレーンに関するネットワーク／サービス機能チェーン構成を再プロビジョニングすることが可能となる。状態は継続的に同期が取られ続けているので、データ・プレーン切り替え(switchover)が終了すると直ちにフェイルオーバーが終了する。これは、ＰＵ５０６によるハンドル更新の受信、およびネットワークにおけるデータ・プレーン切り替えの実行を伴う。追加の状態を複製する必要はこれ以上ないので、復元(recovery)は即座に行うことができる。
【００７３】
本発明の実施形態は、データ・プレーンにおいてヒットレス・スイッチオーバー(hitless switchover)を可能にするために使用することができるので、ネットワーク保護技法、即ち、バックアップ経路の先回り(pro-active)プロビジョニングを使用することができる。保護の場合、ネットワーク制御システムは、バックアップＶＮＦに向かうネットワーク経路を前もってプロビジョニングすることを可能にするために、障害が実際に起こる前に、バックアップＶＮＦインスタンスのハンドルを知らなければならない。代替ＶＮＦインスタンスのハンドルは、例えば、ＶＮＦレジストラ（ＰＲ−Ｈ）からＰＵに向かう拡張ハンドル・メッセージ３１４を介して交換することができ、拡張ハンドル・メッセージ３１４は、ｉ）アクティブなハンドル、およびｉｉ）バックアップＶＮＦのハンドルを含む。当技術分野では周知であるが、ネットワーク保護を使用するとき、障害が検出されＰＲ−Ｈから制御インスタンス（この場合、ＰＵ５０６、例えば、ＳＦＣ制御システム）に向けて通知された時点から、障害および／または警報指示信号がネットワーク制御システム（ＰＵ５０６自体、またはＰＵ５０６によって直接通知されるネットワーク制御システムとすることができる）から、主およびバックアップ・セグメント／経路間で切り替える必要がある分岐点に向けて送られる。
【００７４】
ネットワーク保護技法は、５０ｍｓ未満のネットワーク復元時間を加える(deliver)ことが知られている。図１１は、本発明の一実施形態にしたがって、本明細書において説明したインターフェース・エレメント５１０の機能と共に使用することができるデータ・プレーン・アーキテクチャ１１００の模式図を示す。
【００７５】
図１１は、２つのプール・エレメント、主（第１）ＶＮＦインスタンスＶＮＦｉ１とバックアップ（第２）ＶＮＦインスタンスＶＮＦｉ２とを有するＶＮＦプール５０８を示す。第１および第２ＶＮＦ５０２と制御エンティティ５２０との間の制御インターフェースは、先に説明したように、インターフェース・エレメント５１０によって処理される。データ・プレーンにおいて、ＶＮＦｉ１およびＶＮＦｉ２の各々は、ｎ個のインターフェースを有することができ、これは図１１ではインターフェースｉｆ１〜ｉｆｎとして示されており、相互接続ネットワークを通じて、図１１では２つのＳＡＰ、ＳＡＰ１  １１０２からＳＡＰ２  １１０４として示される、ｎ箇所のサービス・アタッチメント・ポイント（ＳＡＰ）に相互接続されている。ＳＡＰとＮＶＦインターフェースの主およびバックアップＶＮＦインスタンスとの間にあるネットワーク経路の部分は、分岐点まで重複する場合もある。これらは図１１では分岐点ｂ１〜ｂｎとして示されており、ｂ１は第１インターフェースに至るネットワーク経路の分岐点であり、ｂｎは第ｎインターフェースに至るネットワーク経路の分岐点である。ＰＵ５０６の１つの役割は、例えば、ＯｐｅｎＦｌｏｗ制御または一般化／マルチ・プロトコル・ラベル・スイッチング（Ｇ／ＭＰＬＳ：Generalized/Multi-Protocol Label Switching）シグナリング・プロトコルを使用して、バックアップＶＮＦインスタンスに向かうネットワーク経路がプロビジョニングされることを確保することである。ＰＵ５０６が代替ＶＮＦインスタンスを使用するように命令されたときから、バックアップＶＮＦに向かうネットワーク経路をＳＡＰ間で変更する処置を講ずることができる。保護技法を使用する場合、これは、バックアップ・セグメントに向かうように切り替える、即ち、図１１に示す破線の相互接続を使用して切り替えるように、分岐点に命令することを伴う。
【００７６】
ここで説明するインターフェース・エンティティ５１０によって実行される方法ステップは、これらの方法ステップを実行するように構成されたプロセッサを少なくとも含む任意の種類のデータ処理システムによって実行されればよい。このようなデータ処理システムの一例を図１２において、データ処理システム１２００として示し、このようなデータ処理システムを実装することができる場合の論述を、図１２の説明の後に行う。
【００７７】
データ処理システム１２００は、システム・バス１２１０を通じてメモリ・エレメント１２０４に結合された少なくとも１つのプロセッサ１２０２を含むことができる。したがって、データ処理システムは、プログラム・コードをメモリ・エレメント１２０４内に格納することができる。更に、プロセッサ１２０２は、システム・バス１２１０を通じてメモリ・エレメント１２０４からアクセスされたプログラム・コードを実行することができる。１つの態様では、データ処理システム１２００は、プログラム・コードを格納および／または実行するのに適したコンピュータとして実現されてもよい。しかしながら、システム１２００は、プロセッサとメモリとを含み、本明細書において説明した機能を実行することができる任意のシステムの形態で実現されればよいことは認められてしかるべきである。
【００７８】
メモリ・エレメント１２０４は、例えば、ローカル・メモリ１２０６のような１つ以上の物理メモリ・デバイスと、１つ以上の大容量記憶デバイス１２０８とを含むことができる。ローカル・メモリとは、プログラム・コードの実際の実行中に通常使用されるランダム・アクセス・メモリまたは他の非永続的メモリ・デバイス（１つまたは複数）を指すことができる。大容量記憶デバイスは、ハード・ドライブまたは他の永続的データ記憶デバイスとして実装されればよい。また、処理システム１２００は１つ以上のキャッシュ・メモリ（図示せず）も含むことができる。キャッシュ・メモリは、実行中にプログラム・コードを大容量記憶デバイス１２０８から引き出さなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時的格納に備える。
【００７９】
入力デバイス１２１２および出力デバイス１２１４として図示されている入力／出力（Ｉ／Ｏ）デバイスを、任意に、データ処理システムに結合することができる。入力デバイスの例には、例えば、キーボード、マウスのようなポインティング・デバイス等を含むことができるが、これらに限定されるのではない。出力デバイスの例には、例えば、モニタまたはディスプレイ、スピーカ等を含むことができるが、これらに限定されるのではない。入力デバイスおよび／または出力デバイスは、直接、または仲介するＩ／Ｏコントローラを介してのいずれで、データ処理システムに結合することができる。また、ネットワーク・アダプタ１２１６をデータ処理システムに結合して、他のシステム、コンピュータ・システム、リモート・ネットワーク・デバイス、および／またはリモート記憶デバイスに、仲介するプライベートまたはパブリック・ネットワークを通じて結合されることを可能にしてもよい。ネットワーク・アダプタは、具体的には、前記システム、デバイス、および／またはネットワークによって前記データに送信されるデータを受信するデータ受信機１２１８、およびデータを前記システム、デバイス、および／またはネットワークに送信するデータ送信機１２２０を含むことができる。モデム、ケーブル・モデム、およびイーサネット・カードは、データ処理システム１２００と共に使用することができる異なるタイプのネットワーク・アダプタの例である。
【００８０】
メモリ・エレメント１２０４はアプリケーション（図示せず）を格納することができる。尚、データ処理システム１２００は、更に、アプリケーションの実行を容易にすることができるオペレーティング・システム（図示せず）を実行してもよいことは認められてしかるべきである。実行可能プログラム・コードの形態で実現されるアプリケーションは、データ処理システム１２００によって、例えば、プロセッサ１２０２によって実行することができる。アプリケーションを実行したことに応答して、データ処理システム１２００は本明細書において説明した１つ以上の方法ステップを実行するように構成することができる。
【００８１】
尚、エレメント１２０２〜１２２０は図１２では別々のエレメントとして示されているが、他の実施形態では、これらの機能をもっと少ない数の個別エレメントに実装すること、またはもっと多い数のコンポーネントにわたって分散させることもできることは、当業者には認められよう。
【００８２】
図１３は、電気通信システム１３００の模式図を示す。電気通信システム１３００は、無線アクセス・ネットワーク１３０２（図１３ではＥ−ＵＴＲＡＮまたはＲＡＮとしても示されている）と、以下で更に詳しく説明する種々のエレメントまたはノードを内蔵するコア・ネットワーク１３０４とを含む。
【００８３】
図１３の電気通信システムでは、簡潔さのために、三世代のネットワークが一緒に模式的に図示されている。このアーキテクチャの更に詳細な説明および全体像は、３ＧＰＰ ＴＳ２３．００２において探し出すことができる。３ＧＰＰ ＴＳ２３．００２をここで引用したことにより、その内容全体が本願にも含まれるものとする。
図１３の下側の枝線(branch)は、ＧＰＲＳまたはＵＭＴＳ電気通信ネットワークを表す。
【００８４】
ＧＳＭ／ＧＰＲＳ電気通信ネットワーク（即ち、２Ｇ／２．５Ｇ電気通信ネットワーク）では、無線アクセス・ネットワーク１３０２は複数の基地局（ＢＳＣおよびＢＴＳの組み合わせ）と、図１３には個々に図示しない、１つ以上の無線ネットワーク・コントローラ（ＲＮＣ）とを含む。コア・ネットワーク１３０４は、ゲートウェイＧＰＲＳサポート・ノード（ＧＧＳＮ）、サービングＧＰＲＳサポート・ノード（ＧＰＲＳ用、ＳＧＳＮ）、または移動体交換センタ（ＧＳＭ用、ＭＣＳ、図１３には示されていない）、および認証局（ＡｕＣ）と組み合わされたホーム・ロケーション・レジスタ（ＨＬＲ）を含む。ＨＬＲは、移動体デバイス１３０６（「ユーザ機器」（ＵＥ）またはユーザ・デバイスと呼ぶこともある）についての加入情報(subscription information)を含み、ＡｕＣは、認証および鍵照合（ＡＫＡ：key agreement）手順に使用される共有秘密鍵Kを含む。
【００８５】
ＵＭＴＳ無線アクセス・ネットワーク（ＵＴＲＡＮ）（即ち、３Ｇ電気通信ネットワーク）では、無線アクセス・ネットワーク１３０２は、複数のＮｏｄｅＢに接続された無線ネットワーク・コントローラ（ＲＮＣ）も含む。ＮｏｄｅＢも図示されていない。コア・ネットワーク１３０４において、ＧＧＳＮおよびＳＧＳＮ／ＭＳＣは従来通りにＨＬＲ／ＡｕＣに接続され、ＨＬＲ／ＡｕＣは加入情報と、移動体デバイス１３０６の共有秘密鍵Ｋとを収容する。
【００８６】
尚、ＧＳＭおよびＵＭＴＳネットワークにおけるＲＮＣ機能は正式にはＲＡＮの一部であることは注記してしかるべきである。ＲＮＣ機能は、１つ以上の基地局に実装することができる。このような構成は、圧縮アーキテクチャ(collapsed architecture)として知られている。
【００８７】
図１３の上側の枝線は、一般にロング・ターム・エボリューション（ＬＴＥ）システムまたは進化型パケット・システム（ＥＰＳ）（即ち、４Ｇ電気通信ネットワーク）として示される、次世代電気通信ネットワークを表す。このようなネットワークでは、Ｅ−ＵＴＲＡＮとして示されている無線アクセス・ネットワーク１３０２は、移動体デバイス１３０６にワイヤレス・アクセスを提供する進化ＮｏｄｅＢ（ｅＮｏｄｅＢまたはｅＮＢ）を含む。コア・ネットワーク１３０４は、ＰＤＮゲートウェイ（Ｐ−ＧＷ）と、サービング・ゲートウェイ（Ｓ−ＧＷ）を含む。ＥＰＳのＥ−ＵＴＲＡＮは、パケット・ネットワークを通じて、Ｓ−ＧＷに接続される。Ｓ−ＧＷは、シグナリングの目的で、ホーム・サブスクライバ・サーバＨＳＳおよび移動管理エンティティＭＭＥに接続される。ＨＳＳは、加入プロファイル・レポジトリＳＰＲを含み、ＡＫＡ手順のために共有秘密鍵Ｋを格納する認証局（ＡｕＣ）と組み合わせられる。ＥＰＳネットワークの全体的なアーキテクチャのこれ以上の情報は、３ＧＰＰ ＴＳ ２３．４０１において探し出すことができる。
【００８８】
ＧＰＲＳ、ＵＭＴＳ、およびＬＴＥ電気通信ネットワークでは、コア・ネットワーク１３０４は、通常、例えばゲートウェイ（例えば、Ｐ−ＧＷ）を使用して、他のネットワーク１３０８、例えば、インターネットに接続される。
【００８９】
種々の実施形態において、本明細書において説明したインターフェース・エレメント５１０は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現することができる。例えば、図１３に示すネットワークでは、本明細書において説明したインターフェース・エレメント５１０として機能するように構成されたデータ処理システム１２００は、Ｓ−ＧＷ、Ｐ−ＧＷの一部、あるいはコア・ネットワークのＳＧＳＮまたはＧＧＳＮとして実現することができ、あるいは、本明細書において説明したインターフェース・エレメント５１０は、コア・ネットワークのこれらのエレメントの１つまたは組み合わせにおいてソフトウェア機能として実現することができる。勿論、３ＧＧＰによって定められる以外のアーキテクチャ、例えば、ＷｉＭＡＸも、本開示のコンテキスト内で使用することができる。
【００９０】
本発明の種々の実施形態は、コンピュータ・システムまたはプロセッサと共に使用するためのプログラム製品として実現することもでき、プログラム製品のプログラム（１つまたは複数）は、実施形態の機能（本明細書において説明した方法を含む）を定める。一実施形態では、プログラム（１つまたは複数）は、種々の非一時的コンピュータ読み取り可能媒体（一般に、「ストレージ」と呼ぶ）に収容することがでる。本明細書において使用する場合、「非一時的コンピュータ読み取り可能記憶媒体」という表現は、全てのコンピュータ読み取り可能媒体を含み、唯一の例外が一時的な伝搬信号である。他の実施形態では、プログラム（１つまたは複数）は種々の一時的コンピュータ読み取り可能記憶媒体に収容することができる。例示的なコンピュータ読み取り可能記憶媒体には、（ｉ）情報が永続的に格納される非書き込み可能記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、ＲＯＭチップ、または任意のタイプのソリッド・ステート不揮発性半導体メモリのような、コンピュータ内部のリード・オンリー・メモリ・デバイス）、および（ｉｉ）変化する可能性がある情報が格納される書き込み可能記憶媒体（例えば、フラッシュ・メモリ、ディスケット・ドライブ内部のフロッピ・ディスク、またはハード・ディスク・ドライブ、あるいは任意のタイプのソリッド・ステート・ランダム・アクセス半導体メモリ）が含まれるが、これらに限定されるのではない。コンピュータ・プログラムは、本明細書において説明したプロセッサ１２０２上で実行することができる。
【００９１】
いずれの１つの実施形態に関係して説明したいずれの特徴も、単独で、または説明した他の特徴と組み合わせて使用することができ、更に実施形態の他のいずれかの１つ以上の特徴と組み合わせて、あるいは実施形態の他のいずれかのいずれの組み合わせでも使用できることは理解されよう。更に、本発明は以上で説明した実施形態に限定されるのではなく、添付する請求項の範囲内で変更することも可能である。
【００９２】
本明細書において使用した用語は、特定の実施形態を説明するために限られており、本発明の限定であることを意図するのではない。本明細書において使用する場合、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかにそうでないことを示すのでなければ、複数形も含むことを意図している。更に、「含む」(comprises)および／または「含んでいる」(comprising)という用語は、本明細書において使用する場合、述べられる特徴、整数、ステップ、動作、エレメント、および／またはコンポーネントの存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、および／またはそのグループの存在や追加を除外するのではないことも理解されよう。
【００９３】
以下の特許請求の範囲における全ての手段またはステップ＋機能エレメントの対応する構造、材料、アクト、および均等物は、特定的に特許請求される他の特許請求対象エレメントと組み合わせて当該機能を実行する任意の構造、材料、またはアクトを含むことを意図している。本発明の説明は、例示および説明の目的に限って提示されたのであって、網羅的であること、または開示した形態に本発明を限定することを意図するのではない。本発明から逸脱することなく、当業者には多くの変更および変種が明白であろう。以上の実施形態が選択され説明されたのは、本発明の原理および実用的用途を最良に説明するためであり、更に他の当業者が、本発明を理解して、想定される特定の使用に適する種々の変更を行って種々の実施形態を得ることを可能にするためである。
【図１】
0006491745.tif 000002
【図２】
0006491745.tif 000003
【図３】
0006491745.tif 000004
【図４Ａ】
0006491745.tif 000005
【図４Ｂ】
0006491745.tif 000006
【図５】
0006491745.tif 000007
【図６】
0006491745.tif 000008
【図７】
0006491745.tif 000009
【図８】
0006491745.tif 000010
【図９】
0006491745.tif 000011
【図１０】
0006491745.tif 000012
【図１１】
0006491745.tif 000013
【図１２】
0006491745.tif 000014
【図１３】
0006491745.tif 000015