ローミング加入者は、ネットワークオペレータが加入者に関してわずかな情報しか有していないので、訪問先公衆陸上移動ネットワーク(VPLMN:visited public land mobile network)に対して困難が生じる。VPLMNは、有しているわずかな情報に基づいてローミング加入者にセッションを提供するためにポリシー決定を行なう必要がある。3GPP仕様は、加入者のセッションの確立に必要なPCCおよび/またはQoSルールを取得するために加入者のホーム公衆陸上移動ネットワーク(HPLMN:home public land mobile network)と通信するようVPLMNに指示する。VPLMNは、サービスをどのように提供するかを決定するHPLMNとの契約によるローミング協定を有することができる。しかし、3GPP仕様は、ネットワークオペレータが、契約によるローミング協定に従って、どのように複数のHPLMNを管理してサービスを提供するかについては、言及していない。
訪問先PCRNにおけるローミング協定は、ローミング加入者がセッションの確立を求める場合に、VPLMNが契約によるローミング協定を実施できるようにすることができる。ローミング協定は、ローミング加入者のセッション確立要求を処理するために必要な追加情報を提供することができる。VPLMNはまた、ローミング加入者に関心を持ち、ローミング加入者に対してポリシーを実施しようとする。たとえば、VPLMNは、ローミング加入者に限度を設けることにより、ローミング加入者によって使用されるネットワークリソースを節約しようとすることもできる。加えて、HPLMNが契約によるローミング協定に従ってPCC/QoSルールを提供すべきであっても、VPLMNはまた、PCC/QoSルールが受信される場合に契約によるローミング協定を実施しようとすることもできる。訪問先PCRNにおけるローミング協定は、これらのポリシー決定を行なう能力をVPLMNにもたらすことができる。
これ以降、類似する番号が類似するコンポーネントまたはステップを示す図面を参照して、さまざまな例示的な実施形態の広範な態様が開示される。
図1は、さまざまなデータサービスを提供するための例示的な加入者ネットワーク100を示す図である。例示的な加入者ネットワーク100は、電気通信ネットワーク、またはさまざまなサービスへのアクセスを提供するためのその他のネットワークであってもよい。さまざまな実施形態において、加入者ネットワーク100は、公衆陸上移動ネットワーク(PLMN)であってもよい。例示的な加入者ネットワーク100は、ユーザ機器110、基地局120、進化型パケットコア(EPC:evolved packet core)130、パケットデータネットワーク140、およびアプリケーション機能(AF)150を含むことができる。
ユーザ機器110は、エンドユーザにデータサービスを提供するためにパケットデータネットワーク140と通信するデバイスであってもよい。そのようなデータサービスは、たとえば、音声通信、テキストメッセージング、マルチメディアストリーミング、およびインターネットアクセスを含むことができる。さらに具体的には、さまざまな例示的な実施形態において、ユーザ機器110は、パーソナルまたはラップトップコンピュータ、無線電子メールデバイス、携帯電話、タブレット、テレビジョンセットトップボックス、またはEPC130を介して他のデバイスと通信することができる任意のその他のデバイスである。
基地局120は、ユーザ機器110とEPC130との間の通信を可能にするデバイスであってもよい。たとえば、基地局120は、3GPP規格により定義されるevolved NodeB(eNodeB)のような、無線基地局であってもよい。したがって、基地局120は、電波のような第1の媒体を介してユーザ機器110と通信し、イーサネット(登録商標)ケーブルのような第2の媒体を介してEPC130と通信するデバイスであってもよい。基地局120は、EPC130と直接通信してもよいか、または多数の中間ノード(図示せず)を介して通信することもできる。さまざまな実施形態において、ユーザ機器110に移動性をもたらすために、複数の基地局(図示せず)が存在してもよい。さまざまな代替的な実施形態において、ユーザ機器110が、EPC130と直接通信できることに留意されたい。そのような実施形態において、基地局120は存在しなくてもよい。
進化型パケットコア(EPC)130は、ユーザ機器110にパケットデータネットワーク140へのゲートウェイアクセスを提供するデバイスまたはデバイスのネットワークであってもよい。EPC130はさらに、提供されたデータサービスの使用料を加入者に課金して、その特定の体感品質(QoE)基準が満たされることを保証することができる。したがって、EPC130は、少なくとも部分的に、3GPP TS29.212、29.213、および29.214規格に従って実施されてもよい。したがって、EPC130は、サービングゲートウェイ(SGW)132、パケットデータネットワークゲートウェイ(PGW)134、ポリシーおよび課金ルールノード(PCRN)136、ならびにサブスクリプションプロファイルリポジトリ(SPR)を含むことができる。
サービングゲートウェイ(SGW)132は、EPC130へのゲートウェイアクセスを提供するデバイスであってもよい。SGW132は、ユーザ機器110により送信されたパケットを受信するEPC130内の第1のデバイスの1つであってもよい。さまざまな実施形態はまた、SGW132の前にパケットを受信する移動管理エンティティ(MME:mobility management entity)(図示せず)を含むことができる。SGW132は、そのようなパケットをPGW134に向けて転送することができる。SGW132は、たとえば、複数の基地局(図示せず)の間のユーザ機器110の移動性を管理すること、およびサービスが提供されるフローごとに特定のサービス品質(QoS)特性を実施することのような、複数の機能を実行することができる。Proxy Mobile IP規格を実施するような、さまざまな実施態様において、SGW132は、ベアラバインディングおよびイベント報告機能(BBERF:Bearer Buinding and Event Reporting Function)を含むことができる。さまざまな例示的な実施形態において、EPC130は、複数のSGW(図示せず)を含むことができ、各SGWは、複数の基地局(図示せず)と通信することができる。
パケットデータネットワークゲートウェイ(PGW)134は、パケットデータネットワーク140へのゲートウェイアクセスを提供するデバイスであってもよい。PGW134は、SGW132を介してパケットデータネットワーク140に向けてユーザ機器110により送信されたパケットを受信するEPC130内の最終デバイスであってもよい。PGW134は、各サービスデータフロー(SDF)に対してポリシーおよび課金制御(PCC)ルールを実施するポリシーおよび課金実施機能(PCEF:policy and charging enforcement function)を含むことができる。したがって、PGW134は、ポリシーおよび課金実施ノード(PCEN:policy and charging enforcement node)であってもよい。PGW134は、たとえば、パケットフィルタリング、深パケット検査、および加入者課金サポートのような、多数の追加の特徴を含むことができる。PGW134はまた、不明なアプリケーションサービスのリソース割り振りを要求する責任を負うこともできる。
ポリシーおよび課金ルールノード(PCRN)136は、アプリケーションサービスの要求を受信し、PCCルールを生成し、PCCルールをPGW134および/またはその他のPCEN(図示せず)に提供するデバイスまたはデバイスのグループであってもよい。PCRN136は、Rxインターフェイスを介してAF150と通信することができる。PCRN136は、AF150から認証および許可要求(AAR:Authentication and Authorization Request)160の形態のアプリケーション要求を受信することができる。AAR160を受信すると、PCRN136は、アプリケーション要求160を満たすために少なくとも1つの新しいPCCルールを生成することができる。
PCRN136はまた、それぞれGxxおよびGxインターフェイスを介してSGW132およびPGW134と通信することができる。PCRN136は、SGW132またはPGW134からクレジット制御要求(CCR:credit control request)(図示せず)の形態のアプリケーション要求を受信することができる。AAR160の場合と同様に、CCRを受信すると、PCRNは、アプリケーション要求170を満たすために少なくとも1つの新しいPCCルールを生成することができる。さまざまな実施形態において、AAR160およびCCRは、別個に処理されるべき2つの独立したアプリケーション要求を表すことができるが、その他の実施形態において、AAR160およびCCRは、単一のアプリケーション要求に関する情報を搬送することができ、PCRN136は、AAR160およびCCRの組み合わせに基づいて少なくとも1つのPCCルールを作成することができる。さまざまな実施態様において、PCRN136は、単一メッセージおよび対メッセージのアプリケーション要求を処理することができてもよい。
新しいPCCルールが作成されるか、またはPGW134により要求されると、PCRN136は、Gxインターフェイスを介してPCCルールをPGW134に提供することができる。たとえばPMIP規格を実施するような、さまざまな実施形態において、PCRN136はまた、QoSルールを生成することができる。新しいQoSルールが作成されるか、またはSGW132により要求されると、PCRN136は、Gxxインターフェイスを介してQoSルールをSGW132に提供することができる。
サブスクリプションプロファイルリポジトリ(SPR:subscription profile repository)138は、加入者ネットワーク100の加入者に関連する情報を格納するデバイスであってもよい。したがって、SPR138は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。SPR138は、PCRN136のコンポーネントであってもよいか、またはEPC130内の独立したノードを構成してもよい。SPR138によって格納されたデータは、各加入者の識別子、ならびに帯域幅限度、課金パラメータ、および加入者優先度のような各加入者のサブスクリプション情報の指示を含むことができる。
パケットデータネットワーク140は、ユーザ機器110と、AF150のようなパケットデータネットワーク140に接続されたその他のデバイスとの間のデータ通信を提供するための任意のネットワークであってもよい。パケットデータネットワーク140はさらに、たとえば、パケットデータネットワーク140と通信するさまざまなユーザデバイスに電話および/またはインターネットサービスを提供することができる。
アプリケーション機能(AF)150は、知られているアプリケーションサービスをユーザ機器110に提供するデバイスであってもよい。したがって、AF150は、たとえば、ビデオストリーミングまたは音声通信サービスをユーザ機器110に提供するサーバまたはその他のデバイスであってもよい。AF150はさらに、Rxインターフェイスを介してEPC130のPCRN136と通信することができる。AF150がユーザ機器110への知られているアプリケーションサービスの提供を開始しようとする場合、AF150は、Diameterプロトコルに従う認証および許可要求(AAR)160のような、アプリケーション要求メッセージを生成して、アプリケーションサービスにリソースが割り振られるべきであることをPCRN136に通知することができる。このアプリケーション要求メッセージは、アプリケーションサービスを使用している加入者の識別、加入者のIPアドレス、関連するIP−CANセッションのAPN、および/または要求されたサービスを提供するために確立される必要のある特定のサービスデータフローの識別のような情報を含むことができる。AF150は、そのようなアプリケーション要求を、Rxインターフェイスを介してPCRN136に伝達することができる。
図2は、さまざまなデータサービスにローミングアクセスを提供するための例示的な加入者ネットワーク200を示す図である。例示的な加入者ネットワーク200は、例示的なネットワーク100に対応することができる。EPC230vは、UE210のようなローミングUEのためにパケットデータネットワーク240への訪問先アクセスを提供することができ、それによりUE210に関連付けられているトラフィックはSGW232vおよびPGW234vを経由して流れる。あるいは、または加えて、EPC230vは、UE210のようなローミングUEのためにパケットデータネットワーク240へのホームルーテッドアクセスを提供することができ、それによりUE210に関連付けられているトラフィックはSGW232vおよびPGW234hを経由して流れる。したがって、SGW232vは、PGW234hと通信することができる。同様に、SGW232hは、EPC230hが、基地局220hに接続されたその他のローミングUE(図示せず)に類似のアクセスを提供することができるように、PGW234vと通信することができる。
UE210は、基地局220hの圏外にある場合に限り、基地局220vと通信することができる。しかし、基地局220vは、UE210のホーム公衆陸上移動ネットワーク(HPLMN)に接続しなくてもよい。代わりに、基地局220vは、UE210の訪問先公衆陸上移動ネットワーク(VPLMN)に属すことができ、そのようなものとして、UE210に関連付けられているさまざまなデータ、そこに関連付けられている加入者、および/またはUE210への接続を提供する際に有用または必要なその他のデータにアクセスできなくてもよい。たとえば、SPR238vは、UE210に関連付けられている情報を含まないこともあり、代わりに、そのような情報はSPR238hに格納されてもよい。SPR238hに格納されている加入者情報に基づいてサービスを提供できるようにするため、PCRN236vは、S9セッションを介してPCRN236hと通信することができる。
さまざまな実施態様において、PCRN236vは、UE210に関連付けられている要求を、S9セッションを介してPCRN236hに転送することができる。PCRN236hは、これらのメッセージを処理して、たとえばPCCおよび/またはQoSルールを生成することができる。次いで、PCRN236hは、PGW234vおよび/またはSGW232vでのインストールのためにそれらのルールをPCRN236vに転送することができる。ホームルーテッドアクセスの場合、PCRN236hはまた、PCCルールをPGW234hで直接インストールすることもできる。PCRN236h、236vの協調的な特性を考慮して、これらのデバイスは、相互に関して「パートナーデバイス」と称されてもよい。
さまざまな実施態様において、各パートナーデバイスは、ホームデバイスおよび訪問先デバイスとして動作することができてもよい。たとえば、別のローミングUE(図示せず)が基地局220hに接続された場合、PCRN236hは加えて、要求をPCRN236vに転送することができてもよく、PCRN236vは、適切なルールをインストールのためにPCRN236hに返すことができてもよい。
図3は、訪問先PCRN236vとホームPCRN236hとの間の例示的なインターフェイス310を示す図である。インターフェイス310は、S9インターフェイスであってもよい。インターフェイス310は、訪問先PCRN236vと加入者のホームPCRN236hとの間でセッション確立要求、提供済みルール、およびその他の情報を伝達するために使用されてもよい。インターフェイス310は、3GPP TS129.215仕様に記述されているDiameterプロトコルに従ってメッセージを使用することができる。
インターフェイス310は、ゼロ以上のS9セッション320を含むことができる。S9セッション320は、ローミング加入者のユーザ機器に対応することができる。PCRN236vは、ローミング加入者のユーザ機器がEPC230v経由の接続の確立を求める場合にはいつでも、PCRN236hと新しいS9セッション320を確立することができる。PCRN236vまたはPCRN236hは、ローミング加入者がEPC230vから切断する場合にはいつでも、S9セッション320を終了することができる。
S9セッション320は、ゼロ以上のS9サブセッション330を含むことができる。S9サブセッションは、ローミング加入者のIP−CANセッションに対応することができる。S9サブセッションは、PCRN236vが新しいIP−CANまたはGateway−Controlセッションの要求を受信するたびに作成されてもよい。情報は、対応するIP−CANセッションに対してサブセッションレベルでPCRN236vとPCRN236hとの間で渡されてもよい。あるいは、情報は、加入者のユーザ機器の任意のIP−CANセッションに対してセッションレベルで渡されてもよい。PCRN236vは、各PCRN236hおよび/または各ローミングパートナーに対してS9セッションおよびS9サブセッションの数を監視することができる。
図4は、ローミング加入者にサービスを提供するための例示的な訪問先PCRN236vを示す図である。PCRN236vは、Gxxインターフェイス405、Gxインターフェイス410、メッセージハンドラ420、ユーザインターフェイス430、ローミング協定ストレージ440、ローミングパートナープロファイルストレージ450、ローミングマネージャ460、S9インターフェイス470、およびルールバリデータ480を含むことができる。
Gxxインターフェイス405は、ハードウェア、および/またはSGW232vのようなSGWと通信するように構成された機械可読ストレージ媒体の符号化された実行可能命令を備えるインターフェイスであってもよい。そのような通信は、3GPP TS29.212に従って実施されてもよい。したがって、Gxxインターフェイス405は、QoSルールの要求を受信して、インストールのためにQoSルールを伝送することができる。Gxxインターフェイス405はさらに、UEに発信されたアプリケーション要求、セッション要求、およびイベント通知を、クレジット制御要求(CCR)の形態で受信することができる。
Gxインターフェイス410は、ハードウェア、および/またはPGW234vのようなPGWと通信するように構成された機械可読ストレージ媒体の符号化された実行可能命令を備えるインターフェイスであってもよい。そのような通信は、3GPP TS29.212に従って実施されてもよい。したがって、Gxインターフェイス410は、PCCルールの要求を受信して、インストールのためにPCCルールを伝送することができる。Gxインターフェイス410はさらに、UEに発信されたアプリケーション要求、セッション要求、およびイベント通知を、CCRの形態で受信することができる。
メッセージハンドラ420は、ハードウェア、および/またはGxxインターフェイス405および/またはGxインターフェイス410を介して送信および/または受信されるルール要求を処理するように構成された機械可読ストレージ媒体の実行可能命令を含むことができる。たとえば、メッセージハンドラ420は、ローミング加入者についてPGW234vからルール要求を受信することができる。PCRN236vがポリシー決定を行なった後、メッセージハンドラ420は、メッセージを構築してGxxインターフェイス405および/またはGxインターフェイス410上で伝送し、ポリシー決定の結果についてその他のノードに通知することができる。たとえば、ノード136が適用可能なポリシーに従って新しいPCCルールを作成する場合、ノード136は再許可要求(RAR:reauthorization request)メッセージを構築して、新しいPCCルールを適切なPGWにプッシュすることができる。
ユーザインターフェイス430は、ハードウェア、および/またはPCRN236vへのアクセスをネットワークオペレータに提供するように構成された機械可読ストレージ媒体の実行可能命令を含むことができる。ユーザインターフェイス430は、ネットワークオペレータから入力を受信することができ、たとえばキーボードおよび/またはマウスのようなハードウェアを含むことができる。ユーザインターフェイス430はまた、ネットワークオペレータに出力として情報を表示することができ、たとえばモニターを含むことができる。ネットワークオペレータは、ユーザインターフェイス430を介してローミング協定ストレージ440および/またはローミングパートナープロファイルストレージ450にアクセスすることができる。ユーザインターフェイス430は、ローミング協定およびローミングパートナープロファイルを作成するためのさまざまなオプションをネットワークオペレータに提供することができる。
ローミング協定ストレージ440は、PCRN236vに使用されるローミング協定を格納することができる任意の機械可読媒体を含むことができる。したがって、ローミング協定ストレージ440は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。図5に関して後段でさらに詳細に説明されるように、ローミング協定ストレージ440は、多数のローミング協定の定義を格納することができる。ローミング協定ストレージ440は、頻繁に使用されるローミング協定を格納するためのキャッシュを含むことができる。
ローミングパートナープロファイルストレージ450は、PCRN236vに使用されるローミング協定を格納することができる任意の機械可読媒体を含むことができる。したがって、ローミングパートナープロファイルストレージ450は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。図6に関して後段でさらに詳細に説明されるように、ローミングパートナープロファイルストレージ450は、多数のローミング協定の定義を格納することができる。ローミングパートナープロファイルストレージ450は、頻繁に使用されるローミング協定を格納するためのキャッシュを含むことができる。
ローミングマネージャ460は、ハードウェア、および/またはローミング加入者のサービス要求を処理するように構成された機械可読ストレージ媒体の実行可能命令を含むことができる。ローミングマネージャ460は、Gxインターフェイス405またはGxxインターフェイス410を介して受信されるCCRメッセージの形態で要求を受信することができる。ローミングマネージャ460は、要求が、HPLMNがVPLMNと契約によるローミング協定を行なったローミング加入者に対するものであるかどうかを決定することができる。したがって、ローミングマネージャ460は、サービスの要求から1つまたは複数のサブスクリプションIDを抽出することができる。ローミングマネージャ460は、抽出されたサブスクリプションIDを、ローミングパートナープロファイルストレージ450に格納されているさまざまなネットワーク識別子と比較することができる。ローミングマネージャ460はまた、ローミング協定ストレージ440にアクセスすることによって、適用可能なローミング協定を決定することができる。特定のローミングパートナーが、訪問先ネットワークを使用する過剰な加入者数、またはローミング協定による過剰なセッション数を有する場合、ローミングマネージャ460は、追加のローミング加入者にサービスを提供することを拒否することができる。ローミングマネージャ460は、ローミング協定ストレージ440およびローミングパートナープロファイルストレージ450に格納されている情報を使用して、S9インターフェイス470上で加入者のPCRN236hのようなホームPCRNとの通信セッションを確立することができる。ローミングマネージャ460は、サービス要求に含まれている任意の情報を、S9インターフェイスを介してホームPCRNに転送することができる。ローミングマネージャ460によって実行されるステップを含む例示的な方法のさらに詳細な説明は、後段において図7に関して説明される。
S9インターフェイス470は、ハードウェア、および/またはPCRN236hのような別のPCRNと通信するように構成された機械可読ストレージ媒体の符号化された実行可能命令を備えるインターフェイスであってもよい。そのような通信は、3GPP TS29.215に従って実施されてもよい。したがって、S9インターフェイス470は、PCC/QoSルールの要求を、パートナーデバイスに転送して、VPLMNでのインストールのためにパートナーデバイスからPCC/QoSルールを受信することができる。S9インターフェイス470は、VPLMNに接続されている各ローミングUEにS9セッションを含むことができる。パートナーデバイスは、UEがVPLMNに接続されている間、加入者の接続を監視および更新するために、確立されたS9セッションを使用することができる。図3に関して上記で説明されるように、S9セッションは複数のS9サブセッションを含むことができ、ローミング加入者のユーザ機器は複数のIP−CANセッションを使用する。
ルールバリデータ480は、ハードウェア、および/またはパートナーデバイスから受信されたPCC/QoSルールを処理するように構成された機械可読ストレージ媒体の実行可能命令を含むことができる。ルールバリデータ480は、S9インターフェイス470を介して受信されたPCC/QoSルールを処理することができる。ルールバリデータ480は、PCC/QoSルールを送信したローミングパートナーを決定することができる。ルールバリデータ480は、ローミング協定ストレージ440にアクセスして、受信したルールがローミング協定の下で許容されるかどうかを決定することができる。したがって、ルールバリデータ480は、受信したルールを、ローミング協定内のルールのセットと比較することができる。受信したルールがローミング協定に従って許容される場合、ルールバリデータ480は、ルールをインストールのためにメッセージハンドラ420に転送することができる。受信したルールが有効ではない場合、ルールバリデータ480は、有効となるPCC/QoSルールを決定することができ、S9インターフェイス470を介して送信された応答に有効なルールを含むことができる。ルールバリデータ480によって実行されるステップを含む例示的な方法のさらに詳細な説明は、後段において図7に関して説明される。
図5は、例示的なローミング協定505を格納するための例示的なデータ構造500を示す図である。データ構造500が、たとえば、オブジェクト、アレイ、リンクされたリスト、またはツリーのようなさまざまなデータ構造を使用して実施されてもよいことは、明らかである。データ構造500は、ローミング協定ストレージ435またはPCRN236vにアクセス可能な別のコンピュータ可読ストレージ媒体に格納されてもよい。例示的なローミング協定505は、PCRN236vによって使用される1つの可能なローミング協定であってもよい。ローミング協定505は、ユーザインターフェイス430を使用してネットワークオペレータによって構成されてもよいか、もしくはコンピュータ可読ストレージ媒体または他のソースからインポートされてもよい。PCRN236vが複数のローミング協定を使用することができ、ローミング協定が大きく異なることがありうることは明らかである。
ローミング協定505は、PCRN236vがどのようにローミング加入者のセッションを管理すべきかに関する情報を含むローミング協定であってもよい。ローミング協定505は、名前510、説明520、ローミングパートナーのセット530、S9の限度540、PCCルールのセット550、およびQoSルールのセット560を含む複数のフィールドを含むことができる。
名前510は、ローミング協定に一意の名前を指示することができる。名前510は、特定のローミング協定を識別するために使用されてもよい。名前510は、ローミング協定を構成するネットワークオペレータによって設定されてもよい。例示的なローミング協定505は、名前510に指示されるように「Class B」と称されてもよい。説明520は、ローミング協定のテキストによる説明を含むことができる。説明520は、ネットワークオペレータまたはローミング協定505を閲覧する他の人に、ローミング協定の解説を提供することができる。たとえば、説明520は、例示的なローミング協定505がアクセス制限のあるローミングパートナーに対するものであることを指示することができる。
ローミングパートナーのセット530は、PCRN236vのVPLMNとのローミング協定に合意した各HPLMNにエントリ535を含むことができる。後段において説明されるデータ構造600は、ローミングパートナーに関する情報を格納するために使用されてもよい。ローミングパートナーのセット530は、データ構造600の直接または間接参照を含むことができるか、またはエントリ535にデータ構造自体を含むことができる。簡単にするため、図5には、ローミングパートナーの名前のみが示される。ローミングパートナーの例として、エントリ535は、Verizon535aおよびAT&T535bを含むことができる。エントリ535cは、追加のローミングパートナーが含まれうることを指示することができる。
S9限度540は、その他のサービスプロバイダのローミング加入者によって確立されうるセッションの数に対する限度を含むことができる。S9限度540は、S9セッションの数540、S9セッションあたりのS9サブセッションの数544、およびS9セッションの合計数546を含むことができる。S9限度の数540は、ローミングパートナーごと、またはローミング協定ごとに測定されてもよい。加入者協定505は、1つまたは複数のS9限度を設定するか、または無制限のS9セッションおよび/またはサブセッションを許容することができる。例示的なS9限度540が、図5に示されている。たとえば、S9セッション542は、10、000の加入者のローミングパートナーがPCRN236vを介するローミング接続の確立を許容されることを指示することができる。もう1つの例において、S9セッションごとのS9サブセッション544は、各ローミングユーザ機器デバイスが2つのS9サブセッションを有することが許容される、つまりローミング接続に2つのIP−CANセッションが許容されることを指示することができる。もう1つの例において、合計S9サブセッション546は、ローミングパートナーの加入者が15、000のS9サブセッションを確立することができる、つまり15、000のIP−CANセッションを確立できることを指示することができる。
PCCルールのセット550は、ローミング協定に従ってローミング加入者に許容されるPCCルールを指示することができる。PCCルールのセット550は、ローミング加入者のホームPCRN236hから受信されたPCCルールと比較されてもよい。PCCルールのセット550はまた、受信したPCCルールがリストにない場合、有効なPCCルールを提供するために使用されてもよい。PCCルールのセット550は、各PCCルールのエントリ555を含むことができる。エントリ555は、各PCCルールのルール名を含むことができる。あるいは、エントリ555は、PCCルールのその他の部分またはPCCルール全体を含むことができる。エントリ555a−dは、例示的なPCCルール名を含むことができる。エントリ555eは、追加のPCCルールがPCCルールのセット550に含まれうることを指示することができる。
QoSルールのセット560は、ローミング協定に従ってローミング加入者に許容されるQoSルールを指示することができる。QoSルールのセット560は、ローミング加入者のホームPCRN236hから受信されたQoSルールと比較されてもよい。あるいは、QoSルールのセット560は、受信したPCCルールから導き出されるQoSルールと比較されてもよい。QoSルールのセット560はまた、受信したQoSルールがリストにない場合、有効なQoSルールを提供するために使用されてもよい。QoSルールのセット560は、各QoSルールのエントリ565を含むことができる。エントリ565は、各QoSルールのルール名を含むことができる。あるいは、エントリ565は、QoSルールのその他の部分またはQoSルール全体を含むことができる。エントリ565aおよび565bは、例示的なQoSルール名を含むことができる。エントリ565cは、追加のQoSルールがQoSルールのセット560に含まれうることを指示することができる。
図6は、例示的なローミングパートナープロファイル605に関する情報を格納するための例示的なデータ構造600を示す図である。データ構造600が、たとえば、オブジェクト、アレイ、リンクされたリスト、またはツリーのようなさまざまなデータ構造を使用して実施されてもよいことは、明らかである。データ構造600は、ローミング協定ストレージ440またはPCRN236vにアクセス可能な別のコンピュータ可読ストレージ媒体に格納されてもよい。
例示的なローミングパートナープロファイル605は、PCRN236vまたはPCRN236hによって使用される1つの可能なローミングパートナーであってもよい。ローミングパートナープロファイル605は、ユーザインターフェイス430を使用してネットワークオペレータによって構成されてもよいか、もしくはコンピュータ可読ストレージ媒体または他のソースからインポートされてもよい。PCRN236vが複数のローミングパートナープロファイルを使用することができることは明らかである。PCRN236vは、VPLMNとのローミング協定を行なった他のHPLMNごとに1つのローミングパートナープロファイルを含むことができる。ローミングパートナープロファイル605は、名前610、説明620、3GPPネットワークIDのセット630、ドメイン名のセット640、領域のセット650、構成情報660を含む複数のフィールドを含むことができる。
名前610は、ローミングパートナープロファイルに一意の名前を指示することができる。名前610は、特定のローミングパートナーを識別するために使用されてもよい。名前610は、ローミングパートナープロファイルを構成するネットワークオペレータによって設定されてもよい。例示的なローミングパートナープロファイル605は、名前610に指示されるように「Verizon」と称されてもよい。説明620は、ローミングパートナーのテキストによる説明を含むことができる。説明620は、ネットワークオペレータまたはローミングパートナープロファイル605を閲覧する他の人に、ローミングパートナーの解説を提供することができる。たとえば、説明620は、例示的なローミングパートナープロファイル605がVerizonのUSネットワーク向けのものであることを指示することができる。
3GPPネットワークIDのセット630は、ローミングパートナーによって使用されるネットワークIDのセットを含むことができる。3GPPネットワークIDは、加入者を識別するために使用されるIMSI番号の一部であってもよい。3GPPネットワークIDは、国識別コード(MCC)632および事業者識別コード(MNC)634を含むことができる。ローミングパートナーは、同じ国内で複数のMCCおよび複数のMNCを使用することができる。3GPPネットワークIDのセット630は、エントリ635を含むことができる。各エントリ635は、MCC/MNCのペアを含むことができる。例示的なローミングパートナープロファイル605は、3つのエントリ635a−cを含むことができる。例示的なエントリ635aは、ローミングパートナーがMCC/MNCの組み合わせ「310/004」を使用することを指示することができる。例示的なエントリ635bは、ローミングパートナーがMCC/MNCの組み合わせ「310/005」を使用することを指示することができる。例示的なエントリ635cは、ローミングパートナーがMCC/MNCの組み合わせ「311/480」を使用することを指示することができる。追加のエントリ635は、その他のMCC/MNCの組み合わせのために含まれてもよい。
ドメイン名のセット640は、ローミングパートナーによって使用されるドメイン名のセットを含むことができる。ドメイン名は、加入者を識別するために使用されるネットワークアクセス識別子(NAI:Network Access Identifier)の一部として、ローミングパートナーにより使用されてもよい。ドメイン名のセット640は、ローミングパートナーによって使用される任意のドメイン名またはスペリングの種類を含むことができる。例示的なローミングパートナープロファイル605は、2つのエントリ645aおよび645bを含むことができる。例示的なエントリ645aは、ローミングパートナーが「verizonwireless」をドメイン名として使用することを指示することができる。例示的なエントリ645bは、ローミングパートナーが「www.verizon.com」をドメイン名として使用することを指示することができる。追加のエントリ645は、追加のドメイン名および/または代替のスペリングのために含まれてもよい。
領域のセット650は、ローミングパートナーによって使用される発信元領域のセットを含むことができる。領域は、ローミングパートナーと通信するために使用されるべきアドレスを提供することができる。領域は、ローミングパートナーのPCRNを明白に指定する完全修飾ドメイン名(FQDN:fully qualified domain name)であってもよい。領域は、1次領域または2次領域であってもよい。1次領域は、ローミングパートナーが指示したPCRNが、ローミング加入者へのすべての要求を受信すべきであることを指示することができる。2次領域は、訪問先PCRNとして動作し、ホームPCRNとして動作する場合にはPCRN236hに要求を送信することができるPCRNを指示することができる。例示的な領域のセット650は、例示的なエントリ655a−cを含むことができる。例示的なエントリ655aは、ローミングパートナーがローミングセッションの要求を受信するための1次領域として「hprcn.verizon.net」を使用することを指示することができる。例示的なエントリ655bは、ローミングパートナーが2次領域として「pcrn2.verizon.net」を使用することを指示することができる。例示的なエントリ655bは、ローミングパートナーが2次領域として「pcrn3.verizon.net」を使用することを指示することができる。
構成情報660は、ローミングパートナーに関するその他の有用な情報を指示することができる。たとえば、リリース662は、ローミングパートナーがサポートする仕様バージョン番号を指示することができる。この情報は、互換性を確保するために使用されてもよい。もう1つの例として、ベンダー664は、ローミングプロバイダによって使用されるPCRNのような機器のベンダーを指示することができる。
図7は、ローミング加入者の接続を管理する例示的な方法700を示す流れ図である。方法700は、メッセージハンドラ420、ローミングマネージャ460、およびルールバリデータ480のような、訪問先PCRN236vのさまざまなコンポーネントによって実行されてもよい。方法700は、ステップ705において開始し、ステップ710に進むことができる。
ステップ710において、ネットワークオペレータは、ユーザインターフェイス430を使用してローミング協定を構成することができる。ネットワークオペレータは、ローミング協定に従うローミングパートナーを選択することができる。ネットワークオペレータは、ユーザインターフェイス430を使用して、ローミングパートナープロファイルを生成することができる。ローミングパートナープロファイルは、ローミングパートナープロファイルストレージ450に格納されてもよい。ネットワークオペレータは、PCRN236vによって使用されるローミング協定を、サービスプロバイダ間の契約によるローミング協定に基づかせることができる。ネットワークオペレータはまた、S9限度を設定するか、もしくは無制限の数のS9セッションまたはサブセッションを許容することができる。ネットワークオペレータはまた、ローミング協定により許容されるPCCおよび/またはQoSルールのセットを選択することができる。ローミング協定は、ローミング協定ストレージ440に格納されてもよい。ネットワークオペレータが少なくとも1つのローミング協定を提供すると、方法はステップ715に進むことができる。
ステップ715において、PCRN236vは、Gxインターフェイス405を介するPGW234のようなPGW、またはGxxインターフェイス410を介するSGW232のようなSGWから、セッション確立要求を受信することができる。要求は、ローミング加入者、つまりVPLMNにサブスクライブしてない加入者のIP−CANセッションの確立を求めることができる。次いで、方法は、ステップ715に進むことができる。
ステップ720において、ローミングマネージャ460は、受信したセッション確立要求から1つまたは複数のサブスクリプションIDを抽出することができる。サブスクリプションIDは、セッション確立要求のサブスクリプション−ID AVPに含まれてもよい。ローミングマネージャ460は、サブスクリプションIDから異なるタイプのIDを抽出することができる。たとえば、ネットワークがCDMA技術を使用する場合、ローミングマネージャは、サブスクリプションIDからネットワークアクセス識別子(NAI)を抽出することができる。もう1つの例として、ネットワークが3GPP準拠である場合、ローミングマネージャ460は、国際移動体加入者識別情報(IMSI:international mobile subscriber identifier)の形態で3GPP識別子を抽出することができる。ローミングマネージャは、サブスクリプション識別子の一部から加入者のHPLMNを識別するネットワーク識別子を抽出することができる。たとえば、サブスクリプションIDがNAIである場合、ローミングマネージャ460は、ドメイン名を使用してローミングパートナーを識別することができる。サブスクリプションIDがIMSIである場合、ローミングマネージャ460は、IMSIの先頭のMCC/MNCの組み合わせを使用することができる。次いで、方法は、ステップ725に進むことができる。
ステップ725において、ローミングマネージャ460は、UEがサブスクライブするローミングパートナーを決定することができる。ローミングマネージャ460は、ネットワーク識別子を、ローミングパートナープロファイル450に格納されている各ローミングパートナープロファイルの構成済みネットワーク識別子と比較することができる。たとえば、ローミングマネージャ460は、MCC/MNCの組み合わせを、3GPPネットワークID630のセットと比較することができる。あるいは、ローミングマネージャ460は、ローミング協定のいずれかがネットワーク識別子と一致するローミングパートナーを含むかどうかを決定するために、ローミング協定ストレージ440を調べることができる。一致するローミングパートナーが見出されない場合、ステップ745において、PCRN236vは、セッション確立要求を拒否することができる。一致するローミングパートナーが見出されるたびに、方法はステップ730に進むことができ、ここでローミングマネージャは適用可能なローミング協定を決定することができる。ローミングマネージャ460は、ローミングパートナーを含むローミング協定を探して、ローミング協定ストレージ440を検索することができる。ローミング協定が見出されない場合、ステップ745において、PCRN236vは、セッション確立要求を拒否することができる。
ステップ740において、ローミングマネージャ460は、新しいS9セッションが、ローミング協定に従ってローミングパートナーに許容されるかどうかを決定することができる。ローミングマネージャ460は、ローミングパートナーの現在のS9セッションおよびサブセッションの数を決定することができる。新しいセッション確立要求によって、S9セッションの数がローミング協定により許容されている数を超える場合、方法700はステップ745に進むことができ、そこでPCRN236vはセッション確立要求を拒否することができる。同様に、セッション確立要求によって作成された新しいサブセッションが、加入者あたりの許容されるサブセッションの数、またはサブセッションの合計数を超えてしまう場合、方法700はステップ745に進むことができ、そこでPCRN236vはセッション確立要求を拒否することができる。新しいセッションがいずれのS9限度も超えない場合、方法はステップ750に進むことができる。
ステップ750において、PCRN236vは、ステップ725で識別されたローミングパートナーにセッション確立要求を転送することができる。PCRN236vは、S9インターフェイスを使用して、セッション確立要求を転送することができる。要求がUE210の新しいセッションに対するものである場合、PCRN236vは、PCRN236hのようなパートナーデバイスと新しいS9セッションを確立することができる。要求がUE210の追加のIP−CANセッションに対するものである場合、PCRN236vは、パートナーデバイスと追加のS9サブセッションを確立することができる。次いで、方法は、ステップ755に進むことができる。
ステップ755において、PCRN236vは、パートナーデバイスからPCCおよび/またはQoSルールのセットを受信することができる。PCCおよび/またはQoSルールは、パートナーデバイスにおいて定義されたルールに従ってパートナーデバイスによって生成されている場合がある。PCRN236vは、S9セッションおよび/またはサブセッションでルールを受信することができる。受信されたルールは、ルールバリデータ480に渡されてもよく、方法700はステップ760に進むことができる。
ステップ760において、ルールバリデータ480は、パートナーデバイスから受信したルールがローミング協定の下で許容されるかどうかを決定することができる。ルールバリデータ480は、任意の受信したPCCルールを、ローミング協定のPCCルールのセット550に含まれているPCCルールのセットと比較することができる。受信したPCCルールが列挙されているPCCルールのうちの1つと一致しない場合、方法はステップ765に進むことができる。ルールバリデータ480はまた、任意の受信したQoSルールを、QoSルールのセット560と比較することができる。受信したQoSルールが列挙されているQoSルールのうちの1つと一致しない場合、方法はステップ765に進むことができる。ルールバリデータは、PCCルールからQoS情報を抽出し、QoS情報を使用してQoSルールを生成することにより、PCCルールをQoSルールのセット560と比較することができる。含まれているすべてのPCCおよび/またはQoSルールが有効である場合、方法はステップ770に進むことができる。
ステップ765において、PCRN236vは、PCCおよび/またはQoSルールが拒否されたことを指示するメッセージをパートナーデバイスに送信することができる。PCRN236vは、ローミング協定で定義されているPCCおよび/またはQoSルールに基づいて1つまたは複数の提案されたPCCおよび/またはQoSルールを含むことができる。次いで、方法700はステップ750に戻ることができ、そこでPCRN236vは、パートナーデバイスからのPCCおよび/またはQoSルールの新しいセットを待つことができる。パートナーデバイスがPCCおよび/またはQoSルールの承認可能なセットを提供しない場合、PCRN236vは、セッション確立要求を拒否することができる。
ステップ770において、PCRN236vは、VPLMNで承認されたPCCおよび/またはQoSルールをインストールすることができる。メッセージハンドラ420は、適切なメッセージをSGW232vおよび/またはPGW234vに送信することができる。他のネットワークノードがPCCおよび/またはQoSルールをインストールした後、UE220は、ローミング加入者として加入者ネットワーク200にアクセスすることができる。PGW234vおよび/またはSGW232vは、確立されたセッションを監視して、PCRN236vにメッセージを送信することができるが、PCRN236vはメッセージを、S9インターフェイスの確立されたセッションを介してPCRN236hに転送することができる。次いで、方法はステップ775に進むことができ、そこで方法は終了する。
PCRN236vのさまざまなコンポーネント、およびPCRN236vによって実行される例示的な方法を説明してきたが、ローミング加入者のセッション確立の実施例は示されない。ローミング加入者は、UE210を使用してネットワーク200に接続を試みることができる。ローミング加入者は、たとえばVerizonのようなHPLMNとのサブスクリプションを有するが、Verizon基地局220hの圏内にはない場合がある。したがって、UE210は、最も近い基地局220vとの接続の確立を求めることができるが、基地局220vはVPLMNに属する場合がある。VPLMNは、Verizonとの契約によるローミング協定を有し、訪問先PCRN236vにおいてVerizonのローミング協定505およびローミングパートナープロファイル605を定義済みである場合がある。加入者は、310004123456789のIMSIを有することができる。
UE210は、SGW232vまたはPGW234vを通じてセッション確立要求を開始することができるが、SGW232vまたはPGW234vは要求をPCRN236vに転送することができる。PCRN236vは、セッション確立要求を受信すると、セッション確立要求のサブスクリプション−ID AVPからIMSIを抽出することができる。次いで、PCRN236vは、IMSIの最初の6桁をMCC/MNCの組み合わせとして使用することができる。PCRN236vは、「310/004」を、各ローミングパートナープロファイルのネットワーク識別子の各々と比較することができる。この例において、MCC/MNCの組み合わせは、Verizonのローミングパートナープロファイルのエントリ635aと一致する。次いで、PCRN236vは、エントリ535aにVerizonを含むので、ローミング協定505を識別することができる。
PCRN236vは、ローミング協定535aを実施することができる。要求されたセッションによって、VerizonがS9限度540を超えてしまう場合、PCRN236vは要求を拒否することができる。たとえば、10、000のVerizon顧客がすでにVPLMNでローミングしている場合、PCRN236vは、エントリ542に従って要求を拒否することができる。
PCRN236vはまた、Verizonの1次領域655a、hpcrn.verizon.netとのS9セッションを確立することによって、ホームPCRN236hにPCC/QoSルールを要求することができる。PCRN236vはまた、PCC/QoSルールPCRN236hから受信すると、ローミング協定を実施することができる。たとえば、PCRN236hがPCCルール「0x498cb3」を送信する場合、PCRN236vは、このルールがPCCルールのセット550に含まれていないので確認しない場合もある。代わりに、PCRN236vは、たとえば、許容されるルールとしてルール「0x2830b2」を、PCCルールを拒否するCCRメッセージに含めることができる。PCRN236vは、有効なルールのセットを受信すると、VPLMNでルールをインストールすることができ、UE210はネットワークを使用することができる。
上記の説明によれば、さまざまな例示的な実施形態は、ネットワークサービスをローミング加入者に提供するためのネットワークノードおよび方法を提供する。特に、PCRNにおいてローミングパートナーのローミング協定を含めることによって、PCRNは、ポリシー決定を行なって、他のネットワークとローミング加入者のサービスをネゴシエートすることができる。
本発明のさまざまな例示的な実施形態が、ハードウェアおよび/またはファームウェアにおいて実施されうることが、上記の説明から明らかとなろう。さらに、さまざまな例示的な実施形態は、本明細書において詳細に説明される動作を実行するために少なくとも1つのプロセッサによって読み込まれ実行されうる、機械可読ストレージ媒体に格納された命令として実施されてもよい。機械可読ストレージ媒体は、パーソナルまたはラップトップコンピュータ、サーバ、またはその他のコンピューティングデバイスのような、機械によって読み取り可能な形態で情報を格納するための任意のメカニズムを含むことができる。したがって、機械可読ストレージ媒体は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および類似するストレージ媒体を含むことができる。
当業者には、本明細書における任意のブロック図が、本発明の原理を具現する例示的な回路の概念的な図を表すことが理解されるであろう。同様に、任意の流れ図、フローダイアグラム、状態遷移図、擬似コードなどは、機械可読媒体において概ね表されてもよく、コンピュータまたはプロセッサにより(そのようなコンピュータまたはプロセッサが明示的に示されているかどうかにかかわらず)実行されてもよいさまざまなプロセスを表すことが理解されよう。
さまざまな例示的な実施形態が、その特定の例示的な態様を特に参照して詳細に説明されてきたが、本発明はその他の実施形態に対応可能であり、その詳細はさまざまな明白な意味において変更が可能であることを理解されたい。当業者には容易に理解されるように、本発明の精神および範囲を逸脱することなく変形および変更が行なわれてもよい。したがって、前述の開示、説明、および図面は、例示のみを目的としており、本発明を何ら制限するものではなく、本発明は特許請求の範囲によってのみ定義される。