(57)【要約】【課題】クライアント装置のステータスを管理する技術を提供する。【解決手段】ログイン管理部１１２は、ユーザを情報処理装置１０にログインさせる。ステータス管理部１２０は情報処理装置１０のステータスを管理する。変更指示受付部１４４は、サーバからステータスの変更指示を受け付ける。ステータス管理部１２０は、ユーザが情報処理装置１０にログインしており且つ情報処理装置１０がサービスにサインインしている場合に、情報処理装置１０がオンライン状態にあって、サービスを利用可能な状態であるアクティブステータスと、情報処理装置１０がゲームを実行不能なオフライン状態にあって、サービスを利用可能な状態であるリッスンステータスのいずれかで、情報処理装置１０のステータスを管理する。【選択図】図４
2018143548.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのサーバを含むサーバシステムにより提供されるサービスであって、１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを利用する情報処理装置であって、
ユーザを当該情報処理装置にログインさせるログイン管理部と、
当該情報処理装置のステータスを管理するステータス管理部と、
サーバからステータスの変更指示を受け付ける変更指示受付部と、を備え、前記変更指示受付部がステータスの変更指示を受け付けると、前記ステータス管理部は、管理しているステータスを、変更指示されたステータスに変更するものであって、
前記ステータス管理部は、ユーザが当該情報処理装置にログインしており且つ当該情報処理装置がサービスにサインインしている場合に、当該情報処理装置がオンライン状態にあって、サービスを利用可能な状態である第１ステータスと、当該情報処理装置がゲームを実行不能なオフライン状態にあって、サービスを利用可能な状態である第２ステータスのいずれかで、当該情報処理装置のステータスを管理する、
ことを特徴とする情報処理装置。
【請求項２】
ステータスの変更通知をサーバに送信する変更通知送信部を、さらに備え、
前記ログイン管理部がユーザをログインさせると、前記ステータス管理部はステータスを第１ステータスに設定し、前記変更通知送信部は、第１ステータスへの変更通知をサーバに送信し、
前記変更指示受付部が第２ステータスへの変更指示を受け付けると、前記ステータス管理部はステータスを、第２ステータスに変更する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１ステータスおよび前記第２ステータスは、通知サーバが提供する通知サービスを利用可能とするステータスである、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
ゲームを起動するための起動指示をクラウドシステムに送信する起動指示送信部をさらに備え、
前記起動指示送信部がクラウドシステムにゲーム起動指示を送信した後、前記変更指示受付部が、通知サーバから第２ステータスへの変更指示を受け付けると、前記ステータス管理部はステータスを、第２ステータスに変更する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記変更指示には、クラウドシステムにおいてゲームを実行するために割り当てられた処理ユニットを特定するための情報が含まれている、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
クラウドシステムにおけるゲームの実行を終了した後、前記変更通知送信部は、前記処理ユニットを特定するための情報を含めた第１ステータスへの変更通知を、通知サーバに送信する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記起動指示送信部がクラウドシステムにゲーム起動指示を送信していない場合に、前記変更指示受付部が、通知サーバから第２ステータスへの変更指示を受け付けると、前記ログイン管理部は、ユーザを当該情報処理装置からログアウトさせ、前記ステータス管理部はステータスを、ユーザが当該情報処理装置にログインしていない状態である第３ステータスに変更する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項８】
１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを利用する情報処理装置のステータス管理方法であって、
ユーザを当該情報処理装置にログインさせるステップと、
当該情報処理装置のステータスを管理するステップと、
サーバからステータスの変更指示を受け付けるステップと、を有し、
ステータス管理ステップは、ステータスの変更指示により、管理しているステータスを変更指示されたステータスに変更するものであって、
ステータス管理ステップは、ユーザが当該情報処理装置にログインしており且つ当該情報処理装置がサービスにサインインしている場合に、当該情報処理装置がオンライン状態にあって、サービスを利用可能な状態である第１ステータスと、当該情報処理装置がゲームを実行不能なオフライン状態にあって、サービスを利用可能な状態である第２ステータスのいずれかで、当該情報処理装置のステータスを管理する、
ことを特徴とするステータス管理方法。
【請求項９】
１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを利用するコンピュータに、
ユーザを当該コンピュータにログインさせる機能と、
当該コンピュータのステータスを管理する機能と、
サーバからステータスの変更指示を受け付ける機能と、を実現させるためのプログラムであって、
ステータス管理機能は、ステータスの変更指示により、管理しているステータスを変更指示されたステータスに変更する機能を含むものであって、
ステータス管理機能は、ユーザが当該コンピュータにログインしており且つ当該コンピュータがサービスにサインインしている場合に、当該コンピュータがオンライン状態にあって、サービスを利用可能な状態である第１ステータスと、当該コンピュータがゲームを実行不能なオフライン状態にあって、サービスを利用可能な状態である第２ステータスのいずれかで、当該コンピュータのステータスを管理する機能を含む、
ことを特徴とするプログラム。
【請求項１０】
１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを提供するサーバシステムであって、
クライアント装置のステータスを管理するステータス管理部と、
クライアント装置から、ステータスの変更通知を受け付ける変更通知受付部と、
クライアント装置に、ステータスの変更指示を送信する変更指示送信部と、を備え、
前記変更通知受付部が、ユーザがログインした第１クライアント装置であって当該サーバシステムにユーザアカウントを用いてサインインする第１クライアント装置から、オンライン状態である第１ステータスへの変更通知を受け付けると、前記ステータス管理部は、第１クライアント装置のステータスを、第１ステータスに設定し、
前記変更通知受付部が、ユーザがログインした第２クライアント装置であって当該サーバシステムに同じユーザアカウントを用いてサインインする第２クライアント装置から、第１ステータスへの変更通知を受け付けると、前記ステータス管理部は、第２クライアント装置のステータスを第１ステータスに設定し、第１クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態である第２ステータスに設定し、前記変更指示送信部は、第１クライアント装置に、第２ステータスへの変更指示を送信する、
ことを特徴とするサーバシステム。
【請求項１１】
第２クライアント装置は、クラウドシステムにおいて第１クライアント装置からの指示を受けてゲームを実行するために割り当てられた処理ユニットである、
ことを特徴とする請求項１０に記載のサーバシステム。
【請求項１２】
前記変更指示送信部は、変更指示に、第２クライアント装置を特定するための情報を含める、
ことを特徴とする請求項１０または１１に記載のサーバシステム。
【請求項１３】
前記変更通知受付部が、第２ステータスにある第１クライアント装置から、第１ステータスへの変更通知を受け付けると、前記ステータス管理部は、第１クライアント装置のステータスを、第１ステータスに設定する、
ことを特徴とする請求項１２に記載のサーバシステム。
【請求項１４】
第２ステータスにある第１クライアント装置からの変更通知には、第２クライアント装置を特定するための情報が含まれる、
ことを特徴とする請求項１３に記載のサーバシステム。
【請求項１５】
当該サーバシステムは、第１クライアント装置および第２クライアント装置にプッシュ通知を行う通知サーバを含む、
ことを特徴とする請求項１０から１４のいずれかに記載のサーバシステム。
【請求項１６】
１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを提供するサーバシステムにおいて、クライアント装置のステータスを管理する方法であって、
クライアント装置のステータスを管理するステップと、
クライアント装置から、ステータスの変更通知を受け付けるステップと、
クライアント装置に、ステータスの変更指示を送信するステップと、を有し、
変更通知受付ステップが、ユーザがログインした第１クライアント装置であって当該サーバシステムにユーザアカウントを用いてサインインする第１クライアント装置から、オンライン状態である第１ステータスへの変更通知を受け付けると、ステータス管理ステップは、第１クライアント装置のステータスを、第１ステータスに設定し、
変更通知受付ステップが、ユーザがログインした第２クライアント装置であって当該サーバシステムに同じユーザアカウントを用いてサインインする第２クライアント装置から、第１ステータスへの変更通知を受け付けると、ステータス管理ステップは、第２クライアント装置のステータスを、第１ステータスに設定し、第１クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態である第２ステータスに設定し、変更指示送信ステップは、第１クライアント装置に、第２ステータスへの変更指示を送信する、
ことを特徴とするステータス管理方法。
【請求項１７】
１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを提供するコンピュータに、
クライアント装置のステータスを管理する機能と、
クライアント装置から、ステータスの変更通知を受け付ける機能と、
クライアント装置に、ステータスの変更指示を送信する機能と、を実現させるためのプログラムであって、
変更通知受付機能が、ユーザがログインした第１クライアント装置であって当該コンピュータにユーザアカウントを用いてサインインする第１クライアント装置から、オンライン状態である第１ステータスへの変更通知を受け付けると、ステータス管理機能は、第１クライアント装置のステータスを、第１ステータスに設定し、
変更通知受付機能が、ユーザがログインした第２クライアント装置であって当該コンピュータに同じユーザアカウントを用いてサインインする第２クライアント装置から、第１ステータスへの変更通知を受け付けると、ステータス管理機能は、第２クライアント装置のステータスを第１ステータスに設定し、第１クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態である第２ステータスに設定し、変更指示送信機能は、第１クライアント装置に、第２ステータスへの変更指示を送信する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続するクライアント装置のステータスを管理する技術に関する。
【背景技術】
【０００２】
ネットワークサービスを提供するサーバは、ユーザを識別するためのユーザアカウントにもとづいてユーザを管理する。ユーザはユーザアカウントを用いてクライアント装置からネットワークサービスにサインインし、クライアント装置がオンライン状態にあることをサーバにより認識されることで、ネットワークサービスを利用できるようになる。ユーザ管理についてはサービス提供主体によって様々なポリシーで運用されるが、１人のユーザの複数のクライアント装置がオンライン状態にあることを許容する場合、データの同期処理を厳密に実施するために非常に複雑な仕組みが必要となり、コストがかかる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
そこで現実的な運用方針として、オンライン状態にあるクライアント装置をユーザにつき１台に限定するユーザ管理手法が提案される。この運用方針のもとでは、１人のユーザの２台のクライアント装置が同時にオンライン状態となる状況を解消するために、サーバは、一方のクライアント装置のオンライン状態を維持しつつ、他方のクライアント装置を強制的にオフライン状態に遷移させる。
【０００４】
サーバは、クライアント装置のステータスを管理することで、サービスの提供先を決定する。従来のサーバは、オンライン状態としてステータス管理しているクライアント装置にのみオンラインサービスを提供するため、オフライン状態としてステータス管理しているクライアント装置にオンラインサービスを提供することはない。そのためユーザがオフライン状態としてステータス管理されるクライアント装置を利用し続けるようなケースでは、オンラインサービスが提供されないために、使い勝手が良好であるとは言い難い面があった。そこで本発明者は、クライアント装置の管理用ステータスとして新規のステータスを導入することで、オフライン状態とされたクライアント装置の使い勝手を向上させる技術を想到するに至った。
【０００５】
そこで本発明は、クライアント装置のステータスを好適に管理して、ユーザの利便性を高めることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の情報処理装置は、少なくとも１つのサーバを含むサーバシステムにより提供されるサービスであって、１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを利用する情報処理装置である。当該情報処理装置は、ユーザを当該情報処理装置にログインさせるログイン管理部と、当該情報処理装置のステータスを管理するステータス管理部と、サーバからステータスの変更指示を受け付ける変更指示受付部と、を備え、変更指示受付部がステータスの変更指示を受け付けると、ステータス管理部は、管理しているステータスを、変更指示されたステータスに変更するものであって、ステータス管理部は、ユーザが当該情報処理装置にログインしており且つ当該情報処理装置がサービスにサインインしている場合に、当該情報処理装置がオンライン状態にあって、サービスを利用可能な状態である第１ステータスと、当該情報処理装置がゲームを実行不能なオフライン状態にあって、サービスを利用可能な状態である第２ステータスのいずれかで、当該情報処理装置のステータスを管理する。
【０００７】
本発明の別の態様は、１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを利用する情報処理装置のステータス管理方法である。このステータス管理方法は、ユーザを当該情報処理装置にログインさせるステップと、当該情報処理装置のステータスを管理するステップと、サーバからステータスの変更指示を受け付けるステップと、を有する。ステータス管理ステップは、ステータスの変更指示により、管理しているステータスを変更指示されたステータスに変更する。ステータス管理ステップは、ユーザが当該情報処理装置にログインしており且つ当該情報処理装置がサービスにサインインしている場合に、当該情報処理装置がオンライン状態にあって、サービスを利用可能な状態である第１ステータスと、当該情報処理装置がゲームを実行不能なオフライン状態にあって、サービスを利用可能な状態である第２ステータスのいずれかで、当該情報処理装置のステータスを管理する。
【０００８】
本発明のさらに別の態様は、１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを提供するサーバシステムである。当該サーバシステムは、クライアント装置のステータスを管理するステータス管理部と、クライアント装置から、ステータスの変更通知を受け付ける変更通知受付部と、クライアント装置に、ステータスの変更指示を送信する変更指示送信部と、を備える。変更通知受付部が、ユーザがログインした第１クライアント装置であって当該サーバシステムにユーザアカウントを用いてサインインする第１クライアント装置から、オンライン状態である第１ステータスへの変更通知を受け付けると、ステータス管理部は、第１クライアント装置のステータスを第１ステータスに設定する。変更通知受付部が、ユーザがログインした第２クライアント装置であって当該サーバシステムに同じユーザアカウントを用いてサインインする第２クライアント装置から、第１ステータスへの変更通知を受け付けると、ステータス管理部は、第２クライアント装置のステータスを第１ステータスに設定し、第１クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態である第２ステータスに設定する。変更指示送信部は第１クライアント装置に、第２ステータスへの変更指示を送信する。
【０００９】
本発明のさらに別の態様は、１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するサービスを提供するサーバシステムにおいて、クライアント装置のステータスを管理する方法である。当該ステータス管理方法は、クライアント装置のステータスを管理するステップと、クライアント装置から、ステータスの変更通知を受け付けるステップと、クライアント装置に、ステータスの変更指示を送信するステップと、を有する。変更通知受付ステップが、ユーザがログインした第１クライアント装置であって当該サーバシステムにユーザアカウントを用いてサインインする第１クライアント装置から、オンライン状態である第１ステータスへの変更通知を受け付けると、ステータス管理ステップは、第１クライアント装置のステータスを第１ステータスに設定する。変更通知受付ステップが、ユーザがログインした第２クライアント装置であって当該サーバシステムに同じユーザアカウントを用いてサインインする第２クライアント装置から、第１ステータスへの変更通知を受け付けると、ステータス管理ステップは、第２クライアント装置のステータスを第１ステータスに設定し、第１クライアント装置のステータスを、ユーザのログインを維持しつつゲームを実行不能なオフライン状態である第２ステータスに設定する。変更指示送信ステップは、第１クライアント装置に、第２ステータスへの変更指示を送信する。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によると、クライアント装置のステータスを適切に管理することで、ユーザの利便性を高めることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例にかかる情報処理システムを示す図である。
【図２】情報処理装置の機能ブロック図である。
【図３】クライアント装置のステータスを示す図である。
【図４】情報処理装置の構成を示す図である。
【図５】通知サーバの構成を示す図である。
【図６】２つの情報処理装置のステータス管理を実施するシーケンス図である。
【図７】クラウドシステムの構成を示す図である。
【図８】情報処理装置と処理ユニットのステータス管理を実施するシーケンス図である。
【発明を実施するための形態】
【００１３】
図１は、本発明の実施例にかかる情報処理システム１を示す。情報処理システム１は、ユーザが操作するクライアント装置である情報処理装置１０と、クラウドシステム１２と、サーバシステム１４とを備える。情報処理装置１０、クラウドシステム１２およびサーバシステム１４は、インターネットなどのネットワーク３を介して、互いに通信可能に接続されている。実施例において情報処理装置１０は、据置型のゲーム装置であってよい。
【００１４】
アクセスポイント（以下、「ＡＰ」とよぶ）８は無線アクセスポイントおよびルータの機能を有し、情報処理装置１０は、無線または有線経由でＡＰ８に接続して、ネットワーク３に接続する。補助記憶装置２は、ＨＤＤ（ハードディスクドライブ）やフラッシュメモリなどの大容量記憶装置であり、ＵＳＢ（Universal Serial Bus）などによって情報処理装置１０と接続する外部記憶装置であってよく、また内蔵型記憶装置であってもよい。出力装置４は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。撮像装置であるカメラ７は出力装置４の近傍に設けられ、出力装置４周辺の空間を撮像する。情報処理装置１０は、ユーザが操作する入力装置６と無線または有線で接続し、入力装置６はユーザの操作結果を示す操作情報を情報処理装置１０に出力する。
【００１５】
入力装置６は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有するゲームコントローラであってよいが、キーボード、マウス、タッチパッドなどの入力インタフェース装置であってもよい。情報処理装置１０は、入力装置６からの操作情報を受け付けるとＯＳ（システムソフトウェア）やアプリケーションの処理に反映し、出力装置４から処理結果を出力させる。
【００１６】
クラウドシステム１２は、サーバシステム１４とは別に設けられ、ユーザに対してクラウドゲーミングを提供する。クラウドシステム１２は、情報処理装置１０から送信される入力装置６の操作情報をクラウドゲームの処理に反映して、ゲームの画像データおよび音声データを情報処理装置１０にストリーミング配信する。情報処理装置１０は、入力装置６の操作情報をクラウドシステム１２に送信し、クラウドシステム１２から配信されるストリーミングデータを受信して、出力装置４から出力する。
【００１７】
クラウドシステム１２は、演算処理する機能をもつ複数の処理ユニットを有し、１人のユーザに対して１つの処理ユニットを割り当てる。たとえばクラウドシステム１２が１００００個の処理ユニットを有する場合、１００００人のユーザがクラウドシステム１２にアクセスして、クラウドゲームをプレイできる。情報処理システム１において、ユーザに割り当てられた処理ユニットは、サーバシステム１４からみると、ユーザにより操作されてゲームを処理するクライアント装置となる。
【００１８】
サーバシステム１４は、ネットワークサービスをクライアント装置に提供する少なくとも１つのサーバを備え、実施例では、通知サーバ１５、メッセージサーバ１６、コンテンツサーバ１７、ストレージサーバ１８および共有サーバ１９を備える。通知サーバ１５は、メッセージや指示をプッシュ通知するサービスを提供する。通知サーバ１５は、他のサーバ、ここではメッセージサーバ１６、コンテンツサーバ１７、ストレージサーバ１８、共有サーバ１９などで生成されるメッセージや指示を、クライアント装置にプッシュ通知する役割をもつ。
【００１９】
メッセージサーバ１６はユーザに対して、フレンド登録されているフレンドのオンライン状況や、フレンド登録の依頼メッセージ、ゲームへの招待メッセージなど、ゲームやフレンドに関連する様々なメッセージを生成する。コンテンツサーバ１７は、ゲームプログラムなどのコンテンツをクライアント装置に送信するサーバであって、クライアント装置は、コンテンツサーバ１７からコンテンツをダウンロードする。ストレージサーバ１８は、ゲームのセーブデータや補助記憶装置２のバックアップデータを記憶する。共有サーバ１９は、ユーザがプレイ中のゲーム画音データを、視聴者の端末装置にストリーミング配信したり、ユーザの過去のゲーム動画を共有サイトにアップロードする。通知サーバ１５は、主としてメッセージサーバ１６で生成されたメッセージをクライアント装置にプッシュ通知するが、コンテンツサーバ１７、ストレージサーバ１８、共有サーバ１９でメッセージや指示が生成される場合には、それらのメッセージや指示をクライアント装置にプッシュ通知する。サーバシステム１４は、図示されるように複数のサーバから構成されてよいが、それぞれの機能を備えた単一のサーバによって構成されてもよい。
【００２０】
ユーザがサーバシステム１４によるネットワークサービスの提供を受けるためには、情報処理装置１０にログインして、各ネットワークサービスにサインインする必要がある。なお後述するように、実施例の情報処理装置１０は、ユーザがログアウトした後もサインインした状態を維持して、一部のネットワークサービスの提供を受けられる。いずれにしても、情報処理装置１０がネットワークサービスの提供を受けるためには、サービスにサインインしている必要がある。
【００２１】
＜ログイン処理＞
ユーザが情報処理装置１０のメイン電源をオンすると、情報処理装置１０は、ログイン用のユーザアカウントに対応付けられたアイコン画像を含むログイン画面を出力装置４に表示する。ユーザは自身のアイコン画像を選択し、ログイン用パスコードが設定されている場合には、そのパスコードを入力する。情報処理装置１０は入力されたパスコードからユーザ認証を実施し、ユーザ認証に成功するとユーザをログインさせる。このユーザ認証は一例であり、ユーザがログイン用のユーザアカウントとパスコードを入力し、情報処理装置１０が入力されたユーザアカウントとパスコードからユーザ認証を行ってもよい。また情報処理装置１０は、カメラ７に撮像されたユーザの顔画像と、予め登録されているユーザの顔画像との一致を判断して、ユーザ認証を行ってもよい。ユーザは情報処理装置１０にログインすることで、情報処理装置１０を利用できるようになる。
【００２２】
＜サインイン処理＞
ユーザがログインすると、情報処理装置１０は、サインイン用のユーザアカウントを用いて、自動的にネットワークサービスにサインインする。情報処理装置１０がネットワークサービスにサインインすることで、ユーザは、サーバシステム１４により提供されるネットワークサービスを利用できるようになる。
【００２３】
図２は、情報処理装置１０の機能ブロック図を示す。情報処理装置１０は、メイン電源ボタン２０、電源ＯＮ用ＬＥＤ２１、スタンバイ用ＬＥＤ２２、システムコントローラ２４、クロック２６、デバイスコントローラ３０、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０を有して構成される。
【００２４】
メインシステム６０は、メインＣＰＵ（Central Processing Unit）、主記憶装置であるメモリおよびメモリコントローラ、ＧＰＵ（Graphics Processing Unit）などを備える。ＧＰＵはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、１つのチップ上に形成されてよい。メインＣＰＵはＯＳを起動し、ＯＳが提供する環境下において、補助記憶装置２にインストールされたアプリケーションを実行する機能をもつ。またクラウドコンピューティングシステムとして構成される情報処理システム１においては、メインＣＰＵは、クラウドシステム１２から提供されるゲーム画像およびゲーム音声を出力装置４から出力する機能ももつ。
【００２５】
サブシステム５０は、サブＣＰＵ、主記憶装置であるメモリおよびメモリコントローラなどを備え、ＧＰＵを備えない。サブＣＰＵの回路ゲート数は、メインＣＰＵの回路ゲート数よりも少なく、サブＣＰＵの動作消費電力は、メインＣＰＵの動作消費電力よりも少ない。サブＣＰＵは、メインＣＰＵがスタンバイステータスにある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。情報処理装置１０では、メインシステム６０のスタンバイ時にはサブシステム５０が稼働しているため、ネットワークサービスに常時サインインした状態を維持できる。
【００２６】
メイン電源ボタン２０は、ユーザからの操作入力が行われる入力部であって、情報処理装置１０の筐体の前面に設けられ、情報処理装置１０のメインシステム６０への電源供給をオンまたはオフするために操作される。メイン電源がオフされると、メインシステム６０はスタンバイステータスとなる。電源ＯＮ用ＬＥＤ２１は、メイン電源ボタン２０がオンされたときに点灯し、スタンバイ用ＬＥＤ２２は、メイン電源ボタン２０がオフされたときに点灯する。
【００２７】
システムコントローラ２４は、ユーザによるメイン電源ボタン２０の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オフ指示」として取得する。クロック２６はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ２４やサブシステム５０およびメインシステム６０に供給する。
【００２８】
デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【００２９】
メディアドライブ３２は、ゲームアプリケーションなどのソフトウェアおよびライセンス情報を記録したＲＯＭ媒体４４を装着して駆動し、ＲＯＭ媒体４４からプログラムやデータなどを読み出すドライブ装置である。ＲＯＭ媒体４４は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【００３０】
ＵＳＢモジュール３４は、外部機器とＵＳＢケーブルで接続するモジュールである。ＵＳＢモジュール３４は補助記憶装置２およびカメラ７とＵＳＢケーブルで接続してもよい。フラッシュメモリ３６は、内部ストレージを構成する補助記憶装置である。無線通信モジュール３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで入力装置６と無線通信する。有線通信モジュール４０は、外部機器と有線通信し、ＡＰ８を介してネットワーク３に接続する。
【００３１】
ところでユーザは、情報処理システム１で利用可能な複数台のクライアント装置を所有することがある。ユーザが据置型ゲーム装置である情報処理装置１０を複数台所有する場合や、情報処理装置１０の他に、携帯型のゲーム機やスマートフォンなどの端末装置を有する場合である。そのためユーザからすれば、複数のクライアント装置のそれぞれでゲームプレイできることが理想である。しかしながらサービスの提供主体からすると、複数のクライアント装置で同時にゲームがプレイされると、ゲームデータの同期処理を確実に実施するための仕組みを構築する必要が生じ、非常に複雑な対応が求められる。そこで実施例のサーバシステム１４は、各クライアント装置のステータスを管理して、１人のユーザが１つのユーザアカウントを用いてサインインする複数のクライアント装置のうち、ゲームを実行可能とするオンライン状態にあるクライアント装置を１つに限って許可するよう制限する。
【００３２】
サーバシステム１４は、クライアント装置のステータスを管理する専用のサーバを別途有してもよいが、実施例では通知サーバ１５が、クライアント装置のステータスを管理する。なお通知サーバ１５は、管理しているステータスをリアルタイムで他のサーバに通知してよいが、各サーバがクライアント装置のステータスを独自に管理してもよい。
【００３３】
図３は、クライアント装置の管理用ステータスを示す。クライアント装置は「切断」、「スタンバイ」、「アクティブ」、「リッスン」の４つのステータスに区別して管理される。この管理用ステータスは情報処理システム１において共用され、つまりサーバシステム１４のみならず、クライアント装置自身も、４つのステータスのいずれかでクライアント装置のステータスを管理する。
【００３４】
「装置のプレゼンス」は、ネットワークサービスにおいてクライアント装置がオンライン状態にあるか、またはオフライン状態にあるかを管理するための情報である。オンライン状態にあるクライアント装置は、ゲームを実行可能であり、ネットワークサービスをフルで提供される。一方でオフライン状態にあるクライアント装置は、ゲームを実行不能とされ、ネットワークサービスにサインインした状態にあっても、一部のネットワークサービスしか提供されない。サーバシステム１４は、１人のユーザがサインインする複数のクライアント装置のうち、オンライン状態にあるクライアント装置を１台に限定するようにステータス管理を行うため、１人のユーザのクライアント装置は、１台のみがオンライン状態となりうる。
【００３５】
４つのステータスのうち、プレゼンス情報が「オンライン状態」となるのはアクティブステータスである。したがってユーザの複数のクライアント装置のうち、アクティブステータスを設定されるクライアント装置は１台に限定され、それ以外のクライアント装置は、プレゼンス情報が「オフライン状態」である切断ステータス、スタンバイステータス、リッスンステータスのいずれかを設定されることになる。なお「オンライン状態」、「オフライン状態」は、ステータス管理上の呼び名であり、オフライン状態にあるクライアント装置が、ネットワーク３に接続してサーバシステム１４にサインインした状態を維持することに問題はない。
【００３６】
サーバシステム１４は、クライアント装置に対して、２種類のネットワークサービスを提供する。以下、２種類のネットワークサービスを、プレゼンス情報の呼び名に合わせて「オンラインサービス」および「オフラインサービス」と呼ぶことにする。
【００３７】
オンラインサービスは、ゲーム実行可能なオンライン状態にあるクライアント装置に対して提供されるサービスであり、たとえばストレージサーバ１８によるセーブデータのストレージサービスや、共有サーバ１９によるプレイ中のゲーム画音データのストリーミング配信サービスなどが該当する。またオンラインサービスは、オンライン状態にあるクライアント装置に対してのみ提供される通知サーバ１５によるプッシュ通知サービスを含む。たとえばメッセージサーバ１６が生成する「フレンドがオンラインになりました」、「フレンドからゲームへの招待が届きました」といったメッセージの通知処理が該当する。以下、オンラインサービスの一つとして通知サーバ１５が提供するサービスを「第１プッシュ通知」と呼ぶ。第１プッシュ通知は、クライアント装置でメッセージを表示するために実施される。
【００３８】
オフラインサービスは、オンライン状態およびオフライン状態にあるクライアント装置に対して提供されるサービスである。つまりオフラインサービスは、オンライン状態にあるかオフライン状態にあるかに関係なく、サインインしているクライアント装置に提供されるサービスである。たとえばコンテンツサーバ１７によるコンテンツのダウンロードサービスが該当する。またオフラインサービスは、オンライン状態にあるクライアント装置とオフライン状態にあるクライアント装置の双方に提供される通知サーバ１５によるプッシュ通知サービスを含む。たとえばコンテンツサーバ１７がユーザの要求とは関係なくゲームトレイラーやゲームの体験版であるコンテンツをクライアント装置に自動送信する際に、通知サーバ１５が、コンテンツを送信する旨を通知する処理が該当する。以下、オフラインサービスの一つとして通知サーバ１５が提供するサービスを「第２プッシュ通知」と呼ぶ。第２プッシュ通知は、基本的にはクライアント装置での表示を目的としておらず、クライアント装置における処理を指示するために実施される。
【００３９】
なお実施例では例外として、オフライン状態にあっても、リッスンステータスを設定されたクライアント装置は、通知サーバ１５から第１プッシュ通知を受けられるようにしている。なおリッスンステータスにあるクライアント装置はオフライン状態として管理されるため、ゲームを実行できず、またストレージサーバ１８、共有サーバ１９などによるオンラインサービスの提供を受けられない。
【００４０】
以下、各ステータスと、プッシュ通知サービスの関係について説明する。
（１）「切断」ステータス
切断ステータスは、クライアント装置とサーバシステム１４との接続が切断されたステータスである。切断ステータスにあるクライアント装置は、通知サーバ１５との接続が切断されているため、通知サーバ１５は、第１プッシュ通知および第２プッシュ通知を実施しない。プレゼンス情報は、オフライン状態である。
【００４１】
（２）「スタンバイ」ステータス
スタンバイステータスは、ユーザがクライアント装置にログインしていないが、クライアント装置がサーバシステム１４に接続して、ネットワークサービスにサインインしているステータスである。スタンバイステータスにあるクライアント装置はオフライン状態にあり、サーバシステム１４からオフラインサービスの提供を受けられる。そのため通知サーバ１５は、スタンバイステータスにあるクライアント装置に対して、第２プッシュ通知を実施する。
【００４２】
（３）「アクティブ」ステータス
アクティブステータスは、ユーザがクライアント装置にログインし、且つクライアント装置がサーバシステム１４に接続して、ネットワークサービスにサインインしているステータスである。アクティブステータスにあるクライアント装置はオンライン状態にあり、サーバシステム１４からオフラインサービスおよびオンラインサービスの提供を受けられる。そのため通知サーバ１５は、アクティブステータスにあるクライアント装置に対して、第１プッシュ通知および第２プッシュ通知を実施する。ユーザが複数台のクライアント装置を有している場合、アクティブステータスを設定されるクライアント装置は１台に制限される。
【００４３】
（４）「リッスン」ステータス
リッスンステータスは、ユーザがクライアント装置にログインし、且つクライアント装置がサーバシステム１４に接続して、ネットワークサービスにサインインしているが、プレゼンス情報をオフライン状態とするステータスである。そのためリッスンステータスにあるクライアント装置はゲームを実行できず、サーバシステム１４からオフラインサービスの提供は受けられるものの、原則としてオンラインサービスの提供を受けられない。
【００４４】
しかしながらリッスンステータスは、オフライン状態にあるクライアント装置が、オンラインサービスに含まれる第１プッシュ通知を受けられる特別なステータスとして構成される。実施例において、リッスンステータスは、情報処理装置１０がクラウドシステム１２を利用する際に、情報処理装置１０を操作するユーザに対してメッセージを通知するために設定される。この点については、情報処理装置１０の各構成について説明した後、詳述する。
【００４５】
最初に、クライアント装置である情報処理装置１０の構成について説明する。
図４は、情報処理装置１０の構成を示す。情報処理装置１０は、処理部１００および通信部１０２を備え、処理部１００は、操作情報受付部１１０、ログイン管理部１１２、サインイン処理部１１４、アプリケーション実行部１１６、出力処理部１１８、ステータス管理部１２０、送信部１３０および受信部１４０を備える。送信部１３０は、起動指示送信部１３２、操作情報送信部１３４および変更通知送信部１３６を有し、受信部１４０は、ストリーミングデータ取得部１４２、変更指示受付部１４４およびプッシュ通知取得部１４６を有する。通信部１０２は、図２に示す無線通信モジュール３８および有線通信モジュール４０の機能を併せ持つ構成として表現している。
【００４６】
図４において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４７】
操作情報受付部１１０は、入力装置６の操作情報を受け付ける。ログイン管理部１１２は、所定のユーザ認証を行うことでユーザを情報処理装置１０にログインさせ、サインイン処理部１１４は、ログインさせたユーザをネットワークサービスにサインインさせる。
【００４８】
アプリケーション実行部１１６は、補助記憶装置２に保持されたゲームプログラムまたはＲＯＭ媒体４４に記録されているゲームプログラムを実行する機能を有する。アプリケーション実行部１１６は、アクティブステータスが設定されている場合に限って、ゲームプログラムを実行できる。出力処理部１１８は、ゲーム画像およびゲーム音声を出力装置４に出力する。ステータス管理部１２０は、情報処理装置１０のステータスを管理する。ステータス管理部１２０は、ステータス情報を保持することにより情報処理装置１０のステータスを管理し、ステータスに変更があればステータス情報を更新する。
【００４９】
実施例のステータス管理部１２０は、ユーザが情報処理装置１０にログインしており且つ情報処理装置１０がサービスにサインインしている場合に、情報処理装置１０がゲームを実行可能なオンライン状態にあって、サービスを利用可能な状態であるアクティブステータスと、情報処理装置１０がゲームを実行不能なオフライン状態にあって、サービスの一部を利用可能な状態であるリッスンステータスのいずれかで、情報処理装置１０のステータスを管理する。
【００５０】
起動指示送信部１３２は、クラウドゲームを起動するための起動指示をクラウドシステム１２に送信する。操作情報送信部１３４は、入力装置６の操作情報をクラウドシステム１２に送信する。変更通知送信部１３６は、ステータスの変更通知を通知サーバ１５に送信する。
【００５１】
ストリーミングデータ取得部１４２は、クラウドシステム１２から、ゲームのストリーミングデータを取得する。変更指示受付部１４４は、通知サーバ１５から、ステータスの変更指示を受け付ける。なお変更指示受付部１４４がステータスの変更指示を受け付けると、ステータス管理部１２０は、管理しているステータスを変更指示されたステータスに変更し、具体的には保持していたステータス情報を、変更指示されたステータス情報に更新する。プッシュ通知取得部１４６は、通知サーバ１５からプッシュ通知を取得する。
【００５２】
次に、通知サーバ１５の構成について説明する。
図５は、通知サーバ１５の構成を示す。通知サーバ１５は、処理部３００および通信部３０２を備える。処理部３００は、ステータス管理部３１０、変更通知受付部３１２、変更指示送信部３１４、メッセージ取得部３１６および通知処理部３１８を備える。
【００５３】
図５において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００５４】
ステータス管理部３１０は、クライアント装置のステータスを管理する。なおステータス管理部３１０は、各クライアント装置のステータス情報を保持することにより、各クライアント装置のステータスを管理し、ステータスに変更があればステータス情報を更新する。実施例ではステータス管理部３１０が、１人のユーザのクライアント装置のステータスを管理することについて説明するが、実際にはネットワークサービスを利用する全てのユーザのクライアント装置のステータスを管理する。
【００５５】
変更通知受付部３１２は、クライアント装置から、ステータスの変更通知を受け付ける。変更指示送信部３１４は、クライアント装置に、ステータスの変更指示を送信する。メッセージ取得部３１６は、サーバシステム１４における各種サーバからメッセージを取得し、通知処理部３１８は、クライアント装置にメッセージをプッシュ通知する。
【００５６】
上記したように、サーバシステム１４は、同じユーザアカウントを用いてサインインする複数のクライアント装置のうち、オンライン状態にあるクライアント装置を１つに限って許可し、他のクライアント装置をオフライン状態に管理する。以下、サーバシステム１４における通知サーバ１５が、複数のクライアント装置のステータスを管理する基本手法を説明する。
【００５７】
図６は、２つの情報処理装置のステータス管理を実施するシーケンスを示す。図６において、クライアント装置である情報処理装置Ａ、情報処理装置Ｂは、図４に示す情報処理装置１０の構成を備えたゲーム装置であり、同一のユーザにより操作される。
【００５８】
まずユーザが情報処理装置Ａのメイン電源をオンすると、情報処理装置Ａの出力処理部１１８が、ユーザのアイコン画像を含むログイン画面を出力装置４に表示する。ユーザが自身のアイコン画像を選択し、パスコードを入力すると、ログイン管理部１１２は、パスコード認証を実施して、ユーザを情報処理装置Ａにログインさせる。ログイン管理部１１２がユーザをログインさせると、サインイン処理部１１４は、ログインさせたユーザのユーザアカウントを用いて自動サインイン処理を実施し、ステータス管理部１２０が、情報処理装置Ａのステータスを、アクティブステータスに設定する（Ｓ１０）。上記したようにステータス管理部１２０は、ステータス情報を保持することにより情報処理装置Ａのステータスを管理する。したがってステータス管理部１２０は、アクティブステータスにあることを示すアクティブステータス情報を保持する。
【００５９】
続いて変更通知送信部１３６が、アクティブステータスへの変更通知を、通知サーバ１５に送信する（Ｓ１２）。このとき変更通知送信部１３６は、ステータス変更通知に、情報処理装置Ａの識別情報、ユーザアカウント情報、ユーザが情報処理装置Ａにログインした時刻を示すログイン時刻情報を含めておく。通知サーバ１５において、変更通知受付部３１２が、情報処理装置Ａから、アクティブステータスへの変更通知を受け付けると、ステータス管理部３１０は、情報処理装置Ａのステータスをアクティブステータスに設定する（Ｓ１４）。ステータス管理部３１０は、ステータス管理部１２０と同様に、情報処理装置Ａのステータス情報としてアクティブステータス情報を保持することで、情報処理装置Ａのステータスをアクティブステータスに設定する。
【００６０】
その後、ユーザが情報処理装置Ｂのメイン電源をオンし、情報処理装置Ａと同様の手順により、情報処理装置Ｂのログイン管理部１１２がユーザをログインさせ、サインイン処理部１１４がユーザアカウントを用いて自動サインイン処理を実施して、ステータス管理部１２０が情報処理装置Ｂのステータスをアクティブステータスに設定する（Ｓ１６）。続いて変更通知送信部１３６が、アクティブステータスへの変更通知を、通知サーバ１５に送信する（Ｓ１８）。なお変更通知送信部１３６は、ステータス変更通知に、情報処理装置Ｂの識別情報、ユーザアカウント情報、ユーザが情報処理装置Ｂにログインした時刻を示すログイン時刻情報を含める。
【００６１】
通知サーバ１５において、変更通知受付部３１２が、情報処理装置Ｂから、アクティブステータスへの変更通知を受け付け、ステータス管理部３１０に提供する。ステータス管理部３１０は、ユーザアカウントにもとづいてクライアント装置のステータスを管理しており、情報処理装置Ｂのステータス変更通知が、情報処理装置Ａに設定したアクティブステータスと競合することを確認する。ステータス管理部３１０は１人のユーザに対して、アクティブステータスを設定するクライアント装置を１台に制限するため、情報処理装置Ａまたは情報処理装置Ｂのいずれか一方のみしか、アクティブステータスに設定できない。
【００６２】
一般にユーザは、後からログインしたクライアント装置を、メインのクライアント装置として利用する傾向がある。そこでステータス管理部３１０は、ステータス変更通知に含まれるログイン時刻情報を参照して、後からログインしたクライアント装置をアクティブステータスに設定する、いわゆる「後勝ちルール」を適用する。図６に示す例では、情報処理装置Ｂのログイン時刻が情報処理装置Ａのログイン時刻よりも後であるため（つまり現在時刻に近いため）、ステータス管理部３１０は、情報処理装置Ｂのステータスをアクティブステータスに設定し、情報処理装置Ａのステータスをスタンバイステータスに設定する（Ｓ２０）。このように後勝ちルールを適用することで、ステータス管理部３１０は、アクティブステータスを設定するクライアント装置を１台に制限するステータス管理を実施する。ステータス管理部３１０が情報処理装置Ａのステータスを変更すると、変更指示送信部３１４は、情報処理装置Ａに、スタンバイステータスへの変更指示を送信する（Ｓ２２）。
【００６３】
情報処理装置Ａにおいて、変更指示受付部１４４は、スタンバイステータスへの変更指示を受け付けると、ログイン管理部１１２およびステータス管理部１２０に提供する。これによりログイン管理部１１２は、ユーザを情報処理装置Ａからログアウトさせる。またステータス管理部１２０は、情報処理装置Ａのステータスを、スタンバイステータスに設定し、具体的には保持していたアクティブステータス情報を、スタンバイステータス情報に変更する（Ｓ２４）。以上が、「後勝ちルール」を適用したステータス管理手法の説明となる。
【００６４】
実施例では、ユーザが、クラウドシステム１２により提供されるクラウドゲーミングを利用する。
図７は、クラウドシステム１２の構成を示す。クラウドシステム１２は、管理部２００、通信部２０２と、複数の処理ユニット２０４ａ、２０４ｂ、・・・２０４ｚ（以下、総称する場合には「処理ユニット２０４」と呼ぶ）を備える。複数の処理ユニット２０４は、図示しないデータベースに格納されているゲームのディスクイメージを読み出して、ゲームプログラムを実行する機能を有する。処理ユニット２０４は、情報処理装置１０におけるアプリケーション実行部１１６と同じ機能を有するユニットであってよい。
【００６５】
管理部２００は、割当処理部２１０、ログイン管理部２１２、サインイン処理部２１４、ステータス管理部２１６、操作情報提供部２１８、送信部２３０および受信部２４０を備える。送信部２３０は、ストリーミングデータ配信部２３２および変更通知送信部２３４を有し、受信部２４０は、起動指示取得部２４２、操作情報取得部２４４、変更指示受付部２４６、プッシュ通知取得部２４８および終了指示取得部２５０を有する。
【００６６】
図７において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００６７】
割当処理部２１０は、ユーザからの要求に応じて、処理ユニット２０４をユーザに割り当てる。ログイン管理部２１２は、処理ユニット２０４を割り当てたユーザを処理ユニット２０４にログインさせ、サインイン処理部２１４は、処理ユニット２０４にログインさせたユーザを、サインイン用のユーザアカウントを用いて、ネットワークサービスにサインインさせる。したがってサーバシステム１４は、ユーザに割り当てられた処理ユニット２０４を、ユーザのクライアント装置として扱うことになる。
【００６８】
ステータス管理部２１６は、ユーザに割り当てた処理ユニット２０４のステータスを管理する。操作情報提供部２１８は、ユーザの情報処理装置１０から送信された操作情報を、ユーザに割り当てられた処理ユニット２０４に提供し、処理ユニット２０４は、ユーザの操作情報をゲームの処理に反映する。
【００６９】
ストリーミングデータ配信部２３２は、情報処理装置１０に、処理ユニット２０４で処理したゲームのストリーミングデータを配信する。変更通知送信部２３４は、通知サーバ１５に、ステータスの変更通知を送信する。
【００７０】
起動指示取得部２４２は、情報処理装置１０からクラウドゲームの起動指示を取得する。操作情報取得部２４４は、情報処理装置１０から、入力装置６の操作情報を取得する。変更指示受付部２４６は、通知サーバ１５から、ステータスの変更指示を受け付ける。プッシュ通知取得部２４８は、通知サーバ１５からプッシュ通知を取得する。終了指示取得部２５０は、情報処理装置１０からクラウドゲームの終了指示を取得する。
【００７１】
以下、アクティブステータスにある情報処理装置１０とクラウドシステム１２との間でセッションを確立して、ユーザがクラウドゲームをプレイするときのステータス管理手法について説明する。上記したように、クラウドシステム１２においてユーザに割り当てられる処理ユニット２０４は、情報処理装置１０と同じユーザアカウントでサーバシステム１４にサインインする。そのため図６に示したシーケンスでいえば、ログイン時刻の順番から、情報処理装置Ａが「情報処理装置１０」に対応し、情報処理装置Ｂが「クラウドシステム１２において割り当てられた処理ユニット２０４」に対応する。
【００７２】
そのためクラウドゲームの開始時に、ステータス管理部３１０が後勝ちルールを適用してスタータス管理を実施すると、Ｓ２０において、処理ユニット２０４がアクティブステータスに、情報処理装置１０がスタンバイステータスに設定されることになる。クラウドゲームの実行中、情報処理装置１０は、処理ユニット２０４からストリーミング配信されるゲーム画像を出力装置４に出力している。アクティブステータスにある処理ユニット２０４は、通知サーバ１５から第１プッシュ通知されるメッセージを取得してゲーム画像に重畳することで、ユーザは、ストリーミング配信されるゲーム画像上で、メッセージを見ることができる。
【００７３】
しかしながら情報処理装置１０は、クラウドゲームのプレイ中に、ユーザからの画面切替指示により、ゲーム画像に代えて、システム画像やゲーム以外の別のアプリケーション画像を出力装置４に表示することがある。たとえばユーザがゲームを一旦中断して、システム画面を表示させ、システム画面からブラウザを起動して、ゲームの攻略サイトを表示させるようなケースである。このとき出力装置４には、ストリーミング配信されるゲーム画像は表示されていないため、処理ユニット２０４がゲーム画像に通知されたメッセージを重畳していても、ユーザはメッセージを見ることができない。
【００７４】
そこで実施例では、ログイン時刻が後となる情報処理装置Ｂが「クラウドシステム１２において割り当てられた処理ユニット２０４」に相当する場合には、ログイン時刻が先である情報処理装置Ａをスタンバイステータスに設定するのではなく、通知サーバ１５による第１プッシュ通知サービスの提供を受けられるリッスンステータスに設定する。これにより情報処理装置１０は、通知サーバ１５から第１プッシュ通知を取得できるようになり、ユーザは、クラウドゲームの画面をシステム画面に切り替えた場合であっても、第１プッシュ通知によるメッセージをリアルタイムで見ることができるようになる。
【００７５】
図８は、実施例における情報処理装置と処理ユニットのステータス管理を実施するシーケンスを示す。
ユーザが情報処理装置１０のメイン電源をオンすると、出力処理部１１８が、ユーザのアイコン画像を含むログイン画面を出力装置４に表示する。ユーザが自身のアイコン画像を選択し、パスコードを入力すると、ログイン管理部１１２は、パスコード認証を実施して、ユーザを情報処理装置１０にログインさせる。ログイン管理部１１２がユーザをログインさせると、サインイン処理部１１４は、ログインさせたユーザのユーザアカウントを用いて自動サインイン処理を実施し、ステータス管理部１２０が、情報処理装置１０のステータスを、アクティブステータスに設定する（Ｓ１００）。ステータス管理部１２０は、アクティブステータスにあることを示すアクティブステータス情報を保持することにより情報処理装置１０のステータスを設定する。
【００７６】
続いて変更通知送信部１３６が、アクティブステータスへの変更通知を、通知サーバ１５に送信する（Ｓ１０２）。このとき変更通知送信部１３６は、ステータス変更通知に、情報処理装置１０の識別情報、ユーザアカウント情報、ユーザが情報処理装置１０にログインした時刻を示すログイン時刻情報を含める。
【００７７】
通知サーバ１５において、変更通知受付部３１２が、情報処理装置１０から、アクティブステータスへの変更通知を受け付けると、ステータス管理部３１０は、情報処理装置１０のステータスをアクティブステータスに設定し、具体的には情報処理装置１０のステータス情報として、アクティブステータスにあることを示すアクティブステータス情報を保持する（Ｓ１０４）。情報処理装置１０はアクティブステータスになることで、アプリケーション実行部１１６がゲームプログラムを実行でき、またサーバシステム１４が提供するサービスをフルで受けられる状態となる。
【００７８】
続いてユーザは、情報処理装置１０の入力装置６を操作して、クラウドゲームを起動する（Ｓ１０６）。たとえば出力処理部１１８は、クラウドゲームを選択するためのゲームアイコン画像を出力装置４に表示し、ユーザがクラウドゲームのアイコン画像を選択すると、起動指示送信部１３２が、クラウドゲームを起動するための起動指示をクラウドシステム１２に送信する。この起動指示には、ユーザを特定するために、ユーザアカウントに関する情報が含まれる。
【００７９】
クラウドシステム１２において、起動指示取得部２４２がクラウドゲームの起動指示を取得すると、情報処理装置１０とクラウドシステム１２との間で、ストリーミングセッションが確立される（Ｓ１０８）。このとき割当処理部２１０は、ユーザに対して処理ユニット２０４を割り当てるとともに、ログイン管理部２１２がユーザを処理ユニット２０４にログインさせ、サインイン処理部２１４がユーザアカウントを用いてユーザを通知サーバ１５にサインインさせる。これによりステータス管理部２１６は、ユーザに割り当てた処理ユニット２０４のステータスをアクティブステータスに設定する（Ｓ１１２）。続いて変更通知送信部２３４が、アクティブステータスへの変更通知を、通知サーバ１５に送信する（Ｓ１１４）。なお変更通知送信部２３４は、変更通知に、ユーザの処理ユニット２０４へのログイン時刻を示すログイン時刻情報を含めるとともに、ユーザアカウント情報および処理ユニット２０４を特定するための情報を含める。なおストリーミングセッションの確立により、情報処理装置１０においては、ステータス管理部１２０が、通知サーバ１５からのステータス変更指示送信を待機する状態となる（Ｓ１１０）。
【００８０】
通知サーバ１５において、変更通知受付部３１２が、クラウドシステム１２から、アクティブステータスへの変更通知を受け付け、ステータス管理部３１０に提供する。ステータス管理部３１０は、クラウドシステム１２から送信されるステータス変更通知を情報処理装置１０から送信されるステータス変更通知と区別する機能を有する。たとえばクラウドシステム１２から送信されるステータス変更通知には、クラウドシステム１２から送信されたことを示す情報が付加されていてもよい。そのためステータス管理部３１０は、アクティブステータスへの変更通知がクラウドシステム１２から送信されたものであることを認識する。
【００８１】
ステータス管理部３１０は、ユーザアカウントにもとづいてクライアント装置のステータスを管理しており、処理ユニット２０４のステータス変更通知が、情報処理装置１０に設定したアクティブステータスと競合することを確認する。そのためステータス管理部３１０は、Ｓ１１４で送信されたステータス変更通知に含まれるログイン時刻と、Ｓ１０２で送信されたステータス変更通知に含まれるログイン時刻を比較する。その結果、ステータス管理部３１０は、Ｓ１１４で送信された処理ユニット２０４のステータス変更通知のログイン時刻の方が後であることを判定する。
【００８２】
ステータス管理部３１０は、Ｓ１１４のステータス変更通知がクラウドシステム１２から送信されたものであることを認識することで、図６のＳ２０に示したステータス管理とは異なるステータス管理を実施する。つまりステータス変更通知がクラウドシステム１２から送信された場合、ステータス管理部３１０は、処理ユニット２０４のステータスをアクティブステータスに設定し、情報処理装置１０のステータスをリッスンステータスに設定する（Ｓ１１６）。このように後勝ちルールを適用することで、ステータス管理部３１０は、１人のユーザに対して１台のクライアント装置のみがアクティブステータスとなるようにステータス管理を実施する。ステータス管理部３１０により情報処理装置１０のステータスが変更されたことにより、変更指示送信部３１４は、情報処理装置１０に、リッスンステータスへの変更指示を送信する（Ｓ１１８）。この変更指示には、処理ユニット２０４を特定するための情報が含まれる。
【００８３】
情報処理装置１０において、変更指示受付部１４４は、リッスンステータスへの変更指示を受け付けると、ステータス管理部１２０に提供する。ステータス管理部１２０は、情報処理装置１０のステータスを、リッスンステータスに設定し、具体的には保持していたアクティブステータス情報を、リッスンステータス情報に更新する（Ｓ１２０）。
【００８４】
リッスンステータスでは、ログイン状態が維持されるため、ユーザは、情報処理装置１０を引き続き操作できる。なおステータス管理部１２０は、Ｓ１１０でステータス変更指示を待機しているときに変更指示を提供されたことを条件として、リッスンステータスを設定することが好ましい。
【００８５】
つまり情報処理装置１０は、自身がクラウドゲームを起動した場合に限って、リッスンステータスに遷移できる。自身がクラウドゲームを起動していることは、ステータス管理部１２０がＳ１１０で待機ステータスにあることをもって判定される。つまりクラウドゲームを起動していない情報処理装置は、リッスンステータスへの変更指示を受け付けても、ステータス管理部１２０が変更指示の待機ステータスにないため、リッスンステータスに遷移しない。
【００８６】
そのため情報処理装置１０の起動指示送信部１３２がクラウドシステム１２にゲーム起動指示を送信しておらず、別の情報処理装置がクラウドゲームを起動した後に、変更指示受付部１４４が、通知サーバ１５からリッスンステータスへの変更指示を受け付けると、ステータス管理部１２０がＳ１１０の待機ステータスにないため、ログイン管理部１１２はユーザをログアウトさせ、ステータス管理部１２０は、ステータスをスタンバイステータスに変更してよい。
【００８７】
ユーザは、リッスンステータスにある情報処理装置１０から、クラウドゲームをプレイできる。ゲームプレイ中、操作情報受付部１１０は、入力装置６の操作情報を受け付け、操作情報送信部１３４が、クラウドシステム１２に操作情報を送信する。クラウドシステム１２において、操作情報取得部２４４は、操作情報を取得し、操作情報提供部２１８が、ユーザに割り当てられた処理ユニット２０４に操作情報を提供する。これにより処理ユニット２０４は、ゲームプログラムの進行に操作情報を反映し、ゲームのストリーミングデータを生成する。ストリーミングデータ配信部２３２は、ストリーミングデータを情報処理装置１０に送信する。情報処理装置１０において、ストリーミングデータ取得部１４２がストリーミングデータを取得し、出力処理部１１８が、出力装置４からストリーミングデータを出力する。このようにユーザは、クラウドゲームをプレイする。
【００８８】
またユーザがクラウドゲームをプレイ中、通知サーバ１５は、第１プッシュ通知サービスおよび第２プッシュ通知サービスを、オンライン状態にある処理ユニット２０４だけでなく、オフライン状態にある情報処理装置１０に対しても提供する。具体的に通知サーバ１５において、メッセージ取得部３１６が、サーバシステム１４における各サーバで生成されたメッセージを取得し、通知処理部３１８が、メッセージを、処理ユニット２０４および情報処理装置１０の双方にプッシュ通知する。
【００８９】
クラウドシステム１２において、プッシュ通知取得部２４８が、通知サーバ１５から送信されるプッシュ通知を取得し、処理ユニット２０４が、通知メッセージをゲーム画像に重畳させる。これによりゲームプレイ中のユーザは、ストリーミングデータに含まれる通知メッセージを見て、たとえばフレンドからゲームに招待されたことなどを知ることができる。
【００９０】
また実施例では、リッスンステータスにある情報処理装置１０においても、プッシュ通知取得部１４６が、通知サーバ１５から送信されるプッシュ通知を取得する。これによりユーザは、クラウドゲームを一時停止させて、システム画面を出力装置４に表示させているような場合であっても、通知サーバ１５から送信される通知メッセージを見ることができる。このように情報処理システム１においては、情報処理装置１０がオフライン状態にあっても、クラウドゲームのプレイ時には通知サービスの提供を受けられるリッスンステータスを導入したことで、ユーザは、クラウドゲームプレイ中であっても、通知サーバ１５からの通知メッセージを見ることが可能となる。
【００９１】
その後、ユーザがクラウドゲームを終了する（Ｓ１２２）。クラウドシステム１２において、終了指示取得部２５０がクラウドゲームの終了指示を取得すると、情報処理装置１０とクラウドシステム１２との間で、ストリーミングセッションが終了される（Ｓ１２４）。
【００９２】
情報処理装置１０において、クラウドゲームが終了したことで、ステータス管理部１２０は、情報処理装置１０のステータスを、アクティブステータスに設定し（Ｓ１２６）、変更通知送信部１３６は、アクティブステータスへの変更通知を通知サーバ１５に送信する（Ｓ１３０）。なお、この変更通知には、ユーザに割り当てられていた処理ユニット２０４を特定するための情報が含まれる。
【００９３】
またクラウドシステム１２において、クラウドゲームが終了したことで、ログイン管理部２１２は、処理ユニット２０４からユーザをログアウトさせ、サインイン処理部２１４は、サービスからユーザをサインアウトさせる。これによりステータス管理部２１６は、当該処理ユニット２０４のステータスを、切断ステータスに設定し（Ｓ１２８）、変更通知送信部２３４は、切断ステータスへの変更通知を通知サーバ１５に送信する（Ｓ１３２）。
【００９４】
通知サーバ１５において、変更通知受付部３１２は、情報処理装置１０およびクラウドシステム１２のそれぞれから、ステータス変更通知を受け付け、ステータス管理部３１０に提供する。ステータス管理部３１０は、これらのステータス変更通知にもとづいて、情報処理装置１０のステータスをアクティブステータスに、処理ユニット２０４のステータスを切断ステータスに、それぞれ設定する（Ｓ１３４）。クラウドゲームを終了した情報処理装置１０は、アクティブステータスに復帰することで、ゲームを実行可能となり、またサーバシステム１４からネットワークサービスをフルで提供されることになる。
【００９５】
図８に示すシーケンスでは、クラウドゲームが正常に終了し、クラウドシステム１２において、Ｓ１２８でユーザのログアウト処理が適切に実施されたケースを示している。しかしながら、情報処理装置１０とクラウドシステム１２の間のストリーミングセッションが異常切断されたケースでは、クラウドシステム１２側で、ユーザのログアウト処理が適切に実施されない。一方で、情報処理装置１０では、ストリーミングセッションが異常切断されたことで、ステータス管理部１２０は、クラウドゲームの終了を通知されるため、情報処理装置１０のステータスを、アクティブステータスに設定し（Ｓ１２６）、変更通知送信部１３６は、アクティブステータスへの変更通知を通知サーバ１５に送信する（Ｓ１３０）。この変更通知には、ログイン時刻情報が含まれている。
【００９６】
上記したように通知サーバ１５において、ステータス管理部３１０は、各クライアント装置のログイン時刻にもとづいた後勝ちルールを適用している。情報処理装置１０と処理ユニット２０４とのログイン時刻は、常に情報処理装置１０の方が早く、処理ユニット２０４の方が遅い。そのため、後勝ちルールを厳密に適用すると、ステータス管理部３１０は、リッスンステータスにある情報処理装置１０からのアクティブステータスへの変更通知を必ず拒絶することになる。
【００９７】
そこでステータス管理部３１０は、情報処理装置１０から送信されるアクティブステータスへの変更通知に、処理ユニット２０４を特定するための情報が含まれていれば、ログイン時刻にかかわらず、ステータス変更を実施する。図８に示すシーケンスでは、通知サーバ１５が、Ｓ１３２でクラウドシステム１２からステータス変更通知を受け取っているが、仮にこれを受け取らない場合であっても、Ｓ１３０で情報処理装置１０からステータス変更通知を受け取ることで、Ｓ１３４におけるステータス更新処理を実施してよい。このときステータス管理部３１０は、処理ユニット２０４のステータスを切断ステータスに設定し、変更指示送信部３１４は、処理ユニット２０４に、切断ステータスへの変更指示を送信してよい。クラウドシステム１２において、変更指示受付部２４６が、ステータス変更指示を受け付けると、ステータス管理部２１６が、処理ユニット２０４のステータスを切断ステータスに設定する。
【００９８】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例でクラウドシステム１２はクラウドゲーミングを提供したが、それ以外のクラウドサービスを提供してもよい。
【符号の説明】
【００９９】
１・・・情報処理システム、１０・・・情報処理装置、１２・・・クラウドシステム、１４・・・サーバシステム、１５・・・通知サーバ、１００・・・処理部、１１２・・・ログイン管理部、１１４・・・サインイン処理部、１２０・・・ステータス管理部、１３０・・・送信部、１３２・・・起動指示送信部、１３４・・・操作情報送信部、１３６・・・変更通知送信部、１４０・・・受信部、１４２・・・ストリーミングデータ取得部、１４４・・・変更指示受付部、１４６・・・プッシュ通知取得部、２００・・・管理部、２０４・・・処理ユニット、２１２・・・ログイン管理部、２１４・・・サインイン処理部、２１６・・・ステータス管理部、２３０・・・送信部、２３２・・・ストリーミングデータ配信部、２３４・・・変更通知送信部、２４０・・・受信部、２４２・・・起動指示取得部、２４４・・・操作情報取得部、２４６・・・変更指示受付部、２４８・・・プッシュ通知取得部、２５０・・・終了指示取得部、３００・・・処理部、３１０・・・ステータス管理部、３１２・・・変更通知受付部、３１４・・・変更指示送信部、３１６・・・メッセージ取得部、３１８・・・通知処理部。
【図１】
2018143548.tif 000003
【図２】
2018143548.tif 000004
【図３】
2018143548.tif 000005
【図４】
2018143548.tif 000006
【図５】
2018143548.tif 000007
【図６】
2018143548.tif 000008
【図７】
2018143548.tif 000009
【図８】
2018143548.tif 000010