(57)【特許請求の範囲】
【請求項１】
メインシステムと、
前記メインシステムとは独立してタスクを実行可能なサブシステムとを備え、
前記メインシステムは、前記サブシステムが独立して実行する独立タスクを、前記サブシステムに設定し、
前記サブシステムは、ネットワークを介して外部機器との間でデータのやりとりをするための入出力インタフェースを備え、前記メインシステムが休止状態であっても、前記メインシステムにより予め設定された独立タスクを前記メインシステムに代わって実行し、
前記メインシステムが休止状態であるときに、ネットワークを介して外部機器から本情報処理装置が備えるコンテンツを遠隔で利用する要求があった場合、前記サブシステムは、要求元の外部機器に前記コンテンツの処理を実行させ、
前記メインシステムが休止状態であるときに前記要求があった場合であって、かつ、前記コンテンツを処理する負荷が所定値より大きい場合には、前記サブシステムは、休止中の前記メインシステムを起こして稼働状態にさせ、前記メインシステムに前記コンテンツの処理を実行させることを特徴とする情報処理装置。
【請求項２】
前記サブシステムが実行する前記独立タスクは、所定の予約時間帯において特定のユーザによる前記情報処理装置の使用を予約するための予約タスクを含み、
前記サブシステムは、前記予約タスクによって設定された予約時間帯において、前記特定のユーザ以外の他のユーザによる前記情報処理装置の使用を禁止することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メインシステムは、前記情報処理装置のユーザアカウントを管理するオペレーティングシステムを実行し、前記情報処理装置が実行するタスクの実行権限は、前記ユーザアカウントに紐付けられており、
前記メインシステムは、前記独立タスクにおけるユーザアカウントの実行権限を、当該独立タスクに設定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記ユーザアカウントは、当該ユーザアカウントのユーザ情報と紐付けられており、
前記サブシステムは、前記ユーザ情報をもとに、前記独立タスクの実行の許可、実行の制限、または実行の禁止を制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記メインシステムが実行するオペレーティングシステムは、前記外部機器に紐付けられているリモートアカウントも管理し、
前記メインシステムは、前記リモートアカウントに紐付けられている独立タスクの実行権限をもとに、前記外部機器が遠隔で前記サブシステムに接続して実行させる独立タスクの実行権限を設定することを特徴とする請求項２から４のいずれかに記載の情報処理装置。
【請求項６】
前記サブシステムは、前記情報処理装置のユーザとは異なる他のユーザの情報処理装置からの要求に応じて、前記情報処理装置のために実行するタスクである代理タスクを実行可能であり、
前記メインシステムは、前記サブシステムが実行する代理タスクを管理することを特徴とする請求項１から５のいずれかに記載の情報処理装置。
【請求項７】
メインシステムと、前記メインシステムとは独立してタスクを実行可能なサブシステムとを備える情報処理装置において、前記サブシステムが独立して実行する独立タスクを前記サブシステムに設定するステップを前記メインシステムのプロセッサが実行し、
前記サブシステムは、ネットワークを介して外部機器との間でデータのやりとりをするための入出力インタフェースを備え、前記メインシステムが休止状態であっても、前記メインシステムにより予め設定された独立タスクを前記メインシステムに代わって実行し、
前記メインシステムが休止状態であるときに、ネットワークを介して外部機器から当該情報処理装置が備えるコンテンツを遠隔で利用する要求があった場合、前記サブシステムのプロセッサが、要求元の外部機器に前記コンテンツの処理を実行させ、
前記メインシステムが休止状態であるときに前記要求があった場合であって、かつ、前記コンテンツを処理する負荷が所定値より大きい場合には、前記サブシステムのプロセッサが、休止中の前記メインシステムを起こして稼働状態にさせ、前記メインシステムに前記コンテンツの処理を実行させるステップを実行することを特徴とする情報処理方法。
【請求項８】
メインシステムと、前記メインシステムとは独立してタスクを実行可能なサブシステムとを備える情報処理装置に、前記サブシステムが独立して実行する独立タスクを前記サブシステムに設定する機能を前記メインシステムに実現させ、
前記サブシステムは、ネットワークを介して外部機器との間でデータのやりとりをするための入出力インタフェースを備え、前記メインシステムが休止状態であっても、前記メインシステムにより予め設定された独立タスクを前記メインシステムに代わって実行し、
前記メインシステムが休止状態であるときに、ネットワークを介して外部機器から当該情報処理装置が備えるコンテンツを遠隔で利用する要求があった場合、要求元の外部機器に前記コンテンツの処理を実行させる機能を前記サブシステムに実現させ、
前記メインシステムが休止状態であるときに前記要求があった場合であって、かつ、前記コンテンツを処理する負荷が所定値より大きい場合には、休止中の前記メインシステムを起こして稼働状態にさせ、前記メインシステムに前記コンテンツの処理を実行させる機能を前記サブシステムに実現させることを特徴とするプログラム。
【請求項９】
メインシステムと、前記メインシステムとは独立してタスクを実行可能なサブシステムとを備える情報処理装置に、前記サブシステムが独立して実行する独立タスクを前記サブシステムに設定する機能を前記メインシステムに実現させ、
前記サブシステムは、ネットワークを介して外部機器との間でデータのやりとりをするための入出力インタフェースを備え、前記メインシステムが休止状態であっても、前記メインシステムにより予め設定された独立タスクを前記メインシステムに代わって実行し、
前記メインシステムが休止状態であるときに、ネットワークを介して外部機器から当該情報処理装置が備えるコンテンツを遠隔で利用する要求があった場合、要求元の外部機器に前記コンテンツの処理を実行させる機能を前記サブシステムに実現させ、
前記メインシステムが休止状態であるときに前記要求があった場合であって、かつ、前記コンテンツを処理する負荷が所定値より大きい場合には、休止中の前記メインシステムを起こして稼働状態にさせ、前記メインシステムに前記コンテンツの処理を実行させる機能を前記サブシステムに実現させるプログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法に関し、特に、メインシステムとサブシステムとの２つの情報処理機構を備える情報処理装置と、当該情報処理装置が実行する情報処理方法に関する。
【背景技術】
【０００２】
近年、ＰＣ（Personal Computer）やゲーム機等の情報処理装置の高性能化が急速に進行している。これらの情報処理装置の中には、情報処理装置を統括的に制御するためのオペレーティングシステム（Operating System、以下「ＯＳ」と記載する。）や、各種アプリケーションを実行するメインシステムの他に、サブシステムを備えるものも存在する。このようなサブシステムは、メインシステムとは独立して動作させても十分な性能を有する場合もあり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本願の発明者は、ある程度の処理性能を有するサブシステムを備える情報処理装置において、そのようなサブシステムをメインシステムとは独立に動作可能にすることの有用性について認識するに至った。
【０００４】
本発明はこうした課題に鑑みてなされたものであり、その目的は、メインシステムとサブシステムとを有する情報処理装置のサブシステムを有効利用するための技術を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様の情報処理装置は、メインシステムと、メインシステムとは独立してタスクを実行可能なサブシステムとを備える。メインシステムは、サブシステムが独立して実行する独立タスクを、サブシステムに設定する。
【０００６】
本発明の別の態様は、情報処理方法である。この方法は、メインシステムと、メインシステムとは独立してタスクを実行可能なサブシステムとを備える情報処理装置において、サブシステムが独立して実行する独立タスクをサブシステムに設定するステップをメインシステムのプロセッサが実行する。
【０００７】
本発明のさらに別の態様は、上記の方法の各ステップをコンピュータに実現させるプログラムである。
【０００８】
このプログラムは、ビデオやオーディオ、ゲーム機器等のハードウェア資源の基本的な制御を行なうために機器に組み込まれるファームウェアの一部として提供されてもよい。このファームウェアは、たとえば、機器内のＲＯＭ（Read Only Memory）やフラッシュメモリなどの半導体メモリに格納される。このファームウェアを提供するため、あるいはファームウェアの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によればメインシステムとサブシステムとを有する情報処理装置のサブシステムを有効利用するための技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態に係る情報処理システムの一例を模式的に示す図である。
【図２】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図３】ユーザアカウントとユーザ情報とを管理するためのユーザ管理テーブルのデータ構造を模式的に示す図である。
【図４】独立タスクとその権限とを管理するための独立タスク管理テーブルのデータ構造を模式的に示す図である。
【図５】メインシステムの予約状況を管理する予約管理タイムテーブルのデータ構造を模式的に示す図である。
【図６】他者に対して提供するサブシステムの空きリソースを提供するか否かを設定するためのＧＵＩの一例を示す図である。
【図７】他者に対して提供するサブシステムの空きリソースを提供するか否かを設定するためのＧＵＩの別の例を示す図である。
【図８】コンテンツとそのレーティングを管理するためのレーティング管理テーブルのデータ構造を模式的に示す図である。
【発明を実施するための形態】
【００１２】
図１は、実施の形態に係る情報処理システム１の一例を模式的に示す図である。実施の形態係る情報処理システム１は、情報処理装置１００および１以上の外部機器２００を備える。詳細は後述するが、情報処理装置１００はメインシステム１１０とサブシステム１２０とを備える。また限定はしないが、一例として、情報処理装置１００は据え置き型のゲーム機やＰＣ、Ｂｌｕ−ｒａｙ／ＤＶＤレコーダ、テレビ等である。
【００１３】
図１では、第１外部機器２００ａ、第２外部機器２００ｂ、第３外部機器２００ｃ、および第４外部機器２００ｄの４つの外部機器が例示されている。しかしながら、外部機器の数は４つに限られず、４つより多くても少なくてもよい。また、以下特に区別する場合を除き、第１外部機器２００ａ、第２外部機器２００ｂ、第３外部機器２００ｃ、および第４外部機器２００ｄを総称して「外部機器２００」と記載する。外部機器２００は、情報処理装置１００とは異なる機器である。限定はしないが、一例として、外部機器は携帯ゲーム機、スマートフォン、タブレット、ファブレット、携帯電子辞書、携帯テレビ、あるいはメガネ型や時計型などの各種ウェアラブルコンピュータである。
【００１４】
図１に示すように、情報処理装置１００はネットワーク３００を介してサーバ４００と接続されている。ネットワーク３００は、例えばインターネット等のＷＡＮ（Wide Area Network）である。第１外部機器２００ａ、第２外部機器２００ｂ、および第３外部機器２００ｃは、情報処理装置１００と、例えばＷｉ-Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信ネットワークで接続するが、第４外部機器２００ｄは、ネットワーク３００を介して情報処理装置１００と接続している。
【００１５】
情報処理装置１００は、後述するメインプロセッサや記憶装置を備え、種々のアプリケーションソフトウェアを実行する。また、情報処理装置１００は様々な周辺機器と接続可能である。図示はしないが、情報処理装置１００は光学ディスクドライブを備え、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、Ｂｌｕ−ｒａｙ（登録商標）ディスク等の光学ディスクが格納する情報を読み出すことができる。情報処理装置１００はまたＵＳＢ（Universal Serial Bus）ポートを備え、ＵＳＢを介して図示しないカメラやキーボード等と接続することができる。情報処理装置１００はさらに、図示しないＷｉ−ＦｉやＢｌｕｅｔｏｏｔｈ等の近距離無線通信モジュールを備え、対応する周辺機器と無線で通信することもできる。
【００１６】
この他、情報処理装置は、図示しないＬＡＮ（Local Area Network）ポートを介して有線で、あるいは上述した無線通信モジュールを介して無線でネットワーク３００に接続し、情報をやりとりすることができる。さらに、情報処理装置１００はＩＥＥＥ１３９４端子、ＭＩＤＩ（Musical Instrument Digital Interface）端子等を介して周辺機器と接続できるようにしてもよい。
【００１７】
図２は、実施の形態に係る情報処理装置１００の内部構成を模式的に示す図である。実施の形態に係る情報処理装置１００は、少なくとも、メインシステム１１０、サブシステム１２０、および記憶装置１３０を備える。なお図２は、実施の形態に係る情報処理装置１００を実現するための構成を示しており、その他の構成は省略している。
【００１８】
本明細書において「周辺機器」は、例えば情報処理装置１００とは異なるハードウェアであって、情報処理装置１００と接続して使用する機器のことをいう。情報処理装置１００の周辺機器は種々存在するが、例えば、表示装置やコントローラ、キーボード、光学ディスクドライブ、カメラの他、マウス等のポインティングデバイス、ネットワーク機器、記憶装置、メモリカード、プリンタ、スピーカ等があげられる。
【００１９】
図２において記憶装置１３０は周辺機器のひとつであり、メインシステム１１０やサブシステム１２０を含む情報処理装置１００を統括的に制御するためのＯＳや、その他のアプリケーションプログラムおよびデータを格納する。記憶装置１３０は、例えばＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の既知の大容量記憶装置を用いて実現される。
【００２０】
メインシステム１１０は、メインメモリ１１２、メインプロセッサ１１４、およびＧＰＵ（Graphics Processing Unit）１１６を備える。サブシステム１２０はメインシステム１１０と接続する。サブシステム１２０は、サブメモリ１２２、サブプロセッサ１２４、および入出力インタフェース１２６を備える。
【００２１】
メインプロセッサ１１４はＣＰＵで実現されており、メインメモリ１１２上に格納されたプログラムを実行し、種々のデータを処理する。メインメモリ１１２はＤＲＡＭやＳＲＡＭによって実現され、メインシステム１１０の主記憶装置として機能する。ＧＰＵは、ＣＰＵが実行および処理する情報のうち、特に画像処理に特化したプロセッサである。メインプロセッサ１１４が例えばゲームアプリケーション用のプログラムを実行するとき、ＧＰＵ１１６はゲームの背景やポリゴンのレンダリング等を担当する。このように、メインシステム１１０は高い計算能力を備え、多くの計算量が要求されるアプリケーションプログラムであっても実行することができる。一方で、メインシステム１１０は消費電力が多く、発熱も大きい傾向にある。
【００２２】
サブプロセッサ１２４はメインプロセッサ１１４と接続され、サブプロセッサ１２４とメインプロセッサ１１４はデータ通信をすることができる。サブプロセッサ１２４もメインプロセッサ１１４と同様に、ＣＰＵによって実現される。このため、サブプロセッサ１２４はサブメモリ１２２上に格納されたプログラムを実行し、種々のデータを処理することができる。以下本明細書において、情報処理装置１００のメインシステム１１０のメインプロセッサ１１４またはサブシステム１２０のサブプロセッサ１２４が、アプリケーションプログラムを実行してデータ処理をすることを「タスクを実行する」のように記載することがある。また、これらのプロセッサが処理すべき対象を、「タスク」と記載することがある。
【００２３】
サブシステム１２０は、メインシステム１１０と連携して、メインシステム１１０を補助するために動作することができる。例えば、サブシステム１２０は入出力インタフェース１２６を備えているため、メインシステム１１０に代わって各種周辺機器との間のデータの流れを制御する入出力コントローラとして機能する。図２に示す例では、入出力インタフェース１２６は図示しないネットワークインタフェースを備え、ルータ等を介してネットワーク３００との間でデータをやり取りすることができる。また、入出力インタフェース１２６は図示しないＳＡＴＡ（Serial ATA）等のインタフェースも備え、大容量記憶装置である記憶装置１３０との間でデータをやり取りすることができる。
【００２４】
サブシステム１２０はまた、メインシステム１１０とは独立してタスクを実行可能である。以下本明細書において、サブシステム１２０がメインシステムとは独立して実行するタスクを「独立タスク」と記載することがある。例えばメインシステム１１０のリソースが何らかのタスクの処理で埋まっている場合や、メインシステム１１０が休止状態の場合は、メインシステム１１０は別のタスクを実行できないことがある。このような場合、サブシステム１２０はメインシステム１１０から独立して、データをネットワーク３００からダウンロードしたり、記憶装置１３０との間にデータを書き込んだりするタスクを実行することができる。この独立タスクは、情報処理装置１００を利用中のユーザには見えない「バックグラウンド処理」として実行することもできる。
【００２５】
サブシステム１２０はメインシステム１１０とは独立して独立タスクを実行可能であるが、独立タスクの設定は、メインシステム１１０の制御下にある。具体的には、サブシステム１２０が実行する独立タスクは、メインシステム１１０がサブシステム１２０に設定し、サブシステム１２０が単独で独立タスクを設定することは禁止される。これにより、メインシステム１１０のタスク処理とサブシステム１２０のタスク処理との実行時における独立性を保ちつつ、タスクの管理はメインシステム１１０が集約して一元管理することができる。タスク管理の煩雑性が緩和され、セキュリティを向上できる効果がある。
【００２６】
図３は、ユーザアカウントとユーザ情報とを管理するためのユーザ管理テーブルのデータ構造を模式的に示す図である。図３に示すユーザ管理テーブルは、例えば記憶装置１３０に格納されている。
【００２７】
上述したように、実施の形態に係る情報処理装置１００のメインシステム１１０は、情報処理装置１００の動作を統括的に制御するためのＯＳを実行する。このＯＳは、情報処理装置１００を使用するユーザのユーザアカウントを管理する。情報処理装置１００のユーザアカウントにはそれぞれ、各ユーザアカウントと一対一に対応づけられたアカウント識別子が付与されている。
【００２８】
図３に示すように、各ユーザアカウントには、当該ユーザアカウントのユーザ情報が紐付けられている。ここで「ユーザ情報」は、ユーザアカウントのユーザの属性を示す情報である。図３に示す例では、ユーザ情報はユーザ名、アカウント権限、および年齢を含むが、これらに限られるものではない。この他にも、ユーザの性別、職業、学歴、趣味、好物、使用頻度が高いアプリケーションを特定するためのアプリケーション識別子、結婚の有無、出身地、国籍、誕生日、現住所、電話番号、メールアドレス、クレジットカードの番号等、ユーザに関連する情報であればどのような情報であってもよい。
【００２９】
ユーザ情報のひとつである「アカウント権限」は、ユーザが情報処理装置１００に対してどのような操作ができるかを規定する情報である。アカウント権限には、例えば情報処理装置１００に対する全ての操作が許可される「管理者」権限や、情報処理装置１００の設定変更が禁止される「一般」権限、情報処理装置１００に対する多くの操作が禁止され、一部のプログラムの実行のみが許可される「ゲスト」権限等があるが、これらに限定されない。図３に示す例では、アカウント識別子がＵＩＤ０００１で特定されるユーザ１のアカウント権限は「管理者」であり、アカウント識別子がＵＩＤ０００２で特定されるユーザ２のアカウント権限は「一般」である。
【００３０】
ここで実施の形態に係るメインシステム１１０は、独立タスクを設定する際に、ユーザアカウントの実行権限を、当該独立タスクに紐付けて設定する。例えばある独立タスクは、メインシステム１１０が休止している夜間等にサブシステム１２０がタイマーで起動して実行するタスクであるとする。このとき、サブシステム１２０は、独立タスクに設定された実行権限の範囲内において、そのタスクを実行する。具体的には、例えば入出力インタフェース１２６を介したネットワーク３００へのアクセスは、管理者権限には許可されているが一般権限には許可されていないとする。この場合、もし独立タスクに設定された実行権限が一般権限であるとするなら、サブシステム１２０はネットワーク３００にアクセスする必要のある独立タスクは実行できない。
【００３１】
図４は、独立タスクとその権限とを管理するための独立タスク管理テーブルのデータ構造を模式的に示す図である。独立タスク管理テーブルは、例えば記憶装置１３０に格納されている。
【００３２】
実施の形態に係る情報処理装置１００では、ユーザがユーザアカウントを用いて情報処理装置１００にログインすると、独立タスクを設定したり、すでに設定されている独立タスクの設定を変更したりすることができるようになる。ユーザが独立タスクを新たに設定するとき、メインシステム１１０は、独立タスク管理テーブルに独立タスクを追加する。なお、独立タスク管理テーブルは、記憶装置１３０の記憶領域のうち、メインプロセッサ１１４が発行した読み出し命令以外の書き込みが禁止される領域に格納されてもよい。これにより、独立タスクの設定や設定変更がメインシステム１１０のみに許可され、サブシステム１２０には許可されないことを担保することができる。
【００３３】
図４に示すように独立タスク管理テーブルには、設定されている独立タスクそれぞれについて、当該タスクを実行することができるか否かを定める実行権限が設定されている。この実行権限は、情報処理装置１００にログインしているユーザのユーザアカウントに紐付けられている。すなわち、メインシステム１１０は、独立タスクにおけるユーザアカウントの実行権限を、当該独立タスクに設定する。例えば図４に示す例では、管理者権限を持つユーザ１が設定した独立タスク１には、管理者権限が紐付けられる。同様に、一般権限を持つユーザ２が設定した独立タスク２には、一般権限が紐付けられる。
【００３４】
ここで上述したように、実施の形態に係る情報処理装置１００は、近距離通信またはネットワーク３００を介して情報処理装置１００とは異なる１以上の外部機器２００と接続することが可能である。情報処理装置１００は、外部機器２００からリモート操作を受け付けることができる。これを実現するために、メインシステム１１０が実行するＯＳは、外部機器２００それぞれに紐付けられているリモートアカウントも管理する。
【００３５】
具体的には、外部機器２００はそれぞれ、ログインの際にユーザに要求するユーザアカウントを備えている。メインシステム１１０は、外部機器２００のユーザアカウントと、図３を参照して上述したアカウント識別子の対応表（不図示）を記憶装置１３０に格納して管理している。この対応表における外部機器２００のユーザアカウントが、メインシステム１１０が管理するリモートアカウントとなる。
【００３６】
メインシステム１１０は、近距離通信またはネットワーク３００を介して外部機器２００からアクセスがあると、その外部機器２００を操作するユーザのユーザアカウントをリモートアカウントとして取得する。メインシステム１１０は、リモートアカウントに紐付けられているユーザアカウントの実行権限を、そのリモートアカウントの実行権限とする。メインシステム１１０は、リモートアカウントに紐付けられている独立タスクの実行権限をもとに、外部機器２００が遠隔でサブシステム１２０に接続して実行させる独立タスクの実行権限を設定する。
【００３７】
外部機器２００が近距離通信またはネットワーク３００を介して情報処理装置１００を利用するシーンの一例として、リモートプレイがある。ここで「リモートプレイ」とは、情報処理装置１００が備えるコンテンツ（例えばゲームや映画、音楽等のコンテンツ）を、情報処理装置１００とは異なる外部機器２００から遠隔で利用することである。
【００３８】
例えば、あるユーザが外部機器２００を使用して、ネットワーク３００を介して情報処理装置１００でゲームアプリケーションをリモートプレイする場合を考える。情報処理装置１００のメインシステム１１０が稼働中の場合、ゲームの進行や描画処理は、メインプロセッサ１１４またはＧＰＵ１１６が処理する。サブプロセッサ１２４は、メインシステム１１０の処理結果を入出力インタフェース１２６を介して外部機器２００に送信する。外部機器２００は、情報処理装置１００から取得した処理結果を表示し、ユーザの操作情報（例えば、コントローラの押下情報等）を、情報処理装置１００に送信する。メインプロセッサ１１４は、取得した操作情報をもとに、ゲームを進行させる。
【００３９】
一方、情報処理装置１００のメインシステム１１０が休止中の場合、メインプロセッサ１１４およびＧＰＵ１１６は稼働できない。この場合、外部機器２００は、メインシステム１１０とは通信せずに、サブシステム１２０のサブプロセッサ１２４と通信して、リモートプレイを実行する。
【００４０】
メインシステム１１０が稼働中の場合、外部機器２００が表示すべきアプリケーションの実行画面はメインシステム１１０中のＧＰＵ１１６が作成する。このため、外部機器２００のＧＰＵ（不図示）は、ＧＰＵ１１６が生成した画像を単に表示するだけである。一方、メインシステム１１０が休止中の場合、外部機器２００が表示すべきアプリケーションの実行画面は外部機器２００中のＧＰＵ１１６自身が作成する。
【００４１】
このように、メインシステム１１０が休止中のときにリモートプレイを実行する場合、外部機器２００は、負荷の大きい描画処理を実行する。このため、例えば外部機器２００がバッテリで動作しているような場合には、外部機器２００のバッテリの消費が早くなりうる。このため、ユーザによっては、負荷の大きい描画処理をメインシステム１１０中のＧＰＵ１１６に実行させることを望むかもしれない。
【００４２】
そこで、サブシステム１２０のサブプロセッサ１２４は、外部機器２００からの要求により、休止中のメインシステム１１０を起こして稼働状態とすることができるようにしてもよい。これにより、リモートプレイ時に負荷の大きい処理をメインシステム１１０に実行させることができ、外部機器２００の電力消費を抑制することができる。また、リモートプレイ時の処理の負荷が外部機器２００のリソースに対して大きい場合には、サブシステム１２０は、外部機器２００からの要求の有無に関わらず、メインシステム１１０を稼働状態としてもよい。これにより、外部機器２００を用いてリモートプレイを実行するユーザに対してより快適な処理環境を提供することができる。
【００４３】
このように、情報処理装置１００のメインシステム１１０が休止している場合であっても、サブプロセッサ１２４が仲介することにより、外部機器２００から情報処理装置１００が格納しているコンテンツを実行することができる。
【００４４】
情報処理装置１００がリモートプレイを実行するとき、情報処理装置１００のリソース（メインシステム１１０およびサブシステム１２０）は外部機器２００に実質的に占有される。この場合、情報処理装置１００は、２以上の異なる外部機器２００に対し、同時にリモートプレイを提供することはできない。また、いずれかの外部機器２００がリモートプレイ中には、他のユーザは、情報処理装置１００をローカルで使用することもできない。逆も同様であり、あるユーザが情報処理装置１００をローカルで使用しているときには、他のユーザは外部機器２００からリモートプレイすることができない。したがって、２以上のユーザまたは外部機器２００がひとつの情報処理装置１００に対して使用の要求があった場合に、いずれの外部機器２００に情報処理装置１００を使用させるかを決定するための指針があると便利である。
【００４５】
そこで実施の形態に係る情報処理装置１００は、情報処理装置１００の予約機能を有する。この予約機能は、サブシステム１２０の独立タスクとして実現される。すなわち、サブシステム１２０が実行する種々の独立タスクには、所定の予約時間帯において特定のユーザによるメインシステム１１０の使用を予約するための予約タスクが含まれる。これにより、情報処理装置１００のメインシステム１１０が休止している場合であっても、外部機器２００からリモートプレイの予約を受け付けることができる。
【００４６】
図５は、メインシステム１１０の予約状況を管理する予約管理タイムテーブルのデータ構造を模式的に示す図である。実施の形態に係る情報処理装置１００においては、予約管理タイムテーブルは記憶装置１３０に格納されている。サブシステム１２０が実行する予約タスクは、情報処理装置１００のユーザおよび情報処理装置１００リモートプレイ可能な外部機器２００それぞれと、リモートプレイをする年月日および時間帯とを対応づけて、予約管理タイムテーブルに格納する。サブシステム１２０は、予約タスクによって設定された予約時間帯においては、その予約をしたユーザまたは外部機器２００以外のユーザまたは外部機器２００による情報処理装置１００の使用を禁止する。
【００４７】
図示はしないが、図５において予約されたタスクそれぞれには、上述した実行権限が紐付けられている。予約されたタスクに紐付けられた実行権限よりも強い実行権限を持つユーザは、予約されたタスクの変更および取り消しをすることができる。例えば、一般ユーザが予約したタスクを、一般権限よりも強い権限である管理者権限を持つユーザは、変更および取り消しが可能である。一方、予約されたタスクに紐付けられた実行権限と同等の権限またはそれよりも低い権限のユーザは、その予約の変更および取り消しをすることはできない。
【００４８】
これにより、２以上のユーザまたは外部機器２００が、情報処理装置１００の使用を同時に要求する事態を未然の抑制することができる。また、同種の権限を持つユーザによって予約が書き換えられることが禁止されるため、予約システムとしての機能を担保することができる。一方で、強い権限を持ったユーザは予約を変更および取り消しすることができるため、特定のユーザが予約によって情報処理装置１００の使用を占拠するような事態に対処することができる。したがって、例えばある家庭に設置されたゲーム機の使用予約を一人の兄弟が占拠し、別の兄弟が利用できないというような状況の時、管理者である両親が調停するといったことが可能となる。
【００４９】
以上、予約管理タイムテーブルによる情報処理装置１００のタスク管理について説明した。これはいわば、時間に基づいたタスク実行可否の決定処理である。この他にも、ユーザアカウントに紐付けられたユーザ情報に基づいて、タスク実行の可否を決定することもできる。以下この場合について説明する。
【００５０】
ある家庭に設置されたゲーム機である情報処理装置１００において、両親のユーザアカウントが管理者権限を持ち、子供のユーザアカウントが一般アカウントであるような場合を考える。このような場合、両親は子供達による情報処理装置１００の使用時間を管理したいと考えるかもしれない。このため、サブシステム１２０は、ユーザアカウントに紐付けられているユーザ情報をもとに、独立タスクの実行の許可、実行の制限、または実行の禁止を制御する機能を有する。
【００５１】
具体的には、情報処理装置１００における管理者権限を持つユーザは、ユーザアカウント毎に、「パレンタルレベル」を設定できる。ここで「パレンタルレベル」とは、管理権限を持つユーザが、権限レベルの低いユーザによる情報処理装置１００を実行可能な時間を規定する情報である。限定はしないが、パレンタルレベルの具体例としては、ユーザの年齢情報があげられる。図示はしないが、ユーザの年齢と、１日に情報処理装置１００を実行可能な時間の上限値とを紐付けたパレンタル情報を、記憶装置１３０に格納しておく。
【００５２】
サブシステム１２０は、このパレンタル情報を読み出し、あるユーザがパレンタルレベルを超えて情報処理装置１００を使用した場合、その実行を禁止する。またサブシステム１２０は、あるユーザがパレンタルレベルを超えた時間を予約しようとする場合には、パレンタルレベルの範囲内に収まるように予約時間を制限する。これにより、情報処理装置１００は、情報処理装置の使用時間の観点におけるパレンタルコントロールを実現することができる。なお、サブシステム１２０による上記のパレンタルコントロールも、独立タスクの一つとして実行される。
【００５３】
以上、実施の形態に係るサブシステム１２０が実行する独立タスクとして、リモートプレイおよび予約管理について説明した。以下では、独立タスクの別の利用シーンについて具体例を参照して説明する。
【００５４】
上記の独立タスクの例は、いずれも情報処理装置１００のユーザアカウントまたはリモートアカウントを持つユーザに提供するタスクの例である。この他、サブシステム１２０のリソースを、独立タスクとして、情報処理装置１００にアカウントを持たない他者に対してネットワーク３００を介して提供してもよい。このような独立タスクの例として、「ウェブラジオ」および「小規模マルチプレイヤサーバ」について説明する。
【００５５】
（ウェブラジオ録音）
ウェブラジオとは、ラジオ番組の音声情報をパケット化し、インターネットを介してラジオ番組を提供するサービスを言う。パケットを受信した情報処理装置１００は、パケットから音声情報を抽出することで、ラジオ番組を再生したり、録音したりすることができる。この処理はゲームコンテンツ等の実行と比較すると軽い処理であり、サブシステム１２０であっても余裕を持って処理することができる。
【００５６】
このため、情報処理装置１００は、インターネットを介して他の情報処理装置１００から、ウェブラジオの録音タスクの要求を受け付けることができる。録音タスクを受け付けた情報処理装置１００は、サブシステム１２０のリソースに余裕がある場合、他の情報処理装置１００に肩代わりしてウェブラジオを録音する。ここで他の情報処理装置１００は、同じ録音タスクを、複数の異なる情報処理装置１００に要求することができる。これにより、他の情報処理装置１００は一つの録音タスクを冗長化することができる。万が一、ある情報処理装置１００が録音タスクの処理に失敗したり、途中で中断したりすることがあっても、別の情報処理装置１００が同じ録音タスクを処理していれば、全体として録音タスクを完了することができる。これにより、情報処理装置１００は、録音タスクをより確実に実行することができるようになる。
【００５７】
（小規模マルチプレイヤサーバ）
他者に提供する独立タスクの別例として、サーバタスクがある。実施形態に係るサーバタスクは小規模マルチプレイヤサーバ機能を実現するタスクである。小規模マルチプレイヤサーバ機能は、少人数（例えば１０人程度）が共同または対戦するゲームをオンラインで提供する機能である。情報処理装置１００は、サブシステム１２０のリソースに余裕がある場合、サブシステム１２０にサーバタスクの実行を許可する。これにより、サブシステム１２０の空きリソースを、他者に対して提供することができる。
【００５８】
このように、実施の形態に係るサブシステム１２０は、他の情報処理装置１００からの要求に応じて、他の情報処理装置１００のためのタスクである代理タスクを実行することができる。代理タスクは独立タスクの一種であり、サブシステム１２０が実行する独立タスクは、メインシステム１１０の管理下にある。すなわち、メインシステム１１０は、サブシステム１２０に代理タスクを設定したり、既に設定されている代理タスクを修正したり、設定されている代理タスクを表示装置に表示させてユーザに提示したりする。
【００５９】
（独立タスク設定のＧＵＩ）
以上、情報処理装置１００にアカウントを持たない他者に対してサブシステム１２０のリソースを提供する場合について説明した。一方で、情報処理装置１００のリソースは、まず情報処理装置１００にアカウントを持つユーザが優先的に利用できることが好ましい。そのため、情報処理装置１００は、他者に対して提供するサブシステム１２０の空きリソースを提供するか否かを設定するためのＧＵＩ（Graphical User Interface）を提供する。このＧＵＩは、メインプロセッサ１１４が実行するＯＳの制御下で、ＧＰＵ１１６の計算リソースを用いて実現できる。
【００６０】
図６は、他者に対して提供するサブシステム１２０の空きリソースを提供するか否かを設定するためのＧＵＩの一例を示す図である。図６に示すＧＵＩを介して、情報処理装置１００のユーザは他者に対してサブシステム１２０のリソースを提供するか否かを、タスク毎に設定することができる。これにより、例えばユーザ自身が情報処理装置１００を利用する予定がある場合などは、いつでも他者に対するサブシステム１２０のリソースの提供を中止することができる。
【００６１】
また図６に示すように、ＧＵＩには、他者に提供するタスク毎に、サブシステム１２０に要求される計算パワー（リソース）が示されている。これにより、ユーザは他者に提供するタスク毎に、サブシステム１２０にかかる負荷を一見して把握することができる。
【００６２】
図７は、他者に対して提供するサブシステム１２０の空きリソースを提供するか否かを設定するためのＧＵＩの別の例を示す図である。図７に示すＧＵＩの例では、情報処理装置１００のユーザは、まず他者に使用を許可する情報処理装置１００のリソースを設定する。この設定に応じて、設定されたリソースを用いて提供可能なサービスの一覧が、ＧＵＩに表示される。ユーザは表示されたサービスの一覧の中から、他のユーザに提供を許可するサービスを選択する。
【００６３】
これより、例えば情報処理装置１００のハードディスクである記憶装置１３０の記憶可能な容量が少なくなっている場合などには、ハードディスクを利用しないサービスのみを他のユーザに提供することができるようになる。情報処理装置１００のリソースの状況に応じて他者に提供するタスクを選択できる点で、情報処理装置１００のユーザのユーザビリティを向上させることができる。
【００６４】
以上説明したように、メインシステム１１０とサブシステム１２０とを有する情報処理装置１００のサブシステム１２０を有効利用するための技術を提供することができる。
【００６５】
特に、サブシステム１２０はメインシステム１１０の動作を補佐することが主要目的である場合には、サブシステム１２０の計算リソースに余裕がある場合も多いと考えられる。このようなサブシステム１２０の計算リソースの空きを、情報処理装置１００にユーザアカウントを持たない他のユーザのために提供することにより、サブシステム１２０を有効利用することができる。ネットワーク３００に接続する多くの情報処理装置１００が互いにサブシステム１２０の計算リソースの空きを提供し合うことにより、タスク実行の確実性を高めることが可能となる。
【００６６】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６７】
上記の説明では、「パレンタルレベル」は、管理権限を持つユーザが、権限レベルの低いユーザが情報処理装置１００を実行可能な時間を規定する情報である場合について説明した。「パレンタルレベル」が示す情報は実行可能時間を規定する情報に限られず、コンテンツ自体を実行可能か否かを規定する情報を含んでもよい。
【００６８】
ゲームや映画のようなコンテンツの中には、視聴対象年齢が定められているものも存在する。これはコンテンツの「レーティング」と呼ばれるものであり、第三者機関が各コンテンツについて対象年齢をレーティングするのが一般的である。そこでサブシステム１２０は、ユーザアカウントに紐付けられているユーザ情報の一つである「ユーザの年齢」をもとに、情報処理装置１００におけるコンテンツの実行の許可、実行の制限、または実行の禁止を制御してもよい。
【００６９】
図８は、コンテンツとそのレーティングを管理するためのレーティング管理テーブルのデータ構造を模式的に示す図である。レーティング管理テーブルは、記憶装置１３０に格納されている。
【００７０】
実施の形態に係る情報処理装置１００においては、例えばゲームコンテンツを実行するゲームアプリケーション毎に、そのアプリケーションを特定するアプリケーション識別子が付与されている。図８に示すように、レーティング管理テーブルには、アプリケーション識別子と、そのアプリケーションが実行するコンテンツのレーティングとを紐付けて格納している。図８に示す例において、例えば「レーティングＡ」は、全年齢を対象とするコンテンツであることを意味し、「レーティングＺ」は、１８歳以上を対象とするコンテンツであることを意味する。このように、コンテンツの対象年齢毎に、レーティングが定められている。
【００７１】
サブシステム１２０は、ユーザがコンテンツを実行する前に、記憶装置１３０からレーティング管理テーブルとそのユーザのユーザ情報とを読み出す。ユーザの年齢がコンテンツのレーティングに達していない場合、コンテンツの実行を禁止してもよい。またユーザの年齢がコンテンツのレーティングに達していない場合にコンテンツの実行を禁止するか否かは、情報処理装置１００の管理者権限を持つユーザが自由に設定できるようにしてもよい。これにより、実施の形態に係る情報処理装置１００は、コンテンツのレーティングに基づくパレンタルコントロールを実現することができる。
【符号の説明】
【００７２】
１  情報処理システム、  １００  情報処理装置、  １１０  メインシステム、  １１２  メインメモリ、  １１４  メインプロセッサ、  １１６  ＧＰＵ、  １２０  サブシステム、  １２２  サブメモリ、  １２４  サブプロセッサ、  １２６  入出力インタフェース、  １３０  記憶装置、  ２００  外部機器、  ３００  ネットワーク、  ４００  サーバ。
【図１】
0006285853.tif 000002
【図２】
0006285853.tif 000003
【図３】
0006285853.tif 000004
【図４】
0006285853.tif 000005
【図５】
0006285853.tif 000006
【図６】
0006285853.tif 000007
【図７】
0006285853.tif 000008
【図８】
0006285853.tif 000009