(57)【要約】【課題】エンドサーバへの発信を厳密に解析することなく、ユーザ端末とエンドサーバとの間に確立される通信セッション数をエンドサーバの処理能力以下に規制する。【解決手段】ユーザ端末MNからエンドサーバESへの発信動作は一旦保留され、ユーザ端末MNの一部がサンプル端末MN(s)としてポーリングサーバPSにポーリングする。ポーリングサーバPSはポーリング数Npog[x]を計測して制御サーバCSへ報告する。制御サーバCSは、各ユーザ端末MNにおいて保留されている発信動作の解除タイミングを、各ユーザ端末MNとエンドサーバESとの間に確立される通信セッションの推定サービス時間に基づいて制御スロット単位で決定し、これを放送サーバBSへ通知する。各通信セッションの推定サービス時間は実サービス時間の確率分布に基づいて動的に算出される。放送サーバBSは、通知された保留解除タイミングを含む制御情報を放送局６から送信する。【選択図】図１
2010199759.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末とエンドサーバとの間に確立される通信セッション数をエンドサーバの処理能力以下に規制する通信セッション規制装置において、
ユーザ端末とエンドサーバとの間に確立された通信セッションが継続するサービス時間の分布情報を記憶する記憶手段と、
ユーザ端末とエンドサーバとの間に新規に確立された通信セッションのサービス時間を前記分布情報に基づいて推定する推定手段と、
前記通信セッションごとに推定されたサービス時間に基づいてエンドサーバにおける通信セッション同時接続数を監視する同時接続数監視手段と、
エンドサーバにおける通信セッション同時接続数を所定の最大同時接続数以下に規制する規制手段とを具備したことを特徴とする通信セッション規制装置。
【請求項２】
前記規制手段は、エンドサーバにおける通信セッション同時接続数が最大同時接続数を超えないように各ユーザ端末の発信を規制することを特徴とする請求項１に記載の通信セッション規制装置。
【請求項３】
ユーザ端末からエンドサーバへの発信動作を全て一旦保留する手段と、
エンドサーバの最大同時接続数および前記通信セッション同時接続数に基づいて、注目スロットにおいてユーザ端末とエンドサーバとの間に新規に確立できるセッション接続残数を推定する手段と、
前記注目スロットよりも前の各制御スロットで発生して保留中の発信動作数を、制御スロット単位で発生時刻の古い順に累積したときに、累積数が前記セッション接続残数を最初に超えた制御スロットを特定する手段と、
前記特定された制御スロットについて、さらに発信動作の保留を一部解除することで累積数が前記セッション接続残数に達する保留解除確率を算出する手段と、
前記特定された制御スロットの番号および保留解除確率を制御情報として各ユーザ端末へ通知する手段と、
各ユーザ端末が前記制御情報を受信し、前記制御スロット番号に対応した制御スロットよりも前に発生した発信動作を全て解除し、前記制御スロット番号に対応した制御スロットよりも後に発生した発信動作を全て保留継続し、前記制御スロット番号に対応した制御スロットで発生した発信動作を前記保留解除確率で解除する手段とを含むことを特徴とする請求項２に記載の通信セッション規制装置。
【請求項４】
前記制御情報が放送波で各ユーザ端末へ通知されることを特徴とする請求項３に記載の通信セッション規制装置。
【請求項５】
ユーザ端末からアクセスパス要求を受信し、各ユーザ端末に許可するエンドサーバへのアクセスタイミングを決定して各ユーザ端末へ通知するアクセスパスサーバを具備し、
前記アクセスパスサーバが、前記サービス時間の分布情報を記憶する記憶手段、前記サービス時間を前記分布情報に基づいて推定する推定手段、および前記通信セッション同時接続数を監視する同時接続数監視手段を含み、
前記アクセスパスサーバは、エンドサーバの同時接続数が所定の最大同時接続数以下に規制されるようにアクセスタイミングを決定してユーザ端末へ通知することを特徴とする請求項１または２に記載の通信セッション規制装置。
【請求項６】
前記アクセスパスサーバがさらに、
エンドサーバにおけるサービス時間を代表するキューが仮想的に登録される複数の仮想キューをエンドサーバの同時接続セッション数に基づいて設定する手段と、
アクセスパス要求の受信に応答して、当該アクセスパス要求を契機に生じるサービス要求に対するサービス時間を代表するキューの登録先となる仮想キューを選択する手段と、
経過時間およびエンドサーバにおけるサービス時間に基づいて各仮想キューからキューを破棄し、前記選択された仮想キューに前記サービス時間に応じたキューを追加する手段と、
前記選択された仮想キューのキュー値に基づいて、前記ユーザ端末のエンドサーバへのアクセスタイミングを決定する手段とを具備したことを特徴とする請求項５に記載の通信セッション規制装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末とエンドサーバとの間に確立される通信セッション数をエンドサーバの処理能力以下に規制する通信セッション規制装置に関する。
【背景技術】
【０００２】
通信回線としてインターネットが普及し、TV番組やラジオ番組でヒットチャートを発表した直後に人気曲の配信を要求するダウンロードのリクエストや、視聴者参加番組において視聴者が自身のメッセージを投稿するアップロードのリクエストなど、特定のイベントを契機とするリクエストメッセージは短時間に集中する傾向がある。しかしながら、これらの宛先でリクエストを受け付けるサーバ（エンドサーバ）では、ユーザ端末からのリクエスト数が急増して同時接続セッション数がエンドサーバの処理能力（例えば、システム容量）以上になると輻輳負荷状態が急激に悪化し、最悪の場合にはサーバの運用停止に追い込まれてしまう。
【０００３】
このような技術課題に対して、コンテンツ配信や投稿のリクエストを受け付けるエンドサーバとは別に、リクエストの受付専用にアクセスパスサーバを設け、このアクセスパスサーバが、リクエストに応答してエンドサーバへのアクセス順序やアクセスタイミングを決定すると共に、これをアクセスパスとして各ユーザ端末へ通知し、各ユーザ端末では、このアクセスパスにしたがってエンドサーバへアクセスする技術が特許文献１に開示されている。
【０００４】
また、特許文献２にはユーザ端末からのアクセスが集中発生する際、全部または一部のユーザ端末からのアクセスを当該ユーザ端末側で一旦保留し、その後、放送波などを用いてユーザ端末へ制御情報を送信し、アクセスがエンドサーバのシステム容量以下となるよう保留を解除することにより、エンドサーバのシステム容量を超過するようなアクセス集中を防ぐ順次受付型の発信規制技術が開示されている。
【０００５】
上記した特許文献１，２の技術では、エンドサーバの負荷が主にユーザ端末からエンドサーバへの発信数に基づいて判定され、ユーザ端末からの発信数が増すほどエンドサーバの負荷も増すものとみなして発信規制が行われる。しかしながら、エンドサーバの負荷はユーザ端末からの発信数のみならず、ユーザ端末から発信されたサービス要求の処理にエンドサーバが要した時間やデータ転送に要した時間（以下、合わせてサービス時間と表現する）にも依存する。
【０００６】
例えば、ユーザ端末からエンドサーバへ発信されたサービス要求がコンテンツのダウンロードであると、コンテンツのデータサイズが大きいほど、エンドサーバではダウンロード時間、すなわち処理時間が長くなって負荷が大きくなる。しかしながら、従来技術ではサーバ負荷が発信数に基づいて求められていたので、コンテンツのデータサイズ（ダウンロード時間）を考慮することなくサーバ負荷が見積もられてしまう。
【０００７】
また、コンテンツのデータサイズが同一であっても、これを要求するユーザ端末が光ファイバーによるブロードバンド回線のような高速網に接続されている場合と、携帯電話網のような低速網に接続されている場合とではサーバ負荷が大きく異なる。具体的には、低速網経由の配信では高速網経由の配信よりも配信時間（通信セッションの接続時間）が長くなるので、エンドサーバでも、その処理時間が長くなって負荷状態が続く。したがって、従来技術では低速網経由の発信については負荷が実際よりも小さく見積もられてしまう。
【０００８】
このように、エンドサーバの負荷は、ユーザ端末が接続されている網の速度、送受信データのサイズ、エンドサーバのアクセス回線の速度、さらにはユーザ端末から発信されたサービス要求の処理に要する時間に依存する。しかしながら、上記した従来技術では、エンドサーバへの発信数のみに基づいて発信制御が行われていたので、例えばダウンロード時間が長いサービスと短いサービスとが混在する場合など、アクセスの状況によってはサーバの負荷を正確に検知・制御することが難しかった。
【０００９】
一方、上記した技術課題は、各ユーザ端末からエンドサーバへの発信を全て測定・監視して厳密に解析し、各ユーザ端末の接続網の速度、送受信するデータサイズ、アクセス回線の速度、サービスの処理に要する時間等を見極めれば解決できるものの、大量のアクセスが発生する場合、全ての発信やアクセス回線の詳細を厳密に解析し、リアルタイムで制御に反映することは実質的に困難である。
【００１０】
このような技術課題に対して、本発明の発明者等は、エンドサーバとユーザ端末との間に確立されている通信セッション数を検知し、この通信セッション数とエンドサーバの処理能力とに基づいてエンドサーバの余剰能力を正確に見積もり、ユーザ端末からエンドサーバへの発信数を、エンドサーバの処理能力限界、すなわちエンドサーバに同時接続可能な最大セッション数に近い値に規制できる技術を発明し、特許出願した（特許文献３）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特願２００７−２０７９８６号
【特許文献２】特願２００７−４８８０８号
【特許文献３】特願２００８−２３２３４９号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献３の技術では、エンドサーバとユーザ端末との間に確立されている通信セッション数が各通信セッションのサービス時間に基づいて検知されるが、各通信セッションのサービス時間は統計的に算出された平均値で代表される。しかしながら、各通信セッションのサービス時間は各ユーザのネットワーク環境や要求サービスの種別等に依存して大きく異なる。したがって、従来技術のように通信セッションのサービス時間を画一的に同値（平均値）としてしまうと、同時接続数が規制値（最大同時接続数）を中心にして増減を繰り返し、ばたつきが生じてしまうという技術課題があった。
【００１３】
図１４は、従来技術において、各通信セッションのサービス時間とエンドサーバESにおける通信セッションの同時接続数との関係を示した図であり、ここでは、目標とする最大同時接続数Cmaxを５セッションとした場合を例にしている。
【００１４】
従来技術では、各通信セッションの実サービス時間（実線矢印）に差があるにもかかわらず、その推定サービス時間（破線矢印）を一様な平均値としていたため、特に各制御スロットΔτの終了間際に同時接続数が大きく落ち込む一方、各制御スロットΔτの開始直後は一斉に保留が解除されるので、同時接続数が急激に増加してしまう。
【００１５】
本発明の目的は、上記した従来技術の課題を解決し、各ユーザ端末からエンドサーバへの発信を厳密に解析することなく、ユーザ端末からエンドサーバへの発信を制御し、ユーザ端末とエンドサーバとの間に確立される通信セッション数をエンドサーバの最大処理能力近傍に正確に規制できる通信セッション規制装置を提供することにある。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために、本発明は、ユーザ端末とエンドサーバとの間に確立される通信セッション数をエンドサーバの処理能力以下に規制する通信セッション規制装置において、ユーザ端末とエンドサーバとの間に確立された通信セッションが継続するサービス時間の分布情報を記憶する記憶手段と、ユーザ端末とエンドサーバとの間に新規に確立された通信セッションのサービス時間を前記分布情報に基づいて推定する推定手段と、通信セッションごとに推定されたサービス時間に基づいてエンドサーバにおける通信セッション同時接続数を監視する同時接続数監視手段と、エンドサーバにおける通信セッション同時接続数を所定の最大同時接続数以下に規制する規制手段とを具備したことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、各通信セッションのサービス時間が確率分布に基づいて動的に決定され、セッション完了数が推定されるため、同時接続数の変動を小さく抑えられる。その結果、特に制御スロットの境界部近傍における同時接続数の急峻な変動が抑制されるので、エンドサーバに輻輳や過負荷を生じさせることなく常に最大効率で運転できるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態に係る通信セッション規制システムが適用されるネットワークの構成を示したブロック図である。
【図２】ユーザ端末MNの動作を示したフローチャートである。
【図３】制御サーバCSの動作を示したフローチャートである。
【図４】発信動作の保留を解除する制御スロットの決定方法を説明するための図である。
【図５】保留解除判定の手順を示したフローチャートである。
【図６】サービス時間の確率分布の一例を示した図である。
【図７】本発明の第２実施形態に係る通信セッション規制システムが適用されるネットワークの構成を示したブロック図である。
【図８】アクセスパスサーバの主要部の構成を示した機能ブロック図である。
【図９】仮想キュー設定部の機能を模式的に示した図である。
【図１０】ユーザ端末による要求手順を示したフローチャートである。
【図１１】アクセスパスサーバにおける応答の手順を示したフローチャートである。
【図１２】ユーザ端末、アクセスパスサーバおよびエンドサーバ間のシーケンスフローである。
【図１３】本発明を適用したシステムにおいて、各通信セッションの実サービス時間、推定サービス時間およびエンドサーバESにおける通信セッションの同時接続数との関係を示した図である。
【図１４】従来技術において、各通信セッションの実サービス時間、推定サービス時間およびエンドサーバESにおける通信セッションの同時接続数との関係を示した図である。
【発明を実施するための形態】
【実施例１】
【００１９】
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。図１は、本発明の通信セッション規制システムが適用されるネットワークの主要部の構成を示したブロック図であり、ここでは、ユーザ端末MNからエンドサーバES（サービス提供サーバ）へコンテンツ配信サービスを要求する場合の発信規制を例にして説明する。
【００２０】
各ユーザ端末MNは、ユーザの発信操作に応答して、所望のサービスをエンドサーバESへ要求するための発信動作を実行する。ただし、本実施形態では全ての発信動作が各ユーザ端末MNにおいて一旦保留され、かつユーザ端末MNの一部が所定の確率Rsampleでサンプル端末MN(s)に分類され、サンプル端末MN(s)のみが前記発信動作に応答してポーリングサーバPSにネットワークNW経由でポーリングする。ポーリングサーバPSは、所定の制御スロットごとにポーリング数Npog[x]を計測して制御サーバCSへ報告する。
【００２１】
制御サーバCSは、後にフローチャートを参照して詳述するように、各ユーザ端末MNにおいて保留されている発信動作を解除するタイミングを、各ユーザ端末MNとエンドサーバESとの間に確立される通信セッションの継続時間（サービス時間）とエンドサーバESに同時接続可能なセッション数とに基づいて制御スロット単位で決定し、これを放送サーバBSへ通知する。放送サーバBSは、前記通知された保留解除タイミングを含む制御情報を放送局６から放送波で送信する。各ユーザ端末MNは、前記保留解除タイミングを放送波で受信すると、保留中の発信動作の発生時刻が当該保留解除タイミングよりも前であれば保留を解除し、当該保留解除タイミングよりも後であれば保留を継続する。なお、制御サーバCSから各ユーザ端末１への制御情報の通知方法は放送波に限定されず、インターネット等の他の適宜の通知手段により通知されるようにしても良い。
【００２２】
保留解除されたユーザ端末MNからは、エンドサーバESへサービス要求の発信動作が実行され、ユーザ端末MNとエンドサーバESとの間に通信セッションが確立される。エンドサーバESは、各ユーザ端末MNから要求されたサービスが、例えばコンテンツのダウンロード要求であれば当該コンテンツをユーザ端末MNへダウンロードし、その完了後に通信セッションを遮断する。本実施形態では、エンドサーバESが各ユーザ端末MNからの要求に応じてサービスを提供するのに要する時間、換言すれば通信セッションが確立されている時間が「サービス時間(TAT)」として定義される。
【００２３】
図２は、前記ユーザ端末MNの動作を示したフローチャートであり、前記制御スロットとは非同期に所定の周期で繰り返し実行される。
【００２４】
ステップＳ１１では、保留継続中の発信動作の有無が判定され、最初は保留継続中の発信動作が無いと判定されるのでステップＳ１８へ進む。ステップＳ１８では新たな発信操作の有無が判定され、ユーザによる発信操作が検知されるとステップＳ１９へ進み、当該発信操作を契機とする発信動作が一旦保留される。ステップＳ２０では、所定の乱数シードを乱数関数に適用して乱数rand1（0＜rand1≦1）が発生される。
【００２５】
ステップＳ２１では、前記乱数rand1と既知のサンプル確率Rsampleとが比較される。このサンプル確率Rsampleは、ユーザ端末MNの一部をサンプル端末MN(S)に分類する確率であり、rand1≦Rsampleであれば、サンプル端末MN(S)として振る舞うためにステップＳ２２へ進む。前記サンプル確率Rsampleは、放送波などでユーザ端末MNへ事前に通知しておくことが望ましい。
【００２６】
ステップＳ２２では、サンプル端末MN(S)に分類されたユーザ端末MNのみがポーリングサーバPSにポーリングする。このポーリングは、例えばポーリングサーバPSを発呼して接続が確認されると直ぐに切断する簡易アクセスである。ポーリングサーバPSでは、各ユーザ端末MNからのポーリング総数が制御スロット単位で計測される。この計測結果は、所定のタイミングで制御サーバCSへ通知される。
【００２７】
次の制御周期では、前記ステップＳ１１において、保留継続中の発信動作が有ると判定されるのでステップＳ１２へ進む。ステップＳ１２では、後に詳述する制御情報の受信の有無が判定される。制御情報が受信されなければ前記ステップＳ１８へ進み、更なる発信動作が検知されれば、その発信動作の保留処理が実行される。ステップＳ１３〜Ｓ１７の処理については後述する。
【００２８】
図３は、前記制御サーバCSの動作を示したフローチャートであり、制御サーバCSは今回の制御スロット[τ0]が終了するごとに、次回の制御スロット[τ1]において保留解除する発信動作を特定するための保留解除処理を実行する。
【００２９】
ステップＳ３１において、今回の制御スロットτ0の終了タイミングが検知されると、ステップＳ３２では、当該制御スロットτ0でサンプル端末MN(s)により送信され、前記ポーリングサーバPSで測定されたポーリング数Npog[τ0]が取得される。ステップＳ３３では、このポーリング数Npog[τ0]およびサンプル端末MN(s)の比率Rsampleを次式(1)に適用して、当該制御スロットτ0における発信動作の総数Nreq[τ0]が推定される。
【００３０】
【数１】
2010199759.tif 000003
【００３１】
ステップＳ３４では、x番目の制御スロットτxで発生し、かつy番目の制御スロットτyの終了時も保留継続される発信動作数ψτx[τy] （x≦y） の一つとして、制御スロットτ0で発生し、かつ制御スロットτ0の終了時も保留継続される発信動作数ψτ0[τ0]が算出される。この保留継続される発信動作数ψτx[τy]の初期値は全て「０」であり、各ユーザ端末MNにおいて発信動作が発生し、その処理が進行するに従って値が徐々に埋まる。本実施形態では、各ユーザ端末MNで発生した発信動作が全て一旦保留されるので、保留継続される発信動作数ψτ0[τ0]は次式(2)で算出される。
【００３２】
【数２】
2010199759.tif 000004
【００３３】
ステップＳ３５では、次の制御スロットτ1においてサービス時間が継続中と推定される通信セッション数Cin_service[τ1]が取得される。この通信セッション数Cin_service[τ1]は、前回の制御周期（制御スロット）において、後述するステップＳ４１で求められて一時記憶されている。
【００３４】
ステップＳ３６では、エンドサーバESに関する既知の処理能力Cmaxおよび前記Cin_service[τ1]を次式(3)に適用して、次の制御スロットτ1におけるシステムの空き容量C[τ1]が推定される。なお、本実施形態では処理能力Cmaxとして、エンドサーバESに同時接続できるセッション数の上限値を採用しているので、空き容量C[τ1]は、前記エンドサーバESに同時接続できる通信セッション数の残数となる。
【００３５】
【数３】
2010199759.tif 000005
【００３６】
ステップＳ３７では、制御スロットτ0以前の各制御スロットτk（k≦0）で発生し、制御スロットτ0の終了後も保留継続されている発信動作のうち、発生時刻の古い順に制御スロット単位で保留を解除したときに次の制御スロットτ1において保留中の全ての発信動作を解除できるスロット番号の最大値nが算出される。
【００３７】
ここで、少なくとも一つの発信動作を保留継続している制御スロットのうち、全ての発信動作を次の制御スロットτ1で保留解除できる制御スロット番号の最大値nは、保留されている全ての発信動作の数を、発信動作の古い順に制御スロット単位で時系列で累積したときに、n番目の制御スロットまでの総和は制御スロットτ1におけるシステムの空き容量C[τ1]以下であるものの、n+1番目の制御スロットで発生し、制御スロットτ0の終了後も保留継続される全ての発信動作数を更に累積してしまうと前記システム空き容量C[τ1]を超えてしまう制御スロット番号nである。
【００３８】
すなわち、図４に一例を示したように、制御スロットτp (p+2≦k) で保留されている発信動作数を「２０」、制御スロットτp+1におけるそれを「１５」，制御スロットτp+2におけるそれを「３０」とし、制御スロットτ1におけるシステムの空き容量C[τ1]を「５０」とすれば、制御スロットτpから保留を解除し始めて次の制御スロットτp+1の保留を全て解除しても、その総容量は「３５」であって空き容量C[τ1]に達しない。しかしながら、さらに次の制御スロットτp+2の保留を全て解除してしまうと、その総容量は「６５」となって空き容量C[τ1]を超えてしまうので、このような場合には[p+1]が前記最大値nとなる。
【００３９】
したがって、制御スロットτxで発生し、かつ制御スロットτ0の終了後も保留継続される発信動作数をψτx[τ0]とすれば、次式(4)を満足する最大のn（n≦0）が、保留中の全ての発信動作を解除できるスロット番号の最大値となる。そして、この最大値nが求まれば、第n制御スロットまでは、保留中の全ての発信動作を解除でき、第(n+2)制御スロット以降については、全ての発信動作が保留を継続される。
【００４０】
一方、第(n+1)制御スロットについては、制御スロット番号nまで保留解除された発信動作数の総和が前記空き容量C[τ1]に満たない場合、一部の発信動作に関してのみ保留を解除できる。なお、保留解除の対象である前記保留継続中の発信動作数ψτx[τ0]は、前記ステップＳ３４の式(2)、および前回の制御周期（制御スロット）において、後述するステップＳ３８で式(5)，(6)，(7)に基づいて求められる。
【００４１】
【数４】
2010199759.tif 000006
【００４２】
図３へ戻り、ステップＳ３８では、前記一部の発信動作のみ保留解除される第(n+1)制御スロットに関して、保留解除できる発信動作の割合R_releaseを算出するために、制御スロットτ1の終了時も保留継続する発信動作数ψτm[τ1] (k≦m≦0)、および制御スロットτ1で保留解除される発信動作数ρτm[τ1]が次式(5)〜(10)に基づいて算出され、記憶される。ここで、ρτx[τy]は、制御スロットxで発生し、かつ制御スロットyで保留解除される発信動作数であって、その初期値は全て「０」であり、処理の進行に伴って値が徐々に埋まる。
【００４３】
【数５】
2010199759.tif 000007
【００４４】
【数６】
2010199759.tif 000008
【００４５】
上式(5)，(8)は、スロット番号mがm≦nの全ての制御スロットに適用され、保留中の全ての発信動作が制御スロットτ1で解除され、制御スロットτ1の終了時も保留継続する発信動作数はゼロとなる。式(7)，(10)は、スロット番号mがm＞n+1の全ての制御スロットに適用され、保留中の全ての発信動作が制御スロットτ1で解除されず、制御スロットτ1の終了時も制御スロットτ0の終了時と同数の発信動作が保留継続される。
【００４６】
上式(6)は、スロット番号m＝n+1の制御スロットに適用され、制御スロットτ0の終了時に保留継続されている全ての発信動作のうち、スロット番号n+1までの発信動作数の総和から空き容量C[τ1]を減じた発信動作数、すなわち制御スロット番号τn+1で発生して制御スロットτ0の終了時に保留継続されている発信動作数ψτn+1[τ0]から、制御スロットτ1で保留解除される発信動作数を減じた数の発信動作が、制御スロットτ1の終了時も保留継続されることになる。
【００４７】
上式(9)は、スロット番号m＝n+1の制御スロットに適用され、制御スロットτ1において、空き容量C[τ1]から、制御スロットτ0の終了時に保留継続されている全ての発信動作数のうちスロット番号nまでの発信動作数の総和を減じた数の発信動作が保留解除されることになる。
【００４８】
ステップＳ３９では、第(n+1)制御スロットで発生し、かつ制御スロットτ0の終了時に保留継続中の発信動作数ψτn+1[τ0] のうち、制御スロットτ1で保留解除される発信動作数ρτn+1[τ1]の割合R_releaseが、次式(11)で求められる。
【００４９】
【数７】
2010199759.tif 000009
【００５０】
ステップＳ４０では、前記τn+1およびR_releaseのペア[τn+1，R_release]が制御情報として放送サーバBSへ通知され、放送局６からユーザ端末MNへ送信される。ステップＳ４１では、制御スロットτ1で保留解除された発信動作により確立された通信セッションのうち、制御スロットτ1以降もサービス時間が継続するセッション数Cin_service[τ1+i]が、次式(12)に基づいて、制御スロットτ1以降の各制御スロット[τ1+i]について算出される。
【００５１】
【数８】
2010199759.tif 000010
【００５２】
なお、TATは各通信セッションのサービス時間（秒）の推定値であり、その算出方法は後述する。τは制御周期（制御スロットτ）の時間幅（秒）であり、TAT/Δτは、これが０または小数点を含む場合には繰り上げの整数値とされる。
【００５３】
また、上式(12)の計算は、制御スロットτ1で保留解除されて制御スロットτ1以降もサービス時間が継続する全ての通信セッション（総数u）に対して実行される。前記通信セッション数の総数uは次式(13)で与えられる。
【００５４】
【数９】
2010199759.tif 000011
【００５５】
これにより、制御スロットτ1で保留解除された発信動作により確立されたセッション数のうち、制御スロットτ1以降もサービス時間が継続するセッション数Cin_service[τ1+i]が算出される。
【００５６】
次いで、前記サービス時間TATの推定方法について説明する。本実施形態では、別途に観察されたサービス時間の実測値tatに基づいて確率分布が求められ、前記制御スロットτ1で保留解除されて制御スロットτ1以降もサービス時間が継続する通信セッションごとに、そのサービス時間TATが前記確率分布に基づく確率計算により推定される。
【００５７】
すなわち、別途に観察された実サービス時間tatが図６に一例を示したような正規分布を示していれば、当該分布に基づいて通信セッションごとにサービス時間TATを算出する関数を設定し、各通信セッションを代表する乱数を発生させて当該関数に適用することでサービス時間TATが算出される。
【００５８】
本実施形態では制御スロットτ1で保留解除された発信動作により新たに確立されたセッション数が全て制御スロットτ1で終了する場合、Cin_service[τ1]は、制御スロットτ0までに保留解除された発信動作により確立されたセッション数で制御スロットτ1においてもサービス時間が継続するセッション数に、制御スロットτ1で保留解除された発信動作により確立されたセッション数を加えた数となる。このセッション数Cin_service[τx]も初期値は全て「０」であり、処理の進行に伴って値が徐々に埋まる。
【００５９】
例えば、サービス時間TATが１０（秒）、制御周期Δτが５（秒）であれば、制御スロットτ1で保留解除された発信動作に応答してエンドサーバがコンテンツ配信（ダウンロード）等のサービスを提供する時間（サービス時間）は制御スロット数で「２」に相当するので、制御スロットτ1で開始されたサービス時間は制御スロットτ1，τ2において継続されることになる。したがって、ここではCin_service[τ1]，Cin_service[τ2]が求められて一時記憶され、次回の制御周期τ2において、ステップＳ３５でCin_service[τ2]として利用される。
【００６０】
図２へ戻り、各ユーザ端末MNは、ステップＳ１２で前記制御情報を受信するとステップＳ１３へ進む。ステップＳ１３では、保留中の発信動作ごとに、その保留を解除するか否かが判定される。
【００６１】
図５は、この保留解除判定の手順を示したフローチャートであり、ステップＳ５１では、前記制御情報に登録されていた保留解除タイミングτn+1よりも前に発生した発信動作が保留中であるか否かが判定される。保留中であればステップＳ５２へ進み、その全ての保留が解除される。ステップＳ５３では、前記制御情報に登録されていた保留解除タイミングτn+1で発生した発信動作が保留中であるか否かが判定され、保留中であればステップＳ５４へ進む。
【００６２】
ステップＳ５４では、所定の乱数シードを乱数関数に適用して乱数rand2（0＜rand2≦1）が発生される。ステップＳ５５では、この乱数rand2と前記制御情報に登録されていた保留解除率R_releaseとが比較され、rand2≦R_releaseと判定されれば、ステップＳ５６へ進んで保留解除される。なお、前記ステップＳ５５においてrand2＞R_releaseと判定されると、前記τn+1よりも後に発生した発信動作と共に保留解除が見送られて保留が継続される。
【００６３】
図２へ戻り、ステップＳ１４では、前記保留解除された発信動作が実行される。ステップＳ１５でエンドサーバESとの間に通信セッションが確立されるとステップＳ１６へ進み、要求したサービスを享受する。ステップＳ１７において、サービスが完了すると、エンドサーバESとの間に確立されていた通信セッションが遮断される。
【００６４】
図１３は、本発明を適用したシステムにおいて、各通信セッションのサービス時間とエンドサーバESにおけるセッション同時接続数との関係を示した図であり、ここでは、最大同時接続数Cmaxが５セッションである場合を例にしている。
【００６５】
図１４に示した従来技術と比較すれば明らかなように、本実施形態によれば、各通信セッションのサービス時間TATが一様ではなく、前記図６に示した確率分布に基づいて動的に決定されるので、同時接続数の変動を小さく抑えられ、特に制御スロットの境界部近傍における同時接続数の急峻な変動が抑制されていることが判る。したがって、エンドサーバESに輻輳や過負荷を生じさせることなく常に最大効率で運転できるようになる。
【００６６】
なお、上記の実施形態では各制御スロットを識別する識別子として時系列の序数nを採用したが、各序数nは発信動作の保留時間と一義的に対応するので、各制御スロットを識別する識別子として、前記序数nに代えて待ち時間を採用しても良い。
【実施例２】
【００６７】
上記の第１実施形態では、ユーザ端末MNからエンドサーバESへの発信動作を全て一旦保留し、その後、制御スロット単位で発信動作の保留を順次に解除することで、ユーザ端末MNとエンドサーバESとの間に確立される通信セッション数をエンドサーバの処理能力以下に規制するシステムを例にして本発明を説明した。
【００６８】
しかしながら、本発明はこれのみに限定されるものではなく、例えば特願２００８−１５１６０２号の明細書に開示されているように、ユーザ端末MNから送信されたアクセスパス要求をアクセスパスサーバで受け付けて各ユーザ端末MNのエンドサーバESへのアクセスタイミングを決定し、これを各ユーザ端末ESへのアクセスパスとして返信することで発信を規制するシステムにも同様に適用できる。
【００６９】
図７は、本発明の第２実施形態に係る通信セッション規制システムが適用されるネットワークの主要部の構成を示したブロック図であり、ここでは、ユーザ端末MNからエンドサーバES（サービス提供サーバ）へコンテンツ配信サービスを要求する場合を例にして説明する。
【００７０】
携帯電話、PDAあるいはコンピュータなどのユーザ端末MNは携帯電話網あるいはインターネット等のIPネットワークNWに接続されている。また、ユーザ端末MNからのサービス要求に応答して、音楽や映像などのコンテンツを配信する複数のエンドサーバESjが、アクセスパスサーバAPSと共に前記IPネットワークNWに接続されている。
【００７１】
前記アクセスパスサーバAPSは、各ユーザ端末MNにエンドサーバESjへのアクセスを許可するタイミングを決定して各ユーザ端末MNへ通知する機能を備え、ユーザ端末MNからアクセス先のエンドサーバESjの識別情報およびコンテンツの識別情報を含むアクセスパス要求のメッセージを受信すると、エンドサーバESjの能力や状況に基づいてアクセスタイミングを決定し、これをユーザ端末MNへ通知する。ユーザ端末MNは、通知されたアクセスタイミングを待ってエンドサーバESjへサービス要求を送信し、当該エンドサーバESjからコンテンツの配信サービスを享受する。
【００７２】
図８は、前記アクセスパスサーバAPSの主要部の構成を示した機能ブロック図である。本実施形態では、アクセスパスサーバAPSがアクセスパス要求を受信するごとに実行する応答処理は極めて低負荷なので、アクセスパス要求が短時間に集中的に受信される場合でも、アクセスパスサーバAPSは全てのアクセスパス要求を受信順に滞りなく受付処理できる。
【００７３】
同時接続セッション数記憶部１７には、各エンドサーバESj（jはエンドサーバ識別子）が同時に接続できる最大セッション数Smax_jが予め記憶されている。サービス時間分布記憶部２０には、ユーザ端末MNとエンドサーバESjとの間に確立された通信セッションが継続するサービス時間TATの分布情報が記憶されている。サービス時間推定部１８は、ユーザ端末MNとエンドサーバESjとの間に新規に確立された通信セッションのサービス時間TATを前記分布情報に基づいて推定する。
【００７４】
仮想キュー設定部１９は、各エンドサーバESjにおけるサービス要求の処理状況をアクセスパスサーバAPS上で模擬するために設けられている。すなわち、各エンドサーバESjの最大同時接続セッション数Smax_jがn個であれば、エンドサーバESjにおけるサービス要求の処理状況は、図９に一例を示したように、エンドサーバESjの入力段にn個のFIFOバッファ（FIFO-1，FIFO-2、…FIFO-n）を装備し、ユーザ端末NMから送信されたサービス要求がいずれかのFIFOバッファから取り込まれて順次に処理される構造で模擬できる。
【００７５】
そして、FIFOバッファにはサービス要求の処理に必要なセッション保持時間（サービス時間TAT）に相当する量のデータ（キュー）を登録し、FIFOバッファの転送レートをエンドサーバESjの平均サービス処理時間ATATjの逆数1/ATATjとすれば、各FIFOバッファにオーバーフローもアンダーフローを生じないようにサービス要求を割り振ることでエンドサーバESjの輻輳や効率低下を防止できる。
【００７６】
そこで、本実施形態では上記した各FIFOバッファを模した仮想キューVQをアクセスパスサーバAPSに設け、この仮想キューVQにオーバーフローもアンダーフローも生じないように、各アクセスパス要求に対してサービス要求タイミングを割り当てるようにしている。
【００７７】
したがって、前記仮想キュー設定部１９には、エンドサーバESjごとに、その最大同時接続セッション数Smax_jと同一数の仮想キューVQk,j（kは仮想キュー識別子）が設定される。仮想キューVQk,jには、後に詳述するように、ユーザ端末MNから送信されたアクセスパス要求が受信されるごとに、当該アクセスパス要求を契機に生じるサービス要求をエンドサーバが処理するのに必要なサービス時間TATに応じたキューが登録（エンキュー）され、登録されたキューは平均サービス処理時間ATATjの逆数1/ATATjに応じた割合で時間経過と共に順次に破棄（デキュー）される。これにより、本実施形態ではエンドサーバESjにおけるサービス要求の処理状況を、アクセスパスサーバAPS上で各仮想キューVQk,jのキュー長として模擬できるようになる。
【００７８】
このように、本実施形態において各仮想キューVQjに先入れ先出しの規則で登録・破棄されるキューは、受信されたアクセスパス要求ではなく、当該アクセスパス要求を契機に予約されるサービス要求の処理に必要なセッション保留時間（サービス時間TAT）を表すダミーキューである。
【００７９】
アクセスパス要求受信部１０は、各ユーザ端末MNから送信されたアクセスパス要求をインターフェース（I/F）経由で受信する。要求分析部１１は、受信したアクセスパス要求を分析し、要求先のエンドサーバESjおよび要求されたサービスを識別する。仮想キュー選択部１２は、アクセスパス要求で指定されたアクセス先のエンドサーバESjと対応付けられた複数の仮想キューVQk,jの中からキュー長が最小の仮想キューVQkx,jを選択する。これ以後、キュー長が最小の仮想キューおよびそのキュー値の識別子kには添え字xを付するものとする。
【００８０】
仮想キュー更新部１３は、前記選択された仮想キューVQkx,jに、要求されたサービスのエンドサーバESjにおける処理時間（サービス時間TAT）に応じた長さのキューをエンキューする追加部と共に、各エンドサーバESjの仮想キューVQk,jに登録済みのキューを、前記平均サービス処理時間ATATjおよび経過時間に基づいて順次にデキューする破棄部を備えている。
【００８１】
アクセスタイミング決定部１４は、後に詳述するように、前記選択された仮想キューVQkx,jのキュー長VQkx,j[t]に基づいて、当該アクセスパス要求に応答するアクセスタイミングを決定する。本実施形態では、アクセスタイミングが現在時刻tからの待機時間として決定される。アクセスパス応答生成部１５は、エンドサーバESjへのアクセスタイミングを含むアクセスパス応答を生成する。アクセスパス応答返信部１６は、前記アクセスパス応答を前記アクセスパス要求の送信元ユーザ端末にI/F経由で返信する。
【００８２】
次いで、フローチャートを参照して本実施形態の動作を詳細に説明する。図１０は、コンテンツ配信を要求するユーザ端末MNにおけるアクセスパス要求およびサービス要求の手順を示したフローチャート、図１１は、アクセスパスサーバAPSにおけるアクセスパス応答の手順を示したフローチャートであり、図１２はシーケンスフローである。なお、本実施形態における各符号の定義は以下の通りである。
【００８３】
i：アクセスパス要求の識別子
j：エンドサーバESの識別子
k：仮想キューVQの識別子
TATi：アクセスパス要求iについてのサービス時間
ti,j：エンドサーバESjに対するi番目のアクセスパス要求時刻
di,j：エンドサーバESjに対するi番目のアクセスパス要求に対して割り当てられるアクセスタイミングまでの遅延時間
ATATj：各エンドサーバESjにおける平均サービス処理時間
Qmax_j：各エンドサーバESjのキュー値の上限値
bi,j：要求されたサービスの重み値
VQj(ti,j)−：時刻tiでアクセスパス要求を受信する直前のエンドサーバESjのキュー長
VQj(ti,j)＋：時刻tiで受信したアクセスパス要求を反映して更新された直後のエンドサーバESjのキュー長
【００８４】
ユーザが自身のユーザ端末MNのキースイッチ等を操作してコンテンツのリクエスト操作を実施し、これが図１０のステップＳ６１で検知されるとステップＳ６２へ進む。ステップＳ６２では、リクエストするコンテンツの識別子および当該コンテンツを提供するエンドサーバESの識別子jを含んでアクセスパスサーバAPSを宛先とするアクセスパス要求が生成され、ステップＳ６３において送信される。
【００８５】
アクセスパスサーバAPSでは、図１１のステップＳ８１において、前記アクセスパス要求がアクセスパス要求受信部１０で受信されるとステップＳ８２へ進む。ステップＳ８２では、前記要求分析部１１において当該アクセスパス要求が分析され、要求されているコンテンツおよび要求先のエンドサーバESjが識別される。続くステップＳ８３−Ｓ８５では、当該要求先のエンドサーバESjに割り当てられている複数の仮想キューVQk,jの現在時刻tにおけるキュー値が、前回の更新時刻ti-1からの経過時間?tおよび当該エンドサーバESjにおける平均サービス処理時間ATATjに基づいて更新される。
【００８６】
すなわち、ステップＳ８３では、受信したアクセスパス要求に登録されている識別子jに対応したエンドサーバESjに関して、時刻ti-1で受信したアクセスパス要求を反映して更新された直後の各仮想キューVQk,jのキュー長[VQk,j(ti-1)＋]が前記仮想キュー設定部１９から取り込まれる。ステップＳ８４では、当該エンドサーバESjの平均サービス処理時間ATATjが取り込まれる。ステップＳ８５では、今回のアクセスパス要求の受信時刻tiにおける各仮想キューVQk,jのキュー長[VQk,j(ti)−]が次式14)で求められる。
【００８７】
【数１０】
2010199759.tif 000012
【００８８】
ステップＳ８６では、キュー長[VQk,j(ti)−]が最小の仮想キューVQkx,jが、今回のアクセスパス要求に関するキューの登録先として選択される。ステップＳ８７では、アクセスパス要求を送信したユーザ端末MNに通知するアクセスタイミングが、当該アクセスパス要求の受信時刻tiを基準にした遅延時間di,jとして次式(15)で求められる。すなわち、キュー長[VQk,j(ti)−]が最小の仮想キューVQkx,jの処理が完了して他のアクセス要求を受け容れられるタイミングが遅延時間di,jとして求められる。
【００８９】
【数１１】
2010199759.tif 000013
【００９０】
ステップＳ８８では、前記選択された仮想キューVQkx,jのキュー値[VQkx,j(ti)＋]が次式(16)に基づいて計算され、他の仮想キューVQk,jのキュー値[VQk,j(ti)＋]が次式(17)に基づいて計算される。ステップＳ８９では、前記計算結果に基づいて各仮想キューVQk,jのキュー値[VQk,j(ti)＋]が更新される。
【００９１】
【数１２】
2010199759.tif 000014
【００９２】
【数１３】
2010199759.tif 000015
【００９３】
ここで、重み値[bi]は要求されたサービスの提供に必要なサービス時間TATiを代表するキュー値であり、要求されたサービスのサービス時間TATiが前記平均サービス処理時間ATATjと同等であればbi＝１とされ、サービス時間TATiがATATjよりも長ければbi＞１とされ、サービス時間TATiがATATjよりも短ければbi＜１とされる。
【００９４】
本実施形態では、前記サービス時間分布記憶部２０に記憶されているサービス時間の分布に基づいて、前記サービス時間推定部１８により重み値biが推定される。すなわち、前記サービス時間分布記憶部２０に記憶されているサービス時間TATの分布が、前記図６に示したような正規分布を示していれば、当該分布に基づいて通信セッションごとにサービス時間を算出する関数を設定し、各通信セッションを代表する乱数を発生させて当該関数に適用することでサービス時間TATが推定される。そして、サービス時間TATの推定値が前記平均サービス処理時間ATATよりも長ければ、その程度に応じてbi＞１とされ、サービス時間TATの推定値が前記平均サービス処理時間ATATよりも短ければ、その程度に応じてbi＜１とされる。  ステップＳ９０では、前記アクセスタイミングとしての遅延時間di,jを含むアクセスパス応答が前記アクセスパス応答生成部１５で生成され、ステップＳ９１において、前記アクセスパス応答返信部１６から前記アクセスパス要求の送信端末宛に返信される。
【００９５】
図１０へ戻り、ユーザ端末MNでは、前記アクセスパス応答をステップＳ６４で受信すると、ステップＳ６５では、このアクセスパス応答に登録されている遅延時間di,jが抽出される。ステップＳ６６では、抽出された遅延時間di,jが所定の上限値dmaxと比較され、遅延時間di,j＞dmaxであればステップＳ６７へ進み、サービスを提供できない旨のエラーメッセージを端末ディスプレーに表示して当該処理を中止する。これに対して、遅延時間di,j≦dmaxであればステップＳ６８へ進み、リクエストが先着順に処理されている旨を示す受付完了メッセージが端末ディスプレーに表示される。
【００９６】
ステップＳ６９では、配信を要求するコンテンツの識別子およびエンドサーバの識別子を含むサービス要求が生成される。ステップＳ７０では、前記ステップＳ６３においてアクセスパス要求を送信してからの経過時間が前記遅延時間di,jに達したか否かに基づいてアクセスタイミングであるか否かが判定され、アクセスタイミングを待ってステップＳ７１へ進む。ステップＳ７１では、前記ステップＳ６９で生成されたサービス要求が前記エンドサーバESjを宛先として送信される。このようなユーザ端末MNにおけるアクセスタイミングまでの待機処理は、Java（登録商標）script，Flashなどの各種スクリプト言語を利用することで実装できる。
【００９７】
このサービス要求を受信したエンドサーバESjは、要求されているコンテンツを用意して前記ユーザ端末MNへ配信する。ユーザ端末MNは、前記コンテンツをステップＳ７２で受信すると、ステップＳ７３へ進んで当該コンテンツを保存する。ステップＳ７４では、ダウンロード完了メッセージが端末ディスプレーに表示される。
【００９８】
本実施形態によれば、アクセスパス要求が受信されるごとに、キュー長の最も短い仮想キューが選択され、当該仮想キューにキューが登録されるので、より早くアクセスパス要求を送信したユーザ端末に対して、より早いサービス要求タイミングを割り当てられるようになる。
【００９９】
また、本実施形態によれば、アクセスパスサーバAPSではエンドサーバごとに最大同時接続セッション数分の仮想キューを設定し、アクセスパス要求が受信されるごとに、サービス要求先のエンドサーバの仮想キューにサービス時間に応じた長さのキューを登録すると共に、各キューを各エンドサーバでのサービス処理量に応じた割合で仮想的に順次消化させる。これにより、各エンドサーバにおけるサービスの処理状況をアクセスパスサーバAPS上で模擬することができ、アクセスパス要求が受信されたときの各仮想キューのキュー長に基づいてサービス要求タイミングを算出できるので、エンドサーバの運用効率を同時接続セッション数の観点から最適化できるようになる。
【符号の説明】
【０１００】
１…ユーザ端末MN，２…エンドサーバES，３…ポーリングサーバPS，４…制御サーバCS，５…放送サーバBS，６…放送局
【図１】
2010199759.tif 000016
【図２】
2010199759.tif 000017
【図３】
2010199759.tif 000018
【図４】
2010199759.tif 000019
【図５】
2010199759.tif 000020
【図６】
2010199759.tif 000021
【図７】
2010199759.tif 000022
【図８】
2010199759.tif 000023
【図９】
2010199759.tif 000024
【図１０】
2010199759.tif 000025
【図１１】
2010199759.tif 000026
【図１２】
2010199759.tif 000027
【図１３】
2010199759.tif 000028
【図１４】
2010199759.tif 000029