通信システムの制御方法、通信システムおよび通信装置
【課題】パケット転送性能の劣化を防ぎつつ正確なタイミングでQoSまたは課金制御のパラメータを切り替える。
【解決手段】サーバ装置と、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、前記通信装置は、受信したパケットと、前記受信したパケットの通信量に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用された通信量を積算するカウンタとを関連付ける情報を保持し、前記通信システムの制御方法は、前記受信したパケットに関連付けられた重み値を特定する手順と、前記特定された重み値が適用された前記受信したパケットの通信量を、前記受信したパケットに関連付けられたカウンタを用いて積算する手順と、前記カウンタを用いて積算された値に基づいて、QoSまたは課金制御のパラメータを変更する手順と、を含む。
【解決手段】サーバ装置と、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、前記通信装置は、受信したパケットと、前記受信したパケットの通信量に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用された通信量を積算するカウンタとを関連付ける情報を保持し、前記通信システムの制御方法は、前記受信したパケットに関連付けられた重み値を特定する手順と、前記特定された重み値が適用された前記受信したパケットの通信量を、前記受信したパケットに関連付けられたカウンタを用いて積算する手順と、前記カウンタを用いて積算された値に基づいて、QoSまたは課金制御のパラメータを変更する手順と、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信システムおよび通信装置に係り、特に、端末とサービス提供サーバとの間で送受信されるパケットに対してQoSまたは課金制御等を適用する技術に関する。
【背景技術】
【0002】
移動体無線通信のさらなる高速化、高品質化を実現する方式として、近年、第3.9世代移動通信システムおよび第4世代移動通信システムの研究、標準化活動が進められている。第3.9世代移動通信システムの一つであるLTE(Long Term Evolution)、および第4世代移動通信システムの一つであるLTE Advancedの標準規定を策定している標準化団体3GPP(3rd Generation Partnership Project)は、前記規格の仕様としてTS(Technical Specification)を策定している。
【0003】
3GPPのTSでは、IP(Internet Protocol)ネットワークに属するサービス提供サーバから端末宛てに送信されたダウンリンク方向のパケット(以下、DLパケット)、および端末からサービス提供サーバ宛てに送信されたアップリンク方向のパケット(以下、ULパケット)のそれぞれに対して、各パケットに適用する課金条件またはQoS(Quality of Service)条件などを関連づけるためのパケットフィルタリングをゲートウェイで行い、その結果に基づいて課金制御およびQoS制御を適用するための仕様が規定されている。ここで、QoS制御は、例えば優先制御、パケット転送レート制御又はパケット破棄などである。また、TSでは、予めあるユーザの一つまたは複数のサービスに関連付けられるグループを設定し、ゲートウェイで送信されたパケットのバイト数をグループ毎に積算し、積算値がゲートウェイに設定された閾値に到達したことを契機に、課金サーバまたはポリシー管理サーバへ通知するための仕様が規定されている。
【0004】
非特許文献1では、PCC Rule(Policy and Charging Control Rule)の定義、および、Usage Monitoring機能の仕様が規定されている。PCC Ruleは、積算範囲を定義するグループおよびグループとパケットを紐づけるためのフィルタ条件を含み、QoSおよび課金のポリシーを管理するノードPCRF(Policy and Charging Rule Function)から3GPPにおけるゲートウェイの一つであるP−GW(PDN Gateway、PDNはPacket Data Networkの略)へ通知されるか、または、P−GWに事前設定される。Usage Monitoring機能は、PCRFが規定するかP−GWに事前設定されるグループ毎のバイト数の積算値の閾値に積算値が到達した契機をP−GWが検出し、P−GWからPCRFへメッセージを送信する機能である。
【0005】
非特許文献2では、「QoS Control Based on Subscriber Spending Limits」の仕様規定を、3GPPにおけるRelease 11 Work Itemの一つとすることが記載されている。「QoS Control Based on Subscriber Spending Limits」は、3GPPにおけるオンライン課金サーバであるOCS(Online Charging Server)が規定するか、またはP−GWに事前設定されるグループ毎のバイト数の積算値の閾値に積算値が到達した契機で、P−GWからOCSへメッセージを送信し、さらにOCSに設定された課金ポリシーに基づく課金ステータスの変化をOCSからPCRFへ通知することができる機能である。
【0006】
更に、特許文献1では、電子メール課金システム及び電子メール課金方法に関して、一つまたは複数の端末が属する端末グループ毎の課金ポリシーに基づいて課金を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−101008号公報
【非特許文献】
【0008】
【非特許文献1】3GPP TS23.203 V11.2.0、(2011−6)、Technical Specification
【非特許文献2】3GPP寄書 SP−110086、(2011−3)、SA Plenary #51会合寄書
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述した3GPPのTSに従うP−GWにおける送信パケットのバイト数の積算機能、および、積算値が閾値に到達した時のOCSまたはPCRFへの通知機能では、時刻または無線通信に用いる規格などの種々の条件に基づいて決定されるQoSまたは課金のポリシーが異なるか、あるいは変化する場合、P−GWにおいて、それぞれ異なる閾値が定義された複数のカウンタを用いて積算を実施する必要がある。これによって、QoSまたは課金の条件が増えるにつれて内部のメモリに設定するカウンタの数およびパケットとカウンタの関連づけに必要なフィルタ条件などの情報も増大し、パケットとカウンタを関連づけるまでの時間が増大する。さらに、カウンタ保持のためのP−GW内部のメモリ容量増加がP−GWのメモリ読み出し・書き込み性能に影響を与える。それらの結果、P−GWにおけるパケット処理遅延が増大し、処理しきれなくなったパケットの破棄が発生するなどの通信性能の劣化または誤課金などの問題が発生する。
【0010】
また、OCSおよびPCRFでは、種々の条件を組み合わせてQoSまたは課金のポリシーを決定する場合には、条件毎にバイト数の閾値を設定し、P−GWにおけるバイト数積算結果の閾値到達に関するメッセージを個々に受信し、それらを組み合わせてポリシーを決定する必要がある。これによって、P−GWとOCSやPCRFとの間のメッセージ数が増加し、メッセージ処理遅延が増大し、処理しきれなくなったメッセージの破棄が発生するなどの通信性能の劣化などの問題が発生する。
【0011】
無線接続の広帯域化およびスマートフォンの普及などによって、モバイル端末向けに多様なサービスが展開できるようになり、MVNO(Mobile Virtual Network Operator)の参入によってサービス間の差別化競争が進んでいくことが予測される現状では、QoSまたは課金のポリシーを決定する条件の増加による前記の通信性能劣化の課題が深刻化することが予測される。また、同様に、固定網でもサービス多様化によるQoSや課金のポリシーを決定する条件の増加によって、前記の通信性能劣化の課題が懸念される。
【0012】
本発明の目的は、以上の課題に鑑み、無線または有線の通信システムにおいて、通信装置内部における前記積算に用いるカウンタの数や通信装置と課金サーバまたはポリシー管理サーバの一方または双方への前記積算結果の閾値到達に関するメッセージ数を増やすことなく、パケット転送性能の劣化を防ぎつつQoSや課金のポリシーに基づく正確なタイミングでQoSまたは課金制御のパラメータを切り替えることが可能な通信システムおよび装置を提供することにある。
【課題を解決するための手段】
【0013】
本発明の代表的な一例を示せば次の通りである。すなわち、ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、前記通信システムの制御方法は、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第1手順と、前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第2手順と、前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更する第3手順と、を含むことを特徴とする。
【発明の効果】
【0014】
本発明の一実施形態によると、無線または有線通信システムにおいて、通信装置の送信するパケット数またはバイト数の一方または双方がある閾値に達した契機でQoSまたは課金制御のパラメータを切り替える場合において、パケット転送性能の劣化を防ぎつつQoSや課金のポリシーに基づく正確なタイミングでQoSまたは課金制御のパラメータを切り替えることができる。
【図面の簡単な説明】
【0015】
【図1】第1の実施例に係る、通信システムの機能構成を説明するための概念図である。
【図2】第1の実施例に係る、通信システムの一構成例を示すブロック図である。
【図3】第1の実施例に係る、ゲートウェイ(GW)の一例を示す機能ブロック図である。
【図4】第1の実施例に係る、GWのメモリ部のブロック図である。
【図5】第1の実施例に係る、GWが保持する重み付け積算における積算グループの識別子と重み値を当該パケットの通信に関わる端末(MS)と当該パケットの属するサービスから決定するための情報を示すテーブルの一例を示す図である。
【図6】第1の実施例に係る、重み付け積算における積算閾値を当該パケットの属する積算グループから決定するための情報を示すテーブルの一例を示す図である。
【図7】第1の実施例に係る、積算グループ毎の積算値の情報を示すテーブルの一例を示す図である。
【図8】第1の実施例に係る、重み付け積算における時刻に基づく重み値を当該パケットの通信に関わるMSと当該パケットの属するサービスから決定するための情報を示すテーブルの一例を示す図である。
【図9】第1の実施例に係る、重み付け積算における時刻に基づく重み値を当該パケットの属する積算グループから決定するための情報を示すテーブルの一例を示す図である。
【図10】第1の実施例に係る、重み付け積算におけるBSの混雑度に基づく重み値を当該パケットの通信に関わる基地局(BS)から決定するための情報を示すテーブルの一例を示す図である。
【図11】第1の実施例に係る、BSに接続しているMSの情報を示すテーブルの一例を示す図である。
【図12】第1の実施例に係る、重み付け積算におけるBSの混雑度に基づく重み値を当該パケットの通信に関わるBSから決定するための情報を示すテーブルの一例を示す図である。
【図13】第1の実施例に係る、複数のBSへ送信されたDLパケットに対する重み付け積算における当該DLパケットのMSへの送信成否に基づく重み値を決定するための情報を示すテーブルの一例を示す図である。
【図14】第1の実施例に係る、複数のBSへ送信されたDLパケットに対する重み付け積算におけるBSに関する総合的な重み値を決定するための情報を示すテーブルの一例を示す図である。
【図15】第1の実施例に係る、ポリシー管理装置(PS)の一例を示す機能ブロック図である。
【図16】第1の実施例に係る、課金サーバ(CS)の一例を示す機能ブロック図である。
【図17】第1の実施例に係る、GWにおけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算処理の一例を示す図である。
【図18】第1の実施例に係る、PSにおける積算閾値到達メッセージ受信の処理の一例を示す図である。
【図19】第1の実施例に係る、CSにおける積算閾値到達メッセージ受信の処理の一例を示す図である。
【図20】第1の実施例に係る、PSにおけるステータス変更メッセージ受信の処理の一例を示す図である。
【図21】第1の実施例に係る、CSにおけるステータス変更メッセージ受信の処理の一例を示す図である。
【図22】第1の実施例に係る、GWにおける重み付け積算値を、パケットがBSで破棄されたか否かに基づいて修正する処理の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態を図面に従い説明する。各種の実施例について説明するに先立ち、その概要について説明する。
【0017】
図1は、本発明の通信システムの概要を説明するための機能構成図である。図1において、ゲートウェイ(GateWay、以下、GW)2がULパケットまたはDLパケットを受信した場合(ステップS100)、GW2は、当該パケットに関連付けられたQoSおよび課金に関するパラメータ(後述)をQoSおよび課金のポリシーに基づいて決定する(ステップS101)。
【0018】
そして、GW2は、当該パケットに関連付けられた重み値をQoSまたは課金のポリシーに基づいて決定し(ステップS102)、当該パケットについて、重み付けパケット数積算または重み付けバイト数積算の一方または双方を行い、それぞれの積算値を対応するカウンタに保持する(ステップS103)。これらの積算の結果、積算値がそれぞれのカウンタに設定された閾値に達した場合は(ステップS104)、GW2は、到達した閾値の情報(閾値到達情報)を含むメッセージを作成し、その閾値に関連付けられた宛先へ送信する(ステップS106、S107)。
【0019】
なお、以下の説明では、ネットワークにおける通信量を示す指標としてパケット数またはパケットに含まれるデータ量を用いる例を示す。パケットに含まれるデータ量を示す指標の例として、パケットのバイト数を用いているが、それ以外の指標が用いられてもよい。ここで、パケットのバイト数とは、例えば、パケット全体のバイト数であってもよいし、いわゆるペイロード長であってもよい。
【0020】
当該メッセージを受信したポリシー管理装置(Policy Server、以下、PS)3または課金サーバ(Charging Server、以下、CS)6の一方または双方は、受信したメッセージに含まれる閾値到達情報、および、QoSまたは課金のポリシーに基づいて、QoSまたは課金に関するパラメータ変更の有無(すなわちパラメータを変更する必要があるか否か)を判定する。その結果、QoSまたは課金に関するパラメータを変更する必要があると判定された場合は、PS3またはCS6の一方または双方は、QoSまたは課金のパラメータの変更情報を含むメッセージを作成し(ステップS108)、変更内容に関連付けられた宛先へ送信する(ステップS109)。
【0021】
GW2は、ステップS109において送信されたメッセージを受信した場合、GW2で適用されるQoSまたは課金のパラメータを変更し、以降に受信したULパケットまたはDLパケットに対して変更後のQoSまたは課金のパラメータを適用する。
【0022】
この通信システムによって、種々の条件で決定されるQoSまたは課金に関するパラメータを、パケット毎の重みとして統一的に積算値に反映できるため、複数のQoSや課金に関するパラメータ決定条件を反映させる場合でも、ゲートウェイのパケット数またはバイト数を積算するカウンタの数をパラメータ決定条件の数に合わせて増やすことなく、かつPS3またはCS6への検出結果の通知に用いるメッセージをパラメータ決定条件の数に合わせて増やすことなく、QoSまたは課金に関するパラメータを切り替えるタイミングをパケット単位で正確に検出し、ゲートウェイにおけるQoSまたは課金のパラメータに基づく帯域制限などの通信制御に適用できる。これによって、ゲートウェイの通信性能劣化または帯域制限などの通信制御の適用遅延によるヘビーユーザの帯域寡占などの問題の発生を防ぐことができる。
【実施例1】
【0023】
以下、本発明の第1の実施例を図面に従い、順次説明する。
【0024】
<システム構成>
図2は、第1の実施例の通信システムの一構成例を示す図である。第1の実施例の通信システムは、基地局(Base Station、以下、BS)4と無線通信または有線通信を行う端末(Mobile Station、以下、MS)5と、BS4を介してMS5と通信するGW2と、GW2と通信するサービス提供サーバ(Service Server、以下、SS)1と、GW2およびCS6と通信するPS3と、GW2およびPS3と通信するCS6と、を含む。
【0025】
ここで、PS3は、GW2と同じ装置に実装されてもよいし、CS6と同じ装置に実装されてもよい。また、CS6は、GW2と同じ装置に実装されてもよいし、PS3と同じ装置に実装されてもよい。また、BS4は省略可能であり、その場合、MS5はBS4を介さずにGW2と通信し、GW2はBS4を介さずにMS5と通信する。また、PS3とCS6との間のインタフェースは省略可能であり、その場合、PS3とCS6は互いに直接通信することはない。
【0026】
また、図2には本実施例の通信システムの構成要素を一つずつ示したが、実際にはこれらの構成要素の数は任意である。例えば、本実施例の通信システムは、一つのBS4と通信する複数のMS5を含んでもよく、さらに複数のBS4を含んでもよく、さらに複数のGW2を含んでもよい。
【0027】
図2の通信システムにおいて、GW2は、QoSまたは課金のパラメータ、重み、積算閾値、および、それらの値とパケットとを関連づける条件に従って、BS4から受信したULパケットおよびSS1から受信したDLパケットに対してQoSや課金のパラメータや重みを適用する。ここで、QoSまたは課金のパラメータ、重み、積算閾値、および、それらの値とパケットとを関連づける条件は、PS3またはCS6の少なくとも一方から通知されたものであってもよいし、GW2に予め設定されたものであってもよい。そして、GW2は、受信したパケットがULパケットならばそれをSS1へ、DLパケットならばBS4へそれぞれ転送する。
【0028】
また、GW2は、重み付け積算結果(すなわち、重み付けされたパケット数の積算値または重み付けされたバイト数の積算値の少なくとも一方)が前記積算閾値に達した場合、積算閾値と積算閾値到達メッセージの宛先とを関連づける条件に従って、積算閾値到達メッセージをPS3またはCS6の一方または双方へ送信する。ここで、積算閾値と積算閾値到達メッセージの宛先とを関連づける条件は、PS3またはCS6から通知されたものであってもよいし、GW2に予め設定されたものであってもよい。
【0029】
PS3は、GW2から送信された積算閾値到達メッセージ、PS3に設定されたQoSもしくは課金のパラメータの決定条件、または、CS6から送信されたステータス変更メッセージに従って、GW2で適用されているQoSもしくは課金のパラメータ、重み、または積算閾値の変更有無(すなわち変更の要否)を判定する。GW2で適用されているQoSもしくは課金のパラメータ、重みまたは積算閾値の変更をする必要があると判定された場合、PS3は、変更後のQoSもしくは課金のパラメータ、重みまたは積算閾値を含むパラメータ更新メッセージをGW2へ送信する。QoSまたは課金のステータスが変更された場合、PS3は、CS6へステータス変更メッセージを送信してもよい。
【0030】
CS6は、GW2から送信された積算閾値到達メッセージ、CS6に設定された課金のパラメータの決定条件、または、PS3から送信されたステータス変更メッセージに従って、GW2で適用されている課金のパラメータ、重みまたは積算閾値の変更有無を判定する。GW2で適用されている課金のパラメータ、重みまたは積算閾値を変更する必要があると判定された場合、CS6は、変更後の課金のパラメータ、重みまたは積算閾値を含むパラメータ更新メッセージをGW2へ送信する。課金のステータスが変更された場合、CS6は、PS3へステータス変更メッセージを送信してもよい。
【0031】
本実施例では、GW2がULパケットまたはDLパケットを受信した場合、GW2が、受信したパケットと関連付けられたQoSまたは課金に関するパラメータをQoSまたは課金のポリシーに基づいて決定する。そして、GW2は、受信したパケットと関連付けられた重み値をQoSまたは課金のポリシーに基づいて決定し、当該パケットについて、重み付けパケット数積算または重み付けバイト数積算の一方または双方を行い、積算値をそれぞれに対応するカウンタに保持する。積算値がカウンタに関連付けられた閾値に達した場合は、GW2は、到達した閾値の情報を含む積算閾値到達メッセージを作成し、その閾値に関連付けられた宛先へそのメッセージを送信する。GW2が送信したメッセージを受信したPS3またはCS6の一方または双方は、受信したメッセージに含まれる閾値到達情報と、QoSまたは課金のポリシーとに基づいてQoSまたは課金に関するパラメータ変更の有無を判定し、QoSまたは課金に関するパラメータを変更する必要があると判定された場合は、QoSまたは課金のパラメータの変更情報を含むメッセージを作成し、変更内容に関連付けられた宛先へ送信する。GW2は、PS3またはCS6からのメッセージを受信した場合、GW2で適用されるQoSまたは課金のパラメータを変更し、以降に受信したULパケットまたはDLパケットに対して変更後のQoSまたは課金のパラメータを適用する。
【0032】
<装置構成:GW2>
図3に、本実施例で使用するGW2の一構成例の機能ブロックを示す。GW2は、例えば、SSインタフェース部21と、BSインタフェース部22と、PSインタフェース部23と、CSインタフェース部24と、メモリ部25と、処理部26とを有する。
【0033】
SSインタフェース部21は、SS1とのインタフェースである。SSインタフェース部21を用いて、GW2はSS1との間でIPパケットの送受信を行う。
【0034】
BSインタフェース部22は、BS4とのインタフェースである。BSインタフェース部22を用いて、GW2はBS4との間でIPパケットの送受信を行う。BS4が省略される通信システムの場合、BSインタフェース部22を用いて、GW2はBS4を介さずに直接MS5との間でIPパケットの送受信を行う。
【0035】
PSインタフェース部23は、PS3とのインタフェースである。PSインタフェース部23を用いて、GW2はPS3との間でIPパケットの送受信を行う。本実施の形態では、GW2はPSインタフェース部23を用いて、PS3に積算閾値到達メッセージを送信したり、その応答メッセージをPS3から受信したりしてもよい。
【0036】
CSインタフェース部24は、CS6とのインタフェースである。CSインタフェース部24を用いて、GW2はCS6との間でIPパケットの送受信を行う。本実施の形態では、GW2はCSインタフェース部24を用いて、CS6に積算閾値到達メッセージを送信したり、その応答メッセージをCS6から受信したりしてもよい。
【0037】
メモリ部25は、送受信するIPパケット、接続するSS1、BS4、PS3およびCS6のアドレス、上記の各インタフェース部で受信したULパケットまたはDLパケットに適用するQoSもしくは課金に関するパラメータ、重みまたは積算閾値とパケットを関連づける条件などの情報を、必要に応じて記憶・管理する。
【0038】
なお、以上に説明したGW2におけるインタフェース部21−24を総称して、GW2のインタフェース部、またはネットワークインタフェース部と呼ぶ場合がある。これらのインタフェース部は、内部バスによってメモリ部25および処理部26に接続されている。
【0039】
処理部26は、例えば中央処理部(Central Processing Unit:CPU)で構成される。処理部26は、メモリ部25に保持される情報を管理し、さらに、メモリ部25に記憶される各種のプログラムを実行することによって、各種の処理、例えば、IPパケットの構築または解析などのIPパケット送受信処理、インタフェース部で受信したULパケットまたはDLパケットに適用するQoSもしくは課金に関するパラメータ、重みまたは積算閾値とパケットとの関連づけ、および受信したパケットのパケット数またはバイト数の重み付け積算などを行う。
【0040】
なお、以下に順次説明する、本実施例の通信システムを構成するGW2以外の他の構成要素であるPS3およびCS6等も同様にその内部にネットワークインタフェース部、メモリ部、処理部を備えている(図15および図16参照)。それらの処理部もGW2の処理部26と同様にCPUによって実現され、PS3およびCS6等に特有の機能プログラムを実行、処理する。さらに、詳細な内部構成の説明を省略するが、SS1、BS4およびMS5もその内部にネットワークインタフェース部、メモリ部、処理部を備える構成を有することは言うまでもない。
【0041】
図4に、本実施例のGW2のメモリ部の一構成例のブロック図を示す。
【0042】
メモリ部25は、例えば図4に示すように、テーブル251〜テーブル260を保持する。
【0043】
テーブル251は、受信したULパケットまたはDLパケットに対する重み付け積算における積算グループ(後述、図5参照))の識別子および重み値を、当該パケットの通信に関わる(すなわち当該パケットの送信元または送信先である)MS5および当該パケットの属するサービスに基づいて決定するための情報を示す。テーブル251を用いることによって、MS5の識別子、サービスの識別子、積算グループの識別子、バイト数重み値、およびパケット数重み値などの情報を管理することができる。なお、テーブル251の詳細は後述する(図5参照)。
【0044】
テーブル252は、受信したULパケットまたはDLパケットに対する重み付け積算における積算閾値を、当該パケットの属する積算グループに基づいて決定するための情報を示す。テーブル252を用いることによって、積算グループの識別子、バイト数積算閾値、およびパケット数積算閾値などの情報を管理することができる。なお、テーブル252の詳細は後述する(図6参照)。
【0045】
テーブル253は、積算グループ毎の積算値の情報を示す。テーブル253を用いることによって、積算グループの識別子、バイト数積算値、パケット数積算値などの情報を管理することができる。なお、テーブル253の詳細は後述する(図7参照)。
【0046】
テーブル254は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を、当該パケットの通信に関わるMS5および当該パケットの属するサービスに基づいて決定するための情報を示す。テーブル254を用いることによって、MS5の識別子、サービスの識別子、バイト数重み値とその切り替え時刻、およびパケット数重み値とその切り替え時刻などの情報を管理することができる。なお、テーブル254の詳細は後述する(図8参照)。
【0047】
テーブル255は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を、当該パケットの属する積算グループに基づいて決定するための情報を示す。テーブル255を用いることによって、積算グループの識別子、バイト数重み値とその切り替え時刻、パケット数重み値とその切り替え時刻などの情報を管理することができる。なお、テーブル255の詳細は後述する(図9参照)。
【0048】
テーブル256は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を、当該パケットの通信に関わるBS4に基づいて決定するための情報を示す。テーブル256を用いることによって、BS4の識別子、BS4のセルスループットと該BS4に接続しているMS5の数の比の閾値、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル256の詳細は後述する(図10参照)。
【0049】
テーブル257は、各BS4に接続しているMS5の情報を示す。テーブル257を用いることによって、BS4の識別子、各BS4に接続しているMS5の識別子などの情報を管理することができる。なお、テーブル257の詳細は後述する(図11参照)。
【0050】
テーブル258は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を、当該パケットの通信に関わるBS4に基づいて決定するための情報を示す。テーブル258を用いることによって、BS4の識別子、BS4のセルスループットと該BS4に接続しているMS5の合計送信スループットの比の閾値、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル258の詳細は後述する(図12参照)。
【0051】
テーブル259は、DLパケットの送信失敗通知の有無を示す。テーブル259を用いることによって、パケットの識別子、重み付けバイト数、重み付けパケット数、各パケットの通信に関わるBS4の識別子、タイムアウト時刻などの情報を管理することができる。なお、テーブル259の詳細は後述する(図13参照)。
【0052】
テーブル260は、各BS4の重み値と重み値決定優先度を示す。テーブル260を用いることによって、BS4の識別子、重み値決定優先度、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル260の詳細は後述する(図14参照)。
【0053】
図5に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル251を示す。テーブル251は、受信したULパケットまたはDLパケットに対する重み付け積算における積算グループの識別子および重み値を、当該パケットの通信に関わるMS5および当該パケットの属するサービスに基づいて決定するための情報を示す。
【0054】
テーブル251には、例えば、MS5の識別子(MS ID)501、サービスの識別子(Service ID)502、積算グループの識別子(Group ID)503、バイト数重み値(Weight(for bytes))、パケット数重み値(Weight(for packets))が記憶される。バイト数重み値は、ULパケットのバイト数重み値504およびDLパケットのバイト数重み値506を含む。パケット数重み値は、ULパケットのパケット数重み値505およびDLパケットのパケット数重み値507を含む。
【0055】
MS5の識別子501は、各MS5を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるMS5(すなわち、ULパケットの送信元のMS5またはDLパケットの送信先のMS5)と、積算グループまたは重み値とを関連づけるために使用される。なお、例えば全てのMS5が同一の積算グループまたは同一の重み値に関連付けられる場合等には、MS5の識別子501は省略されてもよい。
【0056】
サービスの識別子502は、GW2が受信したULパケットまたはDLパケットの属するサービスを識別するパラメータであり、そのサービスと積算グループまたは重み値とを関連づけるために使用される。なお、例えば全てのサービスが同一の積算グループまたは同一の重み値に関連付けられる場合等には、サービスの識別子502は省略されてもよい。
【0057】
積算グループの識別子503は、GW2が受信したULパケットまたはDLパケットの数またはそれぞれのパケットのバイト数がどの積算グループのカウンタに積算されるかを示すパラメータである。
【0058】
ここで、積算グループについて説明する。本実施例では、QoSまたは課金等を制御するために、GW2を通過するパケット数またはパケットのバイト数が積算される。積算グループとは、一つのカウンタを使用してパケット数またはバイト数を積算できる範囲を規定する概念である。
【0059】
例えば、ユーザごとの課金を目的としてパケット数またはバイト数を積算する場合、それぞれ異なるユーザによって使用される各MS5がそれぞれ異なる積算グループに関連付けられる。一人のユーザが一つのMS5を使用して複数のサービスを利用する場合、各サービスがそれぞれ異なる積算グループに関連付けられてもよいが、複数のサービスが一つの積算グループに関連付けられる場合もある。例えば、ユーザが一つのサービス提供者によって提供される複数のサービスを利用し、かつ、それらのサービスの課金に関するパラメータ(課金パラメータ)が同一であれば、それらのサービスを一つの積算グループに関連付けることができる。
【0060】
ここで、課金パラメータとは、例えば積算値に基づいて課金額を算出するためのパラメータである。具体的には、例えば、従量課金が適用される場合において、通信したパケット数またはバイト数あたりの課金額(すなわち課金の比率)が定められている場合には、その比率が課金パラメータであるし、通信したパケット数またはバイト数の積算値の閾値(すなわち図6の積算閾値)、および、積算値がその閾値を超えた場合の課金額が定められている場合には、その閾値および課金額が課金パラメータである。サービス提供者は、例えば課金パラメータの共通する複数のサービスを一人のユーザに提供している場合、それらの複数のサービスに関するパケット数またはバイト数の積算値を一つのカウンタで積算し、その積算値に応じた金額を課金パラメータに基づいて計算し、その金額を当該複数のサービスの利用料金として当該ユーザにまとめて請求することができる。
【0061】
あるいは、MS5ごとの使用帯域を制限する目的で課金を制御したい場合、一つのMS5が利用する全てのサービスを一つの積算グループに関連付けてもよい。この場合、課金パラメータとして、例えば積算値に対する課金の比率と、積算値の閾値とが設定され、積算値が当該閾値を超過した場合には、課金の比率が高くなるように(すなわち料金が高額になるように)変更されてもよい。
【0062】
上記のような積算グループおよびパラメータの基本的な考え方は、QoSの制御のためのパケット数またはバイト数の積算にも適用することができる。例えば、特定のユーザ、特定のMS5または特定のサービスによる帯域の占有を緩和するために、当該ユーザ、MS5またはサービスに関する積算値が所定の閾値を超えた場合に、当該ユーザ、MS5またはサービスに関する帯域制限値を、使用帯域を縮小する方向に変更する、または、当該ユーザ、MS5またはサービスに関するパケットの送信優先度を低下させる、などの制御が実行されてもよい。その場合、QoSに関するパラメータ(QoSパラメータ)は、閾値およびそれに関連付けられた帯域制限値またはパケットの送信優先度等である。
【0063】
受信したパケットがどのようなパラメータに関連付けられているかは、パケットの送信先、パケットの送信元、またはパケットが属するサービス等に基づいて特定することができる。通常、パケットとQoSパラメータとの関連付けはPS3によって管理され、パケットと課金パラメータとの関連付けはCS6によって管理される。PS3は、さらにパケットと課金パラメータとの関連付けを管理する場合もある。
【0064】
なお、上記のようなパラメータは一例であり、本実施例は、パケットまたはそれに含まれるデータの通信の制御または管理(その一例が、上記のQoSまたは課金の制御である)のために、パケット数またはパケットのバイト数に関連付けられる、いかなる種類のパラメータにも適用することができる。
【0065】
従来は、受信したパケットに関連付けられたQoSまたは課金に関するパラメータが共通しない限り、それらのパケットの数またはそれらのバイト数を一つのカウンタで積算することができなかった。一方、本発明では、特定の場合に、異なるパラメータに関連付けられたパケットの数またはそれらのバイト数を一つのカウンタによって積算することが可能になる。重み値およびそれに基づく重み付け積算の例については後述する。
【0066】
バイト数重み値(すなわちULパケットのバイト数重み値504およびDLパケットのバイト数重み値506)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際のMS5およびサービスに基づく重み値を示すパラメータである。なお、バイト数重み値が登録されていない場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい(言い換えると、重み値=0の場合と同様に扱ってもよい)。ただし、どちらの扱いを適用するかは予め定めておく必要がある。また、ULパケットに適用されるバイト数重み値504とDLパケットに適用されるバイト数重み値506にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合、ULパケットのバイト数重み値504およびDLパケットのバイト数重み値506の一方だけが設定され、その値がもう一方にも適用されてもよい。
【0067】
パケット数重み値(すなわちULパケットのパケット数重み値505およびDLパケットのパケット数重み値507)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際のMS5およびサービスに基づく重み値を示すパラメータである。なお、パケット数重み値が登録されていない場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい(言い換えると、重み値=0の場合と同様に扱ってもよい)。ただし、どちらの扱いを適用するかは予め定めておく必要がある。また、ULパケットに適用されるパケット数重み値505とDLパケットに適用されるパケット数重み値507にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合、ULパケットのパケット数重み値505およびDLパケットのパケット数重み値507の一方だけが設定され、その値がもう一方に適用されてもよい。
【0068】
図5の例では、識別子501が「MS#1」であるMS5(以下、単に「MS#1」とも記載する。他の識別子501についても同様)が利用する複数のサービスのうち、識別子502が「Service#1」であるサービスおよび識別子502が「Service#3」であるサービス(以下、それぞれ、単に「Service#1」および「Service#3」とも記載する。他の識別子502についても同様)が、識別子503「A」によって識別される積算グループ(以下、単に「積算グループA」とも記載する。他の識別子503についても同様)に関連付けられている。さらに、MS#1とService#1との組と、ULパケットのバイト数重み値504の値「0.8」とが関連付けられ、MS#1とService#3との組と、ULパケットのバイト数重み値504の値「1.5」とが関連付けられている。
【0069】
この場合、例えば、MS#1から送信されたService#1に属するULパケットのバイト数に重み「0.8」が乗算され、MS#1から送信されたService#3に属するULパケットのバイト数に重み「1.5」が乗算され、それらの値が同一のカウンタによって積算される。これによって、例えば積算値が課金に利用される場合には、両サービスの価格差が正確に反映された課金を行うことができ、さらに、積算値の閾値が設けられている場合には、積算値が閾値を超えたタイミングを正確に特定することができる。なお、上記の重み値の例は、それらが課金に利用される場合には、Service#1よりService#3が高額であることを意味する。
【0070】
このように、パケット数またはバイト数を重み付け積算することによって、使用するカウンタの数を増やすことなく、パラメータの相違を吸収できる場合がある。カウンタによって積算された値が閾値を超えた場合のメッセージの送信等はカウンタごとに行う必要があるため、カウンタの数が増えれば、カウンタのためのメモリ領域が必要になるだけでなく、メッセージの処理量も増加し、これによってパケットの転送性能が低下する場合がある。本実施例では、上記のように重み付け積算によってカウンタを統合することができるため、パケットの転送性能への影響を抑えつつ、積算値が閾値を超過した適切なタイミングで、パラメータ変更等の処理を行うことができる。
【0071】
図5の例では、MS#1とService#1との組、および、MS#1とService#3との組に加えて、MS#1とService#1との組も積算グループAに関連付けられている。このような場合には、MS5ごとに異なるカウンタが使用されてもよいし、複数のMS5に同一のカウンタが使用されてもよい。例えば、端末ごとのQoSまたは課金を制御したい場合には、MS5ごとに異なるカウンタが使用される。一方、例えばユーザごとのQoSまたは課金を制御したい場合において、MS#1とMS#2が同一のユーザによって使用される場合には、MS#1とMS#2に同一のカウンタが使用される。あるいは、例えばいわゆる家族割引が適用されるサービスまたは企業向けのサービスに関するQoSまたは課金を制御したい場合にも、複数のMS5に同一のカウンタを使用することができる。
【0072】
GW2は、受信したパケットのヘッダを参照して、そのパケットの送信元(または送信先)のMS5の識別子およびそのパケットが属するサービスの識別子を特定することができる。このため、GW2は、パケットのヘッダと、テーブル251のMS5の識別子501〜積算グループの識別子503とを参照することによって、受信したパケットに対応する積算グループ(言い換えると、受信したパケットに対応するカウンタ)を特定することができる。メモリ部25がテーブル251を保持しない(例えばテーブル251の代わりにテーブル254等を保持する)場合であっても、メモリ部25は、テーブル251のMS5の識別子501〜積算グループの識別子503のような、パケットと、そのパケットのパケット数またはバイト数を積算するカウンタとを関連付ける情報を保持する必要がある。
【0073】
なお、テーブル251に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0074】
図6に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル252を示す。テーブル252は、受信したULパケットまたはDLパケットに対する重み付け積算における積算閾値を該パケットの属する積算グループから決定するための情報を示す。
【0075】
テーブル252には、例えば、積算グループの識別子(Group ID)601、バイト数積算閾値(Threshold(for bytes))、およびパケット数積算閾値(Threshold(for packets))が記憶される。バイト数積算閾値は、ULパケットのバイト数積算閾値602およびDLパケットのバイト数積算閾値604を含む。パケット数積算閾値は、ULパケットのパケット数積算閾値603およびDLパケットのパケット数積算閾値605を含む。
【0076】
積算グループの識別子601は、GW2が受信したULパケットまたはDLパケットの数またはそれぞれのパケットのバイト数がどの積算グループのカウンタに積算されるかを示すパラメータである。
【0077】
バイト数積算閾値(すなわちULパケットのバイト数積算閾値602およびDLパケットのバイト数積算閾値604)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際の各積算グループにおける積算閾値を示すパラメータである。ULパケットに適用されるバイト数積算閾値602とDLパケットに適用されるバイト数積算閾値604にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じバイト数積算閾値が適用されてもよい。後者の場合、ULパケットのバイト数積算閾値602およびDLパケットのバイト数積算閾値604の一方だけが設定され、その値がもう一方にもてきようされてもよい。
【0078】
パケット数積算閾値(すなわちULパケットのパケット数積算閾値603およびDLパケットのパケット数積算閾値605)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際の各積算グループにおける積算閾値を示すパラメータである。ULパケットに適用されるパケット数積算閾値603とDLパケットに適用されるパケット数積算閾値605にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じパケット数積算閾値が適用されてもよい。後者の場合、ULパケットのパケット数積算閾値603またはDLパケットのパケット数積算閾値605の一方だけが設定され、その値がもう一方にも適用されてもよい。
【0079】
なお、テーブル252に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0080】
図7に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル253を示す。テーブル253は、積算グループ毎の積算値の情報を示す。
【0081】
テーブル253には、例えば、積算グループの識別子(Group ID)701、バイト数積算値(Integration(Mbytes))、パケット数積算値(Integration(kpackets))が記憶される。バイト数積算値は、ULパケットのバイト数積算値702およびDLパケットのバイト数積算値704を含む。パケット数積算値は、ULパケットのパケット数積算値703およびDLパケットのパケット数積算値705を含む。
【0082】
積算グループの識別子701は、GW2が受信したULパケットまたはDLパケットの数またはそれぞれのパケットのバイト数どの積算グループのカウンタに積算されるかを示すパラメータである。
【0083】
バイト数積算値(すなわちULパケットのバイト数積算値702およびDLパケットのバイト数積算値704)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算した際の各積算グループにおける積算値(すなわち、各積算グループのカウンタによって重み付け積算されたバイト数)を示すパラメータである。なお、GW2が受信したパケットがULパケットまたはDLパケットのいずれであるかを区別せずに重み付け積算を行ってもよく、その場合は各積算グループに対応する受信したパケットのバイト数の重み付け積算結果を示すパラメータがテーブル253に記憶される。
【0084】
パケット数積算値(すなわちULパケットのパケット数積算値703およびDLパケットのパケット数積算値705)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算した際の各積算グループにおける積算値(すなわち、各積算グループのカウンタによって重み付け積算されたパケット数)を示すパラメータである。なお、GW2が受信したパケットがULパケットまたはDLパケットのいずれであるかを区別せずに重み付け積算を行ってもよく、その場合は各積算グループに対応する受信したパケット数の重み付け積算結果を示すパラメータがテーブル253に記憶される。
【0085】
図8に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル254を示す。テーブル254は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を当該パケットの通信に関わるMS5と当該パケットの属するサービスから決定するための情報を示す。
【0086】
テーブル254には、例えば、MS5の識別子(MS ID)801、サービスの識別子(Service ID)802、ULパケットのバイト数重み値とその切り替え時刻(Weight Timeline(for bytes))803、DLパケットのバイト数重み値とその切り替え時刻805、ULパケットのパケット数重み値とその切り替え時刻(Weight Timeline(for packets))804及びDLパケットのパケット数重み値とその切り替え時刻806が記憶される。
【0087】
MS5の識別子801は、各MS5を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるMS5と、時刻に基づく重み値とを関連づけるために使用される。なお、対応する時刻に基づく重み値が、全てのMS5に共通に適用されるなどの場合、MS5の識別子801は省略されてもよい。
【0088】
サービスの識別子802は、GW2が受信したULパケットまたはDLパケットの属するサービスと、時刻に基づく重み値とを関連づけるためのパラメータである。なお、対応する時刻に基づく重み値が、パケットの属するサービスにかかわらずに適用されるなどの場合、サービスの識別子802は省略されてもよい。
【0089】
ULパケットのバイト数重み値とその切り替え時刻803は、GW2が受信したULパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットのバイト数重み値とその切り替え時刻805は、GW2が受信したDLパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0090】
ULパケットのパケット数重み値とその切り替え時刻804は、GW2が受信したULパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットのパケット数重み値とその切り替え時刻806は、GW2が受信したDLパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0091】
例えば、上記の重み値とその切り替え時刻803〜806に「18:00=0.8、23:00=0.5」と設定されていた場合、18:00〜23:00の時間帯には時刻に基づく重み値として「0.8」が適用され、23:00〜翌日18:00の時間帯には時刻に基づく重み値として「0.5」が適用されることを表す。
【0092】
なお、テーブル251の場合と同様、テーブル254において時刻に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。また、テーブル254には、図8に例示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合には、ULパケットに適用される重み値またはDLパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0093】
テーブル254に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0094】
図9に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル255を示す。テーブル255は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を当該パケットの属する積算グループから決定するための情報を示す。
【0095】
テーブル255には、例えば、積算グループの識別子(Group ID)901、ULパケットの積算グループ単位のバイト数重み値とその切り替え時刻(Group Weight Timeline(for bytes))902、DLパケットの積算グループ単位のバイト数重み値とその切り替え時刻904、ULパケットの積算グループ単位のパケット数重み値とその切り替え時刻(Group Weight Timeline(for packets))903、およびDLパケットの積算グループ単位のパケット数重み値とその切り替え時刻905が記憶される。
【0096】
積算グループの識別子901は、GW2が受信したULパケットまたはDLパケットがどの積算グループのカウンタに積算されるかを示すパラメータである。
【0097】
ULパケットの積算グループ単位のバイト数重み値とその切り替え時刻902は、GW2が受信したULパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットの積算グループ単位のバイト数重み値とその切り替え時刻904は、GW2が受信したDLパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0098】
ULパケットの積算グループ単位のパケット数重み値とその切り替え時刻903は、GW2が受信したULパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットの積算グループ単位のパケット数重み値とその切り替え時刻905は、GW2が受信したDLパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0099】
例えば、上記の重み値とその切り替え時刻903〜905に「18:00=1.0、23:00=2.0」と設定されていた場合、18:00〜23:00の時間帯には時刻に基づく重み値として「1.0」が適用され、23:00〜翌日18:00の時間帯には時刻に基づく重み値として「2.0」が適用されることを表す。
【0100】
なお、テーブル251の場合と同様、テーブル255において時刻に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。また、テーブル255には、図9に例示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合には、ULパケットに適用される重み値またはDLパケットに適用される重み値のうち一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0101】
テーブル255に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0102】
図8または図9に示したように、時間帯に応じて異なる重み値を適用することによって、時間帯ごとに最適なQoSまたは課金の制御を行うことができる。例えば、回線が混雑している時間帯の重み値を、回線が空いている時間帯の重み値より高く設定することによって、回線が混雑している時間帯のサービスの料金を他の時間帯より高く設定したり、回線が混雑している時間帯の帯域制限を他の時間帯より厳しく設定したりすることができる。これによって、回線が混雑している時間帯のトラフィックを他の時間帯に分散させることができる。その結果、混雑に起因する通信品質の低下が改善される。
【0103】
図10に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル256を示す。テーブル256は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を当該パケットの通信に関わるBS4から決定するための情報を示す。
【0104】
テーブル256には、例えば、BS4の識別子(BS ID)1001、BS4のセルスループットと当該BS4に接続しているMS5の数との比の閾値(Threshold Ratio(Num/Mbps))1002、バイト数重み値(Weight(for bytes))、およびパケット数重み値(Weight(for packets))が記憶される。バイト数重み値は、ULパケットのバイト数重み値1003およびDLパケットのバイト数重み値1005を含む。パケット数重み値は、ULパケットのパケット数重み値1004およびDLパケットのパケット数重み値1006を含む。
【0105】
BS4の識別子1001は、各BS4を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるBS4(すなわち、ULパケットまたはDLパケットの通信経路上にあるBS4、より具体的には、ULパケットの送信元のBS4またはDLパケットの送信先のBS4)と重み値などの情報とを関連づけるために使用される。
【0106】
BS4のセルスループットと当該BS4に接続しているMS5の数との比の閾値1002は、GW2が受信したULパケットまたはDLパケットの通信に関わるBS4と重み値とを関連づけるためのパラメータである。BS4のセルスループットは、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4のセルスループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機として当該BS4によって取得されてもよい。また、BS4に接続しているMS5の数は、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4に接続しているMS5の数が事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機としてBS4によって取得されてもよい。
【0107】
取得されたBS4のセルスループットおよびBS4に接続しているMS5の数は、BS4からGW2宛に送信されたメッセージ、または統計項目を取得するサーバからのメッセージなどによってGW2へ通知されてもよい。GW2の処理部26は、取得したBS4のセルスループットと当該BS4に接続しているMS5の数との比を計算し、この値がテーブル256に設定された値1002と異なると判定された場合、テーブル256に設定された値1002を算出した値に更新してもよい。
【0108】
バイト数重み値(すなわちULパケットのバイト数重み値1003およびDLパケットのバイト数重み値1005)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0109】
パケット数重み値(すなわちULパケットのパケット数重み値1004およびDLパケットのパケット数重み値1006)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0110】
図10の例では、BS#1のセルスループットとBS#1に接続しているMS5の数との比の閾値1002「0」および「5」に、それぞれ、ULパケットのバイト数重み値1003「0.8」および「1.2」が関連付けられている。これは、BS#1のセルスループットとBS#1に接続しているMS5の数との比が「0」以上「5」未満のときに重み値「0.8」が適用され、BS#1のセルスループットとBS#1に接続しているMS5の数との比が「5」以上「10」未満のときに重み値「1.2」が適用されることを意味する。BS4のセルスループットと当該BS4に接続しているMS5の数との比が大きいほど当該BS4の混雑度が高いことを意味し、図10の例では、BS4の混雑度が高いほどそれに関連付けられる重み値が大きくなる。
【0111】
なお、テーブル251の場合と同様、テーブル256においてBS4の混雑度に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。また、テーブル256には、図10に例示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ値が適用されてもよい。後者の場合、ULパケットに適用される重み値またはDLパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0112】
テーブル256に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0113】
図11に、本実施例のGW2のメモリ部25が保持する情報の一例として、BS4に接続しているMS5の情報を示すテーブル257を示す。テーブル257には、例えば、BS4の識別子(BS ID)1101、およびMS5の識別子(MS ID)1102が記憶される。
【0114】
BS4の識別子1101は、MS5が通信に使用しているBS4を識別するためのパラメータである。
【0115】
MS5の識別子1102は、各BS4を通信に使用しているMS5を識別するためのパラメータである。なお、一つのMS5が複数のBS4とコネクションを確立している場合、異なるBS4に対して、同じMS5の識別子がそれぞれ登録されていてもよい。
【0116】
なお、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0117】
図12に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル258を示す。テーブル258は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を当該パケットの通信に関わるBS4から決定するための情報を示す。
【0118】
テーブル258には、例えば、BS4の識別子(BS ID)1201、BS4のセルスループットと当該BS4に接続しているMS5のULパケットに関する総送信スループットとの比の閾値(Threshold Ratio(kbps/kbps))1202、ULパケットのバイト数重み値(Weight(for bytes))1203、ULパケットのパケット数重み値(Weight(for packets))1204、BS4のセルスループットと当該BS4に接続しているMS5のDLパケットに関する総送信スループットとの比の閾値1205、ULパケットのバイト数重み値1206およびULパケットのパケット数重み値1207が記憶される。
【0119】
BS4の識別子1201は、各BS4を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるBS4(すなわち、ULパケットの送信元のBS4またはDLパケットの送信先のBS4)と対応する重み値などの情報を紐づけるために使用される。
【0120】
BS4のセルスループットと当該BS4に接続しているMS5のULパケットに関する総送信スループットとの比の閾値1202は、GW2が受信したULパケットの属するBS4と重み値とを対応づけるためのパラメータである。BS4のセルスループットと当該BS4に接続しているMS5のDLパケットに関する総送信スループットとの比の閾値1205は、GW2が受信したDLパケットの属するBS4と重み値とを対応づけるためのパラメータである。
【0121】
BS4のセルスループットは、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4のセルスループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機として当該BS4で取得されてもよい。また、BS4に接続しているMS5の総送信スループットは、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4に接続しているMS5の総送信スループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機としてBS4によって取得されてもよい。
【0122】
取得されたBS4のセルスループットおよびBS4に接続しているMS5の総送信スループットは、BS4からGW2宛に送信されたメッセージ、または統計項目を取得するサーバからのメッセージなどによってGW2へ通知されてもよい。GW2の処理部26は、取得したBS4のセルスループットと当該BS4に接続しているMS5の総送信スループットとの比を計算し、この値がテーブル258に設定された値1202または1205と異なると判定された場合、テーブル258に設定された値1202または1205を算出した値に更新してもよい。
【0123】
バイト数重み値(すなわちULパケットのバイト数重み値1203およびDLパケットのバイト数重み値1206)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0124】
パケット数重み値(すなわちULパケットのパケット数重み値1204およびDLパケットのパケット数重み値1207)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0125】
図11の例では、BS#1のセルスループットとBS#1に接続しているMS5のULパケットに関する総送信スループットとの比の閾値1202「0」および「0.5」に、それぞれ、ULパケットのバイト数重み値1203「0.8」および「1.2」が関連付けられている。これは、BS#1のセルスループットとBS#1に接続しているMS5のULパケットに関する総送信スループットとの比が「0」以上「0.5」未満のときに重み値「0.8」が適用され、BS#1のセルスループットとBS#1に接続しているMS5のULパケットに関する総送信スループットとの比が「0.5」以上「0.8」未満のときに重み値「1.2」が適用されることを意味する。BS4のセルスループットと当該BS4に接続しているMS5の総送信スループットとの比が大きいほど当該BS4の混雑度が高いことを意味し、図11の例では、BS4の混雑度が高いほどそれに関連付けられる重み値が大きくなる。
【0126】
なお、テーブル251の場合と同様、テーブル258においてBS4の混雑度に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。また、テーブル258には、図12に示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ値が適用されてもよい。後者の場合、ULパケットに適用される重み値またはDLパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0127】
テーブル258に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0128】
図10または図12に示したように、BS4の混雑度に応じて異なる重み値を適用することによって、複数のBS4にトラフィックを分散させることができる。具体的には、混雑度の高いBS4に関連する重み値を、混雑度の低いBS4に関連する重み値より高く設定することによって、混雑しているBS4を利用するサービスの料金を他のBS4を利用するものより高く設定したり、混雑しているBS4を経由する通信経路の帯域制限を、他のBS4を経由するものより厳しく設定したりすることができる。これによって、BS4の混雑に起因する通信品質の低下が改善される。
【0129】
なお、図10に示すBS4のセルスループットと当該BS4に接続しているMS5の数の比、および、図12に示すBS4のセルスループットと当該BS4に接続しているMS5のULパケットに関する総送信スループットの比は、いずれも、BS4の混雑度を示す指標であり、それらの値が大きいほど混雑度が高いことを示す。ただし、図10の例について言えば、BS4に接続しているMS5の数が多いことは必ずしもBS4が混雑することを意味しない。しかし、BS4に接続しているMS5の数が多ければ、当該BS4がこれから混雑する可能性が高いとの予測に基づいて、BS4のセルスループットと当該BS4に接続しているMS5の数の比をBS4の混雑度の指標として用いることができる。一方、BS4に接続しているMS5のULパケットに関する総送信スループット(図11)は、過去の混雑の実績を示す。QoSまたは課金の目的に応じて適切な混雑度の指標を用いることができ、さらに、BS4の混雑度を示す上記以外の指標が使用されてもよい。
【0130】
図13に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル259を示す。テーブル259は、複数のBS4へ送信されたDLパケットに対する重み付け積算における当該DLパケットのMS5への送信成否に基づく重み値を決定するための情報を示す。テーブル259には、例えば、パケットの識別子(Packet ID)1301、パケットの重み付けバイト数(Weighted Bytes)1302、パケットの重み付けパケット数(Weighted Packets)1303、BS4の識別子(BS ID)1304〜1306、およびパケット情報保持のタイムアウト時刻(Timeout)1307が記憶される。
【0131】
パケットの識別子1301は、GW2がBS4へ送信したDLパケットの識別子である。パケットの識別子1301としては、例えば、GW2が設定するUDPヘッダのシーケンス番号などの元々パケットに含まれる情報を用いてもよいし、識別子を設定するためのフィールドまたはヘッダをGW2が新たに付与してもよい。
【0132】
パケットの重み付けバイト数1302は、GW2が当該DLパケットに対するバイト数の重み付け積算によって算出した値である。当該DLパケットのバイト数が重み付け積算の対象に含まれない場合、パケットの重み付けバイト数1302は省略されてもよい。
【0133】
パケットの重み付けパケット数1303は、GW2が当該DLパケットに対するパケット数の重み付け積算によって算出した値である。当該DLパケットのパケット数が重み付け積算の対象に含まれない場合、パケットの重み付けパケット数1303は省略されてもよい。
【0134】
BS4の識別子1304〜1306は、GW2が当該DLパケットを送信した宛先のBS4の識別子である。さらに、テーブル259は、BS4の識別子1304〜1306に対応する送信先の各BS4から、当該DLパケットの破棄を通知するメッセージを受信したか否かを示す情報を記録することができる。図13の例において、BS4の識別子1304〜1306に対応して記録された「×」は、それに対応するBS4から当該DLパケットの破棄を通知するメッセージを受信したことを示す。
【0135】
例えば、図13の例は、パケットの識別子1301が「11」であるDLパケット(以下、「DLパケット#11」と記載)に関して、識別子が「BS4#2」であるBS4(以下、「BS4#2」と記載、他のBS4についても同様の規則で記載する)、およびBS4#3から、DLパケット#11を破棄したことを示すメッセージをそれぞれGW2が受信したことを示す。この場合、BS4#2に送信されたDLパケット#11およびBS4#3に送信されたDLパケット#11の通信は失敗した(すなわち、それらのDLパケット#11は、送信先のMS5に到着しない)と判定される。
【0136】
一方、図13の例では、GW2は、BS4#1からDLパケット#11を破棄したことを示すメッセージを受信していない。GW2が当該メッセージをタイムアウト時刻(図13の例では12:00:22)までに受信しなかった場合、BS4#1に送信されたDLパケット#11の通信に成功した(すなわち、DLパケット#11は、BS4#1を経由して送信先のMS5に到着した)と判定される。
【0137】
上記の例では、同一のMS5に送信されるべきDLパケット#11が、三つのBS4(すなわちBS4#1〜#3)に送信されている。すなわち、三つのBS4に送信される三つのDLパケット#11は、互いの複製に相当し、それらの内容は同一である。このような、同一内容の複数のパケットの複数のBS4への送信は、複数のBS4間のハンドオーバのシーケンス中に行われてもよいし、通信経路の冗長化による通信の信頼性向上のために行われてもよい。実際には同一内容の複数のパケットのうち一つが送信先のMS5に到着すれば十分である。
【0138】
なお、図13では、全てのパケットの送信先BS4の組み合わせが同じである例を示しているが、送信先BS4の組み合わせはパケット毎に違ってもよい。
【0139】
パケット情報保持のタイムアウト時刻1307は、GW2がテーブル259から当該DLパケットに関する情報を削除してよい時刻である。パケット情報保持のタイムアウト時刻1307として、例えば、GW2が設置されている場所の標準時刻またはGW2を管理しているオペレータが設定する標準時刻を用いてもよいし、ある基準時刻からの経過秒数などを数値化したものを用いてもよい。
【0140】
なお、テーブル259に含まれる情報は、GW2における複数のBS4に対するDLパケットの送信、および、PS3、CS6またはBS4から受信したメッセージによって更新させることができる。
【0141】
図14に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル260を示す。テーブル260は、複数のBS4へ送信されたDLパケットに対する重み付け積算におけるBS4に関する総合的な重み値を決定するための情報を示す。テーブル260には、例えば、BS4の識別子(BS ID)1401、BS4の重み優先度(Weight Priority)1402、バイト数重み値(Weight(for bytes))1403、およびパケット数重み値(Weight(for packets))1404が記憶される。
【0142】
BS4の識別子1401は、各BS4を識別するパラメータであり、GW2が送信したDLパケットの通信に関わるBS4と重み値などの情報とを関連づけるために使用される。
【0143】
BS4の重み優先度1402は、GW2が送信したDLパケットの通信に関わるBS4と対応する重み値を決定するためのパラメータである。GW2が複数のBS4へDLパケットを送信した場合、DLパケット送信に成功したBS4のうち、例えば、重み優先度の値が最も小さいBS4に関連付けられた重み値を当該DLパケットに対応する重み値として決定してもよい。
【0144】
バイト数重み値1403は、GW2が送信したDLパケットのバイト数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。なお、テーブル251の場合と同様、テーブル260においてバイト数重み値1403が省略された場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。
【0145】
パケット数重み値1404は、GW2が送信したDLパケットのパケット数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。なお、テーブル251の場合と同様、テーブル260においてパケット数重み値1404が省略された場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。
【0146】
なお、テーブル260に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0147】
以上のように、本実施例では、重み値の決定条件を保持するテーブル251(図5)、254(図8)、テーブル255(図9)、テーブル256(図10)およびテーブル258(図12)を例示した。メモリ部25がこれらのテーブルのうちいずれか一つのみを保持し、GW2の処理部26がそのテーブルに基づいて重み値を決定してもよい。あるいは、メモリ部25がこれらのテーブルのいくつかまたは全てを保持し、GW2の処理部26が必要に応じてそれらのテーブルいずれかに基づいて重み値を決定してもよい。あるいは、GW2の処理部26が、受信した一つのパケットについて、複数のテーブルに基づいて複数の重み値を決定し、それらの複数の重み値に基づいて最終的に適用される重み値を決定してもよい(後述)。なお、上記の各テーブルは重み値の決定条件の一例を示しているに過ぎず、上記以外の決定条件がメモリ部25に保持されてもよい。
【0148】
<装置構成:PS3>
図15に、本実施例で使用するPS3の一例の機能ブロック図を示す。PS3は、例えば、GWインタフェース部31と、CSインタフェース部32と、メモリ部33と、処理部34とを有する。
【0149】
GWインタフェース部31は、GW2とのインタフェースである。GWインタフェース部31を用いて、PS3はGW2との間でIPパケットの送受信を行う。本実施の形態では、PS3はGWインタフェース部31を用いて、GW2から積算閾値到達メッセージを受信してもよい。
【0150】
CSインタフェース部32は、CS6とのインタフェースである。CSインタフェース部32を用いて、PS3はCS6との間でIPパケットの送受信を行う。本実施の形態では、PS3はCSインタフェース部32を用いて、CS6へステータス変更メッセージを送信したり、CS6からステータス変更メッセージを受信したり、CS6のステータス変更メッセージに対する応答メッセージをCS6へ送信したりしてもよい。PS3がCS6と直接通信を行わない場合、CSインタフェース部32は、省略されてもよい。
【0151】
メモリ部33は、送受信するIPパケット、接続するGW2およびCS6のアドレスなどの情報を、必要に応じて記憶および管理する。
【0152】
処理部34は、メモリ部33に保持される情報の管理、IPパケットの構築および解析などのIPパケット送受信処理、ならびに、QoSまたは課金に関するパラメータの決定などを行う。
【0153】
<装置構成:CS6>
図16に、本実施例で使用するCS6の一例の機能ブロック図を示す。CS6は、例えば、GWインタフェース部61と、PSインタフェース部62と、メモリ部63と、処理部64とを有する。
【0154】
GWインタフェース部61は、GW2とのインタフェースである。GWインタフェース部61を用いて、CS6はGW2との間でIPパケットの送受信を行う。本実施の形態では、CS6はGWインタフェース部61を用いて、GW2から積算閾値到達メッセージを受信してもよい。
【0155】
PSインタフェース部62は、PS3とのインタフェースである。PSインタフェース部62を用いて、CS6はPS3との間でIPパケットの送受信を行う。本実施の形態では、CS6はPSインタフェース部62を用いて、PS3へステータス変更メッセージを送信したり、PS3からステータス変更メッセージを受信したり、PS3のステータス変更メッセージに対する応答メッセージをPS3へ送信したりしてもよい。CS6がPS3と直接通信を行わない場合、PSインタフェース部62は、省略されてもよい。
【0156】
メモリ部63は、送受信するIPパケット、接続するGW2およびPS3のアドレスなどの情報を、必要に応じて記憶および管理する。
【0157】
処理部64は、メモリ部63に保持される情報の管理、IPパケットの構築および解析などのIPパケット送受信処理、および課金に関するパラメータの決定などを行う。
【0158】
以上で、本実施例の装置構成の一例についての説明を終了し、続いて本実施例の動作処理の一例を図17〜図22のフローチャートを用いて説明する。
【0159】
<動作処理:GW2における重み付け積算>
図17に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算処理の一例を示す。
【0160】
ステップS201において、GW2の処理部26は、BSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、メモリ部25に保持しているパケットフィルタリング条件に従って、当該パケットと関連付けられたQoSまたは課金のパラメータを決定する。パケットフィルタリング条件および当該パケットと関連付けられたQoSまたは課金のパラメータの決定は、例えば、非特許文献1に記載されているSession BindingおよびBearer Bindingと同様の方法で行われてもよい。これによって、受信パケットのUL/DL種別、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、および宛先ポート番号などの情報と、メモリ部25に保持しているパケットフィルタリング条件とが比較され、その比較に基づいて、適用されるQoSまたは課金のパラメータとして、例えばMS5の識別子、サービスの識別子、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、帯域制限値、パケットの送信優先度などが決定される。
【0161】
なお、当該パケットの送信処理は、例えば、本シーケンスと並行してGW2の処理部26の別処理として行われてもよいし、本シーケンスのステップS204における判定結果が出てからGW2の処理部26の別処理として行われてもよい。送信処理の詳細については、例えば、通常のゲートウェイで行われる送信処理と同様であるため、説明は省略する。
【0162】
ステップS202において、GW2の処理部26は、BSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、ステップS201で決定された、当該パケットに適用されるQoSまたは課金のパラメータと、メモリ部25に保持している重み値と積算閾値の決定条件に従って、当該パケットと関連付けられた重み値および積算閾値を決定する。GW2がメモリ部25に保持している重み値の決定条件は、例えば、図5に示すテーブル251のように管理されており、GW2の処理部26は、ステップS201で特定されたパケットと関連付けられたMS5の識別子およびサービスの識別子に基づいて、対応する重み値を決定する。また、重み値決定の際に、MS5の識別子およびサービスの識別子以外の条件によって決定される重みを反映してもよく、その場合の処理の一例については、別途説明する。GW2がメモリ部25に保持している積算閾値の決定条件は、例えば、図6に示すテーブル252のように管理されており、GW2の処理部26は、ステップS201で特定された積算グループの識別子に基づいて、対応する積算閾値を決定する。
【0163】
なお、ステップS202において、GW2の処理部26は、時刻に基づいて重み値を決定する処理またはBS4の混雑度に基づいて重み値を決定する処理を実行してもよい。これらの処理については後述する。
【0164】
ステップS203において、GW2の処理部26は、BSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、ステップS201で決定された、当該パケットに適用される積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、および、ステップS202で決定された当該パケットの重み値に従って、当該パケットのパケット数またはバイト数の一方または双方を、当該パケットに適用される積算グループの識別子に関連付けられたカウンタに積算する。なお、当該パケットに適用されるパケット数を積算対象に含むか否かのフラグと、バイト数を積算対象に含むか否かのフラグが、いずれも「積算対象に含まない」ことを示している場合、ステップS203は省略されてもよい。
【0165】
GW2がメモリ部25に保持している積算グループの識別子と関連付けられたカウンタの積算値は、例えば、図7に示すテーブル253のように管理されており、ステップS201で決定されたパケットと関連付けられた積算グループの識別子毎に当該パケットに関する積算を行う前のパケット数積算値またはバイト数積算値の一方または双方が保持されている。GW2の処理部26は、ステップS201で決定された、パケット数を積算対象に含むか否かのフラグが、「積算対象に含む」ことを示している場合、当該パケットのパケット数と、ステップS202で決定された重みとの積を算出し、算出された積を、それに対応するテーブル253のカウンタの積算値に加えて、テーブル253を更新する。同様に、GW2の処理部26は、ステップS201で決定された、バイト数を積算対象に含むか否かのフラグが、「積算対象に含む」ことを示している場合、当該パケットのバイト数と、ステップS202で決定された重みとの積を算出し、算出された積を、それに対応するテーブル253のカウンタの積算値に加えて、テーブル253を更新する。更新結果は、メモリ部25に保存される。
【0166】
ステップS204において、GW2の処理部26は、ステップS203で更新されたパケット数またはバイト数の一方または双方に関するカウンタの積算値が、ステップS202で決定された該カウンタに紐づく積算閾値以上になったか否かを判定する。
【0167】
ステップS204の判定結果が「積算閾値以上になっていない」であった場合、GW2の処理部26は、ステップS205Nにおいて、本シーケンスを終了する。
【0168】
ステップS204の判定結果が「積算閾値以上になった」であった場合、GW2の処理部26は、ステップS205Yにおいて、積算閾値を超えたカウンタに関連付けられた宛先へ送信する積算閾値到達メッセージを作成し、当該宛先へ積算閾値到達メッセージを送信して本シーケンスを終了する。積算閾値到達メッセージには、例えば、積算閾値を超えたカウンタに関連付けられる情報として、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報が設定されてもよい。また、GW2がメモリ部25に保持している積算閾値を超えたカウンタに関連付けられる宛先は、例えば、図6に示すテーブル252と同様の形式で管理されており、ステップS204で「積算閾値以上になった」と判定されたカウンタと関連付けられる宛先が保持されている。
【0169】
例えば、テーブル252と同様の形式のテーブルに、PS3またはCS6の一方または双方を示すフラグが設定されており、宛先として選択されたPS3またはCS6の一方または双方の宛先IPアドレスは通常のゲートウェイと同様にメモリ部25に保持されていてもよい。あるいは、テーブル252と同様の形式のテーブルに、宛先IPアドレスと対応するインタフェースが直接設定されていてもよい。
【0170】
<動作処理:PS3における積算閾値到達メッセージ受信処理>
図18に、PS3における積算閾値到達メッセージ受信の処理の一例を示す。
【0171】
ステップS301において、PS3の処理部34は、GWインタフェース部31で受信した積算閾値到達メッセージの解析を行う。PS3の処理部34は、例えば、積算閾値到達メッセージに設定されている情報として、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、PS3の処理部34は、ステップS301の後に、GWインタフェース部31で受信した積算閾値到達メッセージに対する応答メッセージを作成して、GWインタフェース部31を用いてGW2へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS303NまたはS303Yの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0172】
続いて、ステップS302において、PS3の処理部34は、ステップS301で読み出した情報に基づいて、QoSまたは課金に関するパラメータの変更有無を判定する。PS3の処理部34は、例えば、メモリ部33で管理しているQoSまたは課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられたQoSまたは課金に関するパラメータを検索する。同様に、PS3の処理部34は、メモリ部33で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用しているQoSまたは課金に関するパラメータを検索する。そして、PS3の処理部34は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0173】
ステップS302で変更なしと判定された場合、PS3の処理部34は、ステップS304へ移行する。
【0174】
ステップS302で変更ありと判定された場合、PS3の処理部34は、ステップS303Yで、GW2へQoSまたは課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部31を用いてGW2へ変更要求メッセージを送信して、ステップS304へ移行する。変更要求メッセージには、例えば、帯域制限値、パケットの送信優先度、パケットとQoSまたは課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0175】
続いて、ステップS304において、PS3の処理部34は、ステップS301で読み出した情報からQoSまたは課金に関するステータスの変更有無を判定する。PS3の処理部34は、例えば、メモリ部33で管理しているQoSまたは課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられたQoSまたは課金に関するステータスを検索する。同様に、PS3の処理部34は、メモリ部33で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用しているQoSまたは課金に関するステータスを検索する。そして、PS3の処理部34は、両方の検索結果が一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0176】
ステップS304で変更なしと判定された場合、PS3の処理部34は、ステップS305Nで、本シーケンスを終了する。
【0177】
ステップS304で変更ありと判定された場合、PS3の処理部34は、ステップS305Yで、CS6へQoSまたは課金に関するステータスの変更を通知するためのステータス変更メッセージを作成し、CSインタフェース部32を用いてCS6へステータス変更メッセージを送信する。ステータス変更メッセージには、例えば、QoSステータス、課金ステータス、積算グループの識別子、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0178】
ここで、ステータス変更メッセージについて説明する。
【0179】
従来の通信システムでは、PS3がQoSに関するポリシーと課金に関する情報の一部を管理する一方、CS6は、課金に関する情報を管理する場合があった。PS3とCS6は互いに情報をやり取りすることがなく、GW2は、QoSに関する情報のやり取りをPS3との間で、課金に関する情報のやり取りをCS6との間で、それぞれ独立に行う必要があった。
【0180】
これに対して、本実施例では、PS3がCSインタフェース部32を有し、CS6がPSインタフェース部62を有することによって、PS3とCS6とが相互に通信することができる。このため、本実施例では、従来と同様に、GW2がPS3およびCS6のそれぞれと独立に通信(例えば積算閾値到達メッセージの送信)することによって、PS3およびCS6のそれぞれにパラメータの変更等を実行させてもよいが、GW2がPS3のみと通信し、PS3が必要に応じて所定の情報(例えばステータス変更メッセージ)をCS6に送信することによって(ステップS304およびS305Y)、PS3およびCS6のそれぞれにパラメータの変更等を実行させることもできる。
【0181】
ステータス変更メッセージは、上記のように、CS6が課金に関するパラメータを変更するか否か、及び、変更する場合にはどのように変更するかを判定するために必要な情報を含む。CS6は、PS3から受信したステータス変更メッセージに基づいて、パラメータの変更の有無を判定する。この処理については後述する(図21参照)。
【0182】
GW2は、従来と同様にPS3およびCS6のそれぞれと独立に通信する場合(すなわちPS3とCS6とが相互に通信する必要がない場合)、ステップS304およびS305Yを実行する必要がない。
【0183】
なお、本実施例のGW2は、CS6のみと通信し、CS6が必要に応じて所定の情報(例えばステータス変更メッセージ)をPS3に送信することによって、PS3およびCS6のそれぞれにパラメータの変更等を実行させることもできる。このときに送信されたステータス変更メッセージは、PS3がQoSまたは課金に関するパラメータを変更するか否か、及び、変更する場合にはどのように変更するかを判定するために必要な情報を含む。PS3は、CS6から受信したステータス変更メッセージに基づいて、パラメータの変更の有無を判定する。このようなCS6およびPS3の処理については後述する(図19および図20参照)。
【0184】
<動作処理:CS6における積算閾値到達メッセージ受信処理>
図19に、CS6における積算閾値到達メッセージ受信の処理の一例を示す。
【0185】
ステップS601において、CS6の処理部64は、GWインタフェース部61で受信した積算閾値到達メッセージの解析を行う。CS6の処理部64は、例えば、積算閾値到達メッセージに設定されている情報として、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、CS6の処理部64は、ステップS601の後に、GWインタフェース部61で受信した積算閾値到達メッセージに対する応答メッセージを作成して、GWインタフェース部61を用いてGW2へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS603NまたはS603Yの後で行われもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0186】
続いて、ステップS602において、CS6の処理部64は、ステップS601で読み出した情報に基づいて、課金パラメータの変更有無を判定する。CS6の処理部64は、例えば、メモリ部63で管理している課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられた課金パラメータを検索する。同様に、CS6の処理部64は、メモリ部63で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用している課金パラメータを検索する。そして、CS6の処理部64は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0187】
ステップS602で変更なしと判定された場合、CS6の処理部64は、ステップS603Nで、ステップS604へ移行する。
【0188】
ステップS602で変更ありと判定された場合、CS6の処理部64は、ステップS603Yで、GW2へ課金パラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部61を用いてGW2へ変更要求メッセージを送信して、ステップS604へ移行する。変更要求メッセージには、例えば、パケットと課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0189】
続いて、ステップS604において、CS6の処理部64は、ステップS601で読み出した情報から課金に関するステータスの変更有無を判定する。CS6の処理部64は、例えば、メモリ部63で管理している課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられた課金に関するステータスを検索する。同様に、CS6の処理部64は、メモリ部63で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用している課金に関するステータスを検索する。そして、CS6の処理部64は、両方の検索結果が一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0190】
ステップS604で変更なしと判定された場合、CS6の処理部64は、ステップS605Nで、本シーケンスを終了する。
【0191】
ステップS604で変更ありと判定された場合、CS6の処理部64は、ステップS605Yで、PS3へ課金に関するステータスの変更を通知するためのステータス変更メッセージを作成し、PSインタフェース部62を用いてPS3へステータス変更メッセージを送信する。ステータス変更メッセージには、例えば、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報が設定される。
【0192】
なお、図18の場合と同様、GW2は、PS3およびCS6のそれぞれと独立に通信する場合、ステップS604およびS605Yを実行する必要がない。
【0193】
<動作処理:PS3におけるステータス変更メッセージ受信処理>
図20に、PS3におけるステータス変更メッセージ受信の処理の一例を示す。
【0194】
ステップS311において、PS3の処理部34は、CSインタフェース部32で受信したステータス変更メッセージの解析を行う。PS3の処理部34は、例えば、ステータス変更メッセージに設定されている情報として、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、PS3の処理部34は、ステップS311の後に、CSインタフェース部32で受信したステータス変更メッセージに対する応答メッセージを作成して、CSインタフェース部32を用いてCS6へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS313NまたはS313Yの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0195】
続いて、ステップS312において、PS3の処理部34は、ステップS311で読み出した情報に基づいて、QoSまたは課金に関するパラメータの変更有無を判定する。PS3の処理部34は、例えば、メモリ部33で管理しているQoSまたは課金のポリシー情報に基づいて、ステータス変更メッセージに設定されている、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられたQoSまたは課金に関するパラメータを検索する。同様に、PS3の処理部34は、メモリ部33で管理しているステータス変更メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用しているQoSまたは課金に関するパラメータを検索する。そして、PS3の処理部34は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0196】
ステップS312で変更なしと判定された場合、PS3の処理部34は、ステップS313Nで、本シーケンスを終了する。
【0197】
ステップS312で変更ありと判定された場合、PS3の処理部34は、ステップS313Yで、GW2へQoSまたは課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部31を用いてGW2へ変更要求メッセージを送信する。変更要求メッセージには、例えば、帯域制限値、パケットの送信優先度、パケットとQoSまたは課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0198】
<動作処理:CS6におけるステータス変更メッセージ受信処理>
図21に、CS6におけるステータス変更メッセージ受信の処理の一例を示す。
【0199】
ステップS611において、CS6の処理部64は、PSインタフェース部62で受信したステータス変更メッセージの解析を行う。CS6の処理部64は、例えば、ステータス変更メッセージに設定されている情報として、QoSステータス、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、CS6の処理部64は、ステップS611の後に、PSインタフェース部62で受信したステータス変更メッセージに対する応答メッセージを作成して、PSインタフェース部62を用いてPS3へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS613NまたはS613Yの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0200】
続いて、ステップS612において、CS6の処理部64は、ステップS611で読み出した情報に基づいて、課金に関するパラメータの変更有無を判定する。CS6の処理部64は、例えば、メモリ部63で管理している課金のポリシー情報に基づいて、ステータス変更メッセージに設定されている、課金ステータス、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられた課金に関するパラメータを検索する。同様に、CS6の処理部64は、メモリ部63で管理しているステータス変更メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用している課金に関するパラメータを検索する。そして、CS6の処理部64は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0201】
ステップS612で変更なしと判定された場合、CS6の処理部64は、ステップS613Nで、本シーケンスを終了する。
【0202】
ステップS612で変更ありと判定された場合、CS6の処理部64は、ステップS613Yで、GW2へ課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部61を用いてGW2へ変更要求メッセージを送信する。変更要求メッセージには、例えば、パケットと課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0203】
<動作処理:GW2における時刻に基づく重み値の決定>
以下に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値を時刻に基づいて決定する処理の一例を示す。この処理は、図17のステップS202において実行される。
【0204】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、当該パケットの受信時刻と、メモリ部25に保持している時刻に基づく重み値の決定条件と、に従って、当該パケットに対応する受信時刻に基づく重み値を決定する。GW2がメモリ部25に保持している時刻に基づく重み値の決定条件は、例えば、図8に示すテーブル254のように管理されていてもよいし、図9に示すテーブル255のように管理されていてもよい。GW2の処理部26は、テーブル254を参照して、ステップS201で特定されたパケットと関連付けられたMS5の識別子およびサービスの識別子に基づいて、対応する重み値を決定してもよいし、テーブル255を参照して、ステップS201で特定されたパケットと関連付けられた積算グループの識別子に基づいて、対応する重み値を決定してもよいし、MS5の識別子とサービスの識別子の一方または双方に基づいて決定した重み値、および、積算グループの識別子に基づいて決定した重み値などの、複数の重み値を用いて総合的な重み値を決定してもよい。また、時刻に関する情報として、例えば、GW2が設置されている場所の標準時刻またはGW2を管理しているオペレータが設定する標準時刻を用いてもよいし、ある基準時刻からの経過秒数などを数値化したものを用いてもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【0205】
<動作処理:GW2におけるBS4の混雑度に基づく重み値の決定>
以下に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値をBS4の混雑度に基づいて決定する処理の一例を示す。この処理は、図17のステップS202において実行される。
【0206】
なお、この処理の手順は、ステップS202においてBS4の混雑度が考慮されるという点を除いて、図17に示したものと同様である。
【0207】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、当該パケットの通信に用いられるBS4の混雑度と、メモリ部25に保持しているBS4の混雑度に基づく重み値の決定条件と、に従って、当該パケットに対応するBS4の混雑度に基づく重み値を決定する。
【0208】
GW2がメモリ部25に保持しているBS4の混雑度に基づく重み値の決定条件は、例えば、図10に示すテーブル256のように管理されていてもよい。この場合、GW2の処理部26は、ステップS201で特定されたパケットと対応するBS4の識別子と、BS4から取得したセルスループットとGW2の処理部26で計測されているMS5当たりの送信バイト数から算出した、各BS4に接続する全MS5の総送信スループットとセルスループットとの比と、に基づいて、対応する重み値を決定してもよい。
【0209】
あるいは、GW2がメモリ部25に保持しているBS4の混雑度に基づく重み値の決定条件は、例えば、図12に示すテーブル258のように管理されていてもよい。この場合、GW2の処理部26は、ステップS201で特定されたパケット対応するBS4の識別子と、BS4から取得したセルスループットから算出した、各BS4に接続するMS5の全数とセルスループットとの比と、に基づいて、対応する重み値を決定してもよい。
【0210】
なお、上記のいずれの場合にも、GW2の処理部26は、例えば、テーブル257(図11参照)によって管理されているBS4の識別子と当該BS4に接続するMS5の識別子との対応関係に基づいて、ステップS201で特定されたパケットと対応するMS5の識別子を特定してもよい。テーブル257の対応関係は、MS5の位置登録メッセージまたはハンドオーバメッセージをGW2が受信した契機などで更新されてもよい。また、BS4のセルスループットは、例えば、GW2のBSインタフェース部22がBS4から受信してもよいし、保守などの、重み値の決定とは別の目的で取得した統計情報を保持しているサーバ(図示省略)から取得してもよい。
【0211】
また、GW2の処理部26は、例えば、各BS4に接続する全MS5の送信スループットとセルスループットの比に基づいて決定した重み値と、各BS4に接続するMS5の全数とセルスループットの比に基づいて決定した重み値などの、複数の重み値を用いて総合的な重み値を決定してもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【0212】
<動作処理:GW2におけるBS4破棄パケットに対する重み付け積算値修正>
以下に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算値をBS4で破棄されたか否かに基づいて修正する処理の一例を示す。
【0213】
GW2の処理部26は、BSインタフェース部22で送信したDLパケットまたはSSインタフェース部21で送信したULパケットに対して、当該パケットが破棄されたと判定された場合、当該パケットの重み付け積算値を反映したカウンタの積算値から、該パケットに関する重み付け積算値を除いてもよい。
【0214】
当該パケットに関する重み付け積算値の除外は、例えば、当該パケットの破棄を示す通知を受信した契機などでカウンタの積算値から積算済みの当該パケットに関する重み付け積算値を引くことによって実行されてもよいし、当該パケットが破棄されなかったことを示す通知を受信するまでカウンタの積算値に積算済みの当該パケットに関する重み付け積算値を加えないことによって実行されてもよい。
【0215】
また、前記の当該パケットの破棄を示す通知は、例えば、BS4からBSインタフェース部22が受信した当該パケットの破棄を示すメッセージであってもよいし、SS1からSSインタフェース部21が受信した当該パケットの破棄を示すメッセージであってもよいし、BS4およびSS1などの各ノードで破棄されたパケットの情報を保守管理などの目的で取得しているサーバから受信した、当該パケットの破棄を示すメッセージであってもよい。
【0216】
また、前記の当該パケットが破棄されなかったことを示す通知は、例えば、BS4からBSインタフェース部22が受信した当該パケットの受信処理の成功を示すメッセージであってもよいし、SS1からSSインタフェース部21が受信した当該パケットの受信処理の成功を示すメッセージであってもよいし、BS4およびSS1などの各ノードで受信処理が成功したパケットの情報を保守管理などの目的で取得しているサーバから受信した、当該パケットの受信処理の成功を示すメッセージであってもよい。
【0217】
また、当該パケットに関する重み付け積算値は、例えば、次のように特定されてもよい。まず、GW2の処理部26は、GW2における重み付け積算処理において、パケット毎の重み付け積算値を算出した結果をGW2のメモリ部25にパケットの識別情報と関連付けて一定時間保持する。その後、GW2が当該パケットの破棄通知を受信すると、GW2の処理部26は、その破棄通知に含まれるパケットの識別情報を基に、当該パケットの重み付け積算値をメモリ部25から読み出す。パケットの識別情報としては、例えば、UDPヘッダのシーケンス番号などが用いられてもよい。
【0218】
図22に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算値を、パケットがBS4で破棄されたか否かに基づいて修正する処理を示す。具体的には、その一例として、MS5が複数のBS4との間にコネクションを確立した状態で、MS5が複数のBS4から同じパケットを受信する可能性のある場合の処理を示す。このような、MS5が複数のBS4から同じパケットを受信するケースは、例えば、異なるBS4間のハンドオーバのシーケンス中、または、冗長性確保のために複数のBS4を経由する複数経路を用いた同時通信が行われる場合などに発生し得る。複数経路を用いた同時通信について言えば、GW2がパケットを複製して複数のBS4に対して同じDLパケットを送信することで、MS5へパケットが未達となる確率を減少させることができるため、緊急通報または緊急制御信号などの重要度の高いパケットの通信などにおいて有用である。
【0219】
ステップS211において、GW2の処理部26は、ステップS201においてSSインタフェース部21が受信したDLパケットに対して、当該パケットの識別子を設定し、DLパケットの宛先となる複数のBS4へBSインタフェース部22を用いてそれぞれ送信する。当該パケットの識別子としては、例えば、UDPヘッダのシーケンス番号が用いられる。以下では、例えば、GW2が3台のBS4(以下、それぞれBS4#1、BS4#2、BS4#3とする)に対して同じパケットを送信する場合の処理を示す。
【0220】
ステップS212において、GW2の処理部26は、S211で各BS4へ送信したパケットの識別子、当該パケットに関する重み付け積算値、送信先BS4の識別子、およびタイムアウト時刻をそれぞれテーブル259に追加する。テーブル259は、例えば、図13のように管理されている。当該パケットには、当該パケットがBS4で破棄された際にGW2へ該パケットの識別子の通知を要求することを示す情報を含むことができる。例えば、UDPヘッダのシーケンス番号がBS4と合意した特定の値域に含まれる値か否かによって、BS4に対して当該パケットが破棄された場合にGW2へ当該パケットの識別子を通知することを要求するか否かを指定してもよい。あるいは、新たに付与したフィールドまたはヘッダに、上記のような当該パケットが破棄された場合の通知を要求するか否かのフラグを設定してもよい。また、タイムアウト時刻は、GW2の設定ポリシーに従って設定すればよい。例えば、GW2に、タイムアウトするまでのタイマ値を事前設定しておき、現在時刻から当該タイマ値だけ経過した時刻をタイムアウト時刻として設定してもよい。
【0221】
ステップS213において、GW2の処理部26は、テーブル259を参照して、当該パケットのタイムアウト時刻前に、BS4から当該パケットの破棄を示すメッセージ(以下、破棄通知とも記載する)を受信したか否かを判定する。当該パケットの破棄を示すメッセージには、メッセージの送信元となるBS4の識別子、および破棄されたパケットの識別子などが含まれる。
【0222】
当該パケットの破棄を示すメッセージを受信しないままタイムアウト時刻となった場合、GW2の処理部26は、ステップS214Nにおいて、MS5が当該パケットを受信成功したと判定し、テーブル259から当該パケットに関する情報全てを削除して処理を終了する。この場合、当該パケットは送信成功パケットと判定され、当該パケットのパケット数またはバイト数のいずれかまたは両方はGW2における重み付け積算の対象に含まれる。
【0223】
タイムアウト時刻となる前に当該パケットの破棄を示すメッセージを受信した場合、GW2の処理部26は、ステップS214Yにおいて、受信したメッセージの送信元となるBS4の識別子が、テーブル259に記録された当該パケットの送信先BS4の識別子(図13の例ではBS4の識別子1304〜1306)に含まれるか否かを判定する。
【0224】
受信したメッセージの送信元となるBS4の識別子が当該パケットの送信先BS4の識別子に含まれない場合、GW2の処理部26は、ステップS215Nにおいて受信メッセージを破棄して、ステップS213から処理を続行する。
【0225】
受信したメッセージの送信元となるBS4の識別子が当該パケットの送信先BS4の識別子に含まれる場合、GW2の処理部26は、ステップS215Yにおいて、テーブル259を更新し、当該パケットの当該送信先BS4の識別子に対応するフィールドに、破棄通知を受信したことを示す情報(図13に例示する「×」に相当する情報)を追記する。なお、GW2の処理部26は、破棄通知を受信した契機で、テーブル259の当該パケットのタイムアウト時刻を更新してもよい。タイムアウト時刻の更新は、例えば、当該パケットに対して初めての破棄通知を受信した契機でのみ行ってもよいし、破棄通知を受信した契機全てで行ってもよい。
【0226】
GW2の処理部26は、ステップS216で、当該パケットの全ての送信先BS4から破棄通知を受信したか否かを判定する。
【0227】
当該パケットの送信先BS4の中に未だ破棄通知を受信していないBS4が残っている場合、GW2の処理部26は、ステップS217Nで、ステップS213から処理を続行する。
【0228】
該パケットの送信先BS4全てから破棄通知を受信した場合、GW2の処理部26は、ステップS217Yで、MS5が当該パケットを受信失敗したと判定し、テーブル259の当該パケットに関する情報全てを削除して、処理を終了する。この場合、当該パケットのパケット数またはバイト数のいずれかまたは両方は、GW2における重み付け積算の対象から除外される。
【0229】
ここで、GW2がメモリ部25に保持している、複数のBS4に対するパケット複製送信ケースにおける重みの決定条件は、例えば、図14に示すテーブル260のように管理されていてもよい。この場合、GW2の処理部26は、パケット送信に成功した各BS4のうち、BS4毎に設定されている重み優先度の値が最も小さい(または最も大きい)BS4に関連付けられた重み値を、当該パケットに対応する重み値として決定する。
【0230】
また、GW2がメモリ部25に保持している、複数のBS4に対するパケット複製送信ケースにおける重みの決定条件の別の例は、例えば、図14に示すテーブル260からBS4毎に設定されている重み優先度のみを削除したテーブルとして管理されてもよい。この場合、GW2の処理部26は、パケット送信に成功した各BS4に対して、BS4毎に設定された重み値の平均値または総和を、当該パケットに対応する重み値として決定する。
【0231】
上記のように、同一内容の複数のパケットを多重に送信した場合において、それらのうち二つ以上のパケットの送信に成功した場合の重み値の決定方法は、QoSまたは課金のポリシーに基づいて定められてもよい。例えば課金の場合、同一内容のパケットを複数受信したとしても、実際にユーザが利用するのはそれらのうち一つのみであるから、一つのパケットについてのみ重み付け積算を行う、というポリシーもあり得る(上記の、重み優先度の値に基づいて一つのBS4に関する重み値を利用するケース)。一方、実際には一つのパケットしか利用されないとしても、実際に多重にパケットを送信するためにリソースが消費され、リソースの冗長性による通信の確実化の恩恵をユーザが享受したのであるから、通信に成功したすべてのパケットについて重み付け積算を行う、というポリシーもあり得る(上記の、重み値の総和を利用するケース)。
【0232】
なお、上記のように同一内容の複数のパケットが多重に送信される場合ではなく、当該内容の1パケットのみが送信される場合であっても、GW2の処理部26は、そのパケットの送信に成功した場合(すなわちそのパケットがBS4で破棄されずに送信先に到達した場合)にのみ、当該パケットを重み付け積算の対象に含めるように、重み付け積算の処理を実行することができる。
【0233】
また、例えば、ここで決定した複数のBS4に対するパケット複製送信ケースにおける重み値以外に、時刻などの他の条件に基づいて決定された重み値などの複数の重み値を用いて総合的な重み値を決定してもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【0234】
<動作処理:GW2における複数の条件に基づく総合的な重み決定>
以下に、本実施例のGW2における、ULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値を、複数の条件に基づく総合的な重み値として決定する処理の一例を示す。
【0235】
既に説明したように、GW2のメモリ部25は、重み値の決定条件(言い換えると、受信したパケットと重み値とを関連付ける情報のセット)を複数記憶していてもよい。例えば、テーブル251が一つの決定条件であり、テーブル254が別の決定条件である。このような場合、受信した同一のパケットについてそれぞれの決定条件に基づいて互いに異なる重み値が決定される場合がある。そのような場合に、例えば次のような方法で、当該パケットのパケット数またはバイト数に最終的に適用される総合的な重み値が決定される。
【0236】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、前記の例のような複数の重みの決定条件に従って、当該パケットと対応する総合的な重み値を決定してもよい。
【0237】
GW2が複数の条件に基づく総合的な重み値を決定する条件として、例えば、前記の例のような複数の重みの決定条件に対する決定条件毎の重み値がGW2のメモリ部25に管理されていてもよい。その場合、GW2の処理部26は、前記の例のように各決定条件に基づいて決定された各重み値に対して、決定条件毎の重み値を用いた重み付け線形和(すなわち、各決定条件に基づいて決定された各重み値と、決定条件毎の重み値との積の総和)を計算して、その計算結果を、対応する総合的な重み値として決定する。
【0238】
また、GW2が複数の条件に基づく総合的な重み値を決定する別の例として、GW2の処理部26は、前記の例のような複数の重みの決定条件に対する決定条件毎の重み値に基づいて、前記の例のように各決定条件に基づいて決定された各重み値に対して、決定条件毎の重み値の積を計算して、その計算結果を、対応する総合的な重み値として決定してもよい。
【0239】
<動作処理:GW2における重み値決定結果のMS5への通知>
以下に、本実施例のGW2における重み値決定結果をMS5へ通知する処理の一例を示す。
【0240】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して決定された重み値を、MS5へ通知してもよい。
【0241】
MS5への通知は、例えば、BSインタフェース部22を用いて重み値通知メッセージをBS4へ送信し、BS4が重み値通知メッセージをMS5へ送信することによって実行されてもよい。重み値通知メッセージは、例えば、GW2で決定された重み値がGW2に設定されたある上限閾値を超えたこと、または、GW2で決定された重み値がGW2に設定されたある下限閾値を下回ったことを契機に送信されてもよいし、MS5が要求した任意の契機で送信されてもよい。また、重み値通知メッセージには、重み値を示す情報が含まれる。この重み値を示す情報は、例えば、重み値そのものを数値化したものであってもよいし、ある上限閾値を超えていた場合には「High」、ある下限閾値を下回っていた場合には「Low」、どちらでもない場合には「Middle」のように文字列情報に変換されたものであってもよい。また、重み値通知メッセージを受信したMS5は、当該メッセージに含まれる重み値を示す情報を、例えば、端末に実装されている液晶ディスプレイ(図示省略)などを用いて、適切な値または形式に変換してユーザに明示してもよい。
【0242】
<動作処理:GW2における重み値および重み値決定条件の変更>
以下に、本実施例のGW2において適用される重み値または重み値決定条件を変更する処理の一例を示す。ここで、重み値決定条件の変更とは、新たな重み値決定条件の追加、既に設定されている重み値決定条件の変更、および、既に設定されている重み値決定条件の削除などのケースを含む。
【0243】
GW2において適用される重み値または重み値決定条件は、例えば、PS3が保持する重み値決定条件がオペレータによって設定変更されたこと、または、異なるBS4間のハンドオーバによって無線通信規格、位置情報、もしくはBS4の混雑度などの重み値を決定するパラメータが変更されたことを契機に更新されてもよい。GW2において適用される重み値または重み値決定条件の変更処理は、例えば、重み値決定条件または重み値の決定に用いられるパラメータの変更を検出したPS3、BS4、MS5またはGW2などのノードが、各インタフェース部などを用いてGW2へ変更を示すメッセージを送信することで行われてもよい。
【0244】
重み値または重み値決定条件が変更された場合、GW2の処理部26は、その変更処理が完了した後、最初にステップS201において受信したパケットおよびそれ以降のパケットについて、変更された重み値または変更された決定条件に基づいて決定された重み値を適用してもよい。あるいは、GW2の処理部26は、変更処理が行われたときのコネクションが切断されるまでは、変更される前の重み値または重み値決定条件を適用し、次回以降のコネクションにおいて変更された重み値または変更された重み値決定条件を適用してもよい。
【0245】
また、GW2は、GW2で保持している重み値または重み値決定条件が変更された場合、PS3、BS4またはSS1などのノードへ、当該変更を示すメッセージを送信してもよい。
【0246】
上述の説明から明らかなように、本実施例の通信システムは、無線または有線の通信システムであって、QoSまたは課金のポリシーを決定する条件をパケット毎の重みとしてゲートウェイ等の通信装置におけるパケット数またはバイト数の一方または双方の積算に反映し、通信装置における前記パケット毎の重みを反映した積算結果が通信装置に予め設定された閾値に到達した契機で、前記積算結果の閾値到達に関するメッセージを通信装置から課金サーバまたはポリシー管理サーバの一方または双方へ送信する。これによって、通信装置内部における前記積算に用いるカウンタの数、および、通信装置と課金サーバまたはポリシー管理サーバの一方または双方への前記積算結果の閾値到達に関するメッセージ数を増やすことなく、パケット転送性能の劣化を防ぎつつQoSや課金のポリシーに基づく正確なタイミングでQoSまたは課金制御のパラメータを切り替えることが可能な通信システムおよび装置を提供することができる。
【0247】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。
【0248】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、DVD等の記録媒体に置くことができるし、必要に応じてネットワーク等を介してダウンロードし、各種の記憶装置にインストールすることも可能である。
【産業上の利用可能性】
【0249】
本発明は、例えば、無線または有線端末と送受信するIPパケットに対してQoS制御または課金を実施する通信システムに利用可能であり、GW、PS、CS、BS、MSおよびSS等の各種の通信装置に適用することができる。
【符号の説明】
【0250】
1 サービス提供サーバ(SS)
2 ゲートウェイ(GW)
21 SSインタフェース部
22 BSインタフェース部
23 PSインタフェース部
24 CSインタフェース部
25 メモリ部
251〜260 テーブル
26 処理部
3 ポリシー管理サーバ(PS)
31 GWインタフェース部
32 CSインタフェース部
33 メモリ部
34 処理部
4 基地局(BS)
5 端末(MS)
6 課金サーバ(CS)
61 GWインタフェース部
62 PSインタフェース部
63 メモリ部
64 処理部
【技術分野】
【0001】
本発明は通信システムおよび通信装置に係り、特に、端末とサービス提供サーバとの間で送受信されるパケットに対してQoSまたは課金制御等を適用する技術に関する。
【背景技術】
【0002】
移動体無線通信のさらなる高速化、高品質化を実現する方式として、近年、第3.9世代移動通信システムおよび第4世代移動通信システムの研究、標準化活動が進められている。第3.9世代移動通信システムの一つであるLTE(Long Term Evolution)、および第4世代移動通信システムの一つであるLTE Advancedの標準規定を策定している標準化団体3GPP(3rd Generation Partnership Project)は、前記規格の仕様としてTS(Technical Specification)を策定している。
【0003】
3GPPのTSでは、IP(Internet Protocol)ネットワークに属するサービス提供サーバから端末宛てに送信されたダウンリンク方向のパケット(以下、DLパケット)、および端末からサービス提供サーバ宛てに送信されたアップリンク方向のパケット(以下、ULパケット)のそれぞれに対して、各パケットに適用する課金条件またはQoS(Quality of Service)条件などを関連づけるためのパケットフィルタリングをゲートウェイで行い、その結果に基づいて課金制御およびQoS制御を適用するための仕様が規定されている。ここで、QoS制御は、例えば優先制御、パケット転送レート制御又はパケット破棄などである。また、TSでは、予めあるユーザの一つまたは複数のサービスに関連付けられるグループを設定し、ゲートウェイで送信されたパケットのバイト数をグループ毎に積算し、積算値がゲートウェイに設定された閾値に到達したことを契機に、課金サーバまたはポリシー管理サーバへ通知するための仕様が規定されている。
【0004】
非特許文献1では、PCC Rule(Policy and Charging Control Rule)の定義、および、Usage Monitoring機能の仕様が規定されている。PCC Ruleは、積算範囲を定義するグループおよびグループとパケットを紐づけるためのフィルタ条件を含み、QoSおよび課金のポリシーを管理するノードPCRF(Policy and Charging Rule Function)から3GPPにおけるゲートウェイの一つであるP−GW(PDN Gateway、PDNはPacket Data Networkの略)へ通知されるか、または、P−GWに事前設定される。Usage Monitoring機能は、PCRFが規定するかP−GWに事前設定されるグループ毎のバイト数の積算値の閾値に積算値が到達した契機をP−GWが検出し、P−GWからPCRFへメッセージを送信する機能である。
【0005】
非特許文献2では、「QoS Control Based on Subscriber Spending Limits」の仕様規定を、3GPPにおけるRelease 11 Work Itemの一つとすることが記載されている。「QoS Control Based on Subscriber Spending Limits」は、3GPPにおけるオンライン課金サーバであるOCS(Online Charging Server)が規定するか、またはP−GWに事前設定されるグループ毎のバイト数の積算値の閾値に積算値が到達した契機で、P−GWからOCSへメッセージを送信し、さらにOCSに設定された課金ポリシーに基づく課金ステータスの変化をOCSからPCRFへ通知することができる機能である。
【0006】
更に、特許文献1では、電子メール課金システム及び電子メール課金方法に関して、一つまたは複数の端末が属する端末グループ毎の課金ポリシーに基づいて課金を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−101008号公報
【非特許文献】
【0008】
【非特許文献1】3GPP TS23.203 V11.2.0、(2011−6)、Technical Specification
【非特許文献2】3GPP寄書 SP−110086、(2011−3)、SA Plenary #51会合寄書
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述した3GPPのTSに従うP−GWにおける送信パケットのバイト数の積算機能、および、積算値が閾値に到達した時のOCSまたはPCRFへの通知機能では、時刻または無線通信に用いる規格などの種々の条件に基づいて決定されるQoSまたは課金のポリシーが異なるか、あるいは変化する場合、P−GWにおいて、それぞれ異なる閾値が定義された複数のカウンタを用いて積算を実施する必要がある。これによって、QoSまたは課金の条件が増えるにつれて内部のメモリに設定するカウンタの数およびパケットとカウンタの関連づけに必要なフィルタ条件などの情報も増大し、パケットとカウンタを関連づけるまでの時間が増大する。さらに、カウンタ保持のためのP−GW内部のメモリ容量増加がP−GWのメモリ読み出し・書き込み性能に影響を与える。それらの結果、P−GWにおけるパケット処理遅延が増大し、処理しきれなくなったパケットの破棄が発生するなどの通信性能の劣化または誤課金などの問題が発生する。
【0010】
また、OCSおよびPCRFでは、種々の条件を組み合わせてQoSまたは課金のポリシーを決定する場合には、条件毎にバイト数の閾値を設定し、P−GWにおけるバイト数積算結果の閾値到達に関するメッセージを個々に受信し、それらを組み合わせてポリシーを決定する必要がある。これによって、P−GWとOCSやPCRFとの間のメッセージ数が増加し、メッセージ処理遅延が増大し、処理しきれなくなったメッセージの破棄が発生するなどの通信性能の劣化などの問題が発生する。
【0011】
無線接続の広帯域化およびスマートフォンの普及などによって、モバイル端末向けに多様なサービスが展開できるようになり、MVNO(Mobile Virtual Network Operator)の参入によってサービス間の差別化競争が進んでいくことが予測される現状では、QoSまたは課金のポリシーを決定する条件の増加による前記の通信性能劣化の課題が深刻化することが予測される。また、同様に、固定網でもサービス多様化によるQoSや課金のポリシーを決定する条件の増加によって、前記の通信性能劣化の課題が懸念される。
【0012】
本発明の目的は、以上の課題に鑑み、無線または有線の通信システムにおいて、通信装置内部における前記積算に用いるカウンタの数や通信装置と課金サーバまたはポリシー管理サーバの一方または双方への前記積算結果の閾値到達に関するメッセージ数を増やすことなく、パケット転送性能の劣化を防ぎつつQoSや課金のポリシーに基づく正確なタイミングでQoSまたは課金制御のパラメータを切り替えることが可能な通信システムおよび装置を提供することにある。
【課題を解決するための手段】
【0013】
本発明の代表的な一例を示せば次の通りである。すなわち、ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、前記通信システムの制御方法は、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第1手順と、前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第2手順と、前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更する第3手順と、を含むことを特徴とする。
【発明の効果】
【0014】
本発明の一実施形態によると、無線または有線通信システムにおいて、通信装置の送信するパケット数またはバイト数の一方または双方がある閾値に達した契機でQoSまたは課金制御のパラメータを切り替える場合において、パケット転送性能の劣化を防ぎつつQoSや課金のポリシーに基づく正確なタイミングでQoSまたは課金制御のパラメータを切り替えることができる。
【図面の簡単な説明】
【0015】
【図1】第1の実施例に係る、通信システムの機能構成を説明するための概念図である。
【図2】第1の実施例に係る、通信システムの一構成例を示すブロック図である。
【図3】第1の実施例に係る、ゲートウェイ(GW)の一例を示す機能ブロック図である。
【図4】第1の実施例に係る、GWのメモリ部のブロック図である。
【図5】第1の実施例に係る、GWが保持する重み付け積算における積算グループの識別子と重み値を当該パケットの通信に関わる端末(MS)と当該パケットの属するサービスから決定するための情報を示すテーブルの一例を示す図である。
【図6】第1の実施例に係る、重み付け積算における積算閾値を当該パケットの属する積算グループから決定するための情報を示すテーブルの一例を示す図である。
【図7】第1の実施例に係る、積算グループ毎の積算値の情報を示すテーブルの一例を示す図である。
【図8】第1の実施例に係る、重み付け積算における時刻に基づく重み値を当該パケットの通信に関わるMSと当該パケットの属するサービスから決定するための情報を示すテーブルの一例を示す図である。
【図9】第1の実施例に係る、重み付け積算における時刻に基づく重み値を当該パケットの属する積算グループから決定するための情報を示すテーブルの一例を示す図である。
【図10】第1の実施例に係る、重み付け積算におけるBSの混雑度に基づく重み値を当該パケットの通信に関わる基地局(BS)から決定するための情報を示すテーブルの一例を示す図である。
【図11】第1の実施例に係る、BSに接続しているMSの情報を示すテーブルの一例を示す図である。
【図12】第1の実施例に係る、重み付け積算におけるBSの混雑度に基づく重み値を当該パケットの通信に関わるBSから決定するための情報を示すテーブルの一例を示す図である。
【図13】第1の実施例に係る、複数のBSへ送信されたDLパケットに対する重み付け積算における当該DLパケットのMSへの送信成否に基づく重み値を決定するための情報を示すテーブルの一例を示す図である。
【図14】第1の実施例に係る、複数のBSへ送信されたDLパケットに対する重み付け積算におけるBSに関する総合的な重み値を決定するための情報を示すテーブルの一例を示す図である。
【図15】第1の実施例に係る、ポリシー管理装置(PS)の一例を示す機能ブロック図である。
【図16】第1の実施例に係る、課金サーバ(CS)の一例を示す機能ブロック図である。
【図17】第1の実施例に係る、GWにおけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算処理の一例を示す図である。
【図18】第1の実施例に係る、PSにおける積算閾値到達メッセージ受信の処理の一例を示す図である。
【図19】第1の実施例に係る、CSにおける積算閾値到達メッセージ受信の処理の一例を示す図である。
【図20】第1の実施例に係る、PSにおけるステータス変更メッセージ受信の処理の一例を示す図である。
【図21】第1の実施例に係る、CSにおけるステータス変更メッセージ受信の処理の一例を示す図である。
【図22】第1の実施例に係る、GWにおける重み付け積算値を、パケットがBSで破棄されたか否かに基づいて修正する処理の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態を図面に従い説明する。各種の実施例について説明するに先立ち、その概要について説明する。
【0017】
図1は、本発明の通信システムの概要を説明するための機能構成図である。図1において、ゲートウェイ(GateWay、以下、GW)2がULパケットまたはDLパケットを受信した場合(ステップS100)、GW2は、当該パケットに関連付けられたQoSおよび課金に関するパラメータ(後述)をQoSおよび課金のポリシーに基づいて決定する(ステップS101)。
【0018】
そして、GW2は、当該パケットに関連付けられた重み値をQoSまたは課金のポリシーに基づいて決定し(ステップS102)、当該パケットについて、重み付けパケット数積算または重み付けバイト数積算の一方または双方を行い、それぞれの積算値を対応するカウンタに保持する(ステップS103)。これらの積算の結果、積算値がそれぞれのカウンタに設定された閾値に達した場合は(ステップS104)、GW2は、到達した閾値の情報(閾値到達情報)を含むメッセージを作成し、その閾値に関連付けられた宛先へ送信する(ステップS106、S107)。
【0019】
なお、以下の説明では、ネットワークにおける通信量を示す指標としてパケット数またはパケットに含まれるデータ量を用いる例を示す。パケットに含まれるデータ量を示す指標の例として、パケットのバイト数を用いているが、それ以外の指標が用いられてもよい。ここで、パケットのバイト数とは、例えば、パケット全体のバイト数であってもよいし、いわゆるペイロード長であってもよい。
【0020】
当該メッセージを受信したポリシー管理装置(Policy Server、以下、PS)3または課金サーバ(Charging Server、以下、CS)6の一方または双方は、受信したメッセージに含まれる閾値到達情報、および、QoSまたは課金のポリシーに基づいて、QoSまたは課金に関するパラメータ変更の有無(すなわちパラメータを変更する必要があるか否か)を判定する。その結果、QoSまたは課金に関するパラメータを変更する必要があると判定された場合は、PS3またはCS6の一方または双方は、QoSまたは課金のパラメータの変更情報を含むメッセージを作成し(ステップS108)、変更内容に関連付けられた宛先へ送信する(ステップS109)。
【0021】
GW2は、ステップS109において送信されたメッセージを受信した場合、GW2で適用されるQoSまたは課金のパラメータを変更し、以降に受信したULパケットまたはDLパケットに対して変更後のQoSまたは課金のパラメータを適用する。
【0022】
この通信システムによって、種々の条件で決定されるQoSまたは課金に関するパラメータを、パケット毎の重みとして統一的に積算値に反映できるため、複数のQoSや課金に関するパラメータ決定条件を反映させる場合でも、ゲートウェイのパケット数またはバイト数を積算するカウンタの数をパラメータ決定条件の数に合わせて増やすことなく、かつPS3またはCS6への検出結果の通知に用いるメッセージをパラメータ決定条件の数に合わせて増やすことなく、QoSまたは課金に関するパラメータを切り替えるタイミングをパケット単位で正確に検出し、ゲートウェイにおけるQoSまたは課金のパラメータに基づく帯域制限などの通信制御に適用できる。これによって、ゲートウェイの通信性能劣化または帯域制限などの通信制御の適用遅延によるヘビーユーザの帯域寡占などの問題の発生を防ぐことができる。
【実施例1】
【0023】
以下、本発明の第1の実施例を図面に従い、順次説明する。
【0024】
<システム構成>
図2は、第1の実施例の通信システムの一構成例を示す図である。第1の実施例の通信システムは、基地局(Base Station、以下、BS)4と無線通信または有線通信を行う端末(Mobile Station、以下、MS)5と、BS4を介してMS5と通信するGW2と、GW2と通信するサービス提供サーバ(Service Server、以下、SS)1と、GW2およびCS6と通信するPS3と、GW2およびPS3と通信するCS6と、を含む。
【0025】
ここで、PS3は、GW2と同じ装置に実装されてもよいし、CS6と同じ装置に実装されてもよい。また、CS6は、GW2と同じ装置に実装されてもよいし、PS3と同じ装置に実装されてもよい。また、BS4は省略可能であり、その場合、MS5はBS4を介さずにGW2と通信し、GW2はBS4を介さずにMS5と通信する。また、PS3とCS6との間のインタフェースは省略可能であり、その場合、PS3とCS6は互いに直接通信することはない。
【0026】
また、図2には本実施例の通信システムの構成要素を一つずつ示したが、実際にはこれらの構成要素の数は任意である。例えば、本実施例の通信システムは、一つのBS4と通信する複数のMS5を含んでもよく、さらに複数のBS4を含んでもよく、さらに複数のGW2を含んでもよい。
【0027】
図2の通信システムにおいて、GW2は、QoSまたは課金のパラメータ、重み、積算閾値、および、それらの値とパケットとを関連づける条件に従って、BS4から受信したULパケットおよびSS1から受信したDLパケットに対してQoSや課金のパラメータや重みを適用する。ここで、QoSまたは課金のパラメータ、重み、積算閾値、および、それらの値とパケットとを関連づける条件は、PS3またはCS6の少なくとも一方から通知されたものであってもよいし、GW2に予め設定されたものであってもよい。そして、GW2は、受信したパケットがULパケットならばそれをSS1へ、DLパケットならばBS4へそれぞれ転送する。
【0028】
また、GW2は、重み付け積算結果(すなわち、重み付けされたパケット数の積算値または重み付けされたバイト数の積算値の少なくとも一方)が前記積算閾値に達した場合、積算閾値と積算閾値到達メッセージの宛先とを関連づける条件に従って、積算閾値到達メッセージをPS3またはCS6の一方または双方へ送信する。ここで、積算閾値と積算閾値到達メッセージの宛先とを関連づける条件は、PS3またはCS6から通知されたものであってもよいし、GW2に予め設定されたものであってもよい。
【0029】
PS3は、GW2から送信された積算閾値到達メッセージ、PS3に設定されたQoSもしくは課金のパラメータの決定条件、または、CS6から送信されたステータス変更メッセージに従って、GW2で適用されているQoSもしくは課金のパラメータ、重み、または積算閾値の変更有無(すなわち変更の要否)を判定する。GW2で適用されているQoSもしくは課金のパラメータ、重みまたは積算閾値の変更をする必要があると判定された場合、PS3は、変更後のQoSもしくは課金のパラメータ、重みまたは積算閾値を含むパラメータ更新メッセージをGW2へ送信する。QoSまたは課金のステータスが変更された場合、PS3は、CS6へステータス変更メッセージを送信してもよい。
【0030】
CS6は、GW2から送信された積算閾値到達メッセージ、CS6に設定された課金のパラメータの決定条件、または、PS3から送信されたステータス変更メッセージに従って、GW2で適用されている課金のパラメータ、重みまたは積算閾値の変更有無を判定する。GW2で適用されている課金のパラメータ、重みまたは積算閾値を変更する必要があると判定された場合、CS6は、変更後の課金のパラメータ、重みまたは積算閾値を含むパラメータ更新メッセージをGW2へ送信する。課金のステータスが変更された場合、CS6は、PS3へステータス変更メッセージを送信してもよい。
【0031】
本実施例では、GW2がULパケットまたはDLパケットを受信した場合、GW2が、受信したパケットと関連付けられたQoSまたは課金に関するパラメータをQoSまたは課金のポリシーに基づいて決定する。そして、GW2は、受信したパケットと関連付けられた重み値をQoSまたは課金のポリシーに基づいて決定し、当該パケットについて、重み付けパケット数積算または重み付けバイト数積算の一方または双方を行い、積算値をそれぞれに対応するカウンタに保持する。積算値がカウンタに関連付けられた閾値に達した場合は、GW2は、到達した閾値の情報を含む積算閾値到達メッセージを作成し、その閾値に関連付けられた宛先へそのメッセージを送信する。GW2が送信したメッセージを受信したPS3またはCS6の一方または双方は、受信したメッセージに含まれる閾値到達情報と、QoSまたは課金のポリシーとに基づいてQoSまたは課金に関するパラメータ変更の有無を判定し、QoSまたは課金に関するパラメータを変更する必要があると判定された場合は、QoSまたは課金のパラメータの変更情報を含むメッセージを作成し、変更内容に関連付けられた宛先へ送信する。GW2は、PS3またはCS6からのメッセージを受信した場合、GW2で適用されるQoSまたは課金のパラメータを変更し、以降に受信したULパケットまたはDLパケットに対して変更後のQoSまたは課金のパラメータを適用する。
【0032】
<装置構成:GW2>
図3に、本実施例で使用するGW2の一構成例の機能ブロックを示す。GW2は、例えば、SSインタフェース部21と、BSインタフェース部22と、PSインタフェース部23と、CSインタフェース部24と、メモリ部25と、処理部26とを有する。
【0033】
SSインタフェース部21は、SS1とのインタフェースである。SSインタフェース部21を用いて、GW2はSS1との間でIPパケットの送受信を行う。
【0034】
BSインタフェース部22は、BS4とのインタフェースである。BSインタフェース部22を用いて、GW2はBS4との間でIPパケットの送受信を行う。BS4が省略される通信システムの場合、BSインタフェース部22を用いて、GW2はBS4を介さずに直接MS5との間でIPパケットの送受信を行う。
【0035】
PSインタフェース部23は、PS3とのインタフェースである。PSインタフェース部23を用いて、GW2はPS3との間でIPパケットの送受信を行う。本実施の形態では、GW2はPSインタフェース部23を用いて、PS3に積算閾値到達メッセージを送信したり、その応答メッセージをPS3から受信したりしてもよい。
【0036】
CSインタフェース部24は、CS6とのインタフェースである。CSインタフェース部24を用いて、GW2はCS6との間でIPパケットの送受信を行う。本実施の形態では、GW2はCSインタフェース部24を用いて、CS6に積算閾値到達メッセージを送信したり、その応答メッセージをCS6から受信したりしてもよい。
【0037】
メモリ部25は、送受信するIPパケット、接続するSS1、BS4、PS3およびCS6のアドレス、上記の各インタフェース部で受信したULパケットまたはDLパケットに適用するQoSもしくは課金に関するパラメータ、重みまたは積算閾値とパケットを関連づける条件などの情報を、必要に応じて記憶・管理する。
【0038】
なお、以上に説明したGW2におけるインタフェース部21−24を総称して、GW2のインタフェース部、またはネットワークインタフェース部と呼ぶ場合がある。これらのインタフェース部は、内部バスによってメモリ部25および処理部26に接続されている。
【0039】
処理部26は、例えば中央処理部(Central Processing Unit:CPU)で構成される。処理部26は、メモリ部25に保持される情報を管理し、さらに、メモリ部25に記憶される各種のプログラムを実行することによって、各種の処理、例えば、IPパケットの構築または解析などのIPパケット送受信処理、インタフェース部で受信したULパケットまたはDLパケットに適用するQoSもしくは課金に関するパラメータ、重みまたは積算閾値とパケットとの関連づけ、および受信したパケットのパケット数またはバイト数の重み付け積算などを行う。
【0040】
なお、以下に順次説明する、本実施例の通信システムを構成するGW2以外の他の構成要素であるPS3およびCS6等も同様にその内部にネットワークインタフェース部、メモリ部、処理部を備えている(図15および図16参照)。それらの処理部もGW2の処理部26と同様にCPUによって実現され、PS3およびCS6等に特有の機能プログラムを実行、処理する。さらに、詳細な内部構成の説明を省略するが、SS1、BS4およびMS5もその内部にネットワークインタフェース部、メモリ部、処理部を備える構成を有することは言うまでもない。
【0041】
図4に、本実施例のGW2のメモリ部の一構成例のブロック図を示す。
【0042】
メモリ部25は、例えば図4に示すように、テーブル251〜テーブル260を保持する。
【0043】
テーブル251は、受信したULパケットまたはDLパケットに対する重み付け積算における積算グループ(後述、図5参照))の識別子および重み値を、当該パケットの通信に関わる(すなわち当該パケットの送信元または送信先である)MS5および当該パケットの属するサービスに基づいて決定するための情報を示す。テーブル251を用いることによって、MS5の識別子、サービスの識別子、積算グループの識別子、バイト数重み値、およびパケット数重み値などの情報を管理することができる。なお、テーブル251の詳細は後述する(図5参照)。
【0044】
テーブル252は、受信したULパケットまたはDLパケットに対する重み付け積算における積算閾値を、当該パケットの属する積算グループに基づいて決定するための情報を示す。テーブル252を用いることによって、積算グループの識別子、バイト数積算閾値、およびパケット数積算閾値などの情報を管理することができる。なお、テーブル252の詳細は後述する(図6参照)。
【0045】
テーブル253は、積算グループ毎の積算値の情報を示す。テーブル253を用いることによって、積算グループの識別子、バイト数積算値、パケット数積算値などの情報を管理することができる。なお、テーブル253の詳細は後述する(図7参照)。
【0046】
テーブル254は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を、当該パケットの通信に関わるMS5および当該パケットの属するサービスに基づいて決定するための情報を示す。テーブル254を用いることによって、MS5の識別子、サービスの識別子、バイト数重み値とその切り替え時刻、およびパケット数重み値とその切り替え時刻などの情報を管理することができる。なお、テーブル254の詳細は後述する(図8参照)。
【0047】
テーブル255は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を、当該パケットの属する積算グループに基づいて決定するための情報を示す。テーブル255を用いることによって、積算グループの識別子、バイト数重み値とその切り替え時刻、パケット数重み値とその切り替え時刻などの情報を管理することができる。なお、テーブル255の詳細は後述する(図9参照)。
【0048】
テーブル256は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を、当該パケットの通信に関わるBS4に基づいて決定するための情報を示す。テーブル256を用いることによって、BS4の識別子、BS4のセルスループットと該BS4に接続しているMS5の数の比の閾値、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル256の詳細は後述する(図10参照)。
【0049】
テーブル257は、各BS4に接続しているMS5の情報を示す。テーブル257を用いることによって、BS4の識別子、各BS4に接続しているMS5の識別子などの情報を管理することができる。なお、テーブル257の詳細は後述する(図11参照)。
【0050】
テーブル258は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を、当該パケットの通信に関わるBS4に基づいて決定するための情報を示す。テーブル258を用いることによって、BS4の識別子、BS4のセルスループットと該BS4に接続しているMS5の合計送信スループットの比の閾値、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル258の詳細は後述する(図12参照)。
【0051】
テーブル259は、DLパケットの送信失敗通知の有無を示す。テーブル259を用いることによって、パケットの識別子、重み付けバイト数、重み付けパケット数、各パケットの通信に関わるBS4の識別子、タイムアウト時刻などの情報を管理することができる。なお、テーブル259の詳細は後述する(図13参照)。
【0052】
テーブル260は、各BS4の重み値と重み値決定優先度を示す。テーブル260を用いることによって、BS4の識別子、重み値決定優先度、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル260の詳細は後述する(図14参照)。
【0053】
図5に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル251を示す。テーブル251は、受信したULパケットまたはDLパケットに対する重み付け積算における積算グループの識別子および重み値を、当該パケットの通信に関わるMS5および当該パケットの属するサービスに基づいて決定するための情報を示す。
【0054】
テーブル251には、例えば、MS5の識別子(MS ID)501、サービスの識別子(Service ID)502、積算グループの識別子(Group ID)503、バイト数重み値(Weight(for bytes))、パケット数重み値(Weight(for packets))が記憶される。バイト数重み値は、ULパケットのバイト数重み値504およびDLパケットのバイト数重み値506を含む。パケット数重み値は、ULパケットのパケット数重み値505およびDLパケットのパケット数重み値507を含む。
【0055】
MS5の識別子501は、各MS5を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるMS5(すなわち、ULパケットの送信元のMS5またはDLパケットの送信先のMS5)と、積算グループまたは重み値とを関連づけるために使用される。なお、例えば全てのMS5が同一の積算グループまたは同一の重み値に関連付けられる場合等には、MS5の識別子501は省略されてもよい。
【0056】
サービスの識別子502は、GW2が受信したULパケットまたはDLパケットの属するサービスを識別するパラメータであり、そのサービスと積算グループまたは重み値とを関連づけるために使用される。なお、例えば全てのサービスが同一の積算グループまたは同一の重み値に関連付けられる場合等には、サービスの識別子502は省略されてもよい。
【0057】
積算グループの識別子503は、GW2が受信したULパケットまたはDLパケットの数またはそれぞれのパケットのバイト数がどの積算グループのカウンタに積算されるかを示すパラメータである。
【0058】
ここで、積算グループについて説明する。本実施例では、QoSまたは課金等を制御するために、GW2を通過するパケット数またはパケットのバイト数が積算される。積算グループとは、一つのカウンタを使用してパケット数またはバイト数を積算できる範囲を規定する概念である。
【0059】
例えば、ユーザごとの課金を目的としてパケット数またはバイト数を積算する場合、それぞれ異なるユーザによって使用される各MS5がそれぞれ異なる積算グループに関連付けられる。一人のユーザが一つのMS5を使用して複数のサービスを利用する場合、各サービスがそれぞれ異なる積算グループに関連付けられてもよいが、複数のサービスが一つの積算グループに関連付けられる場合もある。例えば、ユーザが一つのサービス提供者によって提供される複数のサービスを利用し、かつ、それらのサービスの課金に関するパラメータ(課金パラメータ)が同一であれば、それらのサービスを一つの積算グループに関連付けることができる。
【0060】
ここで、課金パラメータとは、例えば積算値に基づいて課金額を算出するためのパラメータである。具体的には、例えば、従量課金が適用される場合において、通信したパケット数またはバイト数あたりの課金額(すなわち課金の比率)が定められている場合には、その比率が課金パラメータであるし、通信したパケット数またはバイト数の積算値の閾値(すなわち図6の積算閾値)、および、積算値がその閾値を超えた場合の課金額が定められている場合には、その閾値および課金額が課金パラメータである。サービス提供者は、例えば課金パラメータの共通する複数のサービスを一人のユーザに提供している場合、それらの複数のサービスに関するパケット数またはバイト数の積算値を一つのカウンタで積算し、その積算値に応じた金額を課金パラメータに基づいて計算し、その金額を当該複数のサービスの利用料金として当該ユーザにまとめて請求することができる。
【0061】
あるいは、MS5ごとの使用帯域を制限する目的で課金を制御したい場合、一つのMS5が利用する全てのサービスを一つの積算グループに関連付けてもよい。この場合、課金パラメータとして、例えば積算値に対する課金の比率と、積算値の閾値とが設定され、積算値が当該閾値を超過した場合には、課金の比率が高くなるように(すなわち料金が高額になるように)変更されてもよい。
【0062】
上記のような積算グループおよびパラメータの基本的な考え方は、QoSの制御のためのパケット数またはバイト数の積算にも適用することができる。例えば、特定のユーザ、特定のMS5または特定のサービスによる帯域の占有を緩和するために、当該ユーザ、MS5またはサービスに関する積算値が所定の閾値を超えた場合に、当該ユーザ、MS5またはサービスに関する帯域制限値を、使用帯域を縮小する方向に変更する、または、当該ユーザ、MS5またはサービスに関するパケットの送信優先度を低下させる、などの制御が実行されてもよい。その場合、QoSに関するパラメータ(QoSパラメータ)は、閾値およびそれに関連付けられた帯域制限値またはパケットの送信優先度等である。
【0063】
受信したパケットがどのようなパラメータに関連付けられているかは、パケットの送信先、パケットの送信元、またはパケットが属するサービス等に基づいて特定することができる。通常、パケットとQoSパラメータとの関連付けはPS3によって管理され、パケットと課金パラメータとの関連付けはCS6によって管理される。PS3は、さらにパケットと課金パラメータとの関連付けを管理する場合もある。
【0064】
なお、上記のようなパラメータは一例であり、本実施例は、パケットまたはそれに含まれるデータの通信の制御または管理(その一例が、上記のQoSまたは課金の制御である)のために、パケット数またはパケットのバイト数に関連付けられる、いかなる種類のパラメータにも適用することができる。
【0065】
従来は、受信したパケットに関連付けられたQoSまたは課金に関するパラメータが共通しない限り、それらのパケットの数またはそれらのバイト数を一つのカウンタで積算することができなかった。一方、本発明では、特定の場合に、異なるパラメータに関連付けられたパケットの数またはそれらのバイト数を一つのカウンタによって積算することが可能になる。重み値およびそれに基づく重み付け積算の例については後述する。
【0066】
バイト数重み値(すなわちULパケットのバイト数重み値504およびDLパケットのバイト数重み値506)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際のMS5およびサービスに基づく重み値を示すパラメータである。なお、バイト数重み値が登録されていない場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい(言い換えると、重み値=0の場合と同様に扱ってもよい)。ただし、どちらの扱いを適用するかは予め定めておく必要がある。また、ULパケットに適用されるバイト数重み値504とDLパケットに適用されるバイト数重み値506にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合、ULパケットのバイト数重み値504およびDLパケットのバイト数重み値506の一方だけが設定され、その値がもう一方にも適用されてもよい。
【0067】
パケット数重み値(すなわちULパケットのパケット数重み値505およびDLパケットのパケット数重み値507)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際のMS5およびサービスに基づく重み値を示すパラメータである。なお、パケット数重み値が登録されていない場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい(言い換えると、重み値=0の場合と同様に扱ってもよい)。ただし、どちらの扱いを適用するかは予め定めておく必要がある。また、ULパケットに適用されるパケット数重み値505とDLパケットに適用されるパケット数重み値507にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合、ULパケットのパケット数重み値505およびDLパケットのパケット数重み値507の一方だけが設定され、その値がもう一方に適用されてもよい。
【0068】
図5の例では、識別子501が「MS#1」であるMS5(以下、単に「MS#1」とも記載する。他の識別子501についても同様)が利用する複数のサービスのうち、識別子502が「Service#1」であるサービスおよび識別子502が「Service#3」であるサービス(以下、それぞれ、単に「Service#1」および「Service#3」とも記載する。他の識別子502についても同様)が、識別子503「A」によって識別される積算グループ(以下、単に「積算グループA」とも記載する。他の識別子503についても同様)に関連付けられている。さらに、MS#1とService#1との組と、ULパケットのバイト数重み値504の値「0.8」とが関連付けられ、MS#1とService#3との組と、ULパケットのバイト数重み値504の値「1.5」とが関連付けられている。
【0069】
この場合、例えば、MS#1から送信されたService#1に属するULパケットのバイト数に重み「0.8」が乗算され、MS#1から送信されたService#3に属するULパケットのバイト数に重み「1.5」が乗算され、それらの値が同一のカウンタによって積算される。これによって、例えば積算値が課金に利用される場合には、両サービスの価格差が正確に反映された課金を行うことができ、さらに、積算値の閾値が設けられている場合には、積算値が閾値を超えたタイミングを正確に特定することができる。なお、上記の重み値の例は、それらが課金に利用される場合には、Service#1よりService#3が高額であることを意味する。
【0070】
このように、パケット数またはバイト数を重み付け積算することによって、使用するカウンタの数を増やすことなく、パラメータの相違を吸収できる場合がある。カウンタによって積算された値が閾値を超えた場合のメッセージの送信等はカウンタごとに行う必要があるため、カウンタの数が増えれば、カウンタのためのメモリ領域が必要になるだけでなく、メッセージの処理量も増加し、これによってパケットの転送性能が低下する場合がある。本実施例では、上記のように重み付け積算によってカウンタを統合することができるため、パケットの転送性能への影響を抑えつつ、積算値が閾値を超過した適切なタイミングで、パラメータ変更等の処理を行うことができる。
【0071】
図5の例では、MS#1とService#1との組、および、MS#1とService#3との組に加えて、MS#1とService#1との組も積算グループAに関連付けられている。このような場合には、MS5ごとに異なるカウンタが使用されてもよいし、複数のMS5に同一のカウンタが使用されてもよい。例えば、端末ごとのQoSまたは課金を制御したい場合には、MS5ごとに異なるカウンタが使用される。一方、例えばユーザごとのQoSまたは課金を制御したい場合において、MS#1とMS#2が同一のユーザによって使用される場合には、MS#1とMS#2に同一のカウンタが使用される。あるいは、例えばいわゆる家族割引が適用されるサービスまたは企業向けのサービスに関するQoSまたは課金を制御したい場合にも、複数のMS5に同一のカウンタを使用することができる。
【0072】
GW2は、受信したパケットのヘッダを参照して、そのパケットの送信元(または送信先)のMS5の識別子およびそのパケットが属するサービスの識別子を特定することができる。このため、GW2は、パケットのヘッダと、テーブル251のMS5の識別子501〜積算グループの識別子503とを参照することによって、受信したパケットに対応する積算グループ(言い換えると、受信したパケットに対応するカウンタ)を特定することができる。メモリ部25がテーブル251を保持しない(例えばテーブル251の代わりにテーブル254等を保持する)場合であっても、メモリ部25は、テーブル251のMS5の識別子501〜積算グループの識別子503のような、パケットと、そのパケットのパケット数またはバイト数を積算するカウンタとを関連付ける情報を保持する必要がある。
【0073】
なお、テーブル251に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0074】
図6に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル252を示す。テーブル252は、受信したULパケットまたはDLパケットに対する重み付け積算における積算閾値を該パケットの属する積算グループから決定するための情報を示す。
【0075】
テーブル252には、例えば、積算グループの識別子(Group ID)601、バイト数積算閾値(Threshold(for bytes))、およびパケット数積算閾値(Threshold(for packets))が記憶される。バイト数積算閾値は、ULパケットのバイト数積算閾値602およびDLパケットのバイト数積算閾値604を含む。パケット数積算閾値は、ULパケットのパケット数積算閾値603およびDLパケットのパケット数積算閾値605を含む。
【0076】
積算グループの識別子601は、GW2が受信したULパケットまたはDLパケットの数またはそれぞれのパケットのバイト数がどの積算グループのカウンタに積算されるかを示すパラメータである。
【0077】
バイト数積算閾値(すなわちULパケットのバイト数積算閾値602およびDLパケットのバイト数積算閾値604)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際の各積算グループにおける積算閾値を示すパラメータである。ULパケットに適用されるバイト数積算閾値602とDLパケットに適用されるバイト数積算閾値604にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じバイト数積算閾値が適用されてもよい。後者の場合、ULパケットのバイト数積算閾値602およびDLパケットのバイト数積算閾値604の一方だけが設定され、その値がもう一方にもてきようされてもよい。
【0078】
パケット数積算閾値(すなわちULパケットのパケット数積算閾値603およびDLパケットのパケット数積算閾値605)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際の各積算グループにおける積算閾値を示すパラメータである。ULパケットに適用されるパケット数積算閾値603とDLパケットに適用されるパケット数積算閾値605にそれぞれ別々の値が設定されてもよいし、ULパケットとDLパケットに同じパケット数積算閾値が適用されてもよい。後者の場合、ULパケットのパケット数積算閾値603またはDLパケットのパケット数積算閾値605の一方だけが設定され、その値がもう一方にも適用されてもよい。
【0079】
なお、テーブル252に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0080】
図7に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル253を示す。テーブル253は、積算グループ毎の積算値の情報を示す。
【0081】
テーブル253には、例えば、積算グループの識別子(Group ID)701、バイト数積算値(Integration(Mbytes))、パケット数積算値(Integration(kpackets))が記憶される。バイト数積算値は、ULパケットのバイト数積算値702およびDLパケットのバイト数積算値704を含む。パケット数積算値は、ULパケットのパケット数積算値703およびDLパケットのパケット数積算値705を含む。
【0082】
積算グループの識別子701は、GW2が受信したULパケットまたはDLパケットの数またはそれぞれのパケットのバイト数どの積算グループのカウンタに積算されるかを示すパラメータである。
【0083】
バイト数積算値(すなわちULパケットのバイト数積算値702およびDLパケットのバイト数積算値704)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算した際の各積算グループにおける積算値(すなわち、各積算グループのカウンタによって重み付け積算されたバイト数)を示すパラメータである。なお、GW2が受信したパケットがULパケットまたはDLパケットのいずれであるかを区別せずに重み付け積算を行ってもよく、その場合は各積算グループに対応する受信したパケットのバイト数の重み付け積算結果を示すパラメータがテーブル253に記憶される。
【0084】
パケット数積算値(すなわちULパケットのパケット数積算値703およびDLパケットのパケット数積算値705)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算した際の各積算グループにおける積算値(すなわち、各積算グループのカウンタによって重み付け積算されたパケット数)を示すパラメータである。なお、GW2が受信したパケットがULパケットまたはDLパケットのいずれであるかを区別せずに重み付け積算を行ってもよく、その場合は各積算グループに対応する受信したパケット数の重み付け積算結果を示すパラメータがテーブル253に記憶される。
【0085】
図8に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル254を示す。テーブル254は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を当該パケットの通信に関わるMS5と当該パケットの属するサービスから決定するための情報を示す。
【0086】
テーブル254には、例えば、MS5の識別子(MS ID)801、サービスの識別子(Service ID)802、ULパケットのバイト数重み値とその切り替え時刻(Weight Timeline(for bytes))803、DLパケットのバイト数重み値とその切り替え時刻805、ULパケットのパケット数重み値とその切り替え時刻(Weight Timeline(for packets))804及びDLパケットのパケット数重み値とその切り替え時刻806が記憶される。
【0087】
MS5の識別子801は、各MS5を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるMS5と、時刻に基づく重み値とを関連づけるために使用される。なお、対応する時刻に基づく重み値が、全てのMS5に共通に適用されるなどの場合、MS5の識別子801は省略されてもよい。
【0088】
サービスの識別子802は、GW2が受信したULパケットまたはDLパケットの属するサービスと、時刻に基づく重み値とを関連づけるためのパラメータである。なお、対応する時刻に基づく重み値が、パケットの属するサービスにかかわらずに適用されるなどの場合、サービスの識別子802は省略されてもよい。
【0089】
ULパケットのバイト数重み値とその切り替え時刻803は、GW2が受信したULパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットのバイト数重み値とその切り替え時刻805は、GW2が受信したDLパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0090】
ULパケットのパケット数重み値とその切り替え時刻804は、GW2が受信したULパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットのパケット数重み値とその切り替え時刻806は、GW2が受信したDLパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0091】
例えば、上記の重み値とその切り替え時刻803〜806に「18:00=0.8、23:00=0.5」と設定されていた場合、18:00〜23:00の時間帯には時刻に基づく重み値として「0.8」が適用され、23:00〜翌日18:00の時間帯には時刻に基づく重み値として「0.5」が適用されることを表す。
【0092】
なお、テーブル251の場合と同様、テーブル254において時刻に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。また、テーブル254には、図8に例示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合には、ULパケットに適用される重み値またはDLパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0093】
テーブル254に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0094】
図9に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル255を示す。テーブル255は、受信したULパケットまたはDLパケットに対する重み付け積算における時刻に基づく重み値を当該パケットの属する積算グループから決定するための情報を示す。
【0095】
テーブル255には、例えば、積算グループの識別子(Group ID)901、ULパケットの積算グループ単位のバイト数重み値とその切り替え時刻(Group Weight Timeline(for bytes))902、DLパケットの積算グループ単位のバイト数重み値とその切り替え時刻904、ULパケットの積算グループ単位のパケット数重み値とその切り替え時刻(Group Weight Timeline(for packets))903、およびDLパケットの積算グループ単位のパケット数重み値とその切り替え時刻905が記憶される。
【0096】
積算グループの識別子901は、GW2が受信したULパケットまたはDLパケットがどの積算グループのカウンタに積算されるかを示すパラメータである。
【0097】
ULパケットの積算グループ単位のバイト数重み値とその切り替え時刻902は、GW2が受信したULパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットの積算グループ単位のバイト数重み値とその切り替え時刻904は、GW2が受信したDLパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0098】
ULパケットの積算グループ単位のパケット数重み値とその切り替え時刻903は、GW2が受信したULパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。DLパケットの積算グループ単位のパケット数重み値とその切り替え時刻905は、GW2が受信したDLパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【0099】
例えば、上記の重み値とその切り替え時刻903〜905に「18:00=1.0、23:00=2.0」と設定されていた場合、18:00〜23:00の時間帯には時刻に基づく重み値として「1.0」が適用され、23:00〜翌日18:00の時間帯には時刻に基づく重み値として「2.0」が適用されることを表す。
【0100】
なお、テーブル251の場合と同様、テーブル255において時刻に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。また、テーブル255には、図9に例示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ重み値が適用されてもよい。後者の場合には、ULパケットに適用される重み値またはDLパケットに適用される重み値のうち一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0101】
テーブル255に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0102】
図8または図9に示したように、時間帯に応じて異なる重み値を適用することによって、時間帯ごとに最適なQoSまたは課金の制御を行うことができる。例えば、回線が混雑している時間帯の重み値を、回線が空いている時間帯の重み値より高く設定することによって、回線が混雑している時間帯のサービスの料金を他の時間帯より高く設定したり、回線が混雑している時間帯の帯域制限を他の時間帯より厳しく設定したりすることができる。これによって、回線が混雑している時間帯のトラフィックを他の時間帯に分散させることができる。その結果、混雑に起因する通信品質の低下が改善される。
【0103】
図10に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル256を示す。テーブル256は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を当該パケットの通信に関わるBS4から決定するための情報を示す。
【0104】
テーブル256には、例えば、BS4の識別子(BS ID)1001、BS4のセルスループットと当該BS4に接続しているMS5の数との比の閾値(Threshold Ratio(Num/Mbps))1002、バイト数重み値(Weight(for bytes))、およびパケット数重み値(Weight(for packets))が記憶される。バイト数重み値は、ULパケットのバイト数重み値1003およびDLパケットのバイト数重み値1005を含む。パケット数重み値は、ULパケットのパケット数重み値1004およびDLパケットのパケット数重み値1006を含む。
【0105】
BS4の識別子1001は、各BS4を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるBS4(すなわち、ULパケットまたはDLパケットの通信経路上にあるBS4、より具体的には、ULパケットの送信元のBS4またはDLパケットの送信先のBS4)と重み値などの情報とを関連づけるために使用される。
【0106】
BS4のセルスループットと当該BS4に接続しているMS5の数との比の閾値1002は、GW2が受信したULパケットまたはDLパケットの通信に関わるBS4と重み値とを関連づけるためのパラメータである。BS4のセルスループットは、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4のセルスループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機として当該BS4によって取得されてもよい。また、BS4に接続しているMS5の数は、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4に接続しているMS5の数が事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機としてBS4によって取得されてもよい。
【0107】
取得されたBS4のセルスループットおよびBS4に接続しているMS5の数は、BS4からGW2宛に送信されたメッセージ、または統計項目を取得するサーバからのメッセージなどによってGW2へ通知されてもよい。GW2の処理部26は、取得したBS4のセルスループットと当該BS4に接続しているMS5の数との比を計算し、この値がテーブル256に設定された値1002と異なると判定された場合、テーブル256に設定された値1002を算出した値に更新してもよい。
【0108】
バイト数重み値(すなわちULパケットのバイト数重み値1003およびDLパケットのバイト数重み値1005)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0109】
パケット数重み値(すなわちULパケットのパケット数重み値1004およびDLパケットのパケット数重み値1006)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0110】
図10の例では、BS#1のセルスループットとBS#1に接続しているMS5の数との比の閾値1002「0」および「5」に、それぞれ、ULパケットのバイト数重み値1003「0.8」および「1.2」が関連付けられている。これは、BS#1のセルスループットとBS#1に接続しているMS5の数との比が「0」以上「5」未満のときに重み値「0.8」が適用され、BS#1のセルスループットとBS#1に接続しているMS5の数との比が「5」以上「10」未満のときに重み値「1.2」が適用されることを意味する。BS4のセルスループットと当該BS4に接続しているMS5の数との比が大きいほど当該BS4の混雑度が高いことを意味し、図10の例では、BS4の混雑度が高いほどそれに関連付けられる重み値が大きくなる。
【0111】
なお、テーブル251の場合と同様、テーブル256においてBS4の混雑度に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。また、テーブル256には、図10に例示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ値が適用されてもよい。後者の場合、ULパケットに適用される重み値またはDLパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0112】
テーブル256に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0113】
図11に、本実施例のGW2のメモリ部25が保持する情報の一例として、BS4に接続しているMS5の情報を示すテーブル257を示す。テーブル257には、例えば、BS4の識別子(BS ID)1101、およびMS5の識別子(MS ID)1102が記憶される。
【0114】
BS4の識別子1101は、MS5が通信に使用しているBS4を識別するためのパラメータである。
【0115】
MS5の識別子1102は、各BS4を通信に使用しているMS5を識別するためのパラメータである。なお、一つのMS5が複数のBS4とコネクションを確立している場合、異なるBS4に対して、同じMS5の識別子がそれぞれ登録されていてもよい。
【0116】
なお、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0117】
図12に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル258を示す。テーブル258は、受信したULパケットまたはDLパケットに対する重み付け積算におけるBS4の混雑度に基づく重み値を当該パケットの通信に関わるBS4から決定するための情報を示す。
【0118】
テーブル258には、例えば、BS4の識別子(BS ID)1201、BS4のセルスループットと当該BS4に接続しているMS5のULパケットに関する総送信スループットとの比の閾値(Threshold Ratio(kbps/kbps))1202、ULパケットのバイト数重み値(Weight(for bytes))1203、ULパケットのパケット数重み値(Weight(for packets))1204、BS4のセルスループットと当該BS4に接続しているMS5のDLパケットに関する総送信スループットとの比の閾値1205、ULパケットのバイト数重み値1206およびULパケットのパケット数重み値1207が記憶される。
【0119】
BS4の識別子1201は、各BS4を識別するパラメータであり、GW2が受信したULパケットまたはDLパケットの通信に関わるBS4(すなわち、ULパケットの送信元のBS4またはDLパケットの送信先のBS4)と対応する重み値などの情報を紐づけるために使用される。
【0120】
BS4のセルスループットと当該BS4に接続しているMS5のULパケットに関する総送信スループットとの比の閾値1202は、GW2が受信したULパケットの属するBS4と重み値とを対応づけるためのパラメータである。BS4のセルスループットと当該BS4に接続しているMS5のDLパケットに関する総送信スループットとの比の閾値1205は、GW2が受信したDLパケットの属するBS4と重み値とを対応づけるためのパラメータである。
【0121】
BS4のセルスループットは、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4のセルスループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機として当該BS4で取得されてもよい。また、BS4に接続しているMS5の総送信スループットは、タイマによる定期的な取得契機でBS4によって取得されてもよいし、当該BS4に接続しているMS5の総送信スループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機としてBS4によって取得されてもよい。
【0122】
取得されたBS4のセルスループットおよびBS4に接続しているMS5の総送信スループットは、BS4からGW2宛に送信されたメッセージ、または統計項目を取得するサーバからのメッセージなどによってGW2へ通知されてもよい。GW2の処理部26は、取得したBS4のセルスループットと当該BS4に接続しているMS5の総送信スループットとの比を計算し、この値がテーブル258に設定された値1202または1205と異なると判定された場合、テーブル258に設定された値1202または1205を算出した値に更新してもよい。
【0123】
バイト数重み値(すなわちULパケットのバイト数重み値1203およびDLパケットのバイト数重み値1206)は、GW2が受信したULパケットまたはDLパケットのバイト数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0124】
パケット数重み値(すなわちULパケットのパケット数重み値1204およびDLパケットのパケット数重み値1207)は、GW2が受信したULパケットまたはDLパケットのパケット数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。
【0125】
図11の例では、BS#1のセルスループットとBS#1に接続しているMS5のULパケットに関する総送信スループットとの比の閾値1202「0」および「0.5」に、それぞれ、ULパケットのバイト数重み値1203「0.8」および「1.2」が関連付けられている。これは、BS#1のセルスループットとBS#1に接続しているMS5のULパケットに関する総送信スループットとの比が「0」以上「0.5」未満のときに重み値「0.8」が適用され、BS#1のセルスループットとBS#1に接続しているMS5のULパケットに関する総送信スループットとの比が「0.5」以上「0.8」未満のときに重み値「1.2」が適用されることを意味する。BS4のセルスループットと当該BS4に接続しているMS5の総送信スループットとの比が大きいほど当該BS4の混雑度が高いことを意味し、図11の例では、BS4の混雑度が高いほどそれに関連付けられる重み値が大きくなる。
【0126】
なお、テーブル251の場合と同様、テーブル258においてBS4の混雑度に基づく重み値の登録が省略された場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。また、テーブル258には、図12に示したように、ULパケットに適用される重み値とDLパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ULパケットとDLパケットに同じ値が適用されてもよい。後者の場合、ULパケットに適用される重み値またはDLパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【0127】
テーブル258に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0128】
図10または図12に示したように、BS4の混雑度に応じて異なる重み値を適用することによって、複数のBS4にトラフィックを分散させることができる。具体的には、混雑度の高いBS4に関連する重み値を、混雑度の低いBS4に関連する重み値より高く設定することによって、混雑しているBS4を利用するサービスの料金を他のBS4を利用するものより高く設定したり、混雑しているBS4を経由する通信経路の帯域制限を、他のBS4を経由するものより厳しく設定したりすることができる。これによって、BS4の混雑に起因する通信品質の低下が改善される。
【0129】
なお、図10に示すBS4のセルスループットと当該BS4に接続しているMS5の数の比、および、図12に示すBS4のセルスループットと当該BS4に接続しているMS5のULパケットに関する総送信スループットの比は、いずれも、BS4の混雑度を示す指標であり、それらの値が大きいほど混雑度が高いことを示す。ただし、図10の例について言えば、BS4に接続しているMS5の数が多いことは必ずしもBS4が混雑することを意味しない。しかし、BS4に接続しているMS5の数が多ければ、当該BS4がこれから混雑する可能性が高いとの予測に基づいて、BS4のセルスループットと当該BS4に接続しているMS5の数の比をBS4の混雑度の指標として用いることができる。一方、BS4に接続しているMS5のULパケットに関する総送信スループット(図11)は、過去の混雑の実績を示す。QoSまたは課金の目的に応じて適切な混雑度の指標を用いることができ、さらに、BS4の混雑度を示す上記以外の指標が使用されてもよい。
【0130】
図13に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル259を示す。テーブル259は、複数のBS4へ送信されたDLパケットに対する重み付け積算における当該DLパケットのMS5への送信成否に基づく重み値を決定するための情報を示す。テーブル259には、例えば、パケットの識別子(Packet ID)1301、パケットの重み付けバイト数(Weighted Bytes)1302、パケットの重み付けパケット数(Weighted Packets)1303、BS4の識別子(BS ID)1304〜1306、およびパケット情報保持のタイムアウト時刻(Timeout)1307が記憶される。
【0131】
パケットの識別子1301は、GW2がBS4へ送信したDLパケットの識別子である。パケットの識別子1301としては、例えば、GW2が設定するUDPヘッダのシーケンス番号などの元々パケットに含まれる情報を用いてもよいし、識別子を設定するためのフィールドまたはヘッダをGW2が新たに付与してもよい。
【0132】
パケットの重み付けバイト数1302は、GW2が当該DLパケットに対するバイト数の重み付け積算によって算出した値である。当該DLパケットのバイト数が重み付け積算の対象に含まれない場合、パケットの重み付けバイト数1302は省略されてもよい。
【0133】
パケットの重み付けパケット数1303は、GW2が当該DLパケットに対するパケット数の重み付け積算によって算出した値である。当該DLパケットのパケット数が重み付け積算の対象に含まれない場合、パケットの重み付けパケット数1303は省略されてもよい。
【0134】
BS4の識別子1304〜1306は、GW2が当該DLパケットを送信した宛先のBS4の識別子である。さらに、テーブル259は、BS4の識別子1304〜1306に対応する送信先の各BS4から、当該DLパケットの破棄を通知するメッセージを受信したか否かを示す情報を記録することができる。図13の例において、BS4の識別子1304〜1306に対応して記録された「×」は、それに対応するBS4から当該DLパケットの破棄を通知するメッセージを受信したことを示す。
【0135】
例えば、図13の例は、パケットの識別子1301が「11」であるDLパケット(以下、「DLパケット#11」と記載)に関して、識別子が「BS4#2」であるBS4(以下、「BS4#2」と記載、他のBS4についても同様の規則で記載する)、およびBS4#3から、DLパケット#11を破棄したことを示すメッセージをそれぞれGW2が受信したことを示す。この場合、BS4#2に送信されたDLパケット#11およびBS4#3に送信されたDLパケット#11の通信は失敗した(すなわち、それらのDLパケット#11は、送信先のMS5に到着しない)と判定される。
【0136】
一方、図13の例では、GW2は、BS4#1からDLパケット#11を破棄したことを示すメッセージを受信していない。GW2が当該メッセージをタイムアウト時刻(図13の例では12:00:22)までに受信しなかった場合、BS4#1に送信されたDLパケット#11の通信に成功した(すなわち、DLパケット#11は、BS4#1を経由して送信先のMS5に到着した)と判定される。
【0137】
上記の例では、同一のMS5に送信されるべきDLパケット#11が、三つのBS4(すなわちBS4#1〜#3)に送信されている。すなわち、三つのBS4に送信される三つのDLパケット#11は、互いの複製に相当し、それらの内容は同一である。このような、同一内容の複数のパケットの複数のBS4への送信は、複数のBS4間のハンドオーバのシーケンス中に行われてもよいし、通信経路の冗長化による通信の信頼性向上のために行われてもよい。実際には同一内容の複数のパケットのうち一つが送信先のMS5に到着すれば十分である。
【0138】
なお、図13では、全てのパケットの送信先BS4の組み合わせが同じである例を示しているが、送信先BS4の組み合わせはパケット毎に違ってもよい。
【0139】
パケット情報保持のタイムアウト時刻1307は、GW2がテーブル259から当該DLパケットに関する情報を削除してよい時刻である。パケット情報保持のタイムアウト時刻1307として、例えば、GW2が設置されている場所の標準時刻またはGW2を管理しているオペレータが設定する標準時刻を用いてもよいし、ある基準時刻からの経過秒数などを数値化したものを用いてもよい。
【0140】
なお、テーブル259に含まれる情報は、GW2における複数のBS4に対するDLパケットの送信、および、PS3、CS6またはBS4から受信したメッセージによって更新させることができる。
【0141】
図14に、本実施例のGW2のメモリ部25が保持する情報の一例として、テーブル260を示す。テーブル260は、複数のBS4へ送信されたDLパケットに対する重み付け積算におけるBS4に関する総合的な重み値を決定するための情報を示す。テーブル260には、例えば、BS4の識別子(BS ID)1401、BS4の重み優先度(Weight Priority)1402、バイト数重み値(Weight(for bytes))1403、およびパケット数重み値(Weight(for packets))1404が記憶される。
【0142】
BS4の識別子1401は、各BS4を識別するパラメータであり、GW2が送信したDLパケットの通信に関わるBS4と重み値などの情報とを関連づけるために使用される。
【0143】
BS4の重み優先度1402は、GW2が送信したDLパケットの通信に関わるBS4と対応する重み値を決定するためのパラメータである。GW2が複数のBS4へDLパケットを送信した場合、DLパケット送信に成功したBS4のうち、例えば、重み優先度の値が最も小さいBS4に関連付けられた重み値を当該DLパケットに対応する重み値として決定してもよい。
【0144】
バイト数重み値1403は、GW2が送信したDLパケットのバイト数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。なお、テーブル251の場合と同様、テーブル260においてバイト数重み値1403が省略された場合、重み値=1の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。
【0145】
パケット数重み値1404は、GW2が送信したDLパケットのパケット数を重み付け積算する際のBS4の混雑度に基づく重み値を示すパラメータである。なお、テーブル251の場合と同様、テーブル260においてパケット数重み値1404が省略された場合、重み値=1の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。
【0146】
なお、テーブル260に含まれる情報の初期値は、GW2に設定されていてもよいし、PS3、CS6またはBS4からGW2が受信したメッセージによって設定されてもよい。また、これらの情報は、PS3、CS6またはBS4からGW2が受信したメッセージによって更新させることができる。
【0147】
以上のように、本実施例では、重み値の決定条件を保持するテーブル251(図5)、254(図8)、テーブル255(図9)、テーブル256(図10)およびテーブル258(図12)を例示した。メモリ部25がこれらのテーブルのうちいずれか一つのみを保持し、GW2の処理部26がそのテーブルに基づいて重み値を決定してもよい。あるいは、メモリ部25がこれらのテーブルのいくつかまたは全てを保持し、GW2の処理部26が必要に応じてそれらのテーブルいずれかに基づいて重み値を決定してもよい。あるいは、GW2の処理部26が、受信した一つのパケットについて、複数のテーブルに基づいて複数の重み値を決定し、それらの複数の重み値に基づいて最終的に適用される重み値を決定してもよい(後述)。なお、上記の各テーブルは重み値の決定条件の一例を示しているに過ぎず、上記以外の決定条件がメモリ部25に保持されてもよい。
【0148】
<装置構成:PS3>
図15に、本実施例で使用するPS3の一例の機能ブロック図を示す。PS3は、例えば、GWインタフェース部31と、CSインタフェース部32と、メモリ部33と、処理部34とを有する。
【0149】
GWインタフェース部31は、GW2とのインタフェースである。GWインタフェース部31を用いて、PS3はGW2との間でIPパケットの送受信を行う。本実施の形態では、PS3はGWインタフェース部31を用いて、GW2から積算閾値到達メッセージを受信してもよい。
【0150】
CSインタフェース部32は、CS6とのインタフェースである。CSインタフェース部32を用いて、PS3はCS6との間でIPパケットの送受信を行う。本実施の形態では、PS3はCSインタフェース部32を用いて、CS6へステータス変更メッセージを送信したり、CS6からステータス変更メッセージを受信したり、CS6のステータス変更メッセージに対する応答メッセージをCS6へ送信したりしてもよい。PS3がCS6と直接通信を行わない場合、CSインタフェース部32は、省略されてもよい。
【0151】
メモリ部33は、送受信するIPパケット、接続するGW2およびCS6のアドレスなどの情報を、必要に応じて記憶および管理する。
【0152】
処理部34は、メモリ部33に保持される情報の管理、IPパケットの構築および解析などのIPパケット送受信処理、ならびに、QoSまたは課金に関するパラメータの決定などを行う。
【0153】
<装置構成:CS6>
図16に、本実施例で使用するCS6の一例の機能ブロック図を示す。CS6は、例えば、GWインタフェース部61と、PSインタフェース部62と、メモリ部63と、処理部64とを有する。
【0154】
GWインタフェース部61は、GW2とのインタフェースである。GWインタフェース部61を用いて、CS6はGW2との間でIPパケットの送受信を行う。本実施の形態では、CS6はGWインタフェース部61を用いて、GW2から積算閾値到達メッセージを受信してもよい。
【0155】
PSインタフェース部62は、PS3とのインタフェースである。PSインタフェース部62を用いて、CS6はPS3との間でIPパケットの送受信を行う。本実施の形態では、CS6はPSインタフェース部62を用いて、PS3へステータス変更メッセージを送信したり、PS3からステータス変更メッセージを受信したり、PS3のステータス変更メッセージに対する応答メッセージをPS3へ送信したりしてもよい。CS6がPS3と直接通信を行わない場合、PSインタフェース部62は、省略されてもよい。
【0156】
メモリ部63は、送受信するIPパケット、接続するGW2およびPS3のアドレスなどの情報を、必要に応じて記憶および管理する。
【0157】
処理部64は、メモリ部63に保持される情報の管理、IPパケットの構築および解析などのIPパケット送受信処理、および課金に関するパラメータの決定などを行う。
【0158】
以上で、本実施例の装置構成の一例についての説明を終了し、続いて本実施例の動作処理の一例を図17〜図22のフローチャートを用いて説明する。
【0159】
<動作処理:GW2における重み付け積算>
図17に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算処理の一例を示す。
【0160】
ステップS201において、GW2の処理部26は、BSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、メモリ部25に保持しているパケットフィルタリング条件に従って、当該パケットと関連付けられたQoSまたは課金のパラメータを決定する。パケットフィルタリング条件および当該パケットと関連付けられたQoSまたは課金のパラメータの決定は、例えば、非特許文献1に記載されているSession BindingおよびBearer Bindingと同様の方法で行われてもよい。これによって、受信パケットのUL/DL種別、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、および宛先ポート番号などの情報と、メモリ部25に保持しているパケットフィルタリング条件とが比較され、その比較に基づいて、適用されるQoSまたは課金のパラメータとして、例えばMS5の識別子、サービスの識別子、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、帯域制限値、パケットの送信優先度などが決定される。
【0161】
なお、当該パケットの送信処理は、例えば、本シーケンスと並行してGW2の処理部26の別処理として行われてもよいし、本シーケンスのステップS204における判定結果が出てからGW2の処理部26の別処理として行われてもよい。送信処理の詳細については、例えば、通常のゲートウェイで行われる送信処理と同様であるため、説明は省略する。
【0162】
ステップS202において、GW2の処理部26は、BSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、ステップS201で決定された、当該パケットに適用されるQoSまたは課金のパラメータと、メモリ部25に保持している重み値と積算閾値の決定条件に従って、当該パケットと関連付けられた重み値および積算閾値を決定する。GW2がメモリ部25に保持している重み値の決定条件は、例えば、図5に示すテーブル251のように管理されており、GW2の処理部26は、ステップS201で特定されたパケットと関連付けられたMS5の識別子およびサービスの識別子に基づいて、対応する重み値を決定する。また、重み値決定の際に、MS5の識別子およびサービスの識別子以外の条件によって決定される重みを反映してもよく、その場合の処理の一例については、別途説明する。GW2がメモリ部25に保持している積算閾値の決定条件は、例えば、図6に示すテーブル252のように管理されており、GW2の処理部26は、ステップS201で特定された積算グループの識別子に基づいて、対応する積算閾値を決定する。
【0163】
なお、ステップS202において、GW2の処理部26は、時刻に基づいて重み値を決定する処理またはBS4の混雑度に基づいて重み値を決定する処理を実行してもよい。これらの処理については後述する。
【0164】
ステップS203において、GW2の処理部26は、BSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、ステップS201で決定された、当該パケットに適用される積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、および、ステップS202で決定された当該パケットの重み値に従って、当該パケットのパケット数またはバイト数の一方または双方を、当該パケットに適用される積算グループの識別子に関連付けられたカウンタに積算する。なお、当該パケットに適用されるパケット数を積算対象に含むか否かのフラグと、バイト数を積算対象に含むか否かのフラグが、いずれも「積算対象に含まない」ことを示している場合、ステップS203は省略されてもよい。
【0165】
GW2がメモリ部25に保持している積算グループの識別子と関連付けられたカウンタの積算値は、例えば、図7に示すテーブル253のように管理されており、ステップS201で決定されたパケットと関連付けられた積算グループの識別子毎に当該パケットに関する積算を行う前のパケット数積算値またはバイト数積算値の一方または双方が保持されている。GW2の処理部26は、ステップS201で決定された、パケット数を積算対象に含むか否かのフラグが、「積算対象に含む」ことを示している場合、当該パケットのパケット数と、ステップS202で決定された重みとの積を算出し、算出された積を、それに対応するテーブル253のカウンタの積算値に加えて、テーブル253を更新する。同様に、GW2の処理部26は、ステップS201で決定された、バイト数を積算対象に含むか否かのフラグが、「積算対象に含む」ことを示している場合、当該パケットのバイト数と、ステップS202で決定された重みとの積を算出し、算出された積を、それに対応するテーブル253のカウンタの積算値に加えて、テーブル253を更新する。更新結果は、メモリ部25に保存される。
【0166】
ステップS204において、GW2の処理部26は、ステップS203で更新されたパケット数またはバイト数の一方または双方に関するカウンタの積算値が、ステップS202で決定された該カウンタに紐づく積算閾値以上になったか否かを判定する。
【0167】
ステップS204の判定結果が「積算閾値以上になっていない」であった場合、GW2の処理部26は、ステップS205Nにおいて、本シーケンスを終了する。
【0168】
ステップS204の判定結果が「積算閾値以上になった」であった場合、GW2の処理部26は、ステップS205Yにおいて、積算閾値を超えたカウンタに関連付けられた宛先へ送信する積算閾値到達メッセージを作成し、当該宛先へ積算閾値到達メッセージを送信して本シーケンスを終了する。積算閾値到達メッセージには、例えば、積算閾値を超えたカウンタに関連付けられる情報として、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報が設定されてもよい。また、GW2がメモリ部25に保持している積算閾値を超えたカウンタに関連付けられる宛先は、例えば、図6に示すテーブル252と同様の形式で管理されており、ステップS204で「積算閾値以上になった」と判定されたカウンタと関連付けられる宛先が保持されている。
【0169】
例えば、テーブル252と同様の形式のテーブルに、PS3またはCS6の一方または双方を示すフラグが設定されており、宛先として選択されたPS3またはCS6の一方または双方の宛先IPアドレスは通常のゲートウェイと同様にメモリ部25に保持されていてもよい。あるいは、テーブル252と同様の形式のテーブルに、宛先IPアドレスと対応するインタフェースが直接設定されていてもよい。
【0170】
<動作処理:PS3における積算閾値到達メッセージ受信処理>
図18に、PS3における積算閾値到達メッセージ受信の処理の一例を示す。
【0171】
ステップS301において、PS3の処理部34は、GWインタフェース部31で受信した積算閾値到達メッセージの解析を行う。PS3の処理部34は、例えば、積算閾値到達メッセージに設定されている情報として、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、PS3の処理部34は、ステップS301の後に、GWインタフェース部31で受信した積算閾値到達メッセージに対する応答メッセージを作成して、GWインタフェース部31を用いてGW2へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS303NまたはS303Yの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0172】
続いて、ステップS302において、PS3の処理部34は、ステップS301で読み出した情報に基づいて、QoSまたは課金に関するパラメータの変更有無を判定する。PS3の処理部34は、例えば、メモリ部33で管理しているQoSまたは課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられたQoSまたは課金に関するパラメータを検索する。同様に、PS3の処理部34は、メモリ部33で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用しているQoSまたは課金に関するパラメータを検索する。そして、PS3の処理部34は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0173】
ステップS302で変更なしと判定された場合、PS3の処理部34は、ステップS304へ移行する。
【0174】
ステップS302で変更ありと判定された場合、PS3の処理部34は、ステップS303Yで、GW2へQoSまたは課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部31を用いてGW2へ変更要求メッセージを送信して、ステップS304へ移行する。変更要求メッセージには、例えば、帯域制限値、パケットの送信優先度、パケットとQoSまたは課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0175】
続いて、ステップS304において、PS3の処理部34は、ステップS301で読み出した情報からQoSまたは課金に関するステータスの変更有無を判定する。PS3の処理部34は、例えば、メモリ部33で管理しているQoSまたは課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられたQoSまたは課金に関するステータスを検索する。同様に、PS3の処理部34は、メモリ部33で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用しているQoSまたは課金に関するステータスを検索する。そして、PS3の処理部34は、両方の検索結果が一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0176】
ステップS304で変更なしと判定された場合、PS3の処理部34は、ステップS305Nで、本シーケンスを終了する。
【0177】
ステップS304で変更ありと判定された場合、PS3の処理部34は、ステップS305Yで、CS6へQoSまたは課金に関するステータスの変更を通知するためのステータス変更メッセージを作成し、CSインタフェース部32を用いてCS6へステータス変更メッセージを送信する。ステータス変更メッセージには、例えば、QoSステータス、課金ステータス、積算グループの識別子、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0178】
ここで、ステータス変更メッセージについて説明する。
【0179】
従来の通信システムでは、PS3がQoSに関するポリシーと課金に関する情報の一部を管理する一方、CS6は、課金に関する情報を管理する場合があった。PS3とCS6は互いに情報をやり取りすることがなく、GW2は、QoSに関する情報のやり取りをPS3との間で、課金に関する情報のやり取りをCS6との間で、それぞれ独立に行う必要があった。
【0180】
これに対して、本実施例では、PS3がCSインタフェース部32を有し、CS6がPSインタフェース部62を有することによって、PS3とCS6とが相互に通信することができる。このため、本実施例では、従来と同様に、GW2がPS3およびCS6のそれぞれと独立に通信(例えば積算閾値到達メッセージの送信)することによって、PS3およびCS6のそれぞれにパラメータの変更等を実行させてもよいが、GW2がPS3のみと通信し、PS3が必要に応じて所定の情報(例えばステータス変更メッセージ)をCS6に送信することによって(ステップS304およびS305Y)、PS3およびCS6のそれぞれにパラメータの変更等を実行させることもできる。
【0181】
ステータス変更メッセージは、上記のように、CS6が課金に関するパラメータを変更するか否か、及び、変更する場合にはどのように変更するかを判定するために必要な情報を含む。CS6は、PS3から受信したステータス変更メッセージに基づいて、パラメータの変更の有無を判定する。この処理については後述する(図21参照)。
【0182】
GW2は、従来と同様にPS3およびCS6のそれぞれと独立に通信する場合(すなわちPS3とCS6とが相互に通信する必要がない場合)、ステップS304およびS305Yを実行する必要がない。
【0183】
なお、本実施例のGW2は、CS6のみと通信し、CS6が必要に応じて所定の情報(例えばステータス変更メッセージ)をPS3に送信することによって、PS3およびCS6のそれぞれにパラメータの変更等を実行させることもできる。このときに送信されたステータス変更メッセージは、PS3がQoSまたは課金に関するパラメータを変更するか否か、及び、変更する場合にはどのように変更するかを判定するために必要な情報を含む。PS3は、CS6から受信したステータス変更メッセージに基づいて、パラメータの変更の有無を判定する。このようなCS6およびPS3の処理については後述する(図19および図20参照)。
【0184】
<動作処理:CS6における積算閾値到達メッセージ受信処理>
図19に、CS6における積算閾値到達メッセージ受信の処理の一例を示す。
【0185】
ステップS601において、CS6の処理部64は、GWインタフェース部61で受信した積算閾値到達メッセージの解析を行う。CS6の処理部64は、例えば、積算閾値到達メッセージに設定されている情報として、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、CS6の処理部64は、ステップS601の後に、GWインタフェース部61で受信した積算閾値到達メッセージに対する応答メッセージを作成して、GWインタフェース部61を用いてGW2へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS603NまたはS603Yの後で行われもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0186】
続いて、ステップS602において、CS6の処理部64は、ステップS601で読み出した情報に基づいて、課金パラメータの変更有無を判定する。CS6の処理部64は、例えば、メモリ部63で管理している課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられた課金パラメータを検索する。同様に、CS6の処理部64は、メモリ部63で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用している課金パラメータを検索する。そして、CS6の処理部64は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0187】
ステップS602で変更なしと判定された場合、CS6の処理部64は、ステップS603Nで、ステップS604へ移行する。
【0188】
ステップS602で変更ありと判定された場合、CS6の処理部64は、ステップS603Yで、GW2へ課金パラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部61を用いてGW2へ変更要求メッセージを送信して、ステップS604へ移行する。変更要求メッセージには、例えば、パケットと課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0189】
続いて、ステップS604において、CS6の処理部64は、ステップS601で読み出した情報から課金に関するステータスの変更有無を判定する。CS6の処理部64は、例えば、メモリ部63で管理している課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられた課金に関するステータスを検索する。同様に、CS6の処理部64は、メモリ部63で管理している積算閾値到達メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用している課金に関するステータスを検索する。そして、CS6の処理部64は、両方の検索結果が一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0190】
ステップS604で変更なしと判定された場合、CS6の処理部64は、ステップS605Nで、本シーケンスを終了する。
【0191】
ステップS604で変更ありと判定された場合、CS6の処理部64は、ステップS605Yで、PS3へ課金に関するステータスの変更を通知するためのステータス変更メッセージを作成し、PSインタフェース部62を用いてPS3へステータス変更メッセージを送信する。ステータス変更メッセージには、例えば、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報が設定される。
【0192】
なお、図18の場合と同様、GW2は、PS3およびCS6のそれぞれと独立に通信する場合、ステップS604およびS605Yを実行する必要がない。
【0193】
<動作処理:PS3におけるステータス変更メッセージ受信処理>
図20に、PS3におけるステータス変更メッセージ受信の処理の一例を示す。
【0194】
ステップS311において、PS3の処理部34は、CSインタフェース部32で受信したステータス変更メッセージの解析を行う。PS3の処理部34は、例えば、ステータス変更メッセージに設定されている情報として、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、PS3の処理部34は、ステップS311の後に、CSインタフェース部32で受信したステータス変更メッセージに対する応答メッセージを作成して、CSインタフェース部32を用いてCS6へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS313NまたはS313Yの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0195】
続いて、ステップS312において、PS3の処理部34は、ステップS311で読み出した情報に基づいて、QoSまたは課金に関するパラメータの変更有無を判定する。PS3の処理部34は、例えば、メモリ部33で管理しているQoSまたは課金のポリシー情報に基づいて、ステータス変更メッセージに設定されている、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられたQoSまたは課金に関するパラメータを検索する。同様に、PS3の処理部34は、メモリ部33で管理しているステータス変更メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用しているQoSまたは課金に関するパラメータを検索する。そして、PS3の処理部34は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0196】
ステップS312で変更なしと判定された場合、PS3の処理部34は、ステップS313Nで、本シーケンスを終了する。
【0197】
ステップS312で変更ありと判定された場合、PS3の処理部34は、ステップS313Yで、GW2へQoSまたは課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部31を用いてGW2へ変更要求メッセージを送信する。変更要求メッセージには、例えば、帯域制限値、パケットの送信優先度、パケットとQoSまたは課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0198】
<動作処理:CS6におけるステータス変更メッセージ受信処理>
図21に、CS6におけるステータス変更メッセージ受信の処理の一例を示す。
【0199】
ステップS611において、CS6の処理部64は、PSインタフェース部62で受信したステータス変更メッセージの解析を行う。CS6の処理部64は、例えば、ステータス変更メッセージに設定されている情報として、QoSステータス、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、CS6の処理部64は、ステップS611の後に、PSインタフェース部62で受信したステータス変更メッセージに対する応答メッセージを作成して、PSインタフェース部62を用いてPS3へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップS613NまたはS613Yの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【0200】
続いて、ステップS612において、CS6の処理部64は、ステップS611で読み出した情報に基づいて、課金に関するパラメータの変更有無を判定する。CS6の処理部64は、例えば、メモリ部63で管理している課金のポリシー情報に基づいて、ステータス変更メッセージに設定されている、課金ステータス、課金ステータス、積算グループの識別子、MS5の識別子、サービスの識別子などの情報と関連付けられた課金に関するパラメータを検索する。同様に、CS6の処理部64は、メモリ部63で管理しているステータス変更メッセージに設定されている、MS5の識別子、サービスの識別子などの情報と関連付けられたGW2で現在適用している課金に関するパラメータを検索する。そして、CS6の処理部64は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【0201】
ステップS612で変更なしと判定された場合、CS6の処理部64は、ステップS613Nで、本シーケンスを終了する。
【0202】
ステップS612で変更ありと判定された場合、CS6の処理部64は、ステップS613Yで、GW2へ課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、GWインタフェース部61を用いてGW2へ変更要求メッセージを送信する。変更要求メッセージには、例えば、パケットと課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、MS5の識別子、およびサービスの識別子などの情報が設定される。
【0203】
<動作処理:GW2における時刻に基づく重み値の決定>
以下に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値を時刻に基づいて決定する処理の一例を示す。この処理は、図17のステップS202において実行される。
【0204】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、当該パケットの受信時刻と、メモリ部25に保持している時刻に基づく重み値の決定条件と、に従って、当該パケットに対応する受信時刻に基づく重み値を決定する。GW2がメモリ部25に保持している時刻に基づく重み値の決定条件は、例えば、図8に示すテーブル254のように管理されていてもよいし、図9に示すテーブル255のように管理されていてもよい。GW2の処理部26は、テーブル254を参照して、ステップS201で特定されたパケットと関連付けられたMS5の識別子およびサービスの識別子に基づいて、対応する重み値を決定してもよいし、テーブル255を参照して、ステップS201で特定されたパケットと関連付けられた積算グループの識別子に基づいて、対応する重み値を決定してもよいし、MS5の識別子とサービスの識別子の一方または双方に基づいて決定した重み値、および、積算グループの識別子に基づいて決定した重み値などの、複数の重み値を用いて総合的な重み値を決定してもよい。また、時刻に関する情報として、例えば、GW2が設置されている場所の標準時刻またはGW2を管理しているオペレータが設定する標準時刻を用いてもよいし、ある基準時刻からの経過秒数などを数値化したものを用いてもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【0205】
<動作処理:GW2におけるBS4の混雑度に基づく重み値の決定>
以下に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値をBS4の混雑度に基づいて決定する処理の一例を示す。この処理は、図17のステップS202において実行される。
【0206】
なお、この処理の手順は、ステップS202においてBS4の混雑度が考慮されるという点を除いて、図17に示したものと同様である。
【0207】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、当該パケットの通信に用いられるBS4の混雑度と、メモリ部25に保持しているBS4の混雑度に基づく重み値の決定条件と、に従って、当該パケットに対応するBS4の混雑度に基づく重み値を決定する。
【0208】
GW2がメモリ部25に保持しているBS4の混雑度に基づく重み値の決定条件は、例えば、図10に示すテーブル256のように管理されていてもよい。この場合、GW2の処理部26は、ステップS201で特定されたパケットと対応するBS4の識別子と、BS4から取得したセルスループットとGW2の処理部26で計測されているMS5当たりの送信バイト数から算出した、各BS4に接続する全MS5の総送信スループットとセルスループットとの比と、に基づいて、対応する重み値を決定してもよい。
【0209】
あるいは、GW2がメモリ部25に保持しているBS4の混雑度に基づく重み値の決定条件は、例えば、図12に示すテーブル258のように管理されていてもよい。この場合、GW2の処理部26は、ステップS201で特定されたパケット対応するBS4の識別子と、BS4から取得したセルスループットから算出した、各BS4に接続するMS5の全数とセルスループットとの比と、に基づいて、対応する重み値を決定してもよい。
【0210】
なお、上記のいずれの場合にも、GW2の処理部26は、例えば、テーブル257(図11参照)によって管理されているBS4の識別子と当該BS4に接続するMS5の識別子との対応関係に基づいて、ステップS201で特定されたパケットと対応するMS5の識別子を特定してもよい。テーブル257の対応関係は、MS5の位置登録メッセージまたはハンドオーバメッセージをGW2が受信した契機などで更新されてもよい。また、BS4のセルスループットは、例えば、GW2のBSインタフェース部22がBS4から受信してもよいし、保守などの、重み値の決定とは別の目的で取得した統計情報を保持しているサーバ(図示省略)から取得してもよい。
【0211】
また、GW2の処理部26は、例えば、各BS4に接続する全MS5の送信スループットとセルスループットの比に基づいて決定した重み値と、各BS4に接続するMS5の全数とセルスループットの比に基づいて決定した重み値などの、複数の重み値を用いて総合的な重み値を決定してもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【0212】
<動作処理:GW2におけるBS4破棄パケットに対する重み付け積算値修正>
以下に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算値をBS4で破棄されたか否かに基づいて修正する処理の一例を示す。
【0213】
GW2の処理部26は、BSインタフェース部22で送信したDLパケットまたはSSインタフェース部21で送信したULパケットに対して、当該パケットが破棄されたと判定された場合、当該パケットの重み付け積算値を反映したカウンタの積算値から、該パケットに関する重み付け積算値を除いてもよい。
【0214】
当該パケットに関する重み付け積算値の除外は、例えば、当該パケットの破棄を示す通知を受信した契機などでカウンタの積算値から積算済みの当該パケットに関する重み付け積算値を引くことによって実行されてもよいし、当該パケットが破棄されなかったことを示す通知を受信するまでカウンタの積算値に積算済みの当該パケットに関する重み付け積算値を加えないことによって実行されてもよい。
【0215】
また、前記の当該パケットの破棄を示す通知は、例えば、BS4からBSインタフェース部22が受信した当該パケットの破棄を示すメッセージであってもよいし、SS1からSSインタフェース部21が受信した当該パケットの破棄を示すメッセージであってもよいし、BS4およびSS1などの各ノードで破棄されたパケットの情報を保守管理などの目的で取得しているサーバから受信した、当該パケットの破棄を示すメッセージであってもよい。
【0216】
また、前記の当該パケットが破棄されなかったことを示す通知は、例えば、BS4からBSインタフェース部22が受信した当該パケットの受信処理の成功を示すメッセージであってもよいし、SS1からSSインタフェース部21が受信した当該パケットの受信処理の成功を示すメッセージであってもよいし、BS4およびSS1などの各ノードで受信処理が成功したパケットの情報を保守管理などの目的で取得しているサーバから受信した、当該パケットの受信処理の成功を示すメッセージであってもよい。
【0217】
また、当該パケットに関する重み付け積算値は、例えば、次のように特定されてもよい。まず、GW2の処理部26は、GW2における重み付け積算処理において、パケット毎の重み付け積算値を算出した結果をGW2のメモリ部25にパケットの識別情報と関連付けて一定時間保持する。その後、GW2が当該パケットの破棄通知を受信すると、GW2の処理部26は、その破棄通知に含まれるパケットの識別情報を基に、当該パケットの重み付け積算値をメモリ部25から読み出す。パケットの識別情報としては、例えば、UDPヘッダのシーケンス番号などが用いられてもよい。
【0218】
図22に、本実施例のGW2におけるULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算値を、パケットがBS4で破棄されたか否かに基づいて修正する処理を示す。具体的には、その一例として、MS5が複数のBS4との間にコネクションを確立した状態で、MS5が複数のBS4から同じパケットを受信する可能性のある場合の処理を示す。このような、MS5が複数のBS4から同じパケットを受信するケースは、例えば、異なるBS4間のハンドオーバのシーケンス中、または、冗長性確保のために複数のBS4を経由する複数経路を用いた同時通信が行われる場合などに発生し得る。複数経路を用いた同時通信について言えば、GW2がパケットを複製して複数のBS4に対して同じDLパケットを送信することで、MS5へパケットが未達となる確率を減少させることができるため、緊急通報または緊急制御信号などの重要度の高いパケットの通信などにおいて有用である。
【0219】
ステップS211において、GW2の処理部26は、ステップS201においてSSインタフェース部21が受信したDLパケットに対して、当該パケットの識別子を設定し、DLパケットの宛先となる複数のBS4へBSインタフェース部22を用いてそれぞれ送信する。当該パケットの識別子としては、例えば、UDPヘッダのシーケンス番号が用いられる。以下では、例えば、GW2が3台のBS4(以下、それぞれBS4#1、BS4#2、BS4#3とする)に対して同じパケットを送信する場合の処理を示す。
【0220】
ステップS212において、GW2の処理部26は、S211で各BS4へ送信したパケットの識別子、当該パケットに関する重み付け積算値、送信先BS4の識別子、およびタイムアウト時刻をそれぞれテーブル259に追加する。テーブル259は、例えば、図13のように管理されている。当該パケットには、当該パケットがBS4で破棄された際にGW2へ該パケットの識別子の通知を要求することを示す情報を含むことができる。例えば、UDPヘッダのシーケンス番号がBS4と合意した特定の値域に含まれる値か否かによって、BS4に対して当該パケットが破棄された場合にGW2へ当該パケットの識別子を通知することを要求するか否かを指定してもよい。あるいは、新たに付与したフィールドまたはヘッダに、上記のような当該パケットが破棄された場合の通知を要求するか否かのフラグを設定してもよい。また、タイムアウト時刻は、GW2の設定ポリシーに従って設定すればよい。例えば、GW2に、タイムアウトするまでのタイマ値を事前設定しておき、現在時刻から当該タイマ値だけ経過した時刻をタイムアウト時刻として設定してもよい。
【0221】
ステップS213において、GW2の処理部26は、テーブル259を参照して、当該パケットのタイムアウト時刻前に、BS4から当該パケットの破棄を示すメッセージ(以下、破棄通知とも記載する)を受信したか否かを判定する。当該パケットの破棄を示すメッセージには、メッセージの送信元となるBS4の識別子、および破棄されたパケットの識別子などが含まれる。
【0222】
当該パケットの破棄を示すメッセージを受信しないままタイムアウト時刻となった場合、GW2の処理部26は、ステップS214Nにおいて、MS5が当該パケットを受信成功したと判定し、テーブル259から当該パケットに関する情報全てを削除して処理を終了する。この場合、当該パケットは送信成功パケットと判定され、当該パケットのパケット数またはバイト数のいずれかまたは両方はGW2における重み付け積算の対象に含まれる。
【0223】
タイムアウト時刻となる前に当該パケットの破棄を示すメッセージを受信した場合、GW2の処理部26は、ステップS214Yにおいて、受信したメッセージの送信元となるBS4の識別子が、テーブル259に記録された当該パケットの送信先BS4の識別子(図13の例ではBS4の識別子1304〜1306)に含まれるか否かを判定する。
【0224】
受信したメッセージの送信元となるBS4の識別子が当該パケットの送信先BS4の識別子に含まれない場合、GW2の処理部26は、ステップS215Nにおいて受信メッセージを破棄して、ステップS213から処理を続行する。
【0225】
受信したメッセージの送信元となるBS4の識別子が当該パケットの送信先BS4の識別子に含まれる場合、GW2の処理部26は、ステップS215Yにおいて、テーブル259を更新し、当該パケットの当該送信先BS4の識別子に対応するフィールドに、破棄通知を受信したことを示す情報(図13に例示する「×」に相当する情報)を追記する。なお、GW2の処理部26は、破棄通知を受信した契機で、テーブル259の当該パケットのタイムアウト時刻を更新してもよい。タイムアウト時刻の更新は、例えば、当該パケットに対して初めての破棄通知を受信した契機でのみ行ってもよいし、破棄通知を受信した契機全てで行ってもよい。
【0226】
GW2の処理部26は、ステップS216で、当該パケットの全ての送信先BS4から破棄通知を受信したか否かを判定する。
【0227】
当該パケットの送信先BS4の中に未だ破棄通知を受信していないBS4が残っている場合、GW2の処理部26は、ステップS217Nで、ステップS213から処理を続行する。
【0228】
該パケットの送信先BS4全てから破棄通知を受信した場合、GW2の処理部26は、ステップS217Yで、MS5が当該パケットを受信失敗したと判定し、テーブル259の当該パケットに関する情報全てを削除して、処理を終了する。この場合、当該パケットのパケット数またはバイト数のいずれかまたは両方は、GW2における重み付け積算の対象から除外される。
【0229】
ここで、GW2がメモリ部25に保持している、複数のBS4に対するパケット複製送信ケースにおける重みの決定条件は、例えば、図14に示すテーブル260のように管理されていてもよい。この場合、GW2の処理部26は、パケット送信に成功した各BS4のうち、BS4毎に設定されている重み優先度の値が最も小さい(または最も大きい)BS4に関連付けられた重み値を、当該パケットに対応する重み値として決定する。
【0230】
また、GW2がメモリ部25に保持している、複数のBS4に対するパケット複製送信ケースにおける重みの決定条件の別の例は、例えば、図14に示すテーブル260からBS4毎に設定されている重み優先度のみを削除したテーブルとして管理されてもよい。この場合、GW2の処理部26は、パケット送信に成功した各BS4に対して、BS4毎に設定された重み値の平均値または総和を、当該パケットに対応する重み値として決定する。
【0231】
上記のように、同一内容の複数のパケットを多重に送信した場合において、それらのうち二つ以上のパケットの送信に成功した場合の重み値の決定方法は、QoSまたは課金のポリシーに基づいて定められてもよい。例えば課金の場合、同一内容のパケットを複数受信したとしても、実際にユーザが利用するのはそれらのうち一つのみであるから、一つのパケットについてのみ重み付け積算を行う、というポリシーもあり得る(上記の、重み優先度の値に基づいて一つのBS4に関する重み値を利用するケース)。一方、実際には一つのパケットしか利用されないとしても、実際に多重にパケットを送信するためにリソースが消費され、リソースの冗長性による通信の確実化の恩恵をユーザが享受したのであるから、通信に成功したすべてのパケットについて重み付け積算を行う、というポリシーもあり得る(上記の、重み値の総和を利用するケース)。
【0232】
なお、上記のように同一内容の複数のパケットが多重に送信される場合ではなく、当該内容の1パケットのみが送信される場合であっても、GW2の処理部26は、そのパケットの送信に成功した場合(すなわちそのパケットがBS4で破棄されずに送信先に到達した場合)にのみ、当該パケットを重み付け積算の対象に含めるように、重み付け積算の処理を実行することができる。
【0233】
また、例えば、ここで決定した複数のBS4に対するパケット複製送信ケースにおける重み値以外に、時刻などの他の条件に基づいて決定された重み値などの複数の重み値を用いて総合的な重み値を決定してもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【0234】
<動作処理:GW2における複数の条件に基づく総合的な重み決定>
以下に、本実施例のGW2における、ULパケットまたはDLパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値を、複数の条件に基づく総合的な重み値として決定する処理の一例を示す。
【0235】
既に説明したように、GW2のメモリ部25は、重み値の決定条件(言い換えると、受信したパケットと重み値とを関連付ける情報のセット)を複数記憶していてもよい。例えば、テーブル251が一つの決定条件であり、テーブル254が別の決定条件である。このような場合、受信した同一のパケットについてそれぞれの決定条件に基づいて互いに異なる重み値が決定される場合がある。そのような場合に、例えば次のような方法で、当該パケットのパケット数またはバイト数に最終的に適用される総合的な重み値が決定される。
【0236】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して、前記の例のような複数の重みの決定条件に従って、当該パケットと対応する総合的な重み値を決定してもよい。
【0237】
GW2が複数の条件に基づく総合的な重み値を決定する条件として、例えば、前記の例のような複数の重みの決定条件に対する決定条件毎の重み値がGW2のメモリ部25に管理されていてもよい。その場合、GW2の処理部26は、前記の例のように各決定条件に基づいて決定された各重み値に対して、決定条件毎の重み値を用いた重み付け線形和(すなわち、各決定条件に基づいて決定された各重み値と、決定条件毎の重み値との積の総和)を計算して、その計算結果を、対応する総合的な重み値として決定する。
【0238】
また、GW2が複数の条件に基づく総合的な重み値を決定する別の例として、GW2の処理部26は、前記の例のような複数の重みの決定条件に対する決定条件毎の重み値に基づいて、前記の例のように各決定条件に基づいて決定された各重み値に対して、決定条件毎の重み値の積を計算して、その計算結果を、対応する総合的な重み値として決定してもよい。
【0239】
<動作処理:GW2における重み値決定結果のMS5への通知>
以下に、本実施例のGW2における重み値決定結果をMS5へ通知する処理の一例を示す。
【0240】
GW2の処理部26は、ステップS201においてBSインタフェース部22で受信したULパケットまたはSSインタフェース部21で受信したDLパケットに対して決定された重み値を、MS5へ通知してもよい。
【0241】
MS5への通知は、例えば、BSインタフェース部22を用いて重み値通知メッセージをBS4へ送信し、BS4が重み値通知メッセージをMS5へ送信することによって実行されてもよい。重み値通知メッセージは、例えば、GW2で決定された重み値がGW2に設定されたある上限閾値を超えたこと、または、GW2で決定された重み値がGW2に設定されたある下限閾値を下回ったことを契機に送信されてもよいし、MS5が要求した任意の契機で送信されてもよい。また、重み値通知メッセージには、重み値を示す情報が含まれる。この重み値を示す情報は、例えば、重み値そのものを数値化したものであってもよいし、ある上限閾値を超えていた場合には「High」、ある下限閾値を下回っていた場合には「Low」、どちらでもない場合には「Middle」のように文字列情報に変換されたものであってもよい。また、重み値通知メッセージを受信したMS5は、当該メッセージに含まれる重み値を示す情報を、例えば、端末に実装されている液晶ディスプレイ(図示省略)などを用いて、適切な値または形式に変換してユーザに明示してもよい。
【0242】
<動作処理:GW2における重み値および重み値決定条件の変更>
以下に、本実施例のGW2において適用される重み値または重み値決定条件を変更する処理の一例を示す。ここで、重み値決定条件の変更とは、新たな重み値決定条件の追加、既に設定されている重み値決定条件の変更、および、既に設定されている重み値決定条件の削除などのケースを含む。
【0243】
GW2において適用される重み値または重み値決定条件は、例えば、PS3が保持する重み値決定条件がオペレータによって設定変更されたこと、または、異なるBS4間のハンドオーバによって無線通信規格、位置情報、もしくはBS4の混雑度などの重み値を決定するパラメータが変更されたことを契機に更新されてもよい。GW2において適用される重み値または重み値決定条件の変更処理は、例えば、重み値決定条件または重み値の決定に用いられるパラメータの変更を検出したPS3、BS4、MS5またはGW2などのノードが、各インタフェース部などを用いてGW2へ変更を示すメッセージを送信することで行われてもよい。
【0244】
重み値または重み値決定条件が変更された場合、GW2の処理部26は、その変更処理が完了した後、最初にステップS201において受信したパケットおよびそれ以降のパケットについて、変更された重み値または変更された決定条件に基づいて決定された重み値を適用してもよい。あるいは、GW2の処理部26は、変更処理が行われたときのコネクションが切断されるまでは、変更される前の重み値または重み値決定条件を適用し、次回以降のコネクションにおいて変更された重み値または変更された重み値決定条件を適用してもよい。
【0245】
また、GW2は、GW2で保持している重み値または重み値決定条件が変更された場合、PS3、BS4またはSS1などのノードへ、当該変更を示すメッセージを送信してもよい。
【0246】
上述の説明から明らかなように、本実施例の通信システムは、無線または有線の通信システムであって、QoSまたは課金のポリシーを決定する条件をパケット毎の重みとしてゲートウェイ等の通信装置におけるパケット数またはバイト数の一方または双方の積算に反映し、通信装置における前記パケット毎の重みを反映した積算結果が通信装置に予め設定された閾値に到達した契機で、前記積算結果の閾値到達に関するメッセージを通信装置から課金サーバまたはポリシー管理サーバの一方または双方へ送信する。これによって、通信装置内部における前記積算に用いるカウンタの数、および、通信装置と課金サーバまたはポリシー管理サーバの一方または双方への前記積算結果の閾値到達に関するメッセージ数を増やすことなく、パケット転送性能の劣化を防ぎつつQoSや課金のポリシーに基づく正確なタイミングでQoSまたは課金制御のパラメータを切り替えることが可能な通信システムおよび装置を提供することができる。
【0247】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。
【0248】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、DVD等の記録媒体に置くことができるし、必要に応じてネットワーク等を介してダウンロードし、各種の記憶装置にインストールすることも可能である。
【産業上の利用可能性】
【0249】
本発明は、例えば、無線または有線端末と送受信するIPパケットに対してQoS制御または課金を実施する通信システムに利用可能であり、GW、PS、CS、BS、MSおよびSS等の各種の通信装置に適用することができる。
【符号の説明】
【0250】
1 サービス提供サーバ(SS)
2 ゲートウェイ(GW)
21 SSインタフェース部
22 BSインタフェース部
23 PSインタフェース部
24 CSインタフェース部
25 メモリ部
251〜260 テーブル
26 処理部
3 ポリシー管理サーバ(PS)
31 GWインタフェース部
32 CSインタフェース部
33 メモリ部
34 処理部
4 基地局(BS)
5 端末(MS)
6 課金サーバ(CS)
61 GWインタフェース部
62 PSインタフェース部
63 メモリ部
64 処理部
【特許請求の範囲】
【請求項1】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第1手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第2手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更する第3手順と、を含むことを特徴とする通信システムの制御方法。
【請求項2】
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記パケットの受信時刻と前記重み値とを関連付ける情報を含み、
前記第1手順は、前記パケットの受信時刻に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項3】
前記通信システムは、前記ネットワークに接続され、前記端末装置との間で前記パケットを通信する基地局をさらに備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局の混雑度と前記重み値とを関連付ける情報を含み、
前記第1手順は、前記パケットの通信経路上の前記基地局の混雑度に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項4】
前記基地局の混雑度は、前記基地局のセルスループットと前記基地局に接続された前記端末装置との数の比、または、前記基地局のセルスループットと前記基地局に接続された前記端末装置の総送信スループットとの比のいずれかに基づいて定められることを特徴とする請求項3に記載の通信システムの制御方法。
【請求項5】
前記通信システムは、前記ネットワークに接続され、前記端末装置との間で前記パケットを通信する基地局をさらに備え、
前記通信システムの制御方法は、さらに、
前記通信装置が前記受信したパケットを前記基地局に送信する第4手順と、
前記送信したパケットが前記基地局において破棄されたか否かを判定する第5手順と、を含み、
前記第2手順は、前記送信したパケットが前記基地局において破棄されたか否かの判定結果に基づいて、前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算するか否かを判定する手順と、を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項6】
前記通信システムは、複数の前記基地局を備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局と前記重み値とを関連付ける情報、および、前記複数の基地局の各々と、重み値を決定するための優先度とを対応付ける情報をさらに含み、
前記第4手順は、前記通信装置が、前記受信したパケットおよびその複製を前記複数の基地局に送信する手順を含み、
前記第1手順は、前記第5手順において前記送信したパケットを破棄しなかったと判定された前記複数の基地局のうち、最も高い前記優先度と関連付けられた基地局に関連付けられた重み値を、前記受信したパケットに関連付けられた重み値として特定する手順を含むことを特徴とする請求項5に記載の通信システムの制御方法。
【請求項7】
前記通信システムは、複数の前記基地局を備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局と前記重み値とを関連付ける情報をさらに含み、
前記第4手順は、前記通信装置が、前記受信したパケットおよびその複製を前記複数の基地局に送信する手順を含み、
前記第1手順は、前記第5手順において前記送信したパケットを破棄しなかったと判定された前記複数の基地局に関連付けられた重み値の総和を、前記受信したパケットに関連付けられた重み値として特定する手順を含むことを特徴とする請求項5に記載の通信システムの制御方法。
【請求項8】
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセット、及び、前記各セットの重み値を保持し、
前記第1手順は、前記各セットに基づいて特定された重み値と、前記各セットの重み値との積の総和を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項9】
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセットを保持し、
前記第1手順は、前記複数のセットに基づいて特定された複数の重み値の積を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項10】
前記通信システムは、前記QoSに関するパラメータを決定するポリシー管理装置と、前記課金に関するパラメータを決定する課金管理装置と、をさらに備え、
前記通信装置は、前記カウンタと、前記カウンタによって積算された値の閾値とを関連付ける情報をさらに保持し、
前記通信システムの制御方法は、さらに、
前記カウンタによって積算された値が前記カウンタに関連付けられた閾値に到達した場合、前記通信装置が、前記閾値への到達を通知するメッセージを前記ポリシー管理装置または前記課金管理装置の少なくとも一方に送信する第6手順と、
前記閾値への到達を通知するメッセージを受信した前記ポリシー管理装置または前記課金管理装置の少なくとも一方が、前記QoSまたは課金の制御に関するパラメータの変更を指示するメッセージを前記通信装置に送信する第7手順と、を含み、
前記第3手順において、前記通信装置が、前記ポリシー管理装置または前記課金管理装置の少なくとも一方から受信したメッセージに従って、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更することを特徴とする請求項1に記載の通信システムの制御方法。
【請求項11】
前記第6手順において、前記通信装置は、前記閾値への到達を通知するメッセージを前記ポリシー管理装置のみに送信し、
前記第7手順は、前記ポリシー管理装置が、前記QoSに関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、前記ポリシー管理装置が、前記閾値への到達を通知するメッセージに基づく、前記課金に関するパラメータの決定に関する情報を、前記課金管理装置に送信する手順と、前記課金管理装置が、前記ポリシー管理装置から受信した情報に基づいて、前記課金に関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、を含むことを特徴とする請求項10に記載の通信システムの制御方法。
【請求項12】
前記第6手順において、前記通信装置は、前記閾値への到達を通知するメッセージを前記課金管理装置のみに送信し、
前記第7手順は、前記課金管理装置が、前記課金に関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、前記課金管理装置が、前記閾値への到達を通知するメッセージに基づく、前記QoSに関するパラメータの決定に関する情報を、前記ポリシー管理装置に送信する手順と、前記ポリシー管理装置が、前記課金管理装置から受信した情報に基づいて、前記QoSに関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、を含むことを特徴とする請求項10に記載の通信システムの制御方法。
【請求項13】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムであって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定し、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算し、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更することを特徴とする通信システム。
【請求項14】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、の間の前記パケットの通信を中継する通信装置であって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定し、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算し、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更することを特徴とする通信装置。
【請求項1】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第1手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第2手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更する第3手順と、を含むことを特徴とする通信システムの制御方法。
【請求項2】
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記パケットの受信時刻と前記重み値とを関連付ける情報を含み、
前記第1手順は、前記パケットの受信時刻に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項3】
前記通信システムは、前記ネットワークに接続され、前記端末装置との間で前記パケットを通信する基地局をさらに備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局の混雑度と前記重み値とを関連付ける情報を含み、
前記第1手順は、前記パケットの通信経路上の前記基地局の混雑度に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項4】
前記基地局の混雑度は、前記基地局のセルスループットと前記基地局に接続された前記端末装置との数の比、または、前記基地局のセルスループットと前記基地局に接続された前記端末装置の総送信スループットとの比のいずれかに基づいて定められることを特徴とする請求項3に記載の通信システムの制御方法。
【請求項5】
前記通信システムは、前記ネットワークに接続され、前記端末装置との間で前記パケットを通信する基地局をさらに備え、
前記通信システムの制御方法は、さらに、
前記通信装置が前記受信したパケットを前記基地局に送信する第4手順と、
前記送信したパケットが前記基地局において破棄されたか否かを判定する第5手順と、を含み、
前記第2手順は、前記送信したパケットが前記基地局において破棄されたか否かの判定結果に基づいて、前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算するか否かを判定する手順と、を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項6】
前記通信システムは、複数の前記基地局を備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局と前記重み値とを関連付ける情報、および、前記複数の基地局の各々と、重み値を決定するための優先度とを対応付ける情報をさらに含み、
前記第4手順は、前記通信装置が、前記受信したパケットおよびその複製を前記複数の基地局に送信する手順を含み、
前記第1手順は、前記第5手順において前記送信したパケットを破棄しなかったと判定された前記複数の基地局のうち、最も高い前記優先度と関連付けられた基地局に関連付けられた重み値を、前記受信したパケットに関連付けられた重み値として特定する手順を含むことを特徴とする請求項5に記載の通信システムの制御方法。
【請求項7】
前記通信システムは、複数の前記基地局を備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局と前記重み値とを関連付ける情報をさらに含み、
前記第4手順は、前記通信装置が、前記受信したパケットおよびその複製を前記複数の基地局に送信する手順を含み、
前記第1手順は、前記第5手順において前記送信したパケットを破棄しなかったと判定された前記複数の基地局に関連付けられた重み値の総和を、前記受信したパケットに関連付けられた重み値として特定する手順を含むことを特徴とする請求項5に記載の通信システムの制御方法。
【請求項8】
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセット、及び、前記各セットの重み値を保持し、
前記第1手順は、前記各セットに基づいて特定された重み値と、前記各セットの重み値との積の総和を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項9】
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセットを保持し、
前記第1手順は、前記複数のセットに基づいて特定された複数の重み値の積を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定する手順を含むことを特徴とする請求項1に記載の通信システムの制御方法。
【請求項10】
前記通信システムは、前記QoSに関するパラメータを決定するポリシー管理装置と、前記課金に関するパラメータを決定する課金管理装置と、をさらに備え、
前記通信装置は、前記カウンタと、前記カウンタによって積算された値の閾値とを関連付ける情報をさらに保持し、
前記通信システムの制御方法は、さらに、
前記カウンタによって積算された値が前記カウンタに関連付けられた閾値に到達した場合、前記通信装置が、前記閾値への到達を通知するメッセージを前記ポリシー管理装置または前記課金管理装置の少なくとも一方に送信する第6手順と、
前記閾値への到達を通知するメッセージを受信した前記ポリシー管理装置または前記課金管理装置の少なくとも一方が、前記QoSまたは課金の制御に関するパラメータの変更を指示するメッセージを前記通信装置に送信する第7手順と、を含み、
前記第3手順において、前記通信装置が、前記ポリシー管理装置または前記課金管理装置の少なくとも一方から受信したメッセージに従って、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更することを特徴とする請求項1に記載の通信システムの制御方法。
【請求項11】
前記第6手順において、前記通信装置は、前記閾値への到達を通知するメッセージを前記ポリシー管理装置のみに送信し、
前記第7手順は、前記ポリシー管理装置が、前記QoSに関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、前記ポリシー管理装置が、前記閾値への到達を通知するメッセージに基づく、前記課金に関するパラメータの決定に関する情報を、前記課金管理装置に送信する手順と、前記課金管理装置が、前記ポリシー管理装置から受信した情報に基づいて、前記課金に関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、を含むことを特徴とする請求項10に記載の通信システムの制御方法。
【請求項12】
前記第6手順において、前記通信装置は、前記閾値への到達を通知するメッセージを前記課金管理装置のみに送信し、
前記第7手順は、前記課金管理装置が、前記課金に関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、前記課金管理装置が、前記閾値への到達を通知するメッセージに基づく、前記QoSに関するパラメータの決定に関する情報を、前記ポリシー管理装置に送信する手順と、前記ポリシー管理装置が、前記課金管理装置から受信した情報に基づいて、前記QoSに関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、を含むことを特徴とする請求項10に記載の通信システムの制御方法。
【請求項13】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムであって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定し、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算し、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更することを特徴とする通信システム。
【請求項14】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、の間の前記パケットの通信を中継する通信装置であって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定し、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算し、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるQoSまたは課金の制御に関するパラメータを変更することを特徴とする通信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2013−90215(P2013−90215A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−230085(P2011−230085)
【出願日】平成23年10月19日(2011.10.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願日】平成23年10月19日(2011.10.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]