(57)【要約】【課題】外部装置からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するＯＳを模倣したアプリケーションに対して、外部装置からの命令を実行させることが可能な情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】第１のＯＳに入力される命令、および第１のＯＳとは異なる第２のＯＳに入力される命令を受信する受信部と、受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、受信部が受信した所定の命令と、記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部とを備える情報処理装置が提供される。【選択図】図１
2014186747.tif 000002
【特許請求の範囲】
【請求項１】
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、
前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、
前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、
前記生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部と、
を備える、情報処理装置。
【請求項２】
前記実行部は、前記第１のオペレーティングシステムの実行環境上で所定のアプリケーションを実行することにより、前記第２のオペーティングシステムが生成する処理結果と同様の処理結果を出力する、請求項１に記載の情報処理装置。
【請求項３】
前記所定の命令は、前記第２のオペレーティングシステムに対応する所定のメモリ領域を選択するための情報取得命令であり、
前記所定の情報は、前記情報取得命令に含まれる、前記所定のメモリ領域を識別するための領域情報である、請求項１または２に記載の情報処理装置。
【請求項４】
前記受信部が受信した命令の種類を判別する判別部をさらに備え、
前記判別部は、前記命令の種類の判別において、前記命令が前記情報取得命令であるか否かの判別を行った後に、前記命令が前記アプリケーション選択命令であるか否かの判別を行う、請求項３に記載の情報処理装置。
【請求項５】
前記受信部が受信した命令のフォーマットのチェックを行うフォーマットチェック部を備え、
前記フォーマットチェック部は、前記実行部によって所定のアプリケーションが実行されている場合は、前記命令のフォーマットのチェックを停止する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記受信部が命令を受信した場合、前記記憶部に記憶されたテーブルに付加された応答可否フラグの状態によって、受信した命令に対応する応答判断を行う、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信ステップと、
前記受信ステップで受信した所定の命令と、前記受信ステップで受信した所定の命令に含まれる所定の情報とアプリケーションを識別するための情報とが関連付けされたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成ステップと、
前記生成ステップで生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行ステップと、
を有する、情報処理方法。
【請求項８】
コンピュータを、
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、
前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、
前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、
前記生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部と、
として機能させるためのプログラム。
【請求項９】
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、
前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションの情報とが関連付けされたテーブルを記憶する記憶部と、
前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行する実行部と、
を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、情報の記録や演算を行うことのできる集積回路を組み込んだＩＣ（Integrated Circuit）カードが実用化されている。中でも、集積回路内にプロセッサを備え、高度な情報処理を実現するスマートカードとも呼ばれるＩＣカードは、日常生活における決済手段や個人識別手段として近年様々な用途に広く用いられている。
【０００３】
ＩＣカード上での情報処理は通常、ＩＣカードとの間で通信可能な外部装置から与えられる命令を受けて行われる。ＩＣカードに与えられる命令には、情報の入出力や演算、又はセキュリティ処理などをＩＣカードに実行させる様々なものが存在する。そこで、近年開発された多くのＩＣカードは、そうした命令群を実行する基盤となるオペレーティングシステム（以下、ＯＳ（Operating System）という。）を回路内に搭載している。そして、異なる規格に従った複数の外部装置との間でＩＣカードを連携可能にしてＩＣカードの汎用性を高めるために、ＩＣカードに複数の種類のＯＳが搭載される場合もある。
【０００４】
複数のＯＳを搭載したＩＣカードに関連する技術としては、例えば、下記特許文献１に記載の技術が公知である。例えば、下記特許文献１では、外部装置と接触式で通信を行う場合と非接触式で通信を行う場合とで受け渡しされるメッセージの構造が異なっていても、各々のメッセージに対応した処理を行うことを可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２４２４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、複数のＯＳを搭載したＩＣカードにおいて、あるＯＳを他のＯＳの実行環境上で動作させたい場合がある。例えば、Ｊａｖａ（登録商標）  ＣａｒｄＯＳやＦｅｌｉＣａ（登録商標）ＯＳなどの複数のＯＳを搭載したＩＣカードにおいて、ＦｅｌｉＣａＯＳを搭載する代わりに、Ｊａｖａ  ＣａｒｄＯＳにＦｅｌｉＣａＯＳを模倣したアプリケーションを組み込んで、ＦｅｌｉＣａＯＳをＪａｖａ  ＣａｒｄＯＳの実行環境上で動作させたい場合がある。ＦｅｌｉＣａＯＳを模倣したアプリケーションは、Ｊａｖａ  ＣａｒｄＯＳの実行環境上で実行されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。なお、上述したＦｅｌｉＣａＯＳを模倣したアプリケーションとは、本来ＯＳが管理しているハードウェア周りのアクセス制御やタスクスケジューリング機能、暗号機能、レジスタ設定などを除き、Ｊａｖａ  ＣａｒｄＯＳの実行環境を経由して制御するように変更を加えたものであり、ファイルシステム管理や、コマンド解釈機能、コマンド内容に沿った処理、レスポンス生成などの機能を実行可能な形態に変形したものである。ＶＭ  Ｗａｒｅ（登録商標）のような仮想マシンをカード上で構築することが可能であれば、現在のＯＳをそのままの形で搭載することも可能であり、その場合にＦｅｌｉＣａＯＳを模倣したアプリケーションが指す意味は、異なる実行環境上で動作可能なＦｅｌｉＣａＯＳと同義になる。
【０００７】
なお、ＯＳにおけるすべての機能を完全な形で移植することに限らず、限定的な機能や一部の機能を抜粋した形で提供される場合も本アプリケーションが指し示す実現可能な形態の範疇である。この場合、Ｊａｖａ  ＣａｒｄＯＳは、後からアプリケーションとして機能を追加することができるため、必要に応じてＦｅｌｉＣａＯＳを後から追加することが可能である。部分的に模倣したアプリケーションは、１つのサービスの提供形態としてＪａｖａ  ＣａｒｄＯＳに後から追加したり、削除したりすることで、多様なサービスの入れ替えを実現することも可能である。
【０００８】
しかしながら、上述したようにＪａｖａ  ＣａｒｄＯＳの実行環境上でＦｅｌｉＣａＯＳを模倣したアプリケーションを実行する場合は、ＦｅｌｉＣａＯＳが動作する実行環境が通常とは異なるため、Ｊａｖａ  ＣａｒｄＯＳのインタフェース上の制約により、通常のＦｅｌｉＣａＯＳで使用している伝送プロトコルやコマンドフォーマットが利用できないという問題がある。また、外部装置が送信するコマンドの仕様を変更するのは好ましくない。
【０００９】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、外部装置からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するＯＳに対して、外部装置からの命令を実行させることが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある観点によれば、第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、前記生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部とを備える情報処理装置が提供される。
【００１１】
前記実行部は、前記第１のオペレーティングシステムの実行環境上で所定のアプリケーションを実行することにより、前記第２のオペーティングシステムが生成する処理結果と同様の処理結果を出力してもよい。
【００１２】
前記所定の命令は、第２のオペレーティングシステムの伝送プロトコル上で用いられる命令であり、カードを検知し、特定のカードから情報を取得する用途を持つ情報取得命令ある。その際に、所定のメモリ領域があるカードだけを選択して情報を取得するために、領域を指定するための領域情報が付加される場合がある。前記所定の情報は、前記情報取得命令に含まれる、前記カードが保有する所定のメモリ領域を識別するための領域情報であってもよい。第２のオペレーティングシステムは、その領域情報が付いた情報取得命令を受けると、指定された領域が選択された状態になる。
【００１３】
前記受信部が受信した命令の種類を判別する判別部をさらに備え、前記判別部は、前記命令の種類の判別において、前記命令が前記情報取得命令であるか否かの判別を行った後に、前記命令が前記アプリケーション選択命令であるか否かの判別を行ってもよい。
【００１４】
前記受信部が受信した命令のフォーマットのチェックを行うフォーマットチェック部を備え、前記フォーマットチェック部は、前記実行部によって所定のアプリケーションが実行されている場合は、前記命令のフォーマットのチェックを停止してもよい。または、所定の通信経路から命令を受け取った場合、前記命令のフォーマットのチェックを停止してもよい。
【００１５】
前記受信部が命令を受信した場合、前記記憶部に記憶されたテーブルに付加された応答可否フラグの状態によって、受信した命令に対応する応答判断を行ってもよい。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信ステップと、前記受信ステップで受信した所定の命令と、前記受信ステップで受信した所定の命令に含まれる所定の情報とアプリケーションを識別するための情報とが関連付けされたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成ステップと、前記生成ステップで生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行ステップとを有する情報処理方法が提供される。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、前記生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部として機能させるためのプログラムが提供される。
【００１８】
また、上記課題を解決するために、本発明の別の観点によれば、第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションの情報とが関連付けされたテーブルを記憶する記憶部と、前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行する実行部とを備える情報処理装置が提供される。
【発明の効果】
【００１９】
以上説明したように本発明によれば、外部装置からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するＯＳを模倣したアプリケーションに対して、外部装置からの命令を実行させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。
【図２】図１における情報処理装置が受信する情報取得命令のフォーマットの一例を示す説明図である。
【図３】図１における情報処理装置の命令処理部に入力されるアプリケーション選択命令のフォーマットの一例を示す説明図である。
【図４Ａ】図１における情報処理装置の記憶部に記憶されているテーブルＴＢＬ１Ａの一例を示す説明図である。
【図４Ｂ】図１における情報処理装置の記憶部に記憶されているテーブルＴＢＬ１Ｂの一例に応答可否フラグを付加した説明図である。
【図５】図１における情報処理装置の記憶部に記憶されているテーブルＴＢＬ２の一例を示す説明図である。
【図６】図１における情報処理装置が実行する情報処理のフローチャートである。
【図７】本発明の第２の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。
【図８】図７における情報処理装置が実行する情報処理のフローチャートである。
【図９】本発明の各実施の形態に係る情報処理装置の変形例の概略構成を主に示すブロック図である。
【図１０】図９における情報処理装置が実行するフォーマットチェック処理のフローチャートである。
【図１１】図９における情報処理装置が実行する他のフォーマットチェック処理のフローチャートである。
【図１２】各実施の形態に係る一連の処理が動作するハードウェアの構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２２】
なお、説明は以下の順序で行うものとする。
１．本発明の第１の実施の形態に係る情報処理装置
２．情報処理のフローチャート
３．本発明の第２の実施の形態に係る情報処理装置
４．情報処理のフローチャート
５．本発明の各実施の形態に係る情報処理装置の変形例
６．フォーマットチェック処理のフローチャート
７．他のフォーマットチェック処理のフローチャート
【００２３】
［本発明の第１の実施の形態に係る情報処理装置］
まず、本発明の第１の実施の形態に係る情報処理装置について説明する。図１は、本発明の第１の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。図１には、外部装置２００および情報処理装置１００が描かれている。
【００２４】
図１において、外部装置２００は、情報処理装置１００との間で通信することのできる通信装置である。例えば、外部装置２００は、情報処理装置１００に記録された情報を読み書きするリーダ／ライタであってもよい。また、外部装置２００は、情報処理装置１００に実装された機能を利用して任意のアプリケーションをユーザに提供する情報処理装置であってもよい。
【００２５】
一方、情報処理装置１００は、典型的には、接触型又は非接触型のＩＣカードやＩＣチップなどとして実現される。また、情報処理装置１００は、携帯電話などの情報通信端末に設けられる通信モジュールなどであってもよい。情報処理装置１００は、後述するように、自装置の記録する情報の入出力や様々な演算を実行するための命令群を提供する。そして、情報処理装置１００は、外部装置２００から命令が入力されると、その命令に対応する処理を実行し、外部装置２００へ応答を出力する。
【００２６】
情報処理装置１００は、通信部１１０と、オペレーティングシステム（以下、「ＯＳ」という。）１２０とを備える。
【００２７】
通信部１１０は、本発明の受信部の一例であり、情報処理装置１００による外部装置２００との間の通信を仲介する通信インタフェースである。外部装置２００から情報処理装置１００への命令の入力及び情報処理装置１００から外部装置２００への応答の出力は、通信部１１０を経由して行われる。例えば、情報処理装置１００が外部装置２００との間で非接触型の通信を行う場合には、通信部１１０は、ＩＳＯ／ＩＥＣ１４４４３、ＩＳＯ／ＩＥＣ１８０９２（別名：ＮＦＣ（Near Field Communication））などの標準規格に従った通信インタフェースなどとして実現され得る。または、ＮＦＣなどの通信インタフェースが別の機器やモジュールとして実現される場合は、通信部１１０は、その機器と通信するためのインタフェースになり、その機器を経由して外部装置２００と通信することになる。例えば、通信モジュールがＣＬＦ（ContactLess Front end）として外出しになる場合は、通信部１１０はＥＴＳＩ（European Telecommunications Standards Institute）で規定されているＨＣＩ／ＳＷＰなどのインタフェースを制御するモジュールとして動作する。
【００２８】
ＯＳ１２０は、入力された命令に応じて、情報処理装置１００の有する情報の入出力や所定の演算を実行する。本明細書では、情報処理装置１００により実行可能な命令の集合を命令群と称する。例えば、ＯＳ１２０はＪａｖａ  Ｃａｒｄ（登録商標）ＯＳなどであってもよい。例えば、Ｊａｖａ  ＣａｒｄＯＳは、本発明の第１のオペレーティングシステムの一例である。
【００２９】
また、ＯＳ１２０は、実行環境１３０と、アプリケーションＡ１５０と、アプリケーションＢ１６０と、アプリケーションＣ１７０とを備える。
【００３０】
実行環境１３０は、ＯＳ１２０が命令群を実行するための基盤となるソフトウェア群である。実行環境１３０は、パケット解釈部１３２、アプリケーション選択命令生成部１３４、命令処理部１３６および記憶部１３８を主に含む。また、命令処理部１３６は、命令実行部１４０およびアプリケーション選択部１４２を主に含む。
【００３１】
パケット解釈部１３２は、通信部１１０が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるＯＳ１２０に対する命令の種類を識別する。命令の種類としては、例えば、ＦｅｌｉＣａＯＳが搭載されたカードを検知し、ＯＳから情報を取得する情報取得命令、ＯＳ１２０が実行するアプリケーションを選択するためのアプリケーション選択命令やその他の命令がある。このとき、通信パケットに含まれる命令は、一時記憶部（図示しない）に記憶されてもよい。
【００３２】
図２は、図１における情報処理装置１００が受信する情報取得命令のフォーマットの一例を示す説明図である。図２において、情報取得命令３００は、命令情報３０２および領域情報３０４を有する。命令情報３０２には、例えば、命令の種類を識別するための命令コードや、命令を実行するためのパラメータなどが含まれる。一方、領域情報３０４には、例えば、ＦｅｌｉＣａＯＳ、またはＦｅｌｉＣａＯＳを模したアプリケーションが保有する所定のメモリ領域を識別するための領域の情報などが含まれる。
【００３３】
パケット解釈部１３２は、本発明の判別部の一例であり、例えば、命令情報３０２に含まれる命令コードを参照して、外部装置２００から受信した命令が情報取得命令３００であると識別した場合は、この命令をアプリケーション選択命令生成部１３４に入力する。一方、パケット解釈部１３２は、外部装置２００から受信した命令がアプリケーション選択命令やその他の命令であると識別した場合は、これらの命令を命令処理部１３６に入力する。なお、パケット解釈部１３２は、外部装置２００から受信した命令がアプリケーション選択命令であると識別した場合は、この命令を命令処理部１３６のアプリケーション選択部１４２に入力する。そして、その後命令処理部１３６から上述した命令に対応する応答が出力された場合には、パケット解釈部１３２は、その応答を通信部１１０を介して外部装置２００に送信する。
【００３４】
アプリケーション選択命令生成部１３４は、パケット解釈部１３２により情報取得命令３００が入力されると、記憶部１３８から図４Ａに示すような領域情報とアプリケーション識別情報とが関連付けされたテーブルＴＢＬ１を読み出す。そして、アプリケーション選択命令生成部１３４は、読み出したテーブルＴＢＬ１を参照して、入力された情報取得命令３００に含まれる領域情報３０４に関連付けされたアプリケーション識別情報を判別する。例えば、情報取得命令３００に含まれる領域情報３０４が“ＡＡＡＡ”である場合は、“０００１”がアプリケーション識別情報として判別される。なお、本実施の形態では、アプリケーションＡ１５０に対応するアプリケーション識別情報は“０００１”であるものとする。アプリケーション識別情報は、Ｊａｖａ  ＣａｒｄＯＳなどのＯＳ１２０が管理しているアプリケーションを識別するための情報である。アプリケーション識別情報を判別した後、アプリケーション選択命令生成部１３４は、図３に示すような、ＯＳ１２０が実行するアプリケーションを選択するためのアプリケーション選択命令３５０を生成する。アプリケーション選択命令生成部１３４は、生成したアプリケーション選択命令３５０を命令処理部１３６のアプリケーション選択部１４２に入力する。
【００３５】
図４Ｂに示すように、領域情報３０４に対応する応答可否フラグがＴＢＬ１Ｂに付与されている場合は、「応答不可」のフラグが設定されていたら、アプリケーション選択命令生成部１３４は領域情報３０４から関連付けされたアプリケーション識別情報を判別する処理が必要ないと判断し、無応答もしくは、外部装置２００から受信した命令に対するエラーを外部装置に返す。「応答可」のフラグが設定されている場合は、前記に記載の通り、アプリケーション選択命令３５０を生成し、アプリケーション選択部１４２に前記の命令を渡す。
【００３６】
図３は、図１における情報処理装置１００の命令処理部１３６に入力されるアプリケーション選択命令のフォーマットの一例を示す説明図である。図３において、アプリケーション選択命令３５０は、命令情報３５２およびアプリケーション識別情報３５４を有する。命令情報３５２には、例えば、命令の種類を識別するための命令コードや、命令を実行するためのパラメータなどが含まれる。一方、アプリケーション識別情報３５４には、ＯＳ１２０が実行するアプリケーションの識別情報などが含まれる。上記フォーマットはアプリケーション選択命令として外部機器から渡される命令を模したものであるが、アプリケーション選択部１４２がすでに上記情報を各要素に分解して解釈している場合は、その形態に合わせて入力してもよい。その場合、命令コードはなく、ＡＰＩのようなモジュール間のインタフェースに対するパラメータ渡しがその１例となる。
【００３７】
命令処理部１３６は、命令実行部１４０およびアプリケーション選択部１４２を主に含む。命令実行部１４０は、命令処理部１３６に入力されたアプリケーション選択命令３５０以外の命令を実行する。アプリケーション選択部１４２は、本発明の実行部の一例であり、命令処理部１３６に入力されたアプリケーション選択命令３５０を実行する。例えば、アプリケーション選択部１４２は、記憶部１３８から図５に示すようなアプリケーション識別情報とアプリケーション格納領域とが関連付けされたテーブルＴＢＬ２を読み出す。ＴＢＬ２は、Ｊａｖａ  ＣａｒｄＯＳなどのＯＳ１２０が管理しているアプリケーション識別情報と格納領域を対応付けて管理するテーブルであり、この管理方法は１例であり、必ずしもテーブルではなく、リスト型のように開始地点、終了地点の繰り返しで、アプリケーションの格納領域を管理している場合も想定内である。そして、アプリケーション選択部１４２は、読み出したテーブルＴＢＬ２を参照して、入力されたアプリケーション選択命令３５０に含まれるアプリケーション識別情報３５４に関連付けされたアプリケーション格納領域を判別する。例えば、アプリケーション選択命令３５０に含まれるアプリケーション識別情報３５４が“０００１”である場合は、“０−１０００番地”、すなわち、アプリケーションＡ１５０が格納されたメモリ番地を指定することで、アプリケーションの実行可能プログラムを判別する。このメモリ番地はＪａｖａ
ＣａｒｄＯＳが管理しているメモリを論理的に解釈して番号を振った相対番地を想定しているが、ＯＳが物理的な番地を用いて直接管理する場合は、物理的なメモリの識別子とアドレスなどの絶対番地を採用しても問題ない。アプリケーションの実行可能プログラムを判別した後、命令実行部１４０は、判別したアプリケーションの実行可能プログラムを実行する。命令処理部１３６は、命令実行部１４０やアプリケーション選択部１４２が実行した命令の応答をパケット解釈部１３２に出力する。
【００３８】
図４Ｂに記載される、領域情報に対する応答可否フラグは、前記の実行可能プログラムから、「応答可」「応答不可」の設定が可能であり、実行可能プログラムが持つ状態によって、設定内容が変化する。
【００３９】
アプリケーションが非選択状態になった場合やカードの電源がＯＦＦになった場合、アプリケーションからフラグの設定ができなくなるため、その場合はＯＳによってデフォルト値の設定、もしくは値の初期化が行われる。
【００４０】
フラグ設定のフローは、ＯＳが起動時にすべてのフラグが初期化され、選択された実行可能プログラムによってフラグの設定がされ、その実行可能プログラムが非選択状態になると、ＯＳが対応するフラグの再初期化を実施する。
【００４１】
ＯＳがフラグを再初期化する場合、ＯＳは非選択された実行可能プログラムが分かるため、そこからアプリケーション識別情報を取り出し、アプリケーション識別情報から領域情報を算出し、その領域情報に対応する応答可否フラグを再初期化する流れになる。
【００４２】
アプリケーションＡ１５０、アプリケーションＢ１６０、アプリケーションＣ１７０は、ＯＳ１２０上で動作する任意のアプリケーションである。本実施の形態では、アプリケーションＡ１５０は、例えば、ＦｅｌｉＣａ（登録商標）ＯＳを模倣したアプリケーションである。このアプリケーションＡ１５０は、ＯＳ１２０の実行環境１３０上で実行されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。例えば、ＦｅｌｉＣａＯＳは、本発明の第２のオペレーティングシステムの一例である。ここで、“アプリケーション”という用語には、アプレットや、より単純なロジックのみを含むソフトウェアなども含まれる。
【００４３】
［情報処理］
以下、図１における情報処理装置１００が実行する情報処理について説明する。図６は、図１における情報処理装置１００が実行する情報処理のフローチャートである。
【００４４】
図６において、まず、情報処理装置１００の通信部１１０は、外部装置２００から通信パケットを受信して（ステップＳ６０２）、受信した通信パケットをパケット解釈部１３２に送信する。
【００４５】
次いで、情報処理装置１００のパケット解釈部１３２は、通信部１１０から受信した通信パケットの解釈を行う（ステップＳ６０４）。そして、情報処理装置１００のパケット解釈部１３２は、ステップＳ６０４での通信パケットの解釈により、通信パケットに含まれる命令が上述した情報取得命令であるか否かを判別する（ステップＳ６０６）。
【００４６】
ステップＳ６０６の判別の結果、通信パケットに含まれる命令が情報取得命令であるときは（ステップＳ６０６でＹＥＳ）、情報処理装置１００のパケット解釈部１３２は、情報取得命令を情報処理装置１００のアプリケーション選択命令生成部１３４に入力する。情報処理装置１００のアプリケーション選択命令生成部１３４は、記憶部１３８から図４Ａに示すテーブルＴＢＬ１Ａを読み出して（ステップＳ６０８）、入力された情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を含む図３に示すアプリケーション選択命令を生成する（ステップＳ６１０）。そして、アプリケーション選択命令生成部１３４は、ステップＳ６１０で生成したアプリケーション選択命令を情報処理装置１００の命令処理部１３６におけるアプリケーション選択部１４２に入力して、ステップＳ６１２の処理に進む。
【００４７】
一方、ステップＳ６０６の判別の結果、通信パケットに含まれる命令が情報取得命令でないときは（ステップＳ６０６でＮＯ）、情報処理装置１００のパケット解釈部１３２は、通信パケットに含まれる命令が上述したアプリケーション選択命令であるか否かを判別する（ステップＳ６１８）。
【００４８】
ステップＳ６１８の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令であるときは（ステップＳ６１８でＹＥＳ）、情報処理装置１００のパケット解釈部１３２は、アプリケーション選択命令を情報処理装置１００の命令処理部１３６におけるアプリケーション選択部１４２に入力して、ステップＳ６１２の処理に進む。
【００４９】
続くステップＳ６１２の処理では、情報処理装置１００のアプリケーション選択部１４２は、入力されたアプリケーション選択命令を実行して、アプリケーションを選択的に実行する（ステップＳ６１２）。例えば、情報処理装置１００のアプリケーション選択部１４２は、記憶部１３８から図５に示すテーブルＴＢＬ２を読み出して、入力されたアプリケーション選択命令に含まれるアプリケーション識別情報に対応するアプリケーションを実行する。本実施の形態では、アプリケーションＡ１５０は、ＦｅｌｉＣａＯＳを模倣したアプリケーションであり、ＯＳ１２０の実行環境１３０上で実行されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。そして、ステップＳ６１４の処理に進む。
【００５０】
一方、ステップＳ６１８の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令でないときは（ステップＳ６１８でＮＯ）、情報処理装置１００のパケット解釈部１３２は、その他の命令を情報処理装置１００の命令処理部１３６における命令実行部１４０に入力する。
【００５１】
次いで、情報処理装置１００の命令実行部１４０は、入力されたその他の命令を実行して（ステップＳ６２０）、ステップＳ６１４の処理に進む。
【００５２】
続くステップＳ６１４の処理では、情報処理装置１００の命令処理部１３６は、命令実行部１４０またはアプリケーション選択部１４２において実行した命令の実行結果を含む応答を生成する（ステップＳ６１４）。そして、情報処理装置１００の命令処理部１３６は、ステップＳ６１４で生成した応答を情報処理装置１００のパケット解釈部１３２に入力する。
【００５３】
次いで、情報処理装置１００のパケット解釈部１３２は、入力された応答を通信部１１０を介して外部装置２００に送信して（ステップＳ６１６）、本処理を終了する。
【００５４】
図６の情報処理によれば、通信パケットに含まれる命令が情報取得命令であるときに、情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を含むアプリケーション選択命令を生成して、生成したアプリケーション選択命令を実行することにより、アプリケーションを選択的に実行する。例えば、情報処理装置１００において、ＦｅｌｉＣａＯＳを搭載する代わりに、ＯＳ１２０にＦｅｌｉＣａＯＳを模倣したアプリケーションＡ１５０を組み込む場合、通常のＦｅｌｉＣａＯＳで使用している伝送プロトコルやコマンドフォーマットは利用できない。しかし、情報取得命令は通常、ＦｅｌｉＣａＯＳで使用している伝送プロトコルに対応するものである。上述した情報処理によりＦｅｌｉＣａＯＳを模倣したアプリケーションＡ１５０が選択されて、ＯＳ１２０の実行環境１３０上で実行されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。これにより、外部装置２００からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するＯＳを模倣したアプリケーションに対して、外部装置２００からの命令を実行させることができる。
【００５５】
［本発明の第２の実施の形態に係る情報処理装置］
以下、本発明の第２の実施の形態に係る情報処理装置について説明する。本発明の第２の実施の形態に係る情報処理装置は、上述した本発明の第１の実施の形態に係る情報処理装置と比較して、アプリケーション選択命令生成部を有していない点とが相違する。以下では、本発明の第２の実施の形態に係る情報処理装置について、主に本発明の第１の実施の形態に係る情報処理装置との相違点について説明し、本発明の第１の実施の形態に係る情報処理装置と同一構成については詳細な説明を省略する。図７は、本発明の第２の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。図７には、外部装置５００および情報処理装置４００が描かれている。
【００５６】
図７において、情報処理装置４００は、通信部４１０と、ＯＳ４２０とを備える。また、ＯＳ４２０は、実行環境４３０と、アプリケーションＡ４５０と、アプリケーションＢ４６０と、アプリケーションＣ４７０とを備える。通信部４１０は、本発明の受信部の一例である。実行環境４３０は、パケット解釈部４３２、命令処理部４３６および記憶部４３８を主に含む。また、命令処理部４３６は、命令実行部４４０およびアプリケーション選択部４４２を主に含む。
【００５７】
パケット解釈部４３２は、本発明の判別部の一例であり、通信部４１０が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるＯＳ４２０に対する命令の種類を識別する。また、パケット解釈部４３２は、外部装置５００から受信した命令が情報取得命令またはアプリケーション選択命令であると識別した場合は、これらの命令を命令処理部４３６におけるアプリケーション選択部４４２に入力する。一方、パケット解釈部４３２は、外部装置５００から受信した命令がその他の命令であると識別した場合は、この命令を命令処理部４３６における命令実行部４４０に入力する。そして、その後命令処理部４３６から上述した命令に対応する応答が出力された場合には、パケット解釈部４３２は、その応答を通信部４１０を介して外部装置５００に送信する。
【００５８】
命令処理部４３６は、命令実行部４４０およびアプリケーション選択部４４２を主に含む。命令実行部４４０は、入力されたその他の命令を実行する。アプリケーション選択部４４２は、本発明の実行部の一例であり、命令処理部４３６に入力された情報取得命令またはアプリケーション選択命令を実行する。例えば、アプリケーション選択部４４２は、情報取得命令の実行において、記憶部４３８から図４Ａに示すような領域情報とアプリケーションとが関連付けされたテーブルＴＢＬ１Ａを読み出す。そして、アプリケーション選択部４４２は、読み出したテーブルＴＢＬ１Ａを参照して、入力された情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を判別する。例えば、情報取得命令に含まれる領域情報が“ＡＡＡＡ”である場合は、“０００１”が実行するアプリケーション識別情報として判別される。アプリケーション識別情報を判別した後、アプリケーション選択部４４２は、指定されたアプリケーション識別情報を用いて、判別したアプリケーションを呼び出す。アプリケーション選択部４４２は図５に示すようなＴＢＬ２を用いてアプリケーション識別情報からアプリケーション格納位置を判明させる。命令処理部４３６は、命令実行部４４０やアプリケーション選択部４４２が実行した命令の応答をパケット解釈部４３２に出力する。
【００５９】
アプリケーションＡ４５０、アプリケーションＢ４６０、アプリケーションＣ４７０は、ＯＳ４２０上で動作する任意のアプリケーションである。本実施の形態では、アプリケーションＡ４５０は、例えば、ＦｅｌｉＣａ（登録商標）ＯＳを模倣したアプリケーションである。このアプリケーションＡ４５０は、ＯＳ４２０の実行環境４３０上で実行されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。
【００６０】
［情報処理］
以下、図７における情報処理装置４００が実行する情報処理について説明する。図８は、図７における情報処理装置４００が実行する情報処理のフローチャートである。
【００６１】
図８において、まず、情報処理装置４００の通信部４１０は、外部装置５００から通信パケットを受信して（ステップＳ９０２）、受信した通信パケットをパケット解釈部４３２に送信する。
【００６２】
次いで、情報処理装置４００のパケット解釈部４３２は、通信部４１０から受信した通信パケットの解釈を行う（ステップＳ９０４）。そして、情報処理装置４００のパケット解釈部４３２は、ステップＳ９０４での通信パケットの解釈により、通信パケットに含まれる命令が上述した情報取得命令であるか否かを判別する（ステップＳ９０６）。
【００６３】
ステップＳ９０６の判別の結果、通信パケットに含まれる命令が情報取得命令であるときは（ステップＳ９０６でＹＥＳ）、情報処理装置４００のパケット解釈部４３２は、情報取得命令を情報処理装置４００の命令処理部４３６におけるアプリケーション選択部４４２に入力する。情報処理装置１００のアプリケーション選択部４４２は、記憶部４３８から図４Ａ，５に示すテーブルＴＢＬ１Ａ，２を読み出して（ステップＳ９０８）、ステップＳ９１０の処理に進む。
【００６４】
一方、ステップＳ９０６の判別の結果、通信パケットに含まれる命令が情報取得命令でないときは（ステップＳ９０６でＮＯ）、情報処理装置４００のパケット解釈部４３２は、通信パケットに含まれる命令が上述したアプリケーション選択命令であるか否かを判別する（ステップＳ９１６）。
【００６５】
ステップＳ９１６の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令であるときは（ステップＳ９１６でＹＥＳ）、情報処理装置４００のパケット解釈部４３２は、アプリケーション選択命令を情報処理装置４００の命令処理部４３６におけるアプリケーション選択部４４２に入力して、ステップＳ９１０の処理に進む。
【００６６】
続くステップＳ９１０の処理では、情報処理装置４００のアプリケーション選択部４４２は、入力された情報取得命令またはアプリケーション選択命令を実行して、アプリケーションを選択的に実行する（ステップＳ９１０）。例えば、情報処理装置４００のアプリケーション選択部４４２は、情報取得命令が入力された場合、ステップＳ９０８で読み出したテーブルＴＢＬ１Ａ，２を参照して、入力された情報取得命令に含まれる領域情報に対応するアプリケーションを実行する。本実施の形態では、アプリケーションＡ４５０は、ＦｅｌｉＣａＯＳを模倣したアプリケーションであり、ＯＳ４２０の実行環境４３０上で実行されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。そして、ステップＳ９１２の処理に進む。
【００６７】
一方、ステップＳ９１６の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令でないときは（ステップＳ９１６でＮＯ）、情報処理装置４００のパケット解釈部４３２は、その他の命令を情報処理装置４００の命令処理部４３６における命令実行部４４０に入力する。
【００６８】
次いで、情報処理装置４００の命令実行部４４０は、入力されたその他の命令を実行して（ステップＳ９１８）、ステップＳ９１２の処理に進む。
【００６９】
続くステップＳ９１２の処理では、情報処理装置４００の命令処理部４３６は、命令実行部４４０またはアプリケーション選択部４４２において実行した命令の実行結果を含む応答を生成する（ステップＳ９１２）。そして、情報処理装置４００の命令処理部４３６は、ステップＳ９１２で生成した応答を情報処理装置４００のパケット解釈部４３２に入力する。
【００７０】
次いで、情報処理装置４００のパケット解釈部４３２は、入力された応答を通信部４１０を介して外部装置５００に送信して（ステップＳ９１４）、本処理を終了する。
【００７１】
図８の情報処理によれば、通信パケットに含まれる命令が情報取得命令であるときに、情報取得命令を実行するため、情報取得命令に含まれる領域情報に対応するアプリケーションを選択的に実行する。これにより、上述した図６の情報処理と同様の効果を奏することができる。また、図７における情報処理装置４００は、図１における情報処理装置１００と比較して、アプリケーション選択命令生成部１３４を備えていないので、上述した情報処理を単純化することができる。
【００７２】
［本発明の各実施の形態に係る情報処理装置の変形例］
以下、本発明の各実施の形態に係る情報処理装置１００，４００の変形例について説明する。図９は、本発明の各実施の形態に係る情報処理装置１００，４００の変形例の概略構成を主に示すブロック図である。図９には、外部装置１００，５００および情報処理装置１００，４００が描かれている。
【００７３】
図９において、情報処理装置１００，４００は、通信部１１０，４１０と、ＯＳ１２０，４２０とを備える。また、ＯＳ１２０，４２０は、実行環境１３０，４３０と、アプリケーションＡ１５０，４５０と、アプリケーションＢ１６０，４６０と、アプリケーションＣ１７０，４７０とを備える。実行環境１３０，４３０は、パケット解釈部１３２，４３２、フォーマットチェック部６００および命令処理部１３６，４３６を主に含む。
【００７４】
パケット解釈部１３２，４３２は、通信部１１０，４１０が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるＯＳ１２０，４２０に対する命令の種類を識別する。そして、パケット解釈部１３２，４３２は、外部装置２００，５００から受信した命令をフォーマットチェック部６００に入力する。フォーマットチェック部６００は、パケット解釈部１３２，４３２から入力された命令のフォーマットのチェックを行う。そして、フォーマットチェック部６００は、命令のフォーマットのチェックの結果、命令が所定のフォーマットであるときは、命令を命令処理部１３６，４３６に入力する。命令処理部１３６，４３６は、フォーマットチェック部６００から入力された命令を実行する。
【００７５】
［フォーマットチェック処理］
以下、図９における情報処理装置が実行するフォーマットチェック処理について説明する。図１０は、図９における情報処理装置１００，４００が実行するフォーマットチェック処理のフローチャートである。本処理は、情報処理装置１００，４００において、上述した図６または図８の情報処理を実行する際に外部装置２００，６００から受信する通信パケットのフォーマットのチェックを行う処理である。また、本処理は、情報処理装置１００，４００のフォーマットチェック部６００が実行する処理である。
【００７６】
図１０において、まず、情報処理装置１００，４００のフォーマットチェック部６００は、上述した図６または図８の情報処理を実行した結果、情報処理装置１００，４００においてアプリケーションＡ１５０，４５０が選択されているか否かを判別する（ステップＳ１１０２）。
【００７７】
ステップＳ１１０２の判別の結果、情報処理装置１００，４００においてアプリケーションＡ１５０，４５０が選択されているときは（ステップＳ１１０２でＹＥＳ）、情報処理装置１００，４００のフォーマットチェック部６００は、命令のフォーマットのチェックを停止して、すなわち、全ての命令を命令処理部１３６，４３６に入力して（ステップＳ１１０４）、本処理を終了する。
【００７８】
一方、ステップＳ１１０２の判別の結果、情報処理装置１００，４００においてアプリケーションＡ１５０，４５０が選択されていないときは（ステップＳ１１０２でＮＯ）、情報処理装置１００，４００のフォーマットチェック部６００は、命令のフォーマットのチェックを実施して、命令が所定のフォーマットであるときは、命令を命令処理部１３６，４３６に入力して（ステップＳ１１０６）、本処理を終了する。
【００７９】
図１０のフォーマットチェック処理によれば、情報処理装置１００，４００においてアプリケーションＡ１５０，４５０が選択されているときは、フォーマットチェック部６００での命令のフォーマットのチェックが停止される。上述したようにアプリケーションＡ１５０，４５０は、ＦｅｌｉＣａＯＳを模倣したアプリケーションであり、ＯＳ１２０，４２０の実行環境１３０，４３０上で動作されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。Ｊａｖａ  ＣａｒｄＯＳに入力される命令と、ＦｅｌｉＣａＯＳに入力される命令とは、そのフォーマットは異なるため、フォーマットチェック部６００での命令のフォーマットのチェックを停止することにより、ＦｅｌｉＣａＯＳに対して入力される命令をＦｅｌｉＣａＯＳを模倣したアプリケーションに確実に渡すことができる。
【００８０】
なお、図１０のフォーマットチェック処理では、アプリケーションの選択状態によって、フォーマットチェックの必要性の可否を決めているが、通信部１１０，４１０が命令を受信する形態によって、フォーマットチェックが必要か否かを判断することも可能である。
【００８１】
通信部１１０，４１０は、ＮＦＣのような非接触の通信機能を有し外部機器と通信する場合や、通信部に別の機器、チップが繋がっており、そこから命令を受信する場合など、多様な入力形態を実現することが可能であり、その経路によって、フォーマットチェックが必要か否かを判断することができる。
【００８２】
［他のフォーマットチェック処理］
以下、図９における情報処理装置が実行する他のフォーマットチェック処理について説明する。図１１は、図９における情報処理装置１００，４００が実行する他のフォーマットチェック処理のフローチャートである。本処理は、情報処理装置１００，４００において、上述した図６または図８の情報処理を実行する際に外部装置２００，６００から受信する通信パケットのフォーマットのチェックを行う処理である。また、本処理は、情報処理装置１００，４００のフォーマットチェック部６００が実行する処理である。
【００８３】
図１１において、まず、情報処理装置１００，４００のフォーマットチェック部６００は、上述した図６または図８の情報処理を実行した結果、情報処理装置１００，４００における通信プロトコルが所定の通信プロトコルであるか否かを判別する（ステップＳ１２０２）。
【００８４】
ステップＳ１２０２の判別の結果、情報処理装置１００，４００における通信プロトコルが所定の通信プロトコルであるときは（ステップＳ１２０２でＹＥＳ）、情報処理装置１００，４００のフォーマットチェック部６００は、命令のフォーマットのチェックを停止して、すなわち、全ての命令を命令処理部１３６，４３６に入力して（ステップＳ１２０４）、本処理を終了する。
【００８５】
一方、ステップＳ１２０２の判別の結果、情報処理装置１００，４００における通信プロトコルが所定の通信プロトコルでないときは（ステップＳ１２０２でＮＯ）、情報処理装置１００，４００のフォーマットチェック部６００は、命令のフォーマットのチェックを実施して、命令が所定のフォーマットであるときは、命令を命令処理部１３６，４３６に入力して（ステップＳ１２０６）、本処理を終了する。
【００８６】
図１１のフォーマットチェック処理によれば、情報処理装置１００，４００における通信プロトコルが所定の通信プロトコルであるときは、フォーマットチェック部６００での命令のフォーマットのチェックが停止される。上述したようにアプリケーションＡ１５０，４５０は、ＦｅｌｉＣａＯＳを模倣したアプリケーションであり、ＯＳ１２０，４２０の実行環境１３０，４３０上で動作されると、ＦｅｌｉＣａＯＳが動作した際に生成される処理結果と等しくなる。Ｊａｖａ  ＣａｒｄＯＳに入力される命令と、ＦｅｌｉＣａＯＳに入力される命令とは、そのフォーマットは異なるため、フォーマットチェック部６００での命令のフォーマットのチェックを停止することにより、ＦｅｌｉＣａＯＳに対して入力される命令を、ＦｅｌｉＣａＯＳを模倣したアプリケーションに確実に渡すことができる。
【００８７】
なお、本明細書において説明した第１及び第２の実施の形態に係る一連の処理は、典型的には情報処理装置１００，４００に設けられたコンピュータ上で動作するソフトウェアにより実現される。図１２は、各実施の形態に係る一連の処理が動作するハードウェアの構成の一例を示すブロック図である。
【００８８】
図１２において、ＣＰＵ９０２は、情報処理装置１００，４００の動作全般を制御する。ＲＯＭ（Read Only Memory）９０４には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。ＲＡＭ９０６には、ＣＰＵ９０２により実行されるプログラムやデータなどが一時的に記憶される。不揮発性メモリ９０８は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ＲＯＭ）などであり、後から追加したアプリケーションを格納することができる。
【００８９】
ＣＰＵ９０２、ＲＯＭ９０４、ＲＡＭ９０６、及び不揮発性メモリ９０８は、バス９１０を介して相互に接続される。バス９１０にはさらに、入出力インタフェース９１２が接続される。
【００９０】
ＣＰＵ９０２は、ＲＯＭ９０４、ＲＡＭ９０６、及び不揮発性メモリ９０８に接続することにより、上述したパケット解釈部１３２，４３２、アプリケーション選択命令生成部１３４、命令処理部１３６，４３６、アプリケーション選択部１４２，４４２、命令実行部１４０，４４０として機能する。通信回路９１４は、通信部１１０，４１０として機能する。
【００９１】
入出力インタフェース９１２は、ＣＰＵ９０２、ＲＯＭ９０４、ＲＡＭ９０６、及び不揮発性メモリ９０８と、通信回路９１４とを接続するためのインタフェースである。
【００９２】
通信回路９１４は、所定の通信プロトコルに従い、外部装置２００，５００との間で通信パケットを送受信する。通信回路９１４は、例えば、ＩＳＯ１４４４３の標準仕様に従った非接触型の通信、又はＩＳＯ７８１６の標準仕様に従った接触型の通信などをサポートしてもよい。
【００９３】
以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００９４】
例えば、図６、図８、図１０、図１１を用いて説明した処理を、必ずしもフローチャートに記載された順序に沿って実行しなくてもよい。各処理ステップは、並列的あるいは個別に独立して実行される処理を含んでもよい。
【００９５】
また、例えば、各ＯＳの有するアプリケーションの数は、本明細書に示した数に限定されない。アプリケーションは、例えば前述したＥＥＰＲＯＭの内容を書き換えるなどの方法により、必要に応じて追加又は削除され得る。
【符号の説明】
【００９６】
１００，４００    情報処理装置
１１０，４１０    通信部
１２０，４２０    ＯＳ
１３０，４３０    実行環境
１３２，４３２    パケット解釈部
１３４    アプリケーション選択命令生成部
１３６，４３６    命令処理部
１３８，４３８    記憶部
１４０，４４０    命令実行部
１４２，４４２    アプリケーション選択部
１５０，４５０    アプリケーションＡ
１６０，４６０    アプリケーションＢ
１７０，４７０    アプリケーションＣ
２００，５００    外部装置
６００    フォーマットチェック部
【図１】
2014186747.tif 000003
【図２】
2014186747.tif 000004
【図３】
2014186747.tif 000005
【図４Ａ】
2014186747.tif 000006
【図４Ｂ】
2014186747.tif 000007
【図５】
2014186747.tif 000008
【図６】
2014186747.tif 000009
【図７】
2014186747.tif 000010
【図８】
2014186747.tif 000011
【図９】
2014186747.tif 000012
【図１０】
2014186747.tif 000013
【図１１】
2014186747.tif 000014
【図１２】
2014186747.tif 000015
【手続補正書】
【提出日】平成26年7月1日(2014.7.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、
前記受信部が受信した命令の種類を判別する判別部と、
第一の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に、前記受信部が受信した命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に前記生成部が生成したアプリケーション選択命令を実行し、および、前記判別部により前記受信部が受信した命令が第二の命令であると判別された場合に前記受信部が受信した命令を実行して、アプリケーションを選択的に実行する実行部と、
を備える、情報処理装置。
【請求項２】
前記実行部は、前記第１のオペレーティングシステムの実行環境上で所定のアプリケーションを実行することにより、前記第２のオペレーティングシステムが生成する処理結果と同様の処理結果を出力する、請求項１に記載の情報処理装置。
【請求項３】
前記第一の命令は、前記第２のオペレーティングシステムに対応する所定のメモリ領域を選択するための情報取得命令であり、
前記所定の情報は、前記情報取得命令に含まれる、前記所定のメモリ領域を識別するための領域情報である、請求項１または２に記載の情報処理装置。
【請求項４】
前記判別部は、前記命令の種類の判別において、前記命令が前記情報取得命令であるか否かの判別を行った後に、前記命令が前記第二の命令であるか否かの判別を行う、請求項３に記載の情報処理装置。
【請求項５】
前記受信部が受信した命令のフォーマットのチェックを行うフォーマットチェック部を備え、
前記フォーマットチェック部は、前記実行部によって所定のアプリケーションが実行されている場合は、前記命令のフォーマットのチェックを停止する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記受信部が命令を受信した場合、前記記憶部に記憶されたテーブルに付加された応答可否フラグの状態によって、受信した命令に対応する応答判断を行う、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記命令を外部装置から受信する通信部をさらに備える、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記通信部は、前記命令を前記外部装置から非接触型の通信により受信する、請求項７に記載の情報処理装置。
【請求項９】
前記第１のオペレーティングシステムの実行環境上で実行され、前記第２のオペレーティングシステムが生成する処理結果と同様の処理結果が前記実行部により出力される、第１のアプリケーションと、第１のアプリケーションとは異なる第２のアプリケーションを備える、請求項１に記載の情報処理装置。
【請求項１０】
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信することと、
受信された命令の種類を判別することと、
受信された命令が第一の命令であると判別された場合に、前記第一の命令に含まれる所定の情報とアプリケーションを識別するための情報とが関連付けされたテーブルと、前記受信された命令とに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成することと、
前記受信された命令が前記第一の命令であると判別された場合に前記アプリケーション選択命令を実行し、および、前記受信された命令が第二の命令であると判別された場合に前記受信された命令を実行して、アプリケーションを選択的に実行することと、
を有する、情報処理方法。
【請求項１１】
前記命令を外部装置から受信することをさらに有する、請求項１０に記載の情報処理方法。
【請求項１２】
コンピュータを、
第１のオペレーティングシステムに入力される命令、および前記第１のオペレーティングシステムとは異なる第２のオペレーティングシステムに入力される命令を受信する受信部と、
前記受信部が受信した命令の種類を判別する判別部と、
第一の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に、前記受信部が受信した命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に前記生成部が生成したアプリケーション選択命令を実行し、および、前記判別部により前記受信部が受信した命令が第二の命令であると判別された場合に前記受信部が受信した命令を実行して、アプリケーションを選択的に実行する実行部と、
を備える、情報処理装置として機能させるためのプログラム。
【請求項１３】
前記情報処理装置は、前記命令を外部装置から受信する通信部をさらに備える、請求項１２に記載のプログラム。