(57)【要約】【課題】実行されることが予測されるゲームの情報が、ゲームを実行するゲームサーバの数の増減に反映されるようにする。【解決手段】管理サーバ２６は、それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバ２４により提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定する。管理サーバ２６は、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行する。【選択図】図２
2013109548.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段と、
特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段と、
を含むことを特徴とする情報処理システム。
【請求項２】
前記ゲーム特定手段は、ゲームサーバによりゲームが実行される前に、情報提供サーバからユーザに提供される情報に対応付けられるゲームを特定する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ゲーム特定手段は、ゲームサーバにアクセスしているユーザによるゲームサーバでのゲームの実行履歴に基づいてゲームを特定する、
ことを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記ゲーム特定手段は、ゲームサーバで実行されるゲームを利用するユーザによってプレイされた回数の多さに基づいてゲームを特定する、
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理システム。
【請求項５】
前記ゲーム特定手段により特定されるゲームに対応付けられるリソース量に基づいて、稼働すべきゲームサーバの数を特定するゲームサーバ数特定手段、をさらに含み、
前記ゲームサーバ制御手段は、特定される数のゲームサーバが稼働されるよう、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行する、
ことを特徴とする請求項１から４のいずれか一項に記載の情報処理システム。
【請求項６】
前記ゲーム特定手段によるゲームの特定、及び、前記ゲームサーバ制御手段による制御が、定期的に実行される、
ことを特徴とする請求項１から５のいずれか一項に記載の情報処理システム。
【請求項７】
それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバと、
前記少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段と、
特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段と、
を含むことを特徴とする情報処理システム。
【請求項８】
それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定ステップと、
特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御ステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段、
特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１０】
それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段、
特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段、
としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
電子商取引等のサービスを提供するサーバの数を、例えば、ＣＰＵ使用率、ネットワーク入出力頻度、ディスク入出力頻度、などといったサービスの提供状況に応じて増減させる技術が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
例えば、ゲームをサービスとしてサーバで提供しようとすると、電子商取引等のサービスと比較して、サービスあたりの使用リソース量が多くなるものと考えられる。従って、１つのサーバでさばくことができる電子商取引等のサービスにおけるアクセス数と比較して、１つのサーバで実行可能なゲームの数は小さいと考えられる。そのため、実行されることが予測されるゲームに対応付けられるリソース量（例えば、ゲームにおいて使用されると予想される最大リソース量や平均リソース量など）が、稼働されるべきサーバの数の決定に与える影響は大きいと考えられる。また、ゲームをサービスとしてサーバで提供する場合には、電子商取引等のサービスよりも高いリアルタイム性が要求される。
【０００４】
しかし、従来技術では、実行されることが予測されるゲームに対応付けられるリソース量の違いを考慮した、ゲームを実行するゲームサーバの数の増減の制御が行われていなかった。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、実行されることが予測されるゲームの情報が、ゲームを実行するゲームサーバの数の増減に反映されるようにすることにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理システムは、それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段と、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段と、を含むことを特徴とする。
【０００７】
また、本発明に係る別の情報処理システムは、それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバと、前記少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段と、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段と、を含むことを特徴とする。
【０００８】
また、本発明に係る情報処理方法は、それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定ステップと、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御ステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段、としてコンピュータを機能させることを特徴とする。
【００１０】
また、本発明に係る情報記憶媒体は、それぞれ少なくとも１つのゲームを実行可能な少なくとも１つのゲームサーバにより提供されるゲームを利用するユーザに関連づけられる情報に基づいて、実行されることが予測されるゲームを少なくとも１つ特定するゲーム特定手段、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行するゲームサーバ制御手段、としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１１】
本発明によれば、特定されるゲームに対応付けられるリソース量に応じて、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御が実行されるので、実行されることが予測されるゲームの情報が、ゲームを実行するゲームサーバの数の増減に反映されることとなる。
【００１２】
本発明の一態様では、前記ゲーム特定手段は、ゲームサーバによりゲームが実行される前に、情報提供サーバからユーザに提供される情報に対応付けられるゲームを特定することを特徴とする。
【００１３】
また、本発明の一態様では、前記ゲーム特定手段は、ゲームサーバにアクセスしているユーザによるゲームサーバでのゲームの実行履歴に基づいてゲームを特定することを特徴とする。
【００１４】
また、本発明の一態様では、前記ゲーム特定手段は、ゲームサーバで実行されるゲームを利用するユーザによってプレイされた回数の多さに基づいてゲームを特定することを特徴とする。
【００１５】
また、本発明の一態様では、前記ゲーム特定手段により特定されるゲームに対応付けられるリソース量に基づいて、稼働すべきゲームサーバの数を特定するゲームサーバ数特定手段、をさらに含み、前記ゲームサーバ制御手段は、特定される数のゲームサーバが稼働されるよう、新たなゲームサーバを起動させる制御、又は、稼働中のゲームサーバを停止させる制御を実行することを特徴とする。
【００１６】
また、本発明の一態様では、前記ゲーム特定手段によるゲームの特定、及び、前記ゲームサーバ制御手段による制御が、定期的に実行されることを特徴とする。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。
【図２】本発明の一実施形態に係るクラウドサービスにおける仮想的なサーバ構成の一例を示す図である。
【図３】本発明の一実施形態に係る管理サーバで実現される機能の一例を示す機能ブロック図である。
【図４】本発明の一実施形態に係るクラウドサービスで行われる処理の流れの一例を示すフロー図である。
【図５】本発明の一実施形態に係るクラウドサービスで行われる処理の流れの一例を示すフロー図である。
【図６】ゲームサーバで実行されているゲームの最大ＣＰＵ使用率の合計の一例を模式的に示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１９】
図１は、本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。図１に示すように、インターネットなどのコンピュータネットワーク１４には、いずれもコンピュータを中心に構成されたクラウドサービス１０、クライアント１２（１２−１〜１２−ｎ）、が接続されている。そして、クラウドサービス１０、クライアント１２は、互いに通信可能になっている。
【００２０】
クライアント１２は、クラウドサービス１０のユーザが利用するコンピュータであり、例えば、パーソナルコンピュータ、ゲームコンソール、テレビ受像機、携帯型ゲーム装置、携帯情報端末、などである。そして、クライアント１２は、例えば、ＣＰＵ等の制御部、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブ等の記憶部、ディスプレイ、スピーカ等の出力部、ゲームコントローラ、タッチパッド、マウス、キーボード、マイク等の入力部、ネットワークボード等の通信部、等を備えている。また、本実施形態に係るクライアント１２は、ウェブブラウザが予めインストールされており、ウェブブラウザが実行される。
【００２１】
クラウドサービス１０は、例えば、分散コンピューティング環境であり、互いに通信可能に接続されている複数台のＷｅｂアプリケーションサーバ、複数台のデータベースサーバ、複数台のストレージデバイス、などを含んで構成されている。クラウドサービス１０に含まれるサーバは、例えば、ＣＰＵ等の制御部、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである記憶部、ネットワークボードなどの通信インタフェースである通信部、を含んで構成されている。これらの要素は、バスを介して接続される。
【００２２】
クラウドサービス１０を利用するクライアント１２は、クラウドサービス１０内に存在するサーバやストレージデバイスなどのリソースの所在を特に意識することなく、クラウドサービス１０が提供する各種サービスを利用することができる。
【００２３】
本実施形態では、クライアント１２が、ウェブブラウザを通じてクラウドサービス１０にアクセスし、ユーザＩＤ及びパスワードを入力してから、その後に所定のＵＲＬにアクセスすると、クライアント１２のディスプレイに所定のＵＲＬに対応する画面が表示される。なお、ユーザＩＤ及びパスワードを入力した後は、クラウドサービス１０は、例えば、セッションＩＤを参照することによりクライアント１２を利用するユーザのユーザＩＤを特定することができるようになっている。
【００２４】
本実施形態では、例えば、クライアント１２を利用するユーザが、クラウドサービス１０にログインすると、クラウドサービス１０は、複数のゲームのジャンル（例えば、対戦ゲーム、パズルゲーム、など）のそれぞれについての、ゲームの提供スケジュール（例えば、ゲームのタイトル、提供開始時刻、提供終了時刻、など）が示された番組表ページをクライアント１２に送信する。そして、クライアント１２は、受信した番組表ページを、ウェブブラウザを介してディスプレイ等に表示出力する。そして、ユーザが、番組表ページに示されているゲームのうちからゲームを選択する操作を実行すると、クライアント１２は、選択されたゲームの詳細情報が示された詳細ページの送信要求をクラウドサービス１０に送信する。すると、クラウドサービス１０は、選択されたゲームの詳細ページをクライアント１２に送信する。そして、クライアント１２は、受信した詳細ページを、ウェブブラウザを介してディスプレイ等に表示出力する。
【００２５】
詳細ページに示されているゲームが、クラウドサービス１０により提供中であるゲームである場合には、ユーザが、詳細ページに示されたゲームの実行を開始する操作（例えば、詳細ページに含まれる実行ボタンのクリック操作等）を行うことができるようになっている。そして、ユーザが、詳細ページに示されたゲームの実行を開始する操作を実行すると、クライアント１２は、当該ゲームの実行開始要求をクラウドサービス１０に送信する。そして、クラウドサービス１０が、ゲームの実行開始要求を受け付けると、当該ゲームの実行を開始する。そして、このゲームが実行されている間、クラウドサービス１０は、当該ゲームのプレイ内容を表す、エンコードされた音声付動画像をクライアント１２にストリーム送信する。そして、クライアント１２は、この音声付動画像を受信し、デコードし、デコードされた動画像のフレーム画像が配置されたゲーム画面を生成して、クライアント１２のディスプレイ等に表示出力するともに、受信した音声をクライアント１２のスピーカから出力する。
【００２６】
本実施形態では、各ユーザは、クラウドサービス１０から送信された動画像を見ながら、ゲームコントローラのボタンを押下するなどしてゲームを楽しむことができる。本実施形態では、各ユーザ、ゲームコントローラのボタンを押下するなどの、キー入力を行うことにより、ゲームにおけるプレイヤオブジェクトの移動等の操作を行うことができる。
【００２７】
また、クラウドサービス１０に含まれるストレージデバイス等の記憶部には、予め、ＣＤ−ＲＯＭ等の情報記憶媒体のイメージファイル（ディスクイメージ）が記憶されている。このイメージファイルには、例えば、ゲームプログラム、画像データ、音声データ等、が含まれる。
【００２８】
図２は、本実施形態に係るクラウドサービス１０における仮想的なサーバ構成の一例を示す図である。図２に示すように、本実施形態に係るクラウドサービス１０は、仮想的には、フロントエンドサーバ２０、エントランスサーバ２２、ゲームサーバ２４、管理サーバ２６、を含んでいる。なお、図２に示されているそれぞれのサーバの機能は、物理的にはどのように実現されていてもよく、例えば、１台のサーバによって図２に示されている複数種類のサーバの機能が実現されていても構わないし、複数台のサーバによって図２に示されている１種類のサーバの機能が実現されていても構わない。
【００２９】
フロントエンドサーバ２０、エントランスサーバ２２、ゲームサーバ２４、管理サーバ２６、などのクラウドサービス１０に含まれるサーバは、上述のようにコンピュータを中心に構成されており、プログラムを実行することにより、それぞれのサーバが担う各機能要素が実現されるようになっている。また、このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介して、フロントエンドサーバ２０、エントランスサーバ２２、ゲームサーバ２４、管理サーバ２６、などのクラウドサービス１０に含まれるサーバに供給される。
【００３０】
フロントエンドサーバ２０は、例えば、クライアント１２からのリクエストの受付や、クライアント１２へのレスポンスの送信を行うＷｅｂサーバである。フロントエンドサーバ２０は、また、クライアント１２からゲームの実行開始要求を受け付ける受付部としての役割を担う。エントランスサーバ２２は、例えば、フロントエンドサーバ２０が受け付けたＨＴＴＰリクエストに応じた処理を実行するエントランスサーブレットＥＳ等が配備されたアプリケーションサーバプロセス等が実行されるサーバである。ゲームサーバ２４は、例えば、エントランスサーバ２２からの処理要求を受け付けるサーブレットであるゲームサーブレットＧＳ等が配備されたアプリケーションサーバプロセスや、クライアント１２に提供されるゲームが実行されるプロセスであるゲームインスタンスＧＩなどが実行されるサーバである。管理サーバ２６は、サーバ群の負荷の監視やゲームサーバ２４の起動や停止の管理などを行うサーバである。
【００３１】
本実施形態では、フロントエンドサーバ２０又はエントランスサーバ２２のエントランスサーブレットＥＳが、上述の番組表ページや詳細ページを生成する。また、フロントエンドサーバ２０又はエントランスサーバ２２は、これらのページの他に、ユーザにより最近プレイされた所定数のゲームのプレイ履歴が一覧で表示されるプレイ履歴一覧ページや、直近の所定時間内にプレイされた回数が上位である所定数のゲームのタイトル等が一覧で表示される人気ゲームランキングページ等も生成する。これらのページについても、クライアント１２からの要求に応じて、クライアント１２に提供される。このように、本実施形態では、フロントエンドサーバ２０やエントランスサーバ２２が、ゲームサーバ２４によりゲームが実行される前に、ゲームに対応付けられる情報を提供する情報提供サーバとして役割を担う。また、クライアント１２が、上述の各種ページにアクセスすると、本実施形態に係るクラウドサービス１０は、アクセスしたユーザのユーザＩＤ、アクセス時刻、アクセスされたページの識別情報などが含まれる、アクセスログをクラウドサービス１０の記憶部に出力する。また、ユーザがゲームをプレイすると、ゲームサーバ２４が、例えば、ゲームをプレイしたユーザのユーザＩＤ、プレイされたゲームの識別情報（ゲームのＩＤやタイトル等）、プレイの開始時刻、プレイの終了時刻、などを含む、プレイ履歴情報をクラウドサービス１０の記憶部に出力する。
【００３２】
そして、フロントエンドサーバ２０又はエントランスサーバ２２は、ユーザからの要求に応じて、当該ユーザのアクセスログやプレイ履歴情報などに基づいて、当該ユーザにカスタマイズされた番組表ページ（例えば、ユーザのアクセスログやプレイ履歴情報などに基づいて、当該ユーザが興味を持っていると判定されるゲーム群の情報（例えば、ゲームのプレイ回数が多いジャンルに属するゲーム群の情報）が配置された番組表ページ）を生成して、クライアント１２に送信する。
【００３３】
また、本実施形態に係るクラウドサービス１０では、仮想的なサーバを、サーバ単位で、追加で起動させたり、稼働中の仮想的なサーバを、サーバ単位で、停止させたりすることができるようになっている。
【００３４】
管理サーバ２６では、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされている管理プログラムを起動することで生成されるプロセスである管理プロセスＭＰが実行されている。そして、管理プロセスＭＰが、ゲームインスタンスＧＩの所在管理処理、ゲームインスタンスＧＩの起動処理及び停止処理、ゲームサーバ２４の起動処理及び停止処理、クライアント１２からの要求に応じたクライアント１２とゲームインスタンスＧＩとの接続処理及び切断処理、サーバ群の負荷の監視、などを実行する。
【００３５】
本実施形態では、ゲームインスタンスＧＩは、ゲームサーバ２４に記憶されているゲームプログラムを実行するための仮想マシン（エミュレータ）である。ゲームインスタンスＧＩは、管理プロセスＭＰが、クライアント１２からの要求に応じて、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされているエミュレータプログラムを起動することにより生成される。
【００３６】
そして、ゲームサーバ２４で実行されるゲームサーブレットＧＳが、クライアント１２からのゲームの実行開始要求に応じて、クライアント１２により指定されたゲームプログラムのイメージファイルを読み込み、ゲームインスタンスＧＩにロードする。このことによって、ゲームインスタンスＧＩでゲームプログラムが実行されることとなる。なお、ゲームインスタンスＧＩが、クライアント１２により指定されたゲームプログラムを自らにロードするようにしてもよい。
【００３７】
また、ゲームインスタンスＧＩは、例えば、クライアント１２や管理プロセスＭＰからの要求に応じて、ゲームインスタンスＧＩが管理しているエミュレートされたメモリイメージやレジスタ（例えば、プログラムカウンタ等）、ゲームインスタンスＧＩ上で動作するゲームプログラムによる入出力アクセスログ、ゲームインスタンスＧＩ上で実行されるＣＰＵ命令やＧＰＵ命令のログなどを出力する。
【００３８】
本実施形態では、１つのゲームインスタンスＧＩを１つのクライアント１２が専有することができる。また、１つのゲームインスタンスＧＩに対して複数のクライアント１２が接続可能となっている。また、１つのゲームインスタンスＧＩ上で複数のゲームプログラムが実行可能となっている。また、本実施形態では、１つのクライアント１２が複数のゲームインスタンスＧＩに接続することもできるようになっている。
【００３９】
また、本実施形態では、クラウドサービス１０に含まれるサーバには、それぞれに固有の識別情報（例えば、サーバ名、ＩＰアドレスなど）が割り当てられている。そのため、クラウドサービス１０に含まれるサーバは、他のサーバを識別することができるようになっている。
【００４０】
また、本実施形態では、管理サーバ２６は、ゲームサーバ２４でゲームが実行されるたびに、そのゲームの実行の際の最大リソース使用量を表す指標の計測を行い、計測結果を示す最大リソース使用量データを、実行されたゲームの識別情報と関連づけて、クラウドサービス１０の記憶部に出力する。本実施形態では、最大リソース使用量の具体例としては、最もＣＰＵが使用された際に、仮想的なサーバにおいてどの程度の量のＣＰＵが使用されたかを示す指標（より具体的には、例えば、最大ＣＰＵ使用量、最大ＣＰＵ使用率、最大ＣＰＵ使用時間、など）、最もメモリが使用された際に仮想的なサーバにおいてどの程度の量のメモリが使用されたかを示す指標（より具体的には、例えば、最大メモリ使用量など）、最も入出力が行われた際に仮想的なサーバにおいてどの程度の量の入出力が行われたかを示す指標（より具体的には、例えば、単位時間あたりの最大ネットワーク入出力回数（最大ネットワーク入出力頻度）、単位時間あたりの最大ディスク入出力回数頻度（最大ネットワーク入出力頻度））、などが挙げられる。そして、最大リソース使用量データの具体例としては、最大ＣＰＵ使用量を示す最大ＣＰＵ使用量データ、最大ＣＰＵ使用率を示す最大ＣＰＵ使用率データ、最大ＣＰＵ使用時間を示す最大ＣＰＵ使用時間データ、最大メモリ使用量を示す最大メモリ使用量データ、最大ネットワーク入出力頻度を示す最大ネットワーク入出力頻度データ、最大ディスク入出力頻度を示す最大ディスク入出力頻度データ、などが挙げられる。そして、本実施形態では、管理サーバ２６は、計測結果を示す最大リソース使用量データの値が、記憶されていた最大リソース使用量データの値を超える場合に、記憶されている最大リソース使用量データを更新する。このようにして、本実施形態では、ゲームが複数回実行された場合については、複数回のゲームの実行のうちの、最大リソース使用量が最も多いゲームの実行における最大リソース使用量データがクラウドサービス１０の記憶部に記憶されることとなる。そして、本実施形態に係るクラウドサービス１０では、ゲームの実行開始要求を受け付けた際には、当該ゲームの最大リソース使用量データを取得することができるようになっている。
【００４１】
また、本実施形態では、クラウドサービス１０の記憶部に、１のゲームサーバ２４において、ゲームの実行にあたって確保可能なリソース量の合計の上限を示す上限リソース量データ（例えば、ＣＰＵ使用量の上限を示す上限ＣＰＵ使用量データ、ＣＰＵ使用率の上限（例えば、１００％）を示す上限ＣＰＵ使用率データ、ＣＰＵ使用時間の上限を示す上限ＣＰＵ使用時間データ、メモリ使用量の上限を示す上限メモリ使用量データ、ネットワーク入出力頻度の上限を示す上限ネットワーク入出力頻度データ、ディスク入出力頻度の上限を示す上限ディスク入出力頻度データ、など）が記憶されている。なお、例えば、オペレーティングシステム等によって使用されるリソース量が変動することによって、１のゲームサーバ２４において、ゲームの実行にあたって確保可能なリソース量の合計の上限が変動することが考えられる。そこで、管理サーバ２６が、ゲームサーバ２４においてオペレーティングシステム等によって使用されているリソース量を監視する（例えば、所定時間間隔で監視する）ようにしてもよい。そして、管理サーバ２６が、当該監視結果に基づいて、ゲームの実行にあたって確保可能なリソース量の合計の上限を算出して、算出された値に上限リソース量データの値を更新するようにしてもよい。もちろん、管理サーバ２６が、１のゲームサーバ２４において、ゲームの実行にあたって確保可能なリソース量の合計の上限を監視して、監視結果である値に上限リソース量データの値を更新するようにしてもよい。このように、上限リソース量データの値が可変であっても構わない。
【００４２】
また、本実施形態では、クラウドサービス１０の記憶部に、稼働中（起動済）のゲームサーバ２４のそれぞれに対応付けられる、ゲームサーバ２４の識別情報と、当該ゲームサーバ２４において実行中である少なくとも１つのゲームそれぞれの識別情報と、が含まれる実行管理データが記憶される。そして、この実行管理データによって、クラウドサービス１０は、稼働中のゲームサーバ２４で何のゲームが実行されているかについての情報を得ることができることとなる。
【００４３】
図３は、本実施形態に係る管理サーバ２６で実現される機能の一例を示す機能ブロック図である。なお、図３には、以下の説明と特に関係がある機能が示されているにすぎず、本実施形態に係る管理サーバ２６では、図３に示す機能以外の機能も実現されている。
【００４４】
図３に示すように、本実施形態に係る管理サーバ２６は、機能的には、例えば、ゲームサーバ管理部３０、負荷監視部３２、学習部３４、ゲーム特定部３６、を含んでいる。これらの機能は、例えば、管理サーバ２６が備える制御部を主として実現される。上述のように、管理サーバ２６は、上述のようにコンピュータを中心に構成されており、プログラムを実行することにより、それぞれのサーバが担う各機能要素が実現されるようになっている。また、このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介して、管理サーバ２６に供給される。
【００４５】
ゲームサーバ管理部３０は、実行開始の対象となるゲームが実行されるゲームサーバ２４の特定、ゲームサーバ２４の起動や停止、ゲームインスタンスＧＩとクライアント１２との接続や切断、などを実行する。負荷監視部３２は、上述の最大リソース使用量の計測や、最大リソース使用量データの記憶部への出力などを実行する。学習部３４は、後述する定期スケーリングにおいて、必要なゲームサーバ２４の数の予測の基礎となる学習処理を実行する。ゲーム特定部３６は、後述する定期スケーリングにおいて、必要なゲームサーバ２４の数の予測の基礎となるゲームの特定を実行する。
【００４６】
ここで、本実施形態に係るクラウドサービス１０で行われる、クライアント１２からゲームの実行開始要求を受け付けてから、実行開始の対象となるゲームのゲームプログラムがゲームインスタンスＧＩにロードされるまでの処理の流れの一例を、図４に例示するフロー図を参照しながら説明する。
【００４７】
まず、フロントエンドサーバ２０が、クライアント１２からゲームの実行開始要求を受け付ける（Ｓ１０１）。この実行開始要求には、実行開始の対象となるゲームの識別情報（例えば、ゲームのＩＤやタイトル等）が関連づけられている。そして、フロントエンドサーバ２０は、受け付けた実行開始要求をエントランスサーバ２２に送信する（Ｓ１０２）。そして、エントランスサーバ２２は、実行開始の対象となるゲームが実行されるゲームサーバ２４の問い合わせを管理サーバ２６に出力する。そして、管理サーバ２６のゲームサーバ管理部３０が、当該問い合わせを受け付ける（Ｓ１０３）。
【００４８】
そして、管理サーバ２６のゲームサーバ管理部３０は、実行開始の対象となるゲームが実行されるゲームサーバ２４を特定する（Ｓ１０４）。Ｓ１０４に示す処理では、必要に応じて、管理サーバ２６のゲームサーバ管理部３０が、ゲームサーバ２４を起動させる。当該起動は、後述するアドホックスケーリングに該当する。Ｓ１０４に示す処理の詳細については後述する。
【００４９】
そして、管理サーバ２６のゲームサーバ管理部３０は、特定されたゲームサーバ２４の識別情報をエントランスサーバ２２に出力する（Ｓ１０５）。そして、エントランスサーバ２２は、Ｓ１０５に示す処理で管理サーバ２６から受け付けた識別情報に基づいて識別されるゲームサーバ２４に、実行開始の対象となるゲームの識別情報に関連づけられた、ゲームインスタンスＧＩの生成要求を出力する（Ｓ１０６）。ここで、Ｓ１０５に示す処理で管理サーバ２６から受け付けた識別情報に基づいて識別されるゲームサーバ２４が起動中である場合は、エントランスサーバ２２は、ゲームサーバ２４の起動が完了した後に、ゲームインスタンスＧＩの生成要求を出力する。
【００５０】
そして、生成要求を受け付けたゲームサーバ２４は、ゲームインスタンスＧＩを生成し、実行開始の対象となるゲームのゲームプログラムを生成したゲームインスタンスＧＩにロードする（Ｓ１０７）。そして、Ｓ１０６に示す処理で生成要求を受け付けたゲームサーバ２４は、当該ゲームサーバ２４の識別情報が含まれる実行管理データに、ロードされたゲームプログラムに対応するゲームの識別情報を追加して（Ｓ１０８）、本処理例に示す処理を終了する。
【００５１】
以上のようにして、ゲームインスタンスＧＩにゲームがロードされると、管理サーバ２６のゲームサーバ管理部３０は、ゲームの実行開始要求の出力元のクライアント１２と、生成されたゲームインスタンスＧＩとの接続処理を実行する。そして、ゲームインスタンスＧＩで実行されるゲームのプレイ内容を表す、エンコードされた音声付動画像がクライアント１２に送信されることとなる。
【００５２】
そして、クライアント１２が実行されているゲームの終了要求をクラウドサービス１０に送信すると、終了が要求されたゲームのゲームインスタンスＧＩが実行されているゲームサーバ２４は、当該ゲームインスタンスＧＩを終了させる。このことによって、当該ゲームインスタンスＧＩがゲームサーバ２４から消滅し、ゲームインスタンスＧＩが使用していたリソースは解放される。また、併せて、当該ゲームサーバ２４は、当該ゲームサーバ２４の識別情報が含まれる実行管理データから、当該ゲームインスタンスＧＩで実行されていたゲームの識別情報を削除する。
【００５３】
また、上述のように、本実施形態に係るクラウドサービス１０では、稼働しているゲームサーバ２４の数の最適化が行われる。本実施形態では、稼働しているゲームサーバ２４の数の最適化は、（１）例えば、クライアント１２から受け付ける、ゲームの実行開始要求が急増した場合などに、クライアント１２からの要求に応じるためにゲームサーバ２４の追加起動を行うアドホックスケーリング、及び、（２）所定時間間隔で、必要なゲームサーバ２４の数を予測して、当該予測された数になるようゲームサーバ２４の起動や停止を行う定期スケーリング、という２種類のスケーリング手法によって行われる。そして、上述のように、アドホックスケーリングは、上述のＳ１０４に示す処理において必要に応じて行われる。
【００５４】
ここで、Ｓ１０４に示す処理の詳細を、図５に例示するフロー図を参照しながら説明する。まず、管理サーバ２６のゲームサーバ管理部３０が、実行開始の対象となるゲームのゲームインスタンスＧＩを生成することが可能な、起動済（稼働中）のゲームサーバ２４（ここでは、実行開始の対象となるゲームに対応付けられるリソース量が、確保可能な残りのリソース量の範囲内である、起動済のゲームサーバ２４）が存在するか否かを確認する（Ｓ２０１）。Ｓ２０１に示す処理では、例えば、ゲームサーバ２４の上限リソース量データの値（例えば、上限ＣＰＵ使用率データの値）から、実行管理データにおいて当該ゲームサーバ２４に関連づけられているゲームそれぞれの最大リソース使用量データの値（例えば、最大ＣＰＵ使用率データの値の合計）を引いた値が、実行開始の対象となるゲームの最大リソース使用量の値（例えば、最大ＣＰＵ使用率データの値）以上である、起動済のゲームサーバ２４が存在するか否かが確認される。
【００５５】
存在する場合は（Ｓ２０１：Ｙ）、管理サーバ２６のゲームサーバ管理部３０は、実行開始の対象となるゲームのゲームインスタンスＧＩが生成された後における確保可能な残りのリソース量を最小化できるゲームサーバ２４を、注目ゲームサーバとして特定して（Ｓ２０２）、Ｓ１０４に示す処理を終了する。Ｓ２０２に示す処理で、管理サーバ２６のゲームサーバ管理部３０は、例えば、Ｓ２０１に示す処理で、存在が確認されたゲームサーバ２４（以下、候補ゲームサーバと呼ぶ。）のうちから、実行中であるゲームの最大ＣＰＵ使用率の合計が最も大きなゲームサーバ２４を注目ゲームサーバとして特定する。
【００５６】
図６は、ゲームサーバ２４（Ａ）とゲームサーバ２４（Ｂ）で実行されているゲームの最大ＣＰＵ使用率の合計の一例を模式的に示す図である。図６に示すように、ゲームサーバ２４（Ａ）とゲームサーバ２４（Ｂ）とが稼働中であり、ゲームサーバ２４（Ａ）では最大ＣＰＵ使用率データの値の合計が８０％である３つのゲーム（ゲームａ、ゲームｂ、及び、ゲームｃ）が実行中であり、ゲームサーバ２４（Ｂ）では実行中のゲームが存在しない場面を想定する。
【００５７】
このとき、実行開始の対象となるゲームの最大ＣＰＵ使用率データの値が３０％である場合には、ゲームサーバ２４（Ａ）では、上限ＣＰＵ使用率データの値（ここでは、１００％）から、ゲームサーバ２４で実行中であるゲームの最大ＣＰＵ使用率の合計を引いた値である２０％が、実行開始の対象となるゲームの最大ＣＰＵ使用率データの値である３０％未満であるため、ゲームサーバ２４（Ａ）は、候補ゲームサーバとしては特定されない。一方、ゲームサーバ２４（Ｂ）は、候補ゲームサーバとして特定される。この場合は、ゲームサーバ２４（Ｂ）だけが候補ゲームサーバとして特定されたので、ゲームサーバ２４（Ｂ）が注目ゲームサーバとして特定されることとなる。
【００５８】
実行開始の対象となるゲームの最大ＣＰＵ使用率データの値が１５％である場合には、ゲームサーバ２４（Ａ）では、上限ＣＰＵ使用率データの値（ここでは、１００％）から、ゲームサーバ２４で実行中であるゲームの最大ＣＰＵ使用率の合計を引いた値である２０％が、実行開始の対象となるゲームの最大ＣＰＵ使用率データの値である１５％以上であるため、ゲームサーバ２４（Ａ）が、候補ゲームサーバとして特定される。また、ゲームサーバ２４（Ｂ）も候補ゲームサーバとして特定される。そして、候補ゲームサーバのうち、実行中であるゲームの最大ＣＰＵ使用率の合計が最も大きいゲームサーバ２４は、ゲームサーバ２４（Ａ）であるので、ゲームサーバ２４（Ａ）が注目ゲームサーバとして特定されることとなる。
【００５９】
Ｓ２０１に示す処理で、実行開始の対象となるゲームの最大リソース使用量が、確保可能な残りのリソース量の範囲内であるゲームサーバ２４が存在しないことが確認された場合は（Ｓ２０１：Ｎ）、管理サーバ２６のゲームサーバ管理部３０は、実行開始の対象となるゲームのゲームインスタンスＧＩを生成することが可能な、起動中のゲームサーバ２４（ここでは、実行開始の対象となるゲームに対応付けられるリソース量が、確保可能な残りのリソース量の範囲内である、起動中のゲームサーバ２４）が存在するか否かを確認する（Ｓ２０３）。Ｓ２０３に示す処理では、起動されると実行が開始される予定となっているゲーム（実行管理データにおいて、起動中のゲームサーバ２４に関連づけられているゲーム）のゲームインスタンスＧＩが生成されたとしても確保可能な残りのリソース量の範囲内であるゲームサーバ２４が存在するか否かを確認する。より具体的には、例えば、起動中のゲームサーバ２４の上限リソース量データの値（例えば、上限ＣＰＵ使用率データの値）から、実行管理データにおいて当該ゲームサーバ２４に関連づけられているゲームそれぞれの最大リソース使用量データの値（例えば、最大ＣＰＵ使用率データの値の合計）を引いた値が、実行開始の対象となるゲームの最大リソース使用量の値（例えば、最大ＣＰＵ使用率データの値）以上である、起動中のゲームサーバ２４が存在するか否かが確認される。
【００６０】
存在しない場合は（Ｓ２０３：Ｎ）、管理サーバ２６のゲームサーバ管理部３０は、新規のゲームサーバ２４を起動させる（Ｓ２０４）。このＳ２０４に示す処理が、上述のアドホックスケーリングに該当する処理である。そして、管理サーバ２６のゲームサーバ管理部３０は、当該ゲームサーバ２４の識別情報が含まれる実行管理データを生成して、クラウドサービス１０の記憶部に記憶させる（Ｓ２０５）。
【００６１】
そして、管理サーバ２６のゲームサーバ管理部３０は、注目ゲームサーバを特定して（Ｓ２０６）、Ｓ１０４に示す処理を終了する。Ｓ２０６に示す処理においては、Ｓ２０３に示す処理で、上述の条件を満足するゲームサーバ２４の存在が確認された場合は（Ｓ２０３：Ｙ）、存在が確認されたゲームサーバ２４が注目ゲームサーバとして特定され、Ｓ２０４に示す処理が実行された際には、Ｓ２０４に示す処理で新規に起動されるゲームサーバ２４が注目ゲームサーバとして特定される。
【００６２】
そして、上述のＳ１０５に示す処理において、管理サーバ２６のゲームサーバ管理部３０によって、Ｓ２０２又はＳ２０６に示す処理で特定された注目ゲームサーバの識別情報がエントランスサーバ２２に出力されることとなる。本実施形態では、新規のゲームサーバが注目ゲームサーバとして特定された場合には、Ｓ２０４に示す処理による注目ゲームサーバの起動が完了次第、注目ゲームサーバにゲームインスタンスＧＩが生成され、当該ゲームインスタンスＧＩに実行開始の対象となるゲームのゲームプログラムがロードされることとなる。そして、起動中のゲームサーバが注目ゲームサーバとして特定された場合には、起動中の注目ゲームサーバの起動が完了次第、注目ゲームサーバにゲームインスタンスＧＩが生成され、当該ゲームインスタンスＧＩに実行開始の対象となるゲームのゲームプログラムがロードされることとなる。そして、起動済のゲームサーバが注目ゲームサーバとして特定された場合には、ゲームサーバの起動の完了を待つことなく注目ゲームサーバにゲームインスタンスＧＩが生成され、当該ゲームインスタンスＧＩに実行開始の対象となるゲームのゲームプログラムがロードされることとなる。そのため、Ｓ２０６に示す処理の終了から実行開始の対象となるゲームプログラムの実行開始までの時間は、起動済のゲームサーバが注目ゲームサーバとして特定された場合、起動中のゲームサーバが注目ゲームサーバとして特定された場合、Ｓ２０４に示す処理で起動される新規のゲームサーバが注目ゲームサーバとして特定された場合、の順に長くなることとなる。
【００６３】
このようにして、本実施形態によれば、ゲームの実行開始要求が殺到したとしても、起動中のゲームサーバ２４のリソースに余裕がなくなってはじめて新規のゲームサーバ２４が起動されることとなるので、余分なゲームサーバ２４が起動されてしまうことを防ぐことができることとなる。
【００６４】
以下、定期スケーリングについて説明する。
【００６５】
本実施形態では、管理サーバ２６の学習部３４が、所定のタイミングに（例えば、所定時間間隔で）、必要なゲームサーバ２４の数（以下、必要ゲームサーバ数と呼ぶ。）の予測の基礎となるパラメータの値等である予測基礎データと、予測基礎データが示すパラメータの値等の取得が行われたタイミングの所定時間後に稼働中であるゲームサーバ２４の数である学習ゲームサーバ数データと、が含まれる学習データを生成して、クラウドサービス１０の記憶部に記憶させる。
【００６６】
学習部３４は、例えば、学習タイミングにおいてログインしているユーザによって直近所定時間内にアクセスされた詳細ページに示されているゲームの識別情報（例えば、ゲームのＩＤやタイトルなど）と、そのゲームの詳細ページのアクセス回数と、を予測基礎データの値として特定する。例えば、ゲームａについては詳細ページのアクセスが１００回行われ、ゲームｂについては詳細ページのアクセスが２００回行われたことなどが特定される。そして、学習部３４は、ゲームの識別情報の特定から所定時間後（例えば、２分後）に稼働中であるゲームサーバ２４の数を、学習ゲームサーバ数データの値として特定する。そして、学習部３４は、特定されたゲームの識別情報、アクセス回数、を予測基礎データとして含み、稼働中であるゲームサーバ２４の数の値を学習ゲームサーバ数データの値として含む、学習データを記憶部に記憶させる。
【００６７】
そして、学習部３４は、上述の学習データの生成が行われると、それまでに行われた複数回の学習によって生成された学習データに基づいて、ゲームと必要ゲームサーバ数との関係を示す関係データを生成する。本実施形態では、例えば、学習データに基づいて特定される、ゲームの詳細ページの１回のアクセスに対応付けられる学習ゲームサーバ数データの値が、当該ゲームの必要ゲームサーバ数として特定されることとなる。ここでは、例えば、ゲームａの識別情報と、必要ゲームサーバ数の値０．１と、が含まれる関係データと、ゲームｂの識別情報と、必要ゲームサーバ数の値０．２と、が含まれる関係データと、が生成されたこととする。
【００６８】
そして、本実施形態では、定期的に（例えば、所定時間間隔で）、定期スケーリングが行われる。管理サーバ２６のゲーム特定部３６は、定期スケーリングを実行するタイミングにおいてログイン中であるユーザを特定する。そして、管理サーバ２６のゲーム特定部３６は、アクセスログに基づいて、特定されたユーザのそれぞれが上述の直近所定時間内にアクセスした詳細ページに示されているゲームの識別情報を、実行が予測されるゲームの識別情報として特定する。このようにして、少なくとも１つのゲームと、そのゲームの詳細ページがアクセスされた回数と、が特定されることとなる。そして、管理サーバ２６のゲームサーバ管理部３０が、特定されたゲーム及びそのゲームの詳細ページがアクセスされた回数と、上述の関係データと、に基づいて、必要ゲームサーバ数を特定する。例えば、ゲームａのアクセス回数が１００で、ゲームｂのアクセス回数が１５０である場合は、必要ゲームサーバ数は、４０（１００と０．１との積と、１５０と０．２との積と、の和）と特定される。
【００６９】
このようにして特定された必要ゲームサーバ数が、定期スケーリングのタイミングで稼働中であるゲームサーバ２４の数（以下、稼働中ゲームサーバ数と呼ぶ。）よりも多い場合は、管理サーバ２６のゲームサーバ管理部３０は、必要ゲームサーバ数から稼働中ゲームサーバ数を引いた数のゲームサーバ２４を新たに起動させる制御を実行する。
【００７０】
一方、特定された必要ゲームサーバ数が、稼働中ゲームサーバ数よりも少ない場合は、管理サーバ２６のゲームサーバ管理部３０は、ゲームインスタンスＧＩが実行されていないゲームサーバ２４を、最大、稼働中ゲームサーバ数から必要ゲームサーバ数を引いた数まで終了させる制御を実行する。なお、ここで、管理サーバ２６のゲームサーバ管理部３０は、ゲームサーバ２４の利用時間に応じた課金が行われるタイミングまでの時間が所定時間（具体的には、例えば、ゲームサーバ２４で実行されるゲームの平均プレイ時間）以下あるいは未満となったタイミングで、ゲームサーバ２４を停止させる制御を実行するようにしてもよい。
【００７１】
このようにして、本実施形態によれば、実行されることが予測されるゲームの情報が、ゲームを実行するゲームサーバ２４の数の増減に反映されることとなる。
【００７２】
なお、定期スケーリングに関する処理は、上述の例には限定されない。
【００７３】
例えば、予測基礎データとして、学習タイミングにおいてログインしているユーザによって直近所定時間内にアクセスされた詳細ページに示されているゲームの識別情報の代わりに、学習タイミングにおいてログインしているユーザによって最後にアクセスされた詳細ページに示されているゲームの識別情報を用いるようにしてもよい。そして、管理サーバ２６のゲーム特定部３６が、定期スケーリングを実行するタイミングにおいてログイン中であるユーザのそれぞれが最後にアクセスした詳細ページに示されているゲームの識別情報を特定するようにしてもよい。
【００７４】
また、例えば、予測基礎データとして、詳細ページに示されているゲームの識別情報の代わりに、ログインしているユーザに提供されている番組表ページに示されているゲームの識別情報を用いるようにしてもよい。また、学習部３４が、番組表ページによるゲームに関する情報の１回の提供に対応付けられる必要ゲームサーバ数を示す関係データを生成するようにしてもよい。あるいは、学習部３４が、番組表ページに占める対戦ゲームの割合や、対戦でのプレイヤ数と、必要ゲームサーバ数との関係を示す関係データを生成するようにしてもよい。そして、ゲーム特定部３６が、定期スケーリングのタイミングでログインしているユーザの番組表ページに示されているゲームを特定するようにしてもよい。そして、ゲームサーバ管理部３０が、特定されたゲームと、上述の関係データと、に基づいて必要ゲームサーバ数を特定するようにしてもよい。
【００７５】
また、例えば、予測基礎データとして、プレイ履歴情報に示されている、ログインしているユーザが直近の所定時間内にプレイしたゲームの識別情報を用いるようにしてもよい。そして、学習部３４が、直近の所定時間内における１回のゲームのプレイに対応付けられる必要ゲームサーバ数を示す関係データを生成するようにしてもよい。そして、ゲーム特定部３６が、定期スケーリングのタイミングでログインしているユーザが直近の所定時間内にプレイしたゲームと、上述の関係データと、に基づいて、必要ゲームサーバ数を特定するようにしてもよい。
【００７６】
また、学習部３４が、ログインしているユーザにとってプレイされている頻度の高い少なくとも１つのゲーム（人気のあるゲーム）と、必要ゲームサーバ数と、の関係を示す関係データを生成するようにしてもよい。そして、ゲーム特定部３６が、定期スケーリングのタイミングでログインしているユーザにとってプレイされている頻度の高い少なくとも１つのゲーム（人気のあるゲーム）を特定して、特定されたゲームと上述の関係データとに基づいて、必要ゲームサーバ数を特定するようにしてもよい。
【００７７】
また、例えば、学習部３４が、クラウドサービス１０が提供するゲームに関するイベントの開始時刻や終了時刻までの時間や、イベントの開始時刻や終了時刻からの時間と、必要ゲームサーバ数との関係を示す関係データを生成するようにしてもよい。そして、ゲームサーバ管理部３０が、定期スケーリングのタイミングとイベントの開始時刻や終了時刻との関係と、上述の関係データと、に基づいて、必要ゲームサーバ数を特定するようにしてもよい。
【００７８】
また、例えば、クラウドサービス１０に、ユーザのそれぞれについての、当該ユーザと親しいユーザであるフレンドユーザに関する情報が登録されていてもよい。そして、学習部３４が、学習のタイミングでログインしているユーザのフレンドユーザが定期スケーリングのタイミングにプレイしているゲーム、学習のタイミングでログインしているユーザに対する、フレンドユーザから誘いや推薦等のメッセージに含まれているゲーム、学習のタイミングでログインしているユーザが観戦しているゲーム、学習のタイミングでログインしているユーザが繰り返しプレイしているゲーム、学習のタイミングでログインしている有料のチケットを購入したゲームなどと、必要ゲームサーバ数との関係を示す関係データを生成するようにしてもよい。そして、ゲーム特定部３６が、定期スケーリングのタイミングでログインしているユーザに関する上述の情報と、上述の関係データと、に基づいて、必要ゲームサーバ数を特定するようにしてもよい。
【００７９】
また、例えば、管理サーバ２６が、ログインしているユーザが購入しているチケットの残りがなくなったゲームや、何度も失敗してコンティニューしていた面をようやくクリアしたゲームを、そろそろ終了するゲームとして取り扱うことによって、必要ゲームサーバ数を特定するようにしてもよい。
【００８０】
また、上述の予測基礎データや関係データにおけるゲームの識別情報の代わりに、ゲームのジャンルの識別情報を用いるようにしてもよい。そして、ゲーム特定部３６が、ゲームのジャンルを特定するようにしてもよい。そして、ゲームサーバ管理部３０が、特定されたゲームのジャンルに基づいて、必要ゲームサーバ数を特定するようにしてもよい。
【００８１】
また、学習部３４が、以上の説明で、予測基礎データや関係データとして例示された複数の要素の組合せと、必要ゲームサーバ数と、の関係を示す関係データを生成するようにしてもよい。そして、管理サーバ２６が、定期スケーリングのタイミングにおける複数の要素の組合せと、上述の関係データと、に基づいて、必要ゲームサーバ数を特定するようにしてもよい。
【００８２】
なお、本実施形態において、クラウドサービス１０を提供する事業者と、クラウドサービス１０が提供する仮想的なサーバ群でアプリケーションプログラムを動作させることにより、アプリケーションプログラムによって実現されるサービスを、クライアント１２を利用するエンドユーザに提供する事業者と、が異なっていてもよいし、同じであっても構わない。
【００８３】
なお、本発明は上述の実施形態に限定されるものではない。
【００８４】
例えば、ゲームサーバ２４でゲームが実行されるたびに、管理サーバ２６が、ゲームの最大リソース使用量の計測結果を示す最大リソース使用量データを、実行されたゲームのジャンルの識別情報と関連づけて、クラウドサービス１０の記憶部に出力するようにしてもよい。そして、例えば、Ｓ２０１に示す処理で、ゲームサーバ２４の上限リソース量データの値から、実行管理データにおいて当該ゲームサーバ２４に関連づけられているゲームそれぞれのジャンルの識別情報と関連づけられている最大リソース使用量データの値を引いた値が、実行開始の対象となるゲームの最大リソース使用量の値以上であるゲームサーバ２４が存在するか否かが確認されるようにしてもよい。このように、最大リソース使用量の管理を、ゲーム単位で行う代わりに、ゲームのジャンル単位で行うようにしてもよい。
【００８５】
また、例えば、最大リソース使用量データが、直近所定回数におけるゲームの実行における、最大リソース使用量の代表値（例えば、直近所定回数におけるゲームの実行における、最大リソース使用量の平均値）を示していてもよい。
【００８６】
また、例えば、クラウドサービス１０が、最大リソース使用量データの代わりに、ゲームの実行の際の平均ＣＰＵ使用率、平均メモリ使用量、単位時間あたりの平均ネットワーク入出力回数（平均ネットワーク入出力頻度）、単位時間あたりの平均ディスク入出力回数頻度（平均ネットワーク入出力頻度）、等といった、平均リソース使用量の計測結果を示す平均リソース使用量データを用いるようにしてもよい。このとき、ゲームが複数回実行された場合については、複数回のゲームの実行のうちの、平均リソース使用量が最も多いゲームの実行における平均リソース使用量データがクラウドサービス１０の記憶部に記憶されるようにしてもよい。また、このとき、平均リソース使用量データが、直近所定回数におけるゲームの実行における、平均リソース使用量の代表値（例えば、直近所定回数におけるゲームの実行における、平均リソース使用量の平均値）を示していてもよい。なお、この場合に、上限リソース量データが、ゲームの実行にあたって確保可能な平均リソース使用量の合計の上限を示すようにしてもよい。
【００８７】
また、例えば、管理サーバ２６が、定期スケーリングにおいて、定期スケーリングのタイミングで稼働中のゲームインスタンスＧＩの数に所定数（例えば、１．１）を乗じた値のゲームインスタンスＧＩの生成に必要なゲームサーバ２４の数を、必要ゲームサーバ数として特定するようにしてもよい。
【００８８】
また、例えば、管理サーバ２６が、現在のゲームサーバ２４の稼働数に、直近の所定時間（例えば、ゲームサーバ２４の起動に要する時間（例えば、２分間））に起動されたゲームサーバ２４の数を増加させ、直近の所定時間に停止されたゲームサーバ２４の数を減少させた数を、必要ゲームサーバ数として特定するようにしてもよい。
【００８９】
また、クラウドサービス１０に含まれるサーバが、ショッピングサイトやＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）等のサービスを提供してもよい。
【００９０】
また、ゲームプログラムはエミュレータで実行される必要はなく、例えば、クラウドサービス１０やクライアント１２のシステムソフトウェア（オペレーティングシステム等）上で実行されてもよい。また、クラウドサービス１０とクライアント１２の役割分担は上述の例には限定されない。
【００９１】
また、上記の具体的な文字列や図面中の具体的な文字列は例示であり、これらの文字列には限定されない。
【符号の説明】
【００９２】
１０  クラウドサービス、１２  クライアント、１４  コンピュータネットワーク、２０  フロントエンドサーバ、２２  エントランスサーバ、２４  ゲームサーバ、２６  管理サーバ、３０  ゲームサーバ管理部、３２  負荷監視部、３４  学習部、３６  ゲーム特定部。
【図１】
2013109548.tif 000003
【図２】
2013109548.tif 000004
【図３】
2013109548.tif 000005
【図４】
2013109548.tif 000006
【図５】
2013109548.tif 000007
【図６】
2013109548.tif 000008