説明

帯域制御システムおよび帯域制御方法

【課題】帯域を公平に配分すると共に、帯域の変動を低く抑えることができる帯域制御システム10を提供する。
【解決手段】本発明の帯域制御サーバ20は、それぞれのユーザの端末13の通信帯域を測定し、それぞれのユーザについて、現在から過去Δt2の期間の平均使用帯域に基づいて今後Δt1の期間の使用帯域を制限するか否かを判定する処理を、Δt1の期間毎に繰り返す。また、使用帯域の制限値は、現在から過去Δt2の期間の平均使用帯域に応じて定められる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各端末の通信帯域を公平に配分する技術に関する。
【背景技術】
【0002】
ブロードバンド技術の進歩および配信技術の発達に伴い、インターネットが急速に普及すると共に、動画配信サービスなどでネットワークのトラフィック量は増加傾向にあるが、その一方でそれぞれのサービス利用者(以下、ユーザ)の使用帯域にはバラつきがある。ネットワーク設備で使用可能な回線帯域を全ユーザでシェアするわけであるが、非常に多くのデータを送受信するヘビーユーザのトラフィックがそれ以外の一般ユーザのトラフィックを圧迫し、サービス提供を受けるユーザとしては不公平感が出ることが近年問題となっている。
【0003】
これを解決するために、下記の特許文献1には、外部のサーバが通信装置のトラフィック量を一元管理し、ある条件を満たしたユーザのトラフィックを規制するよう通信装置に指示を出す技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−219077号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の特許文献1に開示されている技術では、ヘビーユーザと判定されたユーザのトラフィックはその後に制限されるが、次の判定時には、制限されたトラフィックでヘビーユーザか否かが評価される。そのため、今までヘビーユーザであったユーザは、トラフィックを制限されることで、次の判定タイミングでは、ヘビーユーザではないと判定されることになる。
【0006】
従って、実際に多くの帯域を使用しているユーザは、ヘビーユーザと認定されたりされなかったりを繰り返すことになり、その判定のたびに、回線内のトラフィックの配分が変動してしまう。これにより、ヘビーユーザだけでなく、一般のユーザの使用帯域も短い期間で変動し、全てのユーザに回線が不安定だという印象を与えてしまう。
【0007】
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、帯域を公平に配分すると共に、帯域の変動を低く抑えることにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明では、それぞれのユーザの通信帯域を測定し、それぞれのユーザについて、現在から過去Δt2の期間までの間の使用帯域に基づいて、今後、Δt2よりも短いΔt1の期間における使用帯域を制限するか否かを判定する処理を、Δt1の期間毎に繰り返す。
【0009】
例えば、本発明の第一の態様は、各端末の通信帯域を制御する帯域制御システムであって、
各端末への通信データを中継するネットワークアクセスサーバ(NAS)と、
端末を使用するユーザ毎に、前記NASによって通信データを中継する際の通信帯域を制御する帯域制御サーバと
を備え、
前記NASは、
それぞれのユーザを識別するユーザIDに対応付けて、当該ユーザが使用する端末の通信帯域の制限値を格納する制限値格納部と、
ユーザID毎の制限値を前記帯域制御サーバから受信した場合に、受信したユーザID毎の制限値を前記制限値格納部に格納する制限値受信部と、
ユーザIDに対応付けられて前記制限値格納部に格納されている制限値以内の通信帯域で、当該ユーザIDに対応するユーザの端末への通信データを中継する通信データ中継部と、
それぞれのユーザについて、前記通信データ中継部が中継した通信データのデータ量を測定し、当該ユーザのユーザIDと共に前記帯域制御サーバに通知する中継データ量通知部と
を有し、
前記帯域制御サーバは、
ユーザID毎に、当該ユーザIDに対応するユーザの端末へ中継された通信データのΔt1毎の使用帯域を格納する使用帯域格納部と、
ユーザID毎に前記NASから受信したデータ量に基づいて、Δt1における使用帯域を算出し、算出した使用帯域を当該ユーザIDに対応付けて前記使用帯域格納部に登録する使用帯域登録部と、
Δt1毎に、それぞれのユーザIDについて前記使用帯域格納部を参照して、予め定められたΔt2毎の期間における平均使用帯域を算出し、算出した平均使用帯域に基づいてヘビーユーザか否かを判定し、ヘビーユーザと判定した場合、当該ユーザIDに対応するユーザの使用帯域の制限値を算出し、算出した制限値を、当該ユーザIDと共に前記NASへ送信する制限値算出部と
を有し、
前記Δt1およびΔt2は、予め定められた2以上の整数nを用いて、Δt2=n×Δt1の関係式を満たすことを特徴とする帯域制御システムを提供する。
【0010】
また、本発明の第二の態様は、各端末の通信帯域を制御する帯域制御システムにおける帯域制御方法であって、
前記帯域制御システムは、
各端末への通信データを中継するネットワークアクセスサーバ(NAS)と、
端末を使用するユーザ毎に、前記NASによって通信データを中継する際の通信帯域を制御する帯域制御サーバと
を備え、
前記NASは、
それぞれのユーザを識別するユーザID毎の制限値を前記帯域制御サーバから受信した場合に、受信したユーザID毎の制限値を、当該ユーザIDに対応付けて制限値格納部に格納する制限値受信ステップと、
ユーザIDに対応付けられて前記制限値格納部に格納されている制限値以内の通信帯域で、当該ユーザIDに対応するユーザの端末への通信データを中継する通信データ中継ステップと、
それぞれのユーザについて、前記通信データ中継ステップにおいて中継した通信データのデータ量を測定し、当該ユーザのユーザIDと共に前記帯域制御サーバに通知する中継データ量通知ステップと
を実行し、
前記帯域制御サーバは、
ユーザID毎に前記NASから受信したデータ量に基づいて、Δt1における使用帯域を算出し、算出した使用帯域を当該ユーザIDに対応付けて使用帯域格納部に登録する使用帯域登録ステップと、
Δt1毎に、それぞれのユーザIDについて前記使用帯域格納部を参照して、予め定められたΔt2毎の期間における平均使用帯域を算出し、算出した平均使用帯域に基づいてヘビーユーザか否かを判定し、ヘビーユーザと判定した場合、当該ユーザIDに対応するユーザの使用帯域の制限値を算出し、算出した制限値を、当該ユーザIDと共に前記NASへ送信する制限値算出ステップと
を実行し、
前記Δt1およびΔt2は、予め定められた2以上の整数nを用いて、Δt2=n×Δt1の関係式を満たすことを特徴とする帯域制御方法を提供する。
【発明の効果】
【0011】
本発明の帯域制御システムによれば、帯域を公平に配分すると共に、帯域の変動を低く抑えることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態に係る帯域制御システム10の構成の一例を示すシステム構成図である。
【図2】NAS40の詳細な機能構成の一例を示すブロック図である。
【図3】ユーザ情報格納部46に格納されるデータの構造の一例を示す図である。
【図4】ユーザ認証サーバ30の詳細な機能構成の一例を示すブロック図である。
【図5】認証情報格納部32に格納されるデータの構造の一例を示す図である。
【図6】帯域制御サーバ20の詳細な機能構成の一例を示すブロック図である。
【図7】契約情報格納部21に格納されるデータの構造の一例を示す図である。
【図8】接続情報格納部22に格納されるデータの構造の一例を示す図である。
【図9】NAS情報格納部24に格納されるデータの構造の一例を示す図である。
【図10】制限値格納部26に格納されるデータの構造の一例を示す図である。
【図11】NAS40の動作の一例を示すフローチャートである。
【図12】ユーザ認証サーバ30の動作の一例を示すフローチャートである。
【図13】帯域制御サーバ20の動作の一例を示すフローチャートである。
【図14】履歴更新処理(S400)の一例を示すフローチャートである。
【図15】制限値算出処理(S500)の一例を示すフローチャートである。
【図16】帯域制御サーバ20の機能を実現するコンピュータ50の一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態について図面を参照しながら説明する。
【0014】
図1は、本発明の一実施形態に係る帯域制御システム10の構成の一例を示すシステム構成図である。帯域制御システム10は、各ISP(Internet Service Provider)毎に、帯域制御サーバ20、ユーザ認証サーバ30、およびNAS(Network Access Server)40を備える。帯域制御サーバ20、ユーザ認証サーバ30、およびNAS40は、ISP網12に接続されている。
【0015】
NAS40は、複数の物理ポート400を有し、それぞれの物理ポート400を介して確立される論理ポート401を介して端末13と通信する。それぞれの端末13は、NAS40との間で、1つの物理ポート400を介して、1つ以上の論理ポート401を確立し、当該論理ポート401を用いて、NAS40、ISP網12、およびインターネット11を介して、通信データを送受信する。
【0016】
ユーザ認証サーバ30は、NAS40を介してユーザを認証し、認証に成功したユーザの端末13の通信データについて、NAS40による中継を許可する。
【0017】
帯域制御サーバ20は、ユーザ毎の使用帯域に基づいてヘビーユーザを認定し、ヘビーユーザの使用帯域の制限値を算出する。そして、帯域制御サーバ20は、算出した制限値以内の帯域で、対応するヘビーユーザの端末13の通信データを中継するようNAS40に指示を出す。
【0018】
本実施形態における帯域制御サーバ20は、使用帯域をNAS40の物理ポート400や論理ポート401単位ではなく、ユーザ単位で管理している。そのため、使用帯域を制限されたヘビーユーザが、アクセス回線を変更することにより異なる物理ポート400を介してNAS40を経由する通信を再開しても、当該ヘビーユーザに対する使用帯域の制限を継続することができる。
【0019】
図2は、NAS40の詳細な機能構成の一例を示すブロック図である。NAS40は、通信データ中継部41、物理ポート42、データ量通知部43、接続管理部44、制限値受信部45、およびユーザ情報格納部46を有する。
【0020】
ユーザ情報格納部46には、例えば図3に示すように、複数のレコード465が格納される。それぞれのレコード465には、それぞれのユーザを識別するユーザID460、当該ユーザの端末13に割り当てられたIPアドレス461、当該ユーザの端末13へ中継された通信データのデータ量462、当該ユーザの使用帯域の制限値463、および、当該ユーザの端末13が最後にNAS40にアクセスした時刻を示す最終アクセス時刻464が格納される。
【0021】
接続管理部44は、いずれかの物理ポート42を介して端末13からアクセスされた場合に、当該端末13のユーザIDがユーザ情報格納部46に格納されていなければ、端末13からの認証要求に含まれるユーザIDおよびパスワードを含む認証情報を、当該端末13が接続している物理ポートのポート番号と共にISP網12を介してユーザ認証サーバ30へ送る。
【0022】
ユーザ認証サーバ30からユーザIDと当該端末13に割り当てるIPアドレスと共に、認証成功を通知された場合、接続管理部44は、当該ユーザIDを含むレコードがユーザ情報格納部46に登録されていなければ、新たにレコードをユーザ情報格納部46内に作成して、ユーザ認証サーバ30から通知されたユーザID、および、当該ユーザIDに対応するユーザの端末13のIPアドレスを格納する。また、作成したレコードの最終アクセス時刻の欄に、現在の時刻を格納する。
【0023】
一方、ユーザ認証サーバ30から通知されたユーザIDを含むレコードがユーザ情報格納部46に既に登録されている場合、接続管理部44は、当該レコードのIPアドレスの欄に、当該ユーザIDに対応するユーザの端末13のIPアドレスを格納し、最終アクセス時刻の欄に、現在の時刻を格納する。
【0024】
また、接続管理部44は、ユーザID毎にユーザ情報格納部46内の最終アクセス時刻を参照し、所定時間以上前の最終アクセス時刻を含むレコードが存在する場合、当該レコードに含まれるIPアドレスの端末13宛に接続確認要求を送信する。そして、接続管理部44は、当該端末13から接続確認応答を受信した場合、最終アクセス時刻を更新する。接続管理部44は、当該端末13から接続確認応答を受信しなかった場合に、当該端末13のレコードをユーザ情報格納部46から削除すると共に、当該端末13のユーザIDを含む切断通知を、ISP網12を介して帯域制御サーバ20へ送信する。また、当該端末13から切断要求を受信した場合は、当該端末13のレコードをユーザ情報格納部46から削除すると共に、当該端末13のユーザIDを含む切断通知を、ISP網12を介して帯域制御サーバ20へ送信する。
【0025】
通信データ中継部41は、ISP網12を介して通信データを受信した場合に、当該通信データの宛先のIPアドレスに基づいてユーザ情報格納部46を参照し、当該IPアドレスに対応付けられている制限値以下の帯域で当該通信データを、宛先の端末13へ中継する。また、通信データ中継部41は、通信データを中継するたびにユーザ情報格納部46を参照し、中継したデータ量の値を、宛先のIPアドレスに対応するデータ量の欄の値に加算する。
【0026】
制限値受信部45は、ISP網12を介して帯域制御サーバ20からユーザID毎の制限値を受信した場合に、ユーザ情報格納部46を参照し、当該ユーザIDを含むレコードの制限値の欄を、帯域制御サーバ20から受信した制限値で更新する。
【0027】
データ量通知部43は、帯域制御サーバ20から所定のタイミングで(例えば1分毎に)受信する通知要求に対し、ユーザ情報格納部46を参照し、ユーザID毎のデータ量を読み出す。そして、データ量通知部43は、読み出したユーザID毎のデータ量を、ISP網12を介して帯域制御サーバ20へ送信する。
【0028】
図4は、ユーザ認証サーバ30の詳細な機能構成の一例を示すブロック図である。ユーザ認証サーバ30は、認証処理部31および認証情報格納部32を有する。
【0029】
認証情報格納部32には、例えば図5に示すように、ユーザID320毎に、当該ユーザID320に対応するユーザを認証するためのパスワード321が格納されている。
【0030】
認証処理部31は、ISP網12を介してNAS40から認証情報と共にポート番号を受信した場合に、当該認証情報に含まれているユーザIDに対応付けられているパスワードを認証情報格納部32から抽出し、抽出したパスワードと、NAS40から受信した認証情報に含まれているパスワードとが一致するか否かを判定する。
【0031】
両者が一致しない場合、認証処理部31は、当該認証情報に含まれているユーザIDと共に、認証失敗をISP網12を介してNAS40に通知する。また、両者が一致する場合、認証処理部31は、当該認証情報に含まれているユーザIDと共に、認証成功をISP網12を介してNAS40に通知し、当該ユーザIDおよび認証情報と共に受信したポート番号を含むログイン情報を、ISP網12を介して帯域制御サーバ20に通知する。
【0032】
図6は、帯域制御サーバ20の詳細な機能構成の一例を示すブロック図である。帯域制御サーバ20は、契約情報格納部21、接続情報格納部22、接続情報管理部23、NAS情報格納部24、制限値算出部25、制限値格納部26、および制限値設定部27を有する。
【0033】
契約情報格納部21には、例えば図7に示すように、ユーザID210毎に、当該ユーザID210に対応するユーザに対して許容されたベストエフォートによる使用帯域の上限値である契約帯域211が格納されている。
【0034】
接続情報格納部22には、例えば図8に示すように、複数のレコード224が格納される。それぞれのレコード224には、ユーザID220、当該ユーザID220に対応するユーザの端末13が接続しているNAS40の物理ポートを識別するポート番号221、当該ユーザの端末13に中継された通信データのデータ量222、および当該ユーザの端末13がNAS40に接続しているか否かを示すステータス223が格納される。
【0035】
NAS情報格納部24には、例えば図9に示すように、NAS40のそれぞれの物理ポートを識別するポート番号240に対応付けて、当該物理ポートにおいて使用可能な通信帯域の上限を示す帯域上限値241が格納されている。
【0036】
制限値格納部26には、例えば図10に示すように、複数のレコード263が格納される。それぞれのレコード263には、ユーザID260、当該ユーザID260に対応するユーザの端末13が使用した過去所定期間までの通信帯域の履歴261、および、当該ユーザに対して適用される通信帯域の制限値262が格納される。
【0037】
履歴261には、第1の期間Δt1毎に算出された使用帯域が、算出された順にM個格納されている。本実施形態において、Δt1は例えば5分であり、Mは例えば12である。従って、本実施形態において、履歴261には、ユーザID毎に、現時点から過去1時間分の使用帯域の履歴が格納されている。
【0038】
図6に戻って説明を続ける。接続情報管理部23は、ISP網12を介してユーザ認証サーバ30からログイン情報を受信した場合に、当該ログイン情報に含まれているユーザIDに基づいて接続情報格納部22を参照し、当該ユーザIDを含むレコードにおいて、ポート番号の欄に当該ログイン情報に含まれているポート番号を、ステータスの欄に接続中を示す情報を、それぞれ登録する。
【0039】
また、ISP網12を介してNAS40からユーザID毎のデータ量を受信した場合、接続情報管理部23は、ユーザID毎に接続情報格納部22を参照し、当該ユーザIDのポート番号が前回受信時と同一の場合に、当該ユーザIDを含むレコードのデータ量の欄の値に、前回受信したデータ量と今回受信したデータ量の差分値を加算する。また、当該ユーザIDのポート番号が前回受信時と異なる場合は、前回受信したデータ量を0と見なし、当該ユーザIDを含むレコードのデータ量の欄の値に、今回受信したデータ量を加算する。
【0040】
また、ISP網12を介してNAS40から切断通知を受信した場合、接続情報管理部23は、当該切断通知に含まれているユーザIDを含むレコードを接続情報格納部22内で特定し、特定したレコードのステータスの欄の情報を切断に変更する。
【0041】
制限値算出部25は、所定のタイミングで(例えば5分毎に)接続情報格納部22を参照し、ユーザID毎に、当該ユーザIDに対応付けられているデータ量を取得し、取得したデータ量を、前回の算出タイミングからの経過時間(例えば5分)で割ることにより、前回の算出タイミングから現時点までの第1の期間Δt1における使用帯域を算出する。
【0042】
次に、制限値算出部25は、それぞれのユーザIDについて制限値格納部26を参照し、当該ユーザIDを含むレコードについて最も古く算出された使用帯域の履歴を削除し、先ほど算出した使用帯域を最新の使用帯域として格納する。そして、制限値算出部25は、接続情報格納部22に格納されているデータ量を全て0にリセットする。
【0043】
次に、制限値算出部25は、接続情報格納部22を参照し、同一のポート番号に対応付けられているユーザIDを特定する。そして、制限値算出部25は、特定したポート番号毎に、当該ポート番号に対応付けられているユーザIDに基づいて制限値格納部26を参照し、当該ユーザIDの使用帯域の履歴の中で、最新の使用帯域を抽出して合計することにより、ポート番号毎に、最新の使用帯域の合計を算出する。
【0044】
次に、制限値算出部25は、ポート番号毎にNAS情報格納部24を参照し、算出した使用帯域の、帯域上限値に対する割合をポート番号毎に算出する。そして、制限値算出部25は、帯域上限に対する使用帯域の割合がX%以上のポートを特定する。本実施形態において、Xは例えば70である。
【0045】
次に、制限値算出部25は、特定したポート番号、すなわち、帯域の使用率がX%以上のそれぞれのポートのポート番号について、当該ポート番号が対応付けられているユーザIDを接続情報格納部22から抽出し、抽出したそれぞれのユーザIDについて制限値格納部26を参照し、当該ユーザIDを含むレコードについて使用帯域の履歴を平均し、第2の期間Δt2における平均使用帯域を算出する。
【0046】
次に、制限値算出部25は、当該ユーザIDに対応付けられている契約帯域を契約情報格納部21から抽出し、平均使用帯域の、契約帯域に対する割合、すなわち、第2の期間Δt2における使用割合の平均を算出する。
【0047】
次に、制限値算出部25は、帯域の使用率がX%以上のそれぞれのポートについて、当該ポートを使用しているユーザの中で、第2の期間Δt2における使用割合の平均が高い上位Y%のユーザをヘビーユーザと認定する。本実施形態において、Yは例えば10である。
【0048】
例えば、帯域の使用率がX%以上のあるポートを使用中のユーザが10名いる場合、第2の期間Δt2における使用割合の平均が高い上位10%のユーザとして、最も使用割合の高い1名がヘビーユーザとして認定される。
【0049】
次に、制限値算出部25は、それぞれのヘビーユーザについて、第2の期間Δt2における使用割合の平均のZ%を制限値として算出する。本実施形態において、Zは例えば60である。そして、制限値算出部25は、算出した制限値で、当該ヘビーユーザのユーザIDに対応付けられて制限値格納部26に格納されている制限値を更新する。
【0050】
また、制限値算出部25は、ヘビーユーザ以外のユーザについては、契約情報格納部21に格納されている契約帯域で、当該ユーザのユーザIDに対応付けられて制限値格納部26に格納されている制限値を更新する(すなわち、契約帯域以下には使用帯域を制限しない)。
【0051】
制限値設定部27は、制限値格納部26内の制限値が更新された場合に、ユーザID毎に、更新された制限値を、ISP網12を介してNAS40へ送信する。
【0052】
図11は、NAS40の動作の一例を示すフローチャートである。例えば、NAS40に所定の設定が施された後に電源が投入される等のタイミングで、NAS40は本フローチャートに示す動作を開始する。
【0053】
まず、通信データ中継部41および接続管理部44は、物理ポート42を介して端末13からアクセスされたか否かを判定する(S100)。端末13からアクセスされた場合(S100:Yes)、通信データ中継部41および接続管理部44は、当該端末13のユーザIDがユーザ情報格納部46に登録されているか否かを判定する(S101)。
【0054】
端末13のユーザIDがユーザ情報格納部46に登録されていない場合(S101:No)、接続管理部44は、端末13から受信した認証要求の認証情報を、当該端末13が接続している物理ポートのポート番号と共にISP網12を介してユーザ認証サーバ30へ転送する(S102)。
【0055】
次に、制限値算出部25は、ユーザ認証サーバ30から認証成功を受信したか否かを判定する(S103)。認証失敗を受信した場合(S103:No)、接続管理部44は、認証失敗を端末13に通知し(S106)、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0056】
一方、認証成功を受信した場合(S103:Yes)、接続管理部44は、認証成功を端末13に通知する(S104)。そして、接続管理部44は、当該認証成功と共に受信したユーザIDを含むレコードがユーザ情報格納部46に存在しなければ新たに作成して、当該認証成功と共に受信したユーザIDを含むユーザ情報格納部46内のレコードに、当該端末13のIPアドレスおよび最終アクセス時刻を登録し(S105)、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0057】
ステップS101において、端末13のユーザIDがユーザ情報格納部46に既に登録されている場合(S101:Yes)、通信データ中継部41は、端末13からの通信データをISP網12へ中継する(S107)。そして、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0058】
ステップS100において、端末13からアクセスされていない場合(S100:No)、接続管理部44は、ユーザ情報格納部46を参照して、所定時間(例えば1分)以上前の最終アクセス時刻を含むレコードが存在するか否かを判定する(S108)。所定時間以上前の最終アクセス時刻を含むレコードが存在する場合(S108:Yes)、接続管理部44は、当該レコードに含まれるIPアドレスの端末13宛に接続確認要求を送信する(S109)。そして、接続管理部44は、当該端末13から接続確認応答を受信したか否かを判定する(S110)。
【0059】
接続確認応答を受信した場合(S110:Yes)、接続管理部44は、ユーザ情報格納部46を参照し、当該端末13のユーザIDを含むレコードの最終アクセス時刻を現在の時刻で更新する(S111)。一方、接続確認応答を受信しなかった場合(S110:No)、接続管理部44は、当該端末13のユーザIDを含む切断通知を、ISP網12を介して帯域制御サーバ20へ送信する(S112)。そして、接続管理部44は、当該端末13のレコードをユーザ情報格納部46から削除し(S113)、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0060】
ステップS108において、所定時間以上前の最終アクセス時刻を含むレコードが存在しない場合(S108:No)、通信データ中継部41は、端末13宛の通信データをISP網12から受信したか否かを判定する(S114)。端末13宛の通信データをISP網12から受信した場合(S114:Yes)、通信データ中継部41は、当該通信データを、宛先の端末13のIPアドレスに対応付けられてユーザ情報格納部46に登録されている制限値以下の帯域で中継する(S115)。
【0061】
次に、通信データ中継部41は、中継したデータ量の値を、宛先のIPアドレスに対応付けられてユーザ情報格納部46に格納されているデータ量の欄の値に加算し(S116)、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0062】
ステップS114において、端末13宛の通信データをISP網12から受信していない場合(S114:No)、データ量通知部43は、帯域制御サーバ20からデータ量の通知要求があるかを判定する(S117)。本実施形態において、データ量通知部43は、各ユーザの端末13に中継した通信データのデータ量を帯域制御サーバ20へ通知する。
【0063】
データ量の通知要求があった場合(S117:Yes)、データ量通知部43は、ユーザ情報格納部46を参照し、ユーザID毎にデータ量を読み出す。そして、データ量通知部43は、読み出したユーザID毎のデータ量を、ISP網12を介して帯域制御サーバ20へ送信する(S118)。そして、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0064】
ステップS117において、データ量の通知要求がなかった場合(S117:No)、制限値受信部45は、ISP網12を介して帯域制御サーバ20からユーザID毎に制限値を受信したか否かを判定する(S119)。ユーザID毎に制限値を受信していない場合(S119:No)、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0065】
一方、ユーザID毎に制限値を受信した場合(S119:Yes)、制限値受信部45は、ユーザID毎にユーザ情報格納部46を参照し、当該ユーザIDを含むレコードの制限値の欄を、帯域制御サーバ20から受信した制限値で更新し(S120)、通信データ中継部41および接続管理部44は、再びステップS100に示した処理を実行する。
【0066】
図12は、ユーザ認証サーバ30の動作の一例を示すフローチャートである。例えば、ユーザ認証サーバ30に所定の設定が施された後に電源が投入される等のタイミングで、ユーザ認証サーバ30は本フローチャートに示す動作を開始する。
【0067】
まず、認証処理部31は、ISP網12を介してNAS40から認証情報を受信したか否かを判定する(S200)。認証情報を受信した場合(S200:Yes)、認証処理部31は、当該認証情報に含まれているユーザIDに対応付けられているパスワードを認証情報格納部32から抽出し、抽出したパスワードと、NAS40から受信した認証情報に含まれているパスワードとが一致するか否かを判定する(S201)。
【0068】
両者が一致しない場合(S201:No)、認証処理部31は、当該認証情報に含まれているユーザIDと共に、認証失敗をISP網12を介してNAS40に通知し(S204)、再びステップS200に示した処理を実行する。
【0069】
一方、両者が一致する場合(S201:Yes)、認証処理部31は、当該認証情報に含まれているユーザIDと共に、認証成功をISP網12を介してNAS40に通知する(S202)。そして、認証処理部31は、当該ユーザIDおよび認証情報と共に受信したポート番号を含むログイン情報を、ISP網12を介して帯域制御サーバ20に通知し(S203)、再びステップS200に示した処理を実行する。
【0070】
図13は、帯域制御サーバ20の動作の一例を示すフローチャートである。例えば、帯域制御サーバ20に所定の設定が施された後に電源が投入される等のタイミングで、帯域制御サーバ20は本フローチャートに示す動作を開始する。
【0071】
まず、接続情報管理部23は、ISP網12を介してユーザ認証サーバ30からログイン情報を受信したか否かを判定する(S300)。ログイン情報を受信した場合(S300:Yes)、接続情報管理部23は、当該ログイン情報に含まれているユーザIDに基づいて接続情報格納部22を参照し、当該ユーザIDを含むレコードにおいて、ポート番号の欄に当該ログイン情報に含まれているポート番号を登録し、ステータスの欄の情報を接続中に変更し(S301)、再びステップS300に示した処理を実行する。
【0072】
ログイン情報を受信していない場合(S300:No)、接続情報管理部23は、ISP網12を介してNAS40からユーザID毎のデータ量を取得するタイミングか否かを判定する(S302)。ユーザID毎のデータ量を取得するタイミングである場合(S302:Yes)、接続情報管理部23は、ISP網12を介してNAS40にユーザID毎のデータ量を取得する(S303)。そして、接続情報管理部23は、ユーザID毎に接続情報格納部22を参照し、当該ユーザIDを含むレコードのデータ量の欄の値に、前回受信したデータ量と今回受信したデータ量の差分値を加算し(S304)、再びステップS300に示した処理を実行する。
【0073】
ユーザID毎のデータ量を取得するタイミングでなかった場合(S302:No)、接続情報管理部23は、ISP網12を介してNAS40から切断通知を受信したか否かを判定する(S305)。切断通知を受信した場合(S305:Yes)、接続情報管理部23は、当該切断通知に含まれているユーザIDを含むレコードを接続情報格納部22内で特定し、特定したレコードのステータスの欄の情報を切断に変更し(S306)、再びステップS300に示した処理を実行する。
【0074】
切断通知を受信していない場合(S305:No)、制限値算出部25は、制限値の算出タイミングか否かを判定する(S307)。本実施形態において、制限値算出部25は、例えば5分毎に各ユーザの制限値を算出する。制限値の算出タイミングではない場合(S307:No)、接続情報管理部23は、再びステップS300に示した処理を実行する。
【0075】
制限値の算出タイミングである場合(S307:Yes)、制限値算出部25は、後述する履歴更新処理を実行し(S400)、後述する制限値算出処理を実行する(S500)。そして、制限値算出部25は、接続情報格納部22において、ステータスに切断が格納されているレコードのポート番号を削除し(S308)、接続情報管理部23は、再びステップS300に示した処理を実行する。
【0076】
図14は、履歴更新処理(S400)の一例を示すフローチャートである。
【0077】
まず、制限値算出部25は、接続情報格納部22を参照して、未選択のユーザIDを1つ選択する(S401)。そして、制限値算出部25は、選択したユーザIDに対応付けられているデータ量を接続情報格納部22から取得し、取得したデータ量を、前回の算出タイミングからの経過時間(例えば5分)で割ることにより、前回の算出タイミングから現時点までの第1の期間Δt1における使用帯域を算出する(S402)。
【0078】
次に、制限値算出部25は、選択したユーザIDについて制限値格納部26を参照し、当該ユーザIDを含むレコード内の履歴について、最も古く算出された使用帯域を削除し(S403)、ステップS401で算出した使用帯域を最新の使用帯域のとして格納する(S404)。そして、制限値算出部25は、接続情報格納部22内の全てのユーザIDを選択したか否かを判定する(S405)。未選択のユーザIDがある場合(S405:No)、制限値算出部25は、再びステップS401に示した処理を実行する。
【0079】
一方、接続情報格納部22内の全てのユーザIDを選択した場合(S405:Yes)、制限値算出部25は、接続情報格納部22内のユーザIDに対応付けられているデータ量を全て0にリセットし(S406)、帯域制御サーバ20は、本フローチャートに示した履歴更新処理を終了する。
【0080】
図15は、制限値算出処理(S500)の一例を示すフローチャートである。
【0081】
まず、制限値算出部25は、接続情報格納部22を参照し、同一のポート番号に対応付けられているユーザIDを特定する。そして、制限値算出部25は、特定したポート番号毎に、当該ポート番号に対応付けられているユーザIDに基づいて制限値格納部26を参照し、当該ユーザIDの使用帯域の履歴の中で、最新の使用帯域を抽出して合計することにより、ポート番号毎に、最新の使用帯域の合計を算出する(S501)。
【0082】
次に、制限値算出部25は、接続情報格納部22を参照して、ユーザによって使用されているポートのポート番号の中で、未選択のポート番号を1つ選択する(S502)。そして、制限値算出部25は、選択したポート番号に対応する帯域上限値をNAS情報格納部24から取得し、ステップS501で算出した使用帯域を用いて、取得した帯域上限値に対する使用割合を算出する。そして、制限値算出部25は、算出した使用割合がX%(例えば70%)以上か否かを判定する(S503)。使用割合がX%未満である場合(S503:No)、制限値算出部25は、ステップS512に示す処理を実行する。
【0083】
一方、使用割合がX%以上である場合(S503:Yes)、制限値算出部25は、接続情報格納部22を参照し、ステップS502で選択したポート番号に対応付けられているユーザIDの中で、未選択のユーザIDを1つ選択する(S504)。そして、制限値算出部25は、選択したユーザIDに基づいて制限値格納部26を参照し、当該ユーザIDを含むレコードについて使用帯域の履歴を平均し、第2の期間Δt2における平均使用帯域を算出する(S505)。
【0084】
次に、制限値算出部25は、ステップS504で選択したユーザIDに対応付けられている契約帯域を契約情報格納部21から抽出し、ステップS505で算出した平均使用帯域を用いて、抽出した契約帯域に対する使用割合の平均、すなわち、第2の期間Δt2における使用割合の平均を算出する(S506)。
【0085】
次に、制限値算出部25は、ステップS502で選択したポート番号に対応付けられているユーザIDを全て選択したか否かを判定する(S507)。未選択のユーザIDがある場合(S507:No)、制限値算出部25は、再びステップS504に示した処理を実行する。
【0086】
一方、ステップS502で選択したポート番号に対応付けられているユーザIDを全て選択した場合(S507:Yes)、制限値算出部25は、当該ユーザIDに対応するユーザの中で、第2の期間Δt2における使用割合の平均が高い上位Y%(例えば10%)のユーザをヘビーユーザと認定する(S508)。
【0087】
次に、制限値算出部25は、ステップS502で選択したポート番号に対応付けられているユーザIDの中で、ステップS508においてヘビーユーザと認定された未選択のユーザのユーザIDを1つ選択する(S509)。そして、制限値算出部25は、選択したユーザIDについて、ステップS506において算出された第2の期間Δt2における使用割合の平均のZ%(例えば60%)を、当該ヘビーユーザの制限値として算出する。そして、制限値算出部25は、制限値格納部26を参照し、算出した制限値で、当該ヘビーユーザのユーザIDを含むレコードの制限値の欄の値を更新する(S510)。
【0088】
次に、制限値算出部25は、ステップS502で選択したポート番号に対応付けられているユーザIDの中で、ステップS508においてヘビーユーザと認定されたユーザのユーザIDを全て選択したか否かを判定する(S511)。未選択のユーザIDがある場合(S511:No)、制限値算出部25は、再びステップS509に示した処理を実行する。
【0089】
ステップS502で選択したポート番号に対応付けられているユーザIDの中で、ステップS508においてヘビーユーザと認定されたユーザのユーザIDを全て選択した場合(S511:Yes)、制限値算出部25は、接続情報格納部22を参照して、ユーザによって使用されているポートのポート番号を全て選択したか否かを判定する(S512)。未選択のポート番号がある場合(S512:No)、制限値算出部25は、再びステップS502に示した処理を実行する。
【0090】
一方、ユーザによって使用されているポートのポート番号を全て選択した場合(S512:Yes)、制限値算出部25は、ヘビーユーザ以外のユーザについて、契約情報格納部21に格納されている契約帯域で、当該ユーザのユーザIDに対応付けられて制限値格納部26に格納されている制限値を更新する(S513)。
【0091】
次に、制限値設定部27は、ユーザID毎に、更新された制限値を制限値格納部26から取得し、取得した制限値を、ISP網12を介してNAS40へ送信し(S514)、帯域制御サーバ20は、本フローチャートに示した制限値算出処理を終了する。
【0092】
図16は、帯域制御サーバ20の機能を実現するコンピュータ50のハードウェア構成の一例を示すハードウェア構成図である。コンピュータ50は、CPU(Central Processing Unit)51、RAM(Random Access Memory)52、ROM(Read Only Memory)53、HDD(Hard Disk Drive)54、通信インターフェイス(I/F)55、入出力インターフェイス(I/F)56、およびメディアインターフェイス(I/F)57を備える。
【0093】
CPU51は、ROM53またはHDD54に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM53は、コンピュータ50の起動時にCPU51によって実行されるブートプログラムや、コンピュータ50のハードウェアに依存するプログラム等を格納する。
【0094】
HDD54は、CPU51によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス55は、通信回線を介して他の機器からデータを受信してCPU51へ送ると共に、CPU51が生成したデータを、通信回線を介して他の機器へ送信する。
【0095】
CPU51は、入出力インターフェイス56を介して、ディスプレイやプリンタ等の出力サーバ、および、キーボードやマウス等の入力サーバを制御する。CPU51は、入出力インターフェイス56を介して、入力サーバからデータを取得する。また、CPU51は、生成したデータを、入出力インターフェイス56を介して出力サーバへ出力する。
【0096】
メディアインターフェイス57は、記録媒体58に格納されたプログラムまたはデータを読み取り、RAM52を介してCPU51に提供する。CPU51は、当該プログラムを、メディアインターフェイス57を介して記録媒体58からRAM52上にロードし、ロードしたプログラムを実行する。記録媒体58は、例えばDVD(Digital Versatile Disk)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0097】
コンピュータ50のCPU51は、RAM52上にロードされたプログラムを実行することにより、接続情報管理部23、制限値算出部25、および制限値設定部27の各機能を実現する。また、HDD54には、契約情報格納部21、接続情報格納部22、NAS情報格納部24、および制限値格納部26内のデータが格納される。
【0098】
コンピュータ50のCPU51は、これらのプログラムを、記録媒体58から読み取って実行するが、他の例として、他のサーバから、通信媒体を介してこれらのプログラムを取得してもよい。通信媒体とは、通信回線、または、当該通信回線を伝搬するディジタル信号もしくは搬送波を指す。
【0099】
以上、本発明の実施形態について説明した。
【0100】
上記説明から明らかなように、本実施形態の帯域制御システム10によれば、帯域を公平に配分すると共に、帯域の変動を低く抑えることができる。
【0101】
なお、本発明は、上記した実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0102】
例えば、上記した実施形態において、帯域制御サーバ20は、ISP網12から各端末13へ中継される通信データについて、使用帯域を各ユーザに公平に分配するように、各端末13の使用帯域を制限するが、本発明はこれに限られず、各端末13からISP網12へ送信される、いわゆる上りの通信データについても、本発明を適用することができる。
【0103】
また、上記した実施形態では、1つのISPに対してNAS40が1台の例で説明したが、本発明はこれに限られず、1つのISPに複数のNAS40が設けられていてもよい。この場合、帯域制御サーバ20は、それぞれのNAS40を識別するIDと、それぞれのNAS40のポート番号との組み合わせで、それぞれのユーザの端末13が接続している物理ポートを特定するようにすればよい。
【符号の説明】
【0104】
10・・・帯域制御システム、11・・・インターネット、12・・・ISP網、13・・・端末、20・・・帯域制御サーバ、21・・・契約情報格納部、22・・・接続情報格納部、23・・・接続情報管理部、24・・・NAS情報格納部、25・・・制限値算出部、26・・・制限値格納部、27・・・制限値設定部、30・・・ユーザ認証サーバ、31・・・認証処理部、32・・・認証情報格納部、40・・・NAS、41・・・通信データ中継部、42・・・物理ポート、43・・・データ量通知部、44・・・接続管理部、45・・・制限値受信部、46・・・ユーザ情報格納部、50・・・コンピュータ、51・・・CPU、52・・・RAM、53・・・ROM、54・・・HDD、55・・・通信インターフェイス、56・・・入出力インターフェイス、57・・・メディアインターフェイス、58・・・記録媒体

