(57)【特許請求の範囲】
【請求項１】
セッション管理ノード（２００）によりネットワークアクセスを提供するための方法であって、
セッション管理ノードにおいて、初期要求メッセージを受信するステップ（７１０）であって、初期要求メッセージは少なくとも１つのサブスクリプション識別子を含むステップと、
セッション管理ノードが、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができないことを決定するステップ（７４０）と、
初期要求メッセージに基づいて一時サブスクリプションレコードを生成するステップ（７６０）と、
初期要求メッセージおよび一時サブスクリプションレコードに基づいてセッションを確立するステップ（７６５）と、
初期要求メッセージに基づいて一時サブスクリプションレコードを生成するステップ（７６０）に続いて、
セッション管理ノードが、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができるという指示を受信するステップ（７１０、８１０）と、
一時サブスクリプションレコードを少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードに置き換えるステップ（９２５）と
を含む、方法。
【請求項２】
セッション管理ノードが少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができないと決定するステップ（７４０）が、セッション管理ノードが少なくとも１つのサブスクリプション識別子のいずれかのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができないと決定するステップを含む、請求項１に記載の方法。
【請求項３】
セッション管理ノードが、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスできるという指示を受信するステップ（７１０、８１０）が、
セッション管理ノードにおいて、初期要求メッセージに関連付けられている補足要求メッセージを受信するステップ（７１０）と、
補足要求メッセージを受信することに応答して、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出すステップ（７３０）とを含む、請求項１または２に記載の方法。
【請求項４】
セッション管理ノードが、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスできるという指示を受信するステップ（７１０、８１０）が、
ネットワークの別のノードからイベントメッセージを受信するステップ（８１０）と、
セッション管理ノードが現在追加のサブスクリプションレコードにアクセスできることを指示すると決定するステップ（８１５）と、
少なくとも１つのサブスクリプション識別子が追加のサブスクリプションレコードに関連付けられていると決定するステップ（９１５）とを含む、請求項１または２に記載の方法。
【請求項５】
セッション管理ノードが少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができるという指示を受信するステップ（７１０、８１０）に続いて、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードに基づいて少なくとも１つの以前確立されたセッションへの変更を開始するステップ（９３０）をさらに含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
初期要求メッセージに基づいて一時サブスクリプションレコードを生成するステップ（７６０）に続いて、
セッション管理ノードにおいて、初期要求メッセージに関連付けられている補足要求メッセージを受信するステップ（７１０）と、
補足要求メッセージに基づいて一時サブスクリプションレコードを更新するステップ（７６０）とをさらに含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
一時サブスクリプションレコードが不明のユーザに関連付けられているという指示を、一時サブスクリプションレコードに含めるステップと、
初期要求メッセージを処理する際に使用する少なくとも１つのルールを取り出すステップと、
一時サブスクリプションレコードが不明のユーザに関連付けられているという指示に基づいて少なくとも１つのルールが適用されるべきかどうかを決定するステップとをさらに含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
ネットワークアクセスを加入者に提供するためのセッション管理ノード（２００）であって、
少なくとも１つのサブスクリプション識別子を含む初期要求メッセージを受信するインターフェイス（２０５、２１０、２１５）と、
初期要求メッセージを処理するためにサブスクリプションレコードが使用されるべきであると決定するメッセージハンドラ（２２０）と、
少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出そうと試みるサブスクリプションレコードレトリーバ（２３５）と、
サブスクリプションレコードレトリーバが少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出すことができない場合に、初期要求メッセージに基づいて一時サブスクリプションレコードを作成する一時サブスクリプションレコードジェネレータ（２５０）と、
イベントリスナ（２５５）であって、
別のデバイスからイベントメッセージを受信し、
新しいサブスクリプションレコードがプロビジョニングされたことをイベントメッセージが指示するかどうかを決定し、
新しいサブスクリプションレコードがプロビジョニングされたことをイベントメッセージが指示する場合、新しいサブスクリプションレコードが一時加入者レコードに関連付けられているかどうかを決定し、
新しいサブスクリプションレコードが一時加入者レコードに関連付けられている場合、一時加入者レコードが置き換えられるべきであると指示する
イベントリスナ（２５５）と
を備えるセッション管理ノード。
【請求項９】
補足要求メッセージを受信する第２のインターフェイス（２０５、２１０、２１５）をさらに備え、
メッセージハンドラ（２２０）が、補足要求メッセージが初期要求メッセージに関連付けられているとさらに決定し、
サブスクリプションレコードレトリーバ（２３５）が、第２のインターフェイスが補足要求メッセージを受信するステップに続いて、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出そうとさらに試みる、
請求項８に記載のセッション管理ノード。
【請求項１０】
一時サブスクリプションレコードジェネレータ（２５０）が、サブスクリプションレコードレトリーバが補足要求メッセージを第２のインターフェイスが受信することに続いて、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出すことができない場合、一時サブスクリプションレコードをさらに更新する、請求項９に記載のセッション管理ノード。
【請求項１１】
サブスクリプションデータを格納するメモリと、
セッションマネージャ（２２５）であって、
サブスクリプションレコードレトリーバ（２３５）が少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出すことができない場合にサブスクリプションデータを格納するメモリに一時サブスクリプションレコードを格納し、
サブスクリプションレコードレトリーバ（２３５）が、補足要求メッセージを第２のインターフェイスが受信することに続いて、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出す場合、サブスクリプションデータを格納するメモリ内の一時サブスクリプションレコードを少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードに置き換える、
セッションマネージャ（２２５）と
をさらに備える、請求項９または１０に記載のセッション管理ノード。
【請求項１２】
複数のサブスクリプションレコードを格納するサブスクリプションレコードキャッシュ（２４５）をさらに備え、
サブスクリプションレコードレトリーバ（２３５）が少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出そうと試みる場合、サブスクリプションレコードレトリーバ（２３５）が、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを探してサブスクリプションレコードキャッシュ（２４５）を検索し、
一時サブスクリプションレコードジェネレータ（２５０）が初期要求メッセージに基づいて一時サブスクリプションレコードを作成する場合、サブスクリプションレコードレトリーバ（２３５）が、一時サブスクリプションレコードをサブスクリプションレコードキャッシュ（２４５）に追加する、
請求項８から１１のいずれか一項に記載のセッション管理ノード。
【請求項１３】
いずれのサブスクリプションレコードとも関連のない複数のサブスクリプション識別子を格納する一時レコードキャッシュをさらに備え、
一時サブスクリプションレコードジェネレータ（２５０）が初期要求メッセージに基づいて一時サブスクリプションレコードを作成する場合、サブスクリプションレコードレトリーバ（２３５）が、少なくとも１つのサブスクリプション識別子を一時レコードキャッシュに追加し、
サブスクリプションレコードレトリーバ（２３５）が、一時サブスクリプションレコードが少なくとも１つのサブスクリプション識別子に対して以前生成されたかどうかを決定するために、一時レコードキャッシュを検索する、
請求項８から１２のいずれか一項に記載のセッション管理ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書において開示されるさまざまな例示的な実施形態は、一般に、サブスクリプションネットワークに関する。
【背景技術】
【０００２】
移動体通信ネットワーク内のさまざまなタイプのアプリケーションを求める需要が増大するにつれて、サービスプロバイダは、この拡張される機能を確実に提供するため、常時そのシステムをアップグレードし続ける必要がある。かつては単に音声通信用に設計されたシステムであったものが、多目的のネットワークアクセスポイントへと成長を果たし、テキストメッセージング、マルチメディアストリーミング、および汎用インターネットアクセスを含む無数のアプリケーションへのアクセスを提供している。そのようなアプリケーションをサポートするため、プロバイダは、その既存の音声ネットワークの上部に新しいネットワークを構築してきた。第２および第３世代ネットワークにおいて認められるように、音声サービスは、専用音声チャネルを介して搬送され、回線交換コアに方向付けられる必要があるが、その他のサービス通信は、インターネットプロトコル（ＩＰ）に従って伝送され、異なるパケット交換コアに方向付けられる。このことにより、アプリケーション提供、計量および課金、ならびにエクスペリエンス品質（ＱｏＥ）保証に関する独自の問題が生じる。
【０００３】
第２および第３世代のデュアルコア手法を簡略化することを目指して、第３世代移動体通信システム標準化プロジェクト（３ＧＰＰ：３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）は、「ロングタームエボリューション」（ＬＴＥ：Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）と称する、新しいネットワークスキームを推奨してきた。ＬＴＥネットワークにおいて、あらゆる通信は、ＩＰチャネルを介してユーザ機器（ＵＥ）から進化型パケットコア（ＥＰＣ：Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｃｏｒｅ）と呼ばれるすべてのＩＰコアに搬送される。次いで、ＥＰＣは、その他のネットワークにゲートウェイアクセスを提供するとともに、許容可能なＱｏＥを保証して、加入者にその特定のネットワークアクティビティの料金を課す。
【０００４】
３ＧＰＰは一般に、多数の技術仕様におけるＥＰＣのコンポーネントおよびそれらの相互の対話を記述する。具体的には、３ＧＰＰ  ＴＳ２９．２１２、３ＧＰＰ  ＴＳ２９．２１３、および３ＧＰＰ  ＴＳ２９．２１４は、ＥＰＣのポリシーおよび課金ルール機能（ＰＣＲＦ：Ｐｏｌｉｃｙ  ａｎｄ  Ｃｈａｒｇｉｎｇ  Ｒｕｌｅｓ  Ｆｕｎｃｔｉｏｎ）、ポリシーおよび課金実施機能（ＰＣＥＦ：Ｐｏｌｉｃｙ  ａｎｄ  Ｃｈａｒｇｉｎｇ  Ｅｎｆｏｒｃｅｍｅｎｔ  Ｆｕｎｃｔｉｏｎ）、およびベアラバインディングおよびイベント報告機能（ＢＢＥＲＦ：Ｂｅａｒｅｒ  Ｂｉｎｄｉｎｇ  ａｎｄ  Ｅｖｅｎｔ  Ｒｅｐｏｒｔｉｎｇ  Ｆｕｎｃｔｉｏｎ）を記述する。これらの仕様はまた、Ｓｐインターフェイスを通じてＰＣＥＦと対話する加入者プロファイルレポジトリ（ＳＰＲ：Ｓｕｂｓｃｒｉｂｅｒ  Ｐｒｏｆｉｌｅ  Ｒｅｐｏｓｉｔｏｒｙ）についても言及する。これらの仕様はさらに、信頼性の高いデータサービスを提供して、その使用料を加入者に課金するため、これらの要素が対話する方法に関して一部の指針を提示する。
【発明の概要】
【課題を解決するための手段】
【０００５】
さまざまな実施形態は、セッション管理ノードによりネットワークアクセスを提供するための方法に関し、この方法は、セッション管理ノードにおいて、初期要求メッセージを受信するステップであって、初期要求メッセージは少なくとも１つのサブスクリプション識別子を含む、受信するステップと、セッション管理ノードが、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができないことを決定するステップと、初期要求メッセージに基づいて一時サブスクリプションレコードを生成するステップと、初期要求メッセージおよび一時サブスクリプションレコードに基づいて初期要求メッセージを処理するステップとのうちの１つまたは複数を含む。
【０００６】
さまざまな実施形態は、加入者にネットワークアクセスを提供するためのシステムに関し、このシステムは、少なくとも１つのサブスクリプション識別子を含む初期要求メッセージを受信するインターフェイスと、初期要求メッセージを処理するためにサブスクリプションレコードが使用されるべきであると決定するメッセージハンドラと、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出そうと試みるサブスクリプションレコードレトリーバと、サブスクリプションレコードレトリーバが少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードを取り出すことができない場合に、初期要求メッセージに基づいて一時サブスクリプションレコードを作成する一時サブスクリプションレコードジェネレータとのうちの１つまたは複数を含む。
【０００７】
さまざまな実施形態は、ネットワークアクセスを提供するためにセッション管理ノードで実行する命令が符号化された機械可読ストレージ媒体に関し、機械可読ストレージ媒体は、セッション管理ノードにおいて、初期要求メッセージを受信するための命令であって、初期要求メッセージは少なくとも１つのサブスクリプション識別子を含む命令と、セッション管理ノードが、少なくとも１つのサブスクリプション識別子に関連付けられているサブスクリプションレコードにアクセスすることができないことを決定するための命令と、初期要求メッセージに基づいて一時サブスクリプションレコードを生成するための命令と、初期要求メッセージおよび一時サブスクリプションレコードに基づいて初期要求メッセージを処理するための命令とのうちの１つまたは複数を含む。
【０００８】
さまざまな実施形態をより深く理解するため、付属の図面に参照が行なわれる。
【図面の簡単な説明】
【０００９】
【図１】さまざまなデータサービスを提供するための例示的な加入者ネットワークを示す図である。
【図２】加入者要求を実行するための例示的なセッション管理ノードを示す図である。
【図３】セッションデータを格納するための例示的なデータ配置を示す図である。
【図４】加入者要求を実行するための例示的なルールセットを示す図である。
【図５】例示的な加入者要求メッセージを示す図である。
【図６】例示的なイベント通知メッセージを示す図である。
【図７】サブスクリプションプロファイルに基づいて加入者要求を実行するための例示的な方法を示す図である。
【図８】イベント通知メッセージを処理するための例示的な方法を示す図である。
【図９】サブスクリプションプロファイルのプロビジョニングに基づく遷移のための例示的な方法を示す図である。
【発明を実施するための形態】
【００１０】
３ＧＰＰではサブスクリプションプロファイルリポジトリ（ＳＰＲ）へのアクセスを記述するが、特定の実装形態およびエラー処理に関して指針はほとんど提供されていない。一部の場合において、ポリシーおよび課金ルールノード（ＰＣＲＮ：Ｐｏｌｉｃｙ  ａｎｄ  Ｃｈａｒｇｉｎｇ  Ｒｕｌｅｓ  Ｎｏｄｅ）は、特定の要求を処理する際に使用する適切なサブスクリプションプロファイルにアクセスできないこともある。たとえば、ＳＰＲとの通信が中断される場合があるか、またはＳＰＲが特定の要求元ユーザまたはデバイスのためサブスクリプションプロファイルをまだ提供されていない場合もある。３ＧＰＰ技術仕様は、そのようなエラーのシナリオを処理することに関して指針をほとんど示していない。
【００１１】
以前実施された解決策は、適切なサブスクリプションレコードが見出されない場合、要求を単にドロップまたは拒否する。しかし、この解決策は、一時エラー条件により多数の要求が実行されないことがあるので、理想的とは言い難い。したがって、適合するサブスクリプションプロファイルレコードが見つからない場合に要求を処理するさらに堅固な方法が必要とされている。
【００１２】
ＬＴＥ仕様に従って実施されたネットワーク以外の、多くの代替のネットワークは、同様に、サブスクリプションプロファイルまたは類似する構成体のコンテンツに部分的に基づいてネットワークアクセスを提供する。そのような構成体の利用可能性に関する類似のエラーの可能性は、ワイヤレスまたは有線ネットワークのいずれであっても、多くのそのようなネットワークに存在する。したがって、多くのそのようなネットワークに一般に適用可能であるそのような状況を処理する方法がさらに必要とされている。
【００１３】
これ以降、類似する番号が類似するコンポーネントまたはステップを示す図面を参照して、さまざまな例示的な実施形態の広範な態様が開示される。
【００１４】
さまざまな実施例が、Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）により定義されているように、Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）の実施に関連するが、本明細書において提示されるデバイスおよび方法は、たとえばネットワークアクセスシステム（ＮＡＳ）のようなその他のアクセスシステムまたはネットワークに適用可能であってもよいことに留意されたい。これらのデバイスおよび方法を代替的なアクセスシステムおよび／またはネットワークと併せて実施するための適切な変更は、当業者には明らかとなろう。
【００１５】
図１は、さまざまなデータサービスを提供するための例示的な加入者ネットワーク１００を示す。例示的な加入者ネットワーク１００は、通信ネットワーク、またはさまざまなサービスへのアクセスを提供するためのその他のネットワークであってもよい。例示的な加入者ネットワーク１００は、ユーザ機器（ＵＥ）１１０、基地局１２０、進化型パケットコア（ＥＰＣ）１３０、パケットデータネットワーク１４０、およびアプリケーションノード（ＡＮ）１５０を含むことができる。
【００１６】
ユーザ機器１１０は、エンドユーザにデータサービスを提供するためにパケットデータネットワーク１４０と通信するデバイスであってもよい。そのようなデータサービスは、たとえば、音声通信、テキストメッセージング、マルチメディアストリーミング、およびインターネットアクセスを含むことができる。さらに具体的には、さまざまな例示的な実施形態において、ユーザ機器１１０は、パーソナルまたはラップトップコンピュータ、ワイヤレス電子メールデバイス、携帯電話、テレビジョンセットトップボックス、またはＥＰＣ１３０を介して他のデバイスと通信することができる任意のその他のデバイスである。
【００１７】
基地局１２０は、ユーザ機器１１０とＥＰＣ１３０との間の通信を可能にするデバイスであってもよい。たとえば、基地局１２０は、３ＧＰＰ規格により定義される進化型ノードＢ（ｅＮｏｄｅＢ）のような、ベーストランシーバ基地局であってもよい。したがって、基地局１２０は、無線通信など、第１の媒体を介してユーザ機器１１０と通信し、イーサネット（登録商標）ケーブルのような第２の媒体を介してＥＰＣ１３０と通信するデバイスであってもよい。基地局１２０は、ＥＰＣ１３０と直接通信してもよいか、または多数の中間ノード（図示せず）を介して通信することもできる。さまざまな実施形態において、ユーザ機器１１０に移動性をもたらすために、複数の基地局（図示せず）が存在してもよい。さまざまな代替的な実施形態において、ユーザ機器１１０が、進化型パケットコアと直接通信できることに留意されたい。そのような実施形態において、基地局１２０は存在しなくてもよい。
【００１８】
進化型パケットコア（ＥＰＣ）１３０は、ユーザ機器１１０にパケットデータネットワーク１４０へのゲートウェイアクセスを提供するデバイスまたはデバイスのネットワークであってもよい。ＥＰＣ１３０はさらに、提供されたデータサービスの使用料を加入者に課金して、その特定のエクスペリエンス品質（ＱｏＥ）基準が満たされることを保証することができる。したがって、ＥＰＣ１３０は、少なくとも部分的に、３ＧＰＰ  ＴＳ２９．２１２、２９．２１３、および２９．２１４規格に従って実施されてもよい。したがって、ＥＰＣ１３０は、サービス提供ゲートウェイ（ＳＧＷ）１３２、パケットデータネットワークゲートウェイ（ＰＧＷ）１３４、ポリシーおよび課金ルールノード（ＰＣＲＮ）１３６、ならびにサブスクリプションプロファイルリポジトリ（ＳＰＲ）を含むことができる。
【００１９】
サービス提供ゲートウェイ（ＳＧＷ）１３２は、ＥＰＣ１３０へのゲートウェイアクセスを提供するデバイスであってもよい。ＳＧＷ１３２は、ユーザ機器１１０により送信されたパケットを受信するＥＰＣ１３０内の第１のデバイスであってもよく、そのようなパケットをＰＧＷ１３４に向けて転送することができる。ＳＧＷ１３２は、たとえば、複数の基地局（図示せず）間のユーザ機器１１０の移動性を管理すること、およびサービス提供されるフローごとに、保証されるビットレートのような、特定のサービス品質（ＱｏＳ）特性を実施することのような、複数の追加の機能を実行することができる。Ｐｒｏｘｙ  Ｍｏｂｉｌｅ  ＩＰ（ＰＭＩＰ）規格を実施するような、さまざまな実装形態において、ＳＧＷ１３２は、ベアラバインディングおよびイベント報告機能（ＢＢＥＲＦ：Ｂｅａｒｅｒ  Ｂｉｎｄｉｎｇ  ａｎｄ  Ｅｖｅｎｔ  Ｒｅｐｏｒｔｉｎｇ  Ｆｕｎｃｔｉｏｎ）を含むことができる。さまざまな例示的な実施形態において、ＥＰＣ１３０は、複数のＳＧＷ（図示せず）を含むことができ、各ＳＧＷは、複数の基地局（図示せず）と通信することができる。
【００２０】
パケットデータネットワークゲートウェイ（ＰＧＷ）１３４は、パケットデータネットワーク１４０へのゲートウェイアクセスを提供するデバイスであってもよい。ＰＧＷ１３４は、ＳＧＷ１３２を介してパケットデータネットワーク１４０に向けてユーザ機器１１０により送信されたパケットを受信するＥＰＣ１３０内の最終デバイスであってもよい。ＰＧＷ１３４は、各サービスデータフロー（ＳＤＦ）に対してポリシーおよび課金制御（ＰＣＣ：ｐｏｌｉｃｙ  ａｎｄ  ｃｈａｒｇｉｎｇ  ｃｏｎｔｒｏｌ）ルールを実施するポリシーおよび課金実施機能（ＰＣＥＦ：ｐｏｌｉｃｙ  ａｎｄ  ｃｈａｒｇｉｎｇ  ｅｎｆｏｒｃｅｍｅｎｔ  ｆｕｎｃｔｉｏｎ）を含むことができる。したがって、ＰＧＷ１３４は、ポリシーおよび課金実施ノード（ＰＣＥＮ：ｐｏｌｉｃｙ  ａｎｄ  ｃｈａｒｇｉｎｇ  ｅｎｆｏｒｃｅｍｅｎｔ  ｎｏｄｅ）であってもよい。ＰＧＷ１３４は、たとえば、パケットフィルタリング、ディープパケットインスペクション、および加入者課金サポートのような、複数の追加の特徴を含むことができる。
【００２１】
ポリシーおよび課金ルールノード（ＰＣＲＮ）１３６は、サービスの要求を受信し、ＰＣＣルールを生成し、ＰＣＣルールをＰＧＷ１３４および／またはその他のＰＣＥＮ（図示せず）に提供するデバイスであってもよい。ＰＣＲＮ１３６はまた、たとえばＩＰ接続アクセスネットワーク（ＩＰ−ＣＡＮ：ＩＰ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ａｃｃｅｓｓ  Ｎｅｔｗｏｒｋ）セッションおよび／またはゲートウェイ制御セッションのような、その他のタイプのセッションをＵＥ１１０の要求に応じて確立することもできる。ＰＣＲＮ１３６は、ＲＸインターフェイスを介してＡＮ１５０から、Ｇｘｘインターフェイスを介してＳＧＷ１３２から、および／またはＧｘインターフェイスを介してＰＧＷ１３４から要求を受信することができる。サービス要求を受信すると、ＰＣＲＮ１３６は、サービス要求を実行するために少なくとも１つのＰＣＣルールを生成または変更することができる。ＰＣＲＮ１３６は、ＰＣＣルールを作成するときに、Ｓｐインターフェイスを介してＳＰＲ１３８と通信することができる。ＰＣＲＮ１３６は、たとえば、加入者サービスデータを取得するため、および／または複数のソースからのメッセージを調整するために、ＳＰＲ１３８を使用することができる。
【００２２】
さまざまな状況のもとで、ＰＣＲＮ１３６は、ＳＰＲ１３８からサブスクリプションレコードを取得することができないこともある。たとえば、ＳＰＲ１３８は、要求されたサブスクリプション識別子に関連付けられているいずれのレコードをも格納しない場合がある。そのような場合、ＰＣＲＮ１３６は、要求に基づいて一時サブスクリプションプロファイルレコードを生成することができる。次いで、要求は、一時レコードに基づいて実行されてもよい。後に、適切なサブスクリプションレコードがＳＰＲ１３８から入手可能になった後に、ＰＣＲＮ１３６は、後段においてさらに詳細に説明されるように、一時レコードから真のサブスクリプションレコードへと遷移することができる。
【００２３】
ＰＣＣルールが作成されるかまたは変更されると、もしくはＰＧＷ１３４により要求されると、ＰＣＲＮ１３６は、Ｇｘインターフェイスを介してＰＣＣルールをＰＧＷ１３４に提供することができる。たとえばＰＭＩＰ規格を実施するような、さまざまな実施形態において、ＰＣＲＮ１３６はまた、ＱｏＳルールも生成することができる。ＱｏＳルールが作成されるかまたは変更されると、もしくはＳＧＷ１３２により要求されると、ＰＣＲＮ１３６は、Ｇｘｘインターフェイスを介してＱｏＳルールをＳＧＷ１３２に提供することができる。
【００２４】
サブスクリプションプロファイルリポジトリ（ＳＰＲ）１３８は、加入者ネットワーク１００への加入者に関連する情報を格納するデバイスであってもよい。したがって、ＳＰＲ１３８は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および／または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。ＳＰＲ１３８は、ＰＣＲＮ１３６のコンポーネントであっても、ＥＰＣ１３０内の独立したノードを構成しても、またはその両方の組み合わせであってもよい。ＳＰＲ１３８はまた、一部のコンポーネントがＥＰＣ１３０内にあり、その他のコンポーネントがネットワークを介して接続されるように、ネットワークにわたり分散されてもよい。
【００２５】
ＳＰＲ１３８は、複数の加入者についてサブスクリプションレコードを格納することができる。各サブスクリプションレコードは、たとえば、ＩＰｖ４アドレス、ＩＰｖ６アドレス、国際移動体加入者識別情報（ＩＭＳＩ：ｉｎｔｅｒｎａｔｉｏｎａｌ  ｍｏｂｉｌｅ  ｓｕｂｓｃｒｉｂｅｒ  ｉｄｅｎｔｉｔｙ）、ネットワークアクセス識別子（ＮＡＩ：ｎｅｔｗｏｒｋ  ａｃｃｅｓｓ  ｉｄｅｎｔｉｆｉｅｒ）、回線識別子（ｃｉｒｃｕｉｔ  ｉｄｅｎｔｉｆｉｅｒ）、ポイントツーポイントプロトコル（ＰＰＰ）識別子、およびモバイル加入者ＩＳＤＮ（ＭＳＩＳＤＮ）番号のような、複数のサブスクリプション識別子を含むことができる。各サブスクリプションレコードは、加えて、たとえば、帯域幅制限、課金パラメータ、加入者優先度、および加入者サービスプリファレンスのようなサブスクリプションパラメータを含むことができる。
【００２６】
さまざまな代替的な実施形態において、加入者ネットワーク１００が、ＳＰＲ１３８の代わりに、ユーザデータリポジトリ（ＵＤＲ：Ｕｓｅｒ  Ｄａｔａ  Ｒｅｐｏｓｉｔｏｒｙ）（図示せず）を含むことができることに留意されたい。そのようなＵＤＲは、ＳＰＲ１３８に含まれているデータと類似するデータを含むことができる。ＰＣＲＮ１３６とＵＤＲとの間の相互運用を提供するために、本明細書において説明される技法へのさまざまな変更が明らかとなろう。
【００２７】
パケットデータネットワーク１４０は、ユーザ機器１１０と、ＡＮ１５０のようなパケットデータネットワーク１４０に接続されたその他のデバイスとの間のデータ通信を提供するための任意のネットワークであってもよい。パケットデータネットワーク１４０はさらに、たとえば、パケットデータネットワーク１４０と通信するさまざまなユーザデバイスに電話および／またはインターネットサービスを提供することができる。
【００２８】
アプリケーションノード（ＡＮ）１５０は、アプリケーション機能（ＡＦ）を含み、アプリケーションサービスをユーザ機器１１０に提供するデバイスであってもよい。したがって、ＡＮ１５０は、たとえば、ビデオストリーミングまたは音声通信サービスをユーザ機器１１０に提供するサーバまたはその他のデバイスであってもよい。ＡＮ１５０がユーザ機器１１０へのアプリケーションサービスの提供を開始しようとする場合、ＡＮ１５０は、Ｄｉａｍｅｔｅｒプロトコルに従うＡＡ−Ｒｅｑｕｅｓｔ（ＡＡＲ）のような、要求メッセージを生成して、ＰＣＲＮ１３６に通知することができる。この要求メッセージは、アプリケーションサービスを使用している加入者の識別情報、および要求されたサービスを提供するために確立される必要のある特定のサービスデータフローの識別情報のような情報を含むことができる。ＡＮ１５０は、そのようなアプリケーション要求を、Ｒｘインターフェイスを介してＰＣＲＮ１３６に伝達することができる。
【００２９】
さまざまなサービスは、ＡＮ１５０によってＰＣＲＮ１３６に送信されたＡＡＲに基づいて、ＰＧＷ１３４またはＳＧＷ１３２によってＰＣＲＮ１３６に送信されたＣＣＲに基づいて、またはそれらの組み合わせに基づいて、要求され、その後確立されてもよい。たとえば、ＰＣＲＮ１３６は、いずれも特定のユーザの特定のサービスを要求するＡＡＲおよびＣＣＲを受信することができる。したがって、ＰＣＲＮ１３６は、２つの要求メッセージが同じセッションに関連付けられていることを決定して、それに応じてメッセージを処理するように構成される。たとえば、ＰＣＲＮ１３６またはＤｉａｍｅｔｅｒ  Ｐｒｏｘｙ  Ａｇｅｎｔ（図示せず）は、セッションバインディング識別子（ＳＢＩ：ｓｅｓｓｉｏｎ  ｂｉｎｄｉｎｇ  ｉｄｅｎｔｉｆｉｅｒ）を使用して、要求メッセージが以前受信した要求メッセージに関連することを決定することができる。したがって、ＰＣＲＮ１３６は、初期要求メッセージに基づいてセッションを確立し、その後、補足要求メッセージに基づいてセッションを変更することができる。
【００３０】
加入者ネットワーク１００のコンポーネントを説明してきたが、加入者ネットワーク１００の動作の概要がこれ以降説明される。後段の説明は加入者ネットワーク１００の動作の概要を提供することが意図されており、したがって若干簡略化されたものであることは明白なはずである。加入者ネットワーク１００の詳細な動作は、図２から図９に関連して以下でさらに詳細に説明される。
【００３１】
ＰＣＲＮ１３６は、セッションの確立を要求するＣＣＲまたはＡＡＲを受信することができる。たとえば、ＣＣＲまたはＡＡＲは、新しいＩＰ−ＣＡＮセッションまたは新しいアプリケーションセッションの確立を要求することができる。要求メッセージは、ユーザ機器１１０に関連付けられている少なくとも１つのサブスクリプション識別子を指定することができる。要求を実行する際に、ＰＣＲＮ１３６は最初に、提供されたサブスクリプション識別子に関連付けられているサブスクリプションプロファイルを、ＳＰＲ１３８から取り出そうと試みることができる。しかし、ＰＣＲＮ１３６は、そのようなレコードが見つからないことを指示するエラーを受信することがある。たとえば、ＳＰＲ１３８が使用不可能である場合があるか、またはＳＰＲ１３８がサブスクリプション識別子の少なくとも１つに適合するレコードを有していない場合がある。
【００３２】
ＰＣＲＮ１３６は、一時サブスクリプションレコードを生成することによって続行することができる。サブスクリプションレコードは、たとえば、提供されたサブスクリプション識別子のような、要求メッセージから集められた情報を含むことができる。ＰＣＲＮ１３６はさらに、一時サブスクリプションレコード内に「ｕｎｋｎｏｗｎ（不明）」という加入者名を含むことができる。次いで、ＰＣＲＮ１３６は、一時サブスクリプションレコードを使用して要求を実行することができる。ＰＣＲＮ１３６は、一時サブスクリプションレコードに対して具体的に定義されているさまざまなデフォルトのパラメータおよび／または処理ルールを使用することができる。
【００３３】
続いて、ＰＣＲＮ１３６は、真のサブスクリプションレコードが、サブスクリプション識別子に現在使用可能であることを決定することができる。たとえば、ＰＣＲＮ１３６は、補足要求の受信に応答してサブスクリプションレコードを正常に取り出すことができるか、または新しいレコードがＳＰＲ１３８で提供されていることを指示する通知を受信することができる。
【００３４】
決定の方法には関わりなく、ＰＣＲＮ１３６は、引き続き、一時サブスクリプションレコードを真のサブスクリプションレコードと置き換えることができる。ＰＣＲＮ１３６はまた、引き続き、現在使用可能なサブスクリプションレコードに基づいて、加入者に対して確立された任意のセッションを変更することができる。たとえば、ＰＣＲＮ１３６は、真のサブスクリプションプロファイルに基づいて決定された新しいＱｏＳおよび／または課金パラメータを含む新しいＰＣＣルールを生成することができる。
【００３５】
図２は、加入者要求を実行するための例示的なセッション管理ノード２００を示す。ＬＴＥ規格を実施するさまざまな実施形態において、セッション管理ノード２００は、ＰＣＲＮ１３６のようなＰＣＲＮであってもよい。例示のセッション管理ノード２００は、Ｇｘｘインターフェイス２０５、Ｇｘインターフェイス２１０、Ｒｘインターフェイス２１５、メッセージハンドラ２２０、セッションマネージャ２２５、セッションストレージ２３０、サブスクリプションレコードレトリーバ２３５、Ｓｐインターフェイス２４０、サブスクリプションレコードキャッシュ２４５、一時サブスクリプションレコードジェネレータ２５０、イベントリスナ２５５、ルールエンジン２６０、およびルールストレージ２６５を含むことができる。さまざまなコンポーネントが特定の規格の実装形態に固有であってもよく、代替の規格の実装形態のためにさまざまな変更が妥当でありうることが明らかとなろう。
【００３６】
Ｇｘｘインターフェイス２０５は、たとえばＤｉａｍｅｔｅｒプロトコルを使用するＳＧＷ１３２のようなその他のネットワークノードと通信するように構成されたハードウェア、および／または機械可読ストレージ媒体の符号化された実行可能命令を含むインターフェイスであってもよい。したがって、Ｇｘｘインターフェイス２０５は、ＲＡＲおよびＣＣＡメッセージを送信し、ＲＡＡおよびＣＣＲメッセージを受信するように構成されてもよい。
【００３７】
Ｇｘインターフェイス２１０は、たとえばＤｉａｍｅｔｅｒプロトコルを使用するＰＧＷ１３４のようなその他のネットワークノードと通信するように構成されたハードウェア、および／または機械可読ストレージ媒体の符号化された実行可能命令を備えるインターフェイスであってもよい。したがって、Ｇｘインターフェイス２１０は、ＲＡＲおよびＣＣＡメッセージを送信し、ＲＡＡおよびＣＣＲメッセージを受信するように構成されてもよい。
【００３８】
Ｒｘインターフェイス２１５は、たとえばＤｉａｍｅｔｅｒプロトコルを使用するＡＮ１５０のようなその他のネットワークノードと通信するように構成されたハードウェア、および／または機械可読ストレージ媒体の符号化された実行可能命令を備えるインターフェイスであってもよい。したがって、Ｒｘインターフェイス２１５は、ＲＡＲおよびＡＡＡメッセージを送信し、ＲＡＡおよびＡＡＲメッセージを受信するように構成されてもよい。
【００３９】
メッセージハンドラ２２０は、Ｇｘｘインターフェイス２０５、Ｇｘインターフェイス２１０、およびＲｘインターフェイス２１５を介してさまざまなメッセージを受信および送信するように構成されたハードウェア、および／または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、メッセージハンドラ２２０は、ＡＡＲまたはＣＣＲを受信し、パケットが新しいセッションの確立を要求することを決定して、さらに処理するためにメッセージをセッションマネージャ２２５に転送することができる。さらなる例として、メッセージハンドラ２２０は、セッションの確立、変更、または終了のためにセッションマネージャ２２５からＲＡＲまたはＣＣＡを受信し、メッセージを適切なインターフェイス２０５、２１０、２１５を介して送信することができる。
【００４０】
セッションマネージャ２２５は、さまざまなセッションに関連する要求を処理するように構成されたハードウェア、および／または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、セッションマネージャ２２５は、メッセージハンドラ２２０を介して新しいセッションの要求を受信し、新しいＰＣＣルールを生成して、新しいＰＣＣルールをＰＧＷ１３４のような適切なノードにプッシュすることができる。新しいＰＣＣルールを生成する場合、または要求を処理する場合、セッションマネージャ２２５は、後段においてさらに詳細に説明されるように、サブスクリプションレコードレトリーバ２３５により取り出されたサブスクリプションレコード、および適切なルールを適用するルールエンジン２６０の結果を使用することができる。
【００４１】
セッションストレージ２３０は、確立されたセッションに関連するデータを格納することができる任意の機械可読媒体であってもよい。したがって、セッションストレージ２３０は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および／または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。
【００４２】
サブスクリプションレコードレトリーバ２３５は、ハードウェア、および／または要求を処理する際にセッションマネージャ２２５によって使用されるべきサブスクリプションレコードを取り出すように構成されたハードウェア、および／または機械可読ストレージ媒体上の実行可能命令を含むことができる。したがって、サブスクリプションレコードレトリーバ２３５は、要求メッセージからセッションマネージャ２２５によって抽出された１つまたは複数のサブスクリプション識別子を受信することができる。代替として、サブスクリプションレコードレトリーバ２３５は、セッションマネージャ２２５から要求メッセージを受信し、続いて関連するサブスクリプション識別子を自ら抽出することができる。一度サブスクリプションレコードレトリーバ２３５がサブスクリプション識別子にアクセスすることができると、サブスクリプションレコードレトリーバは、クエリメッセージを生成し、Ｓｐインターフェイス２４０を介して、ＳＰＲ１３８のようなＳＰＲに送信することができる。
【００４３】
サブスクリプションレコードレトリーバ２３５は、送信されたクエリに応答して、Ｓｐインターフェイス２４０を介してサブスクリプションレコードを受信することができる。そのような場合、サブスクリプションレコードレトリーバ２３５は、さらに処理するために、取り出されたサブスクリプションレコードをセッションマネージャ２２５に単に渡すことができる。サブスクリプションレコードレトリーバ２３５は、代替として、送信されたクエリに応答して、Ｓｐインターフェイス２４０を介してエラーメッセージを受信することができる。次いで、サブスクリプションレコードレトリーバ２３５は、一時サブスクリプションレコードジェネレータ２５０に新しい一時サブスクリプションレコードを要求し、結果として得られた一時サブスクリプションレコードをセッションマネージャ２２５に転送することができる。代替として、サブスクリプションレコードレトリーバ２３５は、エラーメッセージの内容に基づいて、異なるアクションを行なうこともできる。たとえば、サブスクリプションレコードレトリーバ２３５は、レコードが見つからなかったことをエラーメッセージが指示する場合、一時サブスクリプションレコードを要求することができるが、エラーメッセージが別のタイプのエラーを指示する場合、サブスクリプションレコードレトリーバ２３５は単にエラーをセッションマネージャ２２５に転送することができる。
【００４４】
さまざまな実施形態において、サブスクリプションレコードレトリーバ２３５は、サブスクリプションレコードキャッシュ２４５を使用することができる。たとえば、さまざまな実施形態において、サブスクリプションレコードキャッシュ２４５は、以前Ｓｐインターフェイス２４０を介して取り出されたサブスクリプションレコードのキャッシュを含むことができる。そのような実施形態において、サブスクリプションレコードレトリーバ２３５は、要求メッセージを生成して送信する前に、最初に適切なサブスクリプションレコードを探してこのキャッシュを検索することができる。サブスクリプションレコードレトリーバ２３５はさらに、Ｓｐインターフェイス２４０を介して新しいサブスクリプションレコードを取り出すと、サブスクリプションレコードキャッシュ２４５を更新することができる。
【００４５】
別の例として、サブスクリプションレコードキャッシュ２４５は、代替的または付加的に、一時レコードキャッシュを含むことができる。そのようなキャッシュは、一時サブスクリプションレコードジェネレータ２５０によって作成された各一時レコードのコピーを格納することができる。代替として、そのようなキャッシュは、以前作成された一時レコードに関連付けられているサブスクリプション識別子のみを格納することができる。そのようなキャッシュは、たとえば、真のサブスクリプションレコードに遷移する場合に、有用となりうる。たとえば、サブスクリプションレコードレトリーバ２３５がサブスクリプションプロファイルを取り出す場合、サブスクリプションレコードレトリーバ２３５は、関連するサブスクリプション識別子に対して一時レコードが以前生成されたことを決定するためにそのようなキャッシュを検索することができる。次いで、サブスクリプションレコードレトリーバ２３５は、少なくとも１つのセッションが新しく使用可能なサブスクリプションレコードに遷移されるべきであることをセッションマネージャ２２５に指示するように動作可能であってもよい。
【００４６】
Ｓｐインターフェイス２４０は、たとえばＤｉａｍｅｔｅｒプロトコルを使用するＳＰＲ１３８のようなその他のネットワークノードと通信するように構成されたハードウェア、および／または機械可読ストレージ媒体の符号化された実行可能命令を備えるインターフェイスであってもよい。したがって、Ｓｐインターフェイス２４０は、サブスクリプションレコードの要求を送信し、サブスクリプションレコード、エラーメッセージ、およびイベントメッセージを受信するように構成されてもよい。
【００４７】
ユーザデータリポジトリが提供されるさまざまな代替的な実施形態において、セッション管理ノード２００は、Ｓｐインターフェイス２４０の代わりに、Ｕｄインターフェイス（図示せず）を含むことができる。Ｕｄインターフェイスを使用してサブスクリプションデータを取り出すために、本明細書において説明される方法と併せて、さまざまな変更が明らかとなろう。
【００４８】
サブスクリプションレコードキャッシュ２４５は、以前取り出されたサブスクリプションレコードおよび／または以前生成された一時レコードに関連するデータを格納することができる任意の機械可読媒体であってもよい。したがって、サブスクリプションレコードキャッシュ２４５は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および／または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。さまざまな実装形態において、サブスクリプションレコードキャッシュ２４５は、メモリ内のセッションストレージ２３０と共に格納されてもよいか、または別個のコンポーネントに格納されてもよい。
【００４９】
一時サブスクリプションレコードジェネレータ２５０は、ハードウェア、および／またはサブスクリプションレコードレトリーバ２３５の要求に応じて一時サブスクリプションレコードを作成するように構成された機械可読ストレージ媒体上の実行可能命令を含むことができる。一時サブスクリプションレコードジェネレータ２５０は、最初に、サブスクリプション識別子および／または要求メッセージを受信することができる。次いで、一時サブスクリプションレコードジェネレータ２３５は、引き続き、提供されたデータを使用して新しい一時レコードを生成することができる。たとえば、新しい一時レコードは、提供された各々のサブスクリプション識別子を含むことができる。新しい一時サブスクリプションレコードはまた、「ｕｎｋｎｏｗｎ（不明）」という名前および／または一時レコードが真のサブスクリプションレコードではないという一部のその他の指示を含むこともできる。
【００５０】
一時サブスクリプションレコードジェネレータはさらに、新しく使用可能な情報に基づいて、以前作成された一時レコードを更新することができる。たとえば、セッション管理ノードが以前提供されたサービスの補足要求メッセージを受信する場合、一時サブスクリプションレコードジェネレータは、補足要求メッセージに基づいて以前作成された一時レコードを更新することができる。補足要求メッセージは、たとえば、追加のサブスクリプション識別子を含むことができ、次いで、一時サブスクリプションレコードジェネレータインターフェイスは、この識別子を以前作成された一時レコードに追加することができる。
【００５１】
さまざまな代替の実施形態において、一時サブスクリプションレコードジェネレータ２５０は、ルールエンジン２６０を使用して、一時サブスクリプションレコードにデータを取り込むことができる。たとえば、ルールエンジンは、デフォルトのＱｏＳ特性が一時レコードに含まれるように定義することができる。
【００５２】
イベントリスナ２５５は、イベントを受信して処理するように構成されたハードウェア、および／または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、イベントリスナ２５５は、ＳＰＲがサブスクリプションレコードを追加、削除、または変更したことを指示するイベントメッセージをＳｐインターフェイス２４０を介して受信することができる。イベントリスナ２５５は、各シナリオを処理するように構成されてもよい。たとえば、新しいレコードがプロビジョニングされたことをイベントが指示する場合、イベントリスナ２５５は、サブスクリプションレコードレトリーバ２３５に通知することができる。さまざまな実施形態において、そのようなイベントメッセージはさらに、新しいサブスクリプションレコードに関連付けられている複数のサブスクリプション識別子を搬送することができる。そのような実施形態において、イベントリスナ２５５はさらに、それらのサブスクリプション識別子を抽出して、それらをサブスクリプションレコードレトリーバ２３５に送信することができる。上記で説明されているように、サブスクリプションレコードレトリーバ２３５は、新しく使用可能なサブスクリプションレコードが以前生成された一時レコードに取って代わるべきかどうかを決定するように構成されてもよい。
【００５３】
ルールエンジン２６０は、ルール結果の要求を受信し、コンテキストデータに基づいて適切なルールを適用するように構成されたハードウェア、および／または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、新しいセッションを確立する場合、セッションマネージャ２２５は、新しいセッションに使用されるべきＱｏＳ特性を決定するために、ルール結果をルールエンジン２６０に要求することができる。セッションマネージャ２２５によって提供されるか、またはルールエンジン２６０に使用可能なコンテキスト情報を使用して、ルールエンジン２６０は、ルールストレージ２６５に格納されている複数のルールを通して反復することができる。ルールエンジン２６０が使用可能なコンテキストデータに適用可能なルールを見出すと、ルールエンジンは、ルールの結果（たとえば、適切なＱｏＳ特性）をセッションマネージャ２２５に返すことができる。さまざまな実施形態において、ルールエンジン２６０は、真のサブスクリプションレコードおよび／または一時サブスクリプションレコードをコンテキストデータとして使用するように構成されてもよい。ルールエンジン２６０はさらに、真のレコードと一時レコードを区別して、この情報をコンテキストデータとして使用することができる。したがって、真のサブスクリプションレコードに適用されるルールとは異なるルールが、一時レコードに適用されてもよい。
【００５４】
ルールストレージ２６５は、ルールエンジン２６０によって使用されたルールを格納することができる任意の機械可読媒体であってもよい。したがって、ルールストレージ２６５は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および／または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。さまざまな実装形態において、サブスクリプションルールストレージ２６５は、メモリ内のセッションストレージ２３０および／またはサブスクリプションレコードキャッシュ２４５と共に格納されてもよいか、または別個のコンポーネントに格納されてもよい。さまざまな代替の実装形態において、ルールストレージ２６５は、セッション管理ノード２００とは異なるノード内に格納されてもよく、ルールエンジン２６０によってリモートにアクセス可能であってもよい。さらに別の代替形態として、ルールエンジン２６０およびルールエンジン２６５はいずれも、他の場所に配置されて、セッションマネージャ２２５によってリモートにアクセス可能であってもよい。
【００５５】
図３は、セッションデータを格納するための例示的なデータ配置３００を示す。データ配置３００は、セッションストレージ２３０のようなデータベースまたはキャッシュ内のテーブルであってもよい。代替として、データ配置３００は、一連のリンクされたリスト、アレイ、または類似するデータ構造であってもよい。したがって、データ配置３００は基礎をなすデータの抽象化であり、このデータの格納に適した任意のデータ構造が使用されてもよいことは明白なはずである。
【００５６】
データ配置３００は、たとえば、セッションＩＤフィールド３０５、加入者名フィールド３１０、サブスクリプションＩＤフィールド３１５、ＱｏＳフィールド３２０のような、複数のフィールドを含むことができる。データ配置３００は、多数の追加のフィールド３２５を含むことができる。
【００５７】
セッションＩＤフィールド３０５は、管理されているセッションごとに一意の識別子を格納することができる。加入者名３１０は、セッションに関連付けられている加入者の名前を格納することができる。サブスクリプションＩＤフィールド３１５は、セッションが属している加入者に関連付けられているサブスクリプション識別子を格納することができる。ＱｏＳフィールド３２０は、たとえば、最大ビットレート、総計最大ビットレート、および／または保証ビットレートのような、特定のセッションのさまざまなＱｏＳ特性を格納することができる。したがって、ＱｏＳフィールド３２０（および任意の他のフィールド）に示されるデータは簡略化されたものであってもよいことは明白なはずである。そのようなＱｏＳデータは、サブスクリプションレコード、要求メッセージから単に読み込まれてもよい、および／またはルールエンジンによって決定されてもよい。複数のフィールドは、サブスクリプションプロファイルから抽出されたか、またはサブスクリプションプロファイルに関連付けられているデータを格納することができる。たとえば、加入者名フィールド３１０、サブスクリプションＩＤフィールド３１５、および／またはＱｏＳフィールド３２０は、サブスクリプションレコード内の他の場所にも格納されるデータを格納することができる。
【００５８】
データ配置３００は、複数のセッションレコードを含むことができる。たとえば、セッションレコード３３０は、「Ｊｏｈｎ  Ｄｏｅ」という名前の加入者のタスク「０ｘ０４２Ｅ」に関連付けられる。Ｊｏｈｎ  Ｄｏｅは、サブスクリプション識別子ａ、ｂ、およびｃによって識別されうる。さらに、セッション０ｘ０４２Ｅは、両方向で５１２ｋｂｐｓのＱｏＳを提供される。セッションレコード３３０が関連付けられている加入者の実名を格納しているので、セッションレコード３３０は真のサブスクリプションレコードを使用して作成されたことは明白なはずである。
【００５９】
対照的に、セッションレコード３４０は、セッション「０ｘ３ＦＡ１」が「Ｕｎｋｎｏｗｎ（不明）」の加入者に関連付けられており、そのため一時サブスクリプションレコードに基づいて生成されたことを指示する。不明の加入者は、識別子ｄおよびｅを搬送する。さらに、セッション０ｘ３ＦＡ１は、アップストリームで３２ｋｂｐｓおよびダウンストリームで６４ｋｂｐｓのＱｏＳを与えられる。真のレコードと一時レコードを区別するために、さまざまな代替の方法が使用されてもよいことは明白なはずである。データ配置３００は、多数の追加のレコード３５０を含むことができる。
【００６０】
図４は、加入者要求を実行するための例示的なルールセット４００を示す。ルールセット４００は、ルールストレージ２６５のようなデータベースまたはキャッシュ内のテーブルであってもよい。代替として、ルールセット４００は、一連のリンクされたリスト、アレイ、または類似するデータ構造であってもよい。したがって、ルールセット４００は基礎をなすデータの抽象化であり、このデータの格納に適した任意のデータ構造が使用されてもよいことは明白なはずである。
【００６１】
ルールセット４００は、ＰＣＣルール作成において有用なルールセットを定義することができる。ルールストレージ２６５は、たとえばＩＰ−ＣＡＮセッション確立のような、さまざまなその他のアクションおよびセッションタイプに適用可能な多数の追加のルールセットを格納することができる。
【００６２】
ルールセット４００は、各ルールが特定のコンテキストに適用可能であるかどうかを決定するためのさまざまな条件を定義する基準フィールド４０５を含むことができる。ルールセット４００はさらに、適用可能である場合、各ルールに返されるべき結果を定義する結果フィールド４１０を含むことができる。
【００６３】
一例として、ルール４２５は、ＱｏＳが要求され、加入者カテゴリがＧｏｌｄであり、加入者名が不明ではない場合、ルールエンジンは両方向で５１２ｋｂｐｓのＱｏＳを返す必要がある。さらなる一例として、ルール４３０は、ＱｏＳが要求され、加入者カテゴリがＳｉｌｖｅｒであり、加入者名が不明ではない場合、ルールエンジンは両方向で２５６ｋｂｐｓのＱｏＳを返すべきであることを指示する。
【００６４】
さらなる一例として、ルール４３５は、加入者名が不明である場合、加入者カテゴリには関わりなく、ＱｏＳが３２ｋｂｐｓのアップストリームおよび６４ｋｂｐｓのダウンストリームとすべきことを指示する。したがって、ルールセット４００によれば、要求は、真のサブスクリプションレコードが使用不可能である場合、より低い帯域幅で確立されることになる。さまざまなその他の構成が使用されてもよいことは明白なはずである。たとえば、一時サブスクリプションレコードが使用される必要がある場合、要求は単に拒否されてもよい。ルールセット４００は、多数の追加のルール４４０を含むことができる。
【００６５】
図５は、例示的な加入者要求メッセージ５００を示す。例示的な要求メッセージ５００は、ＡＡＲメッセージである。しかし、要求メッセージが、代替としてＣＣＲであってもよいことは明白なはずである。２つのフォーマットのさまざまな相違が、当業者には明らかとなろう。要求メッセージ５００はさらに、初期要求メッセージ、または以前受信したＣＣＲの補足となる補足要求メッセージであってもよい。
【００６６】
要求メッセージ５００は、Ｄｉａｍｅｔｅｒプロトコルにより定義されるように、ＡＡＲヘッダ５０５を含むことができる。要求メッセージはさらに、要求に関連付けられている１つまたは複数のサブスクリプション識別子を指示する属性値ペア（ＡＶＰ：ａｔｔｒｉｂｕｔｅ−ｖａｌｕｅ  ｐａｉｒ）を含むことができる。そのようなサブスクリプション識別子は、対応するサブスクリプションレコードを見出すため、および／または一時サブスクリプションレコードを作成または更新するために使用されてもよい。
【００６７】
要求メッセージ５００はさらに、要求されているセッションのタイプを指示する１つまたは複数のメディアコンポーネントＡＶＰ５１５を含むことができる。要求メッセージ５００は、多数の追加のＡＶＰ５２０を含むことができる。
【００６８】
図６は、例示的なイベント通知メッセージ６００を示す。イベント通知メッセージ６００は、たとえば、そのデータベースへの変更を指示するためにＳＰＲによって送信された通知であってもよい。イベント通知メッセージ６００は、ヘッダ６０５、および報告されているイベントのタイプを指示するためのイベントタイプＡＶＰ６１０を含むことができる。一例として、イベントタイプＡＶＰ６１０は、新しいレコードがＳＰＲにおいて提供されたことを指示する。イベント通知メッセージ６００はまた、新しいサブスクリプションレコードに関連付けられているサブスクリプション識別子を指示するためのサブスクリプションＩＤ  ＡＶＰを含むことができる。イベント通知メッセージは、多数の追加のＡＶＰ６２０を含むことができる。イベント通知メッセージは、特に、後段においてさらに詳細に説明されるように、以前作成された一時レコードを置き換えるために使用されうる新しいサブスクリプションレコードが使用可能となるときを決定するために使用されてもよい。
【００６９】
図７は、サブスクリプションプロファイルに基づいて加入者要求を実行するための例示的な方法７００を示す。方法７００は、たとえば、メッセージハンドラ２２０、セッションマネージャ２２５、サブスクリプションレコードレトリーバ２３５、および一時サブスクリプションレコードジェネレータ２５０のような、セッション管理ノード２００のコンポーネントによって実行されてもよい。
【００７０】
方法７００は、ステップ７０５で開始して、ステップ７１０に進むことができ、ここでセッション管理ノード２００が別のノードから要求メッセージを受信する。そのような要求メッセージは、初期要求メッセージ、または補足要求メッセージであってもよい。次いで、方法７００はステップ７１５に進むことができ、ここでセッション管理ノード２００は、要求メッセージに含まれている任意のサブスクリプション識別子を抽出する。次いで、セッション管理ノード２００は、７２０においてローカルサブスクリプションレコードを最初に検索することによって、対応するサブスクリプションレコードを見出そうと試みることができる。次いで、セッション管理ノード２００は、ステップ７２５において、すべてのサブスクリプション識別子がキャッシュに見出されたかどうかを決定することができる。すべてのサブスクリプション識別子が見出された場合、さらなる検索が行なわれる必要はなく、方法７００はステップ７３５に進むことができる。それ以外の場合、セッション管理ノード２００は、ステップ７３０において、クエリを構築してＳＰＲに送信することにより残りのサブスクリプション識別子の検索を続行することができる。
【００７１】
さまざまな代替の実施形態において、セッション管理ノード２００は、サブスクリプションレコードキャッシュを保持しないこともある。そのような実施形態において、方法７００は直接ステップ７１５からステップ７３５に進むことができる。代替として、セッション管理ノード２００は、すべてのサブスクリプションレコードをローカルキャッシュに格納することができ、ＳＰＲに全くアクセスしなくてもよい場合もある。この場合、方法７００は直接ステップ７２０からステップ７３５に進むことができる。
【００７２】
セッション管理ノード２００は、ステップ７３５において、サブスクリプション識別子に対応する複数のレコードが見出されたかどうかを最初に決定することにより、検索結果を分析することができる。そのような結果は、要求メッセージに含まれるサブスクリプション識別子が相互に一致しなかったことを指示することができる。この場合には、方法７００はステップ７５５に進むことができ、ここでセッション管理ノード２００は、当業者に知られているようにエラーを処理することができる。たとえば、セッション管理ノード２００は、要求を拒否することができる。次いで、方法７００は、ステップ７７０で終了する。代替として、セッション管理ノード２００は、代わりにステップ７６０に進むことによって、この場合の一時サブスクリプションレコードを確立しようと試みることができる。
【００７３】
複数のレコードが返されなかった場合、方法７００は、代わりにステップ７３５からステップ７４０に進むことができ、ここでセッション管理ノード２００は、どのサブスクリプション識別子についてもレコードが見出されなかったかどうかを決定することができる。レコードが見出されなかった場合、セッション管理ノード２００は、ステップ７６０において新しい一時サブスクリプションレコードを生成し、続いてステップ７６５において新しい一時レコードを使用して要求を処理することができる。さまざまな例示の実施形態において、新しい一時レコードを作成する前に、セッション管理ノード２００は、サブスクリプション識別子のいずれかに対して一時サブスクリプションレコードが以前作成されているかどうかを決定することができる。作成されている場合、セッション管理ノード２００は、新しい一時レコードを作成するのではなく、ステップ７６０において最新の要求メッセージに基づいて以前作成された一時レコードを更新することができる。次いで、方法７００は、ステップ７７０で終了する。
【００７４】
しかし、提供されたサブスクリプション識別子について単一のレコードが見つかった場合、方法７００は、代わりにステップ７４０からステップ７４５に進むことができ、ここでセッション管理ノード２００は、真のサブスクリプションレコードを使用して要求を処理することができる。セッション管理ノード２００はまた、ステップ７５０において、いずれの以前作成された一時レコードをも処理することもできる。次いで、方法７００は、ステップ７７０で終了する。
【００７５】
図８は、イベント通知メッセージを処理するための例示的な方法８００を示す。方法８００は、たとえば、イベントリスナ２５５のような、セッション管理ノード２００のコンポーネントによって実行されてもよい。
【００７６】
方法８００は、ステップ８０５で開始して、ステップ８１０に進むことができ、ここでセッション管理ノード２００は別のノードからイベント通知メッセージを受信することができる。次いで、セッション管理ノード２００は、イベントタイプがＳＰＲにおける新しいサブスクリプションレコードのプロビジョニングを指示するかどうかを決定することにより、ステップ８１５において、どのタイプのイベントが受信したイベント通知に関連付けられているかを決定することを開始することができる。イベント通知が新しいサブスクリプションレコードの通知ではない場合、セッション管理ノード２００は、ステップ８３０において通知の追加の処理を実行することができる。適切な追加の処理が、当業者には明らかとなろう。
【００７７】
一方、新しいサブスクリプションレコードがプロビジョニングされたことをイベント通知が指示しない場合、方法８００はステップ８１５からステップ８２０に進むことができる。ステップ８２０において、セッション管理ノード２００は、通知から複数のサブスクリプション識別子を抽出することができる。次に、ステップ８２５において、セッション管理ノード２００は、サブスクリプション識別子に関連付けられている任意の以前作成された一時レコードを処理することができる。次いで、方法８００は、ステップ８２５で終了することができる。
【００７８】
図９は、サブスクリプションプロファイルのプロビジョニングに基づく遷移のための例示的な方法９００を示す。方法９００は、たとえば、セッションマネージャ２２５および／またはサブスクリプションレコードレトリーバ２３５のような、セッション管理ノード２００のコンポーネントによって実行されてもよい。方法９００は、真のサブスクリプションレコードに関連付けられている任意の一時レコードを処理するために行なわれるステップを指示することができる。したがって、方法９００は、方法７００のステップ７５０および／または方法８００のステップ８２５に対応することができる。
【００７９】
方法９００は、ステップ９０５で開始して、ステップ９１０に進むことができ、ここでセッション管理ノード２００は、提供されたサブスクリプション識別子を含む任意のセッションを探してセッションストレージ２３０を検索することができる。代替として、または加えて、セッション管理ノード２００は、一時レコードキャッシュがある場合、一致する一時レコードのいずれかが存在するかどうかを決定するために、一時レコードキャッシュを検索することができる。ステップ９１５において、セッション管理ノード２００は、サブスクリプション識別子に対して一致するセッションが見つかったかどうかを決定することができる。セッションが見つからなかった場合、方法９００は、ステップ９３５で終了することができる。
【００８０】
一方、一致するセッションが見つかった場合、セッション管理ノード２００は、一致するセッションが一時レコードに基づいて確立されたかどうかを決定することができる。たとえば、セッション管理ノード２００は、セッションの加入者名が「ｕｎｋｎｏｗｎ（不明）」であるかどうかを決定することができる。セッションが一時レコードに基づいて作成されていない場合、方法９００は単にステップ９３５で終了することができる。
【００８１】
しかし、セッションが一時レコードに基づいて作成されている場合、方法はステップ９２０からステップ９２５に進むことができ、ここでセッション管理ノード２００は、現在使用可能である真のサブスクリプションレコードに含まれているデータを含めるようにセッションレコードを更新することができる。たとえば、セッション管理ノード２００は、不明の名前を加入者の実名に置き換えることができる。次いで、セッション管理ノード２００は、影響を受けたセッションを更新することができる。たとえば、セッション管理ノード２００は、セッションの任意の他の情報が変更されるべきであるかどうかを決定するために、ルールエンジンを呼び出すことができる。セッション管理ノード２００はまた、メッセージを生成してＳＧＷ、ＰＧＷ、または別のノードに送信し、更新されたセッション情報をそのようなノードに通知することもできる。次いで、方法９００は、ステップ９３０で終了することができる。
【００８２】
例示的な加入者ネットワーク１００およびセッション管理ノード２００の動作のための例示的なコンポーネントおよび方法を説明してきたが、これ以降、例示的な加入者ネットワーク１００およびセッション管理ノード２００の動作の例が図１から図９を参照して示される。セッション管理ノード２００は、ＰＣＲＮ１３６に対応することができ、データ配置３００は、セッションストレージ２３０のコンテンツを指示することができ、ルールセット４００は、ルールストレージ２６５のコンテンツを指示することができる。
【００８３】
セッションレコード３４０に示されるように、セッションは以前作成されており、現在一時サブスクリプションレコードに基づいてセッション管理ノード２００によって管理されている。一時サブスクリプションレコードは、サブスクリプション識別子ｄおよびｅを含む要求に基づいて作成された。
【００８４】
次いで、セッション管理ノードは、要求メッセージ５００を受信する。セッションマネージャ２２５は、要求メッセージを、セッションレコード３４０に関連付けられている補足要求メッセージとして識別する。セッションマネージャ２２５は、サブスクリプション識別子ｄおよびｆに関連付けられているサブスクリプションレコードを、サブスクリプションレコードレトリーバ２３５に要求する。次いで、サブスクリプションレコードレトリーバは、ステップ７２０において、サブスクリプションレコードキャッシュ２４５をチェックし、ステップ７３０において、指定されたサブスクリプション識別子に関連付けられているいずれのレコードについてもＳＰＲ１３８にクエリを行なう。単一の真のサブスクリプションレコードが返された場合、セッション管理ノード２００は、新しいサブスクリプションレコードを考慮に入れてセッションレコード３４０を更新する。しかし、この時点において、使用可能なサブスクリプションレコードはない。したがって、ステップ７６０において、セッションマネージャは、要求メッセージ５００により指示されるように、追加のサブスクリプション識別子「ｆ」を含めるようにセッションレコード３４０を更新する。セッションマネージャ２２５はまた、ステップ７６５において、当業者に知られているように、補足要求メッセージ５００を考慮に入れてセッションに任意のその他の更新も行なう。
【００８５】
後に、イベントリスナ２５５は、イベント通知６００をＳＰＲ１３８から受信する。イベントリスナ２５５は、ステップ８１５において、イベントが新しいレコードイベントであると決定し、ステップ８２０において、サブスクリプション識別子ｄ、ｅ、およびｆをサブスクリプション識別子ＡＶＰ６１５から抽出する。次に、ステップ９１０において、セッションマネージャは、セッションレコード３４０を見出す。セッションレコード３４０は、「ｕｎｋｎｏｗｎ（不明）」加入者名により指示されるように、一時サブスクリプションレコードに基づいて作成されているので、ステップ９２５において、セッションマネージャ２２５は、真のサブスクリプションレコードのデータを含めるようにセッションレコード３４０を更新する。したがって、「ｕｎｋｎｏｗｎ（不明）」は、加入者名フィールド３１０の「Ｊｏｈｎ  Ｃａｒｄｈｏｌｄｅｒ」に置き換えられる。次に、ステップ９３０において、ルールエンジン２６０は、Ｊｏｈｎ  Ｃａｒｄｈｏｌｄｅｒのサブスクリプションレコードが「Ｓｉｌｖｅｒ」の加入者カテゴリを指示するので、ルール４３０がセッション０ｘ３ＦＡ１に適用可能であると決定する。したがって、セッションマネージャ２２５は、セッションレコード３４０のＱｏＳフィールド３２０を両方向で２５６ｋｂｐｓに変更する。最後に、セッションマネージャ２２５は、新しいＱｏＳ情報を含むＲＡＲメッセージを構築し、ＲＡＲを導入および実施のためにＰＧＷ１３４にプッシュする。
【００８６】
前述の説明によれば、さまざまな例示的な実施形態は、サブスクリプションレコードを取り出す際に遭遇するエラーの処理を堅固にするために提供される。特に、一時サブスクリプションレコードを生成することにより、真のサブスクリプションレコードが使用可能ではない場合に、セッションの要求が実行されうる。さらに、一時レコードは、真のサブスクリプションレコードが使用可能になった後の時点で置き換えられてもよく、これによりセッションの遷移を容易にすることができる。
【００８７】
本発明のさまざまな例示的な実施形態が、ハードウェアおよび／またはファームウェアにおいて実施されうることが、上記の説明から明らかとなろう。さらに、さまざまな例示的な実施形態は、本明細書において詳細に説明される動作を実行するために少なくとも１つのプロセッサによって読み込まれ実行されうる、機械可読ストレージ媒体に格納された命令として実施されてもよい。機械可読ストレージ媒体は、パーソナルまたはラップトップコンピュータ、サーバ、またはその他のコンピューティングデバイスのような、機械によって読取り可能な形態で情報を格納するための任意のメカニズムを含むことができる。したがって、機械可読ストレージ媒体は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および類似するストレージ媒体を含むことができる。
【００８８】
当業者には、本明細書における任意のブロック図が、本発明の原理を具現する例示的な回路の概念的な図を表すことが理解されるであろう。同様に、任意の流れ図、フローダイアグラム、状態遷移図、擬似コードなどは、機械可読媒体において概ね表されてもよく、コンピュータまたはプロセッサにより（そのようなコンピュータまたはプロセッサが明示的に示されているかどうかにかかわらず）実行されてもよいさまざまなプロセスを表すことが理解されよう。
【００８９】
さまざまな例示的な実施形態が、その特定の例示的な態様を特に参照して詳細に説明されてきたが、本発明はその他の実施形態に対応可能であり、その詳細はさまざまな明白な意味において変更が可能であることを理解されたい。当業者には容易に理解されるように、本発明の趣旨および範囲を逸脱することなく変形および変更が行なわれてもよい。したがって、前述の開示、説明、および図面は、例示を目的とするに過ぎず、本発明を何ら限定するものではなく、本発明は特許請求の範囲によってのみ定義される。
【図１】
0005727052.tif 000002
【図２】
0005727052.tif 000003
【図３】
0005727052.tif 000004
【図４】
0005727052.tif 000005
【図５】
0005727052.tif 000006
【図６】
0005727052.tif 000007
【図７】
0005727052.tif 000008
【図８】
0005727052.tif 000009
【図９】
0005727052.tif 000010