以下に示す実施例について、図面を用いて説明する。
本実施例におけるC−AGWは、端末と通信するU−AGWを選択する際にセッションのユーザごとの通信状況に従ってU−AGWを選択し、AGWにおけるU−AGWの負荷を通信状況が近いユーザごとに分散することによって、特定のU−AGWに負荷が集中することを防ぐ。
さらに、C−AGWは、アイドル状態からアクティブ状態へセッションの状態が遷移する際に、通信状況に従ってU−AGWを選択し、選択されたU−AGWと端末との間のパスを再度設定する。これによって、U−AGWの負荷分散契機を増やし、いずれかのU−AGWへ負荷が集中する時間を短くできる。
図1は、本発明の実施例の移動無線システムを示すブロック図である。
本発明の実施例の移動無線システムは、コア網1、ホームエージェント(HA)2、認証サーバ(AAA)3、アクセスゲートウェイ(AGW)4、アクセス網7、複数の無線基地局(BS)10、および、複数の移動体(MS)20を備える。
MS20(MS20A、MS20B)は、携帯電話、または、モバイルPC等の、ユーザが用いる端末である。
BS10(BS10A〜BS10N)は、無線送信電力に従った無線通信エリア(セル)を生成し、無線通信エリア内に位置したMS20と、無線によって通信する。
AAA3は、コア網1に接続され、MS20がHA2との通信を確立する際に、AGW4を介してMS20を認証する。
HA2は、例えば、インターネットまたは公衆通信網8などに接続され、MS20からの上りユーザデータをインターネットまたは公衆通信網8に送信する。さらに、HA2は、インターネットまたは公衆通信網8からのMS20宛の下りユーザデータを、AGW4およびBS10を介してMS20へ送信する。
AAA3およびHA2は、AGW4とコア網1を介して接続される。
AGW4は、制御データを処理するC−AGW5と、ユーザデータを処理する複数のU−AGW6(U−AGW6−1〜U−AGW6−m)とを有する。C−AGW5とU−AGW6とは、バス9によって接続される。
AGW4が有するC−AGW5および各U−AGW6は、アクセス網7を介してBS10と接続される。
図2は、本発明の実施例のBS10の物理的な構成を示すブロック図である。
BS10は、無線受信用アンテナ108、無線通信インタフェース101、メモリ102、プロセッサ104、および、通信インタフェース106を有し、これらはバス107で接続される。
無線受信用アンテナ108は、MS20と無線によって通信するためのアンテナであり、無線通信インタフェース101は、無線受信用アンテナ108に接続されるネットワークインタフェースである。通信インタフェース106は、BS10がアクセス網7と接続するためのネットワークインタフェースである。
プロセッサ104は、例えばCPU等の演算装置である。プロセッサ104は、メモリ102に展開されたプロセス等を、メモリ102に格納されるデータを読み出すことによって実行する。
メモリ102は、記憶装置であり、通信処理プロセス103およびBS用転送先アドレス管理テーブル1000を有する。通信処理プロセス103は、BS10がMS20またはアクセス網7と通信するためのプロセスである。
BS用転送先アドレス管理テーブル1000は、各MS20が送信する上りユーザデータを、いずれのIPアドレスに転送するかを示す情報を含む。
図3は、本発明の実施例のBS用転送先アドレス管理テーブル1000を示す説明図である。
BS用転送先アドレス管理テーブル1000は、MSID1001および転送先IPアドレス1002を含む。
MSID1001は、MS20を一意に識別する識別子を含む。転送先IPアドレス1002には、MS20から送信される上りユーザデータの転送先であるIPアドレスが登録される。
図4は、本発明の実施例のHA2の物理的な構成を示すブロック図である。
HA2は、通信インタフェース1(21)、通信インタフェース2(25)、メモリ22、および、プロセッサ24を有し、これらはバス26によって接続される。
通信インタフェース1(21)は、コア網1に接続するためのネットワークインタフェースであり、通信インタフェース2(25)は、HA2がインターネットまたは公衆通信網8に接続するためのネットワークインタフェースである。
プロセッサ24は、例えばCPU等の演算装置である。プロセッサ24は、メモリ22に展開されたプロセス等を、メモリ22に格納されるデータを読み出すことによって実行する。
メモリ22は記憶装置であり、通信処理プロセス23およびHA用転送先アドレス管理テーブル200を有する。通信処理プロセス23は、HA2がコア網1、および、インターネットまたは公衆通信網8等と通信するためのプロセスである。
HA用転送先アドレス管理テーブル200は、HA2が下りユーザデータを各MS20へ送信するため、HA2によって下りユーザデータに付与されるアドレスを含む。また、HA2は、HA用転送先アドレス管理テーブル200を参照することによって、MS20へ送信する下りユーザデータを送信する、U−AGW6の宛先を特定できる。
図5は、本発明の実施例のHA用転送先アドレス管理テーブル200を示す説明図である。
HA用転送先アドレス管理テーブル200は、MSID201、転送先IPアドレス202、および、付与IPアドレス203を含む。MSID201は、MS20を一意に識別するための識別子を含む。
転送先IPアドレス202は、MS20へ向けて送信される下りユーザデータに付与する、転送先を示すIPアドレスが登録される。本実施例における転送先IPアドレス202は、U−AGW6が有するHA2向けのIPアドレスを示す。
付与IPアドレス203は、MS20に割り当てられるIPアドレスを示す。
図6は、本発明の実施例のAAA3の物理的な構成を示すブロック図である。
AAA3は、通信インタフェース31、メモリ32、プロセッサ34、および、ユーザデータDB35を有し、これらはバス36によって接続される。通信インタフェース31は、AAA3がコア網1に接続するためのネットワークインタフェースである。
プロセッサ34は、例えばCPU等の演算装置である。プロセッサ34は、メモリ32に展開されたプロセス等を、メモリ32に格納されるデータを読み出すことによって実行する。
メモリ32は、記憶装置であり、通信処理プロセス33を有する。通信処理プロセス33は、AAA3がコア網1と通信するための処理を実行する。
ユーザデータDB35は、ユーザ情報およびMS20に関する情報を保持する記憶装置である。ユーザデータDB35には、ユーザを特定するための情報が含まれる。具体的には、ユーザデータDB35には、MSID(MS20の識別子)、ユーザID等の認証情報、および、一定期間内におけるユーザの通信状況を示す通信情報などが含まれる。
ユーザデータDB35には、ユーザがMS20を使用し始める際に、契約等によって定められた情報が含まれる。また、ユーザの通信情報には、例えば、パケット転送量が含まれる。以下において、通信情報にはパケット転送量が含まれる場合の実施例を説明する。
さらに、ユーザデータDB35に含まれる通信情報は、ユーザがMS20を用いて過去に通信した際にU−AGW6によって取得された通信情報でもよく、また、ユーザがMS20を一度も使っていない場合に用いられる所定の通信情報であってもよい。
図7は、本発明の実施例のC−AGW5の物理的な構成を示すブロック図である。
C−AGW5は、外部通信インタフェース1(51)、外部通信インタフェース2(52)、内部インタフェース53、メモリ54、プロセッサ55、HDD56を有し、これらはバス57で接続される。
外部通信インタフェース1(51)は、C−AGW5がアクセス網7に接続するためのネットワークインタフェースである。外部通信インタフェース2(52)は、C−AGW5がコア網1に接続するためのネットワークインタフェースである。内部インタフェース53は、C−AGW5がAGW4のバス9に接続するためのネットワークインタフェースである。
メモリ54は、通信処理プロセス58、U−AGW管理テーブル500、C−AGW用セッション管理テーブル510、および、閾値管理テーブル520を有する。通信処理プロセス58は、C−AGW5がアクセス網7またはコア網1等と通信するためのプロセスである。
また、本実施例の通信処理プロセス58は、後述するU−AGW選択処理800および閾値管理テーブル520における閾値算出処理900を行うプロセスである。本実施例において通信処理プロセス58は、一つのプロセスによって示されるが、複数のプロセスを含んでもよい。すなわち、後述するU−AGW選択処理800およびに閾値算出処理900を実行するための異なるプロセスを含んでもよい。
また、C−AGW5は、通信処理プロセス58を保持する代わりに、集積回路等の処理部を備えてもよい。
U−AGW管理テーブル500は、AGW4内の各U−AGW6が収容するセッションの数を示すテーブルである。C−AGW用セッション管理テーブル510は、各MS20が保持するセッションをいずれのU−AGW6が収容するかを示すテーブルである。閾値管理テーブル520は、各セッションにタイプを割り当てるための閾値を示すテーブルである。
図8は、本発明の実施例のU−AGW管理テーブル500を示す説明図である。
U−AGW管理テーブル500は、U−AGW番号501、IPアドレス502、IPアドレス503、および、アクティブセッション数504を含む。U−AGW番号501は、AGW4が有するU−AGW6を識別するための識別子を含む。
IPアドレス502は、U−AGW6に割り当てられたBS10向けのIPアドレスを含む。IPアドレス502に格納される値は、BS用転送先アドレス管理テーブル1000の転送先IPアドレス1002に格納される値に対応する。
IPアドレス503は、U−AGW6に割り当てられたHA2向けのIPアドレスを含む。IPアドレス503に格納される値は、HA用転送先アドレス管理テーブル200の転送先IPアドレス202に格納される値に対応する。
アクティブセッション数504は、U−AGW6に収容されるセッションであり、かつ、アクティブ状態であるセッションの数を含む。アクティブ状態とは、MS20とHA2との間のセッションにおいて、パケットが頻繁に送受信されるセッションの状態を示す。
アクティブセッション数504は、各U−AGW6が収容するセッションのタイプごとにセッション数を示す列504[1]〜列504[K]を含む。本実施例におけるタイプについては、後述する。
図9は、本発明の実施例のC−AGW用セッション管理テーブル510を示す説明図である。
C−AGW用セッション管理テーブル510は、MSID511、パケット転送量512、収容U−AGW513、状態514、および、タイプ515を含む。
MSID511は、MS20を一意に識別するための識別子を示す。また、C−AGW5は、C−AGW用セッション管理テーブル510におけるMSID511によって、MS20とセッションとの組合せを一意に識別することができる。
なお、本実施例において、一つのMS20は、一つのセッションを保持する。仮に、一つの移動体端末の筐体を複数のユーザが用いる場合においても、ユーザID等に従ってユーザごとに一つのMSIDが割り当てられるため、一つのMS20は、一人のユーザに対応し、かつ、一つのセッションに対応する。
パケット転送量512は、各セッションにおける通信状況を示す値である。例えば、パケット転送量512は、各セッションにおける上りユーザデータのパケット量と、各セッションにおける下りユーザデータのパケット量との合計値を示す。
パケット転送量512に格納されるパケット転送量は、単位時間あたりの各MS20から送受信されるパケット転送量でもよいし、一日の中の所定の時間帯におけるパケット転送量でもよい。また、パケット転送量512に格納されるパケット転送量は、単位時間ごとのパケット転送量の所定の期間における平均値であってもよい。すなわち、パケット転送量512には、各セッションにおける通信状況を定量的に示すことができる値であれば、いかなる値が含まれてもよい。
収容U−AGW513は、各セッションを収容するU−AGW6を示す。収容U−AGW513に格納される値は、U−AGW管理テーブル500のU−AGW番号501に格納される値に対応する。
状態514は、セッションの状態を示す。本実施例における状態514は、セッションがアクティブ状態である場合、"Active"を示し、セッションがアイドル状態である場合、"idle"を示す。本実施例におけるアイドル状態ついては、後述する。
タイプ515は、各セッションのタイプを示す。タイプについては後述する。
図10は、本発明の実施例の閾値管理テーブル520を示す説明図である。
閾値管理テーブル520は、タイプ521、セッション比率522、閾値523、および、初期閾値524を含む。閾値管理テーブル520は、セッションのタイプごとにエントリを有する。本実施例のタイプはK個(Kは1以上)であるため、本実施例の閾値管理テーブル520は、K個のエントリを有する。
タイプ521は、セッションのタイプを示す。
本実施例におけるセッションのタイプとは、セッションにおける通信状況によってU−AGW6にかける負荷が重い順に、セッションに割り当てられるタイプである。例えば、ヘビーユーザによるセッションのように、通信するパケット量が多いセッションと、通信するパケット量が少ないセッションとには、異なるタイプが割り当てられる。
本実施例におけるタイプ521には、U−AGW6にかける負荷が重いほど、若い番号の識別子が格納される。
セッション比率522は、AGW4に収容されるすべてのセッションの数に対して、タイプ521が示す各タイプに割り当てられるセッションの数が占める割合を示す。
閾値523は、タイプ521が示す各タイプを各セッションに割り当てるために使用される、各セッションにおける通信状況の基準を示す。
例えば、通信状況をパケット転送量に従って判定する場合、閾値523には、パケット転送量の閾値が格納される。このため、図10に示す閾値523は、C−AGW用セッション管理テーブル510のパケット転送量512と比較するための閾値を含む。
閾値523の値は、後述する閾値管理テーブル523の更新処理によって、更新される。初期閾値524は、閾値523に格納される値の初期値を示す。
タイプ521、セッション比率522、および、初期閾値524は、あらかじめ管理者等によって値が格納される。
閾値管理テーブル520の各エントリは、後述するセッションへのタイプの割り当て処理のため、タイプ521の値が昇順に、かつ、閾値523の値が降順になるように閾値管理テーブル520に格納される。
C−AGW用セッション管理テーブル510のタイプ515に格納される値は、閾値管理テーブル520のタイプ521に格納される値に対応する。
図11は、本発明の実施例のU−AGW6の物理的な構成を示すブロック図である。
U−AGW6は、外部通信インタフェース1(61)、外部通信インタフェース2(62)、内部通信インタフェース63、メモリ64、および、プロセッサ65を有し、これらはバス67によって接続される。
外部通信インタフェース1(61)は、U−AGW6がアクセス網7に接続するためのネットワークインタフェースである。外部通信インタフェース2(62)は、U−AGW6がコア網1に接続するためのネットワークインタフェースである。内部通信インタフェース63は、U−AGW6がAGW4のバス9に接続するためのネットワークインタフェースである。
プロセッサ65は、メモリ64に展開されたプロセス等を、メモリ64に格納されるデータを読み出すことによって実行する。
メモリ64には、通信処理プロセス68と、U−AGW用セッション管理テーブル600とが含まれる。通信処理プロセス68は、U−AGW6がアクセス網7、コア網1およびAGW4と通信するためのプロセスである。U−AGW用セッション管理テーブル600は、U−AGW6が収容するセッションを示す。
通信処理プロセス68は、U−AGW6が収容するセッションにおける通信状況を示す通信情報を取得するためのプロセスである。また、取得された通信情報、例えば、パケット転送量を、C−AGW5に送信するためのプロセスである。
本実施例における通信処理プロセス68は、一つのプロセスであるが、前述した処理ごとに複数のプロセスを含んでもよい。また、U−AGW6は、通信処理プロセス68を保持する代わりに、集積回路等の処理部を備えてもよい。
図12は、本発明の実施例のU−AGW用セッション管理テーブル600を示す説明図である。
U−AGW用セッション管理テーブル600は、MSID601、状態602、パケット転送量603、転送先HA604、および、転送先BS605を含む。
MSID601は、MS20を一意に示す識別子である。また、MSID601は、C−AGW用セッション管理テーブル510のMSID511と同じく、MS20とセッションとの組合せを一意に示す識別子である。
状態602は、C−AGW用セッション管理テーブル510の状態514と同じく、各セッションの状態を示す。パケット転送量603は、各セッションにおける上りユーザデータのパケット量と、各セッションにおける下りユーザデータのパケット量との合計値を示す。
パケット転送量603に格納されるパケット転送量は、C−AGW用セッション管理テーブル600におけるパケット転送量512と同じく、単位時間あたりの各MS20から送受信されるパケット転送量でもよいし、一日の中の所定の時間帯におけるパケット転送量でもよい。すなわち、パケット転送量603には、各MS20によるセッションにおいて、通信状況を定量的に示すことができる値であれば、いかなる値が含まれてもよい。
転送先HA604は、MS20から送信された上りユーザデータの転送先であるHA2の宛先を示す。転送先BS605は、MS20へ送信される下りユーザデータの転送先であるBS10の宛先を示す。
なお、BS用転送先アドレス管理テーブル1000のMSID1001に格納される値、HA用転送先アドレス管理テーブル200のMSID201に格納される値、C−AGW用セッション管理テーブル510のMSID511に格納される値、および、U−AGW用セッション管理テーブル600のMSID601に格納される値は、対応する。また、C−AGW用セッション管理テーブル510のパケット転送量512に格納される値は、U−AGW用セッション管理テーブル600のパケット転送量603に格納される値に対応する。
図13は、本発明の実施例のMS20Aの初期接続時の処理を示すシーケンス図である。
図13が示す処理は、MS20Aがインターネットまたは公衆通信網8との通信を開始するため、MS20AがHA2とセッションを確立する処理である。
MS20Aがネットワークに接続する場合、すなわち、MS20Aが、インターネットまたは公衆通信網8との通信を開始する場合、MS20Aは、BS10Aを経由して、C−AGW5へ接続要求を送信する(SQ001およびSQ002)。
接続要求を受信した後、C−AGW5は、MS20Aを認証するための認証方式を指定する。そして、指定された認証方式を示す値を含む接続要求応答を、BS10Aを経由し、MS20Aへ返す(SQ003およびSQ004)。
接続要求応答を受信した後、MS20Aは、C−AGW5によって指定された認証方式による認証要求を生成する。そして、生成された認証要求を、BS10AおよびC−AGW5を経由し、AAA3へ送信する(SQ005、SQ006、および、SQ007)。
認証要求を受信した後、MS20AとAAA3とは、BS10AとC−AGW5とを介して、MS20Aの認証処理を行う(SQ008、SQ009、および、SQ010)。
MS20Aの認証処理が終了した後、AAA3は、C−AGW5とBS10Aとを経由し、認証応答をMS20Aへ送信する(SQ011、SQ013、および、SQ014)。
ここで、AAA3は、SQ008の後、MS20Aを一意に識別するMSIDを含む認証応答を生成し、SQ011、SQ013、および、SQ014において、生成された認証応答をC−AGW5、BS10A、および、MS20Aに送信する。
認証応答を受信した後、C−AGW5は、受信した認証応答に含まれるMSIDを、C−AGW用セッション管理テーブル510の新たなエントリのMSID511へ登録する(SQ012)。SQ012の後、C−AGW5は、C−AGW用セッション管理テーブル510に登録されたMSIDを含むユーザ情報取得要求を生成する。そして、C−AGW5は、生成されたユーザ情報取得要求をAAA3へ送信する(SQ015)。
ユーザ情報取得要求を受信した後、AAA3は、受信したユーザ情報取得要求に含まれるMSIDによって、AAA3が有するユーザデータDB35を検索する。そして、AAA3は、検索結果に従って、MS20Aのユーザ情報を、ユーザデータDB35から取得する(SQ016)。
SQ016において取得されるユーザ情報には、MS20Aが一定の期間内に送受信したパケット転送量、すなわち、MS20Aが保持するセッションにおける通信状況を示す通信情報が含まれる。なお、AAA3が、MS20Aが保持するセッションの過去のパケット転送量を保持していない場合、AAA3は、管理者等によってあらかじめ指定されたパケット転送量をユーザ情報に含めてもよい。
AAA3は、SQ016において取得されるユーザ情報を、ユーザ情報通知としてC−AGW5へ送信する(SQ017)。
ユーザ情報通知を受信した後、C−AGW5は、受信したユーザ情報に含まれるパケット転送量を、SQ012においてMSIDが格納されたC−AGW用セッション管理テーブル510のエントリ(すなわち、MS20Aのエントリ)の、パケット転送量512に登録する(SQ018)。
一方、認証応答を受信した後、MS20Aは、BS10Aを経由し、パス確立要求をC−AGW5へ送信する(SQ019およびSQ020)。ここで、C−AGW5へ送信されるパス確立要求には、MS20Aが保持するセッションを示すMSIDと、BS10Aを示すIPアドレスが含まれる。
パス確立要求を受信した後、C−AGW5は、後述するU−AGW選択処理800を行い、MS20Aが接続するU−AGW6を選択する(SQ021)。以下の説明において、例えば、C−AGW5がSQ021においてU−AGW6−1が選択したものとする。
SQ021の後、C−AGW5は、SQ020において受信したパス確立要求と、C−AGW用セッション管理テーブル510とを参照し、パス確立要求を生成する。そして、SQ021において選択されたU−AGW6−1へ、生成されたパス確立要求を送信する(SQ022)。
SQ022においてU−AGW6−1へ送信されるパス確立要求には、BS10AのIPアドレス、MS20AのMSID、および、MS20Aのパケット転送量が含まれる。C−AGW5は、パス確立要求に含めるBS10AのIPアドレスを、BS10Aから受信したパス確立要求から取得する。また、パス確立要求に含めるMSIDおよびパケット転送量を、C−AGW用セッション管理テーブル510のMSID511およびパケット転送量512から取得する。
パス確立要求を受信した後、U−AGW6−1は、SQ022において受信したパス確立要求に基づいて、MS20Aが保持するセッションのセッション情報をU−AGW用セッション管理テーブル600に格納する(SQ023)。
具体的には、U−AGW6−1はSQ023において、U−AGW用セッション管理テーブル600の新たなエントリのMSID601に、SQ022において受信したパス確立要求に含まれるMS20AのMSIDを登録する。また、U−AGW6−1は、新たなエントリのパケット転送量603に、SQ022において受信したパス確立要求に含まれるMS20Aのパケット転送量を登録する。
また、U−AGW6−1はSQ023において、新たなエントリの転送先BS605に、SQ022において受信したパス確立要求に含まれるBS10AのIPアドレスを登録する。そして、U−AGW6−1は、新たなエントリの状態602に、"Active"を示す値を登録する。
SQ023の後、U−AGW6−1は、C−AGW5およびBS10Aを経由し、MS20Aへパス確立応答を送信する(SQ024、SQ025、および、SQ027)。なお、C−AGW5からBS10Aへ送信されるパス確立応答には、パスを確立したセッションを示すMSID(パス確立要求に含まれるMSID)、および、U−AGW6−1のBS10A向けのIPアドレス(IPアドレス502に相当)が含まれる。
パス確立応答を受信した後、BS10Aは、SQ025において受信したパス確立応答に基づいて、MS20AとU−AGW6−1とのパス情報をBS用転送先アドレス管理テーブル1000に格納する(SQ026)。
具体的には、BS10Aは、SQ026において、BS用転送先アドレス管理テーブル1000の新たなエントリのMSID1001に、SQ025において受信したパス確立応答に含まれるMS20AのMSIDを登録する。また、BS10Aは、新たなエントリの転送先IPアドレス1002に、SQ025において受信したパス確立応答に含まれるU−AGW6−1のIPアドレスを登録する。
パス確立応答を受信した後、MS20Aは、BS10AおよびU−AGW6−1を経由し、HA2へアドレス要求を送信する(SQ028、SQ029、および、SQ030)。なお、ここでU−AGW6−1は、あらかじめ保持されたHA2のIPアドレスによって、アドレス要求をHA2へ送信してもよい。また、アドレス要求には、MS20Aを示すMSIDが含まれる。
アドレス要求を受信した後、HA2は、AAA3へ認証要求を送信する(SQ031)。認証要求には、MS20Aを示すMSIDが含まれる。
認証要求を受信した後、AAA3は、MS20AにIPアドレスを割り当て、割り当てられたIPアドレスを含む認証応答を、HA2へ送信する(SQ032)。認証応答にはMS20Aを示すMSIDが含まれる。
HA2は、AAA3から受信した認証応答に基づいて、HA用転送先アドレス管理テーブル200を更新する。具体的には、MS20Aを示すMSID201を有するHA用転送先アドレス管理テーブル200のエントリの付与IPアドレス203に、AAA3から送信された認証応答に含まれるMS20AのIPアドレスを登録する(SQ033)。
SQ033によって、HA2は、HA用転送先アドレス管理テーブル200にMS20Aに関するパス情報を登録し、MS20AにIPアドレスを割り当てることができる。
SQ033の後、HA2は、MS20Aに割り当てられたIPアドレスを含むアドレス通知を生成し、生成されたアドレス通知をU−AGW6−1へ送信する(SQ034)。なお、生成されたアドレス通知には、アドレス通知の送信元であるHA2のIPアドレスが含まれる。
SQ034の後、U−AGW6−1は、受信したアドレス通知に基づいて、U−AGW用セッション管理テーブル600を更新する(SQ035)。具体的には、U−AGW6−1は、SQ035において、MS20Aを示すMSID201を有するU−AGW用セッション管理テーブル600のエントリの転送先HA604に、HA2から送信されたアドレス通知の送信元IPアドレスを登録する。
SQ035の後、U−AGW6−1は、HA2から送信されたアドレス通知を、BS10Aを経由し、MS20Aへ転送する(SQ036およびSQ037)。MS20Aにアドレス通知が送信されることによって、MS20AとHA2との間のセッションが確立する。
アドレス通知を受信した後、MS20Aは、SQ037によって送信されたアドレス通知に含まれるIPアドレスを、自らのIPアドレスとして、ユーザデータを送受信する(SQ038、SQ039、および、SQ040)。
SQ038〜SQ040において、MS20Aがユーザデータを送受信する場合、U−AGW6−1は、U−AGW6−1を通過するパケットに関して、本実施例におけるパケット転送量を、セッションごとに取得する。そして、取得されたパケット転送量によって、MS20Aを示すU−AGW用セッション管理テーブル600のエントリのパケット転送量603を更新する(SQ041)。
なお、U−AGW6−1は、SQ041において、パケット転送量603に格納するためのパケット転送量を取得する。すなわち、U−AGW6−1は、例えば、単位時間あたりのパケット転送量をSQ041において取得する。
SQ041の後、U−AGW6−1は、あらかじめ管理者等によって指定された期間において、取得されたパケット転送量をC−AGW5へ通知する(SQ042)。
C−AGW5は、U−AGW6−1からパケット転送量を受信した場合、受信したパケット転送量によって、MS20Aを示すC−AGW用セッション管理テーブル510のエントリのパケット転送量512を更新する(SQ043)。
U−AGW6−1は、SQ041によって、最新のパケット転送量をU−AGW用セッション管理テーブル600に保持することができる。また、C−AGW5は、SQ043によって、各U−AGW6が収容するセッションの最新のパケット転送量を、C−AGW用セッション管理テーブル510に保持することができる。さらに、C−AGW5は、後述する閾値管理テーブル520の閾値523の算出処理を、最新のパケット転送量に基づいて行うことができる。
なお、U−AGW6またはC−AGW5は、SQ042以降の所定のタイミング、または、管理者による指示があったタイミングにおいて、AGW4における各U−AGW6のすべてのパケット転送量を、コア網1を介してAAA3に送信してもよい。これによって、U−AGW6と通信していたMS20が、図13に示す処理によって、HA2と再度初期接続の処理を行う場合、AAA3は、SQ017においてパケット転送量をC−AGW5に送信することができる。
図14は、本発明の実施例のU−AGW選択処理800を示すフローチャートである。
C−AGW5は、SQ020においてパス確立要求を受信した後、SQ021において、図14に示すU−AGW選択処理800を行う。
C−AGW5の外部通信インタフェース1(51)がSQ020においてパス確立要求を受信した場合(801)、C−AGW5の通信処理プロセス58は、受信したパス確立要求に含まれるMSID、すなわち、MS20Aを示すMSIDを取得する。
通信処理プロセス58は、取得されたMSIDをキーとして、C−AGW用セッション管理テーブル510を検索する。検索の結果、通信処理プロセス58は、取得されたMSIDをMSID511に含むC−AGW用セッション管理テーブル510のエントリの、パケット転送量512が示すパケット転送量を取得する(802)。
ステップ802の後、通信処理プロセス58は、ステップ802において取得されたパケット転送量と、閾値管理テーブル520の閾値523とを、上段のエントリから順番に比較する。そして、比較の結果、閾値523に格納される閾値が、取得されたパケット転送量以下であるエントリのうち、閾値管理テーブル520において最も上段のエントリを抽出する。
これは、閾値管理テーブル520に格納されるエントリは、閾値523に格納される値が上段から降順になるようにあらかじめ整列されているためである。ここで抽出されたエントリを、以下において、エントリxと記載する。
通信処理プロセス58は、エントリxのタイプ521が示すタイプT[x]を、パス確立要求が示すMS20Aのセッションのタイプに割り当てる。そして、MS20Aを示すC−AGW用セッション管理テーブル510のエントリのタイプ515を、タイプT[x]を示す値によって更新する(803)。
C−AGW5の通信処理プロセス58は、ステップ803によって、MS20Aのパケット転送量に従ったタイプを、MS20Aのセッションに割り当てる。すなわち、C−AGW5の通信処理プロセス58は、MS20Aの通信状況に従って、MS20Aのセッションにタイプを割り当てる。
ステップ803の後、通信処理プロセス58は、U−AGW管理テーブル500において、アクティブセッション数504のタイプT[x]の列504[x]を特定する。そして、通信処理プロセス58は、特定されたタイプT[x]の列504[x]のうち、最もアクティブセッション数が少ないエントリのU−AGW番号501を特定する。そして、特定されたU−AGW番号501を、MS20Aのセッションを収容するU−AGW6として選択する(804)。
C−AGW5の通信処理プロセス58は、ステップ804によって、MS20Aのセッションに割り当てられたタイプと同じタイプを割り当てられたセッションを、最も少なく収容するU−AGW6を選択できる。すなわち、通信処理プロセス58は、ステップ804によって、MS20のセッションが割り当てられたタイプごとに、AGW4における各U−AGW6が収容するセッション数が均等になるように、MS20のセッションを収容するU−AGW6を選択することができる。さらにこれによって、通信処理プロセス58は、AGW4における複数のU−AGW6間の負荷を分散することができる。
なお、C−AGW5の通信処理プロセス58は、タイプに従って選択できるU−AGW6を示すU−AGW番号を、選択対象のU−AGW6の識別子として、メモリ54にあらかじめ保持してもよい。そして、通信処理プロセス58は、ステップ804において、メモリ54から選択対象のU−AGW6の識別子を読み出し、MS20Aのセッションに割り当てられたタイプに、選択対象のU−AGW6の識別子があらかじめ定められていると判定された場合、選択対象のU−AGW6から、セッションを収容するU−AGW6を選択してもよい。
これによって、管理者等は、所定のU−AGW6に収容されるセッションのタイプを定めることができる。例えば、管理者等は、処理性能が非常に高いU−AGW6に、パケット転送量が多いユーザのセッションに割り当てられるタイプを定めることができる。そして、C−AGW5は、管理者等が望むように、U−AGW6間の負荷を分散することができる。
ここで、ステップ804において通信処理プロセス58が、例えば、U−AGW6−1を選択した場合を以下に示す。通信処理プロセス58は、MS20Aを示すC−AGW用セッション管理テーブル510のエントリの収容U−AGW513に、選択されたU−AGW6−1を登録する。また、通信処理プロセス58は、MS20Aを示すエントリの状態514に、"Active"を示す値を登録する(805)。
C−AGW5の通信処理プロセス58は、ステップ805によって、MS20Aのセッションを収容するU−AGW6に関する情報を更新することができる。
ステップ805の後、通信処理プロセス58は、U−AGW6−1を示すU−AGW管理テーブル500のエントリの、アクティブセッション数504のタイプT[x]の列504[x]の値をインクリメントする(806)。例えば、通信処理プロセス58は、タイプT[x]の列504[x]の値に1を加算することによって、インクリメントする。
C−AGW5の通信処理プロセス58は、ステップ806によって、各U−AGW6に収容されるアクティブセッションの数を、タイプごとに保持することができる。
さらに、C−AGW5の通信処理プロセス58は、図14に示すU−AGW選択処理800によって、通信状況が近いセッションごとにU−AGW6への負荷を分散するため、AGW4における特定のU−AGW6の負荷が上がることが少ない。
図15は、本発明の実施例のアクティブ状態のセッションがアイドル状態に遷移した場合に行われる処理を示すシーケンス図である。
図15は、MS20Aのセッションの状態が、アクティブ状態から、アイドル状態へ遷移する際に行われる処理を示す。以下において、MS20AのセッションがU−AGW6−1に収容され、MS20AがBS10Aを経由して、セッションをアイドル化する処理の例を説明する。
アクティブ状態のセッションを保持するMS20Aが、所定の時間ユーザデータを送信および受信しない場合、本実施例のMS20Aは、MS20Aの状態を自律的にアイドル状態に遷移させる。アイドル状態におけるMS20AがBS10Aと通信する頻度は、アクティブ状態におけるMS20AがBS10Aと通信する頻度よりも少ない。このため、MS20Aにおける消費電力は減る。
なお、アイドル状態においても、MS20AとU−AGW6−1との間の通信は減少するが、BS10A、C−AGW5、および、U−AGW6−1における、MS20Aのセッションに関する情報は保持される。すなわち、本実施例におけるアイドル状態とは、MS20AとHA2とがセッションによってほとんど通信しない状態であるが、一方で、MS20AとHA2との間のセッションが保たれる状態を示す。
MS20Aは、アイドル状態に遷移した場合、BS10Aを経由して、アイドル化通知をC−AGW5へ送信する(SQ111およびSQ112)。C−AGW5は、アイドル化通知を受信した場合、BS10Aを経由して、アイドル化応答をMS20Aへ送信する(SQ113およびSQ114)。
なお、アイドル化通知およびアイドル化応答には、MS20Aのセッションを識別するためのMSIDが含まれる。
アイドル化応答を受信した場合、BS10Aは、アイドル化通知を送信したMS20であるMS20Aのセッションを示すMSIDを含むパス削除要求を生成する。そして、生成されたパス削除要求をC−AGW5へ送信する(SQ115)。
パス削除要求を受信した場合、C−AGW5は、パス削除要求に含まれるMSIDを含むパス設定変更要求Aを、U−AGW6−1へ送信する(SQ116)。
なお、C−AGW5は、SQ116においてパス設定変更要求Aを送信する、送信先を特定するため、受信したパス削除要求に含まれるMSIDを示すMSID511のエントリをC−AGW用セッション管理テーブル510から特定する。そして特定されたエントリの、収容U−AGW513が示すU−AGW6を、パス設定変更要求Aの送信先のU−AGW6として特定する。
パス設定変更要求Aを受信した場合、U−AGW6−1は、パス設定変更要求Aに含まれるMSIDを示すU−AGW用セッション管理テーブル600のエントリの、状態602を"idle"に更新する(SQ117)。
また、U−AGW6−1は、SQ117において、パス設定変更要求Aに含まれるMSIDを示すU−AGW用セッション管理テーブル600のエントリのパケット転送量603からパケット転送量を抽出する。そして、抽出されたパケット転送量と、設定変更要求Aに含まれるMSIDとを含むパス設定変更応答Aを生成する。
SQ117の後、U−AGW6−1は、生成されたパス設定変更応答AをC−AGW5へ送信する。パス設定変更応答Aには、パス設定変更要求Aに含まれるMSIDが示すMS20のパケット転送量、すなわち、MS20Aのパケット転送量が含まれる。
C−AGW5は、パス設定変更応答Aを受信した場合、パス設定変更応答Aに含まれるMSIDを示すC−AGW用セッション管理テーブル510のエントリの、パケット転送量512をパス設定変更応答Aに含まれるパケット転送量によって更新する。また、パス設定変更応答Aに含まれるMSIDを示すC−AGW用セッション管理テーブル510のエントリの、状態514を"idle"に更新する。
さらに、C−AGW5は、C−AGW用セッション管理テーブル510からパス設定変更応答Aに含まれるMSIDを示すエントリのタイプ515を取得する。そして、取得されたタイプ515と、パス設定変更応答Aの送信元のU−AGW6の識別子とに対応する、U−AGW管理テーブル500のエントリのアクティブセッション数504を特定する。そして、特定されたアクティブセッション数504の値をデクリメントする(SQ119)。
C−AGW5の通信処理プロセス58は、例えば、アクティブセッション数504の値から1を減算することによって、特定されたアクティブセッション数504の値をデクリメントする。
C−AGW5は、SQ119によって、アイドル状態に遷移するMS20によるセッションの数を、アクティブセッション数504から減算する。これによって、C−AGW5は、MS20のセッションの状況を正確に示すアクティブセッション数504に基づいて、図14に示すU−AGW6の選択処理を行うことができる。すなわち、最新のアクティブセッション数504に基づいて、AGW4におけるU−AGW6間の負荷を分散することができる。
SQ119の後、C−AGW5は、パス削除応答をBS10Aへ送信する(SQ120)。BS10Aは、パス削除応答を受信した場合、パス削除応答に含まれるMSIDを示すBS用転送先アドレス管理テーブル1000のエントリを削除する(SQ121)。
SQ121によって、BS10Aが保持するMS20Aのセッションに関する情報は削除される。
図16は、本発明の実施例のアイドル状態のセッションがアクティブ化した場合に行われる処理を示すシーケンス図である。
図16は、MS20とU−AGW6との間のセッションが、アイドル状態から、アクティブ状態へ変更する際に行われる処理を示す。ここでは、BS10Aに接続するMS20Aがアクティブ化する場合の処理を示す。
アイドル状態にあるMS20Aが通信を再開する場合、MS20Aは、アクティブ状態に遷移する。その際、MS20Aは、BS10Aを経由してC−AGW5へ、アクティブ化通知を送信する(SQ211およびSQ212)。なお、MS20Aは、MS20Aのセッションを識別するための値(例えば、MSID、または、IPアドレス)をアクティブ化通知に含める。
C−AGW5は、MS20Aからアクティブ化通知を受信した場合、アクティブ化応答をBS10Aへ送信する(SQ213)。なお、C−AGW5は、受信したアクティブ化通知を参照し、アクティブ化応答にMS20Aのセッションを識別する値(例えば、MSID)を含める。
BS10Aは、アクティブ化応答を受信した場合、パス確立要求をC−AGW5へ送信する(SQ214)。なお、BS10Aは、受信したアクティブ化応答を参照し、パス確立要求にMS20Aを示すMSIDを含める。また、BS10Aは、パス確立要求に、送信元のアドレスとして、BS10AのIPアドレスを含める。
C−AGW5は、パス確立要求を受信した場合、U−AGW選択処理を実行する(SQ215)。SQ215におけるU−AGW選択処理は、図13に示すSQ021におけるU−AGW選択処理と同じ処理である。すなわち、C−AGW5は、図14に示す処理を、SQ215において実行する。
なお、C−AGW5の通信処理プロセス58は、C−AGW用セッション管理テーブル510のMS20Aを示すエントリの収容U−AGW513に既に格納されている値が、ステップ804において選択されたU−AGW6を示さないと、SQ215におけるステップ805において判定した場合、収容U−AGW513に既に格納されていた値を、MS20Aのセッションが前回収容されたU−AGW6を示す値としてメモリ54に保持する。
C−AGW6は、SQ215におけるステップ806において、U−AGW管理テーブル500のアクティブセッション数504に、アクティブ状態に遷移するMS20のセッションの数を加算する。これによって、C−AGW6は、MS20の通信の状況を正確に示すアクティブセッション数504に基づいて、他のMS20について行われるU−AGW6の選択処理を行うことができる。すなわち、C−AGW6は、最新のアクティブセッション数504に基づいて、AGW4におけるU−AGW6間の負荷を分散することができる。
ここで、SQ215においてC−AGW5が、SQ215においてU−AGW6−mを選択し、かつ、前回収容されたU−AGW6としてU−AGW6−1を示す値をメモリ54にSQ215において保持した場合を以下に示す。
SQ215の後、C−AGW5は、パス設定変更要求Bを生成する。そして、C−AGW5は、メモリ54が示す前回収容されたU−AGW6であるU−AGW6−1に、生成されたパス設定変更要求Bを送信する(SQ216)。
なお、C−AGW5は、パス設定変更要求Bに、MS20AのMSIDと、MS20Aのセッションの振替先U−AGW(すなわち、SQ215において選択されたU−AGW6である)であるU−AGW6−mのIPアドレスと、BS10AのIPアドレスとを、少なくとも含める。具体的には、C−AGW5は、パス設定変更要求Bに含めるU−AGW6−mのIPアドレスを、U−AGW管理テーブル500のIPアドレス502から取得する。また、C−AGW5は、パス設定変更要求Bに含めるBS10AのIPアドレスを、SQ214において受信したパス確立要求から取得する。
U−AGW6−1は、パス設定変更要求Bを受信した場合、パス設定変更要求Bに含まれるU−AGW6−m(振替先U−AGW)のIPアドレスに従って、パス設定変更要求CをU−AGW6−mへ送信する(SQ217)。ここでU−AGW6−1は、MS20Aのパケット転送量と、BS10AのIPアドレスと、MS20Aの転送先HAのIPアドレスとを、パス設定変更要求Cに少なくとも含める。
具体的には、U−AGW6−1は、パス設定変更要求Cに含めるMS20Aのパケット転送量とMS20Aのユーザデータの転送先であるHA2のIPアドレスとを、U−AGW用セッション管理テーブル600におけるパケット転送量603と転送先HA604とから取得する。また、U−AGW6−1は、パス設定変更要求Cに含めるBS10AのIPアドレスを、SQ216において受信したパス設定変更要求Bから取得する。
U−AGW6−mは、パス設定変更要求Cを受信した場合、パス設定変更要求Cに含まれるHA2のIPアドレスに従って、パス設定変更要求DをHA2へ送信する(SQ218)。U−AGW6−mは、振替先U−AGWであるU−AGW6−mのHA側IPアドレスを、送信元のIPアドレスとして、パス設定変更要求Dに少なくとも含める。
HA2は、パス設定変更要求Dを受信した場合、HA用転送先アドレス管理テーブル200のMS20Aを示すエントリの転送先IPアドレス202を、パス設定変更要求Dに含まれるU−AGW6−mのHA側IPアドレスによって更新する(SQ219)。
SQ219の後、HA2は、パス設定変更応答DをU−AGW6−mへ送信する(SQ221)。HA2は、パス設定変更応答Dに、MS20Aを示すMSIDを少なくとも含める。
U−AGW6−mは、パス設定変更応答Dを受信した場合、U−AGW用セッション管理テーブル600の新たなエントリに、アクティブ化するセッションの情報を登録する(SQ222)。
具体的には、SQ222におけるU−AGW6−mは、U−AGW用セッション管理テーブル600の新たなエントリにおいて、MSID601にMS20AのMSIDを格納し、状態602に"Active"を示す値を格納する。また、U−AGW6−mは、SQ217において受信したパス設定変更要求Cに含まれるMS20Aのパケット転送量とMS20Aの転送先HAのIPアドレスとBS10AのIPアドレスとを、パケット転送量603と転送先HA604と転送先BS605とに格納する。
SQ222の後、U−AGW6−mは、パス設定変更要求Cの送信元であり、かつ、MS20Aのセッションの振替元であるU−AGW6−1へ、パス設定変更応答Cを送信する(SQ223)。なお、U−AGW6−mは、パス設定変更応答Cに、MS20Aを示すMSIDを含める。
U−AGW6−1は、パス設定変更応答Cを受信した場合、U−AGW用セッション管理テーブル600から、MS20Aのセッションを示すエントリを削除する(SQ224)。
SQ222によって、U−AGW6−1は、MS20Aのセッションに関する情報をU−AGW用セッション管理テーブル600から削除することができる。これによって、U−AGW6−1は、MS20Aのセッションを収容せず、MS20Aのセッションのパケット転送量のC−AGW5への送信を停止することができる。
また、SQ225によって、U−AGW6−mは、MS20Aのセッションに関する情報をU−AGW用セッション管理テーブル600に追加することができる。これによって、U−AGW6−1は、MS20Aのセッションを収容し、MS20Aのセッションのパケット転送量をC−AGW5に送信し始めることができる。
SQ224の後、U−AGW6−1は、C−AGW5へパス設定変更応答Bを送信する(SQ225)。なお、U−AGW6−1は、パス設定変更応答Bに、MS20Aを示すMSIDを少なくとも含める。
C−AGW5は、パス設定変更応答Bを受信した場合、BS10Aへ、パス確立応答を送信する(SQ226)。ここで、C−AGW5は、SQ214においてパス確立要求を送信したBS10Aに、パス確立応答を送信する。
なお、SQ226においてC−AGW5は、U−AGW6−m、すなわち、SQ215において選択されたU−AGW6のBS側IPアドレスを、パス確立応答に少なくとも含める。C−AGW5は、パス確立応答に含めるBS側IPアドレスを、U−AGW管理テーブル500の502から取得する。
BS10Aは、パス確立応答を受信した場合、BS用転送先アドレス管理テーブル1000の、MS20Aのセッションを示すエントリを登録する。具体的には、BS10Aは、BS用転送先アドレス管理テーブル1000の新たなエントリのMSID1001に、パス確立応答に含まれるMSIDを格納する。また、新たなエントリの転送先IPアドレス1002に、パス確立応答に含まれるU−AGW6−mのBS側IPアドレスを格納する(SQ227)。
SQ227の後、BS10Aは、アクティブ化応答をMS20Aへ送信する(SQ228)。
図16に示す処理によって、C−AGW5は、MS20がアクティブ状態に遷移する場合において、MS20のセッションを収容するU−AGW6を変更することができる。すなわち、MS20がアイドル状態からアクティブ状態に遷移する場合においても、C−AGW5は、AGW4におけるU−AGW6の負荷を分散することができ、負荷分散契機を増やすことができる。
図17は、本発明の実施例の閾値算出処理900を示すフローチャートである。
閾値算出処理900は、C−AGW5の通信処理プロセス58が、定期的に実行する処理であってもよいし、何らかのイベントを契機に実行する処理であってもよい。本実施例における定期的とは、1時間毎、1日毎、または、1週間毎などの所定の期間毎の意味である。また、何らかのイベントとは、例えば、AGW4のいずれかのU−AGW6におけるパケット転送量の総和が、所定の期間において所定の閾値を超えて増加した場合等でもよい。
一般的に、BS10へ接続するユーザ(すなわち、MS20のセッション)の数(接続数)、および、パケット転送量は、一日の中で変動する。このため、以下において説明する図17に示す処理は、1時間毎に実行されるものとする。
まず、閾値算出処理900が開始された場合、C−AGW5の通信処理プロセス58は、閾値管理テーブル520の閾値523に格納される値をすべてnull値にクリアする(901)。
ステップ901の後、通信処理プロセス58は、C−AGW用セッション管理テーブル510のパケット転送量512から、全てのMS20のセッションにおけるパケット転送量を取得する。そして、通信処理プロセス58は、取得された各セッションのパケット転送量を、パケット転送量の値の多い順に整列した数列を、メモリ54に保持する(902)。
ステップ902の後、通信処理プロセス58は、閾値管理テーブル520を参照し、閾値523がクリアされている複数のエントリのうちから、タイプ521が最も若い番号のエントリを選択する。そして、選択されたエントリのセッション比率522と、タイプ521が選択されたエントリのタイプ521よりも若い全てのエントリのセッション比率522を加算し、セッション比率の和として取得する(903)。なお、ステップ901で全てのエントリの閾知523をクリアした後の最初のステップ903では、タイプ521がT[1]のエントリが選択され、タイプ521がこれより若い番号のエントリが無い為、タイプ521がT[1]のエントリのセッション比率522そのものをセッション比率の和とする。
ステップ903の後、通信処理プロセス58は、全MS20の数に、[セッション比率の総和]分の[ステップ903において取得されたセッション比率の和]を掛け、小数点以下を切り捨てた値を、MS比率番号として算出する。
セッション比率の総和とは、セッション比率522の列に格納されるすべての値の総和である。すなわち、セッション比率が100分率によって示される場合、セッション比率の総和は100(%)である。
そして、MS比率番号とは、選択された閾値管理テーブル520のエントリが示すタイプに割り当てられるセッションが、パケット転送量が最も多いセッションから数えて何番目のセッションに含まれるかを示す番号である。
通信処理プロセス58は、ステップ903において多い順に整列された各セッションのパケット転送量の数列のうち、パケット転送量が多い順から数えて、MS比率番号と同じ順位にあるパケット転送量を、ステップ903において選択された閾値管理テーブル520のエントリの閾値523に格納する(904)。
ステップ904によって、通信処理プロセス58は、パケット転送量の多いセッションの順に、所定のセッション比率に従って、各タイプを割り当てることができる。そして、MS20を各タイプに割り当てるための閾値を、MS20の最新のパケット転送量に基づいて、設定し直すことができる。
通信処理プロセス58は、ステップ903とステップ904との処理を、タイプT[K]を除く全てのタイプ521の閾値523が設定されるまで、繰り返す(905)。なお、本実施例において、タイプT[K]を示すエントリの閾値523および初期閾値524には値が含まれない。これは、タイプT[K]に割り当てられるMS20のパケット転送量は、タイプT[K−1]の閾値523よりも少ない値であり、C−AGW5は、タイプT[K−1]の閾値523を用いれば、タイプT[K]をセッションに割り当てることができるためである。
図17に示す処理によって、C−AGW5は、閾値管理テーブル520の閾値523は定期的に更新することができる。そして、これによって、図14に示す処理において、例えば、1時間ごとの各ユーザの通信状況に基づいて、セッションにタイプを割り当てることができる。そして、1時間ごとの通信状況に基づいて、U−AGW6への負荷分散を行うことができる。これによって、最新の情報に基づいて、C−AGW5はU−AGW6への負荷を分散できる。
なお、本発明は前述に記載した実施例に限定されるものではなく、様々な変形例が含まれる。すなわち、前述した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
例えば、本発明の実施例は、C/U分離型(すなわち、C−AGW5およびU−AGW6が分離する構成)ではなく、C/U一体型の複数のアクセスゲートウェイから成るシステムによって実装されてもよい。この場合、前述したC/U分離型のC−AGW5が有する複数のテーブルを分離させ、各アクセスゲートウェイが各テーブルを保持し、各アクセスゲートウェイがメッセージを送受信することによって、各々のテーブルを最新の状態に保つ。そして、いずれかのアクセスゲートウェイにおいて通信処理プロセス58を起動させることによって、C/U一体型のシステムにおいても、本実施例が実施可能である。
また、例えば、AGW4とHA2とが同じ装置によって実装されるシステムにおいては、AGW4とHA2とのメッセージの送受信を省略することによって、本実施例が実施可能である。
また、例えば、MS20がBS10を切り替える際のハンドオーバ時にも、パス確立要求をC−AGW5が受信することによって、本実施例は実施可能である。
また、前述の実施例において、U−AGW6はパケット転送量を取得し、C−AGW5は、パケット転送量に従って各MS20にタイプを割り当てた。しかし、本実施例のU−AGW6は、各MS20の通信状況を定量的に示す値を取得できれば、いかなる値を取得してもよい。
例えば、U−AGW6は、パケット転送量の代わりに、MS20によるセッションの通信時間を取得してもよく、毎日の通信時間の平均値を取得してもよい。そして、C−AGW5は、毎日の通信時間の平均値によって、MS20にタイプを割り当ててもよい。
また、前述の各機能を実現する各プログラム(例えば、C−AGW5の通信処理プロセス58を実行するためのプログラム等)、および、各テーブル(例えば、C−AGW用セッション管理テーブル510等)の情報は、メモリだけでなく、ハードディスク、もしくは、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、もしくは、DVD等の記録媒体に格納することができる。
また、各装置における制御線および情報線は、説明上必要と考えられるものが記載されており、実装される全ての制御線および情報線が必ずしも記載されているとは限らない。
本実施例によれば、C−AGW5は、MS20と通信するU−AGW6を選択する際にセッションのパケット転送の通信状況に従ってセッションにタイプを割り当て、タイプに従ってU−AGW6を選択することによって、AGW4における各U−AGW6への通信状況が近いユーザによる負荷を分散する。これによって、AGW4における特定のU−AGW6へ負荷が集中することを防ぐ。
また、C−AGW5は、アイドル状態からアクティブ状態へセッションの状態が遷移する際に、通信状況に従ってU−AGW6を選択し、選択されたU−AGW6とMS20との間のパスを再度設定する。これによって、AGW4におけるU−AGW6の負荷分散契機を増やすことができる。これによって、本実施例によれば、AGW4における特定のU−AGW6へ負荷が集中する時間を短くできる。