(57)【特許請求の範囲】
【請求項１】
サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、並びにサービスの提供を待つユーザのユーザ数及び順位を含む待機情報を記憶する記憶部を備えるサーバの制御方法であって、
ユーザの端末からのサービス提供要求に応じて、前記最大同時提供数以下のユーザの端末にサービスを提供する提供ステップと、
サービスを提供中のユーザ数が前記最大同時提供数以上であり、且つ当該サービスを提供していない端末からサービス提供要求を受信した場合、当該端末のユーザのユーザ情報を前記待機情報に追加する追加ステップと、
前記待機情報に含まれるユーザ数に応じて前記最大同時提供数を増加または減少させる増減ステップと、
を有することを特徴とするサーバの制御方法。
【請求項２】
サービスを提供中のユーザ数が前記最大同時提供数未満になった場合、前記待機情報に含まれる前記順位が小さいユーザのユーザ情報を当該待機情報から削除して、当該ユーザの端末にサービスを提供する削除ステップをさらに有する、請求項１に記載のサーバの制御方法。
【請求項３】
前記削除ステップでは、前記待機情報から削除されたユーザの端末から予め定められた期間内に受信されたサービス提供要求に応じて、当該ユーザの端末にサービスを提供する、請求項２に記載のサーバの制御方法。
【請求項４】
前記記憶部は、前記待機情報に含まれるユーザ数の下限閾値をさらに記憶し、
前記増減ステップでは、前記待機情報に含まれるユーザ数が前記下限閾値未満になった場合、前記最大同時提供数を減少させる、請求項１〜３のいずれか一項に記載のサーバの制御方法。
【請求項５】
前記記憶部は、前記待機情報に含まれるユーザ数の上限閾値をさらに記憶し、
前記増減ステップでは、前記待機情報に含まれるユーザ数と前記上限閾値との差分に応じて前記最大同時提供数を増加させる、請求項１〜４のいずれか一項に記載のサーバの制御方法。
【請求項６】
前記記憶部は、サーバの余剰提供能力を示す空き同時提供数をさらに記憶し、
前記増減ステップでは、前記空き同時提供数以下の範囲内で前記最大同時提供数を増加させる、請求項１〜５のいずれか一項に記載のサーバの制御方法。
【請求項７】
前記増減ステップでは、前記最大同時提供数の減少数に応じて前記空き同時提供数を増加させる、請求項６に記載のサーバの制御方法。
【請求項８】
前記提供ステップでは、特定のゲーム媒体を取得したユーザの端末からのサービス提供要求に対しては、サービスを提供中のユーザ数に拘わりなく当該サービスを提供する、請求項１〜７のいずれか一項に記載のサーバの制御方法。
【請求項９】
サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、並びにサービスの提供を待つユーザのユーザ数及び順位を含む待機情報を記憶する記憶部を備えるサーバの制御プログラムであって、
ユーザの端末からのサービス提供要求に応じて当該端末にサービスを提供する機能と、
サービスを提供中のユーザ数が前記最大同時提供数以上であり、且つ当該サービスを提供していない端末からサービス提供要求を受信した場合、当該端末のユーザのユーザ情報を前記待機情報に追加する機能と、
前記待機情報に含まれるユーザ数に応じて前記最大同時提供数を増加または減少させる機能と、
を実現させることを特徴とするサーバの制御プログラム。
【請求項１０】
サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、並びにサービスの提供を待つユーザのユーザ数及び順位を含む待機情報を記憶する記憶部と、
ユーザの端末からのサービス提供要求に応じて当該端末にサービスを提供するサービス提供部と、
サービスを提供中のユーザ数が前記最大同時提供数以上であり、且つ当該サービスを提供していない端末からサービス提供要求を受信した場合、当該端末のユーザのユーザ情報を前記待機情報に追加する待機情報管理部と、
前記待機情報に含まれるユーザ数に応じて前記最大同時提供数を増加または減少させる最大数設定部と、
を有することを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、その制御方法、及びその制御プログラムに関する。
【背景技術】
【０００２】
サービスを提供するサーバにアクセスしようとするユーザが多数いる場合、アクセス数が人数制限を超えるため、すべてのユーザがサービスを受けられるとは限らない。この場合、ユーザの端末はサーバに接続できないか、単に後ほど接続し直すことを要求するメッセージがユーザの端末に表示されるだけである。したがって、ユーザは、所望のサービスを受けられるまで繰り返しサーバにアクセスして、サービスを受ける順番を待たなければならない。
【０００３】
このような、通信ネットワークを介して提供されるサービスの順番待ちに関して、例えば特許文献１には、ユーザにサービスを提供するサービスサーバがユーザのウェイティングルームを具備し、ウェイティングルームはユーザにサービスを受ける順番待ちの状況を表示するサービス提供システムが開示されている。また、特許文献２には、クライアント端末からの要求の受付件数がホストコンピュータの最大処理件数を超えた場合、その要求を待ちの状態に登録し、予め登録されている輻輳件数に応じた受付処理時間から計算される待ち時間をクライアント端末に対して通知する要求処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２７９１１４号公報
【特許文献２】特開２００３−３０３１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
サービスを提供するサーバの最大処理件数を制限すれば、サーバにアクセスが集中して急激な通信トラフィックが発生した場合でも、サーバのフリーズを防ぐことができる。しかしながら、最大処理件数を制限し過ぎると、サービスの提供を待つユーザの待機列が長くなったときに、ユーザはサービスの提供を受けることを断念してしまう。一方、サービスの提供を待つユーザの待機列ができていると、そのサービスは価値が高くなる傾向がある。例えば、そのサービスがゲーム内でアイテムを提供するショップである場合には、そのショップに並ぶユーザの長い待機列ができていると、そこで取得可能なアイテムには、元々ある強さ等のパラメータとは違った、希少価値という新たな特徴が与えられる。このため、同時にサービスの提供が可能な最大ユーザ数をサーバにて変化させることにより、サービスの提供を待つユーザの待機列を作りつつ、その待機列が長くなり過ぎないように制御することが好ましい。
【０００６】
そこで、本発明は、サーバからのサービスの提供を待つユーザ数を一定範囲内に制御可能なサーバ、その制御方法、及びその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るサーバの制御方法は、サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、サービスの提供を待つユーザのユーザ数及び順位を含む待機情報、並びに待機情報に含まれるユーザ数の上限閾値を記憶する記憶部を備えるサーバの制御方法であって、ユーザの端末からのサービス提供要求に応じて、最大同時提供数以下のユーザの端末にサービスを提供する提供ステップと、サービスを提供中のユーザ数が最大同時提供数以上であり、且つサービスを提供していない端末からサービス提供要求を受信した場合、端末のユーザのユーザ情報を待機情報に追加する追加ステップと、待機情報に含まれるユーザ数が上限閾値を超えた場合、最大同時提供数を増加させる増加ステップとを有することを特徴とする。
【０００８】
本発明に係るサーバの制御方法では、サービスを提供中のユーザ数が最大同時提供数未満になった場合、待機情報に含まれる順位が小さいユーザのユーザ情報を待機情報から削除して、ユーザの端末にサービスを提供する削除ステップをさらに有することが好ましい。
【０００９】
本発明に係るサーバの制御方法の削除ステップでは、待機情報から削除されたユーザの端末から予め定められた期間内に受信されたサービス提供要求に応じて、ユーザの端末にサービスを提供することが好ましい。
【００１０】
本発明に係るサーバの制御方法では、記憶部は、待機情報に含まれるユーザ数の下限閾値をさらに記憶し、待機情報に含まれるユーザ数が下限閾値未満になった場合、最大同時提供数を減少させる減少ステップをさらに有することが好ましい。
【００１１】
本発明に係るサーバの制御方法の増加ステップでは、待機情報に含まれるユーザ数と上限閾値との差分に応じて最大同時提供数を増加させることが好ましい。
【００１２】
本発明に係るサーバの制御方法では、記憶部は、サーバの余剰提供能力を示す空き同時提供数をさらに記憶し、増加ステップでは、空き同時提供数以下の範囲内で最大同時提供数を増加させることが好ましい。
【００１３】
本発明に係るサーバの制御方法では、記憶部は、サーバの余剰提供能力を示す空き同時提供数をさらに記憶し、増加ステップでは、空き同時提供数以下の範囲内で最大同時提供数を増加させ、減少ステップでは、最大同時提供数の減少数に応じて空き同時提供数を増加させることが好ましい。
【００１４】
本発明に係るサーバの制御方法の提供ステップでは、特定のゲーム媒体を取得したユーザの端末からのサービス提供要求に対しては、サービスを提供中のユーザ数に拘わりなくサービスを提供することが好ましい。
【００１５】
また、本発明に係るサーバの制御プログラムは、サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、サービスの提供を待つユーザのユーザ数及び順位を含む待機情報、並びに待機情報に含まれるユーザ数の上限閾値を記憶する記憶部を備えるサーバの制御プログラムであって、ユーザの端末からのサービス提供要求に応じて端末にサービスを提供する機能と、サービスを提供中のユーザ数が最大同時提供数以上であり、且つサービスを提供していない端末からサービス提供要求を受信した場合、端末のユーザのユーザ情報を待機情報に追加する機能と、待機情報に含まれるユーザ数が上限閾値を超えた場合、最大同時提供数を増加させる機能とを実現させることを特徴とする。
【００１６】
また、本発明に係るサーバは、サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、サービスの提供を待つユーザのユーザ数及び順位を含む待機情報、並びに待機情報に含まれるユーザ数の上限閾値を記憶する記憶部と、ユーザの端末からのサービス提供要求に応じて端末にサービスを提供するサービス提供部と、サービスを提供中のユーザ数が最大同時提供数以上であり、且つサービスを提供していない端末からサービス提供要求を受信した場合、端末のユーザのユーザ情報を待機情報に追加する待機情報管理部と、待機情報に含まれるユーザ数が上限閾値を超えた場合、最大同時提供数を増加させる最大数設定部とを有することを特徴とする。
【発明の効果】
【００１７】
本発明に係るサーバ、その制御方法、及びその制御プログラムによれば、サーバからのサービスの提供を待つユーザ数を一定範囲内に制御することができる。
【図面の簡単な説明】
【００１８】
【図１】ゲームシステム１の概略構成の一例を示す図である。
【図２】携帯端末２の概略構成の一例を示す図である。
【図３】表示部２４に表示される画面の一例を示す図である。
【図４】表示部２４に表示される画面の一例を示す図である。
【図５】サーバ３の概略構成の一例を示す図である。
【図６】サーバ記憶部３２に記憶される各種テーブルのデータ構造の一例を示す図である。
【図７】ゲーム進行部２５１の動作フローの一例を示す図である。
【図８】入退場処理部２５２による入退場処理の動作フローの一例を示す図である。
【図９】順番待ち処理部２５４による順番待ち処理の動作フローの一例を示す図である。
【図１０】サーバ制御部３３１の動作フローの一例を示す図である。
【図１１】入場制御部３３２による入場制御の動作フローの一例を示す図である。
【図１２】退場制御部３３３による退場制御の動作フローの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明に係るサーバ、その制御方法、及びその制御プログラムについて説明する。ただし、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００２０】
このサーバは、その処理能力の範囲内で、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数を敢えて限定し、ユーザの端末からのサービス提供要求に応じて、最大同時提供数以下のユーザの端末にサービスを提供する。サービスを提供中のユーザ数が最大同時提供数に達したときにさらにサービス提供要求を受信した場合には、このサーバは、その端末のユーザのユーザ情報を待機情報（例えば、待機列）に追加して、そのユーザに順番待ちをさせる。そして、サービスの提供を待つユーザの端末には、待機情報に含まれるユーザ数を表示させて、このサーバが提供するサービスに待機列ができていることを表現する。
【００２１】
また、このサーバは、待機情報に含まれるユーザ数が上限閾値を超えた場合には、最大同時提供数を増加させて、サービスの提供を待つユーザ数が一定数以上にならないようにする。例えば、待機列が長過ぎてユーザがサービスの提供を受けることを断念してしまいそうな場合には、最大同時提供数を増加させて、順番待ちをしているユーザ数を減少させる。このように、このサーバでは、最大同時提供数を変化させることにより、提供するサービスに対するユーザの待機列の長さを一定範囲内に制御することを図る。
【００２２】
以下では、上記のサーバが複数のユーザにゲームを提供するサーバであり、上記のサービスがそのゲーム内で提供されるサービスである場合を一例として説明する。特に、このサービスが、ゲーム内でユーザがアイテムを取得可能なショップか、又はゲーム内でユーザが挑戦可能な特別なステージであり、ユーザがゲーム内でそこに入場する順番待ちをするための待機列ができる場合を一例として説明する。このサービスは、特定の期間にオープンし、その期間内のみユーザが入場可能なショップ又はステージでもよい。ただし、本発明でいうサービスは、通信ネットワークを介してサーバからユーザに提供されるものであれば、ゲーム内のものには限定されず、例えば、ユーザが実際の商品を購入可能なネット通販店等のウェブサービスであってもよい。
【００２３】
図１は、ゲームシステム１の概略構成の一例を示す図である。ゲームシステム１は、少なくとも一台の携帯端末２と、サーバ３とを備える。
【００２４】
携帯端末２は、ユーザによる操作を受け付ける。また、サーバ３は、複数のユーザが各自の携帯端末２上でプレイしているゲームの進行を制御し、携帯端末２からの要求に応じて携帯端末２にサービスを提供する。携帯端末２とサーバ３とは、例えば、基地局４、移動体通信網５、ゲートウェイ６及びインターネット７等の通信ネットワークを介して相互に接続される。携帯端末２で実行されるプログラム（例えば、ゲームプログラム）と、サーバ３で実行されるプログラム（例えば、ゲーム管理プログラム）とは、ＵＤＰ（User Datagram Protocol）、ハイパーテキスト転送プロトコル（Hypertext Transfer Protocol，ＨＴＴＰ）、ＴＣＰ（Transport Control Protocol）等の通信プロトコルを用いて通信を行う。
【００２５】
なお、携帯端末２としては多機能携帯電話（所謂「スマートフォン」）を想定するが、本発明はこれに限定されない。携帯端末２は、本発明が適用可能であればよく、例えば、携帯電話（所謂「フィーチャーフォン」）、携帯情報端末（Personal Digital Assistant，ＰＤＡ）、携帯ゲーム機、携帯音楽プレーヤ、タブレットＰＣ、ノートＰＣ、ウェアラブルコンピュータ、デスクトップＰＣ等でもよい。
【００２６】
図２は、携帯端末２の概略構成の一例を示す図である。携帯端末２は、端末通信部２１と、端末記憶部２２と、操作部２３と、表示部２４と、端末処理部２５とを備える。
【００２７】
端末通信部２１は、所定の周波数帯を感受帯域とするアンテナを含む通信インターフェース回路を備え、携帯端末２を無線通信ネットワークに接続する。端末通信部２１は、基地局４により割り当てられるチャネルを介して、基地局４との間でＬＴＥ（Long Term Evolution）、ＣＤＭＡ（Code Division Multiple Access）方式等による通信信号回線を確立し、基地局４との間で通信を行う。そして、端末通信部２１は、端末処理部２５から供給されたデータをサーバ３等に送信する。また、端末通信部２１は、サーバ３等から受信したデータを端末処理部２５に供給する。
【００２８】
端末記憶部２２は、例えば、半導体メモリを備える。端末記憶部２２は、端末処理部２５での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、端末記憶部２２は、ドライバプログラムとして、操作部２３を制御する入力デバイスドライバプログラム、表示部２４を制御する出力デバイスドライバプログラム等を記憶する。また、端末記憶部２２は、アプリケーションプログラムとして、ゲームを進行させ、その結果を表示するゲームプログラム等を記憶する。また、端末記憶部２２は、データとして、ユーザの識別番号（ユーザＩＤ）、ゲームに関する画像データ、映像データ等を記憶する。さらに、端末記憶部２２は、所定の処理に係る一時的なデータを記憶してもよい。
【００２９】
操作部２３は、携帯端末２の操作が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。ユーザは、操作部２３を用いて、文字、数字、記号等を入力することができる。操作部２３は、ユーザにより操作されると、その操作に対応する信号を発生させる。そして、発生した信号は、ユーザの指示として、端末処理部２５に供給される。
【００３０】
表示部２４も、映像、画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ、有機ＥＬ（Electro−Luminescence）ディスプレイ等である。表示部２４は、例えば液晶タッチパネルディスプレイにより操作部２３と一体化されていてもよい。表示部２４は、端末処理部２５から供給された画像データに応じた画像、映像データに応じた映像等を表示する。
【００３１】
端末処理部２５は、一又は複数個のプロセッサ及びその周辺回路を備える。端末処理部２５は、例えばＣＰＵ（Central Processing Unit）であり、携帯端末２の全体的な動作を統括的に制御する。端末処理部２５は、端末記憶部２２に記憶されているプログラム、操作部２３の操作等に基づいて携帯端末２の各種処理が適切な手順で実行されるように、端末通信部２１、表示部２４等の動作を制御する。端末処理部２５は、端末記憶部２２に記憶されているプログラム（オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、端末処理部２５は、複数のプログラム（アプリケーションプログラム等）を並列に実行することができる。
【００３２】
図３（ａ）〜図３（ｃ）及び図４（ａ）〜図４（ｃ）は、表示部２４に表示される画面の一例を示す図である。ここで、図３（ａ）〜図４（ｃ）を参照しながら、ゲームシステム１で提供されるサービスに関する待機列の処理の概略を説明する。
【００３３】
図３（ａ）は、ゲーム進行画面３００の一例を示す。ゲーム進行画面３００には、通常ゲーム画面３０２及びサービス選択ボタン３０４が表示されている。通常ゲーム画面３０２には、ユーザがプレイしているゲームの画像等が表示される。また、サービス選択ボタン３０４として、図３（ａ）では、「ショップａ」ボタン、「ステージｂ」ボタン及び「ステージｃ」ボタンが表示されている。ユーザがこれらのいずれかのボタンを押下すると、対応するサービスに関する画面が表示される。
【００３４】
図３（ｂ）は、図３（ａ）のサービス選択ボタン３０４のうち「ショップａ」ボタンが押下されたときに表示される待機選択画面３２０の一例を示す。待機選択画面３２０には、サービス表示ウィンドウ３２２、情報表示ウィンドウ３２４、「並ぶ」ボタン３２６及び「並ばない」ボタン３２８が表示されている。
【００３５】
サービス表示ウィンドウ３２２には、ショップａへの入場を待つユーザの待機列に関するメッセージが表示されている。情報表示ウィンドウ３２４では、ショップａのサービス終了時刻までの残り時間（１時間３２分）が上段に表示され、ショップａへの入場を待つユーザ数（３０人）が下段に表示されている。このように、順番待ちをしているユーザ数を表示することにより、その人数から、ユーザはショップａがどの程度人気のあるサービスであるかを認識することができる。なお、このゲームでは、サービス終了時刻までに自分の順番が来なかった場合、待機列に加わっていてもショップａには入場できないものとするが、サービス終了時刻までに待機列に加わっていればサービス終了時刻の経過後でも入場できるようにしてもよい。また、ショップａは販売するアイテムの数量が限定されている数量限定のショップでもよく、その場合には、情報表示ウィンドウ３２４の上段において、残り時間ではなく、限定数のうちの残り個数を表示してもよい。
【００３６】
ユーザが「並ぶ」ボタン３２６を押下すると、ショップａへの入場を待つ３１人目のユーザとして、このユーザは待機列に加えられる。一方、ユーザが「並ばない」３２８ボタンを押下すると、このユーザは待機列に加わらないで、例えば再び図３（ａ）のゲーム進行画面３００が表示される。
【００３７】
なお、ショップａに待機列がない場合は、順番待ちをする必要がないので、図３（ａ）のゲーム進行画面３００で「ショップａ」ボタンが押下されると、図３（ｂ）の待機選択画面３２０は表示されずに、後述する図４（ｃ）のサービス提供画面４２０が表示される。
【００３８】
図３（ｃ）は、図３（ｂ）の待機選択画面３２０で「並ぶ」ボタン３２６が押下されたときに表示される即時入場選択画面３４０の一例を示す。即時入場選択画面３４０には、サービス表示ウィンドウ３４２、情報表示ウィンドウ３４４、「取得する」ボタン３４６及び「取得しない」ボタン３４８が表示されている。
【００３９】
サービス表示ウィンドウ３４２には、即時入場券の取得を促すメッセージが表示されている。即時入場券は、特定のゲーム媒体の一例であり、ゲーム内で得られるポイントを使用して取得することにより、すぐにショップ等に入場することができるアイテムである。このゲームでは、特定のゲーム媒体を取得したユーザの携帯端末２からのサービス提供要求に対しては、サービス提供中のユーザ数に拘わりなく、そのサービスが提供される。即ち、特定のゲーム媒体を取得したユーザは、待機列に加わらなくてもすぐにサービスの提供を受けることができる。なお、特定のゲーム媒体は、ショップ等への入場時にポイントを使用して取得するものに限らず、例えばゲーム内で取得可能な別のアイテム等であってもよい。
【００４０】
情報表示ウィンドウ３４４では、下段に「３１人／３１人」と表示されている。これは、このユーザがショップａに入場してサービスの提供を受けるまでの順番が、サービスの提供を待つ全３１人のユーザのうち３１人目であることを示す。
【００４１】
ユーザが「取得する」ボタン３４６を押下すると、このユーザは１００ポイントを使用して即時入場券を取得し、ショップａにすぐに入場することができる。一方、ユーザが「取得しない」ボタン３４８を押下すると、ショップａへの入場を待つ３１人目のユーザとして、このユーザは待機列に加えられたままとなる。
【００４２】
図４（ａ）は、図３（ｃ）の即時入場選択画面３４０で「取得しない」ボタン３４８を押下されたときに表示されるゲーム進行画面４００の一例を示す。ゲーム進行画面４００には、通常ゲーム画面４０２と、情報表示ウィンドウ４０４が表示されている。
【００４３】
通常ゲーム画面４０２には、通常ゲーム画面３０２と同様に、ユーザがプレイしているゲームの画像等が表示される。また、情報表示ウィンドウ４０４では、図３（ｃ）の情報表示ウィンドウ３４４と変わらず、このユーザの順番がサービスの提供を待つ全３１人のユーザのうち３１人目であることが示されている。このように、ユーザが通常ゲーム画面４０２においてゲームをプレイしながら、サービスの提供を待つことができるようにしてもよい。あるいは、サービスの提供を待つ間、ユーザはゲームをプレイできないようにしてもよい。また、ゲーム進行画面４００でも、図３（ａ）のサービス選択ボタン３０４と同様のボタンを表示して、同じユーザが同時に複数のサービスの待機列に加われるようにしてもよい。あるいは、１つのサービスの提供を待つ間、ユーザは他のサービスの提供を受けることができないようにしてもよい。
【００４４】
図４（ｂ）は、このユーザがショップａでサービスの提供を受ける順番が来たときに表示される順番通知画面４１０の一例を示す。順番通知画面４１０には、サービス表示ウィンドウ４１２、情報表示ウィンドウ４１４、「入場する」ボタン４１６及び「入場しない」ボタン４１８が表示されている。
【００４５】
サービス表示ウィンドウ４１２には、このユーザが今から１時間後までショップａに入場できる旨のメッセージが表示されている。このように、サービスの提供を待ったユーザには、自分の順番が来たときだけでなく、順番が来た後の予め定められた期間（この例では１時間）内であればそのサービスの提供を受けられるようにしてもよい。
【００４６】
ユーザが「入場する」ボタン４１６を押下すると、このユーザはショップａに入場することができる。一方、ユーザが「入場しない」ボタン４１８を押下すると、このユーザはショップａに入場せずに、例えば再び図３（ａ）のゲーム進行画面３００が表示される。なお、ここでユーザがショップａに入場しなかった場合、上記の制限時間内はゲーム進行画面内に図４（ｂ）の「入場する」ボタン４１６と同様のボタンを表示して、ユーザが後からショップａに入場できるようにしてもよい。
【００４７】
図４（ｃ）は、ユーザがショップａに入場したときに表示されるサービス提供画面４２０の一例を示す。サービス提供画面４２０には、サービス表示ウィンドウ４２２、情報表示ウィンドウ４２４、商品選択ボタン４２６及び「退場」ボタン４２８が表示されている。
【００４８】
サービス表示ウィンドウ４２２には、例えば、ユーザが選択した商品の詳細情報が表示される。商品選択ボタン４２６として、図４（ｃ）では、「商品Ａ」ボタン及び「商品Ｃ」ボタンが表示されている。ユーザは、これらのボタンを押下すると、それぞれ、自分が所有するポイントから２００ポイント又は４００ポイントを使用して、対応する商品を取得することができる。こうしたショップでは、例えば、並ぶ商品数は固定しておき、ユーザが入場するたびに商品ラインナップを抽選により変化させてもよい。また、ユーザがショップに入場するときに、ある確率で特定の商品のセールを発生させてもよい。
【００４９】
ユーザが「退場」ボタン４２８を押下すると、ユーザはショップａから退場し、例えば再び図３（ａ）のゲーム進行画面３００に戻る。なお、「退場」ボタン４２８を押下されたときには、ゲーム進行画面に戻る前に、退場してよいかどうかをユーザに確認するための画面を表示してもよい。
【００５０】
以上の機能を実現するために、端末処理部２５は、ゲーム進行部２５１と、入退場処理部２５２と、サービス処理部２５３と、順番待ち処理部２５４とを備える。これらの各部は、端末処理部２５が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして携帯端末２に実装されてもよい。
【００５１】
ゲーム進行部２５１は、ゲームシステム１が提供するゲームの開始及び進行を制御する。また、ゲーム進行部２５１は、ゲームの進行中に、通常ゲーム画面３０２の画像データ等と、ユーザがゲーム内のショップ等のサービスを選択するためのサービス選択ボタン３０４とを配置したゲーム進行画面３００を構成し、表示部２４に出力する。そして、ユーザにより操作部２３を介してサービス選択ボタン３０４が操作されたときに、ゲーム進行部２５１は、入退場処理部２５２に処理の実行を指示する。また、ゲーム進行部２５１は、ユーザにより操作部２３を介して他の処理が指示された場合には、その処理を実行する。
【００５２】
入退場処理部２５２は、ユーザにより操作部２３を介してサービス選択ボタン３０４が操作されたときに、端末通信部２１を介してサーバ３に、そのユーザの識別番号（ユーザＩＤ）及び対応するサービスの識別番号（サービスＩＤ）を含むサービス提供要求を送信する。そして、現在サービス提供が可能である旨の応答をサーバ３から端末通信部２１を介して受信した場合には、入退場処理部２５２は、サービス処理部２５３に処理の実行を指示する。一方、現在サービス提供が不可である旨の応答をサーバ３から受信した場合には、入退場処理部２５２は、そのサービスの提供を待つ待機列に加わるか否かをユーザに選択させるための待機選択画面３２０を構成し、表示部２４に出力する。
【００５３】
待機選択画面３２０でユーザにより「並ぶ」ボタン３２６が操作された場合には、入退場処理部２５２は、即時入場券を取得してすぐにサービスの提供を受ける（ショップ等に入場する）か否かをユーザに選択させるための即時入場選択画面３４０を構成し、表示部２４に出力する。一方、待機選択画面３２０でユーザにより「並ばない」ボタン３２８が操作された場合には、入退場処理部２５２は、端末通信部２１を介してサーバ３に、そのユーザの識別番号及び対応するサービスの識別番号を含むサービス中止要求を送信する。
【００５４】
また、即時入場選択画面３４０でユーザにより「取得する」ボタン３４６が操作された場合には、入退場処理部２５２は、端末通信部２１を介してサーバ３にそのユーザの識別番号及び対応するサービスの識別番号を含む即時入場要求を送信し、サービス処理部２５３に処理の実行を指示する。一方、即時入場選択画面３４０でユーザにより「取得しない」ボタン３４８が操作された場合には、入退場処理部２５２は、端末通信部２１を介してサーバ３にそのユーザの識別番号及び対応するサービスの識別番号を含む待機列追加要求を送信し、順番待ち処理部２５４に処理の実行を指示する。
【００５５】
また、ユーザがサービスの提供を受ける順番が来たときに表示される順番通知画面４１０にて、ユーザにより「入場する」ボタン４１６が操作された場合には、入退場処理部２５２は、端末通信部２１を介してサーバ３に、そのユーザの識別番号、サービスの識別番号及びそのユーザの順番が来た旨の情報を含むサービス提供要求を送信する。そして、入退場処理部２５２は、サービス処理部２５３に処理の実行を指示する。なお、順番通知画面４１０にて、ユーザにより「入場しない」ボタン４１８が操作された場合には、入退場処理部２５２は、予め定められた期間内だけ、例えばゲーム進行部２５１が構成するゲーム進行画面３００内に「入場する」ボタンを配置して、ユーザが後からサービス提供を受けられるようにしてもよい。
【００５６】
また、サービス提供画面４２０でユーザにより「退場」ボタン４２８が操作された場合には、入退場処理部２５２は、端末通信部２１を介してサーバ３にそのユーザの識別番号及び対応するサービスの識別番号を含むサービス終了要求を送信する。
【００５７】
サービス処理部２５３は、ユーザがサーバ３からサービスの提供を受けるときに、サービス提供画面４２０を構成し、表示部２４に出力する。そして、サービス処理部２５３は、端末通信部２１を介してサーバ３と、そのサービスに必要なデータをやり取りして、サーバ３が提供するサービスに関する処理を行う。例えば、そのサービスがゲーム内でアイテムを提供するショップである場合には、サービス処理部２５３は、そのショップで提供されるアイテムのデータをサーバ３から受信する。そして、ユーザが自己のポイントを消費していずれかの取得する場合には、サービス処理部２５３は、例えば消費するポイントと取得するアイテムの識別番号をサーバ３に送信する。
【００５８】
順番待ち処理部２５４は、ユーザがあるサービスの待機列に加わっているときに、端末通信部２１を介してサーバ３から、その待機列に含まれるユーザ数及びこのユーザの順位（このユーザが何番目にサービス提供を受けられるかを示す値）を受信する。そして、順番待ち処理部２５４は、ゲーム進行部２５１が構成するゲーム進行画面３００内に、そのユーザ数及び順位を表示させる（即ち、ゲーム進行画面４００を構成する）。そのユーザがサービスの提供を受ける順番が来たことを示す通知がサーバ３から受信された場合には、順番待ち処理部２５４は、その旨をユーザに通知する順番通知画面４１０を構成し、表示部２４に出力する。
【００５９】
図５は、サーバ３の概略構成の一例を示す図である。サーバ３は、サーバ通信部３１と、サーバ記憶部３２と、サーバ処理部３３とを備える。
【００６０】
サーバ通信部３１は、サーバ３をインターネット７に接続するための通信インターフェース回路を備え、インターネット７との間で通信を行う。そして、サーバ通信部３１は、携帯端末２等から受信したデータをサーバ処理部３３に供給する。また、サーバ通信部３１は、サーバ処理部３３から供給されたデータを携帯端末２等に送信する。
【００６１】
サーバ記憶部３２は、例えば、磁気テープ装置、磁気ディスク装置、フラッシュメモリ、又は光ディスク装置のうちの少なくともいずれか一つを備える。サーバ記憶部３２は、サーバ処理部３３での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部３２は、アプリケーションプログラムとして、ゲームを制御するためのゲーム管理プログラム等を記憶する。また、サーバ記憶部３２は、データとして、ゲームに関する画像データ等に加えて、サーバ３が提供するサービスを管理するサービステーブル（図６（ａ））、ゲームシステム１のユーザを管理するユーザテーブル（図６（ｂ））、及び各サービスの提供を待つユーザの待機列を記憶する待機情報テーブル（図６（ｃ））を記憶する。また、サーバ記憶部３２は、サーバ３の余剰提供能力を示す空き同時提供数を記憶してもよい。さらに、サーバ記憶部３２は、所定の処理に係る一時的なデータを記憶してもよい。
【００６２】
図６（ａ）〜図６（ｃ）は、サーバ記憶部３２に記憶される各種テーブルのデータ構造の一例を示す図である。
【００６３】
図６（ａ）は、サービステーブルの一例を示す。サービステーブルには、サーバ３が提供する各サービスについて、そのサービスのサービスＩＤ、サービス名、最大同時提供数、サービス提供中のユーザＩＤ、待機列の長さ、上限閾値、下限閾値及び提供期間が記憶される。最大同時提供数は、同時にそのサービスを提供可能な最大ユーザ数であり、適宜増減されることがある。待機列の長さは、そのサービスの提供を待つユーザの待機列に含まれるユーザ数である。上限閾値及び下限閾値は、そのサービスの提供を待つユーザの待機列の長さについて設定された閾値である。また、提供期間は、ユーザがそのサービスの提供を受けることができる期間である。図６（ａ）に示したＳ００１〜Ｓ００３のサービスにはすべて提供期間が設定されているが、サーバ３が提供するサービスは、期間の限定がないものでもよく、数量限定サービスや会員限定サービスであってもよい。
【００６４】
図６（ｂ）は、ユーザテーブルの一例を示す。ユーザテーブルには、ゲームシステム１に登録されている各ユーザについて、そのユーザのユーザＩＤ、名前、そのユーザが所持するポイント等が記憶される。ユーザテーブルに記憶されるユーザＩＤ等は、ユーザ情報の一例である。なお、ユーザＩＤは、ユーザを識別できればよいため、そのユーザの携帯端末２のＩＤ、電話番号、又はメールアドレス等であってもよい。
【００６５】
図６（ｃ）は、待機情報テーブルの一例を示す。待機情報テーブルには、サービステーブルに含まれる各サービスについて、そのサービスの提供を要求したユーザのユーザＩＤが、その要求があった順番に記憶される。待機情報テーブルは、配列又は連結リスト等のデータ構造で実装される。この待機情報テーブルは、待機情報の一例であり、サービスの提供を待つユーザのユーザ数及び各ユーザの順位の情報を含む。なお、上記の待機列の長さとは、対象のサービスについて、待機情報テーブルに含まれるユーザ数のことである。また、サービスＩＤがＳ００３であるステージｃのサービスは、図６（ａ）に示すように待機列の長さが０であるため、待機情報テーブルにはユーザＩＤが記憶されていない。
【００６６】
サーバ処理部３３は、一又は複数個のプロセッサ及びその周辺回路を備える。サーバ処理部３３は、例えばＣＰＵであり、サーバ３の全体的な動作を統括的に制御する。サーバ処理部３３は、サーバ記憶部３２に記憶されているプログラム（例えば、オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム）等に基づいて、サーバ３の各種処理が適切な手順で実行されるように、サーバ通信部３１等の動作を制御する。また、サーバ処理部３３は、複数のプログラム（アプリケーションプログラム等）を並列に実行することができる。
【００６７】
サーバ処理部３３は、サーバ制御部３３１と、入場制御部３３２と、退場制御部３３３と、サービス提供部３３４と、待機情報管理部３３５と、最大数設定部３３６とを備える。これらの各部は、サーバ処理部３３が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてサーバ３に実装されてもよい。
【００６８】
サーバ制御部３３１は、サーバ３の動作を制御し、適宜、入場制御部３３２、退場制御部３３３等に処理の実行を指示する。具体的には、サーバ制御部３３１は、サーバ通信部３１を介して携帯端末２からサービス提供要求を受信すると、入場制御部３３２に処理の実行を指示する。また、サーバ制御部３３１は、サーバ通信部３１を介して携帯端末２からサービス終了要求を受信すると、退場制御部３３３に処理の実行を指示する。また、サーバ制御部３３１は、サーバ通信部３１を介して携帯端末２から他の要求を受信した場合には、その処理を実行して、ゲームの進行の制御等を行う。
【００６９】
入場制御部３３２は、サーバ通信部３１を介してサーバ制御部３３１がサービス提供要求を受信すると、そのサービス提供要求に含まれる情報から、対象のユーザがサービスの提供を受ける順番が来たユーザ（以下、「順位０のユーザ」という）であるか否かを判定する。順位０のユーザの場合には、入場制御部３３２は、受信されたサービス提供要求に含まれるユーザＩＤをサービス提供中のユーザとしてサービステーブルに記憶し、サービス提供部３３４に処理の実行を指示する。
【００７０】
受信されたサービス提供要求が順位０のユーザからのものでない場合には、入場制御部３３２は、そのサービス提供要求に含まれるサービスＩＤをキーとしてサービステーブルを参照し、対象のサービスについて、最大同時提供数、サービス提供中のユーザ数及び待機列の長さを取得する。そして、入場制御部３３２は、取得されたサービス提供中のユーザ数が最大同時提供数未満であるか否かを判定する。サービス提供中のユーザ数が最大同時提供数未満である場合には、入場制御部３３２は、受信されたサービス提供要求に含まれるユーザＩＤをサービス提供中のユーザとしてサービステーブルに記憶し、サービス提供部３３４に処理の実行を指示する。
【００７１】
サービス提供中のユーザ数が最大同時提供数以上である場合には、入場制御部３３２は、サービス提供要求に含まれるユーザＩＤをもつユーザの携帯端末２に、サーバ通信部３１を介して、取得した待機列の長さ（サービスの提供を待つユーザ数）を送信する。これに応じて、そのユーザの携帯端末２からサービス中止要求を受信した場合には、入場制御部３３２は、そのユーザに対するそのサービスの提供に関する処理を中止する。また、そのユーザの携帯端末２から即時入場要求を受信した場合には、入場制御部３３２は、サービス提供中のユーザ数に拘わりなく、サービス提供部３３４に処理の実行を指示する。また、そのユーザの携帯端末２から待機列追加要求を受信した場合には、入場制御部３３２は、待機情報管理部３３５に処理の実行を指示する。
【００７２】
退場制御部３３３は、サーバ通信部３１を介してサーバ制御部３３１がサービス終了要求を受信すると、そのサービス提供終了要求に含まれるサービスＩＤをキーとしてサービステーブルを参照し、対象のサービスについて記憶されている「サービス提供中のユーザＩＤ」から、サービス終了要求に含まれるものと同じユーザＩＤを削除する。このとき、退場制御部３３３は、サービステーブルから、対象のサービスについての待機列の長さ、サービス提供中のユーザ数及び最大同時提供数を取得する。そして、待機列の長さが０でなく（即ち、サービスの提供を待つユーザが存在し）、且つサービス提供中のユーザ数が最大同時提供数未満になった場合には、退場制御部３３３は、待機情報管理部３３５に処理の実行を指示する。
【００７３】
サービス提供部３３４は、携帯端末２からのサービス提供要求に応じて、最大同時提供数以下の携帯端末２にサービスを提供する。ただし、サービス提供部３３４は、特定のゲーム媒体を取得したユーザの携帯端末２からのサービス提供要求に対しては、サービスを提供中のユーザ数に拘わりなくそのサービスを提供する。例えば、所有するポイントを消費して即時入場券を取得したユーザの携帯端末２からサーバ制御部３３１が即時入場要求を受信すると、サービス提供部３３４は、ユーザの待機列ができていても、そのユーザの携帯端末２にサービスを提供する。サービス提供部３３４は、サービスの提供に際し、サーバ通信部３１を介して対象の携帯端末２のサービス処理部２５３とそのサービスに必要なデータをやり取りして、そのサービスに関する処理をサービス処理部２５３に実行させる。
【００７４】
待機情報管理部３３５は、サービスを提供中のユーザ数が最大同時提供数以上であり、且つサービスを提供していない携帯端末２からサービス提供要求を受信した場合、そのサービス提供要求に含まれるユーザＩＤを待機情報テーブルに追加する。即ち、待機情報管理部３３５は、最大同時提供数の限定によりサービスの提供を受けられないユーザのユーザＩＤを待機情報テーブルに追加することで、キュー状態にしておく。
【００７５】
また、サーバ通信部３１を介して携帯端末２からサービス終了要求が受信されたか、又は最大数設定部３３６が最大同時提供数を増加させたことに応じて、サービス提供中のユーザ数が最大同時提供数未満になった場合には、待機情報管理部３３５は、待機情報テーブルから、対象のサービスについての順位が小さい（最小の）ユーザのユーザＩＤを削除する。そして、待機情報管理部３３５は、サーバ通信部３１を介してそのユーザの携帯端末２に、そのユーザがサービスの提供を受ける順番が来たことを示す通知を送信する。また、待機情報管理部３３５は、対象のサービスについて待機情報テーブルに含まれる各ユーザＩＤの順位を減らして更新し、サーバ通信部３１を介して各ユーザＩＤに対応するユーザの携帯端末２に、現在の待機列中のユーザ数及び新たな順位を送信する。
【００７６】
最大数設定部３３６は、待機情報に含まれるユーザ数が上限閾値を超えた場合には、最大同時提供数を増加させる。待機情報に含まれるユーザ数の上限閾値と最大同時提供数には、サーバ３の処理能力の範囲内で余裕がある初期値をサービスごとに予め設定し、サーバ記憶部３２に記憶しておく。即ち、サーバ３では、最初は同時に処理できるユーザ数を敢えて限定し、その限定のためにサービスの提供を受けられないユーザのユーザＩＤを待機情報テーブルに追加することで、サービスの提供を待つユーザの待機列ができていることを表現する。そして、最大数設定部３３６は、待機情報テーブルに含まれるユーザ数が上限閾値を超えたら、最大同時提供数を増加させることで、サービスの提供を待つユーザ数を一定範囲内に制御して、待機列が長くなり過ぎないようにする。
【００７７】
また、サービスの提供を待つユーザの待機列ができているとそのサービスは価値が高くなる傾向があるため、各サービスにある程度の長さの待機列ができるようにすることが好ましい。そこで、最大数設定部３３６は、待機情報に含まれるユーザ数が下限閾値未満になった場合には、最大同時提供数を減少させる。この下限閾値も、上記の上限閾値以下の値として、サービスごとに予め設定し、サーバ記憶部３２に記憶しておく。なお、最大数設定部３３６による最大同時提供数の変動幅にも、上限閾値と下限閾値を設けてもよい。
【００７８】
最大数設定部３３６は、待機情報に含まれるユーザ数と上限閾値との差分に応じて最大同時提供数を増加させてもよい。例えば、最大数設定部３３６は、待機情報に含まれるユーザ数が１人増えたら最大同時提供数も１人余分に増やしてもよい。あるいは、最大数設定部３３６は、例えば待機情報に含まれるユーザ数が上限閾値より１０％増えたら最大同時提供数も１０％余分に増やしてもよい。
【００７９】
同様に、最大数設定部３３６は、待機情報に含まれるユーザ数と下限閾値との差分に応じて最大同時提供数を減少させてもよい。例えば、最大数設定部３３６は、待機情報に含まれるユーザ数が１人減ったら最大同時提供数も１人余分に減らしてもよい。あるいは、最大数設定部３３６は、例えば待機情報に含まれるユーザ数が下限閾値より１０％減ったら最大同時提供数も１０％余分に減らしてもよい。
【００８０】
また、サーバ３の余剰提供能力を表す空き同時提供数をサーバ記憶部３２に予め記憶しておき、最大数設定部３３６は、この空き同時提供数以下の範囲内で最大同時提供数を増加させてもよい。空き同時提供数とは、サーバ３が各サービスの最大同時提供数に割り当てることができる残りの数であり、サーバ３の処理能力の限界を示す値に相当する。また、最大数設定部３３６は、空き同時提供数以下の範囲内で最大同時提供数を増加させるときは、最大同時提供数の減少数に応じてこの空き同時提供数を増加させて、その値を更新してもよい。
【００８１】
あるいは、最大数設定部３３６は、待機情報に含まれるユーザ数が上限閾値を超えた場合に最大同時提供数を増加させるのではなく、そのユーザ数が上限閾値と下限閾値の間にあるときでも、待機情報に含まれるユーザ数に応じた増加量で最大同時提供数を増加させてもよい。例えば、待機情報に含まれるユーザ数の上限閾値を８００人とし、下限閾値を５００人として、待機列の長さを、５００人〜８００人の範囲内に制御するとする。このとき、最大数設定部３３６は、例えば、待機情報に含まれるユーザ数が５００人を超えたらユーザ数が１人増えるごとに最大同時提供数を０．５人増やし、その最大同時提供数の増加量をユーザ数が８００人に近くなるにつれて大きくしてもよい。例えば、最大数設定部３３６は、待機情報に含まれるユーザ数が８００人に近くなるにつれて、待機情報に含まれるユーザ数が１人増えたときの最大同時提供数の増加量を、０．５人、０．６人、０．７人、・・・、１人というように徐々に大きくしてもよい。このようにして、最大数設定部３３６は、待機列が長くなるにつれてその長さが増加するスピードを遅くして、待機情報に含まれるユーザ数が上限閾値の８００人を超えないようにしてもよい。
【００８２】
同様に、最大数設定部３３６は、待機情報に含まれるユーザ数が下限閾値未満になった場合に最大同時提供数を減少させるのではなく、そのユーザ数が上限閾値と下限閾値の間にあるときでも、待機情報に含まれるユーザ数に応じた減少量で最大同時提供数を減少させてもよい。
【００８３】
なお、サービス提供部３３４は、待機情報テーブルからユーザＩＤが削除されたユーザ（順位０のユーザ）の携帯端末２から予め定められた期間内に受信されたサービス提供要求に応じて、そのユーザの携帯端末２にサービスを提供してもよい。この場合、待機情報管理部３３５は、ユーザがサービスの提供を受ける順番が来たときの時刻を、対象のユーザＩＤ及びサービスＩＤと関連付けて、サーバ記憶部３２に記憶しておく。そして、入場制御部３３２は、順位０のユーザからのサービス提供要求が受信されたときに、サーバ記憶部３２に記憶されている時刻からの経過時間が予め定められた期間内である場合に、サービス提供部３３４に処理の実行を指示すればよい。
【００８４】
図７〜図９は、端末処理部２５の動作フローの一例を示す図である。以下に説明する動作フローは、予め端末記憶部２２に記憶されているプログラムに基づいて、主に端末処理部２５により、携帯端末２の各要素と協働して実行される。
【００８５】
図７は、ゲーム進行部２５１の動作フローの一例を示す図である。ユーザが操作部２３を介して端末処理部２５にゲームの開始を指示すると、端末処理部２５は、ゲームプログラムに基づいて処理を開始する。そして、ゲーム進行部２５１は、ゲームの進行中にゲーム進行画面３００を表示部２４に表示させる（ステップＳ１００）。表示されたゲーム進行画面３００に含まれるいずれかのサービス選択ボタン３０４がユーザにより操作部２３を介して操作される（ステップＳ１０１でＹｅｓ）と、ゲーム進行部２５１は、入退場処理部２５２に、後述する入退場処理の実行を指示する（ステップＳ１０２）。
【００８６】
その後、動作フローは再びステップＳ１００に戻る。一方、ユーザによりサービス選択ボタン３０４が操作されていない（ステップＳ１０１でＮｏ）ときは、ゲーム進行部２５１はゲームを進行させる処理を行う（ステップＳ１０３）。そして、動作フローは再びステップＳ１００に戻る。ゲーム進行部２５１の動作フローでは、以上の処理が繰り返される。
【００８７】
図８は、入退場処理部２５２による入退場処理の動作フローの一例を示す図である。まず、入退場処理部２５２は、対象のユーザのユーザＩＤ及び対象のサービスのサービスＩＤを含むサービス提供要求をサーバ３に送信する（ステップＳ１２０）。
【００８８】
そして、現在サービス提供が可能である旨の応答をサーバ３から受信した場合（ステップＳ１２１でＹｅｓ）には、入退場処理部２５２は、サービス処理部２５３に、サーバ３が提供するサービスに関する処理を実行させる（ステップＳ１２２）。その後、サービス提供画面４２０でユーザにより「退場」ボタン４２８が操作されると、入退場処理部２５２は、そのユーザのユーザＩＤ及び対象のサービスのサービスＩＤを含むサービス終了要求をサーバ３に送信して（ステップＳ１２３）、処理を終了する。
【００８９】
一方、現在サービス提供が不可である旨の応答をサーバ３から受信した場合（ステップＳ１２１でＮｏ）には、入退場処理部２５２は、そのサービスについての待機列の長さをサーバ３から受信する（ステップＳ１２４）。そして、入退場処理部２５２は、待機選択画面３２０を表示部２４に表示させる（ステップＳ１２５）。待機選択画面３２０でユーザにより「並ばない」ボタン３２８が操作された場合（ステップＳ１２６でＮｏ）には、入退場処理部２５２は、そのユーザのユーザＩＤ及び対象のサービスのサービスＩＤを含むサービス中止要求をサーバ３に送信して（ステップＳ１２７）、処理を終了する。
【００９０】
一方、待機選択画面３２０でユーザにより「並ぶ」ボタン３２６が操作された場合（ステップＳ１２６でＹｅｓ）には、入退場処理部２５２は、即時入場選択画面３４０を表示部２４に表示させる（ステップＳ１２８）。即時入場選択画面３４０でユーザにより「取得する」ボタン３４６が操作された場合（ステップＳ１２９でＹｅｓ）には、入退場処理部２５２は、そのユーザのユーザＩＤ及び対象のサービスのサービスＩＤを含む即時入場要求をサーバ３に送信する（ステップＳ１３０）。その後、動作フローはステップＳ１２２に進む。
【００９１】
一方、即時入場選択画面３４０でユーザにより「取得しない」ボタン３４８が操作された場合（ステップＳ１２９でＮｏ）には、入退場処理部２５２は、そのユーザのユーザＩＤ及び対象のサービスのサービスＩＤを含む待機列追加要求をサーバ３に送信する（ステップＳ１３１）。そして、入退場処理部２５２は、順番待ち処理部２５４に、後述する順番待ち処理の実行を指示する（ステップＳ１３２）。
【００９２】
その後、そのユーザがサービス提供を受ける順番が来たときに表示される順番通知画面４１０にて、ユーザにより「入場する」ボタン４１６が操作された場合（ステップＳ１３３でＹｅｓ）には、動作フローはステップＳ１２２に進む。一方、順番通知画面４１０でユーザにより「入場しない」ボタン４１８が操作された場合（ステップＳ１３３でＮｏ）には、入退場処理部２５２は処理を終了する。
【００９３】
図９は、順番待ち処理部２５４による順番待ち処理の動作フローの一例を示す図である。まず、順番待ち処理部２５４は、対象のユーザが加わっている待機列に含まれるユーザ数（待機列の長さ）及びそのユーザの順位をサーバ３から受信する（ステップＳ１４０）。そして、順番待ち処理部２５４は、そのユーザ数及び順位の情報を含むゲーム進行画面４００を表示部２４に表示させる（ステップＳ１４１）。その後、対象のユーザがサービスの提供を受ける順番が来たことを示す通知がサーバ３から受信された場合（ステップＳ１４２でＹｅｓ）には、順番待ち処理部２５４は、順番通知画面４１０を表示部２４に表示させて（ステップＳ１４３）、処理を終了する。
【００９４】
一方、対象のユーザがサービスの提供を受ける順番が来たことを示す通知が受信されていなければ（ステップＳ１４２でＮｏ）、動作フローはステップＳ１４０に戻り、以上の処理が繰り返される。
【００９５】
図１０〜図１２は、サーバ処理部３３の動作フローの一例を示す図である。以下に説明する動作フローは、予めサーバ記憶部３２に記憶されているプログラムに基づいて、主にサーバ処理部３３により、サーバ３の各要素と協働して実行される。
【００９６】
図１０は、サーバ制御部３３１の動作フローの一例を示す図である。まず、サーバ制御部３３１は、携帯端末２からサービス提供要求を受信すると（ステップＳ２００でＹｅｓ）、入場制御部３３２に、後述する入場制御の実行を指示する（ステップＳ２０１）。その後、動作フローはステップＳ２００に戻る。一方、サービス提供要求を受信していない場合（ステップＳ２００でＮｏ）には、動作フローはステップＳ２０２に進む。
【００９７】
そして、サーバ制御部３３１は、携帯端末２からサービス終了要求を受信すると（ステップＳ２０２でＹｅｓ）、退場制御部３３３に、後述する退場制御の実行を指示する（ステップＳ２０３）。その後、動作フローはステップＳ２００に戻る。一方、サービス終了要求を受信していない場合（ステップＳ２０２でＮｏ）も、動作フローはステップＳ２００に戻る。サーバ制御部３３１の動作フローでは、以上の処理が繰り返される。
【００９８】
図１１は、入場制御部３３２による入場制御の動作フローの一例を示す図である。まず、入場制御部３３２は、受信されたサービス提供要求に含まれる情報から、対象のユーザが順位０のユーザであるか否かを判定する（ステップＳ２２０）。対象のユーザが順位０である場合（ステップＳ２２０でＹｅｓ）には、動作フローは後述するステップＳ２２３に進む。一方、対象のユーザが順位０でない場合（ステップＳ２２０でＮｏ）には、入場制御部３３２は、サービステーブルを参照し、対象のサービスについて、最大同時提供数、サービス提供中のユーザ数及び待機列の長さを取得する（ステップＳ２２１）。
【００９９】
サービス提供中のユーザ数が最大同時提供数未満である場合（ステップＳ２２２でＹｅｓ）には、入場制御部３３２は、受信されたサービス提供要求に含まれるユーザＩＤをサービス提供中のユーザとしてサービステーブルに記憶する（ステップＳ２２３）。そして、入場制御部３３２は、サービス提供部３３４に対象のサービスの提供を指示する（ステップＳ２２４）。これにより、入場制御部３３２は処理を終了する。
【０１００】
一方、サービス提供中のユーザ数が最大同時提供数以上である場合（ステップＳ２２２でＮｏ）には、入場制御部３３２は、サービス提供要求に含まれるユーザＩＤをもつユーザの携帯端末２に、取得した待機列の長さを送信する（ステップＳ２２５）。これに応じて、携帯端末２からサービス中止要求を受信した場合（ステップＳ２２６）には、入場制御部３３２は、処理を終了する。また、携帯端末２から即時入場要求を受信した場合（ステップＳ２２６）には、動作フローはステップＳ２２４に進む。また、携帯端末２から待機列追加要求を受信した場合（ステップＳ２２６）には、入場制御部３３２は、待機情報管理部３３５に指示して、対象のユーザＩＤを待機情報テーブルに追加させる（ステップＳ２２７）。
【０１０１】
続いて、待機情報に含まれるユーザ数が上限閾値以下である場合（ステップＳ２２８でＮｏ）には、動作フローは後述するステップＳ２３２に進む。一方、待機情報に含まれるユーザ数が上限閾値を超えた場合（ステップＳ２２８でＹｅｓ）には、入場制御部３３２は、最大数設定部３３６に、最大同時提供数を増加させる（ステップＳ２２９）。このとき、入場制御部３３２は、待機情報管理部３３５に指示して、待機情報テーブルから、対象のサービスについての順位が小さいユーザのユーザＩＤを削除させる（ステップＳ２３０）。そして、入場制御部３３２は、待機情報管理部３３５に、対象のサービスについて待機情報テーブルに含まれる各ユーザＩＤの順位を更新させ（ステップＳ２３１）、各ユーザＩＤに対応するユーザの携帯端末２に、現在の待機列中のユーザ数及び新たな順位を送信させる（ステップＳ２３２）。これにより、入場制御部３３２は処理を終了する。
【０１０２】
図１２は、退場制御部３３３による退場制御の動作フローの一例を示す図である。まず、退場制御部３３３は、対象のサービスについてサービステーブルに記憶されている「サービス提供中のユーザＩＤ」から、サービス提供要求に含まれるものと同じユーザＩＤを削除する（ステップＳ２４０）。このとき、退場制御部３３３は、サービステーブルから、対象のサービスについての待機列の長さ、サービス提供中のユーザ数及び最大同時提供数を取得する（ステップＳ２４１）。待機列の長さが０であるか又はサービス提供中のユーザ数が最大同時提供数以上である場合（ステップＳ２４２でＮｏ）には、退場制御部３３３は、処理を終了する。
【０１０３】
一方、待機列の長さが０でなく且つサービス提供中のユーザ数が最大同時提供数未満になった場合（ステップＳ２４２でＹｅｓ）には、退場制御部３３３は、待機情報管理部３３５に指示して、待機情報テーブルから、対象のサービスについての順位が小さいユーザのユーザＩＤを削除させる（ステップＳ２４３）。そして、退場制御部３３３は、待機情報管理部３３５に、対象のサービスについて待機情報テーブルに含まれる各ユーザＩＤの順位を更新させ（ステップＳ２４４）、各ユーザＩＤに対応するユーザの携帯端末２に、現在の待機列中のユーザ数及び新たな順位を送信させる（ステップＳ２４５）。
【０１０４】
また、待機情報に含まれるユーザ数が下限閾値未満になった場合（ステップＳ２４６でＹｅｓ）には、退場制御部３３３は、最大数設定部３３６に、最大同時提供数を減少させる（ステップＳ２４７）。これにより、退場制御部３３３は処理を終了する。
【０１０５】
以上説明してきたように、ゲームシステム１のサーバ３は、その処理能力の範囲内で最大同時提供数を敢えて限定し、最大同時提供数を超えるユーザ数の携帯端末２からサービス提供要求を受信した場合には、対応するユーザのユーザ情報を待機情報に追加する。また、サーバ３は、待機情報に含まれるユーザ数が上限閾値を超えた場合には、最大同時提供数を増加させて、サービスの提供を待つユーザ数が一定数以上にならないようにする。このように、サーバ３では、最大同時提供数を変化させることにより、提供するサービスに対するユーザの待機列の長さを一定範囲内に制御することが可能となる。
【０１０６】
なお、端末処理部２５が備える入退場処理部２５２、サービス処理部２５３及び順番待ち処理部２５４の各機能は、サーバ処理部３３にて実現してもよい。
【０１０７】
また、サーバ処理部３３が備える各機能を実現させるためのコンピュータプログラムは、半導体記録媒体、磁気記録媒体又は光記録媒体等の、コンピュータにより読み取り可能な記録媒体に記録された形で提供可能である。そして、このコンピュータプログラムは、それらの記録媒体から公知のセットアッププログラム等を用いてサーバ記憶部３２にインストール可能である。
【０１０８】
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１０９】
１    ゲームシステム
２    携帯端末
２１    端末通信部
２２    端末記憶部
２３    操作部
２４    表示部
２５    端末処理部
２５１    ゲーム進行部
２５２    入退場処理部
２５３    サービス処理部
２５４    順番待ち処理部
３    サーバ
３１    サーバ通信部
３２    サーバ記憶部
３３    サーバ処理部
３３１    サーバ制御部
３３２    入場制御部
３３３    退場制御部
３３４    サービス提供部
３３５    待機情報管理部
３３６    最大数設定部
【要約】
【課題】サーバからのサービスの提供を待つユーザ数を一定範囲内に制御可能なサーバ、その制御方法、及びその制御プログラムを提供する。
【解決手段】サービスの提供を受ける複数のユーザのユーザ情報、同時にサービスの提供が可能な最大ユーザ数を示す最大同時提供数、サービスの提供を待つユーザのユーザ数及び順位を含む待機情報、並びに待機情報に含まれるユーザ数の上限閾値を記憶する記憶部（３２）を備えるサーバ（３）の制御方法であって、ユーザの端末からのサービス提供要求に応じて、最大同時提供数以下のユーザの端末にサービスを提供するステップと、サービスを提供中のユーザ数が最大同時提供数以上であり、且つサービスを提供していない端末からサービス提供要求を受信した場合、端末のユーザのユーザ情報を待機情報に追加するステップと、待機情報に含まれるユーザ数が上限閾値を超えた場合、最大同時提供数を増加させるステップとを有する。
【選択図】図１１【図１】
0005543005.tif 000002
【図２】
0005543005.tif 000003
【図３】
0005543005.tif 000004
【図４】
0005543005.tif 000005
【図５】
0005543005.tif 000006
【図６】
0005543005.tif 000007
【図７】
0005543005.tif 000008
【図８】
0005543005.tif 000009
【図９】
0005543005.tif 000010
【図１０】
0005543005.tif 000011
【図１１】
0005543005.tif 000012
【図１２】
0005543005.tif 000013