(57)【要約】      （修正有）【課題】クラウドコンピューティングシステムが提供するコンテントを共有してプレイするユーザ群を管理する技術を提供する。【解決手段】参加募集部４３０は、ネットワーク３００を介して複数のクライアント装置に同一のコンテントを共有して実行させるコンテント提供装置６００に接続する主催者クライアント装置からの通知を契機として、共有して実行するコンテントへの参加を希望するユーザを募集する。情報通知部４４０は、コンテント提供装置６００が提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザのコンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部１６を参照して、参加募集部４３０が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を主催者クライアント装置に通知する。【選択図】図２
2013094386.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数のクライアント装置に同一のコンテントを共有して実行させるコンテント提供装置に接続する、前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集する参加募集部と、
前記コンテント提供装置が提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、前記参加募集部が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する情報通知部と、
前記コンテント提供装置が提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、前記参加募集部が受け付けたユーザが使用するクライアント装置に割り当てるコントローラ制御部を含むことを特徴とするユーザ編成装置。
【請求項２】
前記コンテント提供装置が提供するコンテントの実行画面を、前記ネットワークを介して公開する公開部と、
前記公開部が公開する実行画面を閲覧中のユーザを特定する閲覧ユーザ特定部をさらに含み、
前記参加募集部は、前記閲覧ユーザ特定部が特定したユーザに対して参加募集を通知することを特徴とする請求項１に記載のユーザ編成装置。
【請求項３】
前記コントローラ制御部は、参加を募集したコンテントの熟練度が高いユーザが使用するクライアント装置に、熟練度が低いユーザが使用するクライアント装置よりも優先的に仮想のコントローラポートを割り当てることを特徴とする請求項１または２に記載のユーザ編成装置。
【請求項４】
前記コントローラ制御部は、前記主催者クライアント装置からの指示により、仮想のコントローラポートを割り当てるクライアント装置を変更することを特徴とする請求項１から３のいずれかに記載のユーザ編成装置。
【請求項５】
前記コンテント提供装置が提供するコンテントはゲームコンテントであり、
前記熟練度情報は、ゲームコンテントの提供を受けた回数、ゲームコンテントの提供を受けた時間、ゲームコンテントの得点、ゲームコンテントでクリアしたステージ、および前記コンテント提供装置から取得した勲章の数の、少なくともいずれかひとつの情報であることを特徴とする請求項１から４のいずれかに記載のユーザ編成装置。
【請求項６】
ネットワークを介して、複数のクライアント装置に同一のコンテントを共有して実行させるクラウドコンピューティングシステムの計算リソースが実行するユーザ編成方法であって、
前記クラウドコンピューティングシステムに接続する前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集するステップと、
前記クラウドコンピューティングシステムが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知するステップと、
前記クラウドコンピューティングシステムが提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、参加が受け付けられたユーザが使用するクライアント装置に割り当てるステップを含むことを特徴とするユーザ編成方法。
【請求項７】
ネットワークを介して、複数のクライアント装置に同一のコンテントを共有して実行させるクラウドコンピューティングシステムの計算リソースに、ユーザ編成機能を実現させるためのプログラムであって、
前記ユーザ編成機能は、
前記クラウドコンピューティングシステムに接続する前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集する機能と、
前記クラウドコンピューティングシステムが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する機能と、
前記クラウドコンピューティングシステムが提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、参加が受け付けられたユーザが使用するクライアント装置に割り当てる機能を含むことを特徴とするプログラム。
【請求項８】
複数のクライアント装置と、ネットワークを介して前記複数のクライアント装置にコンテントを提供する複数の計算リソースを持つクラウドコンピューティングシステムであって、
前記ネットワークを介して前記複数のクライアント装置に同一のコンテントを共有して実行させる仮想コンソールと、
前記ラウドコンピューティングシステムが提供するコンテントを操作するための入力信号を取得して前記仮想コンソールに出力する仮想コントローラポートと、
前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、コンテント提供部が提供するコンテントへの参加を希望するユーザを募集する参加募集部と、
前記仮想コンソールが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部と、
前記ユーザ情報格納部を参照して、前記参加募集部が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する情報通知部と、
前記仮想コントローラポートを、前記参加募集部が受け付けたユーザが使用するクライアント装置に割り当てるコントローラ制御部を含むことを特徴とするクラウドコンピューティングシステム。
【請求項９】
前記コントローラ制御部が、コンテントの提供途中においてコントローラポートをクライアント装置に割り当てるとき、前記仮想コンソールは、コンテントの提供を妨げることなく、新たに割り当てられてコントローラポートからの入力信号を取得することを特徴とする請求項８に記載のクラウドコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザ編成装置、ユーザ編成方法、およびクラウドコンピューティングシステムに関する。
【背景技術】
【０００２】
近年、インターネットをはじめとするネットワークの通信技術が急速に発達し、ユーザがネットワークを経由して様々なコンテントの提供を受ける、いわゆるクラウドサービスが提供されるようになってきた。クラウドサービスを利用することにより、ユーザ自身がコンテントを実現するためのアプリケーションプログラムを所持していなくても、そのコンテントを利用することが可能となる。
【０００３】
また、近年のコンピュータ技術の進化は著しいものがある。例えばゲームアプリケーションのような計算コストのかかるコンテントは、過去においては実行のために専用のハードウェアを必要としたが、近年ではソフトウェアでそのハードウェアを模倣してゲームアプリケーションを実行する、いわゆるゲームエミュレータであっても実用に耐えるようになってきた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ゲームエミュレータをクラウドサービスで提供することによって、ゲームコンソールを仮想化することができる。複数のユーザがネットワークを介して仮想化されたゲームコンソールに接続することにより、ユーザが物理的に同一の場所に集まらなくても、ひとつのコンテントを共有してプレイすることが可能となる。ネットワークを介して対戦やチーム戦等の協働プレイが可能となると、協働プレイに参加可能なユーザの数も大きくなる。そのため、ネットワークを介してコンテントを共有してプレイするユーザを管理する技術が求められている。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、クラウドコンピューティングシステムが提供するコンテントを共有してプレイするユーザ群を管理する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様はユーザ編成装置である。この装置は、ネットワークを介して複数のクライアント装置に同一のコンテントを共有して実行させるコンテント提供装置に接続する、前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集する参加募集部と、前記コンテント提供装置が提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、前記参加募集部が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する情報通知部と、前記コンテント提供装置が提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、前記参加募集部が受け付けたユーザが使用するクライアント装置に割り当てるコントローラ制御部を含む。
【０００７】
本発明の別の態様は、ネットワークを介して、複数のクライアント装置に同一のコンテントを共有して実行させるクラウドコンピューティングシステムの計算リソースが実行するユーザ編成方法である。この方法は、前記クラウドコンピューティングシステムに接続する前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集するステップと、前記クラウドコンピューティングシステムが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知するステップと、前記クラウドコンピューティングシステムが提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、参加が受け付けられたユーザが使用するクライアント装置に割り当てるステップを含む。
【０００８】
複数のクライアント装置と、ネットワークを介して前記複数のクライアント装置にコンテントを提供する複数の計算リソースを持つクラウドコンピューティングシステムである。このシステムは、前記ネットワークを介して前記複数のクライアント装置に同一のコンテントを共有して実行させる仮想コンソールと、前記ラウドコンピューティングシステムが提供するコンテントを操作するための入力信号を取得して前記コンテント提供部に出力する仮想コントローラポートと、前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、コンテント提供部が提供するコンテントへの参加を希望するユーザを募集する参加募集部と、前記コンテント提供部が提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部と、前記ユーザ情報格納部を参照して、前記参加募集部が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する情報通知部と、前記仮想のコントローラポートを、前記参加募集部が受け付けたユーザが使用するクライアント装置に割り当てるコントローラ制御部を含む。
【０００９】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、クラウドコンピューティングシステムが提供するコンテントを共有してプレイするユーザ群を管理する技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】クラウドコンピューティングシステムの概観を説明する図である。
【図２】実施の形態に係るクラウドコンピューティングシステムの機能構成を模式的に示す図である。
【図３】実施の形態に係るユーザ情報格納部のデータ構造の一例を模式的に示す図である。
【図４】実施の形態に係る参加募集部が生成する参加ユーザ募集のための告知画面の一例を示す図である。
【図５】実施の形態に係るコントローラプール内のデータ構造の一例を模式的に示す図である。
【図６】実施の形態に係る仮想コントローラポートに割り当てるクライアント装置を管理するための管理テーブルを模式的に示す図である。
【図７】実施の形態に係る公開部が公開する公開画面の一例を示す図である。
【図８】実施の形態に係るクラウドコンピューティングシステムの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
実施の形態の概要を述べる。実施の形態に係るユーザ編成装置は、仮想化されたコンソールで実行されるコンテントを複数のユーザで共有して実行することを望む主催者からの参加要請に応じたユーザを管理する。具体的には、ユーザ編成装置は、主催者の参加要請に応じたユーザの中から、募集人数分のユーザを選択してそれらのユーザにコンテントをコントロールするためのコントローラポートを割り当てる。
【００１３】
以下、実施の形態に係るクラウドコンピューティングシステムにおいて、専用のハードウェアで実行されることを前提として開発されたゲームコンテントをゲームエミュレータを用いて実行する場合について説明するが、コンテントの実行手段としてはゲームエミュレータを用いることに限られず、ゲームエミュレータを介さずにＰＣ（Personal Computer）のプロセッサが直接実行する場合なども本実施の形態に含まれることは当業者には理解されることである。また説明の便宜上、ゲームコンテントを実行する場合を例に説明するが、実行するコンテントはゲームに限られず、例えば画像編集ソフトやその他操作に専門的な知識を要するソフト等、ゲーム以外のジャンルのコンテントを実行する場合も本実施の形態に含まれる。
【００１４】
図１は、クラウドコンピューティングシステム１００の概観を説明する図である。図１においては、クライアント装置２００と総称する複数のクライアント装置２００のうち、クライアント装置２００ａと２００ｂが図示されている。クライアント装置２００はインターネット等のネットワーク３００を介して、複数のサーバ１０やデータベース１２と接続している。図１においては、複数のサーバ１０のうち、サーバ１０ａと１０ｂが図示されている。また、複数のデータベース１２のうち、データベース１２ａと１２ｂが図示されている。
【００１５】
図１は、ネットワーク３００を介してクライアント装置２００とサーバ１０等が接続している様子を図示しており、現実のシステム構成を模式的に図示するものである。しかしながら、クライアント装置２００を利用するユーザは、ネットワーク３００を含め、サーバ１０、データベース１２等のシステム構成を認識することはあまりない。クラウドコンピューティングシステム１００を利用するユーザの立場から見ると、サービスの提供を受ける上でクラウドコンピューティングシステム１００の物理構成やソフトウェア構成等を理解する必要はなく、あたかもネットワークの雲（Ｃｌｏｕｄ；クラウド）の中から出てきたサービスを利用するかのような印象を受ける。
【００１６】
クライアント装置２００は、ほとんどの場合ＣＰＵ（Central Processing Unit）等の計算リソースを持っており、アプリケーションの少なくとも一部をクライアント装置２００のローカルな環境で実行することも可能である。しかしながら、クライアント装置２００を利用するユーザにとっては、アプリケーションがローカルな計算リソースで実行されるか、あるいはネットワーク上のクラウドコンピューティングシステム１００の計算リソースで実行されるかは重要な問題ではなく、サービスを利用できるという点では同じである。したがって、本明細書において、「クラウドコンピューティングシステムの計算リソース」あるいは単に「計算リソース」という場合、クライアント装置２００の計算リソースとクラウドコンピューティングシステム１００のサーバ１０等の計算リソースの少なくともいずれか一方を意味することとする。
【００１７】
図２は、実施の形態に係るクラウドコンピューティングシステム１００の機能構成を模式的に示す図である。クラウドコンピューティングシステム１００は、データベース１２、ユーザ編成装置４００、およびコンテント提供装置６００を含む。なお、データベース１２、ユーザ編成装置４００、およびコンテント提供装置６００は、それぞれ一群の機能を便宜的にまとめたものである。したがって、データベース１２、ユーザ編成装置４００、およびコンテント提供装置６００が提供する機能は、物理的にひとつの装置によって実現されてもよいし、複数の異なる装置の協働によって実現されてもよい。
【００１８】
コンテント提供装置６００はさらに、仮想コンソール６１０と仮想コントローラポート６２０を含む。仮想コンソール６１０は、コンテント格納部１４に格納されたコンテントを実行する。仮想コンソール６１０は、例えばクラウドコンピューティングシステム１００の計算リソースが実行するエミュレータによって実現できる。なお、コンテント格納部１４の詳細は後述する。
【００１９】
前述したように、近年のコンピュータ技術の進化は著しいものがある。例えばゲームコンテントのような計算コストのかかるコンテントは、過去においては実行のために専用のハードウェアを必要としたが、近年ではソフトウェアでそのハードウェアを模倣してゲームコンテントを実行する、いわゆるゲームエミュレータであっても実用に耐えるようになってきた。このようなエミュレータをクラウドコンピューティングシステム１００の計算リソースが実行することにより、コンソールを仮想化することが可能となる。クラウドコンピューティングシステム１００を利用するユーザは、コンテントやそのコンテントを実行するための専用のハードウェアを所持していなくても、仮想コンソール６１０にアクセスすることができればコンテントの提供を受けられる。
【００２０】
コンソールを仮想化することにより、仮想コンソール６１０が提供するコンテントを操作するための入力信号が入力されるコントローラポートも仮想化することができる。仮想コントローラポート６２０は、計算リソースが実行するソフトウェアによって仮想化されたコントローラポートであり、仮想コンソール６１０は、仮想コントローラポート６２０から入力される各種操作信号に応じてコンテントを実行する。
【００２１】
コンソールとコントローラポートを仮想化することによって、複数のユーザが物理的に同じ場所に集まらなくても、コンテント提供装置６００を介してひとつのコンテントを共有することが可能となる。ネットワーク上に分散して存在する複数のユーザがチームに分かれて、対戦ゲームをユーザが入れ替わりながら行ったり、一人用のコンテントを複数のユーザで交代しながら実行したりすることが実現できる。
【００２２】
過去に開発されたゲームコンテントの数は膨大であるため、それらのコンテントは専用のサーバおよびデータベースで管理するのが適切である。このためデータベース１２は、データベース管理部１８、コンテント格納部１４、およびユーザ情報格納部１６をさらに含む。多くのコンテントをネットワーク上のサーバやデータベースで管理することにより、ユーザにとっては、多くの選択肢から所望のゲームアプリケーションの提供を受けることができる。クラウドコンピューティングシステム１００の運営管理者にとっては、過去に開発したゲームコンテントを再利用して新たなビジネスを生み出すことができる。
【００２３】
コンテント格納部１４は、コンテント提供装置６００がネットワーク３００を介してクライアント装置２００に提供するコンテントを格納する。前述したように、コンテント提供装置６００は、コンテント格納部１４からユーザに提供するためのコンテントを取得し、取得したコンテントを計算リソースが実行する。
【００２４】
ユーザ情報格納部１６は、コンテント提供装置６００が過去にいずれかのクライアント装置２００に提供したコンテントと、そのコンテントの提供に関する情報を紐付けて格納する。ここで、「コンテントの提供に関する情報」とは、例えばコンテントに関する人気度を反映する情報およびコンテントの提供を受けたユーザの、そのコンテントに関する熟練度を反映する情報である。現在コンテントの提供を受けているユーザを特定する情報も、コンテントの提供に関する情報に含まれる。
【００２５】
「コンテントに関する人気度を反映する情報」とは、例えば各コンテントについてそのコンテントをいずれかのユーザに提供した回数や提供した時間の総計である。ユーザに人気のあるコンテントは多くのユーザによって実行されるため、提供回数や提供時間は多くなると考えられる。したがって、コンテントの提供回数や提供時間は、そのコンテントに関する人気度を反映する情報となる。
【００２６】
「コンテントの提供を受けたユーザのそのコンテントに関する熟練度を反映する情報」とは、例えばコンテントの提供を受けたことのあるユーザそれぞれの提供回数や提供時間である。特定のコンテントについての提供回数の多いユーザやコンテントの実行時間が長いユーザは、そのコンテントに慣れている可能性が高いと考えられる。したがって、特定のユーザにおける特定のコンテントの提供回数や提供時間は、そのユーザのそのコンテントに関する熟練度を反映する情報となる。
【００２７】
データベース管理部１８は、コンテント格納部１４およびユーザ情報格納部１６に格納された情報を管理する。具体的に、データベース管理部１８は、コンテント提供装置６００に提供するコンテントをコンテント格納部１４から取得したり、ユーザ編成装置４００（詳細は後述する）から取得したユーザ情報をユーザ情報格納部１６に格納したりする。
【００２８】
図３は、実施の形態に係るユーザ情報格納部１６のデータ構造の一例を模式的に示す図である。コンテント格納部１４に格納され、コンテント提供装置６００が提供する各コンテントには、コンテントを一意に特定するためのコンテントＩＤ（IDentification）が割り当てられている。ユーザ情報格納部１６は、コンテントＩＤ毎に、そのコンテントを提供したことのあるユーザを特定するユーザ情報を格納する。ここで「ユーザ情報」とは、例えばユーザ毎に一意に割り当てられているユーザＩＤである。
【００２９】
ユーザ情報格納部１６には、コンテント提供装置６００が提供するコンテントと、そのコンテントを提供したユーザを特定する情報と、そのユーザの提供したコンテントに関する熟練度を示唆する熟練度情報を紐付けて格納する。ユーザ情報格納部１６にはさらに、コンテントを提供したことのあるユーザの現在のステータスが格納されている。「ユーザの現在のステータス」とは、ユーザが現在クラウドコンピューティングシステム１００にログオン中か否か、ログオン中であればどのコンテントの提供を受けているかを示す情報である。
【００３０】
図２の説明に戻る。ユーザ編成装置４００はさらに、公開部４１０、閲覧ユーザ特定部４２０、参加募集部４３０、情報通知部４４０、コントローラ制御部４５０、およびコントローラプール４６０を含む。
【００３１】
複数のユーザが同一のコンテントを共有して実行する場合、複数のクライアント装置２００がネットワーク３００を介してクライアント装置２００に接続する。参加募集部４３０は、複数のクライアント装置２００の内のひとつである主催者クライアント装置からの通知を契機として、共有して実行するコンテントへの参加を希望するユーザを募集する。
【００３２】
ここで「主催者クライアント装置」とは、例えば共有して実行しようとするコンテントの提供をはじめに受けたクライアント装置２００である。主催者クライアント装置を使用するユーザは、いわばチームのリーダとなり、参加ユーザの募集、参加ユーザの選択、および仮想コンソール６１０の参加ユーザへの割り当ての権限を有する。以下、本明細書において、主催者クライアント装置を使用するユーザを、単に「主催ユーザ」と呼ぶことがある。
【００３３】
情報通知部４４０は、データベース管理部１８を介してユーザ情報格納部１６を参照する。情報通知部４４０は、参加募集部４３０が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を主催者クライアント装置に通知する。これにより、主催ユーザは、募集に応じたユーザの熟練度を知ることができる。以下、本明細書において、主催ユーザの募集に応じて参加するユーザを、単に「参加ユーザ」と呼ぶことがある。
【００３４】
コントローラプール４６０は、参加募集部４３０が受け付けた、参加を希望するユーザのユーザ情報を格納する。コントローラ制御部４５０は、仮想コントローラポート６２０を、コントローラプール４６０にユーザ情報が格納されたユーザが使用するクライアント装置２００に割り当てる。これにより、参加ユーザの使用するクライアント装置２００からの入力信号が仮想コンソール６１０に入力され、参加ユーザがコンテントを操作することが可能となる。
【００３５】
例えば主催ユーザが、サッカーゲームのようなチームによる対戦ゲームを主催する場合を考える。主催ユーザは第１チームとして主催ユーザを含めて４人のユーザを募集し、第１チームの対戦相手である第２チームとしてさらに別の４人のユーザを募集するとする。なお、サッカーゲームは通常１チーム１１人であるため、各チームのうち４人の選手はユーザが操作し、残りの７人の選手はプログラムによって自動で操作されるＮＰＣ（Non Player Character）となる。
【００３６】
情報通知部４４０は、募集に応じたユーザのサーカーゲームに関する熟練度を主催者クライアント装置に通知する。主催ユーザは、通知された各ユーザの熟練度を参照して、参加ユーザを決定することができる。コントローラ制御部４５０は、主催ユーザの決定にしたがって仮想コントローラポート６２０を割り当てる。これにより、主催ユーザは、熟練度にばらつきのないバランスのとれたチームを構成することが可能となる。また、仮想コンソール６１０が実行するプログラムによって自動で操作されるＮＰＣの熟練度を、ユーザの熟練度に合わせて調整することもできる。
【００３７】
主催ユーザに選ばれず、仮想コントローラポート６２０に割り当てられなかったユーザのユーザ情報は、コントローラプール４６０に格納される。主催ユーザは、サッカーゲームのプレイ中に、ある参加ユーザをコントローラプール４６０に格納されている別のユーザと交代することもできる。これは、コントローラ制御部４５０が、主催ユーザからの指示により、仮想コントローラポート６２０を割り当てるクライアント装置２００を変更することで実現できる。この場合、主催ユーザは仮想コンソール６１０にゲームを一時停止した後に、コントローラ制御部４５０に仮想コントローラポート６２０への割り当てを変更させる。
【００３８】
あるいは、仮想コントローラポート６２０への割り当ての変更を完了するまで、その仮想コントローラポート６２０の操作対象の選手をＮＰＣとすることによって、参加ユーザを変更してもよい。これは、仮想コンソール６１０が実行するプログラムが、仮想コントローラポート６２０に参加ユーザが割り当てられていない間、操作対象の選手をＮＰＣとするように制御することで実現できる。これにより、コントローラ制御部４５０が、コンテントの提供途中において仮想コントローラポート６２０をクライアント装置２００に割り当てるとき、仮想コンソール６１０は、コンテントの提供を妨げることなく、新たに割り当てられて仮想コントローラポート６２０からの入力信号を取得することが実現できる。
【００３９】
別の例として、主催ユーザが、いわゆるシューティングゲームのコンテントをプレイする場合を考える。このシューティングゲームは、主催ユーザが操作対象のキャラクタを操作して、障害物や敵キャラの攻撃を避けつつ、敵キャラを撃破することを目的とする一人用のゲームであるとする。
【００４０】
主催ユーザがシューティングゲームを進めるうちに、主催ユーザの熟練度では撃破することが難しいボスキャラが出現したため、主催ユーザが他のユーザに代理してもらうことを希望したとする。この場合、主催ユーザは、参加募集部４３０を介して主催ユーザの代理で操作する参加ユーザを募集する。不特定多数の応募者の中には熟練度が低いにも関わらず、冷やかし半分で応募する者がいないとも限らない。このため、主催ユーザは、情報通知部４４０から通知された募集に応じたユーザの熟練度を見ることにより、代理として信頼しうる参加ユーザを選択することが可能となる。
【００４１】
別の状況として、主催ユーザが何らかのゲームをプレイ中に、呼び鈴や電話による呼び出しがあったり、トイレに行きたくなったりする等、短時間ではあるが、急遽プレイを継続できなくなった場合を考える。このような場合、主催ユーザは、仮想コンソール６１０にゲームを一時停止させるとともに、参加募集部４３０を介して代理ユーザを募集する。コントローラ制御部４５０は、参加募集部４３０が受け付けた参加ユーザの数が募集枠よりも多い場合、参加を募集したコンテントの熟練度が高いユーザが使用するクライアント装置２００に、熟練度が低いユーザが使用するクライアント装置２００よりも優先的に仮想コントローラポート６２０を割り当てる。コントローラ制御部４５０がいずれかのユーザが使用するクライアント装置２００に仮想コントローラポート６２０を割り当てると、仮想コンソール６１０はゲームを再開する。これにより、参加ユーザが主催ユーザの代理としてゲームを継続することができる。
【００４２】
コントローラ制御部４５０が、募集に応じたユーザの熟練度をもとに参加ユーザを決定するため、主催ユーザは、参加募集部４３０に参加者を募集させた時点でクライアント装置２００の操作を中断することができる。これにより、主催ユーザは、突発的に発生した所用に迅速に対応することができる。図示はしないが、コンテントの実行画面中に緊急募集を告知するための専用の「緊急参加告知アイコン」を用意してもよい。主催ユーザがそのアイコンを押下することで、ゲームの一時停止、参加者の募集、および仮想コントローラポートの割り当てまでの一連の処理をユーザ編成装置４００が実行するようにしてもよい。
【００４３】
公開部４１０は、コンテント提供装置６００が提供するコンテントの実行画面を、ネットワーク３００を介して閲覧可能な態様で公開する。クラウドコンピューティングシステム１００のユーザは、ネットワーク３００を介して公開部４１０が公開する、他のユーザが現在提供を受けているコンテントの実行画面をリアルタイムに閲覧することができる。閲覧ユーザ特定部４２０は、公開部４１０が公開する実行画面を閲覧中のユーザを特定する。具体的には、閲覧ユーザ特定部４２０は、公開部４１０が公開する実行画面を閲覧中のユーザのユーザＩＤを取得する。
【００４４】
主催ユーザが現在提供を受けているコンテントの実行画面を閲覧しているユーザは、そのコンテントに関心があるユーザである場合が多いと考えられる。このため、主催ユーザが現在提供を受けているコンテントの実行画面を閲覧しているユーザは、そのコンテントの経験者であることも期待しうる。そこで参加募集部４３０は、閲覧ユーザ特定部４２０が特定したユーザに対して参加募集を通知するようにしてもよい。これにより、不特定多数のユーザの母集団の中から、コンテントの経験者であるユーザ、すなわち熟練度の高いユーザが含まれることが期待できるユーザの母集団に対し、参加ユーザを募集することができる。
【００４５】
図４は、実施の形態に係る参加募集部４３０が生成する参加ユーザ募集のための告知画面４３２の一例を示す図である。参加募集部４３０は、図４に示す告知画面４３２を、例えば主催ユーザが現在提供を受けているコンテントの実行画面を閲覧中のユーザにネットワーク３００を介して通知する。告知画面４３２は、参加募集部４３０から通知を受けたユーザが使用するクライアント装置２００の表示部（図示せず）に表示される。図４に示すように、告知画面４３２には、対象となるコンテントのタイトル名や、ユーザの募集枠が表示される。
【００４６】
告知画面４３２を受け取ったユーザは、主催ユーザからの募集に応じる場合、その旨を伝えるためのインタフェースである応募アイコン４３４を押下する。ユーザが応募アイコン４３４を押下すると、そのユーザのユーザ情報がネットワーク３００および参加募集部４３０を介してコントローラプール４６０に格納される。告知画面４３２を受け取ったユーザが主催ユーザからの募集に応じない場合、やめるアイコン４３６を押下することにより、告知画面４３２を閉じることができる。
【００４７】
図５は、実施の形態に係るコントローラプール４６０内のデータ構造の一例を模式的に示す図である。説明の便宜のため、仮想コントローラポート６２０が４人のユーザにそれぞれ割り当てるための第１から第４までの４つのポートを用意する場合を想定する。第１から第４までのコントローラポートを識別するために、それぞれのポートに固有のコントローラポートＩＤを割り当てる。図５においては、４つのコントローラポートＩＤはそれぞれ「１Ｐ」、「２Ｐ」、「３Ｐ」、および「４Ｐ」で表現されている。
【００４８】
各コントローラポートＩＤには、その仮想コントローラポート６２０に割り当てられる参加ユーザの候補となるユーザのユーザＩＤが紐付けられて格納される。図５においては、ユーザＩＤは「ＵＩＤ」と５桁の数字との組み合わせで表現されている。各ユーザＩＤには、そのユーザの募集の対象となったコンテントに対する熟練度が紐付けて格納される。熟練度は、コントローラ制御部４５０がデータベース管理部１８を介してユーザ情報格納部１６から取得してコントローラプール４６０に格納する。図５においては、熟練度は非負整数で数値化されており、数値が大きいほど熟練していることを意味している。熟練度の数値化方法は、例えばコンテントの提供回数やコンテントの提供を受けた時間等を反映するように実験により定めればよい。
【００４９】
図６は、実施の形態に係る仮想コントローラポート６２０に割り当てるクライアント装置２００を管理するための管理テーブル６２２を模式的に示す図である。管理テーブル６２２は、例えば仮想コントローラポート６２０の図示しない一時メモリに格納されている。図６に示すように、管理テーブル６２２は、コントローラポートＩＤと各仮想コントローラポート６２０に割り当てられたクライアント装置２００を使用するユーザのユーザＩＤが紐付けられて格納されている。仮想コントローラポート６２０は、管理テーブル６２２を参照することによって、各仮想コントローラポート６２０に割り当てられたクライアント装置２００を認識することが可能となる。
【００５０】
図７は、実施の形態に係る公開部４１０が公開する公開画面４１２の一例を示す図である。図４に示すように、公開画面４１２には、主催ユーザが現在提供を受けているコンテントの実行画面４１４を閲覧中のユーザからのコメントを表示するための、コミュニケーションインタフェース４１６が用意されている。これにより、実行画面４１４を閲覧するユーザの間でコミュニケーションを促進することができる。公開画面４１２には、実行画面４１４を閲覧中のユーザが、主催者ユーザが実行するコンテントに参加することを希望する旨を伝えるためのインタフェースである参加希望アイコン４１８も用意されている。ユーザがマウス等のユーザインタフェースを用いて参加希望アイコン４１８を押下すると、その旨が主催者ユーザが使用するクライアント装置２００に通知される。主催者ユーザが参加を了承すれば、両者のマッチングが行われ、ネットワーク３００を介してコンテントを通じた両者の協働プレイが実現される。
【００５１】
図８は、実施の形態に係るクラウドコンピューティングシステム１００の処理の流れを示すフローチャートである。本フローチャートにおける処理は、主催ユーザがコンテントの提供を受けている間、繰り返し実行される。
【００５２】
参加募集部４３０は、主催ユーザからの指示を契機として、コンテントを共有でプレイするチームに参加する参加ユーザを募集する（Ｓ２）。情報通知部４４０は、主催者ユーザの募集に応じたユーザの、プレイ対象となるコンテントの熟練度をユーザ情報格納部１６から取得する（Ｓ４）。
【００５３】
情報通知部４４０は、ユーザ情報格納部１６から取得した各ユーザの熟練度を、主催ユーザが使用するクライアント装置２００に通知する（Ｓ６）。コントローラ制御部４５０は、主催者ユーザの募集に応じたユーザの使用するクライアント装置２００に、仮想コントローラポート６２０を割り当てる（Ｓ８）。
【００５４】
以上の構成による動作は以下のとおりである。実施の形態に係るクラウドコンピューティングシステム１００のユーザである主催ユーザからの指示を契機として、参加募集部４３０がネットワーク３００上に、コンテントへの参加者を募集する告知画面４３２を公開する。コントローラプール４６０は、告知画面４３２を閲覧して主催ユーザの募集に応じたユーザのユーザ情報を格納する。
【００５５】
コントローラ制御部４５０は、主催ユーザの指示、または参加対象となるコンテントに対するユーザの熟練度をもとに参加ユーザを選択する。コントローラ制御部４５０は、選択した参加ユーザが使用するクライアント装置２００に、仮想コントローラポート６２０を割り当てる。これにより、ユーザ編成装置４００は、仮想コントローラポート６２０を割り当てるべき複数の参加ユーザの候補を管理することができる。
【００５６】
以上説明したように、本発明の実施形態によれば、クラウドコンピューティングシステム１００が提供するコンテントを共有してプレイするユーザ群を管理する技術を提供することができる。
【００５７】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
［変形例１］
【００５８】
上記で説明した実施の形態に係るコンテント提供装置６００が提供するコンテントは、ゲームコンテントである場合について説明した。コンテント提供装置６００は、ユーザ間のコミュニケーションの活性化や競争心を刺激するために、特定のユーザに「メダル」を授与するようにしてもよい。ここで「メダル」とは、いわばクラウドコンピューティングシステム１００内の勲章であり、例えば他のユーザとのゲームの対戦に勝利したユーザが、対戦相手のユーザから取得することによって増やすことができる。または、コンテントにおいて所定のスコア以上のスコアを獲得ユーザにメダルが授与される。
【００５９】
ユーザのコンテントに対する熟練度を示唆する熟練度情報は、ゲームコンテントの提供を受けた回数やゲームコンテントの提供を受けた時間のみならず、ゲームコンテントで取得した得点、ゲームコンテントでクリアしたステージ、およびコンテント提供装置６００から取得したメダルの数の、少なくともいずれかひとつの情報であってもよい。特にゲームコンテントで取得した得点、ゲームコンテントでクリアしたステージ、および取得したメダルの数は、そのコンテントの熟練度を直接反映すると考えられるため、熟練度情報として採用することは好ましい。
【符号の説明】
【００６０】
１０  サーバ、  １２  データベース、  １４  コンテント格納部、  １６  ユーザ情報格納部、  １８  データベース管理部、  １００  クラウドコンピューティングシステム、  ２００  クライアント装置、  ３００  ネットワーク、  ４００  ユーザ編成装置、  ４１０  公開部、  ４１２  公開画面、  ４１４  実行画面、  ４１６  コミュニケーションインタフェース、  ４１８  参加希望アイコン、  ４２０  閲覧ユーザ特定部、  ４３０  参加募集部、  ４３２  告知画面、  ４３４  応募アイコン、  ４３６  やめるアイコン、  ４４０  情報通知部、  ４５０  コントローラ制御部、  ４６０  コントローラプール、  ６００  コンテント提供装置、  ６１０  仮想コンソール、  ６２０  仮想コントローラポート、  ６２２  管理テーブル。
【図１】
2013094386.tif 000003
【図２】
2013094386.tif 000004
【図３】
2013094386.tif 000005
【図４】
2013094386.tif 000006
【図５】
2013094386.tif 000007
【図６】
2013094386.tif 000008
【図７】
2013094386.tif 000009
【図８】
2013094386.tif 000010
【手続補正書】
【提出日】平成24年8月20日(2012.8.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して複数のクライアント装置に同一のコンテントを共有して実行させるコンテント提供装置に接続する、前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集する参加募集部と、
前記コンテント提供装置が提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、前記参加募集部が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する情報通知部と、
前記コンテント提供装置が提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、前記参加募集部が受け付けたユーザが使用するクライアント装置に割り当てるコントローラ制御部を含むことを特徴とするユーザ編成装置。
【請求項２】
前記コンテント提供装置が提供するコンテントの実行画面を、前記ネットワークを介して公開する公開部と、
前記公開部が公開する実行画面を閲覧中のユーザを特定する閲覧ユーザ特定部をさらに含み、
前記参加募集部は、前記閲覧ユーザ特定部が特定したユーザに対して参加募集を通知することを特徴とする請求項１に記載のユーザ編成装置。
【請求項３】
前記コントローラ制御部は、参加を募集したコンテントの熟練度が高いユーザが使用するクライアント装置に、熟練度が低いユーザが使用するクライアント装置よりも優先的に仮想のコントローラポートを割り当てることを特徴とする請求項１または２に記載のユーザ編成装置。
【請求項４】
前記コントローラ制御部は、前記主催者クライアント装置からの指示により、仮想のコントローラポートを割り当てるクライアント装置を変更することを特徴とする請求項１から３のいずれかに記載のユーザ編成装置。
【請求項５】
前記コンテント提供装置が提供するコンテントはゲームコンテントであり、
前記熟練度情報は、ゲームコンテントの提供を受けた回数、ゲームコンテントの提供を受けた時間、ゲームコンテントの得点、ゲームコンテントでクリアしたステージ、および前記コンテント提供装置から取得した勲章の数の、少なくともいずれかひとつの情報であることを特徴とする請求項１から４のいずれかに記載のユーザ編成装置。
【請求項６】
ネットワークを介して、複数のクライアント装置に同一のコンテントを共有して実行させるクラウドコンピューティングシステムの計算リソースが実行するユーザ編成方法であって、
前記クラウドコンピューティングシステムに接続する前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集するステップと、
前記クラウドコンピューティングシステムが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知するステップと、
前記クラウドコンピューティングシステムが提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、前記募集に応じて参加を希望したユーザのうち前記主催者クライアント装置からの指示または当該ユーザの前記熟練度情報をもとに選択されて参加が受け付けられたユーザが使用するクライアント装置に割り当てるステップを含むことを特徴とするユーザ編成方法。
【請求項７】
ネットワークを介して、複数のクライアント装置に同一のコンテントを共有して実行させるクラウドコンピューティングシステムの計算リソースに、ユーザ編成機能を実現させるためのプログラムであって、
前記ユーザ編成機能は、
前記クラウドコンピューティングシステムに接続する前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、前記共有して実行するコンテントへの参加を希望するユーザを募集する機能と、
前記クラウドコンピューティングシステムが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部を参照して、参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する機能と、
前記クラウドコンピューティングシステムが提供するコンテントを操作するための入力信号が入力される仮想のコントローラポートを、前記募集に応じて参加を希望したユーザのうち前記主催者クライアント装置からの指示または当該ユーザの前記熟練度情報をもとに選択されて参加が受け付けられたユーザが使用するクライアント装置に割り当てる機能を含むことを特徴とするプログラム。
【請求項８】
複数のクライアント装置と、ネットワークを介して前記複数のクライアント装置にコンテントを提供する複数の計算リソースを持つクラウドコンピューティングシステムであって、
前記ネットワークを介して前記複数のクライアント装置に同一のコンテントを共有して実行させる仮想コンソールと、
前記クラウドコンピューティングシステムが提供するコンテントを操作するための入力信号を取得して前記仮想コンソールに出力する仮想コントローラポートと、
前記複数のクライアント装置の内のひとつである主催者クライアント装置からの通知を契機として、コンテント提供部が提供するコンテントへの参加を希望するユーザを募集する参加募集部と、
前記仮想コンソールが提供するコンテントと、当該コンテントを提供したユーザを特定する情報と、当該ユーザの前記コンテントに関する熟練度を示唆する熟練度情報を紐付けて格納するユーザ情報格納部と、
前記ユーザ情報格納部を参照して、前記参加募集部が受け付けた参加を希望するユーザそれぞれについて、参加を募集したコンテントの熟練度情報を取得し、取得した熟練度情報を前記主催者クライアント装置に通知する情報通知部と、
前記仮想コントローラポートを、前記参加募集部が受け付けたユーザが使用するクライアント装置に割り当てるコントローラ制御部を含むことを特徴とするクラウドコンピューティングシステム。
【請求項９】
前記コントローラ制御部が、コンテントの提供途中においてコントローラポートをクライアント装置に割り当てるとき、前記仮想コンソールは、コンテントの提供を妨げることなく、新たに割り当てられたコントローラポートからの入力信号を取得することを特徴とする請求項８に記載のクラウドコンピューティングシステム。