(57)【要約】【課題】ゲームクラウドサーバ上にゲームをプリロードすることにより、ユーザがゲームを実際に選択するときに即時表示及び／またはインスタントプレイを可能とする。【解決手段】複数のゲームのうちの選択されたゲームの１つ以上のインスタンスをクラウドゲームサーバ上の１つ以上のゲームコンソール上にプリロードするインスタントプレイを予測するための方法及びシステムである。インスタンスのロードは、ゲームの使用履歴に基づいている。複数のゲームのうちの選択されたゲームにて検出されたユーザインタラクションが所定の閾値を超えたことに応答して、１つ以上のゲームコンソール上にロードされた複数のゲームの複数のインスタンスのうちの選択されたインスタンスにユーザを割り当てる。ユーザに割り当てられた複数のゲームのうちの選択されたゲームのインスタンスにてユーザインタラクションが監視される。【選択図】図３Ａ
2019171087.tif 000002
【特許請求の範囲】
【請求項１】
クラウドゲームサーバ上の１つ以上のゲームコンソール上に複数のゲームのうちの選択されたゲームの１つ以上のインスタンスをロードし、この１つ以上のインスタンスのロードは、前記クラウドゲームサーバ上の前記複数のゲームのそれぞれについて利用可能な使用履歴に基づくものであり、
前記複数のゲームのうちの前記選択されたゲームにて現在検出されたユーザのユーザインタラクションの長さが所定の閾値を超えたとき、前記１つ以上のゲームコンソール上にロードされた前記複数のゲームのうちの前記選択されたゲームのインスタンスに前記ユーザを割り当て、
前記ユーザに割り当てられた前記ロードされた複数のゲームのうちの前記選択されたゲームの前記それぞれのインスタンスにおけるユーザインタラクションを監視し、
前記ユーザの前記監視されたユーザインタラクションに基づいて前記１つ以上のゲームコンソール上にロードされた前記複数のゲームのうちの前記選択されたゲームのインスタンスの数を動的に調節し、動的調節には、前記１つ以上のゲームコンソール上にロードされた前記複数のゲームのインスタンスの数を増加または減少させることが含まれる方法であって、
前記クラウドゲームサーバのプロセッサによって前記方法の動作が実行される、方法。
【請求項２】
１つ以上のゲームコンソール上にロードされたゲームがシングルユーザゲームである場合、ユーザの割り当てには、前記ゲームの各インスタンスをユーザに割り当てることが含まれ、
前記ゲームがマルチユーザゲームである場合、ユーザの割り当てには、前記ゲームの各インスタンスを複数のユーザに割り当てることが含まれ、前記複数のユーザは、同じ場所に位置してもよく、または遠隔に位置してもよい、
請求項１に記載の方法。
【請求項３】
ユーザの割り当てには、
前記ユーザに割り当てられた前記複数のゲームのうちの前記選択されたゲームの前記インスタンスのステータスを監視して、前記ユーザに割り当てられた前記複数のゲームのうちの前記選択されたゲームの前記それぞれのインスタンスにおけるユーザの関与の有無を決定することと、
前記監視に基づき、前記複数のゲームのうちの特定のゲームの１つ以上のインスタンスにてユーザの関与が検出されなかったとき、前記複数のゲームのうちの前記特定のゲームの前記１つ以上のインスタンスを１人以上の他のユーザに再度割り当てることとが更に含まれる、
請求項１に記載の方法。
【請求項４】
ステータスの監視には、
前記クラウドゲームサーバ上で利用可能な各ゲームの前記インスタンスのインスタントプレイログを維持し、前記インスタントプレイログは、各ゲームの前記インスタンスのそれぞれにおけるユーザインタラクションに基づいて前記使用履歴を常時監視し、前記インスタントプレイログに提供された情報は、前記複数のゲームの前記インスタンスを管理し、前記複数のゲームのうちの特定のゲームの前記インスタンスを様々なユーザに割り当てるために使用されるものである、
請求項３に記載の方法。
【請求項５】
前記調節では、更に、
前記インスタントプレイログに提供された情報を使用して所定の期間の特定のゲームの前記使用履歴を決定し、
前記所定の期間中の前記特定のゲームの前記使用履歴が前記特定のゲームで利用可能なインスタンスの数より所定の閾値だけ少ない需要を示しているとき、前記特定のゲームのインスタンスの前記数を少ない方に調節する、
請求項４に記載の方法。
【請求項６】
前記調節では、更に、
前記インスタントプレイログに提供された情報を使用して特定のゲームの使用需要を予測し、前記インスタントプレイログの前記情報は、前記特定のゲーム及び状況的に類似したゲームの使用履歴を提供するものであり、
前記特定のゲームのために予測された前記使用需要に基づいて前記特定のゲームのインスタンスの前記数を調節する、
請求項４に記載の方法。
【請求項７】
ゲームのインスタンスのロードでは、前記ゲームの汎用的なゲーム関連データをロードし、かつ、ユーザを割り当てでは、前記ゲームのそれぞれのユーザのユーザ関連データをロードする、
請求項１に記載の方法。
【請求項８】
前記ロードでは、更に、
前記クラウドゲームサーバの各ゲームコンソール上でインスタンス化することができるゲームのインスタンスの前記数について所定の閾値を決定し、
前記所定の閾値及び前記ゲームの前記使用履歴に従って前記ゲームのインスタンスの前記数をロードする、
請求項１に記載の方法。
【請求項９】
クラウドゲーミングサイト上に提供されたゲームのゲームタイトルにおけるユーザインタラクションを検出し、
前記ゲームの前記ゲームタイトルにて検出された前記ユーザインタラクションの長さが所定の閾時間を超えたとき、前記クラウドゲーミングサイトにとって利用可能なクラウドゲームサーバのゲームコンソール上に前記ゲームのインスタンスをプリロードし、
前記ユーザインタラクションに応答して、前記ゲームの前記プリロードされたインスタンスを前記ユーザに割り当て、この割当てにより、前記ユーザのクライアントデバイス上にレンダリングさせるために前記ゲームの情報コンテンツの一部が提供され、
前記ゲームの前記インスタンスにおける前記ユーザインタラクションを監視して前記ゲームの使用履歴を決定し、１つ以上のゲームに関連した前記使用履歴は、前記１つ以上のゲームのそれぞれの使用需要を予測し、前記１つ以上のゲームの前記インスタンスを管理するために使用され、前記クラウドゲームサーバのプロセッサによって動作が実行される、方法。
【請求項１０】
前記ゲームの前記ゲームタイトルにおける前記ユーザインタラクションは受動的なユーザインタラクションである、
請求項９に記載の方法。
【請求項１１】
前記ゲームの前記インスタンスの前記プリロードでは、汎用的なゲーム専用データをプリロードする、
請求項９に記載の方法。
【請求項１２】
前記ユーザインタラクションに基づいて第２のゲームへの切り替えが検出されると、前記ゲームの前記インスタンスを前記プリロードすることを中断し、前記クラウドゲームサーバにて前記第２のゲームのインスタンスをプリロードすることを開始し、前記第２のゲームを前記プリロードすることが、前記第２のゲームにおける前記ユーザインタラクションが前記所定の閾時間を超えたことを確認したときに可能になることを更に含む、
請求項９に記載の方法。
【請求項１３】
前記ゲームの使用履歴に基づいて前記ゲームの前記プリロードされたインスタンスを所定の期間保持することを更に含む、請求項１２に記載の方法。
【請求項１４】
更に、前記ゲームの前記プリロードされたインスタンスにて前記所定の期間中にユーザインタラクションが記録されなかったときには、前記所定の期間が経過した後に前記ゲームの前記プリロードされたインスタンスを破棄する、
請求項１３に記載の方法。
【請求項１５】
更に、前記ゲームタイトルにて第２のユーザからのユーザインタラクションを検出したことに応答して、前記ゲームの前記プリロードされたインスタンスからのデータを、前記第２のユーザに提示するためのデモデータとして使用する、
請求項１２に記載の方法。
【請求項１６】
前記第２のゲームにて前記ユーザのユーザインタラクションを検出したことに応答して、前記ゲームの前記プリロードされたインスタンスの前記ユーザへの割り当てを解除し、前記第２のゲームの前記プリロードされたインスタンスを前記ユーザに割り当て、前記第２のゲームの前記割り当ては、前記プリロードの完了及びユーザインタラクションに対する前記第２のゲームの前記プリロードされたインスタンスの可用性に基づくものである、
請求項１２に記載の方法。
【請求項１７】
前記第２のゲームの前記プリロードされたインスタンスの前記割り当てによって、前記ユーザの前記クライアントデバイス上にレンダリングするために前記第２のゲームの情報コンテンツの一部が提供される、
請求項１６に記載の方法。
【請求項１８】
前記第２のゲームの前記インスタンスが、前記ゲームの前記インスタンスがプリロードされる前記ゲームコンソールとは異なる前記クラウドゲームサーバの第２のゲームコンソール上にプリロードされる、
請求項１２に記載の方法。
【請求項１９】
前記クラウドゲームサーバの前記第２のゲームコンソールが、前記ゲームコンソール及び前記第２のゲームコンソールにおけるリソースの可用性に基づいて前記第２のゲームの前記インスタンスをプリロードするために選択され、前記リソースは、前記第２のゲームに関連したデータを前記クライアントデバイスに送信するための帯域幅リソースを含む、
請求項１８に記載の方法。
【請求項２０】
前記ゲームの前記インスタンスが前記クラウドゲームサーバ上で利用可能でないときに前記インスタンスを前記プリロードすることが実行される、
請求項１２に記載の方法。
【請求項２１】
システムであって、
ネットワークを介してクライアントデバイスに通信可能に接続されたクラウドゲーミングサイトを有し、前記クラウドゲーミングサイトは、当該クラウドゲーミングサイト上で利用可能な複数のゲームのうちの選択されたゲームのゲームタイトルにて検出されたユーザインタラクションに応答して、前記複数のゲームのうちの前記選択されたゲームのインスタンスを前記クライアントデバイスに提供するように構成されており、前記クラウドゲーミングサイトは、プロセッサ上で実行されるゲームプリローダモジュールを有し、前記ゲームプリローダモジュールは、
前記クラウドゲーミングサイトにて利用可能な前記複数のゲームのうちの前記選択されたゲームの前記ゲームタイトルにて前記ユーザインタラクションを検出し、
前記複数のゲームのうちの前記選択されたゲームをホストするデータセンターを識別し、
前記ゲームタイトルにて検出された前記ユーザインタラクションが所定の閾時間を超えたとき、前記識別されたデータセンター内のクラウドゲームサーバに信号を送信して、前記クラウドゲームサーバ上で利用可能なゲームコンソール上に前記複数のゲームのうちの前記選択されたゲームのインスタンスをプリロードし、
前記検出されたユーザインタラクションに応答して、前記複数のゲームのうちの前記選択されたゲームの前記インスタンスをユーザに割り当て、前記インスタンスを前記割り当てることにより、前記複数のゲームのうちの前記選択されたゲームの情報コンテンツの一部を、前記ユーザに与えるために前記クライアントデバイスに返し、
前記割り当てられたインスタンスにおける前記ユーザインタラクションを監視して、前記ゲームの使用履歴を決定するように構成されており、前記使用履歴は、前記クラウドゲームサーバ上の前記複数のゲームのインスタンスを管理するために使用されるものである、システム。
【請求項２２】
前記クラウドゲーミングサイトは、更に、前記ユーザと関連したユーザアカウントを識別するように構成されており、前記ユーザアカウントは、前記クラウドゲーミングサイトにて前記ユーザにとって利用可能な前記１つ以上のゲームを識別し、前記１つ以上のゲームのゲームタイトルは、前記ユーザに提示してユーザインタラクションを可能にするために前記クライアントデバイスに返される、
請求項２１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ユーザインタラクションに対してゲームを提供するシステム及び方法に関し、より具体的には、クラウドゲーミングのゲームを予測的にロードすることに関する。
【背景技術】
【０００２】
関連技術の説明
急速に発展する技術の１つに、クラウドゲーミングの分野がある。ユーザは、インターネットなどのネットワークを介してクラウドゲーミングサイト上の多くのゲームにアクセスし、インタラクション／ゲームのプレイを開始することが可能である。ゲームを選択してゲームをプレイするために、ユーザは、クラウドゲーミングサイト上の自分のアカウントにアクセスする。ユーザには、ゲームプレイのためのユーザアカウントで利用可能なゲームのリストが提示される。例えば、ユーザが表示及び／またはゲームプレイのためにゲームを選択するとき、ユーザは、ゲームプレイのために自分がゲームにアクセスすることが可能となる前に、ゲームコードのロード、グラフィックエンジンの初期化、グラフィックのロード、ゲーム及びユーザ設定のアップロードなどが行われるまで待機する必要がある。選択されたゲームにアクセスし、それをプレイするための待機時間は、グラフィックの多いゲームの場合にはより長くなり得る。こうした待機が発生すると、ユーザは、ゲームに対する関心を失い、ゲームサイトとのインタラクションを止める場合があり、それによってゲームの開発者／ゲームサイトの所有者にとって損失が生じる可能性がある。
【０００３】
本発明の実施形態はこのような背景の下でなされたものである。
【発明の概要】
【０００４】
本開示の実施形態は、ゲームに対するユーザの関心に基づき、ゲームクラウドサーバ上にゲームをプリロードすることにより、ユーザがゲームを実際に選択するときに即時表示及び／またはインスタントプレイのためにゲームデータがユーザにとって利用可能となるように使用される方法及びシステムについて説明する。
【０００５】
いくつかの実施形態によれば、ゲームクラウドサーバは、予測論理を使用して、ユーザのゲームセッションに対してリソースをロードし、または割り当てる。例えば、ユーザの過去のゲームプレイの履歴ファイルまたは履歴データベースに注目することにより、ゲームプレイのパターン（例えば、過去と現在のパターン）を識別し、ユーザがプレイする可能性のあるゲームの種類を識別することが可能となる。この予測分析を使用して、コンピューティングリソースをプレイヤーのゲームセッション（例えば、ゲームシート）に割り当てることも可能である。コンピューティングリソースは、例えば、ユーザがプレイのためにログインするときに割り当てることができる。これらのリソースは、一実施形態において、セッション開始時にユーザが実際にプレイしているものに基づいて設定または調整される。この調整は、より多くのクラウド処理リソースを割り当てるように、またはユーザの現在のプレイに基づき、割り当てられたクラウド処理リソースを減少させるように行うことができる。この調整は、一実施形態において、サービスの品質を決定するために現実のゲーミングデータを使用することにより、ゲーミング体験を高めるために追加リソースを割り当てる必要があるかどうか、または性能の低下が、接続性、例えば、インターネットサービスプロバイダ（ｉｎｔｅｒｎｅｔ  ｓｅｒｖｉｃｅ  ｐｒｏｖｉｄｅｒ：ＩＳＰ）のサービスの低下または良好な帯域幅の不足によるものかどうかを決定することができる。
【０００６】
予測動作として、ユーザが定期的にゲームをプレイしており、かつ最後の数セッションによりユーザがゲーム内で異なるレベルに進行できたという場合、ユーザは、おそらくはそのゲームにおいて自分の進行を継続することを望むであろう。ユーザが、例えば、しばらくの間ゲームのプレイを止めた場合、そのゲームをプレイするためにユーザがログインしている可能性は低い。従って、様々な時間に使用されているユーザのゲームプレイパターン及びゲームを分析することにより、ゲームシステムリソース（例えば、ＣＰＵ、ＧＰＵ、メモリなど）をより効率的に割り当てることができ、その結果、ユーザのゲームプレイ体験が充実することになる。なお他の実施形態において、予測的にゲームプレイを分析することは、他の類似のプレイヤーを比較することを含むこともできる。ゲームＡをプレイしている他のプレイヤーが特定のゲームプレイパターンを有する場合、ゲームシート、例えば、ユーザのゲームセッションに割り当てるリソースの量を決定または予測する際にこれらの測定基準及び関連する分析に着目することも可能である。
【０００７】
更なる実施形態において、方法を使用してコンテンツのプリロードを実行してもよい。プリロードすることにより、従来のアプリケーションにおいて一般に普及しているゲーム表示／ゲームプレイのためにユーザがゲームにアクセスするための待機時間を短縮することができる。いくつかの実施形態において、ゲーム専用のコード及びデータは事前にプリロードされ、ユーザ専用データは、ユーザがゲームプレイのためにゲームを選択するときにロードされる。ロードされ得るユーザ専用データは、ユーザがゲームプレイを開始することができるように、ゲームの目標、ゲームのレベル、ゲームのカスタマイズなどのユーザ専用設定を含む。通常、ゲーム専用データは、グラフィックが複雑であることからロードに長時間かかり、ユーザ専用データは、ユーザによるカスタマイズのみをゲームプレイに備えてロードする必要があるため、ロードが短い時間で済む。ゲーム専用データをプリロードすることにより、ゲームをプレイするための待機時間が大幅に短縮される。
【０００８】
一実施形態において、方法が提供される。この方法は、複数のゲームのうちの選択されたゲームの１つ以上のインスタンスをクラウドゲームサーバ上の１つ以上のゲームコンソール上にロードすることを含む。インスタンスをロードすることは、クラウドゲームサーバ上の複数のゲームのそれぞれで利用可能な使用履歴に基づいている。複数のゲームのうちの選択されたゲームにて検出されたユーザのユーザインタラクションの長さが所定の閾値を超えたとき、１つ以上のゲームコンソール上にロードされた複数のゲームのうちの選択されたゲームのインスタンスにユーザを割り当てる。ユーザに割り当てられた複数のゲームのうちの選択されたゲームの各インスタンスにてユーザインタラクションが監視される。監視されたユーザのユーザインタラクションに基づき、１つ以上のゲームコンソール上にロードされた複数のゲームのインスタンスの数が動的に調節される。動的に調節することは、１つ以上のゲームコンソール上にロードされた複数のゲームのインスタンスの数を増加または減少させることを含む。
【０００９】
いくつかの実施形態において、１つ以上のゲームコンソール上にロードされたゲームがシングルユーザゲームであるとき、ユーザを割り当てることは、ゲームの各インスタンスを１人のユーザに割り当てることを含む。ゲームがマルチユーザゲームであるとき、ユーザを割り当てることは、ゲームの各インスタンスを複数のユーザに割り当てることを含む。複数のユーザは、同じ場所に位置してもよく、または遠隔に位置してもよい。
【００１０】
いくつかの実施形態において、上記方法は、ユーザに割り当てられた複数のゲームのうちの選択されたゲームのインスタンスのステータスを監視して、ユーザに割り当てられた複数のゲームの各インスタンスにおけるユーザの関与の有無を決定することを含む。監視に基づき、複数のゲームのうちの特定のゲームの１つ以上のインスタンスにてユーザの関与が検出されなかったとき、複数のゲームのうちの特定のゲームの１つ以上のインスタンスを１人以上の他のユーザに再度割り当てる。
【００１１】
いくつかの実施形態において、インスタントプレイログが、クラウドゲームサーバ上で利用可能な各ゲームのインスタンスのために保持される。インスタントプレイログは、１人以上のユーザに割り当てられた各ゲームのインスタンスのそれぞれにおけるユーザインタラクションに基づいて使用履歴を常時監視する。インスタントプレイログに提供された情報は、ゲームのインスタンスを管理し、インスタンスを様々なユーザに割り当てるために使用される。
【００１２】
いくつかの実施形態において、所定の期間中の特定のゲームの使用履歴が特定のゲームで利用可能なインスタンスの数より所定の閾値だけ少ない需要を示しているとき、特定のゲームの使用履歴は、インスタントプレイログに提供された情報を使用して所定の期間に対して決定され、特定のゲームのインスタンスの数は、少ない方に調節される。
【００１３】
いくつかの実施形態において、特定のゲームの使用需要は、インスタントプレイログに提供された情報を使用して予測され、インスタントプレイログの情報は、特定のゲーム及び状況的に類似したゲームの使用履歴を提供する。特定のゲームのインスタンスの数は、特定のゲームのために予測された使用需要に基づいて調節される。
【００１４】
いくつかの実施形態において、ゲームのインスタンスをロードすることは、そのゲームの汎用的なゲーム関連データをロードすることを含む。ユーザを割り当てることは、ゲームに関する各ユーザのユーザ関連データをロードすることを含む。
【００１５】
いくつかの実施形態において、クラウドゲームサーバの各ゲームコンソール上でインスタンス化することができるゲームのインスタンスの数について所定の閾値が決定される。ゲームの１つ以上のインスタンスは、所定の閾値及びゲームの使用履歴に従ってロードされる。
【００１６】
別の実施形態において、方法が提供される。この方法は、クラウドゲーミングサイト上に提供されたゲームのゲームタイトルにおけるユーザインタラクションを検出することを含む。検出されたユーザインタラクションに応答して、ゲームのインスタンスは、クラウドゲームサーバのゲームコンソール上にプリロードされる。プリロードは、ゲームのゲームタイトルにて検出されたユーザインタラクションが所定の閾時間を超えたことを確認したときに実行される。ユーザインタラクションに応答して、ゲームのプリロードされたインスタンスは、ユーザに割り当てられる。この割り当てにより、ゲームの情報コンテンツの一部がユーザのクライアントデバイス上にレンダリングするために提供される。ユーザインタラクションをインスタンスにて監視して、ゲームの使用履歴を決定する。１つ以上のゲームに関連した使用履歴は、１つ以上のゲームのそれぞれの使用需要を予測し、１つ以上のゲームのインスタンスを管理するために使用される。
【００１７】
いくつかの実施形態において、ゲームのゲームタイトルにおけるユーザインタラクションは、受動的なユーザインタラクションである。
【００１８】
いくつかの実施形態において、第２のゲームへの切り替えがユーザインタラクションから検出されると、ゲームのインスタンスのプリロードが中断され、第２のゲームのインスタンスのプリロードがクラウドゲームサーバにて開始される。第２のゲームのプリロードは、第２のゲームにおけるユーザインタラクションが所定の閾時間を超えたことを確認したときに可能となる。
【００１９】
いくつかの実施形態において、ゲームのプリロードされたインスタンスは、ゲームの使用履歴に基づいてクラウドゲームサーバにて所定の期間保持される。
【００２０】
いくつかの実施形態において、ゲームのプリロードされたインスタンスにて所定の期間中にユーザインタラクションが記録されなかったときには、所定の期間が経過した後にゲームのプリロードされたインスタンスが破棄される。
【００２１】
いくつかの実施形態において、ゲームのプリロードされたインスタンスからのデータは、ゲームタイトルにて第２のユーザからのユーザインタラクションを検出したことに応答して、第２のユーザに提示するためのデモデータとして使用される。
【００２２】
いくつかの実施形態において、ゲームのプリロードされたインスタンスは、第２のユーザからのユーザインタラクションをゲームにて検出したことに応答して、ユーザへの割り当てが解除され、第２のユーザに割り当てられる。プリロードされたインスタンスは、プリロードの完了、及びゲームプレイのためのゲームのプリロードされたインスタンスの可用性に基づいて第２のユーザに提供される。
【００２３】
いくつかの実施形態において、プリロードされたインスタンスを第２のユーザに割り当てることにより、ゲームの情報コンテンツの一部が第２のユーザのクライアントデバイス上にレンダリングするために提供される。
【００２４】
いくつかの実施形態において、第２のゲームのインスタンスは、ゲームのインスタンスをプリロードするために使用されるゲームコンソールとは異なるクラウドゲームサーバの第２のゲームコンソールにプリロードされる。
【００２５】
いくつかの実施形態において、第２のゲームコンソールは、ゲームコンソール及び第２のゲームコンソールのリソースの可用性に基づいて第２のゲームのインスタンスをプリロードするために選択され、このリソースは帯域幅リソースを含む。
【００２６】
いくつかの実施形態において、ゲームのインスタンスがクラウドゲームサーバ上で利用可能でないときにゲームのインスタンスをプリロードすることが実行される。
【００２７】
別の実施形態において、システムが開示される。このシステムは、ネットワークを介してクライアントデバイスに通信可能に接続されているクラウドゲーミングサイトを含む。クラウドゲーミングサイトは、クラウドゲーミングサイト上で利用可能な複数のゲームのうちの選択されたゲームのゲームタイトルにてユーザインタラクションを検出したことに応答して、複数のゲームのうちの選択されたゲームのインスタンスをクライアントデバイスに提供するように構成されている。クラウドゲーミングサイトは、クラウドゲーミングサイトのプロセッサ上で実行されるゲームプリローダモジュールであって、クラウドゲーミングサイトにて利用可能な複数のゲームのうちの選択されたゲームのゲームタイトルにてユーザインタラクションを検出し；複数のゲームのうちの選択されたゲームをホストするデータセンターを識別し；ゲームタイトルにて検出されたユーザインタラクションが所定の閾時間を超えたとき、識別されたデータセンター内のクラウドゲームサーバに信号を送信して、クラウドゲームサーバ上で利用可能なゲームコンソール上に複数のゲームのうちの選択されたゲームのインスタンスをプリロードし；検出されたユーザインタラクションに応答して、複数のゲームのうちの選択されたゲームのインスタンスをユーザに割り当てることにより、複数のゲームのうちの選択されたゲームの情報コンテンツの一部を、レンダリングするためにクライアントデバイスに返し；割り当てられたインスタンスにおけるユーザインタラクションを監視して、ゲームの使用履歴であって、クラウドゲームサーバ上の複数のゲームのインスタンスを管理するために使用される使用履歴を決定するように構成されているゲームプリローダモジュールを含む。
【００２８】
別の実施形態において、コンピュータ実行可能命令が記憶されたコンピュータ可読媒体が開示される。コンピュータ可読媒体は、クラウドゲームサーバの１つ以上のゲームコンソール上に複数のゲームのうちの選択されたゲームの１つ以上のインスタンスをロードするためのプログラム命令であって、インスタンスをロードすることはクラウドゲームサーバ上の複数のゲームのそれぞれで利用可能な使用履歴に基づいている、インスタンスをロードするための命令；複数のゲームのうちの選択されたゲームにて検出されたユーザのユーザインタラクションの長さが所定の閾値を超えたとき、１つ以上のゲームコンソール上にロードされた複数のゲームのうちの選択されたゲームのインスタンスにユーザを割り当てるためのプログラム命令；及び監視されたユーザのユーザインタラクションに基づいて１つ以上のゲームコンソール上にロードされたゲームのインスタンスの数を動的に調節するためのプログラム命令であって、動的に調節することは１つ以上のゲームコンソール上にロードされたゲームのインスタンスの数を増加または減少させることを含む、動的に調節するためのプログラム命令を含む。
【００２９】
本発明のいくつかの実施形態は、各ゲームの使用履歴及び／または予測された需要に基づいてクラウドゲームサーバ上の１つ以上のゲームコンソール上にゲームの１つ以上のインスタンスをプリロードする方法を提供することにより、ゲームにアクセスするための待機時間を短縮させる必要があることに対処する。ゲームコード及びゲームデータをプリロードすることにより、ゲームコードが既にプリロードされているため、ユーザは、即時表示及びインスタントゲームプレイのためにゲームへのアクセスが可能となる。ユーザは、ゲームプレイの前にロードすべきユーザ関連データを待機しなければならない場合がある。しかしながら、ユーザ関連データのロードに伴う待機時間は、ゲーム関連データと比較して極めて短い。本発明のいくつかの実施形態において、プリロードすることは、クラウドゲーミングサイト上のゲームタイトルにて、ホバリング動作などの受動的なユーザインタラクションを検出することに基づいている。プリロードするために選択される各ゲームのインスタンスの数は、様々な期間における各ゲームの予測された使用需要に従って調節することができる。各ゲームの使用履歴を分析することによって使用需要を取得し、その結果、各ゲームの最適な数のインスタンスが任意の所与の時間に利用可能となるようにして、クラウドゲームサーバ上で利用可能な任意のゲームのインスタンスへの高速なアクセスをユーザに提供してもよい。
【００３０】
本発明の他の態様及び利点は、添付図面と併用され、本発明の原理を一例として示す以下の詳細な説明から明らかとなるであろう。
【００３１】
本発明は、その更なる利点と共に、添付図面と併用される以下の説明を参照することによって最も良く理解され得る。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態に係る、ゲームコードをロードし、それをユーザにとって利用可能にするための例示的なタイムラインを示す。
【図２】本発明の実施形態に係る、クラウドゲームサーバ上にゲームコンテンツをプリロードするために使用される例示的なシステムの簡略ブロック図を示す。
【図３Ａ】本発明の実施形態に係る、クラウドゲーミングサイト内の例示的なゲームプリローダモジュールの各種モジュールを示す。
【図３Ｂ】本発明の一実施形態に係る、クラウドゲーミングサイトと通信してゲームサーバ上にゲームのインスタンスを提供するデータセンターのゲームサーバ内の例示的なインスタントプレイ・プリロード・ハンドラ・モジュールを示す。
【図４】本発明の一実施形態に係る、どのゲームを保持し、どのゲームを破棄すべきかを決定するために使用されるゲーム使用状況グラフを示す。
【図５】本発明の一実施形態に係る、クラウドゲーミングサイト上の種々のゲームタイトルにて検出されたユーザ動作に基づいてゲームのインスタンスをプリロードするプロセスフローを示す。
【図６】本発明の一実施形態に係る、ユーザに提供するためのゲームインスタンスをプリロードすることに伴うプロセス動作を示す。
【図７】本発明の代替的実施形態に係る、ユーザに提供するためのゲームインスタンスをプリロードすることに伴うプロセス動作を示す。
【図８】本発明の一実施形態に係る、地理的に分散され、かつネットワーク経由で接続されているユーザに情報コンテンツ及びサービスを配信するための例示的な情報サービスプロバイダ構成を示す。
【図９】本発明の一実施例に係る、ユーザに提示されるコンテンツを制御するために使用されるコンピューティングデバイスの例示的な構成要素を示す。
【発明を実施するための形態】
【００３３】
以下の説明において、本発明の完全な理解を得るために多くの具体的な詳細を記載する。しかしながら、当業者にとっては、これらの具体的な詳細事項の一部または全てがなくとも本発明が実施され得ることは明白であろう。他の例では、本発明が不明瞭にならないようにするため、周知のプロセス行程については本明細書で詳細に説明していない。
【００３４】
本発明の一実施形態によれば、ユーザは、ユーザアカウントを介してクラウドゲーミングサイトにアクセスしてもよいし、そのユーザアカウントでクラウドゲーミングサイトにて利用可能であるゲームタイトルのリストからゲームタイトルとのインタラクションを行ってもよい。インタラクションは、ホバー動作、マウス接近動作などの受動的なインタラクションでもよい。ユーザインタラクションに応答して、クラウドゲーミングサイトは、特定のゲームのゲームタイトルにおけるユーザインタラクションの時間の長さが少なくとも所定の閾時間中であるかどうかを判定する。特定のゲームのゲームタイトルにおけるユーザインタラクションの時間の長さが、所定の閾時間を満たすか、またはそれを超えた場合、クラウドゲーミングサイトは、クラウドゲーミングシステム内にあるデータセンターのサーバに信号を送信することにより、ゲームコンテンツをプリロードし、特定のゲームの情報コンテンツの一部をユーザのクライアントデバイスにストリーミングしてレンダリングさせる。特定のゲームのゲームタイトルにおけるユーザインタラクションは継続的に監視されており、ユーザインタラクションがゲームタイトルの選択などの能動的なユーザインタラクションに対応するときには、プリロードされたゲームコンテンツがユーザにとって直ちに利用可能となって、選択されたゲームの表示またはゲームプレイが可能となる。ユーザによるカスタマイズなどを含むユーザ関連のコンテンツを、ゲームをプレイするために特定のゲームが選択された後にアップロードしてもよい。ゲームプレイ中のユーザインタラクションは、選択されたゲームの結果を調整するために使用される。インスタンスにおけるユーザインタラクションにより、ゲームの使用履歴が決定される。クラウドゲーミングサイトは、使用履歴において取得された情報に基づいて複数のゲームのインスタンスを管理する。
【００３５】
ユーザがゲームを選択する前にゲームコンテンツをプリロードすることにより、そのゲームコンテンツが、すぐにゲームがプレイできるようにユーザにとって直ちに利用可能となる。ゲームコンテンツをプリロードすることにより、クラウドゲーミングサイトは、ストリーミングゲームコンテンツへのアクセスをユーザに提供しつつユーザの待機時間を実質的に短縮する方法を提供し、それによってユーザのゲームプレイ体験を向上させる。ユーザ体験が満たされることは、ゲームホスティングサイトにおけるユーザの関与がより長くなることに関連し、このことは、ゲームホスティングサイトの収入がより多くなることに関連し得る。他の利点は、各種実施形態の詳細な説明によって当業者に明らかとなるであろう。
【００３６】
いくつかの実施形態において、ゲームクラウドサーバは、予測論理を使用して、ユーザのゲームセッションに対してリソースをロードし、または割り当てる。例えば、ユーザの過去のゲームプレイを含む履歴ファイルまたは履歴使用データベースに注目することにより、ゲームプレイのパターン、例えば、過去と現在のパターンを識別し、ユーザがプレイする可能性のあるゲームの種類を識別することが可能となる。この予測分析を使用して、コンピューティングリソースをプレイヤーのゲームセッション（例えば、ゲームシート）に割り当てることも可能である。コンピューティングリソースは、例えば、ユーザがプレイのためにログインするときに割り当てることができる。これらのリソースは、一実施形態において、セッション開始時にユーザが実際にプレイしているものに対して設定または調整される。この調整は、より多くのクラウド処理リソースを割り当てるように、または割り当てられるクラウド処理リソースを少なくするように行うことができる。この調整は、一実施形態において、現在のゲームセッションからの実際のゲーミングデータを使用してサービス品質を決定することができる。サービス品質情報を使用して、ゲーミング体験を高めるために追加リソースが必要であるかどうかを判定してもよい。加えて、サービス品質（ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ：ＱＯＳ）を使用して、ゲーミング体験に影響を及ぼし得る位置問題を特定してもよい。例えば、ＱＯＳデータを使用して、性能の低下が、インターネットサービスプロバイダ（ＩＳＰ）のサービスの低下または良好な帯域幅の不足から生じた接続性の問題によるものかどうかを判定してもよい。
【００３７】
図１は、あるゲームタイトルのゲームプレイを求めるユーザリクエストがクラウドゲーミングサイトで受信されたとき、クラウドゲーミングサイトと関連したデータセンター内のサーバによって実行される必要がある例示的な一連の動作を示す。クラウドゲーミングサイトがゲームのゲームプレイを求めるユーザリクエストを受信すると、選択されたゲームタイトルと関連したゲームをホストするためのデータセンターが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンターに上記リクエストが送信される。そのリクエストに応答して、データセンターのサーバは、ゲームコンテンツのユーザへの提示に備えて、ゲームコードを識別し、識別されたゲームコードをロードし、ゲームコードに関連したファイルを初期化する。ゲームと関連したゲームデータは、汎用ゲームデータ及びユーザ専用ゲームデータを含む。従って、ファイルを初期化することは、汎用ゲームデータ及びユーザ専用ゲームデータを識別し、ロードし、初期化することを含む。汎用ゲームデータの初期化には、グラフィックエンジンを初期化、グラフィックデータをインストール、音声ファイルを初期化、アートワークをインストールするなどが含まれ得る。ユーザ専用データの初期化には、ユーザデータ（ユーザによるカスタマイズを含む）、ユーザ履歴、ゲーム履歴などの検索及びインストールが含まれ得る。汎用ゲームデータをロードするには、ゲームの複雑さ及びゲームのグラフィックの多用に応じて、どこにおいても数秒から数分かかる場合があり、ユーザにとって不必要な待機が発生する。
【００３８】
汎用ゲームデータのロード及び初期化を行っている間、クライアントデバイスにレンダリングするために「スプラッシュ」スクリーンを提供してもよい。スプラッシュスクリーンは、ロード中のゲームの種類をユーザがプレビューできるように、ロード中のゲームの代表的な画像を提供するように設計されてもよい。汎用ゲームデータが一旦ロードされたら、オーディオコンテンツを再生してもよく、ユーザが選択及び／またはカスタマイズできるように選択またはナビゲーション画面が提示される。選択画面に与えられるユーザ選択入力は、ゲームレベルの選択、ゲームアイコン（複数可）の選択、ゲームモードの選択、ゲームの賞金、追加のゲームコンテンツのアップロードを必要とし得る他のユーザ関連データを含んでもよい。選択画面に与えられたユーザ選択入力に基づいてユーザ関連データをアップロードすると、ゲームコンテンツがユーザにとってゲームプレイに利用可能となる前に更なる遅延が生じる可能性がある。
【００３９】
いくつかの実施形態において、ゲームコンテンツは、表示及びインタラクションのためにゲームクラウドシステムからユーザのコンピューティングデバイスにゲームコンテンツをストリーミングすることによって利用可能となる。ユーザ関連データをロードした後、ゲームコンテンツはゲームプレイに利用可能となる。ゲームファイルのロード及び初期化によって生じる待機時間の長さを短縮するためには、少なくともゲーム専用コード及び関連ゲームファイルをプリロードすることが有利となる。
【００４０】
図２は、クラウドゲーミングサイトにて利用可能なゲームのゲームファイルをプリロードすることによってゲームにアクセスするための待機時間を実質的に短縮するために使用される例示的なシステムを示す。このシステムは、インターネットなどのネットワーク２００を介してクラウドゲーミングサイト３００に通信可能に接続されている複数のクライアントデバイス１００を含む。クラウドゲーミングサイト３００へのアクセスを求めるリクエストがクライアントデバイス１００から受信されると、クラウドゲーミングサイト３００は、ユーザデータ記憶装置３０４に記憶されたユーザアカウント情報３０２にアクセスして、クライアントデバイス１００と関連したユーザを識別し、そのクライアントデバイスを介して当該リクエストが開始される。いくつかの実施形態において、クラウドゲーミングサイト３００は、表示及び／またはプレイの権限がユーザに与えられている全てのゲームを決定するために、識別されたユーザを確認してもよい。ユーザアカウントの識別、確認に続いて、クラウドゲーミングサイトは、ゲームタイトルモジュール３０６にアクセスして、リクエストを開始しているユーザアカウントでクラウドゲーミングサイト３００にて利用可能であるゲームタイトルを決定する。ゲームタイトルモジュール３０６は、次に、ゲームデータベース４０８と対話して、クラウドゲーミングサイトで利用可能である全てのゲームのゲームタイトルを取得する。新しいゲームが導入されると、ゲームデータベース４０８はゲームコードを用いて更新される。ゲームタイトルモジュール３０６は、クラウドゲーミングサイトで利用可能なゲームの現在のリストを含むゲームデータベース４０８に問い合わせ、ユーザアカウントで利用可能である複数のゲームのうちの選択されたゲームのゲームタイトルを取得する。
【００４１】
リクエストを開始したクライアントデバイス１００は、要求が開始されたとき、クラウドゲーミングサイト３００に登録されていても登録されていなくてもよい。リクエストを開始しているクライアントデバイス１００のユーザが登録ユーザでない場合、クラウドゲーミングサイトは、新規ユーザとして当該ユーザを識別し、新規ユーザに適切なゲームタイトル（例えば、既定の一連のゲームタイトル）を選択してもよい。図２に示すように、識別されたゲームタイトルは、ディスプレイ画面１００−ａ上に提示するためにクライアントデバイス１００に返される。
【００４２】
クライアントデバイス１００上にレンダリングされた複数のゲームタイトルのうちの１つにおけるユーザインタラクションが検出され、クライアントデバイス１００からクラウドゲーミングサイト３００に信号が送信される。この信号は、ユーザインタラクションが検出されたゲームタイトル情報、及びゲームタイトルとのインタラクションに費やされた時間を含む。ユーザインタラクションは、マウスオーバーアクション（すなわち、ホバリングアクション）などの受動的なユーザインタラクションでもよい。いくつかの実施形態では、ゲームタイトルで費やされた時間が所定の閾時間を超えたときに信号が生成される。他の実施形態では、ユーザインタラクションがクライアントデバイス１００上のゲームタイトルにて検出されると直ちに信号が生成される。このような実施形態において、クラウドゲーミングサイト３００は、ゲームタイトルで費やされた時間を常時監視し、ゲームタイトルで費やされた時間が所定の閾時間を超えたときにゲームをインスタンス化する工程を実行する。クライアントデバイス１００から受信した信号に応答して、クラウドゲーミングサイト３００は、ゲームがホストされているデータセンター４００を先回りして決定し、識別されたデータセンター４００に信号を送信して、ユーザインタラクションがクライアントデバイス１００にて検出されたゲームタイトルと関連したゲームのインスタンスをプリロードする。いくつかの実施形態において、複数のデータセンター４００がゲームをホストしていてもよい。このような実施形態において、クラウドゲーミングサイト３００は、リクエストを開始しているクライアントデバイス１００の地理的位置を決定し、クライアントデバイス１００に地理的に近接しているデータセンター４００を識別し、そのデータセンター４００に信号を送信してゲームをプリロードしてもよい。ユーザの地理的位置は、いくつか例を挙げると、クライアントデバイス内の全地球測位システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎ  Ｓｙｓｔｅｍ：ＧＰＳ）機構、クライアントのＩＰアドレス、クライアントのピング情報を使用して決定されてもよい。当然のことながら、ユーザの地理的位置を検出する上述の方法は例に過ぎず、他の種類の機構またはツールを使用してユーザの地理的位置を決定してもよい。クライアントデバイス１００に近いデータセンター４００を識別することは、ゲームとのユーザインタラクションに応答して発生するゲームデータの伝送中に生じ得るレイテンシを最小限にすることである。いくつかの実施形態において、識別されたデータセンター（例えば、４００−ａ）は、ゲームをホストするために必要な帯域幅またはリソース容量を有していない場合があり、あるいはリソースは、過剰に使用されているか、またはデータセンター４００にてホストされている他のゲームもしくはアプリケーションに割り当てられている場合がある。これらの実施形態において、クラウドゲーミングサイト３００は、クライアントデバイス１００と地理的に近い第２のデータセンター（例えば、４００−ｂ）を識別してゲームデータをプリロードできるようにしてもよい。ゲームデータをプリロードすることは、ゲームコードをロードすること及びゲーム��インスタンスを実行することを含む。
【００４３】
クラウドゲーミングサイト３００から信号を受信したことに応答して、識別されたデータセンター４００は、データセンター４００のサーバ４０２を選択して、そのサーバ４０２上でゲームをインスタンス化してもよい。サーバ４０２は、ハードウェア、利用可能なソフトウェア機能、及び選択されたゲームに対して指定されるゲーム要件に基づいて選択される。サーバ４０２は、複数のゲームコンソール４０４を含んでもよく、サーバ４０２は、複数のゲームコンソール４０４のうちのどのゲームコンソールを使用してゲームをプリロードすべきかを決定してもよい。ゲームコンソール４０４は、独立型のゲームコンソールと同様であってもよく、またはラック搭載サーバもしくはブレードサーバであってもよい。各ブレードサーバは、更に、複数のサーバブレードを含んでもよい。各サーバブレードには、ゲームなどの単一の専用アプリケーションをインスタンス化するために必要とされる回路が実装されている。いくつかの実施形態において、各サーバブレードは、複数のゲームまたはアプリケーションをインスタンス化することが可能であってもよい。当然のことながら、上記のゲームコンソール４０４は一例であり、限定的であるとみなされるべきではない。ゲームステーション、他のコンピューティングデバイスなどを含む他の種類のゲームコンソール、及び他の形態のブレードサーバを連携させて、識別されたゲームをホストできるようにしてもよい。
【００４４】
ゲームコンソール４０４が一旦識別されると、ゲームの汎用的なゲーム関連コードがゲームコンソール４０４上にプリロードされ、ゲームがインスタンス化されているゲームコンソール４０４を識別する信号がネットワーク２００を介してクラウドゲーミングサイト３００経由でクライアントデバイス１００に返される。ゲームの選択などの更なるユーザインタラクションがゲームタイトルにて行われると、プリロードされたゲームが遅延を伴わずにユーザにとって利用可能となる。
【００４５】
プリロード中またはプリロード後に、ホバリングアクションなどのユーザインタラクションがクライアントデバイス１００の第２のゲームタイトルにて検出された場合、ユーザインタラクションによって生じたゲームタイトルの切り替えを識別する信号がクラウドゲーミングサイト３００に送信される。切り替え信号は、第２のゲームタイトルにおける（ホバリング動作と同様の）ユーザインタラクションが所定の閾時間を超えたことの判定がなされた後にクライアントデバイス１００によって送信されてもよく、またはクラウドゲーミングサイト３００に送信されてもよい。このクラウドゲーミングサイトでは、第２のゲームタイトルで費やされた時間が所定の閾時間を超えたかどうかを判定するためにユーザインタラクションが監視されている。いずれにせよ、クライアントデバイス１００から切り替え信号を受信したことに応答して、クラウドゲーミングサイト３００は、次に、ゲームがインスタンス化されていたデータセンター４００に信号を送信して、ゲームタイトルのプリロード中の動作を停止もしくは中断し（プリロードが完全でなかった場合）、またはゲームを中断する（ゲームが完全にプリロードされていた場合）。加えて、クラウドゲーミングサイト３００は、上述したようにゲームをプリロードするために後続の動作を繰り返すことによって第２のゲームのプリロードを開始してもよい。従って、クラウドゲーミングサイト３００は、第２のゲームタイトルのためのデータセンター４００を識別する動作を実行して、データセンター４００のサーバ４０２内にあるゲームコンソール４０４上で第２のゲームタイトルと関連した第２のゲームをインスタンス化するためにデータセンター４００に信号を送信する。第２のゲームが一旦プリロードされたら、データセンター４００のサーバ４０２は、プリロードされた第２のゲームの可用性をクラウドゲーミングサイト３００に通知する信号を送信してもよい。本明細書において、第２のゲームをインスタンス化するためのゲームコンソール４０４、サーバ４０２及び／またはデータセンター４００は、第１のゲームがインスタンス化されたものと異なってもよく、またはそれと同じにすることができることに留意すべきである。データセンター、サーバ及びゲームコンソールは、システム及び通信リソースの可用性（例えば、複数のアプリケーションをゲームコンソール上でインスタンス化することができる場合）、ならびにゲームの通信帯域幅の要件を含むリソース要件に基づいて識別される。
【００４６】
いくつかの実施形態において、部分的にプリロードされ、または完全にプリロードされた第１のゲームは、同じユーザまたは異なるユーザからのユーザインタラクションが第１のゲームにて検出されたかどうかを判定する所定の期間、割り当てられたゲームコンソール４０４上で維持されてもよい。所定の期間中、部分的にプリロードされたゲームにてユーザインタラクションがユーザ（第１のユーザまたは第２のユーザ）から検出されたとき、部分的にプリロードされたゲームのプリロードが再開される。あるいは、第１または第２のユーザのユーザインタラクションが完全にプリロードされた第１のゲームにて所定の期間内に受信された場合、ユーザインタラクションが受動的なユーザインタラクション（例えば、ホバリングなど）か、それとも能動的なユーザインタラクション（例えば、ユーザの選択）かに応じて、第１のゲームコンテンツがユーザの表示及び／またはゲームプレイのために第１または第２のユーザのクライアントデバイス１００にストリーミングされる。他の実施形態において、ゲームの部分的にプリロードされ、または完全にプリロードされたインスタンスは、ゲームの切り替えを検出した直後に破棄されてもよい。このことは、割り当てられたゲームコンソール４０４にてコンピューティングリソース及び通信リソースの需要がある場合に望ましくなり得る。インスタンスを破棄すると、ゲームコンソール４０４にてホストされた第２のゲームまたは他のアプリケーションにこうしたリソースを割り当てることができるようにコンピューティングリソース及び通信リソースが解放されることになる。
【００４７】
図３Ａは、クラウドゲーミングサイト３００内のプロセッサ上で実行されている例示的なゲームプリローダモジュール３０２、及びデータセンター４０４内のインスタントプレイ・プリロード・ハンドラ４０６を示す。このハンドラは、クライアントデバイス１００上のゲームのゲームタイトルにて検出されたユーザインタラクションに応答して、ユーザによって選択されたゲームをプリロードするために使用される。ユーザインタラクションは、上述したように、ホバー動作、カーソルの接近などの受動的なユーザインタラクションでもよい。ユーザアカウントは、クラウドゲーミングサイト３００にアクセスするために使用される。クラウドゲーミングサイト３００へのアクセスを求めるリクエストに応答して、クラウドゲーミングサイト３００は、ユーザアカウントを認証し、クライアントデバイス１００のディスプレイ画面上にレンダリングさせてユーザが選択できるように、そのユーザアカウントでクラウドゲーミングサイト３００にて利用可能であるゲームタイトルのリストを返す。いくつかの実施形態において、ユーザアカウントに対して提示される各ゲームタイトルは、ゲームコード及び情報コンテンツを含んでもよい。このようなコンテンツとしては、ゲームの概要、１つ以上の代表的なゲームのシーンまたはゲームの画像、ゲームの評価、ゲームのクリップまたはゲームの記録、ゲームの種類などがある。ホバリング動作などのユーザインタラクションが、図３Ａに示したゲームタイトルＡの近くなどの、クライアントデバイス１００上にレンダリングされたゲームタイトルのうちの１つまたはその付近にて検出されると、クライアントデバイス１００は、検出されたユーザインタラクションに関してクラウドゲーミングサイト３００に信号を送信する。この信号は、クライアントデバイス１００にて検出された動作（すなわち、能動的または受動的な動作）の種類、及びゲームのゲームタイトル識別子であって、当該識別子またはその付近にて動作が検出されたゲームのゲームタイトル識別子を含む。クラウドゲーミングサイト３００上で実行されているゲームプリローダモジュール３０２内のインタラクションマネージャ３０８は、送信された信号を受信し、その信号を調べて、ユーザインタラクション（ホバリング動作）の種類及び当該信号に含まれるゲームタイトル識別子を識別する。インタラクションマネージャ３０８は、ゲームタイトル選択マネージャ３０６と対話してゲームタイトル識別子を使用することにより、ユーザインタラクション（すなわち、ホバリング動作）が検出されたユーザアカウントで利用可能なゲームタイトルの中からゲームタイトルを識別してもよい。ゲームタイトル選択マネージャと対話することに加えて、インタラクションマネージャ３０８は、信号内に与えられた情報から、またはクライアントデバイス１００から発生している信号の継続的な監視から、ゲームタイトルにて検出されたホバリング動作の時間を求めてもよい。特定のゲームタイトルにおけるユーザインタラクションの時間が所定の閾時間を超えると、インタラクションマネージャは、そのゲームタイトル識別子を使用してデータセンター選択マネージャ３０４と対話して、サービスを求めるユーザのリクエストを複数のサーバのうちのどのサーバに転送すべきかを決定する。所定の閾時間は、特定のゲームタイトルにおいてユーザの関心が持続していることを識別できる程度に長くなるように（例えば、８〜１０秒）決められてもよい。
【００４８】
データセンター選択マネージャ３０４は、一実施形態において、ユーザアカウント、各ユーザアカウント用のログイン情報、データセンターにおいて利用可能なゲームの履歴、購入された、またはユーザアカウントにとって利用可能なゲームの履歴、課金額などを保持してもよく、こうした保持情報は、全てのデータセンターにわたって統合される。統合された情報は、適切なデータセンターを識別してユーザのリクエストを送り出すために使用される。統合された情報は、ユーザのリクエストをサービスするように通常割り当てられているデータセンターを識別してもよい。いくつかの実施形態において、データセンター選択マネージャ３０４は、統合された情報において識別されたデータセンターを使用するのではなく、その代わりに、ゲームをホストしており、かつクライアントデバイス１００に近接している１つ以上のデータセンターを、ユーザのリクエストをサービスするために識別してもよい。代わりのデータセンターの検索は、統合された情報から識別されたデータセンターがユーザのリクエストをサービスするための通信帯域幅または十分なリソースを有していない場合があるときに行ってもよい。その結果、データセンター選択マネージャ３０４は、ゲームをホストし、かつリクエストにおいて識別されたゲームに必要なリソース（すなわち、通信リソース及び処理リソース）を有するように設定されている１つ以上の他のデータセンターを識別してもよい。識別されたゲームをホストする複数のデータセンターを識別してもよい。そのような場合、データセンター選択マネージャ３０４は、一実施形態において、クライアントデバイス１００の地理的位置を決定し、リクエストを開始しているクライアントデバイス１００の地理的位置に地理的に近接しているデータセンターを識別することにより、クライアントデバイス１００にゲームデータをストリーミングしている間のレイテンシを小さくしてもよい。近接しているデータセンターは、ユーザのクライアントデバイスと関連したＧＰＳ情報、ＩＰアドレスまたは他のピング情報に基づいて識別されてもよい。ゲームプリローダモジュール３０２は、データセンター選択マネージャ３０４によって提供されたデータセンター情報を受信し、プリロード信号リクエストをインタントプレイ・プリロード・マネージャ３１０に送信して、選択されたゲームタイトルのゲームデータを識別されたデータセンターにてプリロードすることを開始する。
【００４９】
インタントプレイ・プリロード・マネージャ３１０は、データセンター選択マネージャ３０４によって識別されたデータセンター４００−ａに信号を送信して、識別されたゲームタイトルのゲームデータをプリロードすることを開始する。データセンター４００−ａは、その信号に応答して、ゲームをロードするために複数のゲームサーバ４０２−ａのうちの１つを識別する。サーバは、必要とされるリソース、利用可能なリソース、帯域幅能力などに基づいて識別されてもよい。ゲームサーバ４０２−ａは、ゲームを実行すべき複数のゲームコンソールを含んでもよく、ゲームサーバ４０２−ａは、ゲームサーバ４０２−ａにて利用可能な複数のゲームコンソール４０４−ａ〜４０４−ｎのうちのいずれか１つを識別してゲームをプリロードする。ゲームサーバ４０２−ａのインタントプレイ・プリロード・ハンドラ４０６は、ゲームのインスタンスをプリロードし、データセンター４００−ａにてホストされた複数のゲームのインスタンスを管理するために使用される。
【００５０】
例えば、ユーザ（ユーザ１）が、クライアントデバイス１００のゲームＡのゲームタイトル上で所定の閾時間（例えば、１０秒間）未満の一定期間（例えば、５〜７秒間）ホバリングしてから、移動を続けてゲームＣのゲームタイトル上で所定の閾時間を超える一定期間（例えば、２５〜３０秒間）ホバリングすると、ゲームプリロードモジュール３０２のインタントプレイ・プリロード・マネージャ３１０は、適切なデータセンター４００に信号を送信してゲームタイトルＣをプリロードする。上記の例において与えられた所定の閾時間は例に過ぎず、閾値をもっと小さくして、例えば、１秒未満、２秒未満、３秒未満、４秒未満などにすることができることを理解すべきである。しかしながら、通常、閾値を設定することができ、それによってプリロードがいつ始まるかが決まる。
【００５１】
別の例において、ユーザ１が、ゲームＡのゲームタイトル上で所定の閾時間を満たすか、またはそれを超える一定期間ホバリングすると、ゲームプリロードモジュール３０２は、次いで、適切なデータセンター４００に信号を送信してゲームＡのプリロードを開始する。ゲームＡがプリロードされている間、またはゲームＡのプリロードが完了した後、ユーザ１は、移動を続けてゲームＡを選択せずにゲームＣ上でホバリングしてもよい。本明細書で使用する場合、「ホバリングする」ことは、あるアイコン、ポインタ、セレクタ、視線またはインジケータが、選択可能なゲームタイトルと（例えば、何らかのグラフィカルな形式で）関わっていることを意味する。１つの具体例において、ユーザ１は、例えば、ゲームタイトルを完全に選択せずにコントローラを使用してゲームタイトルを強調表示することができる。いくつかの例において、ゲームタイトルを強調表示することは、そのタイトルに関するより多くの情報、例えば、表示テキスト、画像、スクリーンショット、サンプルビデオクリップなどを提供してもよい。この強調表示は、ユーザ１の視線、ポインタ、アイコンまたはインジケータが最初にゲームタイトルＡ上にあり、次いでゲームタイトルＣに切り替わり、ユーザ１がプレイすることも表示することもなくゲームタイトルを選択しなかったときに行われてもよい。
【００５２】
ゲームプリロードモジュール３０２は、異なるゲームタイトルにてユーザインタラクションの切り替え（すなわち、ゲームＡからゲームＣへの切り替え）を検出してもよく、切り替えられたゲームタイトル（ゲームＣ）におけるユーザインタラクションの時間を求めてもよい。ゲームＣ上のユーザインタラクション（すなわち、ホバリング動作）が所定の閾時間を満たすか、またはそれを超えると、ゲームプリロードモジュール３０２は、ゲームＣをホストすることができるデータセンター４００を識別し、識別されたデータセンター４００に信号を送信してゲームＣをプリロードする。同時に、ゲームプリロードモジュール３０２は、ゲームＡが完全にプリロードされていない場合、ゲームＡをプリロードするために使用されているデータセンター４００に信号を送信してゲームＡのプリロードを中断する。ゲームＣをプリロードするために使用されるサーバ４０２及び／またはデータセンター４００は、ゲームＡをプリロードするために使用されたサーバ及び／またはデータセンターと同じでもよく、または異なってもよいことに留意すべきである。ゲームＣのインスタンスがプリロードされているゲームコンソール４０４は、一実施形態において、ゲームＡのインスタンスがプリロードされているゲームコンソール４０４とは異なる。別の実施形態において、ゲームコンソールの容量及び性能に基づき、ゲームＡのインスタンスが中断されてもよく、ゲームＣのインスタンスが同じゲームコンソールにプリロードされてもよい。ただし、ゲームＡのインスタンスがプリロードされるゲームコンソールのデータセンターにてゲームＣが利用可能である場合に限る。部分的にプリロードされ、または完全にプリロードされたゲームＡは、ゲームコンソールにおいて維持されてもよく、第２のユーザ（ユーザ２）からのリクエストを受信したときにサービスを提供するために使用されてもよい。
【００５３】
一実施形態において、部分的にプリロードされ、または完全にプリロードされたゲームＡは、ゲームコンソールにて所定の期間維持されてもよい。この時間中、同じユーザ（すなわち、ユーザ１）または異なるユーザ（例えば、ユーザ２、ユーザ３など）からの、ユーザの関心を表す次のユーザインタラクションがゲームタイトルＡについて受信されると、部分的にプリロードされたゲームＡのプリロードが再開される。プリロードが完了したとき、ゲームタイトルＡにおけるユーザ（ユーザ１またはユーザ２、ユーザ３など）の継続的なユーザインタラクションを検出すると、プリロードされたゲームＡがそのユーザに割り当てられる。ユーザへの割り当てのためにゲームコンソール上で利用可能であるゲームは、「スピンしている」とみなされる。ゲームがスピンしていることは、本出願で使用される場合、プリロードされ、かつユーザインタラクション（すなわち、ユーザの選択）に基づいてゲームプレイのためにユーザに割り当てられるべく待機中であるゲームと定義される。一実施形態において、完全にプリロードされたゲームＡは、ユーザ１がゲームプレイのためにゲームＡを選択したときにユーザ１に割り当てられてもよく、ユーザ２によって与えられたユーザインタラクションがホバリングなどの受動的なユーザインタラクションである場合、デモデータとしてユーザ２に提供されてもよい。しかしながら、ユーザ２のユーザインタラクションがゲームＡの能動的な選択である場合、プリロードされたゲームＡは、ユーザ１がゲームＡを解放した場合か、またはゲームＡとのインタラクションがないためにゲームＡがユーザ１に割り当てられなかった場合には、ゲームプレイのためにユーザ２にとって直ちに利用可能となってもよい。さもなければ、ゲームＡの第２のインスタンスが、例えば、同じデータセンター内の同じゲームコンソールまたは異なるゲームコンソールにてインスタンス化されてもよく、ゲームプレイのためにユーザ２に提供されてもよい。ユーザ２がゲームＡとのインタラクション（すなわち、受動的なインタラクション）を行い、更に移動を続けてゲームＢまたはゲームＣに達したとき、ユーザ２の関心が移行したことが検出されて、ゲームプリローダモジュール３０２にユーザ２へのゲームＡの割り当てを解放させる。ゲームＡ（すなわち、スピン中のゲームＡ）の解放された、かつ自由なインスタンスは、受動的または能動的なユーザインタラクションが別のユーザ（ユーザ３）のクライアントデバイス上のゲームタイトルにて検出されたとき、そのユーザ３に再度割り当てられてもよい。
【００５４】
１つ以上のゲームの複数のインスタンスは、所与の時間においてスピンしていてもよいが、このことは、それらのインスタンスが、種々のゲームコンソール上にプリロードされ、インスタントゲームプレイのためにユーザへの割り当てに利用可能であることを意味する。１つ以上の部分的に、または完全にプリロードされたゲームのこれらのインスタンスは、いくつかの実施形態において、各ゲームコンソールにて所定の期間維持されてもよい。ユーザインタラクションが所定の期間中に各ゲームタイトル（複数可）にて検出されず、または現在の期間の使用需要に基づいていないとき、１つ以上のゲームの複数のインスタンスを削減してもよい。これは、複数のゲームまたはいくつかのゲームのいくつかのインスタンスを共に破棄することを含み、それにより、他のゲームのインスタンス化が可能となるようにゲームコンソールのリソースが解放される。こうした削減は周期的になされてもよい。ゲームプリローダモジュール３０２は、種々のデータセンターのプリロードハンドラ４０６と対話して、各データセンターの種々のゲームのインスタンスを管理してもよい。ゲームプリローダモジュール３０２は、使用基準に基づき、プリロードされたゲームのインスタンスのどれを確保すべきか、及びどのインスタンスを破棄すべきかを決定してもよい。このような使用基準としては、各ゲームの使用履歴、期間（例えば、１日の時間、週の時間など）、ゲームの人気度、ゲームジャンル内の関連ゲームの人気度などがある。様々な期間に必要とされる１つ以上のゲームのプリロードされたインスタンスの数が使用基準、予測された使用需要などに基づいて変化し得るため、プリロードされたインスタンスの数を動的に調節して、こうした使用需要の変動を満たすようにしてもよい。例えば、使用履歴及び／または予測された使用需要に基づき、いくつかのゲームのインスタンスを、ある特定の時間には多い方に調節し、異なる時間には少ない方に調節して、ユーザが様々な時間にてクラウドゲーミングサイトのゲームタイトルとインタラクションを行うときに適切な数のゲームインスタンスが割り当てのために直ちに利用可能となることを確実にしてもよい。その結果、いくつかの実施形態においては、使用履歴及び／または予測された使用需要に基づき、複数のゲームのうちのある特定のゲームの全てのプリロードされたゲームインスタンスが破棄され得る。しかしながら、このような実施形態では、クラウドゲーミングサイトは、破棄の前にこれらのゲームのプリロードされたゲームインスタンスをある所定の期間維持して、これらのゲームインスタンスが（例えば、新たにリリースされた特定のジャンルのゲームに対しては）早まって破棄されないことを確実にしてもよい。
【００５５】
ゲームのプリロードはゲームの汎用的なゲーム部分をロードすることに留意すべきである。ゲームの賞金、ゲームのレベル、ゲームのアイコン、ゲームの目標、ユーザ専用のゲームのカスタマイズなどの、ゲームのユーザ専用部分は、受動的なユーザインタラクションが検出されたときにはプリロードされないが、能動的なユーザインタラクション（すなわち、ユーザの選択）がゲームタイトルにて検出されたときにはロードされる。
【００５６】
図３Ｂは、一実施形態において、クラウドゲーミングサイトによってアクセス可能な各種データセンター内の各サーバ上で実行されている例示的なインスタントプレイプリロードハンドラ（または、単に「プリロードハンドラ」）４０６を示す。プリロードハンドラ４０６は、識別されたゲームをデータセンター４００のゲームコンソール４０４上にプリロードし、ゲームのインスタンスを管理して、リクエストされたときにゲームのインスタンスがゲームプレイのために直ちに利用可能であることを確実にするために使用される。この実施形態において、システムは、各ゲームの使用履歴を周期的に分析するが、かかる分析は、クライアントデバイス１００におけるユーザインタラクションを必要とせずに行われる。使用履歴に提供された情報の分析に基づき、各ゲームの需要が予測される。スピンされている各ゲームのインスタンスの数は、予測されたユーザ需要と一致している。一実施形態において、使用履歴は、複数のユーザのセッションログ、ユーザログなどを分析することによって取得されてもよい。あるいは、各ゲームタイトルにおける各ユーザのユーザインタラクションは、別々の使用履歴ログに収集されてもよく、この履歴ログの情報を分析して各ゲームタイトルの使用需要を予測する。
【００５７】
分析を支援するために、一実施形態において、プリロードハンドラ４０６は予測ロジック４１２を含む。この予測ロジックは、各ゲームの使用需要を予測し、クラウドゲーミングサイト３００にて利用可能な種々のゲームのインスタンスの数を動的に調節するために使用される。予測ロジック４１２は、複数のモジュールから入力を受け取る。このようなモジュールとしては、各種ゲームの使用履歴を提供する履歴需要モジュール４１６、使用需要を決定するのに必要な時間を提供するタイマモジュール４１８、種々のゲームに対する各プレイヤーの関心及び関与を提供するプレイヤー履歴モジュール４１４、プレイヤーログインモジュール４２２などがある。このプレイヤーログインモジュールは、それぞれのユーザアカウントに現在ログインしており、かつクラウドゲーミングサイト３００にアクセスしているプレイヤーの数に関する情報、及び受動的なユーザインタラクションを与えることによってプレイヤーがどのゲームに対してインタラクションを行っているか、または関心を示しているかに関する情報を提供する。予測ロジック４１２は、特定イベントモジュール４２０と対話してもよい。このモジュールは、種々のイベントに関する情報を提供する。これらのイベントは、様々なゲーム開発者によって、または様々な期間にクラウドゲーミングサイト３００にて、種々のゲームに対してスケジュール設定されている。特定イベントの一部は、特定のジャンル、特別なセール／購入イベントなどにおける新しいゲームのリリースを含んでもよい。各種モジュールは、有用な入力を予測ロジック４１２に与える。このロジックは、各種入力を分析して、複数のゲームのうちのどのゲームを保持する必要があるか、どのゲームを破棄すべきか、どのゲームインスタンスを様々な期間中に増加／減少させる必要があるかなどを決定する。予測ロジック４１２からの分析を使用して各ゲームの適切なインスタンスの数を維持することにより、実際のユーザインタラクションが種々のゲームタイトルにて検出されたとき、十分な数のゲームインスタンスが、各ユーザへの割り当てのために直ちに利用可能となる。
【００５８】
予測ロジック４１２からの分析は、インスタントプレイローダモジュール４１０への入力として与えられる。インスタントプレイローダモジュール４１０は、予測ロジック４１２からの入力を使用して、１つ以上のゲームのインスタンスを実行する必要があるかどうかを決定し、ゲームデータベース４０８と対話することにより、ゲームのゲームコードを取り出し、ゲームのインスタンス化が可能なゲームコンソールを識別し、各ゲームコンソールキュー４２４にゲームのゲームコードをプリロードするためのリクエストをキューに入れる。上述したように、各データセンター４００は、複数のゲームサーバ４０２を含んでもよく、その際、各ゲームサーバ４０２は、１つ以上のゲームコンソール４０４をホストしている。各サーバ４０２は、特定のゲームの複数のインスタンスをインスタンス化してもよく、または複数のゲームの１つ以上のインスタンスをインスタンス化してもよい。ゲームの各ゲームインスタンスは、ゲームがシングルユーザゲームであるか、またはシングルユーザモードでプレイされるときには１人のユーザに割り当てられ、あるいは（マルチユーザモードのゲームでは）複数のユーザに割り当てられることに留意すべきである。その結果、複数のユーザ／ユーザグループが同時に特定のゲームにてホバリングアクションなどのユーザインタラクションを与えたとき、各ユーザまたは各ユーザグループには、そのゲームの自分自身のインスタンスを割り当てる必要がある。更に、一実施形態において、各ゲームコンソールは、１つのゲームアプリケーションをインスタンス化してもよい。他の実施形態では、回路に応じて、各ゲームコンソールは、１つのゲームの複数のインスタンスのインスタンス化、または複数のゲームの１つ以上のインスタンスのインスタンス化が可能であってもよい。いくつかの実施形態において、各ゲームコンソールは、ゲームコンソールがそのハードウェアを１つのゲームの複数のインスタンス、複数のゲームの１つのインスタンス、または複数のゲームの複数のインスタンスと共有するという点で仮想マシンをエミュレートする。
【００５９】
ゲームコンソールキュー４２４は、一実施形態において、各データセンターに専用であってもよく、各データセンターにて利用可能な１つ以上のゲームを求める複数のプリロードリクエストを含んでもよい。一実施形態において、種々のデータセンターからのゲームコンソールキュー４２４を統合して、統合されたゲームコンソールキューを形成してもよい。統合されたゲームコンソールキューは、クラウドゲーミングサイトからアクセス可能な種々のデータセンターによってホストされる種々のゲームを求める複数のプリロードリクエストを管理するために使用される。
【００６０】
ゲームコンソール割り当て部４２６は、ゲームコンソールキュー４２４の各エントリを対応するゲームコンソールに割り当てる。ゲームコンソールの割り当ては、１つ以上の割り当て基準に基づいてもよい。このような割り当て基準としては、ゲームのシステム要件、ゲームコンソールが利用可能であるデータセンターの地理的位置、ゲームコンソールの可用性、ゲームコンソールにおける通信帯域幅及び他のリソースの可用性、時間、その時間の使用需要などがある。割り当て基準に基づき、ゲームコンソール割り当て部４２６は、インスタンス化のために複数のゲームコンソールのうちの特定のゲームコンソールにゲームコードを割り当て、複数のゲームコンソールのうちの特定のゲームコンソールが特定のゲームのインスタンス化に十分な帯域幅を有していないか、またはリクエストをサービスするのに利用可能でないときには、ゲームコンソール割り当て部４２６は、類似のコンソール特性を有する第２のゲームコンソールをデータセンター内で検索してもよく、この第２のゲームコンソールにゲームを再度割り当ててもよい。同様の方針に従って、ゲームコンソール割り当て部４２６が、ゲームコンソールを含むデータセンター内の特定のサーバが何らかのリクエストをサービスするのに利用可能でないか、またはリクエストをサービスするのに必要なリソースを有していない場合があると判定した場合、ゲームコンソール割り当て部は、異なるゲームサーバ及びその異なるゲームサーバ内の代わりのゲームコンソールを検索して、サービスを求めるリクエストをそのゲームコンソールに送信してもよい。
【００６１】
いくつかの実施形態において、ユーザセッションは、ユーザがユーザアカウントを介してログインすることによってクラウドゲーミングサイトにアクセスするときに作成される。セッションは、「ゲームシート」をユーザに割り当てる。このゲームシートは、処理能力、ＧＰＵ能力、メモリ、通信帯域幅などの、クラウドゲーミングサイトによってユーザに割り当てられる必要がある処理リソースを識別して、満足の行くゲームプレイ体験をユーザが得られることを可能にする。
【００６２】
ユーザのゲームシートのために識別される処理リソースは、ユーザの以前の使用状況及びユーザがプレイするために選択するゲームの種類を予測することに基づいてもよく、こうした情報は、プリロードハンドラ４０６の予測ロジック４１２によって提供されてもよい。従って、ユーザがクラウドゲーミングサイトにログインするとき、予測ロジック４１２は、ユーザの履歴ゲームプレイに基づいてゲームシート（すなわち、ユーザセッション）に割り当てるリソースを算定する。一旦ユーザのセッションが作成され、必要な処理リソースが割り当てられると、ユーザは、割り当てられたリソースをゲーミングセッションの間使用するものと考えられる。
【００６３】
ユーザがプレイを開始した後、ユーザのゲームプレイは監視される。監視中、処理リソースを割り当てた水準でユーザがプレイしていないと判定された場合、予測ロジック４１２は、インスタントプレイプリロードマネージャ３１０に信号を送信してユーザのリソースを動的に変更することにより、処理リソースがユーザに過剰に割り当てられないようにする。一実施形態において、ゲーミングセッションの間に処理リソースが過小に割り当てられていると予測ロジック４１２が判定したときに同様の信号を生成してもよい。
【００６４】
１つの例示的実施形態において、上記の監視は、サービス品質（ＱＯＳ）をテストするときに、割り当てられたサーバとゲームプレイのために使用されるユーザのコンピューティングデバイスとの間の通信「パイプライン」（すなわち、通信接続）上のデータ「トラフィック」を求めることによって行うことができる。ＱＯＳテストは、割り当てられたリソースがユーザセッションに十分であるかどうかを判定するためにゲームプレイ中に周期的に行われてもよいことに留意すべきである。データトラフィックは、現在のゲーミングセッション中にユーザのコンピューティングデバイスとゲームクラウドシステムとの間で交換されているゲームパケットデータの種類及び量を実質的にリアルタイムで調べることによって測定される。ＱＯＳテストからのデータは、割り当てられたリソースを調節して最適なゲーミング体験をユーザに提供する必要があるかどうかを判定するためにリソースの予測と突き合わせて比較される。
【００６５】
リソースの予測は、一実施形態において、以前の使用状況のヒストグラム、プレイしたゲームの種類、クラウドゲームシステムにアクセスした時間、プレイしたゲームのレベルなどの、最後の数ゲームセッションのゲーミング履歴データを用いた以前の使用状況データに基づいてユーザのゲームプレイパターンを予測してもよい。通常、ユーザがログインするとき、ユーザは、自分が以前に離れた（すなわち、ユーザの最後のセッション中にサインオフした）位置にてゲームを再開する可能性がある。従って、ユーザは、以前にいたときと同じレベルにジャンプして戻る可能性が高い。可能性は、測定可能な確信度を用いて決定されてもよい。確信度は、１から１００までのスケールで、例えば、５０より大きくすることができる。ある場合には、予測されている動作がより発生しやすいことを保証するためにより大きい確信度（例えば、８０）が必要である。予測ロジックは、ユーザの以前のログイン及びゲームプレイの使用状況（すなわち、ユーザが最後の３日／最後の週／その他の間続けていたゲームプレイの種類）を分析することによってユーザの現在のゲームプレイパターンを測定してもよい。
【００６６】
一実施形態において、予測的な分析データは、予測ロジック４１２によってインスタントプレイプリロードマネージャ３１０と共有されており、それによって適切なデータセンターを識別し、割り当てるようになっている。この適切なデータセンターは、（ａ）ユーザに最も近く、かつ（ｂ）ユーザが充実したゲームプレイ体験を得られるようにユーザに割り当てるための予測された処理リソースを有する、識別されたデータセンターである。予測分析は、更なる検証を提供する。この検証は、ユーザのリクエストが通常送られる、または現在送られているデータセンターが、必要なリソースを有しており、こうした接続の品質について妥協することなくユーザが最適なゲームプレイ体験を確実に得られるようにするためのものである。
【００６７】
一実施形態において、一旦ユーザが、データセンター及びゲームコンソールに割り当てられ、ゲームプレイを開始すると、ゲームプレイの品質が高レベルに保たれたまま、データの帯域幅が低下し始める場合がある（すなわち、接続速度が低下し始める場合がある）。接続は、需要がパイプライン上に与えられたことなどを含む、いくつもの理由によって低下する場合がある。ゲームプリローダモジュール３１０は、一実施形態において、予測されたサービスの品質と配信されたサービスの品質との不一致を認識してもよく、ゲームの解像度を動的に下げてその不一致を自動的に解決してもよい。接続速度が必要とされる水準に一旦復帰したら、解像度が滑らかに上がるように調節して、サービスの品質を犠牲にせずともユーザが充実したゲーミング体験を得られるようにしてもよい。
【００６８】
いくつかの実施形態において、接続品質が低下し始めたとき、クラウドゲーミングサーバ４０２は、ゲームロジックにコマンドを送信して、ある特定のゲームのアセットの解像度品質をより低下させるようにしてもよい。解像度を低くすることができるゲームのアセットは、いくつかの実施形態において、それらのゲームがゲームプレイにとって重要でないとき、解像度を下げることができる資産としてゲーム開発者によって識別される場合がある。これにより、ユーザが関与しているゲームの残りの部分をより高い品質でレンダリングすることができる。それでも、ある特定のゲームのアセット、オブジェクト、テクスチャなどの解像度を下げることにより、全体のデータ処理量を、ゲームプレイの品質に影響を及ぼすことなく、接続速度の低下を補償するように減少させることができる。
【００６９】
いくつかの実施形態において、ゲームコンソール割り当て部モジュール４２６は、クラウドゲーミングサイトにて利用可能な種々のゲームのインスタントプレイ統計情報４２８を生成し、保持して、各データセンター内の種々のサーバ及び種々のゲームコンソールのステータスを提供することにより、ゲームコンソールを割り当ててゲームをインスタンス化することを高速かつ効率的に実行してもよい。インスタントプレイ統計情報４２８は、インスタントプレイログデータ４２８−ａの形で提供される。例示的なインスタントプレイログを図３Ｂに示す。インスタントプレイログ４２８−ａは、各ゲームの使用統計情報を提供する。この使用統計情報は、ゲーム識別子、種々のデータセンター内の種々のゲームコンソールにて現在スピンしている各ゲームのインスタンスの数、ユーザが現在ロックしているか、または関与している各ゲームのインスタンスの数、利用可能なインスタンスの数、様々な時間における予測されたインスタンス需要などを含む。加えて、プレイログデータ４２８−ａは、ある特定のゲームをインスタンス化するためにどのゲームコンソールが使用されたか、及び各データセンター内の種々のゲームサーバ内にある種々のゲームコンソールのステータスに関連した情報を提供してもよい。統計情報の一部のための情報を、使用履歴、履歴需要、プレイヤー履歴、及びゲームコンソールからのデータを使用して予測ロジック４１２に与えられた他の入力から取得してもよい。インスタントプレイログに提供された統計情報に基づき、ゲームコンソール割り当て部は、ゲームインスタンスの使用の可能性を想定して各ゲームのインスタンスの数を最適なレベルに保つためにどのアクションをとるべきかを決定してもよい。ゲームにおけるユーザインタラクションをクラウドゲーミングサイトにて受信したとき、既にプリロードされているゲームのインスタンスを、大きな遅延を伴うことなくユーザに提供してもよい。上記の決定に基づき、ゲームコンソール割り当て部４２６は、インスタントプレイローダ４１０に信号を送って、各ゲームタイトルのインスタンスを増加または減少させてもよい。従って、インスタントプレイログ４２８−ａは、需要が適度にあるゲームを維持し、「最新」の（すなわち、需要がより多い）ゲームのインスタンスをより多くロードし、ユーザの需要が多くないゲームのインスタンスを破棄するのに役立つ。
【００７０】
図４は、ゲーム及びゲームインスタンスを管理することによって取得された使用履歴に基づき、種々のゲームについてプロットされた例示的な「最新」配信グラフを示す。最新配信グラフを使用して、クラウドゲーミングサイト内で利用可能な複数のゲームのうちの特定のゲームのインスタンスの数を改善してもよい。例えば、種々のゲームについての使用需要は、ある特定のゲームの需要が様々な時間で急増し、後退して経時的に変動する場合があるが、こうした変動を使用してゲーム及びゲームインスタンスを管理してもよい。図４に示した配信グラフは、特定の期間の、または延長された期間にわたる使用需要を反映し得る。グラフに与えられたデータは、複数のゲームのうちのどのゲームが、破線（例えば、１５００の使用需要を示している）によって指示された所定の閾値を超える使用履歴を有するか、及びどのゲームが所定の閾値未満の使用需要を有するかを決定するために使用される。図４に示した例において、ゲームＥ、Ｃ、Ａ、Ｄ及びＬは、所定の閾値より上に該当し、保持の対象とされる使用需要を有しており、他方、ゲームＧ、Ｒ、Ｋ、Ｓ及びＮは、破棄の対象とされ得る所定の閾値未満に該当する。いくつかの実施形態において、破棄の対象とされるゲームは、使用需要が増加するかどうかを決定する所定の時間維持されてもよい。これは、使用履歴が利用できないことがある新しいゲームが導入されたときの場合かもしれない。所定の期間の後、使用需要が所定の閾値を超えて増加しない場合、破棄の対象とされるゲームを破棄してもよい。ゲームの使用需要は、非常に流動的となる場合があり、経時的に変動し得るが、こうした変動を考慮しながら種々のゲームのインスタンスの最適な数を維持してもよい。
【００７１】
いくつかの実施形態において、使用需要をシステムリソースの容量及び機能に対して重み付けして、ゲームプレイ中、１つ以上のゲームのインスタンス化によってストリーミングコンテンツをユーザに提供する際にシステムの性能が悪影響を確実に受けないようにする。そのため、システムは、特定のゲームタイトルのインスタンス化のために提供された専用コンソール及び／またはサーバリソースの数が所定の閾値を超えないことを保証し得る。所定の閾値を超えると、めったに使用され得ないインスタンスを提供するために束縛されている不必要なシステムリソースが生じる場合がある。こうした性能のボトルネックを回避するために、システムリソースの帯域幅の一部をサンプリング用の１つ以上のゲームのゲームインスタンスを提供するために専用のものとし、他方、ゲームの１つ以上のインスタントプレイを提供するために残りのリソースを確保してもよい。こうしたゲームのゲームプレイに対する需要が所与の期間で増加するとき、いくつかの実施形態において、サンプリングからの１つ以上のインスタンスをゲームプレイに割り当ててもよい。
【００７２】
図５は、一実施形態における、クライアントデバイス１００上の各ゲームにて検出されたユーザインタラクションに基づいた種々のゲームのプリロードシーケンスを示す。ユーザは、ユーザアカウントを使用してクラウドゲーミングサイトにアクセスする。ユーザアクセスに応答して、クラウドゲーミングサイトは、クライアントデバイスのディスプレイ画面にレンダリングさせるために、利用可能なゲームのゲームタイトルのリストを返す。レンダリングのためにクライアントデバイス１００に返されたゲームタイトルは、代表的な画像／アイコンを含む。図５は、各ユーザ―ユーザ１、ユーザ２について返され、レンダリングされた例示的な一組のゲームタイトルＧ１、Ｇ２、Ｇ３、Ｇ４などを示す。ゲームタイトル及び画像／アイコンに加えて、ゲームの概要、代表的なゲームシーン、予め録画されたゲームプレイのミニクリップ、１つ以上の追加情報オプションなどの１つ以上の情報コンテンツを、ユーザインタラクションが各ゲームアイコン／画像にて検出された場合、レンダリングのために返してもよい。
【００７３】
（バブル「１」によって表された）ホバリング動作などのユーザ１のインタラクションがゲームＧ１にて検出されると、このユーザインタラクションを監視してＧ１におけるユーザインタラクションの時間（すなわち、約３〜５秒）を求める。ユーザインタラクションの時間が所定の閾期間より長い場合、バブル「１ａ」で示すように、ゲームＧ１の汎用ゲームデータのプリロードをゲームサーバ４０２にて開始する。加えて、ゲームＧ１におけるユーザ１のインタラクションに応答して、バブル「２」で示すように、ゲームシーン、ゲームの説明、ゲームクリップなどのゲーム情報の１つ以上を自動的に選択して前景にレンダリングさせ、他方、バックグラウンドでは、汎用ゲームデータがゲームコンソール、ＧＣ１上にプリロードされている。ゲームＧ１のプリロードは、ユーザ１のインタラクションがゲームＧ１にて検出されている限り継続し、ゲームは完全にはプリロードされない。プリロードしている間、ユーザ１のインタラクションがゲームＧ１からゲームＧ４に移行した場合、バブル「３」で示すように、ユーザインタラクションの切り替えが、クラウドゲーミングサイト３００にて検出される。次いで、このサイトは、バブル「３ａ」で示すように、信号を送信してＧＣ１におけるゲームＧ１のプリロードを休止する。加えて、ゲームＧ１と同様に、ユーザ１のインタラクションを監視して、Ｇ１におけるユーザ１のインタラクションの時間が所定の閾期間を超えたかどうかを判定する。その時間が所定の閾期間を超えた場合、クラウドゲーミングサイト３００は、バブル「３ｂ」で示すように、データセンターに信号を送信してゲームＧ４のゲーム関連データのプリロードを開始する。ゲームＧ４をプリロードすることは、ゲームコンソールの可用性、ゲームコンソールにて利用可能な帯域幅、ゲームコードで指定されたシステム要件などの、ゲームコンソールと関連した１つ以上の割り当て基準に応じて、ゲームコンソールＧＣ５またはＧＣ１上でバックグラウンドで実行されてもよい。
【００７４】
バブル「４」で示すように、第２のユーザ（ユーザ２）がクラウドゲーミングサイトにアクセスし、ゲームＧ１にてユーザインタラクションを与えると、バブル「４ａ」で示すように、ＧＣ１にてプリロードされたゲームＧ１をユーザ２に渡す。ゲームＧ１の汎用ゲームデータが完全にプリロードされており、かつそのインスタンスが割り当てに直ちに利用可能である場合、ユーザ２のリクエストをサービスするためにゲームＧ１の新しいインスタンスをインスタンス化する必要はない。ゲームＧ１にてユーザ２によって与えられたユーザインタラクションに基づき、ユーザ２には、完全にプリロードされた汎用ゲームデータがデモデータとして提供される。当然のことながら、ゲームＧ１が部分的にプリロードされていた場合にはプリロードが再開される。プリロードが完了したとき、ユーザ２のユーザインタラクションがゲームＧ１における受動的なユーザインタラクションとして継続している場合、プリロードされた汎用ゲームデータをデモデータとして提供してもよい。これに対して、ユーザ２のユーザインタラクションが、ゲームＧ１における能動的なユーザインタラクション（例えば、ゲームプレイのためのユーザ選択）である場合、ゲームデータがインスタントゲームプレイのために提供される。任意の所与の時間において、複数のユーザがクラウドゲーミングサイトにアクセスしていてもよく、複数のゲームタイトルとのインタラクションを行っていてもよいことに留意すべきである。その結果、検出されたユーザインタラクションに応答して、１つのゲームの複数のインスタンスまたは複数のゲームの複数のインスタンスが、地理的に分散され、かつ各ユーザに割り当てられた１つ以上のデータセンター内の１つ以上のサーバにてインスタンス化される。一旦ユーザが特定のインスタンスとのインタラクションを行うと、その特定のインスタンスへのユーザの割り当てが解除される（すなわち、インスタンスが解放される）。ゲームの各インスタンスは、ゲーム／ゲームモードがシングルユーザゲーム／ゲームモードである場合、１人のユーザに割り当てられ、または、ゲーム／ゲームモードがマルチユーザゲーム／ゲームモードである場合、ユーザグループに割り当てられるため、ユーザまたはユーザグループによってゲームのインスタンスが解放された（すなわち、自由かつ利用可能になる）ならば、ゲームの利用可能なインスタンスを、他のユーザ（複数可）がそのゲームに関心を示したときに別のユーザまたは別のユーザグループに再度割り当ててもよい。マルチユーザゲームモードにおいて、ゲームのインスタンスに割り当てられるユーザは、同じ場所に位置してもよく、または遠隔に位置してもよい。各種実施形態の詳細な説明を用いて、次に、ゲームをプリロードするために使用される方法について図６を参照して説明する。
【００７５】
図６は、本発明の一の実施態様における、ゲームタイトルにて検出されたユーザインタラクションに応答してゲームをプリロードするための各種方法の動作を示す。この方法は、動作６１０から始まる。ここで、複数のゲームのうちの選択されたゲームの１つ以上のインスタンスをクラウドゲームサーバ上の１つ以上のゲームコンソール上にロードする。ロードされるゲームのインスタンスの数及び種類は、クラウドゲーミングサイトにて検出されたゲームの使用履歴に基づいている。使用履歴を経時的に収集して、クラウドゲーミングサイトにて利用可能な複数のゲームのうちの特定のゲームにおけるユーザインタラクションの種類及び数を識別してもよい。使用履歴は、様々な期間にわたる各ゲームの使用需要を識別する。操作６２０に示すように、複数のゲームのうちの選択されたゲームのそれぞれにおける各ユーザのユーザインタラクションの長さが所定の閾期間を超えたとき、１つ以上のゲームコンソール上にロードされた複数のゲームのうちの選択されたゲームのインスタンスにユーザを割り当てる。
【００７６】
操作６３０に示すように、ユーザインタラクションを、ロードされたゲームの割り当てられたインスタンスにて更に監視する。ユーザインタラクションは、ホバリング、カーソル接近などの受動的なユーザインタラクションでもよく、または、ゲームプレイもしくは表示のためにユーザがゲームを選択することなどの能動的なユーザインタラクションでもよい。操作６４０に示すように、１つ以上のゲームコンソール上にロードされたゲームのインスタンスの数を、複数のゲームのうちの各ゲームにおいて監視されたユーザインタラクションに基づいて動的に調節する。インスタンスの数を動的に調節することにより、ゲームに対する即時アクセスをユーザに提供しつつ、クラウドゲームサーバ上のゲームリソースの最適な使用が可能となる。
【００７７】
図７は、一実施形態における、ゲームをプリロードし、プリロードされたゲームをユーザに利用可能にするために使用される代替的な方法を示す。この方法は、クラウドゲーミングサイト上で利用可能なゲームのゲームタイトルにてユーザインタラクションが検出されたときの動作７１０から始まる。クラウドゲーミングサイトは、それにとって利用可能な複数のゲームタイトルを有してもよく、クラウドゲーミングサイトへのアクセスをユーザがリクエストすると、クラウドゲーミングサイトは、そのユーザアカウントで利用可能であるゲームのゲームタイトルを識別して返す。ユーザアカウントで利用可能な複数のゲームタイトルが多いとき、予め設定された数のゲームタイトルのみを返してユーザのクライアントデバイス上にレンダリングさせてもよい。予め設定された数のゲームタイトルは、ユーザによって最近表示され、またはプレイされたゲームを含んでもよい。返されたゲームタイトルは、クライアントデバイスのディスプレイ画面上にレンダリングされる。クライアントデバイス上にレンダリングされたゲームタイトルのうちの１つにてユーザインタラクションが検出されたことに応答して、動作７２０に示すように、ゲームのインスタンスを、クラウドゲーミングサイトにとって利用可能なクラウドゲームサーバのゲームコンソール上にプリロードする。ゲームのプリロードは、ゲームタイトルにて検出されたユーザインタラクションの長さが所定の閾期間を超えたときに開始される。
【００７８】
動作７３０に示すように、検出されたユーザインタラクションに応答して、プリロードされたゲームのインスタンスをユーザに割り当てる。この割り当てにより、そのゲームの情報コンテンツの一部がクライアントデバイスのディスプレイ画面にレンダリングされる。動作７４０に示すように、本方法は、ゲームのインスタンスにてユーザインタラクションを更に監視することで終わる。インスタンスにおけるユーザインタラクションは、ゲームの使用履歴を決めるために使用される。複数のユーザによる１つ以上のゲームのゲームインスタンスに関連した使用履歴を使用して、様々な時間における種々のゲームの使用需要を予測し、クラウドゲーミングサイトにとって利用可能なゲームのインスタンスの数を管理する。
【００７９】
各種実施形態は、ゲームタイトルにて検出されたユーザインタラクションの種類及び長さに基づき、ゲーム情報を前景に与えつつ、バックグラウンドでゲームのインスタンスをプリロードする新規の方法を提供する。プリロードすることにより、ゲームのゲームプレイのためのアクセスがリクエストされるときの待機時間が大幅に減少する。プリロードすることは、ゲームの汎用的なゲーム関連データをロードすることを含み、これは、通常、ゲームのプレイまたはゲームの表示のためにゲームにアクセスするときの遅延が最も大きい。クラウドゲーミングサイトにて利用可能なゲームのコンテンツは、レンダリングのためにクライアントデバイスにストリーミングされており、クライアントデバイス内にはローカルにインストールされないことに留意すべきである。このようにして、ゲームをインスタンス化すべきデータセンターが、ゲーム関連データを最小のレイテンシでストリーミングできるように処理リソース及び通信リソースに基づいて選択されるため、ゲームにアクセスするための待機を最小限にしてユーザ（複数可）のゲームプレイ体験を充実させることができる。他の利点は、本明細書に記載された本発明の種々の実施形態を考察する際に当業者にとって明らかになるであろう。
【００８０】
いくつかの実施形態において、クライアントは、汎用コンピュータ、専用コンピュータ、ポータブルゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス、ポータブルゲーム機、携帯電話、セットトップボックス、ストリーミングメディアインターフェース／デバイス、スマートテレビもしくはネットワーク化されたディスプレイ、または本明細書に定められたようなクライアントの機能を遂行するように構成可能な任意の他のコンピューティングデバイスとすることができる。一実施形態において、クラウドゲーミングサーバは、ユーザによって利用されているクライアントデバイスの種類を検出し、ユーザのクライアントデバイスにとって適切なクラウド−ゲーミング体験を提供するように構成されている。例えば、画像の設定、オーディオの設定及び他の種類の設定を、ユーザのクライアントデバイスに対して最適化してもよい。
【００８１】
図８は、情報サービスプロバイダ構成の実施形態を示す。情報サービスプロバイダ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ：ＩＳＰ）１０７０は、地理的に分散され、かつネットワーク１０８６を経由して接続されたユーザ１０８２に多数の情報サービスを配信する。ＩＳＰは、株価の最新版や、放送メディア、ニュース、スポーツ、ゲーミングなどの様々なサービスのうちの単に一種類のサービスを配信する可能性がある。加えて、各ＩＳＰによって提供されるサービスは動的である、すなわち、サービスは任意の時点で追加または削除することができる。従って、特定の種類のサービスを特定の個人に提供しているＩＳＰは、経時的に変化する可能性がある。例えば、ユーザは、自分の地元にいる間はユーザのそばに近接しているＩＳＰによってサービスを受けてもよく、ユーザは、異なる都市に旅行するときには異なるＩＳＰによってサービスを受けてもよい。地元のＩＳＰは、必要とされる情報及びデータを新しいＩＳＰに転送する。それにより、ユーザ情報が、新しい都市のユーザに「追従」して、データがユーザにより近くなり、アクセスがより容易になる。別の実施形態において、マスタ−サーバ関係を、ユーザのための情報を管理するマスタＩＳＰと、マスタＩＳＰからの制御を受けてユーザと直接インターフェースをとるサーバＩＳＰとの間に確立してもよい。別の実施形態において、クライアントが世界中を移動するときにデータをあるＩＳＰから別のＩＳＰに転送することにより、ユーザにサービスを提供するためにより良い位置にあるＩＳＰを、これらのサービスを配信するＩＳＰにする。
【００８２】
ＩＳＰ１０７０は、アプリケーションサービスプロバイダ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ：ＡＳＰ）１０７２を含む。このプロバイダは、コンピュータベースのサービスをネットワークを介して顧客に提供する。ＡＳＰモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはサービスとしてのソフトウェア（ｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ：ＳａａＳ）と呼ばれる場合もある。（顧客関係管理などの）特定のアプリケーションプログラムへのアクセスを提供する単純な形態は、ＨＴＴＰなどの標準プロトコルを使用することによるものである。ベンダーのシステム上にあるアプリケーションソフトウェアは、ベンダーによって提供された専用のクライアントソフトウェア、またはシンクライアントなどの他のリモートインターフェースを使用して、ＨＴＭＬを用いてウェブブラウザを介してユーザによってアクセスされる。
【００８３】
広範な地理的領域にわたって提供されるサービスは、クラウドコンピューティングを使用することが多い。クラウドコンピューティングは、動的にスケーラブルであり、かつ多くの場合にはインターネット上のサービスとして仮想化リソースが提供されるコンピューティングの方式である。ユーザは、自分を支援する「クラウド」の技術基盤の専門家である必要はない。クラウドコンピューティングは、サービスとしてのインフラストラクチャ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＩａａＳ）、サービスとしてのプラットフォーム（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＰａａＳ）及びサービスとしてのソフトウェア（ＳａａＳ）などの種々のサービスに分類することができる。クラウドコンピューティングサービスは、ウェブブラウザからアクセスされる共通のビジネスアプリケーションオンラインを提供することが多く、その一方、ソフトウェア及びデータはサーバ上に記憶されている。クラウドという用語は、インターネットが、コンピュータネットワーク図においてどのように表され、それが隠蔽している複雑な基盤のどのような抽象概念であるかに基づき、（例えば、サーバ、ストレージ及びロジックを用いた）インターネットのメタファーとして使用される。
【００８４】
更に、ＩＳＰ１０７０は、シングルまたはマルチプレイヤーのビデオゲームをプレイするためにゲームクライアントによって使用されるゲーム処理サーバ（Ｇａｍｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｅｒｖｅｒ：ＧＰＳ）１０７４を含む。インターネットを介してプレイされる大部分のビデオゲームは、ゲームサーバへの接続を経由して動作する。通常、ゲームは、プレイヤーからデータを収集し、それを他のプレイヤーに分配する専用のサーバアプリケーションを使用する。これは、ピアツーピア配置より効率的かつ効果的であるが、それを行うには、別々のサーバがサーバアプリケーションをホストすることが必要になる。別の実施形態において、ＧＰＳがプレイヤー間の通信を確立し、プレイヤーの各ゲームプレイデバイスが、集中型ＧＰＳに依存せずに情報を交換する。
【００８５】
専用ＧＰＳは、クライアントから独立して動作するサーバである。こうしたサーバは、通常、データセンターに配置された専用ハードウェア上で動作して、より多くの帯域幅及び専用の処理能力を提供する。専用サーバは、大部分のＰＣベースのマルチプレイヤーゲームのためにゲームサーバをホストするのに好ましい方法である。大規模なマルチプレイヤーオンラインゲームは、一般的にはゲームタイトルを所有するソフトウェア会社によってホストされた専用サーバ上で動作して、これらのサーバによるコンテンツの制御及び更新を可能にする。
【００８６】
ブロードキャスト処理サーバ（Ｂｒｏａｄｃａｓｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｅｒｖｅｒ：ＢＰＳ）１０７６は、オーディオ信号またはビデオ信号を観客に配信する。非常に狭い範囲の観客に対するブロードキャストは、ナローキャスティングと呼ばれる場合がある。ブロードキャスト配信の最終区間は、リスナーまたは視聴者への信号の到着の仕方であり、信号は、ラジオ局またはテレビ局と同様に無線通信を介してアンテナ及び受信機に到達する場合があり、または、局を経由して、もしくは直接ネットワークから、有線テレビもしくは有線ラジオ（もしくは「ワイヤレスケーブル」）を介して到達する場合がある。インターネットは、特に信号及び帯域幅の共有が可能なマルチキャスティングにより、受信者にラジオまたはテレビを提供してもよい。歴史的には、放送は、国営放送または地方放送などの地理的領域によって範囲が定められてきた。しかしながら、高速なインターネットの普及により、世界のほとんどあらゆる国にコンテンツが到着することが可能になったため、放送は地理によって制限されない。
【００８７】
ストレージサービスプロバイダ（Ｓｔｏｒａｇｅ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ：ＳＳＰ）１０７８は、コンピュータ記憶空間及び関連した管理サービスを提供する。ＳＳＰは、定期的なバックアップ及びアーカイブ処理も提供する。サービスとしてストレージを提供することにより、ユーザは、必要に応じてより多くのストレージを注文することができる。別の大きな利点は、ＳＳＰがバックアップサービスを含むことであり、ユーザは、自分のコンピュータのハードディスクが故障した場合でも自分の全データを失うことはない。更に、複数のＳＳＰが、ユーザデータの全体的または部分的なコピーを有することができ、それによってユーザは、自分が位置する場所またはデータにアクセスするために使用されているデバイスとは別に効率的な方法でデータにアクセスすることが可能となる。例えば、ユーザは、自宅のコンピュータの個人ファイルに加えて、自分が移動している最中には携帯電話の個人ファイルにアクセスすることができる。
【００８８】
通信プロバイダ１０８０は、ユーザに接続性を提供する。ある種類の通信プロバイダは、インターネットへのアクセスを提供するインターネットサービスプロバイダ（ＩＳＰ）である。ＩＳＰは、インターネットプロトコルデータグラムを送達するために適切なデータ転送技術を使用してその顧客を接続する。このようなデータ転送技術としては、ダイヤルアップ、ＤＳＬ、ケーブルモデム、ファイバ、無線または専用の高速相互接続などがある。通信プロバイダは、電子メール、インスタントメッセージ送信及びＳＭＳショートメッセージサービスなどのメッセージングサービスを提供することもできる。別の種類の通信プロバイダは、インターネットへの直接のバックボーンアクセスを提供することによって帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ（ＮＳＰ）である。ネットワークサービスプロバイダは、電気通信会社、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などからなってもよい。
【００８９】
データ交換部１０８８は、ＩＳＰ１０７０内部のいくつかのモジュールを相互接続し、これらのモジュールをネットワーク１０８６を経由してユーザ１０８２に接続する。データ交換部１０８８は、ＩＳＰ１０７０の全てのモジュールが極めて近接している狭い領域をカバーすることができ、または、種々のモジュールが地理的に分散されているときには広い地理的領域をカバーすることができる。例えば、データ交換部１０８８は、データセンターの筐体内の高速ギガビットイーサネット（登録商標）（もしくはそれより高速なもの）、または大陸間の仮想エリアネットワーク（ｖｉｒｔｕａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＶＬＡＮ）を含むことができる。
【００９０】
ユーザ１０８２は、クライアントデバイス１０８４を用いてリモートサービスにアクセスする。このデバイスは、少なくともＣＰＵ、メモリ、ディスプレイ及びＩ／Ｏを含む。クライアントデバイスは、ＰＣ、携帯電話、ネットブック、タブレット、ゲームシステム、ＰＤＡなどとすることができる。一実施形態において、ＩＳＰ１０７０は、クライアントによって使用されるデバイスの種類を認識し、使用される通信方式を調整する。他の場合には、クライアントデバイスは、ＩＳＰ１０７０にアクセスするためにｈｔｍｌなどの標準的な通信方式を使用する。
【００９１】
本発明の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む各種のコンピュータシステム構成を用いて実施されてもよい。本発明は、有線ベースのネットワークまたは無線ネットワークによって連結されているリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することもできる。
【００９２】
上記の実施形態を念頭におくと、本発明は、コンピュータシステムにデータを記憶することを伴う各種のコンピュータ実行動作を利用できることを理解すべきである。これらの動作は、物理量の物理的操作を必要とするものである。本発明の一部を構成する本明細書に記載した動作はいずれも、有用な機械的動作である。本発明は、これらの動作を実行するデバイスまたは装置にも関する。装置は、必要とされる目的のために特別に構成することができ、あるいは装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータとすることができる。特に、本明細書の教示に従って記述されたコンピュータプログラムによって各種汎用機を使用することができ、あるいは、より特化された装置を構成して必要とされる動作を実行することがより好都合となる場合がある。
【００９３】
本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。あるいは、コンピュータ可読コードは、上記のデータ交換相互接続を使用してサーバからダウンロードされてもよい。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶デバイスであり、その後、このデータをコンピュータシステムによって読み込むことができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学的データ記憶デバイス及び非光学的データ記憶デバイスが含まれる。コンピュータ可読媒体は、ネットワーク結合のコンピュータシステム上に分散されたコンピュータ読み取り可能な有形媒体を含むことができる。その結果、コンピュータ可読コードは、分散方式で記憶され、実行される。
【００９４】
方法の動作を特定の順序で記載したものの、オーバレイ動作の処理が所望の方法で実行される限り、動作の間に他のハウスキーピング動作が実行されてもよく、あるいは、動作を調整してそれらがわずかに異なる時間に行われるようにしてもよく、または、処理と関連した各種間隔で処理動作が行われることを可能にするシステムに動作を分散させてもよいことを理解すべきである。
【００９５】
上述の発明について、理解しやすくするために幾分詳細に説明してきたが、添付された特許請求の範囲内で一定の変更及び修正を実施できることは明らかであろう。従って、本実施形態は、例示であって限定的なものではないとみなされるであり、本発明は、本明細書に述べた詳細事項に限定されることはなく、記載された実施形態の趣旨及び均等物の範囲内で修正され得る。
【００９６】
図９は、ソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスなどのゲーミングコンソールの全体システム構成を模式的に示す。このゲーミングコンソールは、本発明の実施形態を実施するためのコントローラと互換性を持つ場合がある。システムユニット１４００には、システムユニット１４００に接続可能な各種の周辺デバイスが設けられている。システムユニット１４００は、図２のクラウドゲーミングサーバ３００と同様である。システムユニット１４００は、Ｃｅｌｌプロセッサ１４２８；Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１４２６；専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット１４３２を有するリアリティシンセサイザグラフィックユニット１４３０；及びＩ／Ｏブリッジ１４３４を備える。システムユニット１４００は、Ｉ／Ｏブリッジ１４３４を介してアクセス可能な、ディスク１４４０ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ１４４０及びリムーバブルスロットインハードディスクドライブ（ＨＤＤ）１４３６も備える。必要に応じて、システムユニット１４００は、コンパクトフラッシュ（登録商標）メモリカード、メモリスティック（登録商標）、メモリーカードなどを読み込むためのメモリカードリーダ１４３８も備える。このリーダは、Ｉ／Ｏブリッジ１４３４を介して同じようにアクセス可能である。
【００９７】
Ｉ／Ｏブリッジ１４３４には、６つのＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２．０ポート１４２４；ギガビットイーサネット（登録商標）ポート１４２２；ＩＥＥＥ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート１４２０；及び最大７つのブルートゥース（登録商標）接続に対応可能なブルートゥース（登録商標）無線リンクポート１４１８も接続されている。
【００９８】
動作の際、Ｉ／Ｏブリッジ１４３４は、１つ以上のゲームコントローラ１４０２〜１４０３及びＨＭＤ１４１７からのデータを含む、全ての無線、ＵＳＢ及びイーサネット（登録商標）データを処理する。例えば、ユーザがゲームをプレイするとき、Ｉ／Ｏブリッジ１４３４は、ブルートゥース（登録商標）リンクを経由してゲームコントローラ１４０２〜１４０３からデータを受信し、それをＣｅｌｌプロセッサ１４２８に転送する。このプロセッサは、それに応じてゲームの現在の状態を更新する。
【００９９】
無線、ＵＳＢ及びイーサネット（登録商標）ポートも、ゲームコントローラ１４０２〜４０３及びＨＭＤ１４１７に加えて、リモコン１４０４；キーボード１４０６；マウス１４０８；ソニープレイステーションポータブル（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス１４１０；プレイステーション（登録商標）アイカメラ１４１２などのビデオカメラ；ならびにヘッドホン１４１４；及びマイクロホンヘッドセット１４１５などの他の周辺デバイスに接続性を提供する。従って、こうした周辺デバイスは、原則として、無線でシステムユニット１４００に接続されてもよい。例えば、ポータブルエンターテイメントデバイス１４１０は、Ｗｉ−Ｆｉアドホック接続を経由して通信してもよく、他方、ヘッドホン１４１４は、ブルートゥース（登録商標）リンクを経由して通信してもよい。
【０１００】
これらのインターフェースの提供は、プレイステーション３デバイスが、デジタルビデオテープレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ボイス・オーバーインターネットプロトコル（ＩＰ）電話、携帯電話、プリンタ及びスキャナなどの他の周辺デバイスとも潜在的に互換性を持つことを意味する。
【０１０１】
加えて、レガシーメモリカードリーダ１４１６を、システムユニットにＵＳＢポート１４２４を経由して接続することにより、プレイステーション（登録商標）デバイスまたはプレイステーション２（登録商標）デバイスによって使用される種類のメモリーカードの読み込みを可能にしてもよい。
【０１０２】
ゲームコントローラ１４０２〜１４０３は、ブルートゥース（登録商標）リンクを経由してシステムユニット１４００と無線通信するように、またはＵＳＢポートに接続されるように動作可能であり、それによってゲームコントローラ１４０２〜１４０３の電池を充電するための電源も供給する。ゲームコントローラ１４０２〜１４０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの永続メモリ、照明された球状断面、ＬＥＤ、または赤外光源などの発光素子、超音波通信のためのマイクロホン及びスピーカ、音響室、デジタルカメラ、内部時計、ゲームコンソールに対向している認識可能な形状体、ならびにブルートゥース（登録商標）ＷｉＦｉ（商標）などのプロトコルを使用している無線通信などを含むこともできる。認識可能な形状体は、実質的に、球体、立方体、平行四辺形、直方体、円錐、錐体、不完全な球体、サッカーボール、フットボールもしくはラグビーボール、球体の断面、角錐台、円錐台、野球バット、切頂立方体、多面体、星形などの形状、またはこれらの形状の２つ以上の組み合わせの形状にすることができる。
【０１０３】
ゲームコントローラ１４０２は、２本の手で使用されるように設計されたコントローラであり、ゲームコントローラ１４０３はボールアタッチメントを有する片手用コントローラである。１つ以上のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは、各軸の平行移動及び回転に対応する、６つの自由度の動作に反応する。従って、ゲームコントローラのユーザによるジェスチャ及び動きは、従来のボタンまたはジョイスティックコマンドに加えて、またはその代わりに、ゲームへの入力として翻訳されてもよい。任意ではあるが、プレイステーション（商標）ポータブルデバイスなどの他の無線で使用可能な周辺デバイスをコントローラとして使用してもよい。プレイステーション（商標）ポータブルデバイスの場合、付加的なゲームまたは制御の情報（例えば、制御命令またはライブの数）をデバイスの画面に提示させてもよい。ダンスマット（図示せず）、光線銃（図示せず）、ステアリングホイール及びペダル（図示せず）、または即答クイズゲーム用の単一もしくはいくつかの大型ボタン（同様に図示せず）などの特注のコントローラなどの、他の代替的または補助的な制御デバイスを使用してもよい。
【０１０４】
リモコン１４０４は、ブルートゥース（登録商標）リンクを経由してシステムユニット１４００と無線通信するようにも動作可能である。リモコン１４０４は、ブルーレイ（商標）ディスクＢＤ−ＲＯＭリーダ１４４０の動作及びディスク内容のナビゲーションに適した制御部を備える。
【０１０５】
ブルーレイ（商標）ディスクＢＤ−ＲＯＭリーダ１４４０は、従来の記録済みＣＤ及び記録可能なＣＤ、ならびにいわゆるスーパーオーディオＣＤに加えて、プレイステーションとプレイステーション２の各デバイスと互換性を持つＣＤ−ＲＯＭを読み込むように動作可能である。リーダ１４４０は、従来の記録済みＤＶＤ及び記録可能なＤＶＤに加えて、プレイステーション２とプレイステーション３の各デバイスと互換性を持つＤＶＤ−ＲＯＭを読み込むようにも動作可能である。リーダ１４４０は、従来の記録済みブルーレイディスク及び記録可能なブルーレイディスクに加えて、プレイステーション３デバイスと互換性を持つＢＤ−ＲＯＭを読み込むように更に動作可能である。
【０１０６】
システムユニット１４００は、リアリティシンセサイザグラフィックユニット（ＲＳＸ）１４３０を経由してプレイステーション３デバイスによって生成またはデコードされたオーディオ及びビデオを、オーディオ１４５０及びビデオ１４５２コネクタを介して、ディスプレイ１４４４及び１つ以上のラウドスピーカ１４４６またはスタンドアロンスピーカ１４４８を有するモニタまたはテレビ受像機などのディスプレイ及び音声出力デバイス１４４２に提供するように動作可能である。一実施形態において、音声入力及び注視入力は、ユーザの注視点（Ｐｏｉｎｔ  ｏｆ  Ｇａｚｅ：ＰＯＧ）に従って特定のオーディオスピーカに向けて音声を再生するために利用される。オーディオコネクタ１４５０は、従来のアナログ出力及びデジタル出力を含んでもよく、他方、ビデオコネクタ１４５２は、コンポーネントビデオ出力、Ｓビデオ出力、コンポジットビデオ出力及び１つ以上の高品位マルチメディアインターフェース（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ：ＨＤＭＩ（登録商標））出力を様々に含んでもよい。従って、ビデオ出力は、ＰＡＬもしくはＮＴＳＣなどのフォーマットでもよく、または７２０ｐ、１０８０ｉもしくは１０８０ｐの高解像度でもよい。
【０１０７】
オーディオ処理（生成、デコードなど）は、Ｃｅｌｌプロセッサ１４２８によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（Ｄｏｌｂｙ  Ｔｈｅａｔｒｅ  Ｓｕｒｒｏｕｎｄ：ＤＴＳ）、及びブルーレイ（登録商標）ディスクからの７．１サラウンドサウンドのデコーディングに対応する。
【０１０８】
本実施形態において、ビデオカメラ１４１２は、単一の電荷結合素子（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ：ＣＣＤ）、ＬＥＤインジケータ、ならびにハードウェアベースのリアルタイムデータ圧縮及びエンコード装置を備える。それにより、圧縮ビデオデータは、システムユニット１４００によるデコーディングのためのイントラ画像ベースのＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）標準などの適切なフォーマットで送信され得る。カメラＬＥＤインジケータは、例えば、不利な照明条件を示すために、システムユニット１４００からの適切な制御データに応答して照明するように配置されている。ビデオカメラ１４１２の実施形態は、ＵＳＢ、ブルートゥース（登録商標）、またはＷｉ−Ｆｉ通信ポートを経由してシステムユニット１４００に様々に接続されてもよい。ビデオカメラの実施形態は、１つ以上の付属マイクロホンを備えてもよく、オーディオデータを送信することができる。ビデオカメラの実施形態において、ＣＣＤは、高解像度ビデオキャプチャに適した解像度を有してもよい。使用中、例えば、ビデオカメラによって取得された画像は、ゲームの中に組み込まれてもよく、またはゲーム制御入力として解釈されてもよい。別の実施形態において、カメラは、赤外光を検出するのに適した赤外線カメラである。
【０１０９】
一般に、システムユニット１４００の通信ポートの１つを経由してビデオカメラまたはリモコンなどの周辺デバイスによって正常なデータ通信を行うために、デバイスドライバなどの適切なソフトウェアを提供する必要がある。デバイスドライバ技術は、周知であり、本明細書では詳細に説明しない。ただし、当業者は、デバイスドライバまたは類似のソフトウェアインターフェースが、記載した本実施形態において必要とされ得ることを認識していると言える。
【０１１０】
実施形態は、現実世界のユーザをより適切に識別し、アバターの動作またはシーンを導くために深度データを取得することを含んでもよい。オブジェクトは、人が持っている何かとすることができ、または人の手とすることもできる。この説明において、用語「深度カメラ」及び「３次元カメラ」は、距離または深度の情報ならびに２次元の画素情報を得ることができる任意のカメラを指す。例えば、深度カメラは、制御された赤外線照明を利用して距離情報を得ることができる。別の例示的な深度カメラは、ステレオカメラのペアとすることができ、このカメラは、２台の標準的なカメラを使用して距離情報を三角測量する。同様に、用語「深度検知デバイス」は、距離情報及び２次元の画素情報を得ることができる任意の種類のデバイスを指す。
【０１１１】
３次元画像の昨今の進展により、リアルタイムインタラクティブコンピュータ・アニメーションの可能性を高めるための扉が開かれた。特に、新しい「深度カメラ」は、通常の２次元のビデオ画像に加えて、３次元でマップを取得する機能を提供する。新しい深度データを用いて、本発明の実施形態は、他のオブジェクトの背後を含むビデオシーン内の各種位置にコンピュータ生成オブジェクトをリアルタイムで配置することができる。
【０１１２】
更に、本発明の実施形態は、リアルタイムのインタラクティブゲーミング体験をユーザに提供する。例えば、ユーザは、各種のコンピュータ生成オブジェクトとリアルタイムで対話することができる。更に、ビデオシーンをリアルタイムに変化させてユーザのゲーム体験を高めることができる。例えば、コンピュータ生成のコスチュームをユーザの衣服の上に装着させることができ、コンピュータ生成の光源を利用してビデオシーン内で仮想的な陰影を投影することができる。従って、本発明の実施形態及び深度カメラを使用すると、ユーザは、自分自身のリビングルームの中でインタラクティブゲーム環境を体験することができる。通常のカメラと同様に、深度カメラは、ビデオ画像を構成する複数の画素の２次元データを取得する。これらの値は、画素の色値であり、一般的には、各画素についての赤、緑、青（ＲＧＢ）の値である。このように、カメラによって取得されたオブジェクトは、モニタ上の２次元オブジェクトとして現れる。
【０１１３】
本発明の実施形態は、分散形の画像処理構成も企図している。例えば、本発明は、ＣＰＵ、またはＣＰＵと１つの他の素子などにおける、１つの位置または更には２つの位置で行われる取得画像及び表示画像の処理に限定されない。例えば、入力画像処理は、処理の実行が可能な関連のＣＰＵ、プロセッサまたはデバイスにおいて同様に直ちに行うことができ、画像処理の実質的に全てを、相互に接続されたシステム全体にわたって分散させることができる。従って、本発明は、任意の具体的な画像処理用ハードウェア回路及び／またはソフトウェアに限定されない。本明細書に記載した実施形態は、一般的なハードウェア回路及び／またはソフトウェアの任意の具体的な組み合わせにも、処理構成要素によって実行される命令のための任意の特定のソースにも限定されない。
【０１１４】
上記の実施形態を念頭におくと、本発明は、コンピュータシステムにデータを記憶することを伴う各種のコンピュータ実行動作を利用してもよいことを理解すべきである。これらの動作は、物理量の物理的操作を必要とする動作を含む。通常、必ずというわけではないが、これらの量は、記憶、転送、結合、比較、及びそれ以外の操作をすることができる電気信号または磁気信号の形をとる。更に、実行される操作は、生成する、識別する、決定する、または比較するなどの用語で言及されることが多い。
【０１１５】
上記の発明は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて実施されてもよい。本発明は、通信ネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施されてもよい。
【０１１６】
本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。コンピュータ可読媒体は、電磁波の搬送波を含む、コンピュータシステムによってその後読み取ることができる任意のデータ記憶デバイスである。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続ストレージ（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学的データ記憶デバイス及び非光学的データ記憶デバイスが含まれる。コンピュータ可読媒体は、ネットワーク結合のコンピュータシステム上に分散させることもできる。その結果、コンピュータ可読コードは、分散方式で記憶され、実行される。
【０１１７】
上述の発明について、理解しやすくするために幾分詳細に説明してきたが、添付された特許請求の範囲内で一定の変更及び修正をなし得ることは明らかであろう。従って、本実施形態は、例示であって限定的なものではないとみなされるべきであり、本発明は、本明細書に述べた詳細事項に限定されることはなく、添付された特許請求の範囲の趣旨及び均等物の範囲内で修正され得る。
【図１】
2019171087.tif 000003
【図２】
2019171087.tif 000004
【図３Ａ】
2019171087.tif 000005
【図３Ｂ】
2019171087.tif 000006
【図４】
2019171087.tif 000007
【図５】
2019171087.tif 000008
【図６】
2019171087.tif 000009
【図７】
2019171087.tif 000010
【図８】
2019171087.tif 000011
【図９】
2019171087.tif 000012
【手続補正書】
【提出日】令和1年6月7日(2019.6.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラウドゲームサーバのプロセッサによって実行される方法であって、
クラウドゲーミングサイト上で利用可能な各ゲームについての使用需要を予測し、この予測は異なる複数のユーザの使用履歴の分析に基づくものであり、前記使用需要は、各地理的位置内の各ゲームについて予測され、
前記ゲームのうち選択されたゲームのインスタンスの数をロードするために１つ以上の地理的位置に関連付けられたデータセンターを識別し、前記ゲームのうち選択されたゲームのインスタンスの数は各ゲームの予測された需要に基づくものであり、
前記ゲームのうち選択されたゲームのインスタンスの数を、前記ゲームのうち前記選択されたゲームのそれぞれの前記予測された需要に基づいて、前記１つ以上の地理的位置に関連付けられたデータセンターでロードし、
前記１つ以上の地理的位置内の前記ゲームのうち選択されたゲームでの１人以上のユーザのインタラクションを検出し、前記検出されたインタラクションは、前記ゲームのうち前記選択されたゲームのゲームプレイについて選択されたアクションの前のものであり、
前記１人以上のユーザに、前記１つ以上の地理的位置に関連付けられたデータセンターでロードされたゲームのうち選択されたゲームの対応するインスタンスを割り当て、前記ゲームのうち前記選択されたゲームの前記インスタンスは、前記１人以上のユーザからゲームプレイについて選択アクションを受信する前に前記１人以上のユーザに割り当てられ、かつ、
前記ゲームのうち前記選択されたゲームについて前記選択アクションが存在するか否かに基づいて、前記地理的位置の特定の１つに関連付けられたデータセンター内の前記ゲームのうち前記選択されたゲームの前記インスタンスの数の動的調整を行う、
方法。
【請求項２】
前記動的調整には、前記地理的位置のうち特定の位置で前記データセンター内でロードされた前記ゲームのうちの選択されたゲームの前記インスタンスの数を増加または減少することが含まれる、
請求項１に記載の方法。
【請求項３】
前記ゲームのうち前記選択されたゲームの前記インスタンスが前記１人以上のユーザに割り当てられたときから少なくとも所定の期間にわたって選択アクションが継続的に存在しているか、または、継続的に不存在であるとの検出に応答して、前記ゲームのうち前記選択されたゲームの前記インスタンスの数の動的調整を行う、
請求項１に記載の方法。
【請求項４】
前記使用履歴の分析は、クラウドゲーミングサイト上で利用可能なゲームについてスケジュール設定されたイベントに基づいて開始され、前記分析は、前記スケジュール設定されたイベントについての各地理的位置内の前記ゲームについての前記需要の予測に用いられる、
請求項１に記載の方法。
【請求項５】
各ゲームの前記使用履歴は、セッションログ、前記複数のユーザのユーザログ、または各ゲームについて維持されている履歴ログから得られる、
請求項１に記載の方法。
【請求項６】
前記ゲームのうち前記選択されたゲームはマルチユーザゲームであり、かつ、前記ユーザの割り当てには、前記ゲームのうち前記選択されたゲームのそれぞれを複数のユーザに割り当てることが含まれる、
請求項１に記載の方法。
【請求項７】
前記複数のユーザは、同じ場所に位置するか、または遠隔に位置する、
請求項６に記載の方法。
【請求項８】
ユーザの割り当てでは、前記ユーザに割り当てられた前記ゲームのうち前記選択されたゲームの前記インスタンスのステータスを監視して、前記ユーザに割り当てられた前記ゲームのうち前記選択されたゲームのそれぞれの前記インスタンスでのユーザ関与を判定し、かつ、
前記ゲームのうち前記選択されたゲームの前記インスタンスが前記１人以上のユーザに割り当てられたときから少なくとも所定の期間にわたって前記ゲームのうち前記特定のゲームの前記１つ以上のインスタンスでユーザの関与が検出されない場合には、前記監視に基づいて、前記ゲームのうち特定のゲームの１つ以上のインスタンスを１人以上のユーザに再度割り当て、
前記ユーザ関与には、前記ゲームのゲームプレイについてのユーザ選択が含まれる、
請求項１に記載の方法。
【請求項９】
ゲームのインスタンスのロードでは、前記ゲームの汎用的なゲーム関連データをロードし、かつ、ユーザの割り当てでは、前記ゲームについてそれぞれのユーザのユーザ関連データをロードする、
請求項１に記載の方法。