(57)【要約】      （修正有）【課題】高価な専用機を用いずに専用コンテンツを楽しむことができる情報処理システムを提供する。【解決手段】情報処理システム１０は、第１情報処理装置１２および汎用の第２情報処理装置１６を含む。第１情報処理装置１２は、表示装置およびアプリケーションプログラムを実行する機能を有していない。第２情報処理装置は、スマートフォンなどであり、表示装置およびアプリケーションプログラムを実行する機能を有している。第１情報処理装置は、ブロック毎に異なる暗号キーでアプリケーションプログラムを暗号した暗号化プログラムを第２情報処理装置に送信する。第２情報処理装置は、アプリケーションプログラムを実行するためのハードウェア環境をエミュレートし、暗号化プログラムの暗号をブロック毎に解除して、実行する。第１情報処理装置は、第２情報処理装置の要求に応じて、暗号を解除するブロックについての解除キーを第２情報処理装置に送信する。【選択図】図１
2014210126.tif 000002
【特許請求の範囲】
【請求項１】
第１情報処理装置、および表示部を有する汎用の第２情報処理装置を含む情報処理システムであって、
前記第１情報処理装置は、
アプリケーションプログラムを取得する取得部と、
前記取得部によって取得されたアプリケーションプログラムを前記第２情報処理装置に送信するプログラム送信部を備え、
前記第２情報処理装置は、
前記アプリケーションプログラム用の環境を模倣し、前記プログラム送信部によって送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有しない前記第１情報処理装置に代って実行するエミュレータ部と、
前記エミュレータ部による実行結果を前記表示部に表示する表示制御部を備える、情報処理システム。
【請求項２】
前記アプリケーションプログラムを記憶する記憶媒体をさらに含み、
前記第１情報処理装置は、前記記憶媒体に接続するための接続部をさらに備え、
前記取得部は、前記記憶媒体から前記アプリケーションプログラムを取得する、請求項１記載の情報処理システム。
【請求項３】
前記第２情報処理装置は、ネットワークと接続される通信部をさらに備え、
前記取得部は、前記通信部によって前記ネットワークから受信した前記アプリケーションプログラムを、前記第２情報処理装置から取得する、請求項１記載の情報処理システム。
【請求項４】
前記第１情報処理装置は、前記アプリケーションプログラムを暗号化する暗号化部と、暗号化された前記アプリケーションプログラムを解除する解除キーを生成する解除キー生成部と、前記解除キー生成部によって生成された解除キーを前記第２情報処理装置に送信する解除キー送信部をさらに備え、
前記プログラム送信部は、前記暗号化部によって暗号化された前記アプリケーションプログラムを前記第２情報処理装置に送信する、請求項１ないし３のいずれかに記載の情報処理システム。
【請求項５】
前記解除キー送信部は、前記エミュレータ部において前記アプリケーションプログラムを実行する場合に、前記解除キーを前記第２情報処理装置に送信する、請求項４記載の情報処理システム。
【請求項６】
前記暗号化部は、前記アプリケーションプログラムを、複数の部分の各々について互いに異なる解除キーで解除可能に暗号化し、
前記解除キー生成部は、前記複数の部分の各々について互いに異なる複数の解除キーを生成する、請求項４または５記載の情報処理システム。
【請求項７】
前記解除キー送信部は、前記複数の解除キーを一部ずつ継続的に送信する、請求項６記載の情報処理システム。
【請求項８】
前記第２情報処理装置は、前記エミュレータ部による前記アプリケーションプログラムの実行に応じた解除キーの要求を前記第１情報処理装置に対して行う解除キー要求部をさらに備え、
前記解除キー送信部は、前記第２情報処理装置からの要求に応じた解除キーを送信する、請求項４ないし７のいずれかに記載の情報処理システム。
【請求項９】
前記プログラム送信部は、前記解除キー送信部よりも通信速度が速い経路を用いて、前記暗号化されたアプリケーションプログラムを前記第２情報処理装置に送信する、請求項４ないし８のいずれかに記載の情報処理システム。
【請求項１０】
前記第１情報処理装置および前記第２情報処理装置は、有線および無線のそれぞれで通信可能に接続され、
前記プログラム送信部は、前記暗号化されたアプリケーションプログラムを前記有線で前記第２情報処理装置に送信し、
前記解除キー送信部は、前記解除キーを前記無線で前記第２情報処理装置に送信する、請求項４ないし８のいずれかに記載の情報処理システム。
【請求項１１】
前記エミュレータ部は、前記解除キー送信部からの前記解除キーを受信しなくなった場合に、前記アプリケーションプログラムの実行を停止する、請求項４ないし１０のいずれかに記載の情報処理システム。
【請求項１２】
前記解除キー送信部は、前記第２情報処理装置からの要求が誤っている場合に、前記解除キーの送信を停止する、請求項８記載の情報処理システム。
【請求項１３】
前記暗号化部は、前記第１情報処理装置に固有の識別情報を用いて、前記アプリケーションプログラムを暗号化する、請求項４ないし１２のいずれかに記載の情報処理システム。
【請求項１４】
前記第１情報処理装置は、
操作入力部、および
前記操作入力部からの操作データを前記第２情報処理装置に送信する操作データ送信部をさらに備える、請求項１ないし１３のいずれかに記載の情報処理システム。
【請求項１５】
前記第２情報処理装置は、前記第１情報処理装置よりも高い処理能力を有している、請求項１ないし１４のいずれかに記載の情報処理システム。
【請求項１６】
表示部と、
アプリケーションプログラム用の環境を模倣し、情報処理装置から送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有してない当該情報処理装置に代って実行するエミュレータ部と、
前記エミュレータ部による実行結果を前記表示部に表示する表示制御部を備える、汎用の他の情報処理装置と通信可能に接続される、情報処理装置であって、
前記アプリケーションプログラムを取得する取得部と、
前記取得部によって取得された前記アプリケーションプログラムを前記他の情報処理装置に送信するプログラム送信部を備える、情報処理装置。
【請求項１７】
表示部と、
アプリケーションプログラム用の環境を模倣し、情報処理装置から送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有してない当該情報処理装置に代って実行するエミュレータ部と、
前記エミュレータ部による実行結果を前記表示部に表示する表示制御部を備える、汎用の他の情報処理装置と通信可能に接続される、情報処理装置で実行される情報処理プログラムであって、
前記情報処理装置のコンピュータを、
前記アプリケーションプログラムを取得する取得部と、
前記取得部によって取得された前記アプリケーションプログラムを前記他の情報処理装置に送信するプログラム送信部として機能させる、情報処理プログラム。
【請求項１８】
表示部と、
アプリケーションプログラム用の環境を模倣し、情報処理装置から送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有してない当該情報処理装置に代って実行するエミュレータ部と、
前記エミュレータ部による実行結果を前記表示部に表示する表示制御部を備える、汎用の他の情報処理装置と通信可能に接続される、情報処理装置の情報処理方法であって、
前記情報処理装置のコンピュータは、
（ａ）前記アプリケーションプログラムを取得し、そして
（ｂ）前記ステップ（ａ）において取得した前記アプリケーションプログラムを前記他の情報処理装置に送信する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法に関し、特にたとえば、汎用の他の情報処理装置と通信可能に接続される情報処理装置を含む、情報処理システム、その情報処理装置および情報処理プログラム並びに情報処理方法に関する。
【背景技術】
【０００２】
この種の情報処理システムの一例が特許文献１に開示されている。この特許文献１のゲーム装置では、ＣＰＵは、着脱自在に接続されるカートリッジからゲームプログラムを読み込み、このゲームプログラムを実行して実行結果を表示装置に表示するようになっている。
【特許文献１】特開２００５−２０４７５５［A63F 13/00］
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、この背景技術では、ゲーム（ゲームプログラム）のようなコンテンツを楽しむためには、表示装置を搭載した高価な専用のゲーム機が必要であった。以下、ゲーム機のような専用の装置ないし機器で楽しむコンテンツを「専用コンテンツ」と呼ぶことにする。
【０００４】
それゆえに、この発明の主たる目的は、新規な、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【０００５】
また、この発明の他の目的は、高価な専用機を用いずに専用コンテンツを楽しむことができる、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
第１の発明は、第１情報処理装置、および表示部を有する汎用の第２情報処理装置を含む情報処理システムである。たとえば、第２情報処理装置は、スマートフォンやタブレットＰＣのような情報処理装置ないし電子機器である。第１情報処理装置は、取得部とプログラム送信部を備える。取得部は、アプリケーションプログラムを取得する。プログラム送信部は、取得部によって取得されたアプリケーションプログラムを第２情報処理装置に送信する。第２情報処理装置は、エミュレータ部と表示制御部を備える。エミュレータ部は、アプリケーションプログラム用の環境を模倣し、プログラム送信部によって送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有しない第１情報処理装置に代って実行する。つまり、第２情報処理装置は、アプリケーションプログラムを実行可能な他の専用機のハードウェア環境をエミュレートし、当該アプリケーションプログラムを実行する。表示制御部は、エミュレータ部による実行結果を表示部に表示する。したがって、第１情報処理装置は、表示部を備えていなくてよい。
【０００７】
第１の発明によれば、表示部を有する汎用の第２情報処理装置を用いるので、第１情報処理装置に表示装置を設ける必要がなく、第１情報処理装置の価格を出来る限り抑えることができる。
【０００８】
また、第１情報処理装置がアプリケーションプログラムを取得して、このアプリケーションプログラムを実行可能な他の専用機をエミュレートする第２情報処理装置に送信するので、第２情報処理装置で実行されるアプリケーションプログラムが限定されず、第２情報処理装置を用いて他の専用機の専用コンテンツを楽しむことができる。
【０００９】
第２の発明は、第１の発明に従属し、情報処理システムは、アプリケーションプログラムを記憶する記憶媒体をさらに含む。第１情報処理装置は、記憶媒体に接続するための接続部をさらに備える。したがって、取得部は、記憶媒体からアプリケーションプログラムを取得する。たとえば、メモリカードやディスクのような外部記憶媒体からアプリケーションプログラムが取得される。
【００１０】
第２の発明によれば、パッケージに収録された専用コンテンツを楽しむことができる。
【００１１】
第３の発明は、第１の発明に従属し、第２情報処理装置は、ネットワークと接続される通信部をさらに備える。したがって、取得部は、通信部によってネットワークから受信したアプリケーションプログラムを、第２情報処理装置から取得する。たとえば、インターネットのようなネットワークに接続し、所定のサーバからアプリケーションプログラムがダウンロードされる。
【００１２】
第３の発明によれば、ダウンロードされた専用コンテンツを楽しむことができる。
【００１３】
第４の発明は、第１ないし第３の発明のいずれかに従属し、第１情報処理装置は、アプリケーションプログラムを暗号化する暗号化部と、暗号化されたアプリケーションプログラムを解除する解除キーを生成する解除キー生成部と、解除キー生成部によって生成された解除キーを第２情報処理装置に送信する解除キー送信部をさらに備える。プログラム送信部は、暗号化部によって暗号化されたアプリケーションプログラムを第２情報処理装置に送信する。
【００１４】
第４の発明によれば、暗号化したアプリケーションプログラムと、その暗号を解除する解除キーを第２情報処理装置に送信するので、第２情報処理装置においてユーザがアクセスできないセキュアな領域にプログラムを記憶するようにすれば、著作権により保護されるような専用コンテンツを適切に扱うことができる。
【００１５】
第５の発明は、第４の発明に従属し、解除キー送信部は、エミュレータ部においてアプリケーションプログラムを実行する場合に、解除キーを第２情報処理装置に送信する。
【００１６】
第５の発明によれば、アプリケーションを実行するような必要な時に解除キーを送信するので、それ以外で、暗号化されたアプリケーションプログラムと解除キーとが揃うことが無いため、不正にアプリケーションプログラムを取得する機会を出来る限り減らすことができる。
【００１７】
第６の発明は、第４または第５の発明に従属し、暗号化部は、アプリケーションプログラムを、複数の部分の各々について互いに異なる解除キーで解除可能に暗号化し、解除キー生成部は、複数の部分の各々について互いに異なる複数の解除キーを生成する。
【００１８】
第６の発明によれば、セキュリティを向上させることができ、より適切に専用コンテンツを扱うことができる。
【００１９】
第７の発明は、第６の発明に従属し、解除キー送信部は、複数の解除キーを一部ずつ継続的に送信する。
【００２０】
第７の発明によれば、一部ずつ解除キーを送信するので、第２情報処理装置側で解除キーを上書きするようにすれば、暗号化したアプリケーションプログラムとすべての解除キーとが揃うことを回避することができる。
【００２１】
第８の発明は、第４ないし第７の発明のいずれかに従属し、第２情報処理装置は、エミュレータ部によるアプリケーションプログラムの実行に応じた解除キーの要求を第１情報処理装置に対して行う解除キー要求部をさらに備える。解除キー送信部は、第２情報処理装置からの要求に応じて解除キーを送信する。たとえば、第２情報処理装置側で順次部分毎のアプリケーションプログラムを実行する場合において、必要になるタイミングで解除キーの送信が要求される。
【００２２】
第８の発明によれば、必要に応じて解除キーを送信するので、解除キーが不正に取得されるのを防止できる。したがって、専用コンテンツを適切に扱うことができる。
【００２３】
第９の発明は、第４ないし第８の発明のいずれかに従属し、プログラム送信部は、解除キー送信部よりも通信速度が速い経路を用いて、暗号化されたアプリケーションプログラムを第２情報処理装置に送信する。つまり、データ量が多い暗号化されたアプリケーションプログラムについては、通信速度が速い経路が使用される。
【００２４】
第９の発明によれば、データの転送を高速に行うことができる。
【００２５】
第１０の発明は、第４ないし第８の発明のいずれかに従属し、第１情報処理装置および第２情報処理装置は、有線および無線のそれぞれで通信可能に接続され、プログラム送信部は、暗号化されたアプリケーションプログラムを有線で第２情報処理装置に送信し、解除キー送信部は、解除キーを無線で第２情報処理装置に送信する。つまり、データ量の多いアプリケーションプログラムは、通信速度が無線に比べて速い有線で送信される。一方、データ量が比較的少ない解除キーのデータは、無線で送信される。
【００２６】
第１０の発明によれば、データ量に応じて適切な方法で第２情報処理装置に暗号化されたアプリケーションプログラムおよび解除キーを送信することができる。
【００２７】
第１１の発明は、第４ないし第１０の発明のいずれかに従属し、エミュレータ部は、解除キー送信部からの解除キーを受信しなくなった場合に、アプリケーションプログラムの実行を停止する。たとえば、解除キーの送信を要求してから所定時間を経過しても解除キーを受信しない場合に、アプリケーションプログラムの実行が停止される。したがって、それ以降、解除キーの送信が要求されることがない。
【００２８】
第１１の発明によれば、たとえば、解除キーが不正に取得されるような意図しない不正な行為を防止することができる。
【００２９】
第１２の発明は、第８の発明に従属し、解除キー送信部は、第２情報処理装置からの要求が誤っている場合に、解除キーの送信を停止する。たとえば、第２情報処理装置は、必要な解除キーに関する情報とともに解除キーの送信を要求する。第１情報処理装置では、この解除キーに関する情報に誤りがある場合に、解除キーの送信を停止するのである。
【００３０】
第１２の発明においても、第１１の発明と同様に、意図しない不正な行為を防止することができる。
【００３１】
第１３の発明は、第４ないし第１２の発明のいずれかに従属し、暗号化部は、第１情報処理装置に固有の識別情報を用いて、アプリケーションプログラムを暗号化する。
【００３２】
第１３の発明によれば、第１情報処理装置に固有の識別情報を用いてアプリケーションプログラムを暗号化するので、この固有の識別情報が外部に漏れない限り、専用コンテンツを適切に扱うことができる。
【００３３】
第１４の発明は、第１ないし第１３の発明のいずれかに従属し、第１情報処理装置は、操作入力部、および操作入力部からの操作データを第２情報処理装置に送信する操作データ送信部をさらに備える。
【００３４】
第１４の発明によれば、たとえば、第２情報処理装置が備えていないボタンやスイッチなどの操作手段を備える入力部を第１情報処理装置に設けることにより、操作性を向上することができる。
【００３５】
第１５の発明は、第１ないし第１４の発明のいずれかに従属し、第２情報処理装置は、第１情報処理装置よりも高い処理能力を有している。たとえば、第２情報処理装置は、アプリケーションプログラムを実行する処理能力を有している。一方、第１情報処理装置は、アプリケーションプログラムを取得し、それを暗号化し、暗号化したアプリケーションプログラムを送信し、そして解除キーを送信するが、アプリケーションプログラムを実行する必要がない。したがって、第２情報処理装置は第１情報処理装置よりも高い処理能力を有する。
【００３６】
第１５の発明によれば、第１情報処理装置は高い処理能力を有しなくてよいため、比較的安価な部品を使用して第１情報処理装置を構成することができる。
【００３７】
第１６の発明は、表示部と、アプリケーションプログラム用の環境を模倣し、情報処理装置から送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有しない当該情報処理装置に代って実行するエミュレータ部と、エミュレータ部による実行結果を表示部に表示する表示制御部を備える、汎用の他の情報処理装置と通信可能に接続される、情報処理装置であって、アプリケーションプログラムを取得する取得部と、取得部によって取得されたアプリケーションプログラムを他の情報処理装置に送信するプログラム送信部を備える、情報処理装置である。
【００３８】
第１７の発明は、表示部と、アプリケーションプログラム用の環境を模倣し、情報処理装置から送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有しない当該情報処理装置に代って実行するエミュレータ部と、エミュレータ部による実行結果を表示部に表示する表示制御部を備える、汎用の他の情報処理装置と通信可能に接続される、情報処理装置で実行される情報処理プログラムであって、情報処理装置のコンピュータを、アプリケーションプログラムを取得する取得部と、取得部によって取得されたアプリケーションプログラムを他の情報処理装置に送信するプログラム送信部として機能させる、情報処理プログラムである。
【００３９】
第１８の発明は、表示部と、アプリケーションプログラム用の環境を模倣し、情報処理装置から送信されたアプリケーションプログラムを、当該アプリケーションプログラムの処理機能を有しない当該情報処理装置に代って実行するエミュレータ部と、エミュレータ部による実行結果を表示部に表示する表示制御部を備える、汎用の他の情報処理装置と通信可能に接続される、情報処理装置の情報処理方法であって、情報処理装置のコンピュータは、（ａ）アプリケーションプログラムを取得し、そして（ｂ）ステップ（ａ）において取得したアプリケーションプログラムを他の情報処理装置に送信する、情報処理方法である。
【００４０】
第１６ないし第１８の発明においても、第１の発明と同様に、情報処理装置の価格を出来る限り抑えることができ、他の情報処理装置を用いて他の専用機の専用コンテンツを楽しむことができる。
【発明の効果】
【００４１】
この発明によれば、表示部を有する汎用の第２情報処理装置を用いるので、第１情報処理装置に表示装置を設ける必要がなく、第１情報処理装置の価格を出来る限り抑えることができる。
【００４２】
また、第１情報処理装置がアプリケーションプログラムを取得して、このアプリケーションプログラムを実行可能な他の専用機をエミュレートする第２情報処理装置に送信するので、第２情報処理装置で実行されるアプリケーションプログラムが限定されず、第２情報処理装置を用いて他の専用機の専用コンテンツを楽しむことができる。
【００４３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４４】
【図１】図１はこの発明の一実施例である情報処理システムの電気的な構成を示すブロック図である。
【図２】図２は情報処理システムのメモリカードに内蔵されるＲＯＭのプログラム記憶領域を概念的に示す図である。
【図３】図３は図１に示す第１情報処理装置に内蔵されるＲＡＭのメモリマップの一例を示す図解図である。
【図４】図４は図１に示す第２情報処理装置に内蔵されるＲＡＭのメモリマップの一例を示す図解図である。
【図５】図５は図１に示す第１情報処理装置に内蔵されるＣＰＵの情報処理を示すフロー図である。
【図６】図６は図１に示す第２情報処理装置に内蔵されるＣＰＵの情報処理の一部を示すフロー図である。
【図７】図７は図１に示す第２情報処理装置に内蔵されるＣＰＵの情報処理の他の一部であって、図６に後続するフロー図である。
【発明を実施するための形態】
【００４５】
図１を参照して、この発明の一実施例である情報処理システム１０は、第１情報処理装置１２、メモリカード１４および第２情報処理装置１６を含む。第１情報処理装置１２と第２情報処理装置１６は、ケーブル１８によって接続される。つまり、第１情報処理装置１２と第２情報処理装置１６とは、有線で通信可能に接続される。
【００４６】
第１情報処理装置１２は、ＣＰＵ２０を含み、ＣＰＵ２０は内部バス２２を介して、ＲＡＭ２４、ＲＯＭ２６、無線モジュール２８、インターフェイス回路（Ｉ／Ｆ回路）３０およびコネクタ３２に接続される。また、Ｉ／Ｆ回路３０には、コントローラ３４およびＵＳＢコネクタ３６が接続される。
【００４７】
ＣＰＵ２０は、第１情報処理装置１２の全体制御を司る。ＲＡＭ２４は、ＣＰＵ２０のバッファ領域ないしワーキング領域として使用される。ＲＯＭ２６は、この第１情報処理装置１２を動作させるためのプログラムを記憶したり、所定のデータを記憶したりする。所定のデータとしては、第１情報処理装置１２に割り当てられた固有の識別情報（装置ＩＤ）のデータなどが該当する。
【００４８】
無線モジュール２８は、他の情報処理装置やコンピュータなどと通信可能に接続したり、無線ＬＡＮに接続したりする機能を有する。無線モジュール２８としては、たとえば、無線ＬＡＮ（Ｗｉ−Ｆｉ）モジュールやＢｌｕｅｔｏｏｔｈ（登録商標）モジュールを用いることができる。
【００４９】
コントローラ３４は、十字キー、アナログジョイスティック、操作ボタンなどを備える入力手段である。コントローラ３４は、第１情報処理装置１２本体とは別体で構成し、第１情報処理装置１２とケーブル等によって連結してよい。または、第１情報処理装置１２の筐体に上記のキーやボタン等を設けて第１情報処理装置１２とコントローラ３４を一体型にしてもよい。
【００５０】
コントローラ３４からの操作データは、Ｉ／Ｆ回路３０および内部バス２２を介してＣＰＵ２０に入力される。ＵＳＢコネクタ３６から入力される各種のデータもまた、Ｉ／Ｆ回路３０および内部バス２２を介してＣＰＵ２０に入力される。一方、ＣＰＵ２０は、ＲＡＭ２４に記憶されたデータを、内部バス２２およびＩ／Ｆ回路３０を介してＵＳＢコネクタ３６から出力する。また、コネクタ３２には、メモリカード１４が着脱自在に接続される。
【００５１】
メモリカード１４は、ＲＯＭ１４ａおよびＲＡＭ１４ｂを含み、図示は省略するが、ＲＯＭ１４ａおよびＲＡＭ１４ｂは、互いにバスで接続され、さらに、コネクタ３２と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、メモリカード１４が第１情報処理装置１２に装着されると、ＣＰＵ２０は、ＲＯＭ１４ａおよびＲＡＭ１４ｂにアクセス可能となる。
【００５２】
ＲＯＭ１４ａは、第２情報処理装置１６で実行すべきアプリケーション（たとえば、ゲーム）のためのアプリケーションプログラム、画像（たとえば、キャラクタ画像、オブジェクト画像、背景画像、アイテム画像など）データおよび音（たとえば、効果音や音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）１４ｂは、セーブデータを保存する。
【００５３】
次に、第２情報処理装置１６の電気的な構成について説明するが、第１情報処理装置１２で説明したコンポーネントと同じコンポーネントについては重複する説明を省略する。
【００５４】
第２情報処理装置１６は、ＣＰＵ５０ａ、ＧＰＵ、ＶＲＡＭ(Video RAM)およびＤＳＰなどで構成されたＳｏＣ(System-on-a-Chip)５０を含む。ＳｏＣ５０には、内部バス５２を介して、ＲＡＭ５４、セキュアメモリ５６、ＬＣＤ５８、Ｉ／Ｆ回路６０および無線モジュール６２が接続される。また、Ｉ／Ｆ回路６０には、入力装置６４およびＵＳＢコネクタ６６が接続される。
【００５５】
第２情報処理装置１６としては、汎用の情報処理装置、たとえば、スマートフォンやタブレットＰＣを用いることができる。ただし、図１では、汎用の情報処理装置に設けられるコンポーネントのうち、この実施例で必要なコンポーネントのみを示してある。
【００５６】
セキュアメモリ５６は、ユーザの操作によってアクセスできないメモリであり、たとえば、著作権により保護されるコンテンツ（ゲームなどの所定のアプリケーション）についてのデータを記憶する。ＬＣＤ５８は、ＣＰＵ５０ａの指示の下、ＶＲＡＭに保持された画像データに対応する画像を表示する。たとえば、ＣＰＵ５０ａが実行するアプリケーションプログラムの処理結果についての画像が表示される。無線モジュール６２は、無線モジュール２８と同様であるが、無線モジュール２８と同じ通信方式が採用される。したがって、第１情報処理装置１２と第２情報処理装置１６とは、無線でも通信可能に接続される。たとえば、この実施例では、無線モジュール（２８、６２）は、IEEE802.11bの規格のモジュールが使用され、最大の通信速度は２２(Mbps)である。
【００５７】
入力装置６４は、操作ボタンおよびタッチパネルのような入力手段である。ただし、タッチパネルは、ＬＣＤ５８の表示面上に配置される。入力装置６４から入力される操作データおよび座標データは、Ｉ／Ｆ回路６０を介してＳｏＣ５０（ＣＰＵ５０ａ）に与えられる。また、ＵＳＢコネクタ３６とＵＳＢコネクタ６６とが上述したケーブル１８で接続される。したがって、第１情報処理装置１２と第２情報処理装置１６との間で、ケーブル１８を介してデータの送受信が可能である。たとえば、この実施例では、ＵＳＢ２．０の規格に従うコネクタ（３６、６６）およびケーブル１８が使用され、最大の通信速度は４８０(Mbps)である。したがって、無線モジュール（２２、６２）を用いた無線通信よりも、ケーブル１８を有線通信の方が通信速度が高速である。
【００５８】
一般的には、ゲームソフトなどのアプリケーションプログラムが記憶されたメモリカードは、専用のゲーム機に装着され、実行される。このような専用のゲーム機では、ＬＣＤのような表示装置を備えるため、高価になってしまう。また、スマートフォンやタブレットＰＣのように、表示装置を備える情報処理装置の普及が進んでいる。
【００５９】
そこで、この実施例の情報処理システム１０では、スマートフォンやタブレットＰＣに代表される汎用の情報処理装置（第２情報処理装置１６）の表示装置を利用することにより、メモリカードのような外部記憶媒体に記憶された専用コンテンツ（アプリケーションプログラム）を安価な情報処理装置（第１情報処理装置１２）を用いて、楽しめるようにした。
【００６０】
簡単に説明すると、第１情報処理装置１２は、ゲーム画面のような画像を表示するための表示装置を有しておらず、後述するように、汎用の第２情報処理装置１６に比べてＣＰＵ（２０）の処理能力が低い。この第１情報処理装置１２は、自身に装着されたメモリカード１４からアプリケーションプログラムを取得し、第２情報処理装置１６に送信する。第２情報処理装置１６は、メモリカード１４に記憶されたアプリケーションプログラムを実行可能なハードウェア環境にエミュレートされ、この第２情報処理装置１６でアプリケーションプログラムが実行される。ただし、第２情報処理装置１６では、ゲームのようなアプリケーションを操作するのに十分な入力装置６４を備えていない場合がある。このため、上記のようなコントローラ３４を第１情報処理装置１２に備えるようにしてある。
【００６１】
このように、メモリカード１４から取得したアプリケーションプログラムを第２情報処理装置１６で実行するため、著作権等で保護されるべきアプリケーションプログラムを適切に取り扱う必要がある。このため、この実施例では、アプリケーションプログラムを暗号化し、暗号化されたアプリケーションプログラム（以下、「暗号化プログラム」と呼ぶ。）をユーザの操作によってアクセスできないセキュアな領域（セキュアメモリ５６）に記憶するようにしてある。
【００６２】
さらに、暗号化プログラムの暗号を解除（暗号化プログラムを復号）した場合に、アプリケーションプログラムのすべてがＲＡＭ５４に展開されてしまうと、当該アプリケーションプログラムを不正に取得される恐れがある。このため、第１情報処理装置１２では、アプリケーションプログラムを複数の部分に分けて、部分毎に互いに異なる暗号キーで暗号化を施し、第２情報処理装置１６では、暗号化されたアプリケーションプログラムを部分毎に読み出して暗号を解除し、暗号を解除した部分について実行するようしてある。
【００６３】
図２は、図１に示すメモリカード１４に内蔵されるＲＯＭ１４ａのプログラム記憶領域を概念的に示す図である。このＲＯＭ１４ａのプログラム記憶領域には、ゲームソフトなどの所定のアプリケーションプログラムが記憶される。この実施例では、アプリケーションプログラムを暗号化して、第２情報処理装置１６に送信するが、セキュリティを確保するために、上述したように、アプリケーションプログラムをＲＯＭ１４ａのアドレスに従ってブロックに分割し、分割されたブロック毎に暗号化するようにしてある。以下、ブロック毎のアプリケーションプログラムを「部分プログラム」と呼ぶことにする。
【００６４】
図２に示すように、ＲＯＭ１４ａのプログラム記憶領域は、複数のブロック（この実施例では、ｎ個のブロック）に分割される。たとえば、第１ブロックはアドレス“000000”−“1FFFFF”であり、第２ブロックはアドレス“200000”−“3FFFFF”であり、第３ブロックはアドレス“400000”−“5FFFFF”であり、第４ブロックはアドレス“600000”−“7FFFFF”であり、途中を省略して、第ｎブロックはアドレス“E00000”−“FFFFFF”である。このように、図２に示す例では、各ブロックのデータ量が同じになるように複数のブロックに分割してあるが、これに限定される必要はない。アプリケーションプログラムの構成によって、ブロックの分け方は様々である。
【００６５】
この実施例では、各ブロックの部分プログラムは、互いに異なる解除キー（復号キー）で暗号を解除（平文化）可能に暗号化される。暗号化方式は、共通鍵暗号方式や公開鍵暗号方式のような一般的な方式を採用することができる。ただし、この実施例では、第１情報処理装置１２の固有情報と各ブロックの固有情報を用いて、暗号キーと解除キーが生成される。たとえば、第１情報処理装置１２の固有情報はＲＯＭ２６に記憶された装置ＩＤまたは／および無線モジュール２８のＭＡＣアドレスである。また、各ブロックの固有情報は、各ブロックの先頭アドレスまたは／および末尾アドレスである。ただし、各ブロックの固有情報は、別途割り当てるようにしてもよい。
【００６６】
ブロック毎に異なる暗号キーで暗号化された部分プログラム（以下、「暗号化部分プログラム」と呼ぶ。）は、内部バス２２、Ｉ／Ｆ回路３０、ＵＳＢコネクタ３６およびケーブル１８を介して第２情報処理装置１６に送信される。第２情報処理装置１６では、暗号化プログラムが受信されると、この暗号化プログラムは、ＵＳＢコネクタ６６、Ｉ／Ｆ回路６０および内部バス５２を介してＳｏＣ５０（ＣＰＵ５０ａ）に与えられる。ＣＰＵ５０ａは、内部バス５２を介して、暗号化プログラムをセキュアメモリ５６に記憶する。
【００６７】
第２情報処理装置１６では、ユーザの操作に従ってエミュレーションプログラムが実行され、これに対応するアプリケーションプログラム（たとえば、ゲームプログラム）を実行可能な他の専用機（たとえば、専用のゲーム機）をエミュレートして、当該他の専用機のアプリケーションプログラムを、第２情報処理装置１６上でエミュレーション実行する。つまり、他の専用機をエミュレートして、エミュレートした仮想のハードウェア上でアプリケーションプログラムが実行される。このように、アプリケーションプログラムを実行する機能を有していない第１情報処理装置１２に代って第２情報処理装置１６が当該アプリケーションプログラムを実行する。
【００６８】
ただし、エミュレーションプログラムは、アプリケーションプログラム毎に生成される。たとえば、第２情報処理装置１６が所定のサーバにアクセスすることにより、エミュレーションプログラムはダウンロードされる。また、エミュレーションプログラムは、アプリケーションプログラムとともに、メモリカード１４に記憶されてもよい。かかる場合には、第１情報処理装置１２は、アプリケーションプログラムの送信に先だって、エミュレーションプログラムを第２情報処理装置１６に送信する。
【００６９】
アプリケーションプログラムの実行中では、第１情報処理装置１２は、第２情報処理装置１６からの要求に応じて、要求のあったブロックの暗号化部分プログラムの暗号を解除する解除キーを当該第２情報処理装置１６に送信する。
【００７０】
たとえば、第２情報処理装置１６では、第１ブロックから順番に部分プログラムが実行され、第１ブロックについての部分プログラムの実行が終了されると、次のブロック（第２ブロック）の部分プログラムが実行される。ただし、部分プログラムは暗号化されているため、当該部分プログラムの実行に先立って、該当する暗号化部分プログラムの暗号が解除される。
【００７１】
具体的には、第２情報処理装置１６では、次に処理するべきブロックの暗号化部分プログラムがセキュアメモリ５６から読み込まれ、ＲＡＭ５４に書き込まれる。このとき、そのブロックの暗号化部分プログラムの暗号を解除する解除キーの送信が第１情報処理装置１２に要求される。つまり、そのブロックの先頭アドレスを処理するべきアドレス（処理アドレス）として指定した解除キーの送信が要求される。これに応じて、第１情報処理装置１２から送信された解除キーのデータ（解除キーデータ）が第２情報処理装置１６で受信され、この解除キーを用いてセキュアメモリ５６から読み込まれた暗号化部分プログラムの暗号が解除され、ＲＡＭ５４に書き込まれる。そして、暗号が解除された部分プログラムが実行される。
【００７２】
このような処理が繰り返され、最後のブロック（この実施例では、第ｎブロック）まで部分プログラムが順次実行される。したがって、第１情報処理装置１２では、第２情報処理装置１６からの要求がある度に、複数の解除キーに対応する解除キーデータを一部ずつ継続的に送信する。
【００７３】
ただし、この実施例では、第２情報処理装置１６から指定された処理アドレスが、第１情報処理装置１２が想定していないアドレスの場合には、第１情報処理装置１２は、要求に誤りがあると判断して、解除キーデータの送信を止める。
【００７４】
また、第２情報処理装置１６では、解除キーを要求してから所定時間（たとえば、数十フレーム）を経過しても第１情報処理装置１２からの解除キーデータを受信しない場合には、エミュレートを止める。つまり、エミュレーションプログラムの実行が中断される。ただし、フレームは、画面更新の単位時間（１／６０秒）である。
【００７５】
このように、第２情報処理装置１６側で、解除キーの送信を要求してから所定時間を経過しても解除キーデータを受信しない場合にエミュレートを止めるようにするのは、解除キーを不正に得ようとしているなどの意図しない行為が行われている可能性があるからである。
【００７６】
また、上述したように、第１情報処理装置１２側で、要求に誤りがあると判断した場合に解除キーデータの送信を止めるのは、不正なプログラムが実行されているなどの意図しない行為が行われている可能性があるからである。かかる場合には、結果として、第２情報処理装置１６側でエミュレートが止められる。
【００７７】
ただし、解除キーの要求や解除キーデータは、無線モジュール（２８、６２）を用いて送受信される。また、詳細な説明は省略するが、アプリケーションプログラムの実行中では、コントローラ３４から入力された操作データも、無線モジュール（２８、６２）を用いて送受信される。
【００７８】
このように、解除キーの要求、解除キーデータおよび操作データを、無線モジュール（２８、６２）を用いて送受信するので、暗号化プログラムを送受信した後において、ケーブル１８を取り外し、第１情報処理装置１２と第２情報処理装置１６を無線通信させることができる。
【００７９】
暗号化プログラムも無線モジュール（２８、６２）を用いて送受信することは可能であるが、データ量が多いため、ケーブル１８を介して高速に送受信するようにしてある。一方、解除キーの要求、解除キーデータおよび操作データは、データ量が少なく、通信速度が遅い経路を使用しても支障がないため、操作性を重視して、無線で送受信するようにしてある。つまり、ケーブル１８を外しことにより、第１情報処理装置１２ないしコントローラ３４の可動範囲が大きくなり、操作性が向上される。
【００８０】
図３は、図１に示す第１情報処理装置１２に内蔵されるＲＡＭ２４のメモリマップ１００の一例を示す。図３に示すように、ＲＡＭ２４は、プログラム記憶領域１０２およびデータ記憶領域１０４を含む。
【００８１】
プログラム記憶領域１０２には、ＲＯＭ２６から読み込まれた情報処理プログラムが記憶され、この情報処理プログラムは、メイン処理プログラム１０２ａ、通信プログラム１０２ｂ、取得プログラム１０２ｃ、キー生成プログラム１０２ｄおよび暗号化プログラム１０２ｅなどを含む。
【００８２】
メイン処理プログラム１０２ａは、第１情報処理装置１２の情報処理のメインルーチンを処理するためのプログラムである。通信プログラム１０２ｂは、ＵＳＢコネクタ３６または無線モジュール２８を用いて、他の情報処理装置（この実施例では、第２情報処理装置１６）やコンピュータと通信したり、無線ＬＡＮに接続したりするためのプログラムである。取得プログラム１０２ｃは、アプリケーションプログラムを取得するためのプログラムである。この実施例では、第１情報処理装置１２に装着されたメモリカード１４からアプリケーションプログラムを取得する。
【００８３】
キー生成プログラム１０２ｄは、取得したアプリケーションプログラムをブロック毎に暗号化するための暗号キーと、暗号化されたブロック毎の暗号化部分プログラムの暗号を解除するための解除キー（復号キー）を生成するためのプログラムである。上述したように、ブロック毎に異なる解除キーを生成する必要があるため、キーの生成には、第１情報処理装置１２の固有情報のみならず、ブロックの固有情報も用いられる。
【００８４】
暗号化プログラム１０２ｅは、キー生成プログラム１０２ｄに従って生成された暗号キーを用いてブロック毎の部分プログラムを暗号化するためのプログラムである。
【００８５】
データ記憶領域１０４には、暗号化プログラムデータ１０４ａおよび解除キーデータ１０４ｂが記憶される。暗号化プログラムデータ１０４ａは、暗号化プログラム１０２ｅに従ってブロック毎に暗号化された部分プログラム、すなわち暗号化部分プログラムについてのデータである。この暗号化プログラム１０２ｅには、アプリケーションプログラムを構成するすべての部分プログラムに対応する暗号化部分プログラムが含まれる。
【００８６】
解除キーデータ１０４ｂは、キー生成プログラム１０２ｄに従って生成された解除キーについてのデータである。上述したように、アプリケーションプログラムは、ブロック毎に暗号化されるため、解除キーデータ１０４ｂには、ブロック毎の暗号化部分プログラムの暗号を解除する解除キーのデータが含まれる。
【００８７】
図４には、図１に示した第２情報処理装置１６に内蔵されるＲＡＭ５４のメモリマップ２００の一例を示す。図４に示すように、ＲＡＭ５４は、プログラム記憶領域２０２およびデータ記憶領域２０４を含む。
【００８８】
プログラム記憶領域２０２には、第２情報処理装置１６の情報処理プログラムを記憶し、情報処理プログラムは、メイン処理プログラム２０２ａ、通信プログラム２０２ｂ、エミュレーションプログラム２０２ｃ、解除プログラム２０２ｄおよび部分プログラム２０２ｅなどを含む。
【００８９】
メイン処理プログラム２０２ａは、第２情報処理装置１６の情報処理のメインルーチンを処理するためのプログラムである。通信プログラム２０２ｂは、ＵＳＢコネクタ６６または無線モジュール６２を用いて、他の情報処理装置（この実施例では、第１情報処理装置１２）やコンピュータと通信したり、無線ＬＡＮに接続したりするためのプログラムである。エミュレーションプログラム２０２ｃは、アプリケーションプログラム（セキュアメモリ５６に記憶されたすべての暗号化部分プログラムに対応するアプリケーションプログラム）を実行可能な他の専用機（たとえば、専用のゲーム機）のハードウェア環境をエミュレートするためのプログラムである。解除プログラム２０２ｄは、解除キーを用いて暗号化プログラムの暗号を解除するためのプログラムである。部分プログラム２０２ｅは、解除キーで暗号を解除されたアプリケーションプログラムの一部についてのプログラムである。この実施例では、ブロック毎に暗号化部分プログラムの暗号が解除され、プログラム記憶領域２０２に書き込まれるときに、先のブロックの部分プログラムに上書きされる。
【００９０】
このように、今回暗号化を解除された部分プログラムは、先のブロックの部分プログラムに上書きされるので、同時にすべての部分プログラムがＲＡＭ５４に記憶されることがない。したがって、セキュリティを確保することができる。ただし、ＲＡＭ５４にすべての部分プログラムを記憶したとしても、アプリケーションの終了と同時にそれらのすべてを消去するようにすれば、同様にセキュリティを確保することができる。
【００９１】
なお、図示は省略するが、第２情報処理装置１６としてスマートフォンを使用する場合には、電話機能、スケジュール機能、アラーム機能などの様々な機能に応じたプログラムも記憶される。
【００９２】
データ記憶領域２０４には、解除キーデータ２０４ａが記憶される。解除キーデータ２０４ａは第１情報処理装置１２から送信され、新しい解除キーデータ２０４ａを受信すると、先の解除キーデータ２０４ａに上書きされる。
【００９３】
具体的には、第１情報処理装置１２のＣＰＵ２０が図５に示す情報処理を実行することにより、アプリケーションプログラムが取得され、アプリケーションプログラムがブロック毎に暗号化され、暗号化プログラムおよび解除キーが第２情報処理装置１６に送信される。一方、第２情報処理装置１６のＣＰＵ５０ａが図６および図７に示す情報処理を実行することにより、暗号化プログラムが受信され、解除キーの送信が要求され、解除キーが受信され、暗号化プログラムの暗号が解除される。
【００９４】
図示は省略するが、エミュレートされた第２情報処理装置１６でアプリケーションプログラムが実行されている場合に、コントローラ３４が操作されると、第１情報処理装置１２の無線モジュール２８から操作データが出力される。操作データは、第２情報処理装置１６の無線モジュール６２で受信され、ＣＰＵ５０ａに与えられる。したがって、コントローラ３４からの操作データに従ってアプリケーションの処理が変化される。ただし、第２情報処理装置１６もまた、入力装置６４を備えるため、入力装置６４から操作データが入力されることもある。
【００９５】
たとえば、第１情報処理装置１２の主電源がオンされると、ＣＰＵ２０は、図５に示すように、情報処理を開始し、ステップＳ１で、アプリケーションプログラムをメモリカード１４に内蔵されたＲＯＭ１４ａから取得する。続くステップＳ３では、暗号キーおよび解除キーを生成する。上述したように、第１情報処理装置１２の固有情報と各ブロックの固有情報を用いて、ブロック毎の暗号キーと解除キーが生成される。
【００９６】
次のステップＳ５では、取得したアプリケーションプログラムをブロック毎に暗号化する。ここでは、各ブロックの部分プログラムは、各ブロックに対応して生成された暗号キーを用いて暗号化される。続いて、ステップＳ７で、暗号化プログラムを第２情報処理装置１６に送信する。つまり、ＣＰＵ２０は、内部バス２２、Ｉ／Ｆ回路３０を介してＵＳＢコネクタ３６にすべての暗号化部分プログラムを出力する。ここでは、第１情報処理装置１２と第２情報処理装置１６とがケーブル１８で接続されていることを前提して説明してあるが、ケーブル１８で接続されていない場合には、警告ランプを点灯したり、警告音を出力したり、それらの両方を行ったりしてよい。この場合には、第１情報処理装置１２に、警告ランプのような表示器を設けたり、スピーカを設けたりすればよい。
【００９７】
次のステップＳ９では、第２情報処理装置１６から解除キーの要求があるかどうかを判断する。つまり、ＣＰＵ２０は、解除キーの送信タイミングであるかどうかを判断する。ステップＳ９で“ＮＯ”であれば、つまり解除キーの要求が無ければ、そのままステップＳ９に戻る。ここでは、ステップＳ９で“ＮＯ”であれば、そのまま同じステップＳ９に戻るようにしてあるが、所定時間を超えて、解除キーの要求が無い場合には、情報処理を終了するようにしてもよい。
【００９８】
一方、ステップＳ９で“ＹＥＳ”であれば、つまり解除キーの要求が有れば、ステップＳ１１で、その要求に含まれる処理アドレスが期待する処理アドレスであるかどうかを判断する。つまり、処理アドレスが、次のブロックの先頭アドレスを示すかどうかを判断する。ステップＳ１１で“ＮＯ”であれば、つまり処理アドレスが期待するものでなければ、エミュレートを終了させるべく、そのまま情報処理を終了する。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり処理アドレスが期待するものであれば、ステップＳ１３で、処理アドレスに応じた解除キーを第２情報処理装置１６に送信する。つまり、次のブロックについての解除キーが送信される。
【００９９】
そして、ステップＳ１５で、すべての解除キーを送信したかどうかを判断する。ステップＳ１５で“ＮＯ”であれば、つまり送信していない解除キーがあれば、ステップＳ９に戻る。一方、ステップＳ１５で“ＹＥＳ”であれば、つまりすべての解除キーを送信すれば、情報処理を終了する。
【０１００】
このように、第１情報処理装置では、アプリケーションプログラムを取得し、暗号化して、暗号化プログラム、解除キーデータおよび操作データを送信するだけであり、アプリケーションプログラムを実行する能力を必要としないため、ＣＰＵ２０の処理能力は第２情報処理装置のＣＰＵ５０ａに比べて低くてよい。したがって、比較的安価な部品で第１情報処理装置１２を構成することができる。
【０１０１】
また、第２情報処理装置１６では、ユーザの指示に従ってエミュレーションプログラム２０２ｃが実行されると、ＣＰＵ５０ａは、図６に示すように、情報処理を開始し、ステップＳ３１で、暗号化プログラムを受信したかどうかを判断する。ステップＳ３１で“ＮＯ”であれば、つまり暗号化プログラムを受信していなければ、そのまま同じステップＳ３１に戻る。ただし、所定時間を超えて暗号化プログラムを受信しない場合には、ケーブル１８が接続されていないなどの障害が発生している可能性があるため、かかる場合には、ＬＣＤ５８に警告メッセージを表示したり、警告音をスピーカ（図示せず）から出力したり、それらの両方を行ったりする。
【０１０２】
なお、図示は省略するが、ＣＰＵ５０ａは、図６および図７に示す情報処理と並行してエミュレーションプログラムおよびアプリケーションプログラムを実行する。ただし、アプリケーションプログラムは、部分プログラム毎に実行される。
【０１０３】
一方、ステップＳ３１で“ＹＥＳ”であれば、つまり暗号化プログラムを受信すれば、ステップＳ３３で、受信した暗号化プログラムをセキュアメモリ５６に記憶する。そして、ステップＳ３５で、解除キーを取得するタイミングであるかどうかを判断する。情報処理を開始した当初では、すぐに解除キーを取得するタイミングとなるが、２回目以降では、暗号を解除した部分プログラムの実行（進行）の具合に応じて、次のブロックの部分暗号プログラムの暗号を解除するタイミング、すなわち解除キーを取得するタイミングであるかどうかを判断する。
【０１０４】
ステップＳ３５で“ＮＯ”であれば、つまり解除キーを取得するタイミングでなければ、同じステップＳ３５に戻って、解除キーを取得するタイミングになるのを待機する。一方、ステップＳ３５で“ＹＥＳ”であれば、つまり解除キーを取得するタイミングであれば、ステップＳ３７で、処理アドレスを指定して解除キーの送信を第１情報処理装置１２に要求する。この要求は、通信モジュール６２から送信される。また、処理アドレスは、現在実行中の部分プログラムの次の部分プログラムが記憶されるＲＯＭ１４ａのブロックの開始アドレスである。
【０１０５】
図７に示すように、次のステップＳ３９では、解除キーを受信したかどうかを判断する。ステップＳ３９で“ＮＯ”であれば、つまり解除キーを受信していなければ、ステップＳ４１で、解除キーの送信を要求してから所定時間（たとえば、数十フレーム）を経過したかどうかを判断する。図示しないタイマによって、解除キーの送信を要求してからの時間がカウントされる。
【０１０６】
ステップＳ４１で“ＮＯ”であれば、つまり解除キーの送信を要求してから所定時間を経過していなければ、そのままステップＳ３９に戻る。一方、ステップＳ４１で“ＹＥＳ”であれば、つまり解除キーの送信を要求してから所定時間を経過すれば、ステップＳ４９に進む。
【０１０７】
また、ステップＳ３９で“ＹＥＳ”であれば、つまり解除キーを受信すれば、ステップＳ４３で、受信した解除キーを用いて、対応するブロックについての暗号化部分プログラムの暗号を解除する。このとき、セキュアメモリ５６から該当する暗号化部分プログラムがＲＡＭ５４に読み込まれる。図示は省略するが、受信した解除キーは、データ記憶領域２０４に記憶される。続くステップＳ４５では、暗号を解除した部分プログラム（２０２ｅ）をプログラム記憶領域２０２に上書きする。
【０１０８】
そして、ステップＳ４７で、アプリケーションを終了したかどうかを判断する。ここでは、ＣＰＵ５０ａは、並行して実行しているアプリケーションの処理を終了したかどうかを判断する。ステップＳ４７で“ＮＯ”であれば、つまりアプリケーションを終了していなければ、図６に示したステップＳ３５に戻る。つまり、次のブロックについての解除キーを取得するタイミングであるかどうかを判断するのである。
【０１０９】
一方、ステップＳ４７で“ＹＥＳ”であれば、つまりアプリケーションを終了する場合には、ステップＳ４９で、エミュレーションプログラム２０２ｃの実行を停止して、情報処理を終了する。
【０１１０】
この実施例によれば、ＬＣＤを有する汎用の第２情報処理装置を用いるので、第１情報処理装置に表示装置を設ける必要がなく、第１情報処理装置の価格を出来る限り抑えることができる。
【０１１１】
また、この実施例では、第１情報処理装置がアプリケーションプログラムを取得して、このアプリケーションプログラムを実行可能な他の専用機をエミュレートする第２情報処理装置に送信するので、第２情報処理装置で実行されるアプリケーションプログラムが限定されず、第２情報処理装置を用いて他の専用機の専用コンテンツを楽しむことができる。
【０１１２】
さらに、この実施例では、第２情報処理装置のＬＣＤに画像を表示し、第１情報処理装置に画像を表示するための表示装置を設ける必要がないため、既にある資源を有効利用することができる。
【０１１３】
なお、この実施例では、メモリカードからアプリケーションプログラムを取得する場合について説明したが、これに限定される必要はない。インターネットのようなネットワークから取得してもよい。たとえば、所定のサーバにアクセスし、ダウンロードすることができる。かかる場合には、スマートフォンのような第２情報処理装置が所定のサーバにアクセスし、アプリケーションプログラムをダウンロードする。ただし、第１情報処理装置において、アプリケーションプログラムを暗号化する必要があるため、ダウンロードされたアプリケーションプログラムは、第２情報処理装置からそのまま第１情報処理装置に送信され、第１情報処理装置のＲＡＭに記憶される。かかる場合には、部分プログラムのブロックはＲＡＭのアドレスで管理される。
【０１１４】
また、メモリカードに代えて、他の記憶媒体（ディスクやＵＳＢメモリなど）からアプリケーションプログラムを取得するようにしてもよい。ただし、他の記憶媒体に応じたインターフェイスやデバイスを第１情報処理装置に備える必要がある。この場合にも、取得したアプリケーションプログラムは、第１情報処理装置のＲＡＭに記憶される。
【０１１５】
このように、取得したアプリケーションプログラムが第１情報処理装置のＲＡＭに記憶される場合には、ＲＡＭのアドレスに従ってブロック単位で暗号化が行われる。
【０１１６】
また、この実施例では、ブロック毎の部分プログラムを暗号化するようにしたが、アプリケーションプログラムの全体を１つの解除キーで解除可能に暗号化してもよい。かかる場合には、たとえば、アプリケーションプログラムを実行した後に、当該アプリケーションプログラムが消去されるようにしておけばよい。つまり、不正にアプリケーションプログラムが取得されないように手当しておけばよいのである。
【０１１７】
さらに、この実施例では、第１情報処理装置は、第２情報処理装置からの要求に応じて解除キーを送信するようにしたが、これに限定される必要はない。図２を用いて説明したように、アプリケーションプログラムを複数のブロックに分けた場合に、各ブロックのデータ量を同じにしてあるので、第１情報処理装置が、所定時間毎に、順次解除キーを第２情報処理装置に送信するようにしてもよい。
【０１１８】
さらに、この実施例では、有線通信にＵＳＢの規格を適用するようにしたが、他の規格が適用されてよい。たとえば、IEEE 1394、Serial ATA(SATA)、InfiniBand、PCI Express、Serial Attached SCSI、Fibre Channeを適用することができる。
【０１１９】
なお、この実施例で示した具体的な数値は一例に過ぎず、実際の製品に応じて、適宜変更される。
【符号の説明】
【０１２０】
１０  …情報処理システム
１２  …第１情報処理装置
１４  …メモリカード
１６  …第２情報処理装置
２０、５０ａ  …ＣＰＵ
２４、５４  …ＲＡＭ
２８、６２  …無線モジュール
３２  …コネクタ
３４  …コントローラ
３６、６６  …ＵＳＢコネクタ
５０  …ＳｏＣ
５６  …セキュアメモリ
５８  …ＬＣＤ
６４  …入力装置
【図１】
2014210126.tif 000003
【図２】
2014210126.tif 000004
【図３】
2014210126.tif 000005
【図４】
2014210126.tif 000006
【図５】
2014210126.tif 000007
【図６】
2014210126.tif 000008
【図７】
2014210126.tif 000009