(57)【特許請求の範囲】
【請求項１】
Ｓ９セッションを監査するためにネットワークデバイスによって実行される方法であって、
ネットワークデバイスによって、Ｓ９セッションが監査されるべきであると判定するステップ（１２１０）と、
Ｓ９セッションが疑わしいセッションであると判定するステップ（１２３０）と、
パートナデバイスに、無害な命令を含むＳ９メッセージを送信するステップ（１２４０）と、
ネットワークデバイスにおいて、パートナデバイスから応答メッセージを受信するステップ（１２５０）と、
応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定するステップ（１２６０）と、
疑わしいセッションが孤児になっている場合、疑わしいセッションに関連するＳ９セッションレコードを除去するステップ（１２７０）とを備え、
Ｓ９セッションが疑わしいセッションであると判定するステップが、Ｓ９セッションに関連するＳ９セッションレコードがＳ９サブセッションを全く識別しないと判定するステップ（１２３０）を備え、
ネットワークデバイスによって、Ｓ９サブセッションが監査されるべきであると判定するステップと、
Ｓ９サブセッションが疑わしいサブセッションであると判定するステップと、
パートナデバイスに第２のＳ９メッセージを送信し、Ｓ９メッセージが、第２の無害な命令を含むステップと、
ネットワークデバイスにおいて、パートナデバイスから第２の応答メッセージを受信するステップと、
第２の応答メッセージに基づいて、疑わしいセッションが孤児になっていると判定するステップと、
疑わしいサブセッションのＩＤを除去するようにＳ９セッションレコードを変更し、Ｓ９セッションレコードを変更するステップが、Ｓ９セッションに関連するＳ９セッションレコードがＳ９サブセッションを全く識別しないと判定するステップより前に実行されるステップとをさらに備える、方法。
【請求項２】
Ｓ９サブセッションが疑わしいサブセッションであると判定するステップが、Ｓ９サブセッションに関連する仮想ＩＰ−ＣＡＮセッションが最近、アクティブになっていないと判定するステップを備える、請求項１に記載の方法。
【請求項３】
第２の無害な命令が、Ｓ９サブセッションのために以前にプロビジョニングされたイベントトリガをプロビジョニングする命令を含む、請求項１から２のいずれかに記載の方法。
【請求項４】
無害な命令が、偽のＳ９サブセッションを終了させる命令を含む、請求項１から３のいずれかに記載の方法。
【請求項５】
応答メッセージに基づいて疑わしいセッションが孤児になっているかどうかを判定するステップが、
応答メッセージが、セッション識別子がパートナデバイスに知られていないことを示す場合、疑わしいセッションが孤児になっていると判定するステップを備える、請求項４に記載の方法。
【請求項６】
Ｓ９セッションを監査するためのネットワークデバイスであって、
パートナデバイスと通信状態にあるＳ９インターフェース（９２５）と、
Ｓ９セッションに関連するＳ９セッションレコードを格納するＳ９セッションストレージ（９３５）と、
Ｓ９セッションが監査されるべきであると判定するように構成されたスケジューラ（１０１０）と、
Ｓ９セッションが疑わしいセッションであると判定するように構成された疑わしいセッションアイデンティファイア（１０２０）と、
パートナデバイスにＳ９メッセージを送信するように構成され、Ｓ９メッセージが無害な命令を含む、無害なメッセージジェネレータ（１０３０）と、
応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定し、さらに
疑わしいセッションが孤児になっている場合、Ｓ９セッションストレージからＳ９セッションレコードを除去する
ように構成された応答インタープリタ（１０４０）とを備え、
Ｓ９セッションが疑わしいセッションであると判定する際、疑わしいセッションアイデンティファイア（１０２０）が、Ｓ９セッションに関連するＳ９セッションレコードがＳ９サブセッションを全く識別しないと判定するように構成され、
仮想ＩＰ−ＣＡＮセッションが監査されるべきであると判定し、
仮想ＩＰ−ＣＡＮセッションが疑わしいＩＰ−ＣＡＮセッションであると判定し、
パートナデバイスに対して第２のＳ９メッセージの送信を実行し、Ｓ９メッセージが第２の無害な命令を含み、
パートナデバイスから第２の応答メッセージを受信し、
第２の応答メッセージに基づいて、疑わしいＩＰ−ＣＡＮセッションが孤児になっていると判定し、
仮想ＩＰ−ＣＡＮセッションに関連するレコードの除去を実行し、
仮想ＩＰ−ＣＡＮセッションに関連するＳ９サブセッションのＩＤを除去するようにＳ９セッションレコードの変更を実行するように構成されたＩＰ−ＣＡＮセッションオーディタ（９２０）をさらに備える、ネットワークデバイス。
【請求項７】
仮想ＩＰ−ＣＡＮセッションが疑わしいＩＰ−ＣＡＮセッションであると判定するステップが、仮想ＩＰ−ＣＡＮセッションが最近、アクティブになっていないと判定するステップを備える、請求項６に記載のネットワークデバイス。
【請求項８】
第２の無害な命令が、Ｓ９サブセッションのために以前にプロビジョニングされたイベントトリガをプロビジョニングする命令を含む、請求項６から７のいずれかに記載のネットワークデバイス。
【請求項９】
無害な命令が、偽のＳ９サブセッションを終了させる命令を含む、請求項６から８のいずれかに記載のネットワークデバイス。
【請求項１０】
応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定する際、応答インタープリタ（１０４０）が、応答メッセージが、セッション識別子がパートナデバイスに知られていないことを示す場合、疑わしいセッションが孤児になっていると判定するように構成される、請求項６から９のいずれかに記載のネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１０年６月２９日に出願した、先に出願した出願番号第１２／８２５，６５４号の一部係属出願である。
【０００２】
本出願は、引用によりその全体が本明細書に組み込まれている以下の同時係属出願を相互参照する：Ｍａ他、「ＩＮＴＥＧＲＡＴＩＯＮ  ＯＦ  ＲＯＡＭＩＮＧ  ＡＮＤ  ＮＯＮ−ＲＯＡＭＩＮＧ  ＭＥＳＳＡＧＥ  ＰＲＯＣＥＳＳＩＮＧ」、出願番号［未定］、整理番号ＡＬＣ３７６０、およびＭａｎｎ他、「ＰＣＲＮ  ＳＥＳＳＩＯＮ  ＡＲＣＨＩＴＥＣＴＵＲＥ  ＦＯＲ  ＲＯＡＭＩＮＧ」、出願番号［未定］、整理番号ＡＬＣ３７６７。
【０００３】
本明細書で開示される様々な例示的な実施形態は、一般に、遠隔通信ネットワークに関する。
【背景技術】
【０００４】
モバイル遠隔通信ネットワーク内の様々なタイプのアプリケーションに関する要求が増大するにつれ、サービスプロバイダは、この拡大された機能を確実に提供するためにサービスプロバイダのシステムを絶えずアップグレードしなければならない。かつては、単に音声通信のために設計されたシステムは、テキストメッセージング、マルチメディアストリーミング、および汎用インターネットアクセスを含む無数のアプリケーションへのアクセスを提供する汎用ネットワークアクセスポイントになっている。そのようなアプリケーションをサポートするために、プロバイダは、既存の音声ネットワークの上に新たなネットワークを構築しており、洗練されているとは言えないソリューションにつながっている。第２世代ネットワークおよび第３世代ネットワークで見られるとおり、音声サービスは、専用の音声チャネルを介して伝送されて、回線交換コアに向かわせられなければならない一方で、他のサービス通信は、ＩＰ（インターネットプロトコル）に準拠して伝送され、異なるパケット交換コアに向かわせられる。このことが、アプリケーションプロビジョニング、計量と課金、およびＱｏＥ（体感品質）保証に関する独特の問題につながっている。
【０００５】
第２世代および第３世代のデュアルコアアプローチを簡単にしようと、３ＧＰＰ（第３世代パートナーシッププロジェクト）が、「ロングタームエボリューション」（ＬＴＥ）と呼ぶ新たなネットワークスキームを推奨している。ＬＴＥネットワークにおいて、すべての通信は、ＩＰチャネルを介してＵＥ（ユーザ機器）からＥＰＣ（発展型パケットコア）と呼ばれるすべてのＩＰコアに伝送される。その後、ＥＰＣが、許容可能なＱｏＥを確実にするとともに、加入者の特定のネットワーク活動に関して加入者に課金しながら、他のネットワークへのゲートウェイアクセスを提供する。
【０００６】
３ＧＰＰは、いくつかの技術仕様にてＥＰＣの構成要素、およびそれらの構成要素の間の対話を一般的に説明する。詳細には、３ＧＰＰ  ＴＳ２９．２１２、３ＧＰＰ  ＴＳ２９．２１３、および３ＧＰＰ  ＴＳ２９．２１４が、ＥＰＣのＰＣＲＦ（ポリシー−課金規則機能）、ＰＣＥＦ（ポリシー−課金執行機能）、およびＢＢＥＲＦ（ベアラバインディング−イベント報告機能）を説明する。これらの仕様は、これらの要素が、確実なデータサービスを提供するとともに、それらのデータサービスの使用に関して加入者に課金するために、どのように対話するかについてのいくらかの手引きをさらに与える。
【０００７】
また、３ＧＰＰは、様々なユーザにローミングアクセスを提供するための様々な手順も推奨している。３ＧＰＰ  ＴＳ２９．２１５が、訪問先ＰＣＲＦが、Ｓ９セッションを介して、接続されたユーザのホームＰＣＲＦと通信することができることを規定する。このＳ９セッションを介して、訪問先ＰＣＲＦは、ユーザによって要求されたデータフローを供給するのに役立つ情報を取得することが可能である。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】３ＧＰＰ  ＴＳ２９．２１２
【非特許文献２】３ＧＰＰ  ＴＳ２９．２１３
【非特許文献３】３ＧＰＰ  ＴＳ２９．２１４
【非特許文献４】３ＧＰＰ  ＴＳ２９．２１５
【発明の概要】
【課題を解決するための手段】
【０００９】
様々な例示的な実施形態の簡単な概要が、後段で提示される。いくつかの単純化および省略が、以下の概要において行われることが可能であり、このことは、様々な例示的な実施形態のいくつかの態様を強調し、概説することを意図しているが、本発明の範囲を限定するものではない。当業者が本発明の概念を作り、使用することを十分に可能にする好ましい例示的な実施形態の詳細な説明が、以下のセクションで行われる。
【００１０】
様々な例示的な実施形態は、Ｓ９セッションを監査するためにネットワークデバイスによって実行される方法に関し、この方法は、以下のうちの１つまたは複数を含む：ネットワークデバイスによって、Ｓ９セッションが監査されるべきであると判定すること、そのＳ９セッションが疑わしいセッションであると判定すること、パートナデバイスにＳ９メッセージを送信し、Ｓ９メッセージが無害な命令を含むこと、ネットワークデバイスにおいて、パートナデバイスから応答メッセージを受信すること、応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定すること、疑わしいセッションが孤児になっている場合、疑わしいセッションに関連するＳ９セッションレコードを除去すること。
【００１１】
様々な例示的な実施形態は、Ｓ９セッションを監査するためのネットワークデバイスに関し、このネットワークデバイスは、以下のうちの１つまたは複数を含む：パートナデバイスと通信状態にあるＳ９インターフェース、Ｓ９セッションに関連するＳ９セッションレコードを格納するＳ９セッションストレージ、Ｓ９セッションが監査されるべきであると判定するように構成されたスケジューラ、Ｓ９セッションが疑わしいセッションであると判定するように構成された疑わしいセッションアイデンティファイア、パートナデバイスにＳ９メッセージを送信するように構成され、Ｓ９メッセージが無害な命令を含む無害なメッセージジェネレータ、および応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定し、疑わしいセッションが孤児になっている場合、Ｓ９セッションストレージからＳ９セッションレコードを除去するように構成された応答インタープリタ。
【００１２】
様々な例示的な実施形態は、Ｓ９セッションを監査するためにネットワークデバイスによって実行されるように命令が符号化された実体のある、一時的でないマシン可読記憶媒体に関し、実体のある、一時的でないマシン可読記憶媒体は、以下のうちの１つまたは複数を含む：ネットワークデバイスによって、Ｓ９セッションが監査されるべきであると判定するための命令、そのＳ９セッションが疑わしいセッションであると判定するための命令、パートナデバイスにＳ９メッセージを送信するための、Ｓ９メッセージが無害な命令を含む、命令、ネットワークデバイスにおいて、パートナデバイスから応答メッセージを受信するための命令、応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定するための命令、および疑わしいセッションが孤児になっている場合、疑わしいセッションに関連するＳ９セッションレコードを除去するための命令。
【００１３】
Ｓ９セッションが疑わしいセッションであるかどうかを判定するステップが、以下のうちの１つまたは複数、Ｓ９セッションに関連するＳ９セッションレコードがＳ９サブセッションを全く特定しないと判定することを含む、様々な実施形態が説明される。
【００１４】
様々な実施形態は、以下のうちの１つまたは複数をさらに含む：ネットワークデバイスによって、Ｓ９サブセッションが監査されるべきであると判定すること、そのＳ９セッションが疑わしいサブセッションであると判定すること、パートナデバイスにＳ９メッセージを送信し、Ｓ９メッセージが第２の無害な命令を含むこと、ネットワークデバイスにおいて、パートナデバイスから第２の応答メッセージを受信すること、第２の応答メッセージに基づいて、疑わしいセッションが孤児になっていると判定すること、および疑わしいセッションのＩＤを除去するようにＳ９セッションレコードを変更し、Ｓ９セッションレコードを変更するステップが、Ｓ９セッションに関連するＳ９セッションレコードがＳ９サブセッションを全く特定しないと判定するステップより前に実行されること。
【００１５】
Ｓ９サブセッションが疑わしいサブセッションであるかどうかを判定するステップが、以下のうちの１つまたは複数、Ｓ９サブセッションに関連する仮想ＩＰ−ＣＡＮセッションが最近、アクティブになっていないと判定することを含む、様々な実施形態が説明される。
【００１６】
第２の無害な命令が、Ｓ９サブセッションのために以前にプロビジョニングされたイベントトリガをプロビジョニングする命令を含む、様々な実施形態が説明される。
【００１７】
無害な命令が、偽のＳ９サブセッションを終了させる命令を含む、様々な実施形態が説明される。
【００１８】
応答メッセージに基づいて、疑わしいセッションが孤児になっているかどうかを判定するステップが、以下のうちの１つまたは複数：応答メッセージが、セッションＩＤがパートナデバイスに知られていないことを示す場合、その疑わしいセッションが孤児になっていると判定することを含む、様々な実施形態が説明される。
【００１９】
様々な例示的な実施形態をよりよく理解するために、添付の図面が参照される。
【図面の簡単な説明】
【００２０】
【図１】様々なデータサービスを提供するための例示的な加入者ネットワークを示す図である。
【図２】セッションを管理するための例示的なＰＣＲＮを示す図である。
【図３】セッション監査を行うための例示的なＰＣＲＮブレードを示す図である。
【図４】プロキシデータを格納するための例示的なデータ構成を示す図である。
【図５】セッションデータを格納するための例示的なデータ構成を示す図である。
【図６】セッション監査を行うための例示的な方法を示す図である。
【図７】ＩＰ−ＣＡＮセッション監査中の図１のネットワークにおけるエンティティ間のメッセージの交換を示す例示的なメッセージ図である。
【図８】様々なデータサービスに対するローミングアクセスを提供するための例示的な加入者ネットワークを示す図である。
【図９】Ｓ９セッションおよびＳ９サブセッションを監査するための例示的なＰＣＲＮを示す図である。
【図１０】例示的な監査モジュールを示す図である。
【図１１】Ｓ９セッションレコードを格納するための例示的なデータ構成を示す図である。
【図１２】Ｓ９セッションを監査するための例示的な方法を示す図である。
【発明を実施するための形態】
【００２１】
理解を容易にするように、実質的に同一の、もしくは同様の構造、および／または実質的に同一の、もしくは同様の機能を有する要素を示すのに同一の参照番号が使用されている。
【００２２】
通信ネットワークは、常に確実であることが保証されているとは限らない。３ＧＰＰ標準は、ＥＰＣ内の通信障害をどのように扱うべきかについてほとんど手引きを提供しない。例えば、セッション終了要求が、ポリシー−課金規則ノードに送信されるが、決して受信されないことがあり得る。このシナリオにおいて、そのセッション、およびそのセッションにバインドされた他の任意のセッションが、すべてのネットワーク構成要素で終了させられず、孤児になったセッションが生じる可能性がある。また、セッションが、そのセッションを開始したネットワーク構成要素においてインアクティブであるが、他のネットワーク構成要素においてはアクティブである可能性もある。これらの孤児になったセッション、およびインアクティブのセッションは、例えば、保障された帯域幅、システムメモリ、および処理時間などのシステムリソースを消費しつづける。
【００２３】
以上のことに鑑みて、孤児になったセッションまたはインアクティブのセッションを除去することができるＰＣＲＮ（ポリシー−課金規則ノード）を提供することが望ましい。詳細には、他のネットワーク構成要素の動作に干渉することなしに、孤児になったＳ９セッション、およびインアクティブのＳ９セッションを検出し、終了させることが望ましい。
【００２４】
次に、同様の番号が同様の構成要素またはステップを参照する図面を参照すると、様々な例示的な実施形態の広い態様が開示されている。
【００２５】
図１は、様々なデータサービスを提供するための例示的な加入者ネットワーク１００を示す。例示的な加入者ネットワーク１００は、様々なサービスへのアクセスを提供するための遠隔通信ネットワークまたは他のネットワークであることが可能である。例示的な加入者ネットワーク１００は、ユーザ機器１１０と、基地局１２０と、ＥＰＣ（発展型パケットコア）１３０と、パケットデータネットワーク１４０と、ＡＦ（アプリケーション機能）１５０とを含むことが可能である。
【００２６】
ユーザ機器１１０は、エンドユーザにデータサービスを提供するためのパケットデータネットワーク１４０と通信するデバイスであり得る。そのようなデータサービスは、例えば、音声通信、テキストメッセージング、マルチメディアストリーミング、およびインターネットアクセスを含み得る。より詳細には、様々な例示的な実施形態において、ユーザ機器１１０は、ＥＰＣ１３０を介して他のデバイスと通信することができるパーソナルコンピュータもしくはラップトップコンピュータ、ワイヤレス電子メールデバイス、セルラ電話機、タブレット、テレビセットトップボックス、または他の任意のデバイスである。
【００２７】
基地局１２０は、ユーザ機器１１０とＥＰＣ１３０の間の通信を可能にするデバイスであり得る。例えば、基地局１２０は、３ＧＰＰ標準によって定義されるｅノードＢ（発展型ノードＢ）などの基地局トランシーバであり得る。このため、基地局１２０は、電波などの第１の媒体を介してユーザ機器１１０と通信し、さらにイーサネット（登録商標）ケーブルなどの第２の媒体を介してＥＰＣ１３０と通信するデバイスであり得る。基地局１２０は、ＥＰＣ１３０と直接の通信状態にあることも、またはいくつかの中間ノード（図示せず）を介して通信することも可能である。様々な実施形態において、複数の基地局（図示せず）が、ユーザ機器１１０にモビリティを提供するように存在することが可能である。様々な代替の実施形態において、ユーザ機器１１０は、ＥＰＣ１３０と直接に通信することが可能であることに留意されたい。そのような実施形態において、基地局１２０は、存在しなくてもよい。
【００２８】
ＥＰＣ（発展型パケットコア）１３０は、パケットデータネットワーク１４０へのゲートウェイアクセスをユーザ機器１１０に提供するデバイスまたはデバイスのネットワークであることが可能である。ＥＰＣ１３０は、提供されたデータサービスの使用に関して加入者にさらに課金し、特定のＱｏＥ（体感品質）が満たされることを確実にすることが可能である。このため、ＥＰＣ１３０は、少なくとも部分的に、３ＧＰＰ  ＴＳ２９．２１２標準、３ＧＰＰ  ＴＳ２９．２１３標準、３ＧＰＰ  ＴＳ２９．２１４標準に準拠して実施されることが可能である。したがって、ＥＰＣ１３０は、ＳＧＷ（サービングゲートウェイ）１３２と、ＰＧＷ（パケットデータネットワーク）１３４と、ＰＣＲＮ（ポリシー−課金規則ノード）１３６と、ＳＰＲ（サブスクリプションプロファイルリポジトリ）１３８とを含み得る。
【００２９】
ＳＧＷ（サービングゲートウェイ）１３２は、ＥＰＣ１３０に対するゲートウェイアクセスをもたらすデバイスであり得る。ＳＧＷ１３２は、ユーザ機器１１０によって送信されたパケットを受信するＥＰＣ１３０内の最初のデバイスであり得る。ＳＧＷ１３２は、そのようなパケットをＰＧＷ１３４に向けて転送することが可能である。ＳＧＷ１３２は、例えば、複数の基地局（図示せず）の間でユーザ機器１１０のモビリティを管理すること、および供給されている各フローに関して特定のＱｏＳ（サービス品質）特性を執行することなどの、いくつかの機能を実行することが可能である。プロキシモバイルＩＰ標準を実施する実装形態などの様々な実装形態において、ＳＧＷ１３２は、ＢＢＥＲＦ（ベアラバインディング−イベント報告機能）を含み得る。様々な例示的な実施形態において、ＥＰＣ１３０が、複数のＳＧＷ（図示せず）を含むことが可能であり、各ＳＧＷが、複数の基地局（図示せず）と通信することが可能である。
【００３０】
ＰＧＷ（パケットデータネットワークゲートウェイ）１３４は、パケットデータネットワーク１４０に対するゲートウェイアクセスを提供するデバイスであり得る。ＰＧＷ１３４は、ユーザ機器１１０によって、ＳＧＷ１３２を介してパケットデータネットワーク１４０に向けて送信されたパケットを受信するＥＰＣ１３０内の最終デバイスであり得る。ＰＧＷ１３４は、各ＳＤＦ（サービスデータフロー）に関してＰＣＣ（ポリシー−課金管理）規則を執行するＰＣＥＦ（ポリシー−課金執行機能）を含み得る。したがって、ＰＧＷ１３４は、ＰＣＥＮ（ポリシー−課金執行ノード）であり得る。ＰＧＷ１３４は、例えば、パケットフィルタリング、ディープパケットインスペクション、および加入者課金サポートなどのいくつかのさらなるフィーチャを含み得る。また、ＰＧＷ１３４は、知られていないアプリケーションサービスに対するリソース割り当てを要求することを担うことも可能である。
【００３１】
ＰＣＲＮ（ポリシー−課金規則ノード）１３６は、アプリケーションサービスを求める要求を受信し、ＰＣＣ規則を生成し、さらにＰＧＷ１３４および／または他のＰＣＥＮ（図示せず）にＰＣＣ規則を与えるデバイス、またはデバイスのグループであることが可能である。ＰＣＲＮ１３６は、Ｒｘインターフェースを介してＡＦ１５０と通信状態にあることが可能である。ＡＦ１５０に関連して後段でさらに詳細に説明されるとおり、ＰＣＲＮ１３６は、ＡＦ１５０からＡＡＲ（認証−許可要求）１６０の形態でアプリケーション要求を受信することが可能である。ＡＡＲ１６０を受信すると、ＰＣＲＮ１３６は、アプリケーション要求１６０を満たすための少なくとも１つの新たなＰＣＣ規則を生成することが可能である。
【００３２】
また、ＰＣＲＮ１３６は、Ｇｘｘインターフェースを介してＳＧＷ１３２と、さらにＧｘインターフェースを介してＰＧＷ１３４とそれぞれ通信状態にあることも可能である。ＰＣＲＮ１３６は、ＳＧＷ１３２またはＰＧＷ１３４からＣＣＲ（クレジット管理要求）（図示せず）の形態でアプリケーション要求を受信することが可能である。ＡＡＲ１６０の場合と同様に、ＣＣＲを受信すると、ＰＣＲＮは、アプリケーション要求１７０を満たすための少なくとも１つの新たなＰＣＣ規則を生成することが可能である。様々な実施形態において、ＡＡＲ１６０とＣＣＲは、別々に処理されるべき独立した２つのアプリケーション要求を表し得る一方で、他の実施形態において、ＡＡＲ１６０とＣＣＲは、単一のアプリケーション要求に関する情報を伝送することが可能であり、さらにＰＣＲＮ１３６は、ＡＡＲ１６０とＣＣＲの組み合わせに基づいて少なくとも１つのＰＣＣ規則を作成することが可能である。様々な実施形態において、ＰＣＲＮ１３６は、単一のメッセージとペアにされたメッセージアプリケーション要求をともに扱うことができることが可能である。
【００３３】
新たなＰＣＣ規則を作成すると、またはＰＧＷ１３４によって要求が行われると、ＰＣＲＮ１３６は、Ｇｘインターフェースを介してＰＧＷ１３４にＰＣＣ規則を供給することが可能である。例えば、ＰＭＩＰ標準を実施する実施形態などの様々な実施形態において、ＰＣＲＮ１３６は、ＱｏＳ規則を生成することも可能である。新たなＱｏＳ規則を作成すると、またはＳＧＷ１３２によって要求されると、ＰＣＲＮ１３６は、Ｇｘｘインターフェースを介してＳＧＷ１３２にＱｏＳ規則を供給することが可能である。
【００３４】
ＳＰＲ（サブスクリプションプロファイルリポジトリ）１３８は、加入者ネットワーク１００の加入者と関係する情報を格納するデバイスであり得る。このため、ＳＰＲ１３８は、ＲＯＭ（読み取り専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および／または類似した記憶媒体などのマシン可読記憶媒体を含み得る。ＳＰＲ１３８は、ＰＣＲＮ１３６の構成要素であることも、ＥＰＣ１３０内で独立したノードを構成することも可能である。ＳＰＲ１３８によって格納されるデータには、各加入者の識別子、ならびに帯域幅限度、課金パラメータ、および加入者ポリシーなどの各加入者に関する加入情報の指示が含まれ得る。
【００３５】
パケットデータネットワーク１４０は、ユーザ機器１１０と、ＡＦ１５０などの、パケットデータネットワーク１４０に接続された他のデバイスの間でデータ通信を提供するための任意のネットワークであり得る。パケットデータネットワーク１４０は、パケットデータネットワーク１４０と通信状態にある様々なユーザデバイスに、例えば、電話サービスおよび／またはインターネットサービスをさらに提供することが可能である。
【００３６】
ＡＦ（アプリケーション機能）１５０は、ユーザ機器１１０に知られているアプリケーションサービスを提供するデバイスであり得る。このため、ＡＦ１５０は、ユーザ機器１１０に、例えば、ビデオストリーミングサービスまたは音声通信サービスを提供するサーバまたは他のデバイスであり得る。ＡＦ１５０は、Ｒｘインターフェースを介してＥＰＣ１３０のＰＣＲＮ１３６とさらに通信状態にあることが可能である。ＡＦ１５０が、知られているアプリケーションサービスをユーザ機器１１０に提供することを開始することになると、ＡＦ１５０は、Ｄｉａｍｅｔｅｒプロトコルに準拠してＡＡＲ（認証−許可要求）１６０などのアプリケーション要求メッセージを生成して、そのアプリケーションサービスにリソースが割り当てられるべきことをＰＣＲＮ１３６に通知することが可能である。このアプリケーション要求メッセージは、そのアプリケーションサービスを使用する加入者のＩＤ、その加入者のＩＰアドレス、関連するＩＰ−ＣＡＮセッションに関するＡＰＮ、および／または要求されるサービスを提供するために確立されなければならない特定のサービスデータフローのＩＤなどの情報を含み得る。ＡＦ１５０は、Ｒｘインターフェースを介してＰＣＲＮ１３６にそのようなアプリケーション要求を通信することが可能である。
【００３７】
加入者ネットワーク１００の構成要素について説明したので、加入者ネットワーク１００の動作の簡単な概要を与える。以下の説明は、加入者ネットワーク１００の動作の概略を与えることを意図しており、したがって、いくつかの点で単純化であることが明白であろう。加入者ネットワーク１００の詳細な動作は、図２−図９に関連して後段でさらに詳細に説明される。
【００３８】
ＰＣＲＮ１３６が、セッション監査を実行して、インアクティブになった、孤児になった、または古くなった確立されたセッションが存在するかどうかを判定することが可能である。ＰＣＲＮ１３６は、規則的な間隔でセッション監査を実行して、インアクティブであることが疑われるセッションを検出することが可能である。ＰＣＲＮ１３６は、最新の活動タイムスタンプ以来の経過した時間が或る疑わしい不活動時間を超えると、セッションがインアクティブであることが疑われると判定することが可能である。ＰＣＲＮ１３６が、セッションがインアクティブであることが疑われると判定すると、ＰＣＲＮ１３６は、そのセッションを開始したネットワーク構成要素に無害なメッセージを送信することが可能である。無害なメッセージは、そのネットワーク構成要素におけるセッションの状態を変化させない要求メッセージであることが可能である。ＩＰ−ＣＡＮセッションまたはＧＷ制御セッションの場合、無害なメッセージは、イベントトリガをプロビジョニングするＲＡＲコマンドであり得る。ＡＦセッションの場合、無害なメッセージは、特定のアクションを含むＲＡＲコマンドであり得る。
【００３９】
ネットワーク構成要素は、無害なメッセージに、ＤＩＡＭＥＴＥＲ＿ＳＵＣＣＥＳＳ（２００１）もしくはＤＩＡＭＥＴＥＲ＿ＵＮＫＮＯＷＮ＿ＳＥＳＳＩＯＮ＿ＩＤ（５００２）の結果コード、または他の何らかのエラーコードを示すＲＡＡコマンドで応答することが可能である。Ｄｉａｍｅｔｅｒ成功コード、または「未知のセッション」以外のＤｉａｍｅｔｅｒエラーコードは、そのネットワーク構成要素においてそのセッションがアクティブであることを示し得る。この場合、ＰＣＲＮ１３６は、さらなるアクションを行うことなしにセッション活動タイムスタンプを更新することが可能である。Ｄｉａｍｅｔｅｒ未知のセッションＩＤコードは、そのセッションがインアクティブであること、またはそのネットワーク構成要素によって終了されている、もしくは孤児になっていることを示し得る。この場合、ＰＣＲＮ１３６は、例えば、そのセッションを終了させること、そのセッションをログ記録すること、および／またはそのセッションについてＮＭＥ（ネットワーク管理エンティティ）に知らせるＳＮＭＰ（簡易ネットワーク管理プロトコル）トラップを送信することなどの、そのセッションに関する管理アクションを行うことが可能である。
【００４０】
図２は、セッションを管理するための例示的なＰＣＲＮ２００を示す。ＰＣＲＮ２００は、例示的な加入者ネットワーク１００のＰＣＲＮ１３６に対応することが可能である。ＰＣＲＮ２００は、Ｇｘインターフェース２０５と、Ｇｘｘインターフェース２１０と、Ｒｘインターフェース２１５と、ＤＰＡ（Ｄｉａｍｅｔｅｒプロキシエージェント）２２０と、ＰＣＲＮブレード（ＰＣＲＢ）２２５ａ、２２５ｂ、．．．２２５ｎと、プロキシデータストレージ２３０とを含み得る。
【００４１】
Ｇｘｘインターフェース２０５は、ＳＧＷ１３２などのサービングゲートウェイと通信するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を備えるインターフェースであり得る。そのような通信は、３ＧＰＰ  ＴＳ２９．２１２および３ＧＰＰ  ＴＳ２９．２１３に準拠して実施され得る。例えば、Ｇｘｘインターフェース２０５は、ＳＧＷ１３２からＧＷ制御セッション確立要求を受信すること、およびＱｏＳ規則をＳＧＷ１３２に送信することが可能である。
【００４２】
Ｇｘインターフェース２１０は、ＰＧＷ１３４などのパケットデータネットワークゲートウェイと通信するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を備えるインターフェースであり得る。そのような通信は、３ＧＰＰ  ＴＳ２９．２１２および３ＧＰＰ  ＴＳ２９．２１３に準拠して実施され得る。例えば、Ｇｘインターフェース２１０は、ＰＧＷ１３４からＩＰ−ＣＡＮセッション確立要求およびイベントメッセージを受信すること、およびＰＧＷ１３４にＰＣＣ規則を送信することが可能である。
【００４３】
Ｒｘインターフェース２１５は、ＰＧＷ１３４などのパケットデータネットワークゲートウェイと通信するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を備えるインターフェースであり得る。そのような通信は、３ＧＰＰ  ＴＳ２９．２１３および３ＧＰＰ  ＴＳ２９．２１４に準拠して実施され得る。例えば、Ｒｘインターフェース２１５は、ＡＮ１５０からＡＦセッション要求を受信することが可能である。
【００４４】
ＤＰＡ（Ｄｉａｍｅｔｅｒプロキシエージェント）２２０は、ＰＣＲＮ２００におけるセッションを管理するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を含み得る。ＤＰＡ２２０は、関係するセッションを一緒にバインドすることを担うことが可能である。ＤＰＡ２２０は、Ｇｘｘインターフェース２０５、Ｇｘインターフェース２１０、および／またはＲｘインターフェース２１５を介してメッセージを受信することが可能である。そのメッセージに関してセッションが既に存在する場合、ＤＰＡ２２０は、いずれのＰＣＲＮブレード２２５がそのセッションを担っているかを特定することが可能である。次に、ＤＰＡ２２０は、そのメッセージを処理のために適切なＰＣＲＮブレード２２５に転送することが可能である。メッセージがセッション確立要求である場合、ＤＰＡ２２０は、そのセッションを管理することにいずれのＰＣＲＮブレード２２５を割り当てるかを決定することが可能である。ＤＰＡ２２０は、その新たなセッションを既存の１つまたは複数のセッションにバインドすることを決定して、そのメッセージを、バインドされたセッションを担うＰＣＲＮブレード２２５に転送することが可能である。ＤＰＡ２２０は、プロキシデータストレージ２３０を使用してＰＣＲＮブレードを選択する際に使用するための情報を格納することが可能である。セッション監査中、ＤＰＡ２２０は、監査メッセージの中の情報を使用して、正しいセッション情報およびバインディング情報を含めるようにプロキシデータストレージ２３０を更新することが可能である。
【００４５】
ＰＣＲＮブレード２２５ａ、２２５ｂ、．．．２２５ｎは、ＰＣＲＮ２００における通信セッションを管理するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を含み得る。各ＰＣＲＮブレード２２５は、ＰＣＲＦ（ポリシー−課金規則機能）を実施することが可能である。ＤＰＡを使用しない様々な代替の実施形態において、単一のＰＣＲＮブレード２２５が、ＰＣＲＮ２００として機能してもよい。図３−図９に関連してさらに詳細に説明されるとおり、各ＰＣＲＮブレード２２５が、セッション監査を実行して、そのＰＣＲＮブレード２２５が管理しているセッションの中に孤児になった、またはインアクティブになったセッションが存在するかどうかを判定することが可能である。
【００４６】
プロキシデータストレージ２３０は、プロキシデータを格納することができる任意のマシン可読媒体であり得る。プロキシデータは、ＤＰＡ２２０によって、セッションがいずれのＰＣＲＮブレード２２５に割り当てられるかを決定するのに使用され得る。また、プロキシデータは、セッションが一緒にバインドされるべきかどうかを判定するのに使用されることも可能である。図４に関連してさらに詳細に説明されるとおり、プロキシデータは、セッションＩＤと、加入ＩＤと、ＰＣＲＮブレードＩＤと、バインドされたセッションＩＤのリストと、セッションを管理するのに役立つ他の情報とを含み得る。
【００４７】
Ｓｐインターフェース２３５は、ＳＰＲ１３８などのＳＰＲと通信するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を含むインターフェースであり得る。Ｓｐインターフェース２３５は、レコード要求を送信すること、および加入プロファイルレコードを受信することが可能である。ＤＰＡ２２０が、いずれのセッションが一緒にバインドされるべきかを判定する際に使用するためにＳｐインターフェース２３５から加入プロファイルレコードを要求することが可能である。図８−図１２に関連してさらに詳細に説明されるとおり、ＰＣＲＮブレード３００は、他のＰＣＲＮ（図示せず）および／またはＰＣＲＮブレード（図示せず）と通信するためにＳ９インターフェース（図示せず）を含むことも可能である。
【００４８】
図３は、通信セッションを管理するための例示的なＰＣＲＮブレード３００を示す。ＰＣＲＮブレード３００は、ＰＣＲＮブレード２２５に対応することが可能である。様々な代替の実施形態において、ＰＣＲＮブレード３００は、ＰＣＲＮ１３６に対応してもよい。ＰＣＲＮブレード３００は、Ｇｘｘインターフェース３０５と、Ｇｘインターフェース３１０と、Ｒｘインターフェース３１５と、セッションマネージャ３２０と、セッションデータストレージ３２５と、タイマ３３０と、Ｓｐインターフェース３３５とを含み得る。
【００４９】
Ｇｘｘインターフェース３０５は、Ｇｘｘインターフェース２０５と同様であり得る。Ｇｘインターフェース３１０は、Ｇｘインターフェース２１０と同様であり得る。Ｒｘインターフェース３１５は、Ｒｘインターフェース２１５と同様であり得る。Ｓｐインターフェース３３５は、Ｓｐインターフェース２３５と同様であり得る。Ｇｘｘインターフェース３０５、Ｇｘインターフェース３１０、Ｒｘインターフェース３１５、およびＳｐインターフェース３４０は、ＤＰＡ２２０を介してこれらのインターフェース、３０５、３１０、３１５、および３４０のそれぞれのネットワーク構成要素と間接的に通信することが可能である。様々な代替の実施形態において、Ｇｘｘインターフェース３０５、Ｇｘインターフェース３１０、Ｒｘインターフェース３１５、およびＳｐインターフェース３４０は、これらのインターフェース、３０５、３１０、３１５、および３４０のそれぞれのネットワーク構成要素と直接に通信してもよい。
【００５０】
セッションマネージャ３２０は、通信セッションを確立し、管理するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を含み得る。セッションマネージャ３２０は、ＰＧＷ１３４およびＧｘインターフェース３１０を介してＳＧＷ１３２からＩＰ−ＣＡＮセッション確立要求を受信することが可能である。ＳＧＷ１３２からのＧＷ制御セッション要求は、Ｇｘｘインターフェース３０５を介してセッションマネージャ３２０に着信することが可能である。セッションマネージャ３２０は、ＡＮ１５０などのＡＮからＡＦセッション要求を受信することが可能である。セッションを確立する際、セッションマネージャ３２０は、アクティブのセッションに関するセッションデータをセッションデータストレージ３２５の中に格納することが可能である。また、セッションマネージャ３２０は、アクティブのセッションを監視するとともに、内部または外部のトリガに基づいてセッションを終了させることも可能である。セッションマネージャ３２０は、セッションデータストレージ３２５の中の情報を更新すること、およびセッションにおける変更を、Ｇｘｘインターフェース３０５、Ｇｘインターフェース３１０、およびＲｘインターフェース３１５を介して適切な要素に通信することによって、セッションを管理することが可能である。
【００５１】
タイマ３３０が、セッションがインアクティブであること、または孤児になっていることが疑われると判定すると、セッションマネージャ３２０が、セッション監査を実行することが可能である。セッションマネージャ３２０は、セッションデータストレージ３２５の中に格納されたセッションデータに基づいて無害なメッセージを生成することが可能である。セッションマネージャ３２０は、その無害なメッセージに対する応答に基づいて、セッション管理アクションを行うことが可能である。例えば、セッションマネージャ３２０は、セッションがインアクティブであることをその応答が示す場合、そのセッションを終了させることが可能である。セッションマネージャ３２０が応答を受信しない場合、セッションマネージャ３２０は、例えば、応答がないことが、セッションがインアクティブであることを示すというようなデフォルトの想定に基づいて、セッション管理アクションを行うことが可能である。様々な代替の実施形態において、そのようなデフォルトの想定は、セッションマネージャ３２０が応答を受信しない場合、セッションマネージャが、セッション管理アクションを行うことを控えることが可能であることを代わりに示してもよい。
【００５２】
セッションデータストレージ３２５は、セッションデータを格納することができる任意のマシン可読媒体であり得る。図５に関連してさらに詳細に説明されるとおり、セッションデータは、例えば、各セッションに関するセッションＩＤ、加入ＩＤ、セッションタイプ、ＰＣＣ規則、ＱｏＳ規則、活動タイムスタンプ、イベントトリガおよび／または特定のアクションを含み得る。
【００５３】
タイマ３３０は、セッションがインアクティブであることが疑われる場合にそのことを判定するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を含み得る。タイマ３３０は、現在時刻を監視することが可能である。タイマ３３０は、監査間隔および疑わしい不活動時間を有して構成されることが可能である。監査間隔は、運用者によって構成されること、または、例えば、転送クラス、ベアラタイプ、割り当てられた合計帯域幅、および／またはアプリケーションタイプなどの要因に基づいて計算されることが可能である。一般に、セッションによってより多くのリソースが使用されるにつれ、より短い監査間隔が、より望ましくなる。監査間隔が経過するたびに、タイマ３３０は、各セッションに関する活動タイムスタンプを現在時刻と比較することが可能である。活動タイムスタンプと現在時刻の差が疑わしい不活動時間を超えた場合、タイマ３３０は、セッション監査を行うようセッションマネージャ３２０に要求することが可能である。
【００５４】
規則エンジン３３５は、ＰＣＣ規則および／またはＱｏＳ規則を生成するように、さらに／または変更するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を含み得る。規則エンジン３３５は、セッションマネージャ３２０が通信セッションを最初に確立する際、ＰＣＣ／ＱｏＳ規則を生成することが可能である。規則エンジン３３５は、セッションマネージャ３２０がセッション管理アクションを行う際、新たな規則を生成すること、または既存の規則を削除することが可能である。例えば、規則エンジン３３５は、ＩＰ−ＣＡＮセッションに関する既存のＰＣＣ規則を削除して、終了されたＡＦセッションを消去することが可能である。規則エンジン３３５は、規則エンジン３３５がＰＣＣ／ＱｏＳ規則を生成した際、または削除した際にはいつでも、セッションデータストレージ３２５を更新することが可能である。
【００５５】
図４は、プロキシデータを格納するための例示的なデータ構成４００を示す。データ構成４００は、例えば、プロキシデータストレージ２３０の中に格納されたデータベースの中のテーブルであることが可能である。代替として、データ構成４００は、一連の連結リスト、アレイ、または類似したデータ構造であることも可能である。このため、データ構成４００は、基礎をなすデータの抽象化であり、つまり、このデータの格納に適した任意のデータ構造が使用され得ることが明白であろう。
【００５６】
データ構成４００は、例えば、セッションＩＤフィールド４０５、加入ＩＤフィールド４１０、ＰＣＲＮブレードＩＤ４１５、およびバインドされたセッションＩＤフィールド４２０などのデータフィールドを含み得る。データ構成４００は、セッションおよびバインディングステータスを定義する際に要求される、または役立つさらなるフィールド（図示せず）を含み得る。データ構成４００は、例えば、エントリ４２５、４３０、および４３５などの、セッションに関する複数のエントリを含み得る。
【００５７】
セッションＩＤフィールド４０５は、個別のＩＰ−ＣＡＮセッションに割り当てられた名前を含み得る。セッションＩＤフィールド４０５によって格納された値は、セッション確立中にＤＰＡ２２０によって割り当てられることが可能である。セッションＩＤフィールド４０５は、特定の通信セッションに関するＤｉａｍｅｔｅｒメッセージの中でセッションＩＤ  ＡＶＰとして使用され得る。加入ＩＤフィールド３１０は、通信セッションに関連する加入レコードまたは加入者レコードを識別するのに使用される１つまたは複数の名前、番号、および／または文字列を含み得る。加入ＩＤフィールド４１０は、例えば、ＩＭＳＩ（国際モバイル加入者ＩＤ番号）、ＭＳＩＳＤＮ（移動局国際加入者ディレクトリ番号）、ＳＩＰＵＲＩ（セッション開始プロトコルユニフォームリソースインジケータ）、および／またはＮＡＩ（ネットワークアクセス識別子）を含み得る。加入ＩＤ４１０は、加入者レコードを求める要求に対応するレコードをＳＰＲ１３８から探し出すのに使用され得る。ＰＣＲＮブレードＩＤフィールド４１５は、例えば、ＩＰアドレス、ＭＡＣアドレス、またはＤＰＡ２２０がＰＣＲＮブレードにトラフィックをアドレス指定することを可能にする他の方法を使用してセッションが割り当てられるＰＣＲＮブレード２２５を示すことが可能である。バインドされたセッションＩＤフィールド４２０は、セッションがバインドされている他のセッションがあれば、それらのセッションを示すことが可能である。
【００５８】
データ構成４００の中のエントリの例として、エントリ４２５が、加入者「１０００００００００００００１」に関するセッション「０ｘ２８４Ｂ」を示すことが可能である。このセッションは、ＰＣＲＮブレード１２３．４５．６７．８９に割り当てられている。このセッションは、セッション「０ｘ７２Ａ３」および「０ｘ３２Ｃ２」にバインドされる。データ構成４００の第２の例として、エントリ４３０が、加入者「１０００００００００００００１」に関するセッション「０ｘ７２Ａ３」を示すことが可能である。また、このセッションは、ＰＣＲＮブレード１２３．４５．６７．８９にも割り当てられている。このセッションは、セッション「０ｘ２８４Ｂ」にバインドされる。エントリ４３５は、データ構成４００がさらなるセッションに関するさらなるエントリを含み得ることを示すことが可能である。
【００５９】
図５は、セッションデータを格納するための例示的なデータ構成５００を示す。データ構成５００は、例えば、セッションデータストレージ３２５の中に格納されたデータベースの中のテーブルであり得る。代替として、データ構成５００は、一連の連結リスト、アレイ、または類似したデータ構造であることも可能である。このため、データ構成５００は、基礎をなすデータの抽象化であり、つまり、このデータの格納に適した任意のデータ構造が使用され得ることが明白であろう。
【００６０】
データ構成５００は、例えば、セッションＩＤフィールド５０５、加入ＩＤフィールド５１０、セッションタイプフィールド５１５、ＰＣＣ規則フィールド５２０、ＱｏＳ規則フィールド５２５、イベントトリガフィールド５３０、特定のアクションフィールド５３５、および活動タイムスタンプ５４０などのデータフィールドを含み得る。データ構成５００は、通信セッションを定義する際に要求される、または役立つさらなるフィールド（図示せず）を含み得る。データ構成５００は、例えば、セッション５４５、５５０、５５５、および５６０などのセッションに関する複数のエントリを含み得る。
【００６１】
セッションＩＤフィールド５０５は、セッションＩＤフィールド４０５に対応することが可能である。セッションＩＤフィールド５０５は、レコードを管理する際、およびネットワーク構成要素と通信する際にセッションを識別するのに使用され得る。加入ＩＤフィールド５１０は、加入ＩＤフィールド４１０と同様であることが可能である。加入ＩＤフィールド５１０は、セッションに関連する加入者を識別するのに使用され得る。セッションタイプフィールド５１５は、通信セッションのタイプの指示を含み得る。セッションタイプは、ＩＰ−ＣＡＮタイプ、ＧＷ制御タイプ、ＡＦタイプ、およびＰＣＲＮ１３６によって管理されるセッションの他の任意のタイプを含み得る。ＰＣＣ規則フィールド５２０は、そのセッションに関してアクティブであるＰＣＣ規則名のリストを含み得る。ＱｏＳ規則フィールド５２５は、そのセッションに関してアクティブであるＱｏＳ規則名のリストを含み得る。イベントトリガフィールド５３０は、そのセッションに関してプロビジョニングされるイベントトリガのリストを含み得る。イベントトリガフィールド５３０は、ＡＦセッションに関して全く値を含まないことが可能である。特定のアクションフィールド５３５は、そのセッションに関してプロビジョニングされる特定のアクションのリストを含み得る。ＩＰ−ＣＡＮセッションおよびＧＷ制御セッションは、特定のアクションを全く含まないことが可能である。活動タイムスタンプフィールド５４０は、ＰＣＲＮ１３６がそのセッションに関して行った前回のアクションの時刻の指示を含み得る。活動タイムスタンプフィールド５４０は、例えば、ＮＴＰ（ネットワーク時間プロトコル）またはＵＮＩＸ（登録商標）時間を使用して、前回のアクションの時刻を示すことが可能である。簡単にするため、タイムスタンプフィールド５４０は、図面および実施例においておなじみのショートタイムパターンフォーマット（ＨＨ：ｍｍ）を使用して示され得る。
【００６２】
データ構成５００の中のエントリの例として、セッション５４５が、「１０００００００００００００１」という加入ＩＤに関する「０ｘ２８４Ｂ」というセッションＩＤを有するセッションを示すことが可能である。セッション５４５は、１つのアクティブＰＣＣ規則「０ｘＡ９０３」と、１つのアクティブＱｏＳ規則「０ｘ１２Ｂ１」とを有するＩＰ−ＣＡＮセッションである。セッション５４５は、ＩＰ−ＣＡＮセッションに関してＰＧＷにプロビジョニングされたものとしてイベントトリガ２、６、および１７をリストアップする。セッション５４５に関する前回の活動は、「１０：３２」に生じた。
【００６３】
データ構成５００の中のエントリの別の例として、セッション５５０が、「１０００００００００００００１」という加入ＩＤに関する「０ｘ７２Ａ３」というセッションＩＤを有するセッションを示すことが可能である。セッション５５０は、アクティブのＰＣＣ規則を全く有さず、１つのアクティブのＱｏＳ規則「０ｘ１２Ｂ１」を有するＧＷ制御セッションである。セッション５５０は、ＧＷ制御セッションに関してＳＧＷにプロビジョニングされたものとしてイベントトリガ「１４」をリストアップし、このことは、イベントトリガが全くプロビジョニングされなかったことを示すことが可能である。セッション５５０に関する前回の活動は、「１０：３６」に生じた。
【００６４】
データ構成５００の中のエントリの別の例として、セッション５５５が、「１０００００００００００００１」という加入ＩＤに関する「０ｘ３２Ｃ３」というセッションＩＤを有するセッションを示すことが可能である。セッション５５５は、１つのアクティブのＰＣＣ規則「０ｘＡ９０３」を有し、アクティブのＱｏＳ規則を全く有さないＡＦセッションである。セッション５４５は、ＡＦセッションに関してＰＦＷにプロビジョニングされたものとして特定のアクション「８」をリストアップする。セッション５４５に関する前回の活動は、「１０：４０」に生じた。セッション５６０は、データ構成５００がさらなるセッションに関するさらなるエントリを含み得ることを示すことが可能である。
【００６５】
図６は、セッション監査を行うための例示的な方法６００を示す。方法６００は、ステップ６０５で始まり、ステップ６１０に進むことが可能である。ステップ６１０で、タイマ３３０が、セッション監査間隔が生じるのを待つことが可能である。様々な例示的な実施形態において、監査間隔は、各セッションに関して構成されても、グループのセッションに関して構成されてもよい。代替として、タイマ３３０は、すべてのセッションがいつ監査されるかを決定する単一の監査間隔を有して構成されてもよい。タイマ３３０は、現在時刻が前の監査時刻に監査間隔を足したものと等しくなると、監査間隔が生じたと判定することが可能である。次に、方法６００は、ステップ６１５に進むことが可能である。
【００６６】
ステップ６１５で、タイマ３３０が、疑わしいセッションを検出することが可能である。セッションデータストレージ３２５の中の各セッションに関して、タイマ３３０が、現在時刻と活動タイムスタンプ５４０の差を疑わしい不活動時間と比較することが可能である。セッションは、その差が疑わしい不活動時間を超えた場合、疑わしい可能性がある。タイマ３３０が、疑わしいセッションに関してセッション監査を行うようセッションマネージャ３２０に要求することが可能である。次に、方法６００は、ステップ６２０に進むことが可能である。
【００６７】
ステップ６２０で、セッションマネージャ３２０が、そのセッションを開始したネットワーク構成要素に無害なメッセージを送信することが可能である。ＩＰ−ＣＡＮセッションの場合、ネットワーク構成要素は、ＰＧＷであり得る。ＧＷ制御セッションの場合、ネットワーク構成要素は、ＳＧＷであり得る。ＡＦセッションの場合、ネットワーク構成要素は、ＡＮであり得る。無害なメッセージは、ネットワーク構成要素においてそのセッションの状態を変化させない要求メッセージであることが可能である。例として、ＩＰ−ＣＡＮセッションまたはＧＷ制御セッションに関する無害なメッセージは、イベントトリガをプロビジョニングするＲＡＲコマンドであることが可能である。プロビジョニングされるイベントトリガは、イベントトリガフィールド５３０の中に格納されたイベントトリガと合致することが可能であり、したがって、その要求は、ＳＧＷまたはＰＧＷにおけるセッション変更に影響しない。別の例として、ＡＦセッションに関する無害なメッセージが、特定のアクションを含むＲＡＲコマンドであることが可能である。また、セッションマネージャ３２０が、そのメッセージの中に独自のＡＶＰを含めて、その無害なメッセージに応答がないことを扱うためのデフォルトの規則をＤＰＡ２２０に知らせることも可能である。
【００６８】
ステップ６２５で、ＰＣＲＮ１３６が、そのネットワーク構成要素からの応答を待つことが可能である。ＰＣＲＮ１３６は、ネットワーク構成要素が応答するのに十分な時間、待つことが可能である。この待つ期間は、例えば、そのネットワーク構成要素に関する平均応答時間に基づいて構成されることが可能である。ステップ６３０で、セッションマネージャ３２０および／またはＤＰＡ２２０が、害のないメッセージに対する応答が受信されているかどうかを判定することが可能である。応答が受信された場合、方法は、ステップ６３５に進むことが可能である。応答が全く受信されない場合、方法は、ステップ６４５に進むことが可能である。
【００６９】
ステップ６３５で、セッションマネージャ３２０が、その応答に基づいて、そのセッションがアクティブであるかどうかを判定することが可能である。例えば、応答が、ＤＩＡＭＥＴＥＲ＿ＳＵＣＣＥＳＳ（２００１）を含む場合、または、標準がエラーであると指定する、すでに知られている状態の繰り返しである無害なメッセージによる、予期されるエラーコードが戻された場合、その応答は、そのセッションがそのネットワーク構成要素においてアクティブであることを示し得る。この場合、方法は、ステップ６４０に進むことが可能である。さらなる例として、応答がＤＩＡＭＥＴＥＲ＿ＵＮＫＮＯＷＮ＿ＳＥＳＳＩＯＮ＿ＩＤ（５００２）を含む場合、応答は、セッションがインアクティブであること、またはそのネットワーク構成要素によって終了されている、もしくは孤児になっていることを示し得る。この場合、方法は、ステップ６５０に進むことが可能である。
【００７０】
ステップ６４０で、セッションマネージャが、応答の時刻を含めるように活動タイムスタンプフィールド５４０を更新することが可能である。次に、方法は、ステップ６６０に進むことが可能であり、方法が終了する。
【００７１】
ステップ６３０に戻ると、方法は、ＰＣＲＮ１３６が応答を受信しなかった場合、ステップ６４５に進むことが可能である。ステップ６４５で、セッションマネージャが、デフォルトの想定に基づいてアクションを決定することが可能である。デフォルトの想定が、応答がないことが不活動を示すことである場合、方法は、ステップ６５０に進むことが可能である。デフォルトの想定が、応答がないことが不活動として扱われないことである場合、方法は、ステップ６１０に戻って、別の監査間隔にわたって待つ。様々な実施形態において、デフォルトの想定は、応答がないことが、最初からｎ−１回までの監査の間、不活動として扱われないが、ｎ回目には不活動として扱われることであり得る。ｎの値は、ハードコードされること、構成可能なシステム変数によって定義されること、またはセッションデータストレージ３２５の中で各セッションに関して定義されることが可能である。セッションマネージャ３２０が、いくつの監査間隔が生じたかを特定するようにセッションタイムスタンプを更新することを控えることが可能である。
【００７２】
ステップ６５０で、セッションマネージャ３２０が、インアクティブのセッションに関する管理アクションを行うことが可能である。様々な例示的な実施形態において、管理アクションは、セッションを終了させることであり得る。セッションマネージャ３２０は、知られていないセッションメッセージを、そのメッセージがネットワーク構成要素からのセッション終了メッセージであるかのように扱うことが可能である。図７−図９に関連してさらに詳細に説明されるとおり、次に、セッションマネージャ３２０は、すべてのネットワークノードにおいてそのセッションを終了させる適切なメッセージを送信することが可能である。様々な代替の実施形態において、セッションマネージャ３２０は、セッション情報をログ記録すること、および／またはＳＮＭＰ（簡易ネットワーク管理プロトコル）トラップメッセージを送信することによって、セッションを管理することが可能である。次に、方法は、ステップ６６０に進むことが可能であり、方法が終了する。
【００７３】
図７は、ＩＰ−ＣＡＮセッション監査中の図１のネットワークにおけるエンティティ間のメッセージの交換を示す例示的なメッセージ図７００である。ステップ７０５で、ＰＣＲＮ１３６が、ＩＰ−ＣＡＮセッションがインアクティブであることが疑われると判定することが可能である。メッセージ７１０は、イベントトリガを含むＲＡＲコマンドの形態のＰＣＲＮ１３６からＰＧＷ１３４への無害なメッセージであり得る。メッセージ７１５は、メッセージ７１０に対する応答であり得る。ＰＧＷ１３４は、以下のいずれかの結果コードを含むＲＡＡコマンドで応答することが可能である：ＤＩＡＭＥＴＥＲ＿ＵＮＫＮＯＷＮ＿ＳＥＳＳＩＯＮ＿ＩＤ（５００２）またはＤＩＡＭＥＴＥＲ＿ＳＵＣＣＥＳＳ（２００１）、あるいは３ＧＰＰ標準によってエラーと定義され得る、デバイスの状態を変化させない要求を送信することによる予期される障害コード。結果コードが：ＤＩＡＭＥＴＥＲ＿ＳＵＣＣＥＳＳ（２００１）または予期されるエラーコードであった場合、ＰＣＲＮ１３６は、セッションが依然としてアクティブであるためにセッション監査を停止することが可能である。結果コードがＤＩＡＭＥＴＥＲ＿ＵＮＫＮＯＷＮ＿ＳＥＳＳＩＯＮ＿ＩＤ（５００２）であった場合、ＰＣＲＮ１３６は、例えば、ＩＰ−ＣＡＮセッションおよび関連するすべてのセッションを終了させることなどの管理アクションを行うことが可能である。
【００７４】
メッセージ７２０、７２５、７３０、および７３５が、ＩＰ−ＣＡＮセッションに関連するＡＦセッションを終了させることが可能である。メッセージ７２０は、ＩＰ−ＣＡＮセッションに関連するＡＦセッションの終了を要求するＰＣＲＮ１３６からＡＮ１５０へのＡＳＲ（セッション中止要求）コマンドであり得る。メッセージ７２０を受信すると、ＡＮ１５０は、セッションに関するデータを送信することを停止することが可能であり、さらにセッションを終了するように内部レコードを更新することが可能である。メッセージ７２５は、メッセージ７２０の要求を確認するＡＮ１５０からＰＣＲＮ１３６へのＡＳＡ（セッション中止応答）コマンドであり得る。ＰＣＲＮ１３６は、メッセージ７２５を受信しなかった場合、メッセージ７２０を再送することが可能である。メッセージ７３０は、ＡＮ１５０からＰＣＲＮ１３６への終了要求を伴うＳＴＲ（セッション終了要求）コマンドであり得る。メッセージ７３０を受信すると、ＰＣＲＮ１３６は、セッションに関するＰＣＣ規則をアンインストールする、または削除することが可能である。また、ＰＣＲＮ１３６は、プロキシデータストレージ２３０およびセッションデータストレージ３２５からセッションと関係するセッション情報を削除することも可能である。メッセージ７３５は、ステップ７３０の要求を確認するＰＣＲＮ１３６からＡＮ１５０へのＳＴＡ（セッション終了応答）コマンドであり得る。ＡＮ１５０は、メッセージ７３５を受信しなかった場合、メッセージ７３０を再送することが可能である。これらのメッセージで、ＰＣＲＮ１３６とＡＮ１５０の両方においてＡＦセッションを終了させるのに十分であり得る。ＩＰ−ＣＡＮセッションは、複数のＡＦセッションに関連することが可能であり、したがって、メッセージ７２０、７２５、７３０、および７３５は、ＩＰ−ＣＡＮセッションに関連する各ＡＦセッションに関して繰り返されることが可能である。
【００７５】
メッセージ７４０、７４５、７５０、および７５５が、ＩＰ−ＣＡＮセッションに関連するＧＷ制御セッションを終了させることが可能である。メッセージ７４０は、ＧＷ制御セッションの終了を要求するＰＣＲＮ１３６からＳＧＷ１３２へのＲＡＲ（Ｒｅ−Ａｕｔｈ要求）コマンドであり得る。メッセージ７４０を受信すると、ＳＧＷ１５０は、セッションに関するデータを送信することを停止することが可能であり、さらにセッションを終了するように内部レコードを更新することが可能である。メッセージ７４５は、メッセージ７４０の受信を確認するＳＧＷ１３２からＰＣＲＮ１３６へのＲＡＡ（Ｒｅ−Ａｕｔｈ応答）コマンドであり得る。ＰＣＲＮ１３６は、メッセージ７４５を受信しなかった場合、メッセージ７４０を再送することが可能である。メッセージ７５０は、ＧＷ制御セッションを終了させるようＰＣＲＮ１３６に要求するＳＧＷ１３２からＰＣＲＮ１３６へのＣＣＲ（クレジット制御要求）コマンドであり得る。メッセージ７５０を受信すると、ＰＣＲＮ１３６は、セッションに関するＰＣＣ規則をアンインストールする、または削除することが可能である。また、ＰＣＲＮ１３６は、プロキシデータストレージ２３０およびセッションデータストレージ３２５からセッションに関係するセッション情報を削除することも可能である。メッセージ７５５は、メッセージ７５０の要求を確認するＰＣＲＮ１３６からＳＧＷ１３２へのＣＣＡ（クレジット制御応答）コマンドであり得る。ＳＧＷ１３２は、メッセージ７５５を受信しなかった場合、メッセージ７５０を再送することが可能である。これらのステップで、ＳＧＷ１３２とＰＣＲＮ１３６の両方においてＧＷ制御セッションを終了させるのに十分であり得る。様々な実施形態において、メッセージ７４０、７４５、７５０、および７５５が、ＧＷ制御セッションを終了させるのに使用されない可能性がある。ＰＣＲＮ１３６が、終了を開始するメッセージ７４０を送信することを控えることが可能である。
【００７６】
図８は、様々なデータサービスへのローミングアクセスを提供するための例示的な加入者ネットワーク８００を示す。例示的な加入者ネットワーク８００は、例示的なネットワーク１００に対応することが可能である。ＥＰＣ８３０ｖが、ＵＥ８１０などのローミングＵＥにパケットデータネットワーク８４０に対する訪問先アクセスを提供することができ、その結果、ＵＥ８１０に関連するトラフィックがＳＧＷ８３２ｖおよびＰＧＷ８３４ｖ経由で流れる。代替として、またはさらに、ＥＰＣ８３０ｖは、ＵＥ８１０などのローミングＵＥにパケットデータネットワーク８４０に対するホームルーティングされるアクセスを提供することができ、その結果、ＵＥ８１０に関連するトラフィックがＳＧＷ８３２ｖおよびＰＧＷ８３４ｈ経由で流れる。したがって、ＳＧＷ８３２ｖが、ＰＧＷ８３４ｈと通信状態にあることが可能である。同様に、ＳＧＷ８３２ｈが、ＰＧＷ８３４ｖと通信状態にあることが可能であり、したがって、ＥＰＣ８２３０ｈが、基地局８２０ｈに接続された他のローミングＵＥ（図示せず）に同様のアクセスを提供することが可能である。
【００７７】
ＵＥ２１０は、基地局８２０ｖと通信状態にあるが、基地局８２０ｈの範囲外にあることが可能である。しかし、基地局８２０ｖは、ＵＥ８１０のためにＨＰＬＭＮ（ホーム公衆陸上移動ネットワーク）に接続することはしない可能性がある。代わりに、基地局８２０ｖは、ＵＥ８１０に関してＶＰＬＭＮ（訪問先陸上移動ネットワーク）に属することが可能であり、このため、ＵＥ８１０に関連する様々なデータ、ＵＥ８１０に関連する加入者、および／またはＵＥ８１０に接続を提供するのに役立つ、または必要な他のデータへのアクセスを有さないことが可能である。例えば、ＳＰＲ８３８ｖは、ＵＥ８１０に関連する情報を含まないことが可能であり、代わりに、そのような情報が、ＳＰＲ８３８ｈの中に格納されることが可能である。ＳＰＲ８３８ｈの中に格納された加入者情報に基づくサービスのプロビジョニングを可能にするのに、ＰＣＲＮ８３６ｖが、Ｓ９セッションを介してＰＣＲＮ８３６ｈと通信することが可能である。
【００７８】
様々な実施形態において、ＰＣＲＮ８３６ｖが、ＵＥ８１０に関連する要求を、Ｓ９セッションを介してＰＣＲＮ８３６ｈに転送することが可能である。ＰＣＲＮ８３６ｈが、これらのメッセージを処理して、例えば、ＰＣＣ規則および／またはＱｏＳ規則を生成することが可能である。次に、ＰＣＲＮ８３６ｈが、ＰＧＷ８３４ｖおよび／またはＳＧＷ８３２ｖにインストールするために、これらの規則をＰＣＲＮ８３６ｖに転送することが可能である。また、ホームルーティングされるアクセスの場合、ＰＣＲＮ８３６ｈは、ＰＣＣ規則をＰＧＷ８３４ｈに直接にインストールすることも可能である。ＰＣＲＮ８３６ｈ、８３６ｖの協調的な性質に鑑みて、これらのデバイスは、互いとの関係で「パートナデバイス」と呼ばれ得る。
【００７９】
様々な実施形態において、各パートナデバイスは、ホームデバイスとして動作することも、訪問先デバイスとして動作することもできる可能性がある。例えば、別のローミングＵＥ（図示せず）が基地局８２０ｈに接続されていた場合、ＰＣＲＮ８３６ｈが、ＰＣＲＮ８３６ｖに要求を転送することがさらにできることが可能であり、ＰＣＲＮ８３６ｖが、ＰＣＲＮ８３６ｈにインストールするように適切な規則を戻すことができることが可能である。
【００８０】
図９は、Ｓ９セッションおよびサブセッションを監査するための例示的なＰＣＲＮ９００を示す。ＰＣＲＮ９００は、ＰＣＲＮ１３６、２００、８３６ｈ、８３６ｖのうちの１つまたは複数に対応することが可能である。さらに、または代替として、ＰＣＲＮ９００は、ＰＣＲＮブレード３００に対応することも可能である。ＰＣＲＮ９００は、ネットワークインターフェース９０５、ＩＰ−ＣＡＮセッションマネージャ９１０、ＩＰ−ＣＡＮセッションストレージ９１５、ＩＰ−ＣＡＮセッションオーディタ９２０、Ｓ９インターフェース９２５、Ｓ９セッションマネージャ９３０、Ｓ９セッションストレージ９３５、および／またはＳ９セッションオーディタ９４０を含み得る。
【００８１】
ネットワークインターフェース９０５は、例えば、ＰＧＷおよび／またはＡＦなどの他の少なくとも１つの他のデバイスと通信するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を備えるインターフェースであり得る。したがって、ネットワークインターフェース９０５は、Ｇｘインターフェース、Ｇｘｘインターフェース、および／またはＲｘインターフェースを含み得る。様々な実施形態において、ネットワークインターフェース９０５は、イーサネットインターフェースであり得る。
【００８２】
ＩＰ−ＣＡＮセッションマネージャ９１０は、ＩＰ−ＣＡＮセッションに関する様々な管理機能を行うように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。例えば、ＩＰ−ＣＡＮセッションマネージャ９１０が、ネットワークインターフェース９０５を介して新たなＩＰ−ＣＡＮセッションを求める要求を受信し、その後、ＩＰ−ＣＡＮセッションストレージ９１５の中で新たなＩＰ−ＣＡＮセッションレコードを作成することを含む、新たなＩＰ−ＣＡＮセッションを確立するステップを行うことが可能である。また、ＩＰ−ＣＡＮセッションマネージャ９１０は、例えば、ＩＰ−ＣＡＮセッションに関連する変更要求および終了要求などの他の要求を処理するように構成されることも可能である。
【００８３】
ＩＰ−ＣＡＮセッションストレージ９１５は、様々なＩＰ−ＣＡＮセッションと関係する情報を格納することができる任意のマシン可読媒体であり得る。したがって、ＩＰ−ＣＡＮセッションストレージ９１５は、ＲＯＭ（読み取り専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および／または類似した記憶媒体などのマシン可読記憶媒体を含み得る。ＩＰ−ＣＡＮセッションストレージ９１５は、ＰＣＲＮ９００に知られている各ＩＰ−ＣＡＮセッションに関するレコードを格納することが可能である。したがって、ＩＰ−ＣＡＮセッションストレージは、図３のセッションデータストレージ３２５に対応する、またはそれ以外でセッションデータストレージ３２５よって格納されるのと同様のデータを格納することが可能である。後段でさらに詳細に説明されるとおり、ＩＰ−ＣＡＮセッションストレージは、「仮想ＩＰ−ＣＡＮセッション」に対応するレコードを格納することも可能である。そのような仮想ＩＰ−ＣＡＮセッションは、Ｓ９サブセッションに対応することが可能である。
【００８４】
ＩＰ−ＣＡＮセッションオーディタ９２０は、孤児になったＩＰ−ＣＡＮセッションストレージ９１５の中に格納されているＩＰ−ＣＡＮセッションを識別し、その後、それらの孤児になったＩＰ−ＣＡＮセッションに関する管理アクションの実行を行うように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。例えば、ＩＰ−ＣＡＮセッションオーディタ９２０は、ＩＰ−ＣＡＮストレージ９１５からそれらのＩＰ−ＣＡＮセッションレコードを除去することが可能である。したがって、ＩＰ−ＣＡＮセッションオーディタは、図３のセッションマネージャ３２０および／またはタイマ３３０に対応する、またはそれ以外でセッションマネージャ３２０および／またはタイマ３３０と同様の機能を実施することが可能である。
【００８５】
Ｓ９インターフェース９２５は、３ＧＰＰ  ＴＳ２９．２１５に記載されるＳ９プロトコルに準拠して、別のＰＣＲＮ（図示せず）などの少なくとも１つのパートナデバイスと通信するように構成されたハードウェア、および／またはマシン可読記憶媒体上に符号化された実行可能命令を備えるインターフェースであり得る。様々な実施形態において、Ｓ９インターフェース９２５は、イーサネットインターフェースであり得る。Ｓ９インターフェース９２５は、ネットワークインターフェース９０５と同一のハードウェアを利用することが可能である。
【００８６】
Ｓ９セッションマネージャ９３０は、Ｓ９セッションに関する様々な管理機能を実行するように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。例えば、Ｓ９セッションマネージャ９３０は、Ｓ９インターフェース９２５を介して新たなＳ９セッションを求める要求を受信し、その後、Ｓ９セッションストレージ９３５の中で新たなＳ９セッションレコードを作成することを含む、新たなＳ９セッションを確立するステップを行うことが可能である。Ｓ９セッションマネージャ９３０は、例えば、Ｓ９セッションに関連する変更要求および終了要求などの他の要求を処理するように構成されることも可能である。さらに、Ｓ９セッションマネージャは、Ｓ９サブセッションの管理を可能にするようにさらに構成され得る。例えば、新たなＳ９サブセッションを作成すると、Ｓ９セッションマネージャ９３０は、その新たなＳ９サブセッションを識別するように関連するＳ９セッションレコードを更新することが可能であり、さらにＩＰ−ＣＡＮセッションストレージ９１５の中で新たな仮想ＩＰ−ＣＡＮセッションレコードを作成することが可能である。
【００８７】
様々な実施形態において、Ｓ９セッションマネージャ９３０は、Ｓ９インターフェース９２５から受信されたメッセージを、Ｇｘプロトコル、Ｇｘｘプロトコル、および／またはＲｘプロトコルに準拠して形成されたメッセージに変換するようにさらに構成され得る。次に、Ｓ９セッションマネージャ９３０は、これらの変換されたメッセージをＩＰ−ＣＡＮセッションマネージャ９１０に渡すことが可能である。このため、Ｓ９インターフェース９２５を介して受信されたメッセージは、ネットワークインターフェースを介して受信された非ローミング要求メッセージを処理する同一のモジュールを使用して処理され得る。同様に、Ｓ９セッションマネージャ９３０は、Ｇｘプロトコル、Ｇｘｘプロトコル、および／またはＲｘプロトコルに準拠して生成された応答メッセージを、Ｓ９プロトコルに準拠して形成されたメッセージに変換するように構成されることも可能である。このようにして、Ｓ９セッションマネージャ９３０は、パートナデバイスと非ローミング機能のために設計されたＰＣＲＮモジュールの間の「ブリッジ」として機能することが可能である。
【００８８】
様々な実施形態において、各Ｓ９セッションは、１つまたは複数のＳ９サブセッションに関連することが可能である。Ｓ９セッションは、ローミング加入者の各ＵＥに関して確立され得る一方で、Ｓ９サブセッションは、その加入者の各ローミングＩＰ−ＣＡＮセッションに関するＳ９セッション内で確立され得る。前述したとおり、新たなＳ９サブセッションが作成されると、Ｓ９セッションマネージャが、ＩＰ−ＣＡＮセッションストレージ９１５の中で新たな仮想ＩＰ−ＣＡＮセッションを作成することが可能である。このため、ＩＰ−ＣＡＮセッションに関して実行される様々な機能は、仮想ＩＰ−ＣＡＮセッションに関して実行されることも可能であり、したがって、新たなＳ９サブセッションに関して実行されることも可能である。例えば、ＩＰ−ＣＡＮセッションオーディタ９２０が、図１−図７に関連して前述したのと同様に仮想ＩＰ−ＣＡＮセッションを周期的に監査し、その結果、Ｓ９サブセッションに関する無害なメッセージを送信して、結果を評価することが可能である。前述したとおり、無害なメッセージは、そのセッションに関して以前にプロビジョニングされた１つまたは複数のイベントトリガをプロビジョニングする命令などの命令を含み得る。
【００８９】
仮想ＩＰ−ＣＡＮセッションレコードは、仮想ＩＰ−ＣＡＮセッションレコードが、ＰＣＲＮ９００自体を、そのセッションと関係する発信されるメッセージの適切な受信者として識別するという点で、他のＩＰ−ＣＡＮセッションレコードとは異なり得る。したがって、仮想ＩＰ−ＣＡＮセッションに関する無害な命令を有するＧｘ  ＲＡＲを送信しようと試みる際、ＩＰ−ＣＡＮセッションオーディタ９２０は、ＰＣＲＮ９００自体に対するネットワークインターフェース９０５を介してそのメッセージを送信しようと試みることが可能である。ネットワークインターフェース９０５または他の何らかの構成要素（図示せず）が、ＰＣＲＮ９００が、ＰＣＲＮ９００自体からＲＡＲを受信するこの普通でない事例を認識し、そのようなメッセージをＳ９セッションマネージャ９３０に転送するように構成されることが可能である。前段で説明されるとおり、Ｓ９セッションマネージャは、次に、その無害な命令を変換し、Ｓ９インターフェース９２５を介して適切なパートナデバイスに送信するように構成されることが可能である。このようにして、Ｓ９サブセッションは、ＩＰ−ＣＡＮセッションを監査する同一のモジュールを使用して監査され得る。
【００９０】
Ｓ９セッションストレージ９３５は、様々なＳ９セッションと関係する情報を格納することができる任意のマシン可読媒体であり得る。したがって、Ｓ９セッションストレージ９３５は、ＲＯＭ（読み取り専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および／または類似した記憶媒体などのマシン可読記憶媒体を含み得る。Ｓ９セッションストレージ９３５は、ＰＣＲＮ９００に知られている各Ｓ９セッションに関するレコードを、そのＳ９セッションに関連するＳ９サブセッションのＩＤを含め、格納することが可能である。したがって、Ｓ９セッションストレージ９３５は、図３のセッションデータストレージ３２５に対応すること、またはそれ以外でセッションデータストレージ３２５によって格納されるのと同様のデータを格納することが可能である。ＰＣＲＮ９００の例示的なコンテンツは、図１１に関連して後段で説明される。
【００９１】
Ｓ９セッションオーディタ９４０は、孤児になったＳ９セッションを監査し、Ｓ９セッションストレージ９３５から除去するように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。Ｓ９セッションオーディタ９４０は、図１−図７に関連して前述したのと同様に動作することが可能である。例えば、Ｓ９セッションオーディタ９４０は、Ｓ９セッションストレージ９３５の中のＳ９セッションを識別し、Ｓ９インターフェース９２５を介して、無害な命令を含むメッセージをパートナデバイスに送信し、応答を評価して、Ｓ９セッションが孤児を有するかどうかを判定し、その後、孤児になったサブセッションが存在する場合、それらのサブセッションを除去することが可能である。
【００９２】
図１０は、例示的なオーディタモジュール１０００を示す。オーディタモジュール１０００は、ＩＰ−ＣＡＮセッションオーディタ９２０および／またはＳ９セッションオーディタ９４０に対応することが可能である。説明のため、オーディタモジュール１０００は、Ｓ９セッションオーディタ９４０に対応するものとして説明される。ＩＰ−ＣＡＮセッションを監査するように実施された際のオーディタモジュール１０００の構成要素の動作は、前段の説明に鑑みて明白であろう。オーディタモジュール１０００は、スケジューラ１０１０と、疑わしいセッションアイデンティファイア１０２０と、無害なメッセージジェネレータ１０３０と、応答インタープリタ１０４０とを含み得る。
【００９３】
スケジューラ１０１０は、Ｓ９セッションが監査されるべきであると疑わしいセッションアイデンティファイアに周期的に示すように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。例えば、スケジューラ１０１０は、タイマを含むことが可能であり、さらに毎分、毎時、または毎日、Ｓ９セッションが監査されるべきであることを示すことが可能である。
【００９４】
疑わしいセッションアイデンティファイア１０２０は、Ｓ９セッションを監査する命令をスケジューラから受け取ると、知られているＳ９セッションの中に疑わしいセッションがあるかどうかを判定するように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。例えば、疑わしいセッションアイデンティファイア１０２０は、例えば、Ｓ９セッションストレージ９３５によって格納されたＳ９レコードの１つ１つを対象にして、孤児になったセッションに対応する可能性の高いそのようなレコードが存在するかどうかを判定することが可能である。様々な実施形態において、疑わしいセッションアイデンティファイア１０２０は、Ｓ９セッションレコードがＳ９サブセッションの識別子を全く含まない場合、そのＳ９セッションレコードが疑わしいセッションに関連すると判定することが可能である。疑わしいセッションを識別すると、疑わしいセッションアイデンティファイア１０２は、対応するレコードを無害なメッセージジェネレータ１０３０に転送することが可能である。
【００９５】
無害なメッセージジェネレータ１０３０は、試験メッセージを生成して、パートナデバイスに送信して、疑わしいセッションが実際に孤児になっているかどうかを判定するように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。疑わしいセッションアイデンティファイア１０２０から疑わしいセッションのＳ９セッションレコードまたは他の指示を受信すると、無害なメッセージジェネレータ１０３０は、適切なパートナデバイスに送信するための無害な命令を含むメッセージを生成することが可能である。この無害な命令は、Ｓ９セッションが依然としてアクティブであるかどうかを判定するのに十分な応答を引き出しながらも、パートナデバイス、または他の任意のデバイスに変化を生じさせないように選択されることが可能である。例えば、無害なメッセージは、偽のＳ９サブセッションを終了させる命令を含むことが可能である。
【００９６】
本明細書で使用される「偽のＳ９サブセッション」という用語は、確立されている可能性が低いＳ９サブセッションを包含するものと理解される。例えば、無害なメッセージジェネレータが、比較的高い番号をＳ９サブセッション識別子として選択し、その識別子の付いたサブセッションを終了させるようパートナデバイスに命令することが可能である。新たなＳ９サブセッションに利用可能な最低の識別子が割り当てられる様々な実施形態において、比較的高いＳ９サブセッション識別子がそれまでに割り当てられている可能性は低い。このため、無害なメッセージジェネレータ１０３０は、それまでに割り当てられている可能性が低い識別子を有するＳ９サブセッション、つまり、偽のＳ９サブセッションを終了させる命令を送信することが可能である。この命令は、パートナデバイス上で変化を生じさせる可能性が低い可能性があるため、無害である。代わりに、識別されたサブセッションは、たいてい、存在しないので、パートナノードは、たいてい、単にエラーで応答する。
【００９７】
応答インタープリタ１０４０は、パートナデバイスから受信された無害なメッセージに対する応答に基づいて、Ｓ９セッションが孤児になっているかどうかを判定するように構成されたハードウェア、および／またはマシン可読記憶媒体上の実行可能命令を含み得る。例えば、偽のＳ９サブセッションを終了させる命令に応答して、パートナデバイスは、識別されたサブセッションが知られていないことを示すエラーで応答することが可能である。応答インタープリタ１０４０は、このメッセージに基づいて、無害なメッセージの中で識別されたＳ９セッションが認識されたと判定することが可能である。したがって、応答インタープリタ１０４０は、Ｓ９セッションが孤児になっておらず、さらなるアクションは行われるべきではないと判定することが可能である。
【００９８】
逆に、その応答が、Ｓ９セッションが知られていなかったことを示すエラーを含む場合、応答インタープリタ１０４０は、そのセッションが孤児になっていると判定することが可能である。すると、応答インタープリタ１０４０は、Ｓ９セッションストレージからそのＳ９セッションレコードを除去することが可能である。応答インタープリタ１０４０は、例えば、ログまたはＳＮＭＰ（簡易ネットワーク管理プロトコル）トラップを生成するなどの他の消去アクションを実行してもよい。行われるべきそのようなアクションは、システム全体にわたって、またはセッションごとにシステム管理によって構成可能であり得る。
【００９９】
図１１は、Ｓ９セッションレコードを格納するための例示的なデータ構成１１００を示す。データ構成１１００は、例えば、ＰＣＲＮ９００のＳ９セッションストレージ９３５の中に格納されたデータベースの中のグループのテーブルであり得る。代替として、データ構成１１００は、一連の連結リスト、アレイ、または類似したデータ構造であることも可能である。このため、データ構成１１００は、基礎をなすデータの抽象化であり、つまり、このデータの格納に適した任意のデータ構造が使用され得ることが明白であろう。
【０１００】
データ構成１１００は、Ｓ９セッション識別子フィールド１１１０、パートナデバイスフィールド１１２０、および／またはＳ９サブセッションフィールド１１３０などのいくつかのフィールドを含み得る。データ構成１１００は、Ｓ９セッションに関連するメッセージを定義する際、および処理する際に役立つ多数のさらなるフィールド１１４０を含み得る。Ｓ９セッション識別子フィールド１１１０は、そのレコードに関連するＳ９セッションの識別子を含み得る。パートナデバイスフィールド１１２０は、Ｓ９セッションに関連するパートナデバイスのＩＰアドレスおよび他の識別子を格納することが可能である。Ｓ９サブセッションフィールド１１３０は、Ｓ９セッションに関連するＳ９サブセッションのセットを識別することが可能である。
【０１０１】
例として、Ｓ９セッションレコード１１５０が、Ｓ９セッション０ｘ３４が、ＩＰアドレス２１１．５２．２．１６５に位置するパートナデバイスに対して確立されており、知られている２つのＳ９サブセッション：０ｘ１２５Ｆおよび０ｘＡ３Ｅ２を含むことを示すことが可能である。別の例として、Ｓ９セッションレコード１１６０が、Ｓ９セッション０ｘＡ７が、ＩＰアドレス１８１．１６４．８４．２０に位置するパートナデバイスに対して確立されているが、知られているＳ９サブセッションには全く関連していないことを示すことが可能である。Ｓ９セッションレコード１１６０は、識別されるＳ９サブセッションが全く存在しないため、疑わしいと考えられる可能性が高いレコードの例であり得る。このため、ＰＣＲＮは、ＩＰアドレス１８１．１６４．８４．２０に位置するパートナデバイスに無害なメッセージを送信して、レコード１１６０がデータ構成１１００から削除されるべきかどうかを判定することが可能である。
【０１０２】
図１２は、Ｓ９セッションを監査するための例示的な方法１２００を示す。例示的な方法は、例えば、Ｓ９セッションオーディタ９４０、スケジューラ１０１０、疑わしいセッションアイデンティファイア１０２０、無害なメッセージジェネレータ１０３０、および／または応答インタープリタ１０４０などのＰＣＲＮ９００および／またはオーディタ１０００の構成要素によって実行され得る。
【０１０３】
方法１２００は、ステップ１２０５で始まり、ステップ１２１０に進んで、ＰＣＲＮが、１つまたは複数のＳ９セッションが監査されるべきであると判定することが可能である。例えば、ＰＣＲＮは、前の監査が実行されて以来、所定の時間が経過したと判定することが可能である。次に、ステップ１２２０で、ＰＣＲＮが、評価すべき第１のＳ９セッションレコードを取り出すことが可能である。ステップ１２３０で、ＰＣＲＮが、例えば、そのレコードがどのＳ９サブセッションにも関連付けられていないかどうかを判定することによって、そのレコードに対応するセッションが孤児になっていると疑われるかどうかを判定することが可能である。疑わしいＳ９セッションを識別するさらなる方法、または代替の方法が、当業者には明白となろう。レコードが１つまたは複数のサブセッションに関連付けられている場合、方法１２００は、ステップ１２８０に進むことが可能である。
【０１０４】
逆に、ＰＣＲＮが、Ｓ９セッションに、知られているＳ９サブセッションが全く関連付けられていないと判定した場合、方法１２００は、ステップ１２３０からステップ１２４０に進むことが可能である。次に、ＰＣＲＮが、ステップ１２４０で、無害な命令を含むメッセージを適切なパートナデバイスに送信することが可能である。この命令は、例えば、Ｓ９セッション内で偽のＳ９サブセッションを終了させる命令であり得る。この偽のサブセッションは、実際のＳ９サブセッションに割り当てられている可能性が低い高いサブセッション識別子で識別されることが可能である。ステップ１２５０でこのメッセージに対する応答を受信した後、ＰＣＲＮは、ステップ１２６０でその応答を評価することが可能である。その応答が、識別されたＳ９セッションが知られていないことを示さない場合、そのＳ９セッションは、アクティブのままであることが可能であり、方法１２００は、ステップ１２８０に進むことが可能である。しかし、その応答が、無害なメッセージの中で識別されたＳ９セッションが知られていないことを示すエラーを含む場合、方法１２００は、ステップ１２７０に進むことが可能である。ステップ１２７０で、ＰＣＲＮが、そのＳ９セッションレコードを、そのレコードが孤児になったＳ９セッションに関連しているため、削除することが可能である。ＰＣＲＮは、例えば、ログを生成すること、またはセッション終了について他の１つまたは複数のノードに通知することなどのさらなる管理アクションを行ってもよい。次に、方法１２００は、ステップ１２８０に進み、ＰＣＲＮが、監査されるべきさらなるＳ９レコードが残っているかどうかを判定することが可能である。処理されたばかりのレコードが、最後のそのようなレコードではなかった場合、方法１２００は、ループしてステップ１２２０に戻ることが可能である。処理されたばかりのレコードが、最後のそのようなレコードであった場合、方法１２００は、ステップ１２８５で終了することに進むことが可能である。
【０１０５】
以上のことにより、様々な実施形態が、ＰＣＲＮが、孤児になった、またはインアクティブのセッションを消去することを可能にする。例えば、関連しているサブセッションが全くないＳ９セッションを識別すること、およびその後、偽のＳ９サブセッションを終了させる命令を送信することによって、ＰＣＲＮが、孤児になっており、消去されるべきＳ９セッションを識別することが可能である。さらに、各Ｓ９サブセッションに関連する仮想ＩＰ−ＣＡＮセッションを生成することによって、ＩＰ−ＣＡＮセッション監査手順が、Ｓ９サブセッションを監査することに自動的に適用されることが可能である。本明細書で説明される様々な実施形態のさらなる利益が、当業者には明白となろう。
【０１０６】
以上の説明から、本発明の様々な例示的な実施形態は、ハードウェアおよび／またはファームウェアで実施され得ることが明白であろう。さらに、様々な例示的な実施形態は、少なくとも１つのプロセッサによって読み取られ、本明細書で詳細に説明される動作を実行するように実行され得るマシン可読記憶媒体上に格納された命令として実施されてもよい。マシン可読記憶媒体は、パーソナルコンピュータもしくはラップトップコンピュータ、サーバ、または他のコンピューティングデバイスによって読み取り可能な形態で情報を格納するための任意の機構を含み得る。このため、実体のある、一時的でないマシン可読記憶媒体には、ＲＯＭ（読み取り専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および類似した記憶媒体が含まれることが可能である。
【０１０７】
本明細書のブロック図は、本発明の原理を実現する例示的な回路の概念図を表すことが当業者には理解されよう。同様に、フローチャート、流れ図、状態遷移図、疑似コードなどは、実質的にマシン可読媒体として表されることが可能であり、したがって、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示されるか否かにかかわらず、実行されることが可能である様々なプロセスを表すことが理解されよう。
【０１０８】
様々な例示的な実施形態が、それらの実施形態のいくつかの例示的な態様に特に関連して詳細に説明されてきたものの、本発明は、他の実施形態が可能であり、本発明の詳細は、様々な明白な点で変形可能であることを理解されたい。当業者には直ちに明白なとおり、本発明の趣旨および範囲の内に留まりながら、変更および変形が行われ得る。したがって、以上の開示、説明、および図は、単に例示を目的としており、特許請求の範囲によってのみ規定される本発明を全く限定するものではない。
【図１】
0005993954.tif 000002
【図２】
0005993954.tif 000003
【図３】
0005993954.tif 000004
【図４】
0005993954.tif 000005
【図５】
0005993954.tif 000006
【図６】
0005993954.tif 000007
【図７】
0005993954.tif 000008
【図８】
0005993954.tif 000009
【図９】
0005993954.tif 000010
【図１０】
0005993954.tif 000011
【図１１】
0005993954.tif 000012
【図１２】
0005993954.tif 000013