"ユーザ端末からエンドサーバへのサービス要求を受け付け、対応するエンドサーバの状態に基づいて前記サービス要求を処理するリクエスト受付サーバにおいて、各エンドサーバの動作を模擬する動作模擬部と、サービス要求の識別情報と当該サービス要求に対応するエンドサーバ群との関係を管理する対応テーブルと、受信したサービス要求の識別情報に対応したエンドサーバ群を前記対応テーブルに基づいて識別する対応エンドサーバ群識別手段と、前記識別されたエンドサーバ群の各エンドサーバが前記サービス要求に応答するまでの待ち時間を各エンドサーバの模擬動作に基づいて算出する待ち時間算出手段と、前記各エンドサーバの待ち時間に基づいて、前記受信したサービス要求を処理するサービス要求処理手段とを具備し、前記サービス要求処理手段が、待ち時間が所定の閾値未満のエンドサーバが存在するときに、前記受信したサービス要求を当該エンドサーバへ転送する負荷均等部と、待ち時間が所定の閾値未満のエンドサーバが存在しないときに、前記エンドサーバへの前記待ち時間後のアクセスを許可するアクセスパスを前記ユーザ端末へ送信する負荷分散部とを含むことを特徴とするリクエスト受付サーバ。前記負荷均等部は、待ち時間が最短のエンドサーバへ前記受信したサービス要求を転送することを特徴とする請求項1に記載のリクエスト受付サーバ。前記負荷分散部は、待ち時間が最短のエンドサーバへのアクセスを許可するアクセスパスを送信することを特徴とする請求項1に記載のリクエスト受付サーバ。前記各エンドサーバの死活を監視し、監視結果に基づいて前記対応テーブルを更新する対応テーブル更新手段をさらに具備したことを特徴とする請求項1ないし3のいずれかに記載のリクエスト受付サーバ。ユーザ端末からエンドサーバへのサービス要求を受け付け、対応するエンドサーバの状態に基づいて前記サービス要求を処理するリクエスト受付プログラムにおいて、各エンドサーバの動作を模擬する手順と、サービス要求の識別情報と当該サービス要求に対応するエンドサーバ群との関係を対応テーブルで管理する手順と、受信したサービス要求の識別情報に対応したエンドサーバ群を前記対応テーブルに基づいて識別する手順と、前記識別されたエンドサーバ群の各エンドサーバが前記サービス要求に応答するまでの待ち時間を各エンドサーバの模擬動作に基づいて算出する手順と、前記各エンドサーバの待ち時間に基づいて、前記受信したサービス要求を処理する手順とをコンピュータに実行させ、前記サービス要求を処理する手順が、待ち時間が所定の閾値未満のエンドサーバが存在するときに、前記受信したサービス要求を当該エンドサーバへ転送する負荷均等処理と、待ち時間が所定の閾値未満のエンドサーバが存在しないときに、前記エンドサーバへの前記待ち時間後のアクセスを許可するアクセスパスを前記ユーザ端末へ送信する負荷分散処理とを含むことを特徴とするリクエスト受付プログラム。従来のAPSを用いたアクセス制御は、個々のエンドサーバが異なるサービスを提供することを想定しているため、ユーザからのサービス要求は常に特定の1台のエンドサーバ宛であり、実際にサービス要求を処理できるエンドサーバも1台である。したがって、従来のAPSは、ユーザからのサービス要求を処理するエンドサーバのエミュレータを参照し、エンドサーバにアクセスできるまでの待機時間をユーザに通知する処理を行っていた。これに対して、従来のロードバランサを用いたWebシステムでは、ユーザからのサービス要求に対処できるエンドサーバが複数台存在し、しかもエンドサーバの能力や負荷状態に差がある場合がほとんどなので、従来のAPSとロードバランサとを単純に組み合わることはできなかった。本発明の目的は、上記した従来技術を解決し、同一のサービス要求に対して同一のサービスを提供可能な複数のエンドサーバに対して、アクセス制御による負荷分散およびロードバランサによる負荷均等を同時に適用できるリクエスト受付サーバおよびリクエスト受付プログラムを提供することにある。上記の目的を達成するために、本発明は、ユーザ端末からエンドサーバへのサービス要求を受け付け、対応するエンドサーバの状態に基づいて前記サービス要求を処理するリクエスト受付サーバにおいて、各エンドサーバの動作を模擬する動作模擬部と、サービス要求の識別情報とエンドサーバ群との関係を管理する対応テーブルと、受信したサービス要求の識別情報に対応したエンドサーバ群を前記対応テーブルに基づいて識別する対応エンドサーバ群識別手段と、識別されたエンドサーバ群の各エンドサーバがサービス要求に応答するまでの待ち時間を各エンドサーバの模擬動作に基づいて算出する待ち時間算出手段と、各エンドサーバの待ち時間に基づいて、前記受信したサービス要求を処理するサービス要求処理手段とを具備した。また、前記サービス要求処理手段が、待ち時間が所定の閾値未満のエンドサーバが存在するときに、前記受信したサービス要求を当該エンドサーバへ転送する負荷均等部と、待ち時間が所定の閾値未満のエンドサーバが存在しないときに、前記エンドサーバへの前記待ち時間後のアクセスを許可するアクセスパスを前記ユーザ端末へ送信する負荷分散部とを含むようにした。本発明によれば、一部のエンドサーバへのサービス要求が集中して輻輳が生じそうになると、複数のエンドサーバ間での負荷均等と、各エンドサーバの時間的な負荷分散とが併用されるので、従来の負荷均等あるいは負荷分散だけでは対処しきれなかった過度のアクセス集中にも対処できるようになる。以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明のリクエスト受付サーバAPSを採用したサービス提供システムのネットワーク構成を示したブロック図であり、ここでは、ユーザ端末MNからエンドサーバESサービス提供サーバへコンテンツ配信のサービスを要求する場合を例にして説明する。携帯電話、PDAあるいはコンピュータなどのユーザ端末MNは、ネットワーク経由でリクエスト受付サーバAPSおよび複数のエンドサーバ群に接続される。各エンドサーバ群は、ユーザ端末MNからのサービス要求に応答して、音楽や映像などのコンテンツを配信する複数のエンドサーバESにより構成される。本実施形態では、同一のサービス要求に対して同一のコンテンツを配信できる複数のエンドサーバESが一つのエンドサーバ群を構成し、このようなエンドサーバ群が、提供可能なサービスごとに設けられている。同一のエンドサーバ群に所属するエンドサーバES同士は、リクエスト受付サーバAPSのロードバランサにより負荷均等される。また、前記リクエスト受付サーバAPSはアクセス制御機能を備え、一のエンドサーバ群へのサービス要求が集中し、その全てのエンドサーバESが過負荷状態に陥ると、当該エンドサーバ群の各エンドサーバESが新たなサービス要求に応答できるようになるまでの待ち時間Twを算出し、この待ち時間Twの記述されたアクセスパスを、前記サービス要求を送信したユーザ端末へ返信することでサーバ負荷を時間軸方向に分散させる。図2は、前記リクエスト受付サーバAPSの主要部の構成を示した機能ブロック図である。サービス要求受付部101は、ユーザ端末MNから送信されたエンドサーバ宛のサービス要求を受け付ける。動作模擬部102は、後に詳述するように、各エンドサーバESの動作をエミュレータで模擬する。対応テーブル103には、サービス要求の識別情報と当該サービス要求に対応するエンドサーバ群との関係が予め登録されている。対応テーブル更新手段107は、各エンドサーバESの死活を定期的に監視し、新たに停止されたエンドサーバESのエントリを前記対応テーブル103から削除する一方、新たに起動されたエンドサーバESのエントリを前記対応テーブル103へ追加する。対応エンドサーバ群識別部104は、受信したサービス要求の識別情報に対応したエンドサーバ群を前記対応テーブル103に基づいて識別する。待ち時間算出部105は、前記識別されたエンドサーバ群の各エンドサーバESが前記サービス要求に応答できるまでの待ち時間Twを、前記各エンドサーバの模擬動作に基づいて算出する。前記待ち時間Twの具体的な算出方法については後述する。サービス要求処理部106は、負荷均等部106aおよび負荷分散部106bを備え、前記各エンドサーバESの待ち時間Twに基づいて、前記受信したサービス要求を処理する。すなわち、前記負荷均等部106aは、待ち時間Twが所定の閾値Tref未満のエンドサーバESが存在すると判定されたときに、当該待ち時間Twが所定の閾値Tref未満のエンドサーバESへ、前記受信したサービス要求を前記エンドサーバESへ通知する。負荷分散部106bは、待ち時間Twが所定の閾値Tref未満のエンドサーバが存在しないと判定されたときに、前記待ち時間後のアクセスを許可するアクセスパスを生成して前記ユーザ端末MNへ送信する。次いで、フローチャートを参照して本発明の一実施形態の動作を説明する。図3は、前記リクエスト受付サーバAPSの動作を示したフローチャートであり、ステップS1において、ユーザ端末から送信されたサービスサービス要求が前記サービス要求受付部101で受信されると、ステップS2では、当該サービス要求の宛先アドレスに基づいて、サービス要求先のエンドサーバ群が、前記対応エンドサーバ群識別部104により識別される。ステップS3では、前記識別されたエンドサーバ群の各エンドサーバESを模擬するエミュレータが参照され、キュー値の最も少ないエンドサーバESminが、今回のサービス提供サーバとして選択される。ステップS4では、前記選択されたエンドサーバESminの待ち時間Twが、前記待ち時間出部105により算出される。ステップS5では、前記待ち時間Twの算出結果に基づいて、当該選択されたエンドサーバESminが輻輳状態にあるか否かが判定される。待ち時間Twが閾値Trefを超えていれば、輻輳中と判定されてステップS6へ進む。ステップS6では、サービス要求処理部106の負荷分散部106bにおいて、前記待ち時間Twおよび前記エンドササーバESminの宛先アドレスの記述されたアクセスパスが生成される。ステップS8では、前記アクセスパスが前記サービス要求の送信元へ送信される。これに対して、前記ステップS5において、待ち時間Twが閾値Trefを下回っていれば、輻輳していないと判定されてステップS7へ進む。ステップS7では、前記ユーザ端末から受信したサービス要求が前記選択されたエンドサーバESminへ転送される。当該エンドサーバESminは、転送されたサービス要求に即応してサービスを提供する。次いで、前記動作模擬部102におけるエミュレータの構築方法および当該エミュレータを利用した待機時間Twの算出方法について説明する。図5は、リクエスト受付サーバAPSに実装される動作模擬部102の構成を示した機能ブロック図であり、エンドサーバESi毎に設けられたエミュレータ102aと、各エンドサーバESiの動作を模擬するために必要なパラメータが予め記憶されたパラメータ記憶部102bと、サービス要求がエンドサーバESiへ転送される毎にエミュレータ102aを更新する更新部102cとを主要な構成としている。前記パラメータ記憶部102bには、各エンドサーバESiの最大同時接続数Smaxやサービス時間サービス提供に要する時間が記憶されており、エンドサーバESiの最大同時接続数がSmaxiであれば、当該エンドサーバESiについてSmaxi個の仮想FIFOキューFQikがエミュレータ102aに用意され、そのうち、現時点での同時接続数Si分の仮想FIFOキューFQi1~FQiSiにのみキューが蓄積される。各仮想FIFOキューFQi1~FQiSiに蓄積されるキュー値キュー長は、予め登録されている各エンドサーバESiのサービス時間に基づいて決定される。なお、サービス時間は前記キュー長のみならずエンドサーバの処理能力処理速度にも依存するので、エンドサーバ群の各エンドサーバESの処理能力が異なる場合には、サービス時間がエンドサーバESごとに異なることもある。ここでは、時刻tでエンドサーバESiへサービス要求を転送した直前および直後の各仮想FIFOキューFQikのキュー値を、それぞれFQik-,FQikと表現する。また、エンドサーバESiが一つのサービス要求を処理するのに要するサービス時間は、平均サービス時間diであるものとする。エンドサーバESiに関する全ての仮想FIFOキューFQikのキュー値FQikは、時刻tnでエンドサーバESiへサービス要求が転送される毎に、前記更新部102cにより次式に基づいて更新される。FQik-=FQik-/di...次に、全ての仮想FIFOキューFQikから、そのキュー値FQik-が最小のものが、次式に基づいて選択される。K=argmink-...上式により選択されたKで識別される仮想FIFOキューFQiKのキュー値FQiK-に基づいて、前記待ち時間出部105により、次式から待ち時間Tiwが算出される。Tiw=FQik-×di...上記の待ち時間Tiwを算出した後、前記更新部102cにより、各仮想FIFOキューのキュー値が次式、に基づいて更新される。FQik=FQik-bn、ifkK...FQik=FQik-otherwise...前記bnは、要求されたサービスまたはコンテンツをユーザへ提供するために必要なサービス時間に応じて設定され重み値である。例えば、要求されたサービスの提供に要するサービス時間が平均サービス時間diと同等と推定されればbn=1とされ、平均サービス時間diよりも長くなると予測されればbn>1とされ、平均サービス時間diよりも短くなると予測されればbn<1とされる。動作模擬部102は、エンドサーバESiへサービス要求が転送されるごとに上記の各処理を繰り返すことで、エンドサーバESiにおけるサービス要求の処理状況を仮想的に模擬でき、かつエンドサーバESiにおける同時接続セッション数が所望の数以下となるように、前記待機時間Tiwを各ユーザ端末に通知することが可能になる。なお、上記の本実施形態による機能は、ハードウェアにより実行させることもできるが、外部からインストールされたプログラムを実行可能なコンピュータによっても実現できる。その場合、プログラムおよびデータは、光学ディスク、フラッシュメモリ、あるいはネットワークを介して接続された外部記憶装置からコンピュータに対して供給される。プログラムは、上記の実施形態の機能を達成するプログラムコードとして記述され、コンピュータは、プログラムコードを順次に処理することで本実施形態の機能を実現できる。"