【特許請求の範囲】
【請求項1】
各端末の通信帯域を制御する帯域制御システムであって、
各端末への通信データを中継するネットワークアクセスサーバ(NAS)と、
端末を使用するユーザ毎に、前記NASによって通信データを中継する際の通信帯域を制御する帯域制御サーバと
を備え、
前記NASは、
それぞれのユーザを識別するユーザIDに対応付けて、当該ユーザが使用する端末の通信帯域の制限値を格納する制限値格納部と、
ユーザID毎の制限値を前記帯域制御サーバから受信した場合に、受信したユーザID毎の制限値を前記制限値格納部に格納する制限値受信部と、
ユーザIDに対応付けられて前記制限値格納部に格納されている制限値以内の通信帯域で、当該ユーザIDに対応するユーザの端末への通信データを中継する通信データ中継部と、
それぞれのユーザについて、前記通信データ中継部が中継した通信データのデータ量を測定し、当該ユーザのユーザIDと共に前記帯域制御サーバに通知する中継データ量通知部と
を有し、
前記帯域制御サーバは、
ユーザID毎に、当該ユーザIDに対応するユーザの端末へ中継された通信データのΔt1毎の使用帯域を格納する使用帯域格納部と、
ユーザID毎に前記NASから受信したデータ量に基づいて、Δt1における使用帯域を算出し、算出した使用帯域を当該ユーザIDに対応付けて前記使用帯域格納部に登録する使用帯域登録部と、
Δt1毎に、それぞれのユーザIDについて前記使用帯域格納部を参照して、予め定められたΔt2毎の期間における平均使用帯域を算出し、算出した平均使用帯域に基づいてヘビーユーザか否かを判定し、ヘビーユーザと判定した場合、当該ユーザIDに対応するユーザの使用帯域の制限値を算出し、算出した制限値を、当該ユーザIDと共に前記NASへ送信する制限値算出部と
を有し、
前記Δt1およびΔt2は、予め定められた2以上の整数nを用いた下記の関係式を満たすことを特徴とする帯域制御システム。
Δt2=n×Δt1
【請求項2】
請求項1に記載の帯域制御システムであって、
前記制限値算出部は、
Δt1毎に、それぞれのユーザIDについてΔt2の期間における平均使用帯域を算出し、算出した平均使用帯域に、0より大きく1未満の予め定められた定数を乗じた値を、当該ユーザIDに対応するユーザの使用帯域の制限値として算出することを特徴とする帯域制御システム。
【請求項3】
請求項1または2に記載の帯域制御システムであって、
ログインによりユーザ認証を行い、認証に成功した場合に当該ユーザのユーザIDを前記NASに通知する認証サーバをさらに備え、
前記通信データ中継部は、
前記認証サーバから通知されたユーザIDに対応付けられて前記制限値格納部に制限値が格納されている場合、引き続き当該制限値以内の通信帯域で、当該ユーザIDに対応するユーザの端末への通信データを中継することを特徴とする帯域制御システム。
【請求項4】
請求項3に記載の帯域制御システムであって、
前記NASは、提供されるアクセス回線毎に異なる複数のポートを有し、
各ユーザの端末は、前記複数のポートのいずれかを介して当該帯域制御システムにログインして、通信データの中継サービスの提供を受け、
前記通信データ中継部は、
前記認証サーバから通知されたユーザIDに対応付けられて前記制限値格納部に制限値が格納されている場合、当該ユーザIDに対応するユーザの端末が前回使用したポートとは異なるポートを介してログインした場合であっても、引き続き当該制限値以内の通信帯域で、当該ユーザIDに対応するユーザの端末への通信データを中継することを特徴とする帯域制御システム。
【請求項5】
各端末の通信帯域を制御する帯域制御システムにおける帯域制御方法であって、
前記帯域制御システムは、
各端末への通信データを中継するネットワークアクセスサーバ(NAS)と、
端末を使用するユーザ毎に、前記NASによって通信データを中継する際の通信帯域を制御する帯域制御サーバと
を備え、
前記NASは、
それぞれのユーザを識別するユーザID毎の制限値を前記帯域制御サーバから受信した場合に、受信したユーザID毎の制限値を、当該ユーザIDに対応付けて制限値格納部に格納する制限値受信ステップと、
ユーザIDに対応付けられて前記制限値格納部に格納されている制限値以内の通信帯域で、当該ユーザIDに対応するユーザの端末への通信データを中継する通信データ中継ステップと、
それぞれのユーザについて、前記通信データ中継ステップにおいて中継した通信データのデータ量を測定し、当該ユーザのユーザIDと共に前記帯域制御サーバに通知する中継データ量通知ステップと
を実行し、
前記帯域制御サーバは、
ユーザID毎に前記NASから受信したデータ量に基づいて、Δt1における使用帯域を算出し、算出した使用帯域を当該ユーザIDに対応付けて使用帯域格納部に登録する使用帯域登録ステップと、
Δt1毎に、それぞれのユーザIDについて前記使用帯域格納部を参照して、予め定められたΔt2毎の期間における平均使用帯域を算出し、算出した平均使用帯域に基づいてヘビーユーザか否かを判定し、ヘビーユーザと判定した場合、当該ユーザIDに対応するユーザの使用帯域の制限値を算出し、算出した制限値を、当該ユーザIDと共に前記NASへ送信する制限値算出ステップと
を実行し、
前記Δt1およびΔt2は、予め定められた2以上の整数nを用いた下記の関係式を満たすことを特徴とする帯域制御方法。
Δt2=n×Δt1

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate