(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記パケットの受信時刻と前記重み値とを関連付ける情報を含み、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、を含み、
前記第１手順は、前記パケットの受信時刻に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする通信システムの制御方法。
【請求項２】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、前記ネットワークに接続され、前記端末装置との間で前記パケットを通信する基地局と、を備える通信システムの制御方法であって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局の混雑度と前記重み値とを関連付ける情報を含み、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、を含み、
前記第１手順は、前記パケットの通信経路上の前記基地局の混雑度に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする通信システムの制御方法。
【請求項３】
前記基地局の混雑度は、前記基地局のセルスループットと前記基地局に接続された前記端末装置との数の比、または、前記基地局のセルスループットと前記基地局に接続された前記端末装置の総送信スループットとの比のいずれかに基づいて定められることを特徴とする請求項２に記載の通信システムの制御方法。
【請求項４】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、前記ネットワークに接続され、前記端末装置との間で前記パケットを通信する基地局と、を備える通信システムの制御方法であって、
前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、
前記通信装置が前記受信したパケットを前記基地局に送信する第４手順と、
前記送信したパケットが前記基地局において破棄されたか否かを判定する第５手順と、を含み、
前記第２手順は、前記送信したパケットが前記基地局において破棄されたか否かの判定結果に基づいて、前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算するか否かを判定する手順を含むことを特徴とする通信システムの制御方法。
【請求項５】
前記通信システムは、複数の前記基地局を備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局と前記重み値とを関連付ける情報、および、前記複数の基地局の各々と、重み値を決定するための優先度とを対応付ける情報をさらに含み、
前記第４手順は、前記通信装置が、前記受信したパケットおよびその複製を前記複数の基地局に送信する手順を含み、
前記第１手順は、前記第５手順において前記送信したパケットを破棄しなかったと判定された前記複数の基地局のうち、最も高い前記優先度と関連付けられた基地局に関連付けられた重み値を、前記受信したパケットに関連付けられた重み値として特定する手順を含むことを特徴とする請求項４に記載の通信システムの制御方法。
【請求項６】
前記通信システムは、複数の前記基地局を備え、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記受信したパケットの通信経路上の前記基地局と前記重み値とを関連付ける情報をさらに含み、
前記第４手順は、前記通信装置が、前記受信したパケットおよびその複製を前記複数の基地局に送信する手順を含み、
前記第１手順は、前記第５手順において前記送信したパケットを破棄しなかったと判定された前記複数の基地局に関連付けられた重み値の総和を、前記受信したパケットに関連付けられた重み値として特定する手順を含むことを特徴とする請求項４に記載の通信システムの制御方法。
【請求項７】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセット、及び、前記各セットの重み値を保持し、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、を含み、
前記第１手順は、前記各セットに基づいて特定された重み値と、前記各セットの重み値との積の総和を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定する手順を含むことを特徴とする通信システムの制御方法。
【請求項８】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセットを保持し、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、を含み、
前記第１手順は、前記複数のセットに基づいて特定された複数の重み値の積を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定する手順を含むことを特徴とする通信システムの制御方法。
【請求項９】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、ＱｏＳに関するパラメータを決定するポリシー管理装置と、課金に関するパラメータを決定する課金管理装置と、を備える通信システムの制御方法であって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記カウンタと、前記カウンタによって積算された値の閾値とを関連付ける情報を保持し、
前記通信システムの制御方法は、
前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、
前記カウンタによって積算された値が前記カウンタに関連付けられた閾値に到達した場合、前記通信装置が、前記閾値への到達を通知するメッセージを前記ポリシー管理装置または前記課金管理装置の少なくとも一方に送信する第６手順と、
前記閾値への到達を通知するメッセージを受信した前記ポリシー管理装置または前記課金管理装置の少なくとも一方が、前記ＱｏＳまたは課金の制御に関するパラメータの変更を指示するメッセージを前記通信装置に送信する第７手順と、を含み、
前記第３手順において、前記通信装置が、前記ポリシー管理装置または前記課金管理装置の少なくとも一方から受信したメッセージに従って、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更することを特徴とする通信システムの制御方法。
【請求項１０】
前記第６手順において、前記通信装置は、前記閾値への到達を通知するメッセージを前記ポリシー管理装置のみに送信し、
前記第７手順は、前記ポリシー管理装置が、前記ＱｏＳに関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、前記ポリシー管理装置が、前記閾値への到達を通知するメッセージに基づく、前記課金に関するパラメータの決定に関する情報を、前記課金管理装置に送信する手順と、前記課金管理装置が、前記ポリシー管理装置から受信した情報に基づいて、前記課金に関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、を含むことを特徴とする請求項９に記載の通信システムの制御方法。
【請求項１１】
前記第６手順において、前記通信装置は、前記閾値への到達を通知するメッセージを前記課金管理装置のみに送信し、
前記第７手順は、前記課金管理装置が、前記課金に関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、前記課金管理装置が、前記閾値への到達を通知するメッセージに基づく、前記ＱｏＳに関するパラメータの決定に関する情報を、前記ポリシー管理装置に送信する手順と、前記ポリシー管理装置が、前記課金管理装置から受信した情報に基づいて、前記ＱｏＳに関するパラメータの変更を指示するメッセージを前記通信装置に送信する手順と、を含むことを特徴とする請求項９に記載の通信システムの制御方法。
【請求項１２】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムであって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセットを保持し、
前記複数のセットに基づいて特定された複数の重み値の積を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定し、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算し、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更することを特徴とする通信システム。
【請求項１３】
ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、の間の前記パケットの通信を中継する通信装置であって、
前記通信装置は、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、
前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報の複数のセットを保持し、
前記複数のセットに基づいて特定された複数の重み値の積を、前記通信装置が受信したパケットに関連付けられた前記重み値として特定し、
前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算し、
前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システムおよび通信装置に係り、特に、端末とサービス提供サーバとの間で送受信されるパケットに対してＱｏＳまたは課金制御等を適用する技術に関する。
【背景技術】
【０００２】
移動体無線通信のさらなる高速化、高品質化を実現する方式として、近年、第３．９世代移動通信システムおよび第４世代移動通信システムの研究、標準化活動が進められている。第３．９世代移動通信システムの一つであるＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、および第４世代移動通信システムの一つであるＬＴＥ  Ａｄｖａｎｃｅｄの標準規定を策定している標準化団体３ＧＰＰ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）は、前記規格の仕様としてＴＳ（Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）を策定している。
【０００３】
３ＧＰＰのＴＳでは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークに属するサービス提供サーバから端末宛てに送信されたダウンリンク方向のパケット（以下、ＤＬパケット）、および端末からサービス提供サーバ宛てに送信されたアップリンク方向のパケット（以下、ＵＬパケット）のそれぞれに対して、各パケットに適用する課金条件またはＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）条件などを関連づけるためのパケットフィルタリングをゲートウェイで行い、その結果に基づいて課金制御およびＱｏＳ制御を適用するための仕様が規定されている。ここで、ＱｏＳ制御は、例えば優先制御、パケット転送レート制御又はパケット破棄などである。また、ＴＳでは、予めあるユーザの一つまたは複数のサービスに関連付けられるグループを設定し、ゲートウェイで送信されたパケットのバイト数をグループ毎に積算し、積算値がゲートウェイに設定された閾値に到達したことを契機に、課金サーバまたはポリシー管理サーバへ通知するための仕様が規定されている。
【０００４】
非特許文献１では、ＰＣＣ  Ｒｕｌｅ（Ｐｏｌｉｃｙ  ａｎｄ  Ｃｈａｒｇｉｎｇ  Ｃｏｎｔｒｏｌ  Ｒｕｌｅ）の定義、および、Ｕｓａｇｅ  Ｍｏｎｉｔｏｒｉｎｇ機能の仕様が規定されている。ＰＣＣ  Ｒｕｌｅは、積算範囲を定義するグループおよびグループとパケットを紐づけるためのフィルタ条件を含み、ＱｏＳおよび課金のポリシーを管理するノードＰＣＲＦ（Ｐｏｌｉｃｙ  ａｎｄ  Ｃｈａｒｇｉｎｇ  Ｒｕｌｅ  Ｆｕｎｃｔｉｏｎ）から３ＧＰＰにおけるゲートウェイの一つであるＰ−ＧＷ（ＰＤＮ  Ｇａｔｅｗａｙ、ＰＤＮはＰａｃｋｅｔ  Ｄａｔａ  Ｎｅｔｗｏｒｋの略）へ通知されるか、または、Ｐ−ＧＷに事前設定される。Ｕｓａｇｅ  Ｍｏｎｉｔｏｒｉｎｇ機能は、ＰＣＲＦが規定するかＰ−ＧＷに事前設定されるグループ毎のバイト数の積算値の閾値に積算値が到達した契機をＰ−ＧＷが検出し、Ｐ−ＧＷからＰＣＲＦへメッセージを送信する機能である。
【０００５】
非特許文献２では、「ＱｏＳ Ｃｏｎｔｒｏｌ Ｂａｓｅｄ ｏｎ Ｓｕｂｓｃｒｉｂｅｒ Ｓｐｅｎｄｉｎｇ Ｌｉｍｉｔｓ」の仕様規定を、３ＧＰＰにおけるＲｅｌｅａｓｅ  １１  Ｗｏｒｋ  Ｉｔｅｍの一つとすることが記載されている。「ＱｏＳ Ｃｏｎｔｒｏｌ Ｂａｓｅｄ ｏｎ Ｓｕｂｓｃｒｉｂｅｒ Ｓｐｅｎｄｉｎｇ Ｌｉｍｉｔｓ」は、３ＧＰＰにおけるオンライン課金サーバであるＯＣＳ（Ｏｎｌｉｎｅ  Ｃｈａｒｇｉｎｇ  Ｓｅｒｖｅｒ）が規定するか、またはＰ−ＧＷに事前設定されるグループ毎のバイト数の積算値の閾値に積算値が到達した契機で、Ｐ−ＧＷからＯＣＳへメッセージを送信し、さらにＯＣＳに設定された課金ポリシーに基づく課金ステータスの変化をＯＣＳからＰＣＲＦへ通知することができる機能である。
【０００６】
更に、特許文献１では、電子メール課金システム及び電子メール課金方法に関して、一つまたは複数の端末が属する端末グループ毎の課金ポリシーに基づいて課金を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１０１００８号公報
【非特許文献】
【０００８】
【非特許文献１】３ＧＰＰ  ＴＳ２３．２０３  Ｖ１１．２．０、（２０１１−６）、Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ
【非特許文献２】３ＧＰＰ寄書  ＳＰ−１１００８６、（２０１１−３）、ＳＡ  Ｐｌｅｎａｒｙ  ＃５１会合寄書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した３ＧＰＰのＴＳに従うＰ−ＧＷにおける送信パケットのバイト数の積算機能、および、積算値が閾値に到達した時のＯＣＳまたはＰＣＲＦへの通知機能では、時刻または無線通信に用いる規格などの種々の条件に基づいて決定されるＱｏＳまたは課金のポリシーが異なるか、あるいは変化する場合、Ｐ−ＧＷにおいて、それぞれ異なる閾値が定義された複数のカウンタを用いて積算を実施する必要がある。これによって、ＱｏＳまたは課金の条件が増えるにつれて内部のメモリに設定するカウンタの数およびパケットとカウンタの関連づけに必要なフィルタ条件などの情報も増大し、パケットとカウンタを関連づけるまでの時間が増大する。さらに、カウンタ保持のためのＰ−ＧＷ内部のメモリ容量増加がＰ−ＧＷのメモリ読み出し・書き込み性能に影響を与える。それらの結果、Ｐ−ＧＷにおけるパケット処理遅延が増大し、処理しきれなくなったパケットの破棄が発生するなどの通信性能の劣化または誤課金などの問題が発生する。
【００１０】
また、ＯＣＳおよびＰＣＲＦでは、種々の条件を組み合わせてＱｏＳまたは課金のポリシーを決定する場合には、条件毎にバイト数の閾値を設定し、Ｐ−ＧＷにおけるバイト数積算結果の閾値到達に関するメッセージを個々に受信し、それらを組み合わせてポリシーを決定する必要がある。これによって、Ｐ−ＧＷとＯＣＳやＰＣＲＦとの間のメッセージ数が増加し、メッセージ処理遅延が増大し、処理しきれなくなったメッセージの破棄が発生するなどの通信性能の劣化などの問題が発生する。
【００１１】
無線接続の広帯域化およびスマートフォンの普及などによって、モバイル端末向けに多様なサービスが展開できるようになり、ＭＶＮＯ（Ｍｏｂｉｌｅ  Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｏｐｅｒａｔｏｒ）の参入によってサービス間の差別化競争が進んでいくことが予測される現状では、ＱｏＳまたは課金のポリシーを決定する条件の増加による前記の通信性能劣化の課題が深刻化することが予測される。また、同様に、固定網でもサービス多様化によるＱｏＳや課金のポリシーを決定する条件の増加によって、前記の通信性能劣化の課題が懸念される。
【００１２】
本発明の目的は、以上の課題に鑑み、無線または有線の通信システムにおいて、通信装置内部における前記積算に用いるカウンタの数や通信装置と課金サーバまたはポリシー管理サーバの一方または双方への前記積算結果の閾値到達に関するメッセージ数を増やすことなく、パケット転送性能の劣化を防ぎつつＱｏＳや課金のポリシーに基づく正確なタイミングでＱｏＳまたは課金制御のパラメータを切り替えることが可能な通信システムおよび装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の代表的な一例を示せば次の通りである。すなわち、ネットワークに接続されたサーバ装置と、前記ネットワークに接続され、前記サーバ装置との間でパケットを通信する端末装置と、前記パケットの通信を中継する通信装置と、を備える通信システムの制御方法であって、前記通信装置は、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報、および、前記受信したパケットと、前記重み値が適用されたパケットの数またはデータ量の少なくとも一方を積算するカウンタとを関連付ける情報を保持し、前記通信装置が受信したパケットと、前記受信したパケットの数または前記受信したパケットに含まれるデータ量の少なくとも一方に適用される重み値とを関連付ける情報は、前記パケットの受信時刻と前記重み値とを関連付ける情報を含み、前記通信システムの制御方法は、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する第１手順と、前記特定された重み値が適用された前記受信したパケットの数、または、前記特定された重み値が適用された前記受信したパケットに含まれるデータ量の少なくとも一方を、前記受信したパケットに関連付けられたカウンタを用いて積算する第２手順と、前記カウンタを用いて積算された値に基づいて、前記カウンタに関連付けられるＱｏＳまたは課金の制御に関するパラメータを変更する第３手順と、を含み、前記第１手順は、前記パケットの受信時刻に基づいて、前記通信装置が受信したパケットに関連付けられた前記重み値を特定する手順を含むことを特徴とする。
【発明の効果】
【００１４】
本発明の一実施形態によると、無線または有線通信システムにおいて、通信装置の送信するパケット数またはバイト数の一方または双方がある閾値に達した契機でＱｏＳまたは課金制御のパラメータを切り替える場合において、パケット転送性能の劣化を防ぎつつＱｏＳや課金のポリシーに基づく正確なタイミングでＱｏＳまたは課金制御のパラメータを切り替えることができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施例に係る、通信システムの機能構成を説明するための概念図である。
【図２】第１の実施例に係る、通信システムの一構成例を示すブロック図である。
【図３】第１の実施例に係る、ゲートウェイ（ＧＷ）の一例を示す機能ブロック図である。
【図４】第１の実施例に係る、ＧＷのメモリ部のブロック図である。
【図５】第１の実施例に係る、ＧＷが保持する重み付け積算における積算グループの識別子と重み値を当該パケットの通信に関わる端末（ＭＳ）と当該パケットの属するサービスから決定するための情報を示すテーブルの一例を示す図である。
【図６】第１の実施例に係る、重み付け積算における積算閾値を当該パケットの属する積算グループから決定するための情報を示すテーブルの一例を示す図である。
【図７】第１の実施例に係る、積算グループ毎の積算値の情報を示すテーブルの一例を示す図である。
【図８】第１の実施例に係る、重み付け積算における時刻に基づく重み値を当該パケットの通信に関わるＭＳと当該パケットの属するサービスから決定するための情報を示すテーブルの一例を示す図である。
【図９】第１の実施例に係る、重み付け積算における時刻に基づく重み値を当該パケットの属する積算グループから決定するための情報を示すテーブルの一例を示す図である。
【図１０】第１の実施例に係る、重み付け積算におけるＢＳの混雑度に基づく重み値を当該パケットの通信に関わる基地局（ＢＳ）から決定するための情報を示すテーブルの一例を示す図である。
【図１１】第１の実施例に係る、ＢＳに接続しているＭＳの情報を示すテーブルの一例を示す図である。
【図１２】第１の実施例に係る、重み付け積算におけるＢＳの混雑度に基づく重み値を当該パケットの通信に関わるＢＳから決定するための情報を示すテーブルの一例を示す図である。
【図１３】第１の実施例に係る、複数のＢＳへ送信されたＤＬパケットに対する重み付け積算における当該ＤＬパケットのＭＳへの送信成否に基づく重み値を決定するための情報を示すテーブルの一例を示す図である。
【図１４】第１の実施例に係る、複数のＢＳへ送信されたＤＬパケットに対する重み付け積算におけるＢＳに関する総合的な重み値を決定するための情報を示すテーブルの一例を示す図である。
【図１５】第１の実施例に係る、ポリシー管理装置（ＰＳ）の一例を示す機能ブロック図である。
【図１６】第１の実施例に係る、課金サーバ（ＣＳ）の一例を示す機能ブロック図である。
【図１７】第１の実施例に係る、ＧＷにおけるＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算処理の一例を示す図である。
【図１８】第１の実施例に係る、ＰＳにおける積算閾値到達メッセージ受信の処理の一例を示す図である。
【図１９】第１の実施例に係る、ＣＳにおける積算閾値到達メッセージ受信の処理の一例を示す図である。
【図２０】第１の実施例に係る、ＰＳにおけるステータス変更メッセージ受信の処理の一例を示す図である。
【図２１】第１の実施例に係る、ＣＳにおけるステータス変更メッセージ受信の処理の一例を示す図である。
【図２２】第１の実施例に係る、ＧＷにおける重み付け積算値を、パケットがＢＳで破棄されたか否かに基づいて修正する処理の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態を図面に従い説明する。各種の実施例について説明するに先立ち、その概要について説明する。
【００１７】
図１は、本発明の通信システムの概要を説明するための機能構成図である。図１において、ゲートウェイ（ＧａｔｅＷａｙ、以下、ＧＷ）２がＵＬパケットまたはＤＬパケットを受信した場合（ステップＳ１００）、ＧＷ２は、当該パケットに関連付けられたＱｏＳおよび課金に関するパラメータ（後述）をＱｏＳおよび課金のポリシーに基づいて決定する（ステップＳ１０１）。
【００１８】
そして、ＧＷ２は、当該パケットに関連付けられた重み値をＱｏＳまたは課金のポリシーに基づいて決定し（ステップＳ１０２）、当該パケットについて、重み付けパケット数積算または重み付けバイト数積算の一方または双方を行い、それぞれの積算値を対応するカウンタに保持する（ステップＳ１０３）。これらの積算の結果、積算値がそれぞれのカウンタに設定された閾値に達した場合は（ステップＳ１０４）、ＧＷ２は、到達した閾値の情報（閾値到達情報）を含むメッセージを作成し、その閾値に関連付けられた宛先へ送信する（ステップＳ１０６、Ｓ１０７）。
【００１９】
なお、以下の説明では、ネットワークにおける通信量を示す指標としてパケット数またはパケットに含まれるデータ量を用いる例を示す。パケットに含まれるデータ量を示す指標の例として、パケットのバイト数を用いているが、それ以外の指標が用いられてもよい。ここで、パケットのバイト数とは、例えば、パケット全体のバイト数であってもよいし、いわゆるペイロード長であってもよい。
【００２０】
当該メッセージを受信したポリシー管理装置（Ｐｏｌｉｃｙ  Ｓｅｒｖｅｒ、以下、ＰＳ）３または課金サーバ（Ｃｈａｒｇｉｎｇ  Ｓｅｒｖｅｒ、以下、ＣＳ）６の一方または双方は、受信したメッセージに含まれる閾値到達情報、および、ＱｏＳまたは課金のポリシーに基づいて、ＱｏＳまたは課金に関するパラメータ変更の有無（すなわちパラメータを変更する必要があるか否か）を判定する。その結果、ＱｏＳまたは課金に関するパラメータを変更する必要があると判定された場合は、ＰＳ３またはＣＳ６の一方または双方は、ＱｏＳまたは課金のパラメータの変更情報を含むメッセージを作成し（ステップＳ１０８）、変更内容に関連付けられた宛先へ送信する（ステップＳ１０９）。
【００２１】
ＧＷ２は、ステップＳ１０９において送信されたメッセージを受信した場合、ＧＷ２で適用されるＱｏＳまたは課金のパラメータを変更し、以降に受信したＵＬパケットまたはＤＬパケットに対して変更後のＱｏＳまたは課金のパラメータを適用する。
【００２２】
この通信システムによって、種々の条件で決定されるＱｏＳまたは課金に関するパラメータを、パケット毎の重みとして統一的に積算値に反映できるため、複数のＱｏＳや課金に関するパラメータ決定条件を反映させる場合でも、ゲートウェイのパケット数またはバイト数を積算するカウンタの数をパラメータ決定条件の数に合わせて増やすことなく、かつＰＳ３またはＣＳ６への検出結果の通知に用いるメッセージをパラメータ決定条件の数に合わせて増やすことなく、ＱｏＳまたは課金に関するパラメータを切り替えるタイミングをパケット単位で正確に検出し、ゲートウェイにおけるＱｏＳまたは課金のパラメータに基づく帯域制限などの通信制御に適用できる。これによって、ゲートウェイの通信性能劣化または帯域制限などの通信制御の適用遅延によるヘビーユーザの帯域寡占などの問題の発生を防ぐことができる。
【実施例１】
【００２３】
以下、本発明の第１の実施例を図面に従い、順次説明する。
【００２４】
＜システム構成＞
図２は、第１の実施例の通信システムの一構成例を示す図である。第１の実施例の通信システムは、基地局（Ｂａｓｅ  Ｓｔａｔｉｏｎ、以下、ＢＳ）４と無線通信または有線通信を行う端末（Ｍｏｂｉｌｅ  Ｓｔａｔｉｏｎ、以下、ＭＳ）５と、ＢＳ４を介してＭＳ５と通信するＧＷ２と、ＧＷ２と通信するサービス提供サーバ（Ｓｅｒｖｉｃｅ  Ｓｅｒｖｅｒ、以下、ＳＳ）１と、ＧＷ２およびＣＳ６と通信するＰＳ３と、ＧＷ２およびＰＳ３と通信するＣＳ６と、を含む。
【００２５】
ここで、ＰＳ３は、ＧＷ２と同じ装置に実装されてもよいし、ＣＳ６と同じ装置に実装されてもよい。また、ＣＳ６は、ＧＷ２と同じ装置に実装されてもよいし、ＰＳ３と同じ装置に実装されてもよい。また、ＢＳ４は省略可能であり、その場合、ＭＳ５はＢＳ４を介さずにＧＷ２と通信し、ＧＷ２はＢＳ４を介さずにＭＳ５と通信する。また、ＰＳ３とＣＳ６との間のインタフェースは省略可能であり、その場合、ＰＳ３とＣＳ６は互いに直接通信することはない。
【００２６】
また、図２には本実施例の通信システムの構成要素を一つずつ示したが、実際にはこれらの構成要素の数は任意である。例えば、本実施例の通信システムは、一つのＢＳ４と通信する複数のＭＳ５を含んでもよく、さらに複数のＢＳ４を含んでもよく、さらに複数のＧＷ２を含んでもよい。
【００２７】
図２の通信システムにおいて、ＧＷ２は、ＱｏＳまたは課金のパラメータ、重み、積算閾値、および、それらの値とパケットとを関連づける条件に従って、ＢＳ４から受信したＵＬパケットおよびＳＳ１から受信したＤＬパケットに対してＱｏＳや課金のパラメータや重みを適用する。ここで、ＱｏＳまたは課金のパラメータ、重み、積算閾値、および、それらの値とパケットとを関連づける条件は、ＰＳ３またはＣＳ６の少なくとも一方から通知されたものであってもよいし、ＧＷ２に予め設定されたものであってもよい。そして、ＧＷ２は、受信したパケットがＵＬパケットならばそれをＳＳ１へ、ＤＬパケットならばＢＳ４へそれぞれ転送する。
【００２８】
また、ＧＷ２は、重み付け積算結果（すなわち、重み付けされたパケット数の積算値または重み付けされたバイト数の積算値の少なくとも一方）が前記積算閾値に達した場合、積算閾値と積算閾値到達メッセージの宛先とを関連づける条件に従って、積算閾値到達メッセージをＰＳ３またはＣＳ６の一方または双方へ送信する。ここで、積算閾値と積算閾値到達メッセージの宛先とを関連づける条件は、ＰＳ３またはＣＳ６から通知されたものであってもよいし、ＧＷ２に予め設定されたものであってもよい。
【００２９】
ＰＳ３は、ＧＷ２から送信された積算閾値到達メッセージ、ＰＳ３に設定されたＱｏＳもしくは課金のパラメータの決定条件、または、ＣＳ６から送信されたステータス変更メッセージに従って、ＧＷ２で適用されているＱｏＳもしくは課金のパラメータ、重み、または積算閾値の変更有無（すなわち変更の要否）を判定する。ＧＷ２で適用されているＱｏＳもしくは課金のパラメータ、重みまたは積算閾値の変更をする必要があると判定された場合、ＰＳ３は、変更後のＱｏＳもしくは課金のパラメータ、重みまたは積算閾値を含むパラメータ更新メッセージをＧＷ２へ送信する。ＱｏＳまたは課金のステータスが変更された場合、ＰＳ３は、ＣＳ６へステータス変更メッセージを送信してもよい。
【００３０】
ＣＳ６は、ＧＷ２から送信された積算閾値到達メッセージ、ＣＳ６に設定された課金のパラメータの決定条件、または、ＰＳ３から送信されたステータス変更メッセージに従って、ＧＷ２で適用されている課金のパラメータ、重みまたは積算閾値の変更有無を判定する。ＧＷ２で適用されている課金のパラメータ、重みまたは積算閾値を変更する必要があると判定された場合、ＣＳ６は、変更後の課金のパラメータ、重みまたは積算閾値を含むパラメータ更新メッセージをＧＷ２へ送信する。課金のステータスが変更された場合、ＣＳ６は、ＰＳ３へステータス変更メッセージを送信してもよい。
【００３１】
本実施例では、ＧＷ２がＵＬパケットまたはＤＬパケットを受信した場合、ＧＷ２が、受信したパケットと関連付けられたＱｏＳまたは課金に関するパラメータをＱｏＳまたは課金のポリシーに基づいて決定する。そして、ＧＷ２は、受信したパケットと関連付けられた重み値をＱｏＳまたは課金のポリシーに基づいて決定し、当該パケットについて、重み付けパケット数積算または重み付けバイト数積算の一方または双方を行い、積算値をそれぞれに対応するカウンタに保持する。積算値がカウンタに関連付けられた閾値に達した場合は、ＧＷ２は、到達した閾値の情報を含む積算閾値到達メッセージを作成し、その閾値に関連付けられた宛先へそのメッセージを送信する。ＧＷ２が送信したメッセージを受信したＰＳ３またはＣＳ６の一方または双方は、受信したメッセージに含まれる閾値到達情報と、ＱｏＳまたは課金のポリシーとに基づいてＱｏＳまたは課金に関するパラメータ変更の有無を判定し、ＱｏＳまたは課金に関するパラメータを変更する必要があると判定された場合は、ＱｏＳまたは課金のパラメータの変更情報を含むメッセージを作成し、変更内容に関連付けられた宛先へ送信する。ＧＷ２は、ＰＳ３またはＣＳ６からのメッセージを受信した場合、ＧＷ２で適用されるＱｏＳまたは課金のパラメータを変更し、以降に受信したＵＬパケットまたはＤＬパケットに対して変更後のＱｏＳまたは課金のパラメータを適用する。
【００３２】
＜装置構成：ＧＷ２＞
図３に、本実施例で使用するＧＷ２の一構成例の機能ブロックを示す。ＧＷ２は、例えば、ＳＳインタフェース部２１と、ＢＳインタフェース部２２と、ＰＳインタフェース部２３と、ＣＳインタフェース部２４と、メモリ部２５と、処理部２６とを有する。
【００３３】
ＳＳインタフェース部２１は、ＳＳ１とのインタフェースである。ＳＳインタフェース部２１を用いて、ＧＷ２はＳＳ１との間でＩＰパケットの送受信を行う。
【００３４】
ＢＳインタフェース部２２は、ＢＳ４とのインタフェースである。ＢＳインタフェース部２２を用いて、ＧＷ２はＢＳ４との間でＩＰパケットの送受信を行う。ＢＳ４が省略される通信システムの場合、ＢＳインタフェース部２２を用いて、ＧＷ２はＢＳ４を介さずに直接ＭＳ５との間でＩＰパケットの送受信を行う。
【００３５】
ＰＳインタフェース部２３は、ＰＳ３とのインタフェースである。ＰＳインタフェース部２３を用いて、ＧＷ２はＰＳ３との間でＩＰパケットの送受信を行う。本実施の形態では、ＧＷ２はＰＳインタフェース部２３を用いて、ＰＳ３に積算閾値到達メッセージを送信したり、その応答メッセージをＰＳ３から受信したりしてもよい。
【００３６】
ＣＳインタフェース部２４は、ＣＳ６とのインタフェースである。ＣＳインタフェース部２４を用いて、ＧＷ２はＣＳ６との間でＩＰパケットの送受信を行う。本実施の形態では、ＧＷ２はＣＳインタフェース部２４を用いて、ＣＳ６に積算閾値到達メッセージを送信したり、その応答メッセージをＣＳ６から受信したりしてもよい。
【００３７】
メモリ部２５は、送受信するＩＰパケット、接続するＳＳ１、ＢＳ４、ＰＳ３およびＣＳ６のアドレス、上記の各インタフェース部で受信したＵＬパケットまたはＤＬパケットに適用するＱｏＳもしくは課金に関するパラメータ、重みまたは積算閾値とパケットを関連づける条件などの情報を、必要に応じて記憶・管理する。
【００３８】
なお、以上に説明したＧＷ２におけるインタフェース部２１−２４を総称して、ＧＷ２のインタフェース部、またはネットワークインタフェース部と呼ぶ場合がある。これらのインタフェース部は、内部バスによってメモリ部２５および処理部２６に接続されている。
【００３９】
処理部２６は、例えば中央処理部（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）で構成される。処理部２６は、メモリ部２５に保持される情報を管理し、さらに、メモリ部２５に記憶される各種のプログラムを実行することによって、各種の処理、例えば、ＩＰパケットの構築または解析などのＩＰパケット送受信処理、インタフェース部で受信したＵＬパケットまたはＤＬパケットに適用するＱｏＳもしくは課金に関するパラメータ、重みまたは積算閾値とパケットとの関連づけ、および受信したパケットのパケット数またはバイト数の重み付け積算などを行う。
【００４０】
なお、以下に順次説明する、本実施例の通信システムを構成するＧＷ２以外の他の構成要素であるＰＳ３およびＣＳ６等も同様にその内部にネットワークインタフェース部、メモリ部、処理部を備えている（図１５および図１６参照）。それらの処理部もＧＷ２の処理部２６と同様にＣＰＵによって実現され、ＰＳ３およびＣＳ６等に特有の機能プログラムを実行、処理する。さらに、詳細な内部構成の説明を省略するが、ＳＳ１、ＢＳ４およびＭＳ５もその内部にネットワークインタフェース部、メモリ部、処理部を備える構成を有することは言うまでもない。
【００４１】
図４に、本実施例のＧＷ２のメモリ部の一構成例のブロック図を示す。
【００４２】
メモリ部２５は、例えば図４に示すように、テーブル２５１〜テーブル２６０を保持する。
【００４３】
テーブル２５１は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における積算グループ（後述、図５参照））の識別子および重み値を、当該パケットの通信に関わる（すなわち当該パケットの送信元または送信先である）ＭＳ５および当該パケットの属するサービスに基づいて決定するための情報を示す。テーブル２５１を用いることによって、ＭＳ５の識別子、サービスの識別子、積算グループの識別子、バイト数重み値、およびパケット数重み値などの情報を管理することができる。なお、テーブル２５１の詳細は後述する（図５参照）。
【００４４】
テーブル２５２は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における積算閾値を、当該パケットの属する積算グループに基づいて決定するための情報を示す。テーブル２５２を用いることによって、積算グループの識別子、バイト数積算閾値、およびパケット数積算閾値などの情報を管理することができる。なお、テーブル２５２の詳細は後述する（図６参照）。
【００４５】
テーブル２５３は、積算グループ毎の積算値の情報を示す。テーブル２５３を用いることによって、積算グループの識別子、バイト数積算値、パケット数積算値などの情報を管理することができる。なお、テーブル２５３の詳細は後述する（図７参照）。
【００４６】
テーブル２５４は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における時刻に基づく重み値を、当該パケットの通信に関わるＭＳ５および当該パケットの属するサービスに基づいて決定するための情報を示す。テーブル２５４を用いることによって、ＭＳ５の識別子、サービスの識別子、バイト数重み値とその切り替え時刻、およびパケット数重み値とその切り替え時刻などの情報を管理することができる。なお、テーブル２５４の詳細は後述する（図８参照）。
【００４７】
テーブル２５５は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における時刻に基づく重み値を、当該パケットの属する積算グループに基づいて決定するための情報を示す。テーブル２５５を用いることによって、積算グループの識別子、バイト数重み値とその切り替え時刻、パケット数重み値とその切り替え時刻などの情報を管理することができる。なお、テーブル２５５の詳細は後述する（図９参照）。
【００４８】
テーブル２５６は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算におけるＢＳ４の混雑度に基づく重み値を、当該パケットの通信に関わるＢＳ４に基づいて決定するための情報を示す。テーブル２５６を用いることによって、ＢＳ４の識別子、ＢＳ４のセルスループットと該ＢＳ４に接続しているＭＳ５の数の比の閾値、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル２５６の詳細は後述する（図１０参照）。
【００４９】
テーブル２５７は、各ＢＳ４に接続しているＭＳ５の情報を示す。テーブル２５７を用いることによって、ＢＳ４の識別子、各ＢＳ４に接続しているＭＳ５の識別子などの情報を管理することができる。なお、テーブル２５７の詳細は後述する（図１１参照）。
【００５０】
テーブル２５８は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算におけるＢＳ４の混雑度に基づく重み値を、当該パケットの通信に関わるＢＳ４に基づいて決定するための情報を示す。テーブル２５８を用いることによって、ＢＳ４の識別子、ＢＳ４のセルスループットと該ＢＳ４に接続しているＭＳ５の合計送信スループットの比の閾値、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル２５８の詳細は後述する（図１２参照）。
【００５１】
テーブル２５９は、ＤＬパケットの送信失敗通知の有無を示す。テーブル２５９を用いることによって、パケットの識別子、重み付けバイト数、重み付けパケット数、各パケットの通信に関わるＢＳ４の識別子、タイムアウト時刻などの情報を管理することができる。なお、テーブル２５９の詳細は後述する（図１３参照）。
【００５２】
テーブル２６０は、各ＢＳ４の重み値と重み値決定優先度を示す。テーブル２６０を用いることによって、ＢＳ４の識別子、重み値決定優先度、バイト数重み値、パケット数重み値などの情報を管理することができる。なお、テーブル２６０の詳細は後述する（図１４参照）。
【００５３】
図５に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５１を示す。テーブル２５１は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における積算グループの識別子および重み値を、当該パケットの通信に関わるＭＳ５および当該パケットの属するサービスに基づいて決定するための情報を示す。
【００５４】
テーブル２５１には、例えば、ＭＳ５の識別子（ＭＳ  ＩＤ）５０１、サービスの識別子（Ｓｅｒｖｉｃｅ  ＩＤ）５０２、積算グループの識別子（Ｇｒｏｕｐ  ＩＤ）５０３、バイト数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｂｙｔｅｓ））、パケット数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｐａｃｋｅｔｓ））が記憶される。バイト数重み値は、ＵＬパケットのバイト数重み値５０４およびＤＬパケットのバイト数重み値５０６を含む。パケット数重み値は、ＵＬパケットのパケット数重み値５０５およびＤＬパケットのパケット数重み値５０７を含む。
【００５５】
ＭＳ５の識別子５０１は、各ＭＳ５を識別するパラメータであり、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの通信に関わるＭＳ５（すなわち、ＵＬパケットの送信元のＭＳ５またはＤＬパケットの送信先のＭＳ５）と、積算グループまたは重み値とを関連づけるために使用される。なお、例えば全てのＭＳ５が同一の積算グループまたは同一の重み値に関連付けられる場合等には、ＭＳ５の識別子５０１は省略されてもよい。
【００５６】
サービスの識別子５０２は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの属するサービスを識別するパラメータであり、そのサービスと積算グループまたは重み値とを関連づけるために使用される。なお、例えば全てのサービスが同一の積算グループまたは同一の重み値に関連付けられる場合等には、サービスの識別子５０２は省略されてもよい。
【００５７】
積算グループの識別子５０３は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの数またはそれぞれのパケットのバイト数がどの積算グループのカウンタに積算されるかを示すパラメータである。
【００５８】
ここで、積算グループについて説明する。本実施例では、ＱｏＳまたは課金等を制御するために、ＧＷ２を通過するパケット数またはパケットのバイト数が積算される。積算グループとは、一つのカウンタを使用してパケット数またはバイト数を積算できる範囲を規定する概念である。
【００５９】
例えば、ユーザごとの課金を目的としてパケット数またはバイト数を積算する場合、それぞれ異なるユーザによって使用される各ＭＳ５がそれぞれ異なる積算グループに関連付けられる。一人のユーザが一つのＭＳ５を使用して複数のサービスを利用する場合、各サービスがそれぞれ異なる積算グループに関連付けられてもよいが、複数のサービスが一つの積算グループに関連付けられる場合もある。例えば、ユーザが一つのサービス提供者によって提供される複数のサービスを利用し、かつ、それらのサービスの課金に関するパラメータ（課金パラメータ）が同一であれば、それらのサービスを一つの積算グループに関連付けることができる。
【００６０】
ここで、課金パラメータとは、例えば積算値に基づいて課金額を算出するためのパラメータである。具体的には、例えば、従量課金が適用される場合において、通信したパケット数またはバイト数あたりの課金額（すなわち課金の比率）が定められている場合には、その比率が課金パラメータであるし、通信したパケット数またはバイト数の積算値の閾値（すなわち図６の積算閾値）、および、積算値がその閾値を超えた場合の課金額が定められている場合には、その閾値および課金額が課金パラメータである。サービス提供者は、例えば課金パラメータの共通する複数のサービスを一人のユーザに提供している場合、それらの複数のサービスに関するパケット数またはバイト数の積算値を一つのカウンタで積算し、その積算値に応じた金額を課金パラメータに基づいて計算し、その金額を当該複数のサービスの利用料金として当該ユーザにまとめて請求することができる。
【００６１】
あるいは、ＭＳ５ごとの使用帯域を制限する目的で課金を制御したい場合、一つのＭＳ５が利用する全てのサービスを一つの積算グループに関連付けてもよい。この場合、課金パラメータとして、例えば積算値に対する課金の比率と、積算値の閾値とが設定され、積算値が当該閾値を超過した場合には、課金の比率が高くなるように（すなわち料金が高額になるように）変更されてもよい。
【００６２】
上記のような積算グループおよびパラメータの基本的な考え方は、ＱｏＳの制御のためのパケット数またはバイト数の積算にも適用することができる。例えば、特定のユーザ、特定のＭＳ５または特定のサービスによる帯域の占有を緩和するために、当該ユーザ、ＭＳ５またはサービスに関する積算値が所定の閾値を超えた場合に、当該ユーザ、ＭＳ５またはサービスに関する帯域制限値を、使用帯域を縮小する方向に変更する、または、当該ユーザ、ＭＳ５またはサービスに関するパケットの送信優先度を低下させる、などの制御が実行されてもよい。その場合、ＱｏＳに関するパラメータ（ＱｏＳパラメータ）は、閾値およびそれに関連付けられた帯域制限値またはパケットの送信優先度等である。
【００６３】
受信したパケットがどのようなパラメータに関連付けられているかは、パケットの送信先、パケットの送信元、またはパケットが属するサービス等に基づいて特定することができる。通常、パケットとＱｏＳパラメータとの関連付けはＰＳ３によって管理され、パケットと課金パラメータとの関連付けはＣＳ６によって管理される。ＰＳ３は、さらにパケットと課金パラメータとの関連付けを管理する場合もある。
【００６４】
なお、上記のようなパラメータは一例であり、本実施例は、パケットまたはそれに含まれるデータの通信の制御または管理（その一例が、上記のＱｏＳまたは課金の制御である）のために、パケット数またはパケットのバイト数に関連付けられる、いかなる種類のパラメータにも適用することができる。
【００６５】
従来は、受信したパケットに関連付けられたＱｏＳまたは課金に関するパラメータが共通しない限り、それらのパケットの数またはそれらのバイト数を一つのカウンタで積算することができなかった。一方、本発明では、特定の場合に、異なるパラメータに関連付けられたパケットの数またはそれらのバイト数を一つのカウンタによって積算することが可能になる。重み値およびそれに基づく重み付け積算の例については後述する。
【００６６】
バイト数重み値（すなわちＵＬパケットのバイト数重み値５０４およびＤＬパケットのバイト数重み値５０６）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのバイト数を重み付け積算する際のＭＳ５およびサービスに基づく重み値を示すパラメータである。なお、バイト数重み値が登録されていない場合、重み値＝１の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい（言い換えると、重み値＝０の場合と同様に扱ってもよい）。ただし、どちらの扱いを適用するかは予め定めておく必要がある。また、ＵＬパケットに適用されるバイト数重み値５０４とＤＬパケットに適用されるバイト数重み値５０６にそれぞれ別々の値が設定されてもよいし、ＵＬパケットとＤＬパケットに同じ重み値が適用されてもよい。後者の場合、ＵＬパケットのバイト数重み値５０４およびＤＬパケットのバイト数重み値５０６の一方だけが設定され、その値がもう一方にも適用されてもよい。
【００６７】
パケット数重み値（すなわちＵＬパケットのパケット数重み値５０５およびＤＬパケットのパケット数重み値５０７）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのパケット数を重み付け積算する際のＭＳ５およびサービスに基づく重み値を示すパラメータである。なお、パケット数重み値が登録されていない場合、重み値＝１の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい（言い換えると、重み値＝０の場合と同様に扱ってもよい）。ただし、どちらの扱いを適用するかは予め定めておく必要がある。また、ＵＬパケットに適用されるパケット数重み値５０５とＤＬパケットに適用されるパケット数重み値５０７にそれぞれ別々の値が設定されてもよいし、ＵＬパケットとＤＬパケットに同じ重み値が適用されてもよい。後者の場合、ＵＬパケットのパケット数重み値５０５およびＤＬパケットのパケット数重み値５０７の一方だけが設定され、その値がもう一方に適用されてもよい。
【００６８】
図５の例では、識別子５０１が「ＭＳ＃１」であるＭＳ５（以下、単に「ＭＳ＃１」とも記載する。他の識別子５０１についても同様）が利用する複数のサービスのうち、識別子５０２が「Ｓｅｒｖｉｃｅ＃１」であるサービスおよび識別子５０２が「Ｓｅｒｖｉｃｅ＃３」であるサービス（以下、それぞれ、単に「Ｓｅｒｖｉｃｅ＃１」および「Ｓｅｒｖｉｃｅ＃３」とも記載する。他の識別子５０２についても同様）が、識別子５０３「Ａ」によって識別される積算グループ（以下、単に「積算グループＡ」とも記載する。他の識別子５０３についても同様）に関連付けられている。さらに、ＭＳ＃１とＳｅｒｖｉｃｅ＃１との組と、ＵＬパケットのバイト数重み値５０４の値「０．８」とが関連付けられ、ＭＳ＃１とＳｅｒｖｉｃｅ＃３との組と、ＵＬパケットのバイト数重み値５０４の値「１．５」とが関連付けられている。
【００６９】
この場合、例えば、ＭＳ＃１から送信されたＳｅｒｖｉｃｅ＃１に属するＵＬパケットのバイト数に重み「０．８」が乗算され、ＭＳ＃１から送信されたＳｅｒｖｉｃｅ＃３に属するＵＬパケットのバイト数に重み「１．５」が乗算され、それらの値が同一のカウンタによって積算される。これによって、例えば積算値が課金に利用される場合には、両サービスの価格差が正確に反映された課金を行うことができ、さらに、積算値の閾値が設けられている場合には、積算値が閾値を超えたタイミングを正確に特定することができる。なお、上記の重み値の例は、それらが課金に利用される場合には、Ｓｅｒｖｉｃｅ＃１よりＳｅｒｖｉｃｅ＃３が高額であることを意味する。
【００７０】
このように、パケット数またはバイト数を重み付け積算することによって、使用するカウンタの数を増やすことなく、パラメータの相違を吸収できる場合がある。カウンタによって積算された値が閾値を超えた場合のメッセージの送信等はカウンタごとに行う必要があるため、カウンタの数が増えれば、カウンタのためのメモリ領域が必要になるだけでなく、メッセージの処理量も増加し、これによってパケットの転送性能が低下する場合がある。本実施例では、上記のように重み付け積算によってカウンタを統合することができるため、パケットの転送性能への影響を抑えつつ、積算値が閾値を超過した適切なタイミングで、パラメータ変更等の処理を行うことができる。
【００７１】
図５の例では、ＭＳ＃１とＳｅｒｖｉｃｅ＃１との組、および、ＭＳ＃１とＳｅｒｖｉｃｅ＃３との組に加えて、ＭＳ＃１とＳｅｒｖｉｃｅ＃１との組も積算グループＡに関連付けられている。このような場合には、ＭＳ５ごとに異なるカウンタが使用されてもよいし、複数のＭＳ５に同一のカウンタが使用されてもよい。例えば、端末ごとのＱｏＳまたは課金を制御したい場合には、ＭＳ５ごとに異なるカウンタが使用される。一方、例えばユーザごとのＱｏＳまたは課金を制御したい場合において、ＭＳ＃１とＭＳ＃２が同一のユーザによって使用される場合には、ＭＳ＃１とＭＳ＃２に同一のカウンタが使用される。あるいは、例えばいわゆる家族割引が適用されるサービスまたは企業向けのサービスに関するＱｏＳまたは課金を制御したい場合にも、複数のＭＳ５に同一のカウンタを使用することができる。
【００７２】
ＧＷ２は、受信したパケットのヘッダを参照して、そのパケットの送信元（または送信先）のＭＳ５の識別子およびそのパケットが属するサービスの識別子を特定することができる。このため、ＧＷ２は、パケットのヘッダと、テーブル２５１のＭＳ５の識別子５０１〜積算グループの識別子５０３とを参照することによって、受信したパケットに対応する積算グループ（言い換えると、受信したパケットに対応するカウンタ）を特定することができる。メモリ部２５がテーブル２５１を保持しない（例えばテーブル２５１の代わりにテーブル２５４等を保持する）場合であっても、メモリ部２５は、テーブル２５１のＭＳ５の識別子５０１〜積算グループの識別子５０３のような、パケットと、そのパケットのパケット数またはバイト数を積算するカウンタとを関連付ける情報を保持する必要がある。
【００７３】
なお、テーブル２５１に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【００７４】
図６に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５２を示す。テーブル２５２は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における積算閾値を該パケットの属する積算グループから決定するための情報を示す。
【００７５】
テーブル２５２には、例えば、積算グループの識別子（Ｇｒｏｕｐ  ＩＤ）６０１、バイト数積算閾値（Ｔｈｒｅｓｈｏｌｄ（ｆｏｒ  ｂｙｔｅｓ））、およびパケット数積算閾値（Ｔｈｒｅｓｈｏｌｄ（ｆｏｒ  ｐａｃｋｅｔｓ））が記憶される。バイト数積算閾値は、ＵＬパケットのバイト数積算閾値６０２およびＤＬパケットのバイト数積算閾値６０４を含む。パケット数積算閾値は、ＵＬパケットのパケット数積算閾値６０３およびＤＬパケットのパケット数積算閾値６０５を含む。
【００７６】
積算グループの識別子６０１は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの数またはそれぞれのパケットのバイト数がどの積算グループのカウンタに積算されるかを示すパラメータである。
【００７７】
バイト数積算閾値（すなわちＵＬパケットのバイト数積算閾値６０２およびＤＬパケットのバイト数積算閾値６０４）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのバイト数を重み付け積算する際の各積算グループにおける積算閾値を示すパラメータである。ＵＬパケットに適用されるバイト数積算閾値６０２とＤＬパケットに適用されるバイト数積算閾値６０４にそれぞれ別々の値が設定されてもよいし、ＵＬパケットとＤＬパケットに同じバイト数積算閾値が適用されてもよい。後者の場合、ＵＬパケットのバイト数積算閾値６０２およびＤＬパケットのバイト数積算閾値６０４の一方だけが設定され、その値がもう一方にもてきようされてもよい。
【００７８】
パケット数積算閾値（すなわちＵＬパケットのパケット数積算閾値６０３およびＤＬパケットのパケット数積算閾値６０５）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのパケット数を重み付け積算する際の各積算グループにおける積算閾値を示すパラメータである。ＵＬパケットに適用されるパケット数積算閾値６０３とＤＬパケットに適用されるパケット数積算閾値６０５にそれぞれ別々の値が設定されてもよいし、ＵＬパケットとＤＬパケットに同じパケット数積算閾値が適用されてもよい。後者の場合、ＵＬパケットのパケット数積算閾値６０３またはＤＬパケットのパケット数積算閾値６０５の一方だけが設定され、その値がもう一方にも適用されてもよい。
【００７９】
なお、テーブル２５２に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【００８０】
図７に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５３を示す。テーブル２５３は、積算グループ毎の積算値の情報を示す。
【００８１】
テーブル２５３には、例えば、積算グループの識別子（Ｇｒｏｕｐ  ＩＤ）７０１、バイト数積算値（Ｉｎｔｅｇｒａｔｉｏｎ（Ｍｂｙｔｅｓ））、パケット数積算値（Ｉｎｔｅｇｒａｔｉｏｎ（ｋｐａｃｋｅｔｓ））が記憶される。バイト数積算値は、ＵＬパケットのバイト数積算値７０２およびＤＬパケットのバイト数積算値７０４を含む。パケット数積算値は、ＵＬパケットのパケット数積算値７０３およびＤＬパケットのパケット数積算値７０５を含む。
【００８２】
積算グループの識別子７０１は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの数またはそれぞれのパケットのバイト数どの積算グループのカウンタに積算されるかを示すパラメータである。
【００８３】
バイト数積算値（すなわちＵＬパケットのバイト数積算値７０２およびＤＬパケットのバイト数積算値７０４）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのバイト数を重み付け積算した際の各積算グループにおける積算値（すなわち、各積算グループのカウンタによって重み付け積算されたバイト数）を示すパラメータである。なお、ＧＷ２が受信したパケットがＵＬパケットまたはＤＬパケットのいずれであるかを区別せずに重み付け積算を行ってもよく、その場合は各積算グループに対応する受信したパケットのバイト数の重み付け積算結果を示すパラメータがテーブル２５３に記憶される。
【００８４】
パケット数積算値（すなわちＵＬパケットのパケット数積算値７０３およびＤＬパケットのパケット数積算値７０５）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのパケット数を重み付け積算した際の各積算グループにおける積算値（すなわち、各積算グループのカウンタによって重み付け積算されたパケット数）を示すパラメータである。なお、ＧＷ２が受信したパケットがＵＬパケットまたはＤＬパケットのいずれであるかを区別せずに重み付け積算を行ってもよく、その場合は各積算グループに対応する受信したパケット数の重み付け積算結果を示すパラメータがテーブル２５３に記憶される。
【００８５】
図８に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５４を示す。テーブル２５４は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における時刻に基づく重み値を当該パケットの通信に関わるＭＳ５と当該パケットの属するサービスから決定するための情報を示す。
【００８６】
テーブル２５４には、例えば、ＭＳ５の識別子（ＭＳ  ＩＤ）８０１、サービスの識別子（Ｓｅｒｖｉｃｅ  ＩＤ）８０２、ＵＬパケットのバイト数重み値とその切り替え時刻（Ｗｅｉｇｈｔ  Ｔｉｍｅｌｉｎｅ（ｆｏｒ  ｂｙｔｅｓ））８０３、ＤＬパケットのバイト数重み値とその切り替え時刻８０５、ＵＬパケットのパケット数重み値とその切り替え時刻（Ｗｅｉｇｈｔ  Ｔｉｍｅｌｉｎｅ（ｆｏｒ  ｐａｃｋｅｔｓ））８０４及びＤＬパケットのパケット数重み値とその切り替え時刻８０６が記憶される。
【００８７】
ＭＳ５の識別子８０１は、各ＭＳ５を識別するパラメータであり、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの通信に関わるＭＳ５と、時刻に基づく重み値とを関連づけるために使用される。なお、対応する時刻に基づく重み値が、全てのＭＳ５に共通に適用されるなどの場合、ＭＳ５の識別子８０１は省略されてもよい。
【００８８】
サービスの識別子８０２は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの属するサービスと、時刻に基づく重み値とを関連づけるためのパラメータである。なお、対応する時刻に基づく重み値が、パケットの属するサービスにかかわらずに適用されるなどの場合、サービスの識別子８０２は省略されてもよい。
【００８９】
ＵＬパケットのバイト数重み値とその切り替え時刻８０３は、ＧＷ２が受信したＵＬパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。ＤＬパケットのバイト数重み値とその切り替え時刻８０５は、ＧＷ２が受信したＤＬパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【００９０】
ＵＬパケットのパケット数重み値とその切り替え時刻８０４は、ＧＷ２が受信したＵＬパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。ＤＬパケットのパケット数重み値とその切り替え時刻８０６は、ＧＷ２が受信したＤＬパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【００９１】
例えば、上記の重み値とその切り替え時刻８０３〜８０６に「１８：００＝０．８、２３：００＝０．５」と設定されていた場合、１８：００〜２３：００の時間帯には時刻に基づく重み値として「０．８」が適用され、２３：００〜翌日１８：００の時間帯には時刻に基づく重み値として「０．５」が適用されることを表す。
【００９２】
なお、テーブル２５１の場合と同様、テーブル２５４において時刻に基づく重み値の登録が省略された場合、重み値＝１の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。また、テーブル２５４には、図８に例示したように、ＵＬパケットに適用される重み値とＤＬパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ＵＬパケットとＤＬパケットに同じ重み値が適用されてもよい。後者の場合には、ＵＬパケットに適用される重み値またはＤＬパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【００９３】
テーブル２５４に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【００９４】
図９に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５５を示す。テーブル２５５は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算における時刻に基づく重み値を当該パケットの属する積算グループから決定するための情報を示す。
【００９５】
テーブル２５５には、例えば、積算グループの識別子（Ｇｒｏｕｐ  ＩＤ）９０１、ＵＬパケットの積算グループ単位のバイト数重み値とその切り替え時刻（Ｇｒｏｕｐ  Ｗｅｉｇｈｔ  Ｔｉｍｅｌｉｎｅ（ｆｏｒ  ｂｙｔｅｓ））９０２、ＤＬパケットの積算グループ単位のバイト数重み値とその切り替え時刻９０４、ＵＬパケットの積算グループ単位のパケット数重み値とその切り替え時刻（Ｇｒｏｕｐ  Ｗｅｉｇｈｔ  Ｔｉｍｅｌｉｎｅ（ｆｏｒ  ｐａｃｋｅｔｓ））９０３、およびＤＬパケットの積算グループ単位のパケット数重み値とその切り替え時刻９０５が記憶される。
【００９６】
積算グループの識別子９０１は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットがどの積算グループのカウンタに積算されるかを示すパラメータである。
【００９７】
ＵＬパケットの積算グループ単位のバイト数重み値とその切り替え時刻９０２は、ＧＷ２が受信したＵＬパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。ＤＬパケットの積算グループ単位のバイト数重み値とその切り替え時刻９０４は、ＧＷ２が受信したＤＬパケットのバイト数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【００９８】
ＵＬパケットの積算グループ単位のパケット数重み値とその切り替え時刻９０３は、ＧＷ２が受信したＵＬパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。ＤＬパケットの積算グループ単位のパケット数重み値とその切り替え時刻９０５は、ＧＷ２が受信したＤＬパケットのパケット数を重み付け積算する際の時刻に基づく重み値とその切り替え時刻を示すパラメータである。
【００９９】
例えば、上記の重み値とその切り替え時刻９０３〜９０５に「１８：００＝１．０、２３：００＝２．０」と設定されていた場合、１８：００〜２３：００の時間帯には時刻に基づく重み値として「１．０」が適用され、２３：００〜翌日１８：００の時間帯には時刻に基づく重み値として「２．０」が適用されることを表す。
【０１００】
なお、テーブル２５１の場合と同様、テーブル２５５において時刻に基づく重み値の登録が省略された場合、重み値＝１の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。また、テーブル２５５には、図９に例示したように、ＵＬパケットに適用される重み値とＤＬパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ＵＬパケットとＤＬパケットに同じ重み値が適用されてもよい。後者の場合には、ＵＬパケットに適用される重み値またはＤＬパケットに適用される重み値のうち一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【０１０１】
テーブル２５５に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【０１０２】
図８または図９に示したように、時間帯に応じて異なる重み値を適用することによって、時間帯ごとに最適なＱｏＳまたは課金の制御を行うことができる。例えば、回線が混雑している時間帯の重み値を、回線が空いている時間帯の重み値より高く設定することによって、回線が混雑している時間帯のサービスの料金を他の時間帯より高く設定したり、回線が混雑している時間帯の帯域制限を他の時間帯より厳しく設定したりすることができる。これによって、回線が混雑している時間帯のトラフィックを他の時間帯に分散させることができる。その結果、混雑に起因する通信品質の低下が改善される。
【０１０３】
図１０に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５６を示す。テーブル２５６は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算におけるＢＳ４の混雑度に基づく重み値を当該パケットの通信に関わるＢＳ４から決定するための情報を示す。
【０１０４】
テーブル２５６には、例えば、ＢＳ４の識別子（ＢＳ  ＩＤ）１００１、ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の数との比の閾値（Ｔｈｒｅｓｈｏｌｄ  Ｒａｔｉｏ（Ｎｕｍ／Ｍｂｐｓ））１００２、バイト数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｂｙｔｅｓ））、およびパケット数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｐａｃｋｅｔｓ））が記憶される。バイト数重み値は、ＵＬパケットのバイト数重み値１００３およびＤＬパケットのバイト数重み値１００５を含む。パケット数重み値は、ＵＬパケットのパケット数重み値１００４およびＤＬパケットのパケット数重み値１００６を含む。
【０１０５】
ＢＳ４の識別子１００１は、各ＢＳ４を識別するパラメータであり、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの通信に関わるＢＳ４（すなわち、ＵＬパケットまたはＤＬパケットの通信経路上にあるＢＳ４、より具体的には、ＵＬパケットの送信元のＢＳ４またはＤＬパケットの送信先のＢＳ４）と重み値などの情報とを関連づけるために使用される。
【０１０６】
ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の数との比の閾値１００２は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの通信に関わるＢＳ４と重み値とを関連づけるためのパラメータである。ＢＳ４のセルスループットは、タイマによる定期的な取得契機でＢＳ４によって取得されてもよいし、当該ＢＳ４のセルスループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機として当該ＢＳ４によって取得されてもよい。また、ＢＳ４に接続しているＭＳ５の数は、タイマによる定期的な取得契機でＢＳ４によって取得されてもよいし、当該ＢＳ４に接続しているＭＳ５の数が事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機としてＢＳ４によって取得されてもよい。
【０１０７】
取得されたＢＳ４のセルスループットおよびＢＳ４に接続しているＭＳ５の数は、ＢＳ４からＧＷ２宛に送信されたメッセージ、または統計項目を取得するサーバからのメッセージなどによってＧＷ２へ通知されてもよい。ＧＷ２の処理部２６は、取得したＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の数との比を計算し、この値がテーブル２５６に設定された値１００２と異なると判定された場合、テーブル２５６に設定された値１００２を算出した値に更新してもよい。
【０１０８】
バイト数重み値（すなわちＵＬパケットのバイト数重み値１００３およびＤＬパケットのバイト数重み値１００５）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのバイト数を重み付け積算する際のＢＳ４の混雑度に基づく重み値を示すパラメータである。
【０１０９】
パケット数重み値（すなわちＵＬパケットのパケット数重み値１００４およびＤＬパケットのパケット数重み値１００６）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのパケット数を重み付け積算する際のＢＳ４の混雑度に基づく重み値を示すパラメータである。
【０１１０】
図１０の例では、ＢＳ＃１のセルスループットとＢＳ＃１に接続しているＭＳ５の数との比の閾値１００２「０」および「５」に、それぞれ、ＵＬパケットのバイト数重み値１００３「０．８」および「１．２」が関連付けられている。これは、ＢＳ＃１のセルスループットとＢＳ＃１に接続しているＭＳ５の数との比が「０」以上「５」未満のときに重み値「０．８」が適用され、ＢＳ＃１のセルスループットとＢＳ＃１に接続しているＭＳ５の数との比が「５」以上「１０」未満のときに重み値「１．２」が適用されることを意味する。ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の数との比が大きいほど当該ＢＳ４の混雑度が高いことを意味し、図１０の例では、ＢＳ４の混雑度が高いほどそれに関連付けられる重み値が大きくなる。
【０１１１】
なお、テーブル２５１の場合と同様、テーブル２５６においてＢＳ４の混雑度に基づく重み値の登録が省略された場合、重み値＝１の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。また、テーブル２５６には、図１０に例示したように、ＵＬパケットに適用される重み値とＤＬパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ＵＬパケットとＤＬパケットに同じ値が適用されてもよい。後者の場合、ＵＬパケットに適用される重み値またはＤＬパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【０１１２】
テーブル２５６に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【０１１３】
図１１に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、ＢＳ４に接続しているＭＳ５の情報を示すテーブル２５７を示す。テーブル２５７には、例えば、ＢＳ４の識別子（ＢＳ  ＩＤ）１１０１、およびＭＳ５の識別子（ＭＳ  ＩＤ）１１０２が記憶される。
【０１１４】
ＢＳ４の識別子１１０１は、ＭＳ５が通信に使用しているＢＳ４を識別するためのパラメータである。
【０１１５】
ＭＳ５の識別子１１０２は、各ＢＳ４を通信に使用しているＭＳ５を識別するためのパラメータである。なお、一つのＭＳ５が複数のＢＳ４とコネクションを確立している場合、異なるＢＳ４に対して、同じＭＳ５の識別子がそれぞれ登録されていてもよい。
【０１１６】
なお、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【０１１７】
図１２に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５８を示す。テーブル２５８は、受信したＵＬパケットまたはＤＬパケットに対する重み付け積算におけるＢＳ４の混雑度に基づく重み値を当該パケットの通信に関わるＢＳ４から決定するための情報を示す。
【０１１８】
テーブル２５８には、例えば、ＢＳ４の識別子（ＢＳ  ＩＤ）１２０１、ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５のＵＬパケットに関する総送信スループットとの比の閾値（Ｔｈｒｅｓｈｏｌｄ  Ｒａｔｉｏ（ｋｂｐｓ／ｋｂｐｓ））１２０２、ＵＬパケットのバイト数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｂｙｔｅｓ））１２０３、ＵＬパケットのパケット数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｐａｃｋｅｔｓ））１２０４、ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５のＤＬパケットに関する総送信スループットとの比の閾値１２０５、ＵＬパケットのバイト数重み値１２０６およびＵＬパケットのパケット数重み値１２０７が記憶される。
【０１１９】
ＢＳ４の識別子１２０１は、各ＢＳ４を識別するパラメータであり、ＧＷ２が受信したＵＬパケットまたはＤＬパケットの通信に関わるＢＳ４（すなわち、ＵＬパケットの送信元のＢＳ４またはＤＬパケットの送信先のＢＳ４）と対応する重み値などの情報を紐づけるために使用される。
【０１２０】
ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５のＵＬパケットに関する総送信スループットとの比の閾値１２０２は、ＧＷ２が受信したＵＬパケットの属するＢＳ４と重み値とを対応づけるためのパラメータである。ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５のＤＬパケットに関する総送信スループットとの比の閾値１２０５は、ＧＷ２が受信したＤＬパケットの属するＢＳ４と重み値とを対応づけるためのパラメータである。
【０１２１】
ＢＳ４のセルスループットは、タイマによる定期的な取得契機でＢＳ４によって取得されてもよいし、当該ＢＳ４のセルスループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機として当該ＢＳ４で取得されてもよい。また、ＢＳ４に接続しているＭＳ５の総送信スループットは、タイマによる定期的な取得契機でＢＳ４によって取得されてもよいし、当該ＢＳ４に接続しているＭＳ５の総送信スループットが事前設定された上限閾値を超過したことまたは下限閾値未満となったことが検出されたことを契機としてＢＳ４によって取得されてもよい。
【０１２２】
取得されたＢＳ４のセルスループットおよびＢＳ４に接続しているＭＳ５の総送信スループットは、ＢＳ４からＧＷ２宛に送信されたメッセージ、または統計項目を取得するサーバからのメッセージなどによってＧＷ２へ通知されてもよい。ＧＷ２の処理部２６は、取得したＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の総送信スループットとの比を計算し、この値がテーブル２５８に設定された値１２０２または１２０５と異なると判定された場合、テーブル２５８に設定された値１２０２または１２０５を算出した値に更新してもよい。
【０１２３】
バイト数重み値（すなわちＵＬパケットのバイト数重み値１２０３およびＤＬパケットのバイト数重み値１２０６）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのバイト数を重み付け積算する際のＢＳ４の混雑度に基づく重み値を示すパラメータである。
【０１２４】
パケット数重み値（すなわちＵＬパケットのパケット数重み値１２０４およびＤＬパケットのパケット数重み値１２０７）は、ＧＷ２が受信したＵＬパケットまたはＤＬパケットのパケット数を重み付け積算する際のＢＳ４の混雑度に基づく重み値を示すパラメータである。
【０１２５】
図１１の例では、ＢＳ＃１のセルスループットとＢＳ＃１に接続しているＭＳ５のＵＬパケットに関する総送信スループットとの比の閾値１２０２「０」および「０．５」に、それぞれ、ＵＬパケットのバイト数重み値１２０３「０．８」および「１．２」が関連付けられている。これは、ＢＳ＃１のセルスループットとＢＳ＃１に接続しているＭＳ５のＵＬパケットに関する総送信スループットとの比が「０」以上「０．５」未満のときに重み値「０．８」が適用され、ＢＳ＃１のセルスループットとＢＳ＃１に接続しているＭＳ５のＵＬパケットに関する総送信スループットとの比が「０．５」以上「０．８」未満のときに重み値「１．２」が適用されることを意味する。ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の総送信スループットとの比が大きいほど当該ＢＳ４の混雑度が高いことを意味し、図１１の例では、ＢＳ４の混雑度が高いほどそれに関連付けられる重み値が大きくなる。
【０１２６】
なお、テーブル２５１の場合と同様、テーブル２５８においてＢＳ４の混雑度に基づく重み値の登録が省略された場合、重み値＝１の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。また、テーブル２５８には、図１２に示したように、ＵＬパケットに適用される重み値とＤＬパケットに適用される重み値にそれぞれ別々の値が設定されてもよいが、ＵＬパケットとＤＬパケットに同じ値が適用されてもよい。後者の場合、ＵＬパケットに適用される重み値またはＤＬパケットに適用される重み値の一方だけが設定され、その重み値がもう一方にも適用されてもよい。
【０１２７】
テーブル２５８に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【０１２８】
図１０または図１２に示したように、ＢＳ４の混雑度に応じて異なる重み値を適用することによって、複数のＢＳ４にトラフィックを分散させることができる。具体的には、混雑度の高いＢＳ４に関連する重み値を、混雑度の低いＢＳ４に関連する重み値より高く設定することによって、混雑しているＢＳ４を利用するサービスの料金を他のＢＳ４を利用するものより高く設定したり、混雑しているＢＳ４を経由する通信経路の帯域制限を、他のＢＳ４を経由するものより厳しく設定したりすることができる。これによって、ＢＳ４の混雑に起因する通信品質の低下が改善される。
【０１２９】
なお、図１０に示すＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の数の比、および、図１２に示すＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５のＵＬパケットに関する総送信スループットの比は、いずれも、ＢＳ４の混雑度を示す指標であり、それらの値が大きいほど混雑度が高いことを示す。ただし、図１０の例について言えば、ＢＳ４に接続しているＭＳ５の数が多いことは必ずしもＢＳ４が混雑することを意味しない。しかし、ＢＳ４に接続しているＭＳ５の数が多ければ、当該ＢＳ４がこれから混雑する可能性が高いとの予測に基づいて、ＢＳ４のセルスループットと当該ＢＳ４に接続しているＭＳ５の数の比をＢＳ４の混雑度の指標として用いることができる。一方、ＢＳ４に接続しているＭＳ５のＵＬパケットに関する総送信スループット（図１１）は、過去の混雑の実績を示す。ＱｏＳまたは課金の目的に応じて適切な混雑度の指標を用いることができ、さらに、ＢＳ４の混雑度を示す上記以外の指標が使用されてもよい。
【０１３０】
図１３に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２５９を示す。テーブル２５９は、複数のＢＳ４へ送信されたＤＬパケットに対する重み付け積算における当該ＤＬパケットのＭＳ５への送信成否に基づく重み値を決定するための情報を示す。テーブル２５９には、例えば、パケットの識別子（Ｐａｃｋｅｔ  ＩＤ）１３０１、パケットの重み付けバイト数（Ｗｅｉｇｈｔｅｄ  Ｂｙｔｅｓ）１３０２、パケットの重み付けパケット数（Ｗｅｉｇｈｔｅｄ  Ｐａｃｋｅｔｓ）１３０３、ＢＳ４の識別子（ＢＳ  ＩＤ）１３０４〜１３０６、およびパケット情報保持のタイムアウト時刻（Ｔｉｍｅｏｕｔ）１３０７が記憶される。
【０１３１】
パケットの識別子１３０１は、ＧＷ２がＢＳ４へ送信したＤＬパケットの識別子である。パケットの識別子１３０１としては、例えば、ＧＷ２が設定するＵＤＰヘッダのシーケンス番号などの元々パケットに含まれる情報を用いてもよいし、識別子を設定するためのフィールドまたはヘッダをＧＷ２が新たに付与してもよい。
【０１３２】
パケットの重み付けバイト数１３０２は、ＧＷ２が当該ＤＬパケットに対するバイト数の重み付け積算によって算出した値である。当該ＤＬパケットのバイト数が重み付け積算の対象に含まれない場合、パケットの重み付けバイト数１３０２は省略されてもよい。
【０１３３】
パケットの重み付けパケット数１３０３は、ＧＷ２が当該ＤＬパケットに対するパケット数の重み付け積算によって算出した値である。当該ＤＬパケットのパケット数が重み付け積算の対象に含まれない場合、パケットの重み付けパケット数１３０３は省略されてもよい。
【０１３４】
ＢＳ４の識別子１３０４〜１３０６は、ＧＷ２が当該ＤＬパケットを送信した宛先のＢＳ４の識別子である。さらに、テーブル２５９は、ＢＳ４の識別子１３０４〜１３０６に対応する送信先の各ＢＳ４から、当該ＤＬパケットの破棄を通知するメッセージを受信したか否かを示す情報を記録することができる。図１３の例において、ＢＳ４の識別子１３０４〜１３０６に対応して記録された「×」は、それに対応するＢＳ４から当該ＤＬパケットの破棄を通知するメッセージを受信したことを示す。
【０１３５】
例えば、図１３の例は、パケットの識別子１３０１が「１１」であるＤＬパケット（以下、「ＤＬパケット＃１１」と記載）に関して、識別子が「ＢＳ４＃２」であるＢＳ４（以下、「ＢＳ４＃２」と記載、他のＢＳ４についても同様の規則で記載する）、およびＢＳ４＃３から、ＤＬパケット＃１１を破棄したことを示すメッセージをそれぞれＧＷ２が受信したことを示す。この場合、ＢＳ４＃２に送信されたＤＬパケット＃１１およびＢＳ４＃３に送信されたＤＬパケット＃１１の通信は失敗した（すなわち、それらのＤＬパケット＃１１は、送信先のＭＳ５に到着しない）と判定される。
【０１３６】
一方、図１３の例では、ＧＷ２は、ＢＳ４＃１からＤＬパケット＃１１を破棄したことを示すメッセージを受信していない。ＧＷ２が当該メッセージをタイムアウト時刻（図１３の例では１２：００：２２）までに受信しなかった場合、ＢＳ４＃１に送信されたＤＬパケット＃１１の通信に成功した（すなわち、ＤＬパケット＃１１は、ＢＳ４＃１を経由して送信先のＭＳ５に到着した）と判定される。
【０１３７】
上記の例では、同一のＭＳ５に送信されるべきＤＬパケット＃１１が、三つのＢＳ４（すなわちＢＳ４＃１〜＃３）に送信されている。すなわち、三つのＢＳ４に送信される三つのＤＬパケット＃１１は、互いの複製に相当し、それらの内容は同一である。このような、同一内容の複数のパケットの複数のＢＳ４への送信は、複数のＢＳ４間のハンドオーバのシーケンス中に行われてもよいし、通信経路の冗長化による通信の信頼性向上のために行われてもよい。実際には同一内容の複数のパケットのうち一つが送信先のＭＳ５に到着すれば十分である。
【０１３８】
なお、図１３では、全てのパケットの送信先ＢＳ４の組み合わせが同じである例を示しているが、送信先ＢＳ４の組み合わせはパケット毎に違ってもよい。
【０１３９】
パケット情報保持のタイムアウト時刻１３０７は、ＧＷ２がテーブル２５９から当該ＤＬパケットに関する情報を削除してよい時刻である。パケット情報保持のタイムアウト時刻１３０７として、例えば、ＧＷ２が設置されている場所の標準時刻またはＧＷ２を管理しているオペレータが設定する標準時刻を用いてもよいし、ある基準時刻からの経過秒数などを数値化したものを用いてもよい。
【０１４０】
なお、テーブル２５９に含まれる情報は、ＧＷ２における複数のＢＳ４に対するＤＬパケットの送信、および、ＰＳ３、ＣＳ６またはＢＳ４から受信したメッセージによって更新させることができる。
【０１４１】
図１４に、本実施例のＧＷ２のメモリ部２５が保持する情報の一例として、テーブル２６０を示す。テーブル２６０は、複数のＢＳ４へ送信されたＤＬパケットに対する重み付け積算におけるＢＳ４に関する総合的な重み値を決定するための情報を示す。テーブル２６０には、例えば、ＢＳ４の識別子（ＢＳ  ＩＤ）１４０１、ＢＳ４の重み優先度（Ｗｅｉｇｈｔ  Ｐｒｉｏｒｉｔｙ）１４０２、バイト数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｂｙｔｅｓ））１４０３、およびパケット数重み値（Ｗｅｉｇｈｔ（ｆｏｒ  ｐａｃｋｅｔｓ））１４０４が記憶される。
【０１４２】
ＢＳ４の識別子１４０１は、各ＢＳ４を識別するパラメータであり、ＧＷ２が送信したＤＬパケットの通信に関わるＢＳ４と重み値などの情報とを関連づけるために使用される。
【０１４３】
ＢＳ４の重み優先度１４０２は、ＧＷ２が送信したＤＬパケットの通信に関わるＢＳ４と対応する重み値を決定するためのパラメータである。ＧＷ２が複数のＢＳ４へＤＬパケットを送信した場合、ＤＬパケット送信に成功したＢＳ４のうち、例えば、重み優先度の値が最も小さいＢＳ４に関連付けられた重み値を当該ＤＬパケットに対応する重み値として決定してもよい。
【０１４４】
バイト数重み値１４０３は、ＧＷ２が送信したＤＬパケットのバイト数を重み付け積算する際のＢＳ４の混雑度に基づく重み値を示すパラメータである。なお、テーブル２５１の場合と同様、テーブル２６０においてバイト数重み値１４０３が省略された場合、重み値＝１の場合と同様に扱ってもよいし、バイト数に関する重み付け積算を行わないと判定してもよい。
【０１４５】
パケット数重み値１４０４は、ＧＷ２が送信したＤＬパケットのパケット数を重み付け積算する際のＢＳ４の混雑度に基づく重み値を示すパラメータである。なお、テーブル２５１の場合と同様、テーブル２６０においてパケット数重み値１４０４が省略された場合、重み値＝１の場合と同様に扱ってもよいし、パケット数に関する重み付け積算を行わないと判定してもよい。
【０１４６】
なお、テーブル２６０に含まれる情報の初期値は、ＧＷ２に設定されていてもよいし、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって設定されてもよい。また、これらの情報は、ＰＳ３、ＣＳ６またはＢＳ４からＧＷ２が受信したメッセージによって更新させることができる。
【０１４７】
以上のように、本実施例では、重み値の決定条件を保持するテーブル２５１（図５）、２５４（図８）、テーブル２５５（図９）、テーブル２５６（図１０）およびテーブル２５８（図１２）を例示した。メモリ部２５がこれらのテーブルのうちいずれか一つのみを保持し、ＧＷ２の処理部２６がそのテーブルに基づいて重み値を決定してもよい。あるいは、メモリ部２５がこれらのテーブルのいくつかまたは全てを保持し、ＧＷ２の処理部２６が必要に応じてそれらのテーブルいずれかに基づいて重み値を決定してもよい。あるいは、ＧＷ２の処理部２６が、受信した一つのパケットについて、複数のテーブルに基づいて複数の重み値を決定し、それらの複数の重み値に基づいて最終的に適用される重み値を決定してもよい（後述）。なお、上記の各テーブルは重み値の決定条件の一例を示しているに過ぎず、上記以外の決定条件がメモリ部２５に保持されてもよい。
【０１４８】
＜装置構成：ＰＳ３＞
図１５に、本実施例で使用するＰＳ３の一例の機能ブロック図を示す。ＰＳ３は、例えば、ＧＷインタフェース部３１と、ＣＳインタフェース部３２と、メモリ部３３と、処理部３４とを有する。
【０１４９】
ＧＷインタフェース部３１は、ＧＷ２とのインタフェースである。ＧＷインタフェース部３１を用いて、ＰＳ３はＧＷ２との間でＩＰパケットの送受信を行う。本実施の形態では、ＰＳ３はＧＷインタフェース部３１を用いて、ＧＷ２から積算閾値到達メッセージを受信してもよい。
【０１５０】
ＣＳインタフェース部３２は、ＣＳ６とのインタフェースである。ＣＳインタフェース部３２を用いて、ＰＳ３はＣＳ６との間でＩＰパケットの送受信を行う。本実施の形態では、ＰＳ３はＣＳインタフェース部３２を用いて、ＣＳ６へステータス変更メッセージを送信したり、ＣＳ６からステータス変更メッセージを受信したり、ＣＳ６のステータス変更メッセージに対する応答メッセージをＣＳ６へ送信したりしてもよい。ＰＳ３がＣＳ６と直接通信を行わない場合、ＣＳインタフェース部３２は、省略されてもよい。
【０１５１】
メモリ部３３は、送受信するＩＰパケット、接続するＧＷ２およびＣＳ６のアドレスなどの情報を、必要に応じて記憶および管理する。
【０１５２】
処理部３４は、メモリ部３３に保持される情報の管理、ＩＰパケットの構築および解析などのＩＰパケット送受信処理、ならびに、ＱｏＳまたは課金に関するパラメータの決定などを行う。
【０１５３】
＜装置構成：ＣＳ６＞
図１６に、本実施例で使用するＣＳ６の一例の機能ブロック図を示す。ＣＳ６は、例えば、ＧＷインタフェース部６１と、ＰＳインタフェース部６２と、メモリ部６３と、処理部６４とを有する。
【０１５４】
ＧＷインタフェース部６１は、ＧＷ２とのインタフェースである。ＧＷインタフェース部６１を用いて、ＣＳ６はＧＷ２との間でＩＰパケットの送受信を行う。本実施の形態では、ＣＳ６はＧＷインタフェース部６１を用いて、ＧＷ２から積算閾値到達メッセージを受信してもよい。
【０１５５】
ＰＳインタフェース部６２は、ＰＳ３とのインタフェースである。ＰＳインタフェース部６２を用いて、ＣＳ６はＰＳ３との間でＩＰパケットの送受信を行う。本実施の形態では、ＣＳ６はＰＳインタフェース部６２を用いて、ＰＳ３へステータス変更メッセージを送信したり、ＰＳ３からステータス変更メッセージを受信したり、ＰＳ３のステータス変更メッセージに対する応答メッセージをＰＳ３へ送信したりしてもよい。ＣＳ６がＰＳ３と直接通信を行わない場合、ＰＳインタフェース部６２は、省略されてもよい。
【０１５６】
メモリ部６３は、送受信するＩＰパケット、接続するＧＷ２およびＰＳ３のアドレスなどの情報を、必要に応じて記憶および管理する。
【０１５７】
処理部６４は、メモリ部６３に保持される情報の管理、ＩＰパケットの構築および解析などのＩＰパケット送受信処理、および課金に関するパラメータの決定などを行う。
【０１５８】
以上で、本実施例の装置構成の一例についての説明を終了し、続いて本実施例の動作処理の一例を図１７〜図２２のフローチャートを用いて説明する。
【０１５９】
＜動作処理：ＧＷ２における重み付け積算＞
図１７に、本実施例のＧＷ２におけるＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算処理の一例を示す。
【０１６０】
ステップＳ２０１において、ＧＷ２の処理部２６は、ＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して、メモリ部２５に保持しているパケットフィルタリング条件に従って、当該パケットと関連付けられたＱｏＳまたは課金のパラメータを決定する。パケットフィルタリング条件および当該パケットと関連付けられたＱｏＳまたは課金のパラメータの決定は、例えば、非特許文献１に記載されているＳｅｓｓｉｏｎ  ＢｉｎｄｉｎｇおよびＢｅａｒｅｒ  Ｂｉｎｄｉｎｇと同様の方法で行われてもよい。これによって、受信パケットのＵＬ／ＤＬ種別、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、および宛先ポート番号などの情報と、メモリ部２５に保持しているパケットフィルタリング条件とが比較され、その比較に基づいて、適用されるＱｏＳまたは課金のパラメータとして、例えばＭＳ５の識別子、サービスの識別子、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、帯域制限値、パケットの送信優先度などが決定される。
【０１６１】
なお、当該パケットの送信処理は、例えば、本シーケンスと並行してＧＷ２の処理部２６の別処理として行われてもよいし、本シーケンスのステップＳ２０４における判定結果が出てからＧＷ２の処理部２６の別処理として行われてもよい。送信処理の詳細については、例えば、通常のゲートウェイで行われる送信処理と同様であるため、説明は省略する。
【０１６２】
ステップＳ２０２において、ＧＷ２の処理部２６は、ＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して、ステップＳ２０１で決定された、当該パケットに適用されるＱｏＳまたは課金のパラメータと、メモリ部２５に保持している重み値と積算閾値の決定条件に従って、当該パケットと関連付けられた重み値および積算閾値を決定する。ＧＷ２がメモリ部２５に保持している重み値の決定条件は、例えば、図５に示すテーブル２５１のように管理されており、ＧＷ２の処理部２６は、ステップＳ２０１で特定されたパケットと関連付けられたＭＳ５の識別子およびサービスの識別子に基づいて、対応する重み値を決定する。また、重み値決定の際に、ＭＳ５の識別子およびサービスの識別子以外の条件によって決定される重みを反映してもよく、その場合の処理の一例については、別途説明する。ＧＷ２がメモリ部２５に保持している積算閾値の決定条件は、例えば、図６に示すテーブル２５２のように管理されており、ＧＷ２の処理部２６は、ステップＳ２０１で特定された積算グループの識別子に基づいて、対応する積算閾値を決定する。
【０１６３】
なお、ステップＳ２０２において、ＧＷ２の処理部２６は、時刻に基づいて重み値を決定する処理またはＢＳ４の混雑度に基づいて重み値を決定する処理を実行してもよい。これらの処理については後述する。
【０１６４】
ステップＳ２０３において、ＧＷ２の処理部２６は、ＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して、ステップＳ２０１で決定された、当該パケットに適用される積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、および、ステップＳ２０２で決定された当該パケットの重み値に従って、当該パケットのパケット数またはバイト数の一方または双方を、当該パケットに適用される積算グループの識別子に関連付けられたカウンタに積算する。なお、当該パケットに適用されるパケット数を積算対象に含むか否かのフラグと、バイト数を積算対象に含むか否かのフラグが、いずれも「積算対象に含まない」ことを示している場合、ステップＳ２０３は省略されてもよい。
【０１６５】
ＧＷ２がメモリ部２５に保持している積算グループの識別子と関連付けられたカウンタの積算値は、例えば、図７に示すテーブル２５３のように管理されており、ステップＳ２０１で決定されたパケットと関連付けられた積算グループの識別子毎に当該パケットに関する積算を行う前のパケット数積算値またはバイト数積算値の一方または双方が保持されている。ＧＷ２の処理部２６は、ステップＳ２０１で決定された、パケット数を積算対象に含むか否かのフラグが、「積算対象に含む」ことを示している場合、当該パケットのパケット数と、ステップＳ２０２で決定された重みとの積を算出し、算出された積を、それに対応するテーブル２５３のカウンタの積算値に加えて、テーブル２５３を更新する。同様に、ＧＷ２の処理部２６は、ステップＳ２０１で決定された、バイト数を積算対象に含むか否かのフラグが、「積算対象に含む」ことを示している場合、当該パケットのバイト数と、ステップＳ２０２で決定された重みとの積を算出し、算出された積を、それに対応するテーブル２５３のカウンタの積算値に加えて、テーブル２５３を更新する。更新結果は、メモリ部２５に保存される。
【０１６６】
ステップＳ２０４において、ＧＷ２の処理部２６は、ステップＳ２０３で更新されたパケット数またはバイト数の一方または双方に関するカウンタの積算値が、ステップＳ２０２で決定された該カウンタに紐づく積算閾値以上になったか否かを判定する。
【０１６７】
ステップＳ２０４の判定結果が「積算閾値以上になっていない」であった場合、ＧＷ２の処理部２６は、ステップＳ２０５Ｎにおいて、本シーケンスを終了する。
【０１６８】
ステップＳ２０４の判定結果が「積算閾値以上になった」であった場合、ＧＷ２の処理部２６は、ステップＳ２０５Ｙにおいて、積算閾値を超えたカウンタに関連付けられた宛先へ送信する積算閾値到達メッセージを作成し、当該宛先へ積算閾値到達メッセージを送信して本シーケンスを終了する。積算閾値到達メッセージには、例えば、積算閾値を超えたカウンタに関連付けられる情報として、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報が設定されてもよい。また、ＧＷ２がメモリ部２５に保持している積算閾値を超えたカウンタに関連付けられる宛先は、例えば、図６に示すテーブル２５２と同様の形式で管理されており、ステップＳ２０４で「積算閾値以上になった」と判定されたカウンタと関連付けられる宛先が保持されている。
【０１６９】
例えば、テーブル２５２と同様の形式のテーブルに、ＰＳ３またはＣＳ６の一方または双方を示すフラグが設定されており、宛先として選択されたＰＳ３またはＣＳ６の一方または双方の宛先ＩＰアドレスは通常のゲートウェイと同様にメモリ部２５に保持されていてもよい。あるいは、テーブル２５２と同様の形式のテーブルに、宛先ＩＰアドレスと対応するインタフェースが直接設定されていてもよい。
【０１７０】
＜動作処理：ＰＳ３における積算閾値到達メッセージ受信処理＞
図１８に、ＰＳ３における積算閾値到達メッセージ受信の処理の一例を示す。
【０１７１】
ステップＳ３０１において、ＰＳ３の処理部３４は、ＧＷインタフェース部３１で受信した積算閾値到達メッセージの解析を行う。ＰＳ３の処理部３４は、例えば、積算閾値到達メッセージに設定されている情報として、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、ＰＳ３の処理部３４は、ステップＳ３０１の後に、ＧＷインタフェース部３１で受信した積算閾値到達メッセージに対する応答メッセージを作成して、ＧＷインタフェース部３１を用いてＧＷ２へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップＳ３０３ＮまたはＳ３０３Ｙの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【０１７２】
続いて、ステップＳ３０２において、ＰＳ３の処理部３４は、ステップＳ３０１で読み出した情報に基づいて、ＱｏＳまたは課金に関するパラメータの変更有無を判定する。ＰＳ３の処理部３４は、例えば、メモリ部３３で管理しているＱｏＳまたは課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＱｏＳまたは課金に関するパラメータを検索する。同様に、ＰＳ３の処理部３４は、メモリ部３３で管理している積算閾値到達メッセージに設定されている、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＧＷ２で現在適用しているＱｏＳまたは課金に関するパラメータを検索する。そして、ＰＳ３の処理部３４は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【０１７３】
ステップＳ３０２で変更なしと判定された場合、ＰＳ３の処理部３４は、ステップＳ３０４へ移行する。
【０１７４】
ステップＳ３０２で変更ありと判定された場合、ＰＳ３の処理部３４は、ステップＳ３０３Ｙで、ＧＷ２へＱｏＳまたは課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、ＧＷインタフェース部３１を用いてＧＷ２へ変更要求メッセージを送信して、ステップＳ３０４へ移行する。変更要求メッセージには、例えば、帯域制限値、パケットの送信優先度、パケットとＱｏＳまたは課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、ＭＳ５の識別子、およびサービスの識別子などの情報が設定される。
【０１７５】
続いて、ステップＳ３０４において、ＰＳ３の処理部３４は、ステップＳ３０１で読み出した情報からＱｏＳまたは課金に関するステータスの変更有無を判定する。ＰＳ３の処理部３４は、例えば、メモリ部３３で管理しているＱｏＳまたは課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＱｏＳまたは課金に関するステータスを検索する。同様に、ＰＳ３の処理部３４は、メモリ部３３で管理している積算閾値到達メッセージに設定されている、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＧＷ２で現在適用しているＱｏＳまたは課金に関するステータスを検索する。そして、ＰＳ３の処理部３４は、両方の検索結果が一致している場合は変更なし、異なっている場合は変更ありと判定する。
【０１７６】
ステップＳ３０４で変更なしと判定された場合、ＰＳ３の処理部３４は、ステップＳ３０５Ｎで、本シーケンスを終了する。
【０１７７】
ステップＳ３０４で変更ありと判定された場合、ＰＳ３の処理部３４は、ステップＳ３０５Ｙで、ＣＳ６へＱｏＳまたは課金に関するステータスの変更を通知するためのステータス変更メッセージを作成し、ＣＳインタフェース部３２を用いてＣＳ６へステータス変更メッセージを送信する。ステータス変更メッセージには、例えば、ＱｏＳステータス、課金ステータス、積算グループの識別子、ＭＳ５の識別子、およびサービスの識別子などの情報が設定される。
【０１７８】
ここで、ステータス変更メッセージについて説明する。
【０１７９】
従来の通信システムでは、ＰＳ３がＱｏＳに関するポリシーと課金に関する情報の一部を管理する一方、ＣＳ６は、課金に関する情報を管理する場合があった。ＰＳ３とＣＳ６は互いに情報をやり取りすることがなく、ＧＷ２は、ＱｏＳに関する情報のやり取りをＰＳ３との間で、課金に関する情報のやり取りをＣＳ６との間で、それぞれ独立に行う必要があった。
【０１８０】
これに対して、本実施例では、ＰＳ３がＣＳインタフェース部３２を有し、ＣＳ６がＰＳインタフェース部６２を有することによって、ＰＳ３とＣＳ６とが相互に通信することができる。このため、本実施例では、従来と同様に、ＧＷ２がＰＳ３およびＣＳ６のそれぞれと独立に通信（例えば積算閾値到達メッセージの送信）することによって、ＰＳ３およびＣＳ６のそれぞれにパラメータの変更等を実行させてもよいが、ＧＷ２がＰＳ３のみと通信し、ＰＳ３が必要に応じて所定の情報（例えばステータス変更メッセージ）をＣＳ６に送信することによって（ステップＳ３０４およびＳ３０５Ｙ）、ＰＳ３およびＣＳ６のそれぞれにパラメータの変更等を実行させることもできる。
【０１８１】
ステータス変更メッセージは、上記のように、ＣＳ６が課金に関するパラメータを変更するか否か、及び、変更する場合にはどのように変更するかを判定するために必要な情報を含む。ＣＳ６は、ＰＳ３から受信したステータス変更メッセージに基づいて、パラメータの変更の有無を判定する。この処理については後述する（図２１参照）。
【０１８２】
ＧＷ２は、従来と同様にＰＳ３およびＣＳ６のそれぞれと独立に通信する場合（すなわちＰＳ３とＣＳ６とが相互に通信する必要がない場合）、ステップＳ３０４およびＳ３０５Ｙを実行する必要がない。
【０１８３】
なお、本実施例のＧＷ２は、ＣＳ６のみと通信し、ＣＳ６が必要に応じて所定の情報（例えばステータス変更メッセージ）をＰＳ３に送信することによって、ＰＳ３およびＣＳ６のそれぞれにパラメータの変更等を実行させることもできる。このときに送信されたステータス変更メッセージは、ＰＳ３がＱｏＳまたは課金に関するパラメータを変更するか否か、及び、変更する場合にはどのように変更するかを判定するために必要な情報を含む。ＰＳ３は、ＣＳ６から受信したステータス変更メッセージに基づいて、パラメータの変更の有無を判定する。このようなＣＳ６およびＰＳ３の処理については後述する（図１９および図２０参照）。
【０１８４】
＜動作処理：ＣＳ６における積算閾値到達メッセージ受信処理＞
図１９に、ＣＳ６における積算閾値到達メッセージ受信の処理の一例を示す。
【０１８５】
ステップＳ６０１において、ＣＳ６の処理部６４は、ＧＷインタフェース部６１で受信した積算閾値到達メッセージの解析を行う。ＣＳ６の処理部６４は、例えば、積算閾値到達メッセージに設定されている情報として、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、ＣＳ６の処理部６４は、ステップＳ６０１の後に、ＧＷインタフェース部６１で受信した積算閾値到達メッセージに対する応答メッセージを作成して、ＧＷインタフェース部６１を用いてＧＷ２へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップＳ６０３ＮまたはＳ６０３Ｙの後で行われもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【０１８６】
続いて、ステップＳ６０２において、ＣＳ６の処理部６４は、ステップＳ６０１で読み出した情報に基づいて、課金パラメータの変更有無を判定する。ＣＳ６の処理部６４は、例えば、メモリ部６３で管理している課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられた課金パラメータを検索する。同様に、ＣＳ６の処理部６４は、メモリ部６３で管理している積算閾値到達メッセージに設定されている、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＧＷ２で現在適用している課金パラメータを検索する。そして、ＣＳ６の処理部６４は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【０１８７】
ステップＳ６０２で変更なしと判定された場合、ＣＳ６の処理部６４は、ステップＳ６０３Ｎで、ステップＳ６０４へ移行する。
【０１８８】
ステップＳ６０２で変更ありと判定された場合、ＣＳ６の処理部６４は、ステップＳ６０３Ｙで、ＧＷ２へ課金パラメータの変更を通知するための変更要求メッセージを作成し、ＧＷインタフェース部６１を用いてＧＷ２へ変更要求メッセージを送信して、ステップＳ６０４へ移行する。変更要求メッセージには、例えば、パケットと課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、ＭＳ５の識別子、およびサービスの識別子などの情報が設定される。
【０１８９】
続いて、ステップＳ６０４において、ＣＳ６の処理部６４は、ステップＳ６０１で読み出した情報から課金に関するステータスの変更有無を判定する。ＣＳ６の処理部６４は、例えば、メモリ部６３で管理している課金のポリシー情報に基づいて、積算閾値到達メッセージに設定されている、パケット数積算値、バイト数積算値、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられた課金に関するステータスを検索する。同様に、ＣＳ６の処理部６４は、メモリ部６３で管理している積算閾値到達メッセージに設定されている、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＧＷ２で現在適用している課金に関するステータスを検索する。そして、ＣＳ６の処理部６４は、両方の検索結果が一致している場合は変更なし、異なっている場合は変更ありと判定する。
【０１９０】
ステップＳ６０４で変更なしと判定された場合、ＣＳ６の処理部６４は、ステップＳ６０５Ｎで、本シーケンスを終了する。
【０１９１】
ステップＳ６０４で変更ありと判定された場合、ＣＳ６の処理部６４は、ステップＳ６０５Ｙで、ＰＳ３へ課金に関するステータスの変更を通知するためのステータス変更メッセージを作成し、ＰＳインタフェース部６２を用いてＰＳ３へステータス変更メッセージを送信する。ステータス変更メッセージには、例えば、課金ステータス、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報が設定される。
【０１９２】
なお、図１８の場合と同様、ＧＷ２は、ＰＳ３およびＣＳ６のそれぞれと独立に通信する場合、ステップＳ６０４およびＳ６０５Ｙを実行する必要がない。
【０１９３】
＜動作処理：ＰＳ３におけるステータス変更メッセージ受信処理＞
図２０に、ＰＳ３におけるステータス変更メッセージ受信の処理の一例を示す。
【０１９４】
ステップＳ３１１において、ＰＳ３の処理部３４は、ＣＳインタフェース部３２で受信したステータス変更メッセージの解析を行う。ＰＳ３の処理部３４は、例えば、ステータス変更メッセージに設定されている情報として、課金ステータス、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、ＰＳ３の処理部３４は、ステップＳ３１１の後に、ＣＳインタフェース部３２で受信したステータス変更メッセージに対する応答メッセージを作成して、ＣＳインタフェース部３２を用いてＣＳ６へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップＳ３１３ＮまたはＳ３１３Ｙの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【０１９５】
続いて、ステップＳ３１２において、ＰＳ３の処理部３４は、ステップＳ３１１で読み出した情報に基づいて、ＱｏＳまたは課金に関するパラメータの変更有無を判定する。ＰＳ３の処理部３４は、例えば、メモリ部３３で管理しているＱｏＳまたは課金のポリシー情報に基づいて、ステータス変更メッセージに設定されている、課金ステータス、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＱｏＳまたは課金に関するパラメータを検索する。同様に、ＰＳ３の処理部３４は、メモリ部３３で管理しているステータス変更メッセージに設定されている、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＧＷ２で現在適用しているＱｏＳまたは課金に関するパラメータを検索する。そして、ＰＳ３の処理部３４は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【０１９６】
ステップＳ３１２で変更なしと判定された場合、ＰＳ３の処理部３４は、ステップＳ３１３Ｎで、本シーケンスを終了する。
【０１９７】
ステップＳ３１２で変更ありと判定された場合、ＰＳ３の処理部３４は、ステップＳ３１３Ｙで、ＧＷ２へＱｏＳまたは課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、ＧＷインタフェース部３１を用いてＧＷ２へ変更要求メッセージを送信する。変更要求メッセージには、例えば、帯域制限値、パケットの送信優先度、パケットとＱｏＳまたは課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、ＭＳ５の識別子、およびサービスの識別子などの情報が設定される。
【０１９８】
＜動作処理：ＣＳ６におけるステータス変更メッセージ受信処理＞
図２１に、ＣＳ６におけるステータス変更メッセージ受信の処理の一例を示す。
【０１９９】
ステップＳ６１１において、ＣＳ６の処理部６４は、ＰＳインタフェース部６２で受信したステータス変更メッセージの解析を行う。ＣＳ６の処理部６４は、例えば、ステータス変更メッセージに設定されている情報として、ＱｏＳステータス、課金ステータス、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報の設定有無および設定内容のエラーの有無などを確認する。なお、ＣＳ６の処理部６４は、ステップＳ６１１の後に、ＰＳインタフェース部６２で受信したステータス変更メッセージに対する応答メッセージを作成して、ＰＳインタフェース部６２を用いてＰＳ３へ応答メッセージを送信してもよい。また、応答メッセージの作成および送信はステップＳ６１３ＮまたはＳ６１３Ｙの後で行われてもよいし、そもそも応答メッセージを作成および送信しなくてもよい。
【０２００】
続いて、ステップＳ６１２において、ＣＳ６の処理部６４は、ステップＳ６１１で読み出した情報に基づいて、課金に関するパラメータの変更有無を判定する。ＣＳ６の処理部６４は、例えば、メモリ部６３で管理している課金のポリシー情報に基づいて、ステータス変更メッセージに設定されている、課金ステータス、課金ステータス、積算グループの識別子、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられた課金に関するパラメータを検索する。同様に、ＣＳ６の処理部６４は、メモリ部６３で管理しているステータス変更メッセージに設定されている、ＭＳ５の識別子、サービスの識別子などの情報と関連付けられたＧＷ２で現在適用している課金に関するパラメータを検索する。そして、ＣＳ６の処理部６４は、検索された両パラメータが一致している場合は変更なし、異なっている場合は変更ありと判定する。
【０２０１】
ステップＳ６１２で変更なしと判定された場合、ＣＳ６の処理部６４は、ステップＳ６１３Ｎで、本シーケンスを終了する。
【０２０２】
ステップＳ６１２で変更ありと判定された場合、ＣＳ６の処理部６４は、ステップＳ６１３Ｙで、ＧＷ２へ課金に関するパラメータの変更を通知するための変更要求メッセージを作成し、ＧＷインタフェース部６１を用いてＧＷ２へ変更要求メッセージを送信する。変更要求メッセージには、例えば、パケットと課金に関するパラメータとを関連づけるパケットフィルタリング条件、積算グループの識別子、パケット数を積算対象に含むか否かのフラグ、バイト数を積算対象に含むか否かのフラグ、積算閾値、ＭＳ５の識別子、およびサービスの識別子などの情報が設定される。
【０２０３】
＜動作処理：ＧＷ２における時刻に基づく重み値の決定＞
以下に、本実施例のＧＷ２におけるＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値を時刻に基づいて決定する処理の一例を示す。この処理は、図１７のステップＳ２０２において実行される。
【０２０４】
ＧＷ２の処理部２６は、ステップＳ２０１においてＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して、当該パケットの受信時刻と、メモリ部２５に保持している時刻に基づく重み値の決定条件と、に従って、当該パケットに対応する受信時刻に基づく重み値を決定する。ＧＷ２がメモリ部２５に保持している時刻に基づく重み値の決定条件は、例えば、図８に示すテーブル２５４のように管理されていてもよいし、図９に示すテーブル２５５のように管理されていてもよい。ＧＷ２の処理部２６は、テーブル２５４を参照して、ステップＳ２０１で特定されたパケットと関連付けられたＭＳ５の識別子およびサービスの識別子に基づいて、対応する重み値を決定してもよいし、テーブル２５５を参照して、ステップＳ２０１で特定されたパケットと関連付けられた積算グループの識別子に基づいて、対応する重み値を決定してもよいし、ＭＳ５の識別子とサービスの識別子の一方または双方に基づいて決定した重み値、および、積算グループの識別子に基づいて決定した重み値などの、複数の重み値を用いて総合的な重み値を決定してもよい。また、時刻に関する情報として、例えば、ＧＷ２が設置されている場所の標準時刻またはＧＷ２を管理しているオペレータが設定する標準時刻を用いてもよいし、ある基準時刻からの経過秒数などを数値化したものを用いてもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【０２０５】
＜動作処理：ＧＷ２におけるＢＳ４の混雑度に基づく重み値の決定＞
以下に、本実施例のＧＷ２におけるＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値をＢＳ４の混雑度に基づいて決定する処理の一例を示す。この処理は、図１７のステップＳ２０２において実行される。
【０２０６】
なお、この処理の手順は、ステップＳ２０２においてＢＳ４の混雑度が考慮されるという点を除いて、図１７に示したものと同様である。
【０２０７】
ＧＷ２の処理部２６は、ステップＳ２０１においてＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して、当該パケットの通信に用いられるＢＳ４の混雑度と、メモリ部２５に保持しているＢＳ４の混雑度に基づく重み値の決定条件と、に従って、当該パケットに対応するＢＳ４の混雑度に基づく重み値を決定する。
【０２０８】
ＧＷ２がメモリ部２５に保持しているＢＳ４の混雑度に基づく重み値の決定条件は、例えば、図１０に示すテーブル２５６のように管理されていてもよい。この場合、ＧＷ２の処理部２６は、ステップＳ２０１で特定されたパケットと対応するＢＳ４の識別子と、ＢＳ４から取得したセルスループットとＧＷ２の処理部２６で計測されているＭＳ５当たりの送信バイト数から算出した、各ＢＳ４に接続する全ＭＳ５の総送信スループットとセルスループットとの比と、に基づいて、対応する重み値を決定してもよい。
【０２０９】
あるいは、ＧＷ２がメモリ部２５に保持しているＢＳ４の混雑度に基づく重み値の決定条件は、例えば、図１２に示すテーブル２５８のように管理されていてもよい。この場合、ＧＷ２の処理部２６は、ステップＳ２０１で特定されたパケット対応するＢＳ４の識別子と、ＢＳ４から取得したセルスループットから算出した、各ＢＳ４に接続するＭＳ５の全数とセルスループットとの比と、に基づいて、対応する重み値を決定してもよい。
【０２１０】
なお、上記のいずれの場合にも、ＧＷ２の処理部２６は、例えば、テーブル２５７（図１１参照）によって管理されているＢＳ４の識別子と当該ＢＳ４に接続するＭＳ５の識別子との対応関係に基づいて、ステップＳ２０１で特定されたパケットと対応するＭＳ５の識別子を特定してもよい。テーブル２５７の対応関係は、ＭＳ５の位置登録メッセージまたはハンドオーバメッセージをＧＷ２が受信した契機などで更新されてもよい。また、ＢＳ４のセルスループットは、例えば、ＧＷ２のＢＳインタフェース部２２がＢＳ４から受信してもよいし、保守などの、重み値の決定とは別の目的で取得した統計情報を保持しているサーバ（図示省略）から取得してもよい。
【０２１１】
また、ＧＷ２の処理部２６は、例えば、各ＢＳ４に接続する全ＭＳ５の送信スループットとセルスループットの比に基づいて決定した重み値と、各ＢＳ４に接続するＭＳ５の全数とセルスループットの比に基づいて決定した重み値などの、複数の重み値を用いて総合的な重み値を決定してもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【０２１２】
＜動作処理：ＧＷ２におけるＢＳ４破棄パケットに対する重み付け積算値修正＞
以下に、本実施例のＧＷ２におけるＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算値をＢＳ４で破棄されたか否かに基づいて修正する処理の一例を示す。
【０２１３】
ＧＷ２の処理部２６は、ＢＳインタフェース部２２で送信したＤＬパケットまたはＳＳインタフェース部２１で送信したＵＬパケットに対して、当該パケットが破棄されたと判定された場合、当該パケットの重み付け積算値を反映したカウンタの積算値から、該パケットに関する重み付け積算値を除いてもよい。
【０２１４】
当該パケットに関する重み付け積算値の除外は、例えば、当該パケットの破棄を示す通知を受信した契機などでカウンタの積算値から積算済みの当該パケットに関する重み付け積算値を引くことによって実行されてもよいし、当該パケットが破棄されなかったことを示す通知を受信するまでカウンタの積算値に積算済みの当該パケットに関する重み付け積算値を加えないことによって実行されてもよい。
【０２１５】
また、前記の当該パケットの破棄を示す通知は、例えば、ＢＳ４からＢＳインタフェース部２２が受信した当該パケットの破棄を示すメッセージであってもよいし、ＳＳ１からＳＳインタフェース部２１が受信した当該パケットの破棄を示すメッセージであってもよいし、ＢＳ４およびＳＳ１などの各ノードで破棄されたパケットの情報を保守管理などの目的で取得しているサーバから受信した、当該パケットの破棄を示すメッセージであってもよい。
【０２１６】
また、前記の当該パケットが破棄されなかったことを示す通知は、例えば、ＢＳ４からＢＳインタフェース部２２が受信した当該パケットの受信処理の成功を示すメッセージであってもよいし、ＳＳ１からＳＳインタフェース部２１が受信した当該パケットの受信処理の成功を示すメッセージであってもよいし、ＢＳ４およびＳＳ１などの各ノードで受信処理が成功したパケットの情報を保守管理などの目的で取得しているサーバから受信した、当該パケットの受信処理の成功を示すメッセージであってもよい。
【０２１７】
また、当該パケットに関する重み付け積算値は、例えば、次のように特定されてもよい。まず、ＧＷ２の処理部２６は、ＧＷ２における重み付け積算処理において、パケット毎の重み付け積算値を算出した結果をＧＷ２のメモリ部２５にパケットの識別情報と関連付けて一定時間保持する。その後、ＧＷ２が当該パケットの破棄通知を受信すると、ＧＷ２の処理部２６は、その破棄通知に含まれるパケットの識別情報を基に、当該パケットの重み付け積算値をメモリ部２５から読み出す。パケットの識別情報としては、例えば、ＵＤＰヘッダのシーケンス番号などが用いられてもよい。
【０２１８】
図２２に、本実施例のＧＷ２におけるＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み付け積算値を、パケットがＢＳ４で破棄されたか否かに基づいて修正する処理を示す。具体的には、その一例として、ＭＳ５が複数のＢＳ４との間にコネクションを確立した状態で、ＭＳ５が複数のＢＳ４から同じパケットを受信する可能性のある場合の処理を示す。このような、ＭＳ５が複数のＢＳ４から同じパケットを受信するケースは、例えば、異なるＢＳ４間のハンドオーバのシーケンス中、または、冗長性確保のために複数のＢＳ４を経由する複数経路を用いた同時通信が行われる場合などに発生し得る。複数経路を用いた同時通信について言えば、ＧＷ２がパケットを複製して複数のＢＳ４に対して同じＤＬパケットを送信することで、ＭＳ５へパケットが未達となる確率を減少させることができるため、緊急通報または緊急制御信号などの重要度の高いパケットの通信などにおいて有用である。
【０２１９】
ステップＳ２１１において、ＧＷ２の処理部２６は、ステップＳ２０１においてＳＳインタフェース部２１が受信したＤＬパケットに対して、当該パケットの識別子を設定し、ＤＬパケットの宛先となる複数のＢＳ４へＢＳインタフェース部２２を用いてそれぞれ送信する。当該パケットの識別子としては、例えば、ＵＤＰヘッダのシーケンス番号が用いられる。以下では、例えば、ＧＷ２が３台のＢＳ４（以下、それぞれＢＳ４＃１、ＢＳ４＃２、ＢＳ４＃３とする）に対して同じパケットを送信する場合の処理を示す。
【０２２０】
ステップＳ２１２において、ＧＷ２の処理部２６は、Ｓ２１１で各ＢＳ４へ送信したパケットの識別子、当該パケットに関する重み付け積算値、送信先ＢＳ４の識別子、およびタイムアウト時刻をそれぞれテーブル２５９に追加する。テーブル２５９は、例えば、図１３のように管理されている。当該パケットには、当該パケットがＢＳ４で破棄された際にＧＷ２へ該パケットの識別子の通知を要求することを示す情報を含むことができる。例えば、ＵＤＰヘッダのシーケンス番号がＢＳ４と合意した特定の値域に含まれる値か否かによって、ＢＳ４に対して当該パケットが破棄された場合にＧＷ２へ当該パケットの識別子を通知することを要求するか否かを指定してもよい。あるいは、新たに付与したフィールドまたはヘッダに、上記のような当該パケットが破棄された場合の通知を要求するか否かのフラグを設定してもよい。また、タイムアウト時刻は、ＧＷ２の設定ポリシーに従って設定すればよい。例えば、ＧＷ２に、タイムアウトするまでのタイマ値を事前設定しておき、現在時刻から当該タイマ値だけ経過した時刻をタイムアウト時刻として設定してもよい。
【０２２１】
ステップＳ２１３において、ＧＷ２の処理部２６は、テーブル２５９を参照して、当該パケットのタイムアウト時刻前に、ＢＳ４から当該パケットの破棄を示すメッセージ（以下、破棄通知とも記載する）を受信したか否かを判定する。当該パケットの破棄を示すメッセージには、メッセージの送信元となるＢＳ４の識別子、および破棄されたパケットの識別子などが含まれる。
【０２２２】
当該パケットの破棄を示すメッセージを受信しないままタイムアウト時刻となった場合、ＧＷ２の処理部２６は、ステップＳ２１４Ｎにおいて、ＭＳ５が当該パケットを受信成功したと判定し、テーブル２５９から当該パケットに関する情報全てを削除して処理を終了する。この場合、当該パケットは送信成功パケットと判定され、当該パケットのパケット数またはバイト数のいずれかまたは両方はＧＷ２における重み付け積算の対象に含まれる。
【０２２３】
タイムアウト時刻となる前に当該パケットの破棄を示すメッセージを受信した場合、ＧＷ２の処理部２６は、ステップＳ２１４Ｙにおいて、受信したメッセージの送信元となるＢＳ４の識別子が、テーブル２５９に記録された当該パケットの送信先ＢＳ４の識別子（図１３の例ではＢＳ４の識別子１３０４〜１３０６）に含まれるか否かを判定する。
【０２２４】
受信したメッセージの送信元となるＢＳ４の識別子が当該パケットの送信先ＢＳ４の識別子に含まれない場合、ＧＷ２の処理部２６は、ステップＳ２１５Ｎにおいて受信メッセージを破棄して、ステップＳ２１３から処理を続行する。
【０２２５】
受信したメッセージの送信元となるＢＳ４の識別子が当該パケットの送信先ＢＳ４の識別子に含まれる場合、ＧＷ２の処理部２６は、ステップＳ２１５Ｙにおいて、テーブル２５９を更新し、当該パケットの当該送信先ＢＳ４の識別子に対応するフィールドに、破棄通知を受信したことを示す情報（図１３に例示する「×」に相当する情報）を追記する。なお、ＧＷ２の処理部２６は、破棄通知を受信した契機で、テーブル２５９の当該パケットのタイムアウト時刻を更新してもよい。タイムアウト時刻の更新は、例えば、当該パケットに対して初めての破棄通知を受信した契機でのみ行ってもよいし、破棄通知を受信した契機全てで行ってもよい。
【０２２６】
ＧＷ２の処理部２６は、ステップＳ２１６で、当該パケットの全ての送信先ＢＳ４から破棄通知を受信したか否かを判定する。
【０２２７】
当該パケットの送信先ＢＳ４の中に未だ破棄通知を受信していないＢＳ４が残っている場合、ＧＷ２の処理部２６は、ステップＳ２１７Ｎで、ステップＳ２１３から処理を続行する。
【０２２８】
該パケットの送信先ＢＳ４全てから破棄通知を受信した場合、ＧＷ２の処理部２６は、ステップＳ２１７Ｙで、ＭＳ５が当該パケットを受信失敗したと判定し、テーブル２５９の当該パケットに関する情報全てを削除して、処理を終了する。この場合、当該パケットのパケット数またはバイト数のいずれかまたは両方は、ＧＷ２における重み付け積算の対象から除外される。
【０２２９】
ここで、ＧＷ２がメモリ部２５に保持している、複数のＢＳ４に対するパケット複製送信ケースにおける重みの決定条件は、例えば、図１４に示すテーブル２６０のように管理されていてもよい。この場合、ＧＷ２の処理部２６は、パケット送信に成功した各ＢＳ４のうち、ＢＳ４毎に設定されている重み優先度の値が最も小さい（または最も大きい）ＢＳ４に関連付けられた重み値を、当該パケットに対応する重み値として決定する。
【０２３０】
また、ＧＷ２がメモリ部２５に保持している、複数のＢＳ４に対するパケット複製送信ケースにおける重みの決定条件の別の例は、例えば、図１４に示すテーブル２６０からＢＳ４毎に設定されている重み優先度のみを削除したテーブルとして管理されてもよい。この場合、ＧＷ２の処理部２６は、パケット送信に成功した各ＢＳ４に対して、ＢＳ４毎に設定された重み値の平均値または総和を、当該パケットに対応する重み値として決定する。
【０２３１】
上記のように、同一内容の複数のパケットを多重に送信した場合において、それらのうち二つ以上のパケットの送信に成功した場合の重み値の決定方法は、ＱｏＳまたは課金のポリシーに基づいて定められてもよい。例えば課金の場合、同一内容のパケットを複数受信したとしても、実際にユーザが利用するのはそれらのうち一つのみであるから、一つのパケットについてのみ重み付け積算を行う、というポリシーもあり得る（上記の、重み優先度の値に基づいて一つのＢＳ４に関する重み値を利用するケース）。一方、実際には一つのパケットしか利用されないとしても、実際に多重にパケットを送信するためにリソースが消費され、リソースの冗長性による通信の確実化の恩恵をユーザが享受したのであるから、通信に成功したすべてのパケットについて重み付け積算を行う、というポリシーもあり得る（上記の、重み値の総和を利用するケース）。
【０２３２】
なお、上記のように同一内容の複数のパケットが多重に送信される場合ではなく、当該内容の１パケットのみが送信される場合であっても、ＧＷ２の処理部２６は、そのパケットの送信に成功した場合（すなわちそのパケットがＢＳ４で破棄されずに送信先に到達した場合）にのみ、当該パケットを重み付け積算の対象に含めるように、重み付け積算の処理を実行することができる。
【０２３３】
また、例えば、ここで決定した複数のＢＳ４に対するパケット複製送信ケースにおける重み値以外に、時刻などの他の条件に基づいて決定された重み値などの複数の重み値を用いて総合的な重み値を決定してもよい。総合的な重み値を決定する処理の一例については、別途説明する。
【０２３４】
＜動作処理：ＧＷ２における複数の条件に基づく総合的な重み決定＞
以下に、本実施例のＧＷ２における、ＵＬパケットまたはＤＬパケットの一方または双方に対するパケット数またはバイト数の一方または双方の重み値を、複数の条件に基づく総合的な重み値として決定する処理の一例を示す。
【０２３５】
既に説明したように、ＧＷ２のメモリ部２５は、重み値の決定条件（言い換えると、受信したパケットと重み値とを関連付ける情報のセット）を複数記憶していてもよい。例えば、テーブル２５１が一つの決定条件であり、テーブル２５４が別の決定条件である。このような場合、受信した同一のパケットについてそれぞれの決定条件に基づいて互いに異なる重み値が決定される場合がある。そのような場合に、例えば次のような方法で、当該パケットのパケット数またはバイト数に最終的に適用される総合的な重み値が決定される。
【０２３６】
ＧＷ２の処理部２６は、ステップＳ２０１においてＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して、前記の例のような複数の重みの決定条件に従って、当該パケットと対応する総合的な重み値を決定してもよい。
【０２３７】
ＧＷ２が複数の条件に基づく総合的な重み値を決定する条件として、例えば、前記の例のような複数の重みの決定条件に対する決定条件毎の重み値がＧＷ２のメモリ部２５に管理されていてもよい。その場合、ＧＷ２の処理部２６は、前記の例のように各決定条件に基づいて決定された各重み値に対して、決定条件毎の重み値を用いた重み付け線形和（すなわち、各決定条件に基づいて決定された各重み値と、決定条件毎の重み値との積の総和）を計算して、その計算結果を、対応する総合的な重み値として決定する。
【０２３８】
また、ＧＷ２が複数の条件に基づく総合的な重み値を決定する別の例として、ＧＷ２の処理部２６は、前記の例のような複数の重みの決定条件に対する決定条件毎の重み値に基づいて、前記の例のように各決定条件に基づいて決定された各重み値に対して、決定条件毎の重み値の積を計算して、その計算結果を、対応する総合的な重み値として決定してもよい。
【０２３９】
＜動作処理：ＧＷ２における重み値決定結果のＭＳ５への通知＞
以下に、本実施例のＧＷ２における重み値決定結果をＭＳ５へ通知する処理の一例を示す。
【０２４０】
ＧＷ２の処理部２６は、ステップＳ２０１においてＢＳインタフェース部２２で受信したＵＬパケットまたはＳＳインタフェース部２１で受信したＤＬパケットに対して決定された重み値を、ＭＳ５へ通知してもよい。
【０２４１】
ＭＳ５への通知は、例えば、ＢＳインタフェース部２２を用いて重み値通知メッセージをＢＳ４へ送信し、ＢＳ４が重み値通知メッセージをＭＳ５へ送信することによって実行されてもよい。重み値通知メッセージは、例えば、ＧＷ２で決定された重み値がＧＷ２に設定されたある上限閾値を超えたこと、または、ＧＷ２で決定された重み値がＧＷ２に設定されたある下限閾値を下回ったことを契機に送信されてもよいし、ＭＳ５が要求した任意の契機で送信されてもよい。また、重み値通知メッセージには、重み値を示す情報が含まれる。この重み値を示す情報は、例えば、重み値そのものを数値化したものであってもよいし、ある上限閾値を超えていた場合には「Ｈｉｇｈ」、ある下限閾値を下回っていた場合には「Ｌｏｗ」、どちらでもない場合には「Ｍｉｄｄｌｅ」のように文字列情報に変換されたものであってもよい。また、重み値通知メッセージを受信したＭＳ５は、当該メッセージに含まれる重み値を示す情報を、例えば、端末に実装されている液晶ディスプレイ（図示省略）などを用いて、適切な値または形式に変換してユーザに明示してもよい。
【０２４２】
＜動作処理：ＧＷ２における重み値および重み値決定条件の変更＞
以下に、本実施例のＧＷ２において適用される重み値または重み値決定条件を変更する処理の一例を示す。ここで、重み値決定条件の変更とは、新たな重み値決定条件の追加、既に設定されている重み値決定条件の変更、および、既に設定されている重み値決定条件の削除などのケースを含む。
【０２４３】
ＧＷ２において適用される重み値または重み値決定条件は、例えば、ＰＳ３が保持する重み値決定条件がオペレータによって設定変更されたこと、または、異なるＢＳ４間のハンドオーバによって無線通信規格、位置情報、もしくはＢＳ４の混雑度などの重み値を決定するパラメータが変更されたことを契機に更新されてもよい。ＧＷ２において適用される重み値または重み値決定条件の変更処理は、例えば、重み値決定条件または重み値の決定に用いられるパラメータの変更を検出したＰＳ３、ＢＳ４、ＭＳ５またはＧＷ２などのノードが、各インタフェース部などを用いてＧＷ２へ変更を示すメッセージを送信することで行われてもよい。
【０２４４】
重み値または重み値決定条件が変更された場合、ＧＷ２の処理部２６は、その変更処理が完了した後、最初にステップＳ２０１において受信したパケットおよびそれ以降のパケットについて、変更された重み値または変更された決定条件に基づいて決定された重み値を適用してもよい。あるいは、ＧＷ２の処理部２６は、変更処理が行われたときのコネクションが切断されるまでは、変更される前の重み値または重み値決定条件を適用し、次回以降のコネクションにおいて変更された重み値または変更された重み値決定条件を適用してもよい。
【０２４５】
また、ＧＷ２は、ＧＷ２で保持している重み値または重み値決定条件が変更された場合、ＰＳ３、ＢＳ４またはＳＳ１などのノードへ、当該変更を示すメッセージを送信してもよい。
【０２４６】
上述の説明から明らかなように、本実施例の通信システムは、無線または有線の通信システムであって、ＱｏＳまたは課金のポリシーを決定する条件をパケット毎の重みとしてゲートウェイ等の通信装置におけるパケット数またはバイト数の一方または双方の積算に反映し、通信装置における前記パケット毎の重みを反映した積算結果が通信装置に予め設定された閾値に到達した契機で、前記積算結果の閾値到達に関するメッセージを通信装置から課金サーバまたはポリシー管理サーバの一方または双方へ送信する。これによって、通信装置内部における前記積算に用いるカウンタの数、および、通信装置と課金サーバまたはポリシー管理サーバの一方または双方への前記積算結果の閾値到達に関するメッセージ数を増やすことなく、パケット転送性能の劣化を防ぎつつＱｏＳや課金のポリシーに基づく正確なタイミングでＱｏＳまたは課金制御のパラメータを切り替えることが可能な通信システムおよび装置を提供することができる。
【０２４７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。
【０２４８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）等の記憶装置、または、ＩＣカード、ＤＶＤ等の記録媒体に置くことができるし、必要に応じてネットワーク等を介してダウンロードし、各種の記憶装置にインストールすることも可能である。
【産業上の利用可能性】
【０２４９】
本発明は、例えば、無線または有線端末と送受信するＩＰパケットに対してＱｏＳ制御または課金を実施する通信システムに利用可能であり、ＧＷ、ＰＳ、ＣＳ、ＢＳ、ＭＳおよびＳＳ等の各種の通信装置に適用することができる。
【符号の説明】
【０２５０】
１  サービス提供サーバ（ＳＳ）
２  ゲートウェイ（ＧＷ）
２１  ＳＳインタフェース部
２２  ＢＳインタフェース部
２３  ＰＳインタフェース部
２４  ＣＳインタフェース部
２５  メモリ部
２５１〜２６０  テーブル
２６  処理部
３  ポリシー管理サーバ（ＰＳ）
３１  ＧＷインタフェース部
３２  ＣＳインタフェース部
３３  メモリ部
３４  処理部
４  基地局（ＢＳ）
５  端末（ＭＳ）
６  課金サーバ（ＣＳ）
６１  ＧＷインタフェース部
６２  ＰＳインタフェース部
６３  メモリ部
６４  処理部
【図１】
0005736617.tif 000002
【図２】
0005736617.tif 000003
【図３】
0005736617.tif 000004
【図４】
0005736617.tif 000005
【図５】
0005736617.tif 000006
【図６】
0005736617.tif 000007
【図７】
0005736617.tif 000008
【図８】
0005736617.tif 000009
【図９】
0005736617.tif 000010
【図１０】
0005736617.tif 000011
【図１１】
0005736617.tif 000012
【図１２】
0005736617.tif 000013
【図１３】
0005736617.tif 000014
【図１４】
0005736617.tif 000015
【図１５】
0005736617.tif 000016
【図１６】
0005736617.tif 000017
【図１７】
0005736617.tif 000018
【図１８】
0005736617.tif 000019
【図１９】
0005736617.tif 000020
【図２０】
0005736617.tif 000021
【図２１】
0005736617.tif 000022
【図２２】
0005736617.tif 000023