(57)【特許請求の範囲】
【請求項１】
アクセスパスサーバが、ユーザ端末からアクセスパス要求を受信して各ユーザ端末に許可するエンドサーバへのアクセスタイミングを決定して各ユーザ端末へ通知し、前記ユーザ端末は、前記通知されたアクセスタイミングでエンドサーバへサービス要求を送信するリクエスト受付システムにおいて、
前記アクセスパスサーバが、
エンドサーバがサービス要求の処理に要するサービス時間を記憶する手段と、
エンドサーバの最大同時接続セッション数を記憶する手段と、
エンドサーバにおけるサービス時間を代表するキューが仮想的に登録される複数の仮想キューをエンドサーバの同時接続セッション数に基づいて設定する手段と、
ユーザ端末からアクセスパス要求を受信する手段と、
アクセスパス要求の受信に応答して、当該アクセスパス要求を契機に生じるサービス要求に対するサービス時間を代表するキューの登録先となる仮想キューを選択する手段と、
経過時間およびエンドサーバにおけるサービス時間に基づいて各仮想キューからキューを破棄し、前記選択された仮想キューに前記サービス時間に応じたキューを追加する手段と、
前記選択された仮想キューのキュー値に基づいて、前記ユーザ端末のエンドサーバへのアクセスタイミングを決定する手段と、
前記アクセスタイミングの決定結果をユーザ端末へ通知する手段とを具備したことを特徴とするリクエスト受付システム。
【請求項２】
複数のエンドサーバを備え、
前記複数の仮想キューがエンドサーバごとに設定されたことを特徴とする請求項１に記載のリクエスト受付システム。
【請求項３】
前記仮想キューを選択する手段は、キュー長が最小の仮想キューを選択することを特徴とする請求項１または２に記載のリクエスト受付システム。
【請求項４】
前記選択された仮想キューに登録されるキューの値がサービス要求に応じて可変であることを特徴とする請求項１ないし３のいずれかに記載のリクエスト受付システム。
【請求項５】
前記仮想キューの個数がエンドサーバの同時接続セッション数と同一であることを特徴とする請求項１ないし４のいずれかに記載のリクエスト受付システム。
【請求項６】
エンドサーバの同時接続セッション数を変更するイベントを検知する手段と、
前記同時接続セッション数の増加に応答して仮想キューを追加し、同時接続セッション数の減少に応答して仮想キューの一部を破棄する手段と、
時刻Tで同時接続セッション数が追加されると、当該時刻Tの直前における既存の複数の仮想キューのなかで最小のキュー長に相当するキュー値を前記追加された仮想キューに登録する手段とを含むことを特徴とする請求項１ないし５のいずれかに記載のリクエスト受付システム。
【請求項７】
エンドサーバにおけるサービス時間を変更するイベントを検知する手段と、
時刻Tでエンドサーバにおけるサービス時間が変更されると、時刻T以前に設定したアクセスタイミングが時刻T以降に設定したアクセスタイミングよりも後にならないように、変更前後のサービス時間に基づいて、時刻Tにおける各仮想キューのキュー値を補正する手段とを含むことを特徴とする請求項１ないし６のいずれかに記載のリクエスト受付システム。
【請求項８】
前記仮想キューのキュー値を補正する手段は、エンドサーバにおける変更前のサービス時間をCj1、変更後のサービス時間をCj2としたとき、時刻Tにおける各仮想キューのキュー値を（Cj1／Cj2）倍に補正することを特徴とする請求項７に記載のリクエスト受付システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末から送信されたアクセスパス要求を受け付けて、各ユーザ端末のエンドサーバへのアクセスタイミングを決定し、これを各ユーザ端末へのアクセスパスとして返信するリクエスト受付システムに関する。
【背景技術】
【０００２】
災害発生時の安否確認のためのリクエスト、あるいはTV番組やラジオ番組でヒットチャートを発表した直後に人気曲の配信を要求するリクエストなど、特定のイベントを契機とするリクエストメッセージは短時間に集中する傾向がある。これらの宛先でリクエストを受け付けるサーバでは、リクエスト数が処理能力を超過すると、超過分についてはサービスの提供が不可能となる。このことは、同サービスを利用するユーザの満足度を低下させると共に、たとえばリクエストが有料コンテンツの配信であれば、コンテンツ提供者にとっては販売機会の損失となる。
【０００３】
イベントを契機とするアクセスの集中は通常のアクセス量を遙かに凌駕し、瞬間的には、例えば１０倍から１００倍に達する場合もある。したがって、アクセス集中時のピーク時に合わせてサーバ容量を設計してしまうと、時間的に大半を占める通常時には大幅な過剰設備状態を招いてしまう。しかも、このようなアクセス集中は予測が難しいので、たとえ十分と予測される設備を用意できたとしても、その容量を上回るアクセスが集中する可能性を否定できない。
【０００４】
一方、２００３年１２月に東京・大阪・名古屋で地上デジタル放送が開始され、それ以後、他の地域でも放送が順次開始されると共に、移動体受信端末向けサービスなどが拡充されることになっている。地上デジタル放送で提供される通信放送連携サービスでは、番組内容を契機とした同時大量アクセスの発生が予見されており、上記で指摘した事象が今後ますます顕在化してくることが想定される。
【０００５】
このような同時大量アクセスを抑制する技術として、特許文献１には、サービス要求を受け付けて処理するという高負荷の処理を実行するエンドサーバとは別に、ユーザ端末から受信したアクセスパス要求を受け付けてアクセスパス応答を返信するという低負荷の処理のみを実行するアクセスパスサーバを独立して設ける技術が開示されている。
【０００６】
ここでは、ユーザ端末からアクセスパス要求を受信したアクセスパスサーバが、受信したアクセスパス要求ごとにエンドサーバへのアクセスタイミング（待機時間）を決定し、これを各アクセスパス要求への応答メッセージとして各ユーザ端末へ通知する。ユーザ端末は、通知されたアクセスタイミングを待ってエンドサーバへアクセスする。前記アクセスタイミングは、エンドサーバへのアクセスが分散され、かつアクセスタイミングがアクセスパス要求の受付順序となるように決定される。
【特許文献１】特願２００７−２０７９８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した先行技術では、エンドサーバへ流入する単位時間あたりのアクセス数、すなわちアクセスレートが予め定められた上限値を超えないように、各ユーザ端末に対して待機時間が設定・通知され、ユーザ端末からエンドサーバに向かうアクセス数が制御される。しかしながら、上記の先行技術ではエンドサーバが各サービス要求の処理に要するサービス時間、即ちセッション保留時間が考慮されていなかったので、以下のような技術課題が生じ得る。
【０００８】
すなわち、実サービスではエンドサーバがユーザ端末からのサービス要求に応答してサービス(例えば，コンテンツダウンロード)を提供する際にはサービス時間が発生する。しかしながら、上記の先行技術ではサービス時間が考慮されていないので、サービス時間が想定時間よりも長ければサービス要求が蓄積してサーバ輻輳を招く一方、サービス時間が想定時間よりも短ければサーバの稼働効率が低下してしまう。
【０００９】
ここで、アクセスレートをR、サービス時間をCとすれば、エンドサーバの最大同時接続セッション数Smaxは次式(1)で与えられる。したがって、例えば秒間アクセスレートRが「１」，サービス時間Cが「５」であれば、エンドサーバの最大同時接続セッション数Smaxを５に設定することでエンドサーバの輻輳や効率低下を防止できることになる。
【００１０】
Smax＝R×C    …(1)
【００１１】
上記の例では、図１２に一例を示したように、１秒ごとに１つのサービス要求ReqがエンドサーバESに受け容れられ、その結果、０秒から１秒の間のタイムスロットで最初のサービス要求Req1が受け容れられ、次の１秒から２秒の間のタイムスロットで次のサービス要求Req2が受け容れられ…といったように各サービス要求が順次に受け容れられる。
【００１２】
しかしながら、例えばセッション数がゼロの状態からサービス要求の受け容れが開始される場合、図１３に示したように、０秒から１秒の間のタイムスロットで５つのサービス要求を受け容れ可能なので、サービス要求Req1のみならず、その後の４つのサービス要求Req2−Req5も同時に受け容れ可能である。にもかかわらず、上記の例では一つのサービス要求Req1しか受け容れられない。
【００１３】
したがって、エンドサーバESでは稼働効率の低下を余儀なくされ、その結果、図１２，１３を比較すれば明らかなように、サービス要求Req2は１秒から２秒の間のタイムスロットまで余計に待機させられ、サービス要求Req3は２秒から３秒の間のタイムスロットまで余計に待機させられ、サービス要求Req5に至っては、４秒から５秒の間のタイムスロットまで余計に待機させられ、４秒相当の遅延が無駄に生じることになる。
【００１４】
本発明の目的は、上記した従来技術の課題を解決し、エンドサーバの運用効率を同時接続セッション数の観点から最適化し、ユーザ端末の待機時間を短縮できるリクエスト受付システムを提供することにある。
【課題を解決するための手段】
【００１５】
上記した目的を達成するために、本発明は、アクセスパスサーバが、ユーザ端末からアクセスパス要求を受信して各ユーザ端末に許可するエンドサーバへのアクセスタイミングを決定して各ユーザ端末へ通知し、前記ユーザ端末は、前記通知されたアクセスタイミングでエンドサーバへサービス要求を送信するリクエスト受付システムにおいて、前記アクセスパスサーバが、以下のような手段を講じた点に特徴がある。
【００１６】
(1)エンドサーバがサービス要求の処理に要するサービス時間を記憶する手段と、エンドサーバの最大同時接続セッション数を記憶する手段と、エンドサーバにおけるサービス時間を代表するキューが登録される複数の仮想キューをエンドサーバの同時接続セッション数に基づいて設定する手段と、ユーザ端末からアクセスパス要求を受信する手段と、アクセスパス要求の受信に応答して、当該アクセスパス要求を契機に生じるサービス要求に対するサービス時間を代表するキューの登録先となる仮想キューを選択する手段と、経過時間およびエンドサーバにおけるサービス時間に基づいて各仮想キューからキューを破棄（デキュー）し、前記選択された仮想キューに前記サービス時間に応じたキューを追加（エンキュー）する手段と、前記選択された仮想キューのキュー値に基づいて、前記ユーザ端末のエンドサーバへのアクセスタイミングを決定する手段と、前記アクセスタイミングの決定結果をユーザ端末へ通知する手段とを含むことを特徴とする。
【００１７】
(2)仮想キューを選択する手段は、キュー長が最小の仮想キューを選択することを特徴とする。
【００１８】
(3)選択された仮想キューに登録されるキューの値がサービス要求に応じて可変であることを特徴とする。
【００１９】
(4)エンドサーバの同時接続セッション数を変更するイベントを検知する手段と、同時接続セッション数の増加に応答して仮想キューを追加し、同時接続セッション数の減少に応答して仮想キューを破棄する手段と、時刻Tで同時接続セッション数が追加されると、当該時刻Tの直前における既存の複数の仮想キューのなかで最小のキュー長に相当するキュー値を前記追加された仮想キューに登録する手段とを含むことを特徴とする。
【００２０】
(5)エンドサーバにおけるサービス時間を変更するイベントを検知する手段と、時刻Tでサービス時間が変更されると、時刻T以前に設定したアクセスタイミングが時刻T以降に設定したアクセスタイミングよりも遅くならないように、変更前後のサービス時間に基づいて、時刻Tにおける各仮想キューのキュー値を補正する手段とを含むことを特徴とする。
【発明の効果】
【００２１】
(1)アクセスパスサーバではエンドサーバごとに最大同時接続セッション数分の仮想キューを設定し、アクセスパス要求が受信されるごとに、サービス要求先のエンドサーバの仮想キューにサービス時間に応じた長さのキューを登録すると共に、各キューを各エンドサーバでのサービス処理時間に応じた割合で仮想的に順次消化させることで、各エンドサーバにおけるサービス要求の処理状態をアクセスパスサーバ上で模擬し、アクセスパス要求が受信されたときの各仮想キューのキュー長に基づいてサービス要求タイミングが算出されるので、エンドサーバの運用効率を同時接続セッション数の観点から最適化できるようになる。
【００２２】
(2)アクセスパス要求が受信されるごとに、キュー長の最も短い仮想キューが選択され、当該仮想キューにキューが登録されるので、より早くアクセスパス要求を送信したユーザ端末に対して、より早いサービス要求タイミングを割り当てられるようになる。
【００２３】
(3)選択された仮想キューに登録されるキューの値をサービス要求に応じて可変としたので、各サービス要求の処理に要するサービス時間の長短にかかわらず、より早くアクセスパス要求を送信したユーザ端末に対して、より早いサービス要求タイミングを割り当てられるようになる。
【００２４】
(4)エンドサーバの同時接続セッション数を変更するイベントが生じても、より早くアクセスパス要求を送信したユーザ端末に対して、より早いサービス要求タイミングを割り当てられるようになる。
【００２５】
(5)エンドサーバにおけるサービス時間を変更するイベントが生じても、より早くアクセスパス要求を送信したユーザ端末に対して、より早いサービス要求タイミングを割り当てられるようになる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明の最良の実施の形態について詳細に説明する。 図１は、本発明のリクエスト受付システムが適用されるネットワークの主要部の構成を示したブロック図であり、ここでは、ユーザ端末MNからエンドサーバES（サービス提供サーバ）へコンテンツ配信サービスを要求する場合を例にして説明する。
【００２７】
携帯電話、PDAあるいはコンピュータなどのユーザ端末MNは基地局APを経由して携帯電話網あるいはインターネット等の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が記憶されている。サービス時間記憶部１８には、各エンドサーバESjにおいてユーザが所望するサービスを提供するために必要な時間（セッション保留時間）がサービス時間Cjとして記憶されている。
【００３１】
仮想キュー設定部１９は、各エンドサーバESjにおけるサービス要求の処理状況をアクセスパスサーバAPS上で模擬するために設けられた本発明に特徴的な構成である。すなわち、各エンドサーバESjの最大同時接続セッション数Smax_jがn個であれば、エンドサーバESjにおけるサービス要求の処理状況は、図１１に一例を示したように、エンドサーバESjの入力段にn個のFIFOバッファ（FIFO-1，FIFO-2、…FIFO-n）を装備し、ユーザ端末NMから送信されたサービス要求がいずれかのFIFOバッファから取り込まれて順次に処理される構造で模擬できる。
【００３２】
そして、FIFOバッファにはサービス要求の処理に必要なセッション保持時間（サービス時間）に相当する量のデータ（キュー）を登録し、FIFOバッファの転送レートをエンドサーバESjのサービス時間の逆数1/Cjとすれば、各FIFOバッファにオーバーフローもアンダーフローを生じないようにサービス要求を割り振ることでエンドサーバESjの輻輳や効率低下を防止できる。
【００３３】
そこで、本発明では上記した各FIFOバッファを模した仮想キューVQをアクセスパスサーバAPSに設け、この仮想キューVQにオーバーフローもアンダーフローも生じないように、各アクセスパス要求に対してサービス要求タイミングを割り当てることで、上記の技術課題を解決している。
【００３４】
したがって、前記仮想キュー設定部１９には、エンドサーバESjごとに、その最大同時接続セッション数Smax_jと同一数の仮想キューVQk,j（kは仮想キュー識別子）が設定される。仮想キューVQk,jには、後に詳述するように、ユーザ端末MNから送信されたアクセスパス要求が受信されるごとに、当該アクセスパス要求を契機に生じるサービス要求をエンドサーバが処理するのに必要なサービス時間に応じたキューが登録（エンキュー）され、登録されたキューはサービス時間の逆数1/Cjに応じた割合で時間経過と共に順次に破棄（デキュー）される。これにより、本実施形態ではエンドサーバESjにおけるサービス要求の処理状況を、アクセスパスサーバAPS上で各仮想キューVQk,jのキュー長として模擬できるようになる。
【００３５】
このように、本実施形態において各仮想キューVQjに先入れ先出しの規則で登録・破棄されるキューは、受信されたアクセスパス要求ではなく、当該アクセスパス要求を契機に予約されるサービス要求の処理に必要なセッション保留時間（サービス時間）を表すダミーキューである。
【００３６】
アクセスパス要求受信部１０は、各ユーザ端末MNから送信されたアクセスパス要求をインターフェース（I/F）経由で受信する。要求分析部１１は、受信したアクセスパス要求を分析し、要求先のエンドサーバESjおよび要求されたサービスを識別する。仮想キュー選択部１２は、アクセスパス要求で指定されたアクセス先のエンドサーバESjと対応付けられた複数の仮想キューVQk,jの中からキュー長が最小の仮想キューVQkx,jを選択する。これ以後、キュー長が最小の仮想キューおよびそのキュー値の識別子kには添え字xを付するものとする。
【００３７】
仮想キュー更新部１３は、前記選択された仮想キューVQkx,jに、要求されたサービスのエンドサーバESjにおける処理時間（サービス時間）に応じた長さのキューをエンキューする追加部と共に、各エンドサーバESjの仮想キューVQk,jに登録済みのキューを、前記サービス時間Cjおよび経過時間に基づいて順次にデキューする破棄部を備えている。
【００３８】
アクセスタイミング決定部１４は、後に詳述するように、前記選択された仮想キューVQkx,jのキュー長VQkx,j[t]に基づいて、当該アクセスパス要求に応答するアクセスタイミングを決定する。本実施形態では、アクセスタイミングが現在時刻tからの待機時間として決定される。アクセスパス応答生成部１５は、エンドサーバESjへのアクセスタイミングを含むアクセスパス応答を生成する。アクセスパス応答返信部１６は、前記アクセスパス応答を前記アクセスパス要求の送信元ユーザ端末にI/F経由で返信する。
【００３９】
次いで、フローチャートを参照して本発明の動作を詳細に説明する。図３は、コンテンツ配信を要求するユーザ端末MNにおけるアクセスパス要求およびサービス要求の手順を示したフローチャート、図４は、アクセスパスサーバAPSにおけるアクセスパス応答の手順を示したフローチャートであり、図５はシーケンスフローである。なお、本実施形態における各符号の定義は以下の通りである。
【００４０】
i：アクセスパス要求の識別子
j：エンドサーバESの識別子
k：仮想キューVQの識別子
sti：アクセスパス要求iについてのサービス時間
ti,j：エンドサーバESjに対するi番目のアクセスパス要求時刻
di,j：エンドサーバESjに対するi番目のアクセスパス要求に対して割り当てられるアクセスタイミングまでの遅延時間
Cj：各エンドサーバ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からの経過時間Dtおよび当該エンドサーバESjにおけるサービス時間Cjに基づいて更新される。
【００４３】
すなわち、ステップＳ３３では、受信したアクセスパス要求に登録されている識別子jに対応したエンドサーバESjに関して、時刻ti-1で受信したアクセスパス要求を反映して更新された直後の各仮想キューVQk,jのキュー長[VQk,j(ti-1)＋]が前記仮想キュー設定部１９から取り込まれる。ステップＳ３４では、当該エンドサーバESjにおける標準的なサービス時間Cjが前記サービス時間記憶部１８から取り込まれる。ステップＳ３５では、今回のアクセスパス要求の受信時刻tiにおける各仮想キューVQk,jのキュー長[VQk,j(ti)−]が次式(2)で求められる。
【００４４】
VQk,j(ti)−＝VQk,j(ti-1)＋−(ti−ti-1)／Cj      …(2)
【００４５】
ステップＳ３６では、キュー長[VQk,j(ti)−]が最小の仮想キューVQkx,jが、今回のアクセスパス要求に関するキューの登録先として選択される。ステップＳ３７では、アクセスパス要求を送信したユーザ端末MNに通知するアクセスタイミングが、当該アクセスパス要求の受信時刻tiを基準にした遅延時間di,jとして次式(3)で求められる。
【００４６】
di,j＝VQkx,j(ti)−×Cj      …(3)
【００４７】
ステップＳ３８では、前記選択された仮想キューVQkx,jのキュー値[VQkx,j(ti)＋]が次式(4)に基づいて計算され、他の仮想キューVQk,jのキュー値[VQk,j(ti)＋]が次式(5)に基づいて計算される。ステップＳ３９では、前記計算結果に基づいて各仮想キューVQk,jのキュー値[VQk,j(ti)＋]が更新される。
【００４８】
VQkx,j(ti)＋＝VQkx,j(ti)−＋bi      …(4)
【００４９】
VQk,j(ti)＋＝VQk,j(ti)−            …(5)
【００５０】
ここで、重み値[bi]は要求されたサービスの提供に必要なサービス時間stiを代表するキュー値であり、要求されたサービスのサービス時間stiが、予めアクセスパスサーバAPSに登録されている標準的なサービス時間Cjと同等であればbi＝１とされ、サービス時間stiがCjよりも長ければbi＞１とされ、サービス時間stiがCjよりも短ければbi＜１とされる。
【００５１】
ステップＳ４０では、前記アクセスタイミングとしての遅延時間di,jを含むアクセスパス応答が前記アクセスパス応答生成部１５で生成され、ステップＳ４１において、前記アクセスパス応答返信部１６から前記アクセスパス要求の送信端末宛に返信される。
【００５２】
図３へ戻り、ユーザ端末MNでは、前記アクセスパス応答をステップＳ１４で受信すると、ステップＳ１５では、このアクセスパス応答に登録されている遅延時間di,jが抽出される。ステップＳ１６では、抽出された遅延時間di,jが所定の上限値dmaxと比較され、遅延時間di,j＞dmaxであればステップＳ１７へ進み、サービスを提供できない旨のエラーメッセージを端末ディスプレーに表示して当該処理を中止する。これに対して、遅延時間di,j≦dmaxであればステップＳ１８へ進み、図６(a)，(b)に一例を示したように、リクエストが先着順に処理されている旨を示す受付完了メッセージが端末ディスプレーに表示される。
【００５３】
ステップＳ１９では、配信を要求するコンテンツの識別子およびエンドサーバの識別子を含むサービス要求が生成される。ステップＳ２０では、前記ステップＳ１３においてアクセスパス要求を送信してからの経過時間が前記遅延時間di,jに達したか否かに基づいてアクセスタイミングであるか否かが判定され、アクセスタイミングを待ってステップＳ２１へ進む。ステップＳ２１では、前記ステップＳ１９で生成されたサービス要求が前記エンドサーバESjを宛先として送信される。このようなユーザ端末MNにおけるアクセスタイミングまでの待機処理は、Java(登録商標)script，Flashなどの各種スクリプト言語を利用することで実装できる。
【００５４】
このサービス要求を受信したエンドサーバESjは、要求されているコンテンツを用意して前記ユーザ端末MNへ配信する。ユーザ端末MNは、前記コンテンツをステップＳ２２で受信すると、ステップＳ２３へ進んで当該コンテンツを保存する。ステップＳ２４では、図７に一例を示したダウンロード完了メッセージが端末ディスプレーに表示される。
【００５５】
本実施形態によれば、アクセスパス要求が受信されるごとに、キュー長の最も短い仮想キューが選択され、当該仮想キューにキューが登録されるので、より早くアクセスパス要求を送信したユーザ端末に対して、より早いサービス要求タイミングを割り当てられるようになる。
【００５６】
また、本実施形態によれば、アクセスパスサーバAPSではエンドサーバごとに最大同時接続セッション数分の仮想キューを設定し、アクセスパス要求が受信されるごとに、サービス要求先のエンドサーバの仮想キューにサービス時間に応じた長さのキューを登録すると共に、各キューを各エンドサーバでのサービス処理量に応じた割合で仮想的に順次消化させる。これにより、各エンドサーバにおけるサービスの処理状況をアクセスパスサーバAPS上で模擬することができ、アクセスパス要求が受信されたときの各仮想キューのキュー長に基づいてサービス要求タイミングを算出できるので、エンドサーバの運用効率を同時接続セッション数の観点から最適化できるようになる。
[最大同時接続セッション数の変更]
【００５７】
次いで、前回のアクセスパス要求を受け付けた時刻ti-1と次回のアクセスパス要求を受け付ける時刻tiとの間の時刻Tにおいて、最大同時接続セッション数Smaxを変更するイベントが発生した場合でも、先にアクセスパス要求を送信したユーザよりも後にアクセスパス要求を送信したユーザのアクセスタイミングが先になる逆転現象を防止して公平性を担保する技術について、図８のフローチャートに沿って説明する。
【００５８】
時刻Tで最大同時接続セッション数Smaxを変更するイベントが発生し、これがステップＳ５０で検知されると、ステップＳ５１では、対象となるエンドサーバESjの全ての仮想キューVQk,jに関して、現在時刻Tにおけるキュー値VQk,j(T)が次式(6)に基づいて算出される。
【００５９】
VQk,j(T)＝VQk,j(ti-1)＋−（T−ti-1）／Cj      …(6)
【００６０】
ステップＳ５２では、変更前後の最大同時接続セッション数Smax1，Smax2に基づいて、変更が最大同時接続セッション数Smaxの増加および削減のいずれであるかが判定される。削減（Smax1＞Smax2）であればステップＳ５３へ進み、エンドサーバESjごとにキュー長の小さい順にSmax2個の仮想キューVQが存続仮想キューVQとして選択される。ステップＳ５４では、存続仮想キューVQ以外の仮想キューVQが全て破棄される。
【００６１】
図９は、変更イベントが最大同時接続セッション数Smaxを５つから３つに減じる削減要求であった場合の処理を模式的に表現した図であり、既存の５つの仮想キューVQ1,j〜VQ5,jのうち、キュー長の小さい上位３つの仮想キューVQ2,j，VQ4,j，VQ5,jを残して残りの２つの仮想キューVQ1,j，VQ3,jが破棄されている。
【００６２】
これに対して、変更が最大同時接続セッション数Smaxの増加であればステップＳ５５へ進み、差分に相当する個数の仮想キューVQが追加される。ステップＳ５６では、既存の仮想キューVQを対象にキュー長の最小値VQkx,j(T)が判別される。ステップＳ５７では、前記追加された全ての仮想キューVQに前記キュー長の最小値VQkx,j(T)が登録される。
【００６３】
図１０は、変更イベントが最大同時接続セッション数Smaxを３つから５つに増やす場合の動作を模式的に表現した図であり、既存の３つの仮想キューVQ1,j〜VQ3,jに２つの仮想キューVQ4,j，VQ5,jが追加され、既存の３つの仮想キューVQ1,j〜VQ3,jの中でキュー長の最小値「２」が、追加された仮想キュー２つの仮想キューVQ4,j，VQ5,jに登録される。
[サービス時間の変更]
【００６４】
次いで、エンドサーバESjにおけるサービス時間Cjを変更するイベントが発生した場合でも、先にアクセスパス要求を送信したユーザよりも後にアクセスパス要求を送信したユーザのアクセスタイミングが先になる逆転現象を防止して公平性を担保する技術について説明する。
【００６５】
エンドサーバESjにおけるサービス時間Cjを変更するイベントの発生時刻をTとし、当該時刻Tを境にサービス時間がCj1からCj2に変更される場合を考える。イベント発生時刻Tよりも前の時刻ti-1でアクセスパス要求を受け付けられたユーザ端末NMの待機時間di-1,jは、その時点（時刻ti-1）でのキュー値の最小値をVQkx1,j(ti-1)−とすれば次式(7)で表される。
【００６６】
di-1,j＝VQkx1,j(ti-1)−×Cj1      …(7)
【００６７】
一方、イベント発生時刻Tよりも後の時刻tiでアクセスパス要求を受け付けられたユーザ端末MNの待機時間di,jは、その時点（時刻ti）でのキュー値の最小値をVQkx2,j(ti)−とすれば次式(8)で表される。但し、時刻tiでキュー値が最小値を示す仮想キューは時刻Tでも最小値を示す。
【００６８】
di,j＝VQkx2,j(ti)−×Cj2＝VQk1,j(T)＋−（ti−T）／Cj2      …(8)
【００６９】
ここで、先にアクセスパス要求を送信したユーザ端末MNよりも後にアクセスパス要求を送信したユーザ端末MNのアクセスタイミングが先になる逆転現象を防止するためには、次式(9)の条件が成立すれば良い。
【００７０】
ti-1＋di-1,j≦ti＋di,j      …(9)  
【００７１】
上式(9)に上式(7)，(8)を代入すると次式(10)が得られる。したがって、時刻Tにおいてサービス時間Cjを変更するイベントが発生した場合でも、その時点での最小キュー値が次式(11)を満足していれば、最短の遅延時間でサービス要求の順序逆転を防止できる。
【００７２】
VQkx2,j(T)＋≧(Cj1／Cj2)・VQkx1,j(T)−−(Cj1／Cj2)・bi-1      …(10)
【００７３】
VQkx2,j(T)＋＝(Cj1／Cj2)・VQkx1,j(T)−−(Cj1／Cj2)・bi-1      …(11)
【００７４】
ただし、上式ではVQkx,j(T)−およびbi-1 を記憶しておく必要がある。一方、次式(12)，(13)が成立することを利用すれば、VQkx,j(T)＋を次式(14)のように設定しても上式(10)が満足されることが判る。
【００７５】
VQkx2,j(T)−≧VQkx1,j(T)−                                    …(12) 
【００７６】
(Cj1／Cj2)・bi-1＞０                      …(13)
【００７７】
VQkx2,j(T)＋＝（Cj1／Cj2)・VQkx2,j(T)−      …(14)
【００７８】
したがって、時刻Tを境にサービス時間がCj1からCj2に変更される場合には、時刻Tにおける全ての仮想キューVQk,jをCj1／Cj2倍に更新し、時刻tiでは更新後のキュー値を対象に最小キュー値を選択すれば良いことが判る。
【図面の簡単な説明】
【００７９】
【図１】本発明のリクエスト受付システムが適用されるネットワークのブロック図である。
【図２】アクセスパスサーバの主要部の構成を示した機能ブロック図である。
【図３】ユーザ端末による要求手順を示したフローチャートである。
【図４】アクセスパスサーバにおける応答の手順を示したフローチャートである。
【図５】ユーザ端末、アクセスパスサーバおよびエンドサーバ間のシーケンスフローである。
【図６】受付完了メッセージの一例を示した図である。
【図７】ダウンロード完了メッセージの一例を示した図である。
【図８】最大同時接続セッション数の変更手順を示したフローチャートである。
【図９】最大同時接続セッション数を５つから３つに減じる処理を模式的に表現した図である。
【図１０】最大同時接続セッション数を３つから５つに増やす処理を模式的に表現した図である。
【図１１】仮想キュー設定部の機能を模式的に示した図である。
【図１２】従来技術の課題を説明するための図（その１）である。
【図１３】従来技術の課題を説明するための図（その２）である。
【符号の説明】
【００８０】
１０…アクセスパス要求受信部，１１…要求分析部，１２…仮想キュー選択部，１３…仮想キュー更新部，１４…アクセスタイミング決定部，１５…アクセスパス応答生成部，１６…アクセスパス応答返信部，１７…同時接続セッション数記憶部，１８…サービス時間記憶部，１９…仮想キュー設定部
【図１】
0005006267.tif 000002
【図２】
0005006267.tif 000003
【図３】
0005006267.tif 000004
【図４】
0005006267.tif 000005
【図５】
0005006267.tif 000006
【図６】
0005006267.tif 000007
【図７】
0005006267.tif 000008
【図８】
0005006267.tif 000009
【図９】
0005006267.tif 000010
【図１０】
0005006267.tif 000011
【図１１】
0005006267.tif 000012
【図１２】
0005006267.tif 000013
【図１３】
0005006267.tif 000014