(58)【調査した分野】(Int.Cl.,DB名)
ユーザのサインイン用ユーザアカウントを用いて、少なくとも1つのサーバを含むサーバシステムにより提供されるネットワークサービスにサインインする情報処理装置であって、
当該サーバシステムは、当該情報処理装置を含む複数のクライアント装置が同じユーザアカウントを用いてサインイン可能なネットワークサービスを提供するものであり、当該ネットワークサービスにおいては、ゲームを実行可能なクライアント装置が1つに限って許可されるものであって、
ユーザを当該情報処理装置にログインさせるログイン管理部と、
当該情報処理装置のステータスを管理するステータス管理部と、
サーバからステータスの変更指示を受け付ける変更指示受付部と、を備え、前記変更指示受付部がステータスの変更指示を受け付けると、前記ステータス管理部は、管理しているステータスを、変更指示されたステータスに変更するものであって、
前記ステータス管理部は、ユーザが当該情報処理装置にログインしており且つ当該情報処理装置がネットワークサービスにサインインしている場合に、当該情報処理装置がゲームを実行可能なオンライン状態にあって、当該情報処理装置が表示するためのメッセージを通知されるプッシュ通知サービスを利用可能な状態である第1ステータスと、当該情報処理装置がゲームを実行不能なオフライン状態にあって、前記プッシュ通知サービスを利用可能な状態である第2ステータスのいずれかで、当該情報処理装置のステータスを管理する、
ことを特徴とする情報処理装置。
クラウドシステムにおけるゲームの実行を終了した後、前記変更通知送信部は、前記処理ユニットを特定するための情報を含めた第1ステータスへの変更通知を、前記通知サーバに送信する、
ことを特徴とする請求項5に記載の情報処理装置。
前記起動指示送信部がクラウドシステムにゲーム起動指示を送信していない場合に、前記変更指示受付部が、前記通知サーバから第2ステータスへの変更指示を受け付けると、前記ログイン管理部は、ユーザを当該情報処理装置からログアウトさせ、前記ステータス管理部はステータスを、ユーザが当該情報処理装置にログインしていない状態である第3ステータスに変更する、
ことを特徴とする請求項4に記載の情報処理装置。
ユーザのサインイン用ユーザアカウントを用いて、少なくとも1つのサーバを含むサーバシステムにより提供されるネットワークサービスにサインインする情報処理装置のステータス管理方法であって、
当該サーバシステムは、当該情報処理装置を含む複数のクライアント装置が同じユーザアカウントを用いてサインイン可能なネットワークサービスを提供するものであり、当該ネットワークサービスにおいては、ゲームを実行可能なクライアント装置が1つに限って許可されるものであって、
ユーザを当該情報処理装置にログインさせるステップと、
当該情報処理装置のステータスを管理するステップと、
サーバからステータスの変更指示を受け付けるステップと、を有し、
ステータス管理ステップは、ステータスの変更指示により、管理しているステータスを変更指示されたステータスに変更するものであって、
ステータス管理ステップは、ユーザが当該情報処理装置にログインしており且つ当該情報処理装置がネットワークサービスにサインインしている場合に、当該情報処理装置がゲームを実行可能なオンライン状態にあって、当該情報処理装置が表示するためのメッセージを通知されるプッシュ通知サービスを利用可能な状態である第1ステータスと、当該情報処理装置がゲームを実行不能なオフライン状態にあって、前記プッシュ通知サービスを利用可能な状態である第2ステータスのいずれかで、当該情報処理装置のステータスを管理する、
ことを特徴とするステータス管理方法。
ユーザのサインイン用ユーザアカウントを用いて、少なくとも1つのサーバを含むサーバシステムにより提供されるネットワークサービスにサインインするコンピュータに、
ユーザを当該コンピュータにログインさせる機能と、
当該コンピュータのステータスを管理する機能と、
サーバからステータスの変更指示を受け付ける機能と、を実現させるためのプログラムであって、
前記サーバシステムは、当該コンピュータを含む複数のクライアント装置が同じユーザアカウントを用いてサインイン可能なネットワークサービスを提供するものであり、当該ネットワークサービスにおいては、ゲームを実行可能なクライアント装置が1つに限って許可されるものであり、
ステータス管理機能は、ステータスの変更指示により、管理しているステータスを変更指示されたステータスに変更する機能を含むものであって、
ステータス管理機能は、ユーザが当該コンピュータにログインしており且つ当該コンピュータがネットワークサービスにサインインしている場合に、当該コンピュータがゲームを実行可能なオンライン状態にあって、当該コンピュータが表示するためのメッセージを通知されるプッシュ通知サービスを利用可能な状態である第1ステータスと、当該コンピュータがゲームを実行不能なオフライン状態にあって、前記プッシュ通知サービスを利用可能な状態である第2ステータスのいずれかで、当該コンピュータのステータスを管理する機能を含む、
ことを特徴とするプログラム。
1人のユーザが1つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を1つに限って許可するネットワークサービスを提供するサーバシステムであって、
クライアント装置のステータスを管理するステータス管理部と、
クライアント装置から、ステータスの変更通知を受け付ける変更通知受付部と、
クライアント装置に、ステータスの変更指示を送信する変更指示送信部と、
クライアント装置に、メッセージをプッシュ通知する通知処理部と、を備え、
前記変更通知受付部が、ユーザがログインした第1クライアント装置であって当該ネットワークサービスにユーザアカウントを用いてサインインする第1クライアント装置から、ゲームを実行可能なオンライン状態にあって、表示するためのメッセージを通知されるプッシュ通知サービスを利用可能な状態である第1ステータスへの変更通知を受け付けると、前記ステータス管理部は、第1クライアント装置のステータスを、第1ステータスに設定し、
前記変更通知受付部が、ユーザがログインした第2クライアント装置であって当該ネットワークサービスに同じユーザアカウントを用いてサインインする第2クライアント装置から、第1ステータスへの変更通知を受け付けると、前記ステータス管理部は、第2クライアント装置のステータスを第1ステータスに設定し、第1クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態にあって、前記プッシュ通知サービスを利用可能な状態にある第2ステータスに設定し、前記変更指示送信部は、第1クライアント装置に、第2ステータスへの変更指示を送信し、
第2クライアント装置は、クラウドシステムにおいて第1クライアント装置からの指示を受けてゲームを実行するために割り当てられた処理ユニットである、
ことを特徴とするサーバシステム。
前記変更通知受付部が、第2ステータスにある第1クライアント装置から、第1ステータスへの変更通知を受け付けると、前記ステータス管理部は、第1クライアント装置のステータスを、第1ステータスに設定する、
ことを特徴とする請求項11に記載のサーバシステム。
1人のユーザが1つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を1つに限って許可するネットワークサービスを提供するサーバシステムにおいて、クライアント装置のステータスを管理する方法であって、
クライアント装置のステータスを管理するステップと、
クライアント装置から、ステータスの変更通知を受け付けるステップと、
クライアント装置に、ステータスの変更指示を送信するステップと、
クライアント装置に、メッセージをプッシュ通知するステップと、を有し、
変更通知受付ステップが、ユーザがログインした第1クライアント装置であって当該ネットワークサービスにユーザアカウントを用いてサインインする第1クライアント装置から、ゲームを実行可能なオンライン状態にあって、表示するためのメッセージを通知されるプッシュ通知サービスを利用可能な状態である第1ステータスへの変更通知を受け付けると、ステータス管理ステップは、第1クライアント装置のステータスを、第1ステータスに設定し、
変更通知受付ステップが、ユーザがログインした第2クライアント装置であって当該ネットワークサービスに同じユーザアカウントを用いてサインインする第2クライアント装置から、第1ステータスへの変更通知を受け付けると、ステータス管理ステップは、第2クライアント装置のステータスを、第1ステータスに設定し、第1クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態にあって、前記プッシュ通知サービスを利用可能な状態にある第2ステータスに設定し、変更指示送信ステップは、第1クライアント装置に、第2ステータスへの変更指示を送信し、
第2クライアント装置は、クラウドシステムにおいて第1クライアント装置からの指示を受けてゲームを実行するために割り当てられた処理ユニットである、
ことを特徴とするステータス管理方法。
1人のユーザが1つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を1つに限って許可するネットワークサービスを提供するコンピュータに、
クライアント装置のステータスを管理する機能と、
クライアント装置から、ステータスの変更通知を受け付ける機能と、
クライアント装置に、ステータスの変更指示を送信する機能と、
クライアント装置に、メッセージをプッシュ通知する機能と、を実現させるためのプログラムであって、
変更通知受付機能が、ユーザがログインした第1クライアント装置であって当該ネットワークサービスにユーザアカウントを用いてサインインする第1クライアント装置から、ゲームを実行可能なオンライン状態にあって、表示するためのメッセージを通知されるプッシュ通知サービスを利用可能な状態である第1ステータスへの変更通知を受け付けると、ステータス管理機能は、第1クライアント装置のステータスを、第1ステータスに設定し、
変更通知受付機能が、ユーザがログインした第2クライアント装置であって当該ネットワークサービスに同じユーザアカウントを用いてサインインする第2クライアント装置から、第1ステータスへの変更通知を受け付けると、ステータス管理機能は、第2クライアント装置のステータスを第1ステータスに設定し、第1クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態にあって、前記プッシュ通知サービスを利用可能な状態にある第2ステータスに設定し、変更指示送信機能は、第1クライアント装置に、第2ステータスへの変更指示を送信し、
第2クライアント装置は、クラウドシステムにおいて第1クライアント装置からの指示を受けてゲームを実行するために割り当てられた処理ユニットである、プログラム。
【発明を実施するための形態】
【0013】
図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、ユーザが操作するクライアント装置である情報処理装置10と、クラウドシステム12と、サーバシステム14とを備える。情報処理装置10、クラウドシステム12およびサーバシステム14は、インターネットなどのネットワーク3を介して、互いに通信可能に接続されている。実施例において情報処理装置10は、据置型のゲーム装置であってよい。
【0014】
アクセスポイント(以下、「AP」とよぶ)8は無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、ネットワーク3に接続する。補助記憶装置2は、HDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってよく、また内蔵型記憶装置であってもよい。出力装置4は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作結果を示す操作情報を情報処理装置10に出力する。
【0015】
入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有するゲームコントローラであってよいが、キーボード、マウス、タッチパッドなどの入力インタフェース装置であってもよい。情報処理装置10は、入力装置6からの操作情報を受け付けるとOS(システムソフトウェア)やアプリケーションの処理に反映し、出力装置4から処理結果を出力させる。
【0016】
クラウドシステム12は、サーバシステム14とは別に設けられ、ユーザに対してクラウドゲーミングを提供する。クラウドシステム12は、情報処理装置10から送信される入力装置6の操作情報をクラウドゲームの処理に反映して、ゲームの画像データおよび音声データを情報処理装置10にストリーミング配信する。情報処理装置10は、入力装置6の操作情報をクラウドシステム12に送信し、クラウドシステム12から配信されるストリーミングデータを受信して、出力装置4から出力する。
【0017】
クラウドシステム12は、演算処理する機能をもつ複数の処理ユニットを有し、1人のユーザに対して1つの処理ユニットを割り当てる。たとえばクラウドシステム12が10000個の処理ユニットを有する場合、10000人のユーザがクラウドシステム12にアクセスして、クラウドゲームをプレイできる。情報処理システム1において、ユーザに割り当てられた処理ユニットは、サーバシステム14からみると、ユーザにより操作されてゲームを処理するクライアント装置となる。
【0018】
サーバシステム14は、ネットワークサービスをクライアント装置に提供する少なくとも1つのサーバを備え、実施例では、通知サーバ15、メッセージサーバ16、コンテンツサーバ17、ストレージサーバ18および共有サーバ19を備える。通知サーバ15は、メッセージや指示をプッシュ通知するサービスを提供する。通知サーバ15は、他のサーバ、ここではメッセージサーバ16、コンテンツサーバ17、ストレージサーバ18、共有サーバ19などで生成されるメッセージや指示を、クライアント装置にプッシュ通知する役割をもつ。
【0019】
メッセージサーバ16はユーザに対して、フレンド登録されているフレンドのオンライン状況や、フレンド登録の依頼メッセージ、ゲームへの招待メッセージなど、ゲームやフレンドに関連する様々なメッセージを生成する。コンテンツサーバ17は、ゲームプログラムなどのコンテンツをクライアント装置に送信するサーバであって、クライアント装置は、コンテンツサーバ17からコンテンツをダウンロードする。ストレージサーバ18は、ゲームのセーブデータや補助記憶装置2のバックアップデータを記憶する。共有サーバ19は、ユーザがプレイ中のゲーム画音データを、視聴者の端末装置にストリーミング配信したり、ユーザの過去のゲーム動画を共有サイトにアップロードする。通知サーバ15は、主としてメッセージサーバ16で生成されたメッセージをクライアント装置にプッシュ通知するが、コンテンツサーバ17、ストレージサーバ18、共有サーバ19でメッセージや指示が生成される場合には、それらのメッセージや指示をクライアント装置にプッシュ通知する。サーバシステム14は、図示されるように複数のサーバから構成されてよいが、それぞれの機能を備えた単一のサーバによって構成されてもよい。
【0020】
ユーザがサーバシステム14によるネットワークサービスの提供を受けるためには、情報処理装置10にログインして、各ネットワークサービスにサインインする必要がある。なお後述するように、実施例の情報処理装置10は、ユーザがログアウトした後もサインインした状態を維持して、一部のネットワークサービスの提供を受けられる。いずれにしても、情報処理装置10がネットワークサービスの提供を受けるためには、サービスにサインインしている必要がある。
【0021】
<ログイン処理>
ユーザが情報処理装置10のメイン電源をオンすると、情報処理装置10は、ログイン用のユーザアカウントに対応付けられたアイコン画像を含むログイン画面を出力装置4に表示する。ユーザは自身のアイコン画像を選択し、ログイン用パスコードが設定されている場合には、そのパスコードを入力する。情報処理装置10は入力されたパスコードからユーザ認証を実施し、ユーザ認証に成功するとユーザをログインさせる。このユーザ認証は一例であり、ユーザがログイン用のユーザアカウントとパスコードを入力し、情報処理装置10が入力されたユーザアカウントとパスコードからユーザ認証を行ってもよい。また情報処理装置10は、カメラ7に撮像されたユーザの顔画像と、予め登録されているユーザの顔画像との一致を判断して、ユーザ認証を行ってもよい。ユーザは情報処理装置10にログインすることで、情報処理装置10を利用できるようになる。
【0022】
<サインイン処理>
ユーザがログインすると、情報処理装置10は、サインイン用のユーザアカウントを用いて、自動的にネットワークサービスにサインインする。情報処理装置10がネットワークサービスにサインインすることで、ユーザは、サーバシステム14により提供されるネットワークサービスを利用できるようになる。
【0023】
図2は、情報処理装置10の機能ブロック図を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
【0024】
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUはOSを起動し、OSが提供する環境下において、補助記憶装置2にインストールされたアプリケーションを実行する機能をもつ。またクラウドコンピューティングシステムとして構成される情報処理システム1においては、メインCPUは、クラウドシステム12から提供されるゲーム画像およびゲーム音声を出力装置4から出力する機能ももつ。
【0025】
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。サブCPUは、メインCPUがスタンバイステータスにある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。情報処理装置10では、メインシステム60のスタンバイ時にはサブシステム50が稼働しているため、ネットワークサービスに常時サインインした状態を維持できる。
【0026】
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。メイン電源がオフされると、メインシステム60はスタンバイステータスとなる。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
【0027】
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
【0028】
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【0029】
メディアドライブ32は、ゲームアプリケーションなどのソフトウェアおよびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【0030】
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで入力装置6と無線通信する。有線通信モジュール40は、外部機器と有線通信し、AP8を介してネットワーク3に接続する。
【0031】
ところでユーザは、情報処理システム1で利用可能な複数台のクライアント装置を所有することがある。ユーザが据置型ゲーム装置である情報処理装置10を複数台所有する場合や、情報処理装置10の他に、携帯型のゲーム機やスマートフォンなどの端末装置を有する場合である。そのためユーザからすれば、複数のクライアント装置のそれぞれでゲームプレイできることが理想である。しかしながらサービスの提供主体からすると、複数のクライアント装置で同時にゲームがプレイされると、ゲームデータの同期処理を確実に実施するための仕組みを構築する必要が生じ、非常に複雑な対応が求められる。そこで実施例のサーバシステム14は、各クライアント装置のステータスを管理して、1人のユーザが1つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を1つに限って許可するよう制限する。
【0032】
サーバシステム14は、クライアント装置のステータスを管理する専用のサーバを別途有してもよいが、実施例では通知サーバ15が、クライアント装置のステータスを管理する。なお通知サーバ15は、管理しているステータスをリアルタイムで他のサーバに通知してよいが、各サーバがクライアント装置のステータスを独自に管理してもよい。
【0033】
図3は、クライアント装置の管理用ステータスを示す。クライアント装置は「切断」、「スタンバイ」、「アクティブ」、「リッスン」の4つのステータスに区別して管理される。この管理用ステータスは情報処理システム1において共用され、つまりサーバシステム14のみならず、クライアント装置自身も、4つのステータスのいずれかでクライアント装置のステータスを管理する。
【0034】
「装置のプレゼンス」は、ネットワークサービスにおいてクライアント装置がオンライン状態にあるか、またはオフライン状態にあるかを管理するための情報である。オンライン状態にあるクライアント装置は、ゲームを実行可能であり、ネットワークサービスをフルで提供される。一方でオフライン状態にあるクライアント装置は、ゲームを実行不能とされ、ネットワークサービスにサインインした状態にあっても、一部のネットワークサービスしか提供されない。サーバシステム14は、1人のユーザがサインインする複数のクライアント装置のうち、オンライン状態にあるクライアント装置を1台に限定するようにステータス管理を行うため、1人のユーザのクライアント装置は、1台のみがオンライン状態となりうる。
【0035】
4つのステータスのうち、プレゼンス情報が「オンライン状態」となるのはアクティブステータスである。したがってユーザの複数のクライアント装置のうち、アクティブステータスを設定されるクライアント装置は1台に限定され、それ以外のクライアント装置は、プレゼンス情報が「オフライン状態」である切断ステータス、スタンバイステータス、リッスンステータスのいずれかを設定されることになる。なお「オンライン状態」、「オフライン状態」は、ステータス管理上の呼び名であり、オフライン状態にあるクライアント装置が、ネットワーク3に接続してサーバシステム14にサインインした状態を維持することに問題はない。
【0036】
サーバシステム14は、クライアント装置に対して、2種類のネットワークサービスを提供する。以下、2種類のネットワークサービスを、プレゼンス情報の呼び名に合わせて「オンラインサービス」および「オフラインサービス」と呼ぶことにする。
【0037】
オンラインサービスは、ゲーム実行可能なオンライン状態にあるクライアント装置に対して提供されるサービスであり、たとえばストレージサーバ18によるセーブデータのストレージサービスや、共有サーバ19によるプレイ中のゲーム画音データのストリーミング配信サービスなどが該当する。またオンラインサービスは、オンライン状態にあるクライアント装置に対してのみ提供される通知サーバ15によるプッシュ通知サービスを含む。たとえばメッセージサーバ16が生成する「フレンドがオンラインになりました」、「フレンドからゲームへの招待が届きました」といったメッセージの通知処理が該当する。以下、オンラインサービスの一つとして通知サーバ15が提供するサービスを「第1プッシュ通知」と呼ぶ。第1プッシュ通知は、クライアント装置でメッセージを表示するために実施される。
【0038】
オフラインサービスは、オンライン状態およびオフライン状態にあるクライアント装置に対して提供されるサービスである。つまりオフラインサービスは、オンライン状態にあるかオフライン状態にあるかに関係なく、サインインしているクライアント装置に提供されるサービスである。たとえばコンテンツサーバ17によるコンテンツのダウンロードサービスが該当する。またオフラインサービスは、オンライン状態にあるクライアント装置とオフライン状態にあるクライアント装置の双方に提供される通知サーバ15によるプッシュ通知サービスを含む。たとえばコンテンツサーバ17がユーザの要求とは関係なくゲームトレイラーやゲームの体験版であるコンテンツをクライアント装置に自動送信する際に、通知サーバ15が、コンテンツを送信する旨を通知する処理が該当する。以下、オフラインサービスの一つとして通知サーバ15が提供するサービスを「第2プッシュ通知」と呼ぶ。第2プッシュ通知は、基本的にはクライアント装置での表示を目的としておらず、クライアント装置における処理を指示するために実施される。
【0039】
なお実施例では例外として、オフライン状態にあっても、リッスンステータスを設定されたクライアント装置は、通知サーバ15から第1プッシュ通知を受けられるようにしている。なおリッスンステータスにあるクライアント装置はオフライン状態として管理されるため、ゲームを実行できず、またストレージサーバ18、共有サーバ19などによるオンラインサービスの提供を受けられない。
【0040】
以下、各ステータスと、プッシュ通知サービスの関係について説明する。
(1)「切断」ステータス
切断ステータスは、クライアント装置とサーバシステム14との接続が切断されたステータスである。切断ステータスにあるクライアント装置は、通知サーバ15との接続が切断されているため、通知サーバ15は、第1プッシュ通知および第2プッシュ通知を実施しない。プレゼンス情報は、オフライン状態である。
【0041】
(2)「スタンバイ」ステータス
スタンバイステータスは、ユーザがクライアント装置にログインしていないが、クライアント装置がサーバシステム14に接続して、ネットワークサービスにサインインしているステータスである。スタンバイステータスにあるクライアント装置はオフライン状態にあり、サーバシステム14からオフラインサービスの提供を受けられる。そのため通知サーバ15は、スタンバイステータスにあるクライアント装置に対して、第2プッシュ通知を実施する。
【0042】
(3)「アクティブ」ステータス
アクティブステータスは、ユーザがクライアント装置にログインし、且つクライアント装置がサーバシステム14に接続して、ネットワークサービスにサインインしているステータスである。アクティブステータスにあるクライアント装置はオンライン状態にあり、サーバシステム14からオフラインサービスおよびオンラインサービスの提供を受けられる。そのため通知サーバ15は、アクティブステータスにあるクライアント装置に対して、第1プッシュ通知および第2プッシュ通知を実施する。ユーザが複数台のクライアント装置を有している場合、アクティブステータスを設定されるクライアント装置は1台に制限される。
【0043】
(4)「リッスン」ステータス
リッスンステータスは、ユーザがクライアント装置にログインし、且つクライアント装置がサーバシステム14に接続して、ネットワークサービスにサインインしているが、プレゼンス情報をオフライン状態とするステータスである。そのためリッスンステータスにあるクライアント装置はゲームを実行できず、サーバシステム14からオフラインサービスの提供は受けられるものの、原則としてオンラインサービスの提供を受けられない。
【0044】
しかしながらリッスンステータスは、オフライン状態にあるクライアント装置が、オンラインサービスに含まれる第1プッシュ通知を受けられる特別なステータスとして構成される。実施例において、リッスンステータスは、情報処理装置10がクラウドシステム12を利用する際に、情報処理装置10を操作するユーザに対してメッセージを通知するために設定される。この点については、情報処理装置10の各構成について説明した後、詳述する。
【0045】
最初に、クライアント装置である情報処理装置10の構成について説明する。
図4は、情報処理装置10の構成を示す。情報処理装置10は、処理部100および通信部102を備え、処理部100は、操作情報受付部110、ログイン管理部112、サインイン処理部114、アプリケーション実行部116、出力処理部118、ステータス管理部120、送信部130および受信部140を備える。送信部130は、起動指示送信部132、操作情報送信部134および変更通知送信部136を有し、受信部140は、ストリーミングデータ取得部142、変更指示受付部144およびプッシュ通知取得部146を有する。通信部102は、
図2に示す無線通信モジュール38および有線通信モジュール40の機能を併せ持つ構成として表現している。
【0046】
図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0047】
操作情報受付部110は、入力装置6の操作情報を受け付ける。ログイン管理部112は、所定のユーザ認証を行うことでユーザを情報処理装置10にログインさせ、サインイン処理部114は、ログインさせたユーザをネットワークサービスにサインインさせる。
【0048】
アプリケーション実行部116は、補助記憶装置2に保持されたゲームプログラムまたはROM媒体44に記録されているゲームプログラムを実行する機能を有する。アプリケーション実行部116は、アクティブステータスが設定されている場合に限って、ゲームプログラムを実行できる。出力処理部118は、ゲーム画像およびゲーム音声を出力装置4に出力する。ステータス管理部120は、情報処理装置10のステータスを管理する。ステータス管理部120は、ステータス情報を保持することにより情報処理装置10のステータスを管理し、ステータスに変更があればステータス情報を更新する。
【0049】
実施例のステータス管理部120は、ユーザが情報処理装置10にログインしており且つ情報処理装置10がサービスにサインインしている場合に、情報処理装置10がゲームを実行可能なオンライン状態にあって、サービスを利用可能な状態であるアクティブステータスと、情報処理装置10がゲームを実行不能なオフライン状態にあって、サービスの一部を利用可能な状態であるリッスンステータスのいずれかで、情報処理装置10のステータスを管理する。
【0050】
起動指示送信部132は、クラウドゲームを起動するための起動指示をクラウドシステム12に送信する。操作情報送信部134は、入力装置6の操作情報をクラウドシステム12に送信する。変更通知送信部136は、ステータスの変更通知を通知サーバ15に送信する。
【0051】
ストリーミングデータ取得部142は、クラウドシステム12から、ゲームのストリーミングデータを取得する。変更指示受付部144は、通知サーバ15から、ステータスの変更指示を受け付ける。なお変更指示受付部144がステータスの変更指示を受け付けると、ステータス管理部120は、管理しているステータスを変更指示されたステータスに変更し、具体的には保持していたステータス情報を、変更指示されたステータス情報に更新する。プッシュ通知取得部146は、通知サーバ15からプッシュ通知を取得する。
【0052】
次に、通知サーバ15の構成について説明する。
図5は、通知サーバ15の構成を示す。通知サーバ15は、処理部300および通信部302を備える。処理部300は、ステータス管理部310、変更通知受付部312、変更指示送信部314、メッセージ取得部316および通知処理部318を備える。
【0053】
図5において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0054】
ステータス管理部310は、クライアント装置のステータスを管理する。なおステータス管理部310は、各クライアント装置のステータス情報を保持することにより、各クライアント装置のステータスを管理し、ステータスに変更があればステータス情報を更新する。実施例ではステータス管理部310が、1人のユーザのクライアント装置のステータスを管理することについて説明するが、実際にはネットワークサービスを利用する全てのユーザのクライアント装置のステータスを管理する。
【0055】
変更通知受付部312は、クライアント装置から、ステータスの変更通知を受け付ける。変更指示送信部314は、クライアント装置に、ステータスの変更指示を送信する。メッセージ取得部316は、サーバシステム14における各種サーバからメッセージを取得し、通知処理部318は、クライアント装置にメッセージをプッシュ通知する。
【0056】
上記したように、サーバシステム14は、同じユーザアカウントを用いてサインインする複数のクライアント装置のうち、オンライン状態にあるクライアント装置を1つに限って許可し、他のクライアント装置をオフライン状態に管理する。以下、サーバシステム14における通知サーバ15が、複数のクライアント装置のステータスを管理する基本手法を説明する。
【0057】
図6は、2つの情報処理装置のステータス管理を実施するシーケンスを示す。
図6において、クライアント装置である情報処理装置A、情報処理装置Bは、
図4に示す情報処理装置10の構成を備えたゲーム装置であり、同一のユーザにより操作される。
【0058】
まずユーザが情報処理装置Aのメイン電源をオンすると、情報処理装置Aの出力処理部118が、ユーザのアイコン画像を含むログイン画面を出力装置4に表示する。ユーザが自身のアイコン画像を選択し、パスコードを入力すると、ログイン管理部112は、パスコード認証を実施して、ユーザを情報処理装置Aにログインさせる。ログイン管理部112がユーザをログインさせると、サインイン処理部114は、ログインさせたユーザのユーザアカウントを用いて自動サインイン処理を実施し、ステータス管理部120が、情報処理装置Aのステータスを、アクティブステータスに設定する(S10)。上記したようにステータス管理部120は、ステータス情報を保持することにより情報処理装置Aのステータスを管理する。したがってステータス管理部120は、アクティブステータスにあることを示すアクティブステータス情報を保持する。
【0059】
続いて変更通知送信部136が、アクティブステータスへの変更通知を、通知サーバ15に送信する(S12)。このとき変更通知送信部136は、ステータス変更通知に、情報処理装置Aの識別情報、ユーザアカウント情報、ユーザが情報処理装置Aにログインした時刻を示すログイン時刻情報を含めておく。通知サーバ15において、変更通知受付部312が、情報処理装置Aから、アクティブステータスへの変更通知を受け付けると、ステータス管理部310は、情報処理装置Aのステータスをアクティブステータスに設定する(S14)。ステータス管理部310は、ステータス管理部120と同様に、情報処理装置Aのステータス情報としてアクティブステータス情報を保持することで、情報処理装置Aのステータスをアクティブステータスに設定する。
【0060】
その後、ユーザが情報処理装置Bのメイン電源をオンし、情報処理装置Aと同様の手順により、情報処理装置Bのログイン管理部112がユーザをログインさせ、サインイン処理部114がユーザアカウントを用いて自動サインイン処理を実施して、ステータス管理部120が情報処理装置Bのステータスをアクティブステータスに設定する(S16)。続いて変更通知送信部136が、アクティブステータスへの変更通知を、通知サーバ15に送信する(S18)。なお変更通知送信部136は、ステータス変更通知に、情報処理装置Bの識別情報、ユーザアカウント情報、ユーザが情報処理装置Bにログインした時刻を示すログイン時刻情報を含める。
【0061】
通知サーバ15において、変更通知受付部312が、情報処理装置Bから、アクティブステータスへの変更通知を受け付け、ステータス管理部310に提供する。ステータス管理部310は、ユーザアカウントにもとづいてクライアント装置のステータスを管理しており、情報処理装置Bのステータス変更通知が、情報処理装置Aに設定したアクティブステータスと競合することを確認する。ステータス管理部310は1人のユーザに対して、アクティブステータスを設定するクライアント装置を1台に制限するため、情報処理装置Aまたは情報処理装置Bのいずれか一方のみしか、アクティブステータスに設定できない。
【0062】
一般にユーザは、後からログインしたクライアント装置を、メインのクライアント装置として利用する傾向がある。そこでステータス管理部310は、ステータス変更通知に含まれるログイン時刻情報を参照して、後からログインしたクライアント装置をアクティブステータスに設定する、いわゆる「後勝ちルール」を適用する。
図6に示す例では、情報処理装置Bのログイン時刻が情報処理装置Aのログイン時刻よりも後であるため(つまり現在時刻に近いため)、ステータス管理部310は、情報処理装置Bのステータスをアクティブステータスに設定し、情報処理装置Aのステータスをスタンバイステータスに設定する(S20)。このように後勝ちルールを適用することで、ステータス管理部310は、アクティブステータスを設定するクライアント装置を1台に制限するステータス管理を実施する。ステータス管理部310が情報処理装置Aのステータスを変更すると、変更指示送信部314は、情報処理装置Aに、スタンバイステータスへの変更指示を送信する(S22)。
【0063】
情報処理装置Aにおいて、変更指示受付部144は、スタンバイステータスへの変更指示を受け付けると、ログイン管理部112およびステータス管理部120に提供する。これによりログイン管理部112は、ユーザを情報処理装置Aからログアウトさせる。またステータス管理部120は、情報処理装置Aのステータスを、スタンバイステータスに設定し、具体的には保持していたアクティブステータス情報を、スタンバイステータス情報に変更する(S24)。以上が、「後勝ちルール」を適用したステータス管理手法の説明となる。
【0064】
実施例では、ユーザが、クラウドシステム12により提供されるクラウドゲーミングを利用する。
図7は、クラウドシステム12の構成を示す。クラウドシステム12は、管理部200、通信部202と、複数の処理ユニット204a、204b、・・・204z(以下、総称する場合には「処理ユニット204」と呼ぶ)を備える。複数の処理ユニット204は、図示しないデータベースに格納されているゲームのディスクイメージを読み出して、ゲームプログラムを実行する機能を有する。処理ユニット204は、情報処理装置10におけるアプリケーション実行部116と同じ機能を有するユニットであってよい。
【0065】
管理部200は、割当処理部210、ログイン管理部212、サインイン処理部214、ステータス管理部216、操作情報提供部218、送信部230および受信部240を備える。送信部230は、ストリーミングデータ配信部232および変更通知送信部234を有し、受信部240は、起動指示取得部242、操作情報取得部244、変更指示受付部246、プッシュ通知取得部248および終了指示取得部250を有する。
【0066】
図7において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0067】
割当処理部210は、ユーザからの要求に応じて、処理ユニット204をユーザに割り当てる。ログイン管理部212は、処理ユニット204を割り当てたユーザを処理ユニット204にログインさせ、サインイン処理部214は、処理ユニット204にログインさせたユーザを、サインイン用のユーザアカウントを用いて、ネットワークサービスにサインインさせる。したがってサーバシステム14は、ユーザに割り当てられた処理ユニット204を、ユーザのクライアント装置として扱うことになる。
【0068】
ステータス管理部216は、ユーザに割り当てた処理ユニット204のステータスを管理する。操作情報提供部218は、ユーザの情報処理装置10から送信された操作情報を、ユーザに割り当てられた処理ユニット204に提供し、処理ユニット204は、ユーザの操作情報をゲームの処理に反映する。
【0069】
ストリーミングデータ配信部232は、情報処理装置10に、処理ユニット204で処理したゲームのストリーミングデータを配信する。変更通知送信部234は、通知サーバ15に、ステータスの変更通知を送信する。
【0070】
起動指示取得部242は、情報処理装置10からクラウドゲームの起動指示を取得する。操作情報取得部244は、情報処理装置10から、入力装置6の操作情報を取得する。変更指示受付部246は、通知サーバ15から、ステータスの変更指示を受け付ける。プッシュ通知取得部248は、通知サーバ15からプッシュ通知を取得する。終了指示取得部250は、情報処理装置10からクラウドゲームの終了指示を取得する。
【0071】
以下、アクティブステータスにある情報処理装置10とクラウドシステム12との間でセッションを確立して、ユーザがクラウドゲームをプレイするときのステータス管理手法について説明する。上記したように、クラウドシステム12においてユーザに割り当てられる処理ユニット204は、情報処理装置10と同じユーザアカウントでサーバシステム14にサインインする。そのため
図6に示したシーケンスでいえば、ログイン時刻の順番から、情報処理装置Aが「情報処理装置10」に対応し、情報処理装置Bが「クラウドシステム12において割り当てられた処理ユニット204」に対応する。
【0072】
そのためクラウドゲームの開始時に、ステータス管理部310が後勝ちルールを適用してスタータス管理を実施すると、S20において、処理ユニット204がアクティブステータスに、情報処理装置10がスタンバイステータスに設定されることになる。クラウドゲームの実行中、情報処理装置10は、処理ユニット204からストリーミング配信されるゲーム画像を出力装置4に出力している。アクティブステータスにある処理ユニット204は、通知サーバ15から第1プッシュ通知されるメッセージを取得してゲーム画像に重畳することで、ユーザは、ストリーミング配信されるゲーム画像上で、メッセージを見ることができる。
【0073】
しかしながら情報処理装置10は、クラウドゲームのプレイ中に、ユーザからの画面切替指示により、ゲーム画像に代えて、システム画像やゲーム以外の別のアプリケーション画像を出力装置4に表示することがある。たとえばユーザがゲームを一旦中断して、システム画面を表示させ、システム画面からブラウザを起動して、ゲームの攻略サイトを表示させるようなケースである。このとき出力装置4には、ストリーミング配信されるゲーム画像は表示されていないため、処理ユニット204がゲーム画像に通知されたメッセージを重畳していても、ユーザはメッセージを見ることができない。
【0074】
そこで実施例では、ログイン時刻が後となる情報処理装置Bが「クラウドシステム12において割り当てられた処理ユニット204」に相当する場合には、ログイン時刻が先である情報処理装置Aをスタンバイステータスに設定するのではなく、通知サーバ15による第1プッシュ通知サービスの提供を受けられるリッスンステータスに設定する。これにより情報処理装置10は、通知サーバ15から第1プッシュ通知を取得できるようになり、ユーザは、クラウドゲームの画面をシステム画面に切り替えた場合であっても、第1プッシュ通知によるメッセージをリアルタイムで見ることができるようになる。
【0075】
図8は、実施例における情報処理装置と処理ユニットのステータス管理を実施するシーケンスを示す。
ユーザが情報処理装置10のメイン電源をオンすると、出力処理部118が、ユーザのアイコン画像を含むログイン画面を出力装置4に表示する。ユーザが自身のアイコン画像を選択し、パスコードを入力すると、ログイン管理部112は、パスコード認証を実施して、ユーザを情報処理装置10にログインさせる。ログイン管理部112がユーザをログインさせると、サインイン処理部114は、ログインさせたユーザのユーザアカウントを用いて自動サインイン処理を実施し、ステータス管理部120が、情報処理装置10のステータスを、アクティブステータスに設定する(S100)。ステータス管理部120は、アクティブステータスにあることを示すアクティブステータス情報を保持することにより情報処理装置10のステータスを設定する。
【0076】
続いて変更通知送信部136が、アクティブステータスへの変更通知を、通知サーバ15に送信する(S102)。このとき変更通知送信部136は、ステータス変更通知に、情報処理装置10の識別情報、ユーザアカウント情報、ユーザが情報処理装置10にログインした時刻を示すログイン時刻情報を含める。
【0077】
通知サーバ15において、変更通知受付部312が、情報処理装置10から、アクティブステータスへの変更通知を受け付けると、ステータス管理部310は、情報処理装置10のステータスをアクティブステータスに設定し、具体的には情報処理装置10のステータス情報として、アクティブステータスにあることを示すアクティブステータス情報を保持する(S104)。情報処理装置10はアクティブステータスになることで、アプリケーション実行部116がゲームプログラムを実行でき、またサーバシステム14が提供するサービスをフルで受けられる状態となる。
【0078】
続いてユーザは、情報処理装置10の入力装置6を操作して、クラウドゲームを起動する(S106)。たとえば出力処理部118は、クラウドゲームを選択するためのゲームアイコン画像を出力装置4に表示し、ユーザがクラウドゲームのアイコン画像を選択すると、起動指示送信部132が、クラウドゲームを起動するための起動指示をクラウドシステム12に送信する。この起動指示には、ユーザを特定するために、ユーザアカウントに関する情報が含まれる。
【0079】
クラウドシステム12において、起動指示取得部242がクラウドゲームの起動指示を取得すると、情報処理装置10とクラウドシステム12との間で、ストリーミングセッションが確立される(S108)。このとき割当処理部210は、ユーザに対して処理ユニット204を割り当てるとともに、ログイン管理部212がユーザを処理ユニット204にログインさせ、サインイン処理部214がユーザアカウントを用いてユーザを通知サーバ15にサインインさせる。これによりステータス管理部216は、ユーザに割り当てた処理ユニット204のステータスをアクティブステータスに設定する(S112)。続いて変更通知送信部234が、アクティブステータスへの変更通知を、通知サーバ15に送信する(S114)。なお変更通知送信部234は、変更通知に、ユーザの処理ユニット204へのログイン時刻を示すログイン時刻情報を含めるとともに、ユーザアカウント情報および処理ユニット204を特定するための情報を含める。なおストリーミングセッションの確立により、情報処理装置10においては、ステータス管理部120が、通知サーバ15からのステータス変更指示送信を待機する状態となる(S110)。
【0080】
通知サーバ15において、変更通知受付部312が、クラウドシステム12から、アクティブステータスへの変更通知を受け付け、ステータス管理部310に提供する。ステータス管理部310は、クラウドシステム12から送信されるステータス変更通知を情報処理装置10から送信されるステータス変更通知と区別する機能を有する。たとえばクラウドシステム12から送信されるステータス変更通知には、クラウドシステム12から送信されたことを示す情報が付加されていてもよい。そのためステータス管理部310は、アクティブステータスへの変更通知がクラウドシステム12から送信されたものであることを認識する。
【0081】
ステータス管理部310は、ユーザアカウントにもとづいてクライアント装置のステータスを管理しており、処理ユニット204のステータス変更通知が、情報処理装置10に設定したアクティブステータスと競合することを確認する。そのためステータス管理部310は、S114で送信されたステータス変更通知に含まれるログイン時刻と、S102で送信されたステータス変更通知に含まれるログイン時刻を比較する。その結果、ステータス管理部310は、S114で送信された処理ユニット204のステータス変更通知のログイン時刻の方が後であることを判定する。
【0082】
ステータス管理部310は、S114のステータス変更通知がクラウドシステム12から送信されたものであることを認識することで、
図6のS20に示したステータス管理とは異なるステータス管理を実施する。つまりステータス変更通知がクラウドシステム12から送信された場合、ステータス管理部310は、処理ユニット204のステータスをアクティブステータスに設定し、情報処理装置10のステータスをリッスンステータスに設定する(S116)。このように後勝ちルールを適用することで、ステータス管理部310は、1人のユーザに対して1台のクライアント装置のみがアクティブステータスとなるようにステータス管理を実施する。ステータス管理部310により情報処理装置10のステータスが変更されたことにより、変更指示送信部314は、情報処理装置10に、リッスンステータスへの変更指示を送信する(S118)。この変更指示には、処理ユニット204を特定するための情報が含まれる。
【0083】
情報処理装置10において、変更指示受付部144は、リッスンステータスへの変更指示を受け付けると、ステータス管理部120に提供する。ステータス管理部120は、情報処理装置10のステータスを、リッスンステータスに設定し、具体的には保持していたアクティブステータス情報を、リッスンステータス情報に更新する(S120)。
【0084】
リッスンステータスでは、ログイン状態が維持されるため、ユーザは、情報処理装置10を引き続き操作できる。なおステータス管理部120は、S110でステータス変更指示を待機しているときに変更指示を提供されたことを条件として、リッスンステータスを設定することが好ましい。
【0085】
つまり情報処理装置10は、自身がクラウドゲームを起動した場合に限って、リッスンステータスに遷移できる。自身がクラウドゲームを起動していることは、ステータス管理部120がS110で待機ステータスにあることをもって判定される。つまりクラウドゲームを起動していない情報処理装置は、リッスンステータスへの変更指示を受け付けても、ステータス管理部120が変更指示の待機ステータスにないため、リッスンステータスに遷移しない。
【0086】
そのため情報処理装置10の起動指示送信部132がクラウドシステム12にゲーム起動指示を送信しておらず、別の情報処理装置がクラウドゲームを起動した後に、変更指示受付部144が、通知サーバ15からリッスンステータスへの変更指示を受け付けると、ステータス管理部120がS110の待機ステータスにないため、ログイン管理部112はユーザをログアウトさせ、ステータス管理部120は、ステータスをスタンバイステータスに変更してよい。
【0087】
ユーザは、リッスンステータスにある情報処理装置10から、クラウドゲームをプレイできる。ゲームプレイ中、操作情報受付部110は、入力装置6の操作情報を受け付け、操作情報送信部134が、クラウドシステム12に操作情報を送信する。クラウドシステム12において、操作情報取得部244は、操作情報を取得し、操作情報提供部218が、ユーザに割り当てられた処理ユニット204に操作情報を提供する。これにより処理ユニット204は、ゲームプログラムの進行に操作情報を反映し、ゲームのストリーミングデータを生成する。ストリーミングデータ配信部232は、ストリーミングデータを情報処理装置10に送信する。情報処理装置10において、ストリーミングデータ取得部142がストリーミングデータを取得し、出力処理部118が、出力装置4からストリーミングデータを出力する。このようにユーザは、クラウドゲームをプレイする。
【0088】
またユーザがクラウドゲームをプレイ中、通知サーバ15は、第1プッシュ通知サービスおよび第2プッシュ通知サービスを、オンライン状態にある処理ユニット204だけでなく、オフライン状態にある情報処理装置10に対しても提供する。具体的に通知サーバ15において、メッセージ取得部316が、サーバシステム14における各サーバで生成されたメッセージを取得し、通知処理部318が、メッセージを、処理ユニット204および情報処理装置10の双方にプッシュ通知する。
【0089】
クラウドシステム12において、プッシュ通知取得部248が、通知サーバ15から送信されるプッシュ通知を取得し、処理ユニット204が、通知メッセージをゲーム画像に重畳させる。これによりゲームプレイ中のユーザは、ストリーミングデータに含まれる通知メッセージを見て、たとえばフレンドからゲームに招待されたことなどを知ることができる。
【0090】
また実施例では、リッスンステータスにある情報処理装置10においても、プッシュ通知取得部146が、通知サーバ15から送信されるプッシュ通知を取得する。これによりユーザは、クラウドゲームを一時停止させて、システム画面を出力装置4に表示させているような場合であっても、通知サーバ15から送信される通知メッセージを見ることができる。このように情報処理システム1においては、情報処理装置10がオフライン状態にあっても、クラウドゲームのプレイ時には通知サービスの提供を受けられるリッスンステータスを導入したことで、ユーザは、クラウドゲームプレイ中であっても、通知サーバ15からの通知メッセージを見ることが可能となる。
【0091】
その後、ユーザがクラウドゲームを終了する(S122)。クラウドシステム12において、終了指示取得部250がクラウドゲームの終了指示を取得すると、情報処理装置10とクラウドシステム12との間で、ストリーミングセッションが終了される(S124)。
【0092】
情報処理装置10において、クラウドゲームが終了したことで、ステータス管理部120は、情報処理装置10のステータスを、アクティブステータスに設定し(S126)、変更通知送信部136は、アクティブステータスへの変更通知を通知サーバ15に送信する(S130)。なお、この変更通知には、ユーザに割り当てられていた処理ユニット204を特定するための情報が含まれる。
【0093】
またクラウドシステム12において、クラウドゲームが終了したことで、ログイン管理部212は、処理ユニット204からユーザをログアウトさせ、サインイン処理部214は、サービスからユーザをサインアウトさせる。これによりステータス管理部216は、当該処理ユニット204のステータスを、切断ステータスに設定し(S128)、変更通知送信部234は、切断ステータスへの変更通知を通知サーバ15に送信する(S132)。
【0094】
通知サーバ15において、変更通知受付部312は、情報処理装置10およびクラウドシステム12のそれぞれから、ステータス変更通知を受け付け、ステータス管理部310に提供する。ステータス管理部310は、これらのステータス変更通知にもとづいて、情報処理装置10のステータスをアクティブステータスに、処理ユニット204のステータスを切断ステータスに、それぞれ設定する(S134)。クラウドゲームを終了した情報処理装置10は、アクティブステータスに復帰することで、ゲームを実行可能となり、またサーバシステム14からネットワークサービスをフルで提供されることになる。
【0095】
図8に示すシーケンスでは、クラウドゲームが正常に終了し、クラウドシステム12において、S128でユーザのログアウト処理が適切に実施されたケースを示している。しかしながら、情報処理装置10とクラウドシステム12の間のストリーミングセッションが異常切断されたケースでは、クラウドシステム12側で、ユーザのログアウト処理が適切に実施されない。一方で、情報処理装置10では、ストリーミングセッションが異常切断されたことで、ステータス管理部120は、クラウドゲームの終了を通知されるため、情報処理装置10のステータスを、アクティブステータスに設定し(S126)、変更通知送信部136は、アクティブステータスへの変更通知を通知サーバ15に送信する(S130)。この変更通知には、ログイン時刻情報が含まれている。
【0096】
上記したように通知サーバ15において、ステータス管理部310は、各クライアント装置のログイン時刻にもとづいた後勝ちルールを適用している。情報処理装置10と処理ユニット204とのログイン時刻は、常に情報処理装置10の方が早く、処理ユニット204の方が遅い。そのため、後勝ちルールを厳密に適用すると、ステータス管理部310は、リッスンステータスにある情報処理装置10からのアクティブステータスへの変更通知を必ず拒絶することになる。
【0097】
そこでステータス管理部310は、情報処理装置10から送信されるアクティブステータスへの変更通知に、処理ユニット204を特定するための情報が含まれていれば、ログイン時刻にかかわらず、ステータス変更を実施する。
図8に示すシーケンスでは、通知サーバ15が、S132でクラウドシステム12からステータス変更通知を受け取っているが、仮にこれを受け取らない場合であっても、S130で情報処理装置10からステータス変更通知を受け取ることで、S134におけるステータス更新処理を実施してよい。このときステータス管理部310は、処理ユニット204のステータスを切断ステータスに設定し、変更指示送信部314は、処理ユニット204に、切断ステータスへの変更指示を送信してよい。クラウドシステム12において、変更指示受付部246が、ステータス変更指示を受け付けると、ステータス管理部216が、処理ユニット204のステータスを切断ステータスに設定する。
【0098】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例でクラウドシステム12はクラウドゲーミングを提供したが、それ以外のクラウドサービスを提供してもよい。