JP5943036B2 - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP5943036B2
JP5943036B2 JP2014115561A JP2014115561A JP5943036B2 JP 5943036 B2 JP5943036 B2 JP 5943036B2 JP 2014115561 A JP2014115561 A JP 2014115561A JP 2014115561 A JP2014115561 A JP 2014115561A JP 5943036 B2 JP5943036 B2 JP 5943036B2
Authority
JP
Japan
Prior art keywords
instruction
unit
command
application
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014115561A
Other languages
Japanese (ja)
Other versions
JP2014186747A (en
Inventor
康雄 竹内
康雄 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2014115561A priority Critical patent/JP5943036B2/en
Publication of JP2014186747A publication Critical patent/JP2014186747A/en
Application granted granted Critical
Publication of JP5943036B2 publication Critical patent/JP5943036B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program.

従来、情報の記録や演算を行うことのできる集積回路を組み込んだIC(Integrated Circuit)カードが実用化されている。中でも、集積回路内にプロセッサを備え、高度な情報処理を実現するスマートカードとも呼ばれるICカードは、日常生活における決済手段や個人識別手段として近年様々な用途に広く用いられている。   Conventionally, an IC (Integrated Circuit) card incorporating an integrated circuit capable of recording and calculating information has been put into practical use. Among them, an IC card, which is also called a smart card that includes a processor in an integrated circuit and realizes advanced information processing, has been widely used for various purposes in recent years as a settlement means and personal identification means in daily life.

ICカード上での情報処理は通常、ICカードとの間で通信可能な外部装置から与えられる命令を受けて行われる。ICカードに与えられる命令には、情報の入出力や演算、又はセキュリティ処理などをICカードに実行させる様々なものが存在する。そこで、近年開発された多くのICカードは、そうした命令群を実行する基盤となるオペレーティングシステム(以下、OS(Operating System)という。)を回路内に搭載している。そして、異なる規格に従った複数の外部装置との間でICカードを連携可能にしてICカードの汎用性を高めるために、ICカードに複数の種類のOSが搭載される場合もある。   Information processing on an IC card is usually performed in response to a command given from an external device that can communicate with the IC card. There are various commands given to the IC card that cause the IC card to execute information input / output, computation, or security processing. Therefore, many IC cards developed in recent years have an operating system (hereinafter referred to as OS (Operating System)) as a base for executing such a group of instructions in a circuit. In order to enhance the versatility of the IC card by enabling the IC card to cooperate with a plurality of external devices according to different standards, there are cases where a plurality of types of OSs are mounted on the IC card.

複数のOSを搭載したICカードに関連する技術としては、例えば、下記特許文献1に記載の技術が公知である。例えば、下記特許文献1では、外部装置と接触式で通信を行う場合と非接触式で通信を行う場合とで受け渡しされるメッセージの構造が異なっていても、各々のメッセージに対応した処理を行うことを可能とする技術が開示されている。   As a technique related to an IC card equipped with a plurality of OSs, for example, a technique described in Patent Document 1 below is known. For example, in Patent Document 1 below, processing corresponding to each message is performed even if the structure of a message passed between the case of communicating with an external device in a contact type and the case of performing a non-contact type communication are different. Techniques that enable this are disclosed.

特開2005−242445号公報JP 2005-242445 A

ところで、複数のOSを搭載したICカードにおいて、あるOSを他のOSの実行環境上で動作させたい場合がある。例えば、Java(登録商標) CardOSやFeliCa(登録商標)OSなどの複数のOSを搭載したICカードにおいて、FeliCaOSを搭載する代わりに、Java CardOSにFeliCaOSを模倣したアプリケーションを組み込んで、FeliCaOSをJava CardOSの実行環境上で動作させたい場合がある。FeliCaOSを模倣したアプリケーションは、Java CardOSの実行環境上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。なお、上述したFeliCaOSを模倣したアプリケーションとは、本来OSが管理しているハードウェア周りのアクセス制御やタスクスケジューリング機能、暗号機能、レジスタ設定などを除き、Java CardOSの実行環境を経由して制御するように変更を加えたものであり、ファイルシステム管理や、コマンド解釈機能、コマンド内容に沿った処理、レスポンス生成などの機能を実行可能な形態に変形したものである。VM Ware(登録商標)のような仮想マシンをカード上で構築することが可能であれば、現在のOSをそのままの形で搭載することも可能であり、その場合にFeliCaOSを模倣したアプリケーションが指す意味は、異なる実行環境上で動作可能なFeliCaOSと同義になる。   By the way, in an IC card equipped with a plurality of OSs, there is a case where one OS wants to operate on the execution environment of another OS. For example, in an IC card equipped with a plurality of OSs such as Java (registered trademark) CardOS and FeliCa (registered trademark) OS, instead of installing FeliCaOS, an application imitating FeliCaOS is incorporated into Java CardOS, and FeliCaOS is installed in Java CardOS. You may want to run on the execution environment. When an application imitating FeliCaOS is executed on the execution environment of Java CardOS, the result of processing generated when FeliCaOS operates is equal. The application imitating the above-described FeliCaOS is controlled via the execution environment of the Java CardOS except for access control around the hardware originally managed by the OS, task scheduling function, encryption function, register setting, and the like. In this way, the file system management, command interpretation function, processing in accordance with command contents, response generation, and other functions are transformed into an executable form. If a virtual machine such as VMware (registered trademark) can be constructed on a card, the current OS can be installed as it is, and in this case, an application that imitates FeliCaOS indicates The meaning is synonymous with FeliCaOS that can operate on different execution environments.

なお、OSにおけるすべての機能を完全な形で移植することに限らず、限定的な機能や一部の機能を抜粋した形で提供される場合も本アプリケーションが指し示す実現可能な形態の範疇である。この場合、Java CardOSは、後からアプリケーションとして機能を追加することができるため、必要に応じてFeliCaOSを後から追加することが可能である。部分的に模倣したアプリケーションは、1つのサービスの提供形態としてJava CardOSに後から追加したり、削除したりすることで、多様なサービスの入れ替えを実現することも可能である。   It should be noted that all functions in the OS are not limited to being ported in a complete form, but cases where limited functions or partial functions are provided are also included in the category of feasible forms indicated by this application. . In this case, since Java CardOS can add functions as an application later, FeliCaOS can be added later as needed. A partially imitated application can be added to or deleted from Java CardOS later as one service provision form, and various services can be replaced.

しかしながら、上述したようにJava CardOSの実行環境上でFeliCaOSを模倣したアプリケーションを実行する場合は、FeliCaOSが動作する実行環境が通常とは異なるため、Java CardOSのインタフェース上の制約により、通常のFeliCaOSで使用している伝送プロトコルやコマンドフォーマットが利用できないという問題がある。また、外部装置が送信するコマンドの仕様を変更するのは好ましくない。   However, as described above, when executing an application imitating FeliCaOS on the execution environment of Java CardOS, the execution environment on which FeliCaOS operates is different from the normal environment. Therefore, due to restrictions on the interface of Java CardOS, There is a problem that the transmission protocol and command format used cannot be used. Moreover, it is not preferable to change the specification of the command transmitted by the external device.

そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、外部装置からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するOSに対して、外部装置からの命令を実行させることが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。   Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to operate an OS that operates in a different execution environment without changing the specifications of instructions from an external device. In contrast, an object of the present invention is to provide a new and improved information processing apparatus, information processing method and program capable of executing instructions from an external device.

上記課題を解決するために、本発明のある観点によれば、第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を受信する受信部と、前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、前記生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部とを備える情報処理装置が提供される。   In order to solve the above problems, according to an aspect of the present invention, an instruction input to a first operating system and an instruction input to a second operating system different from the first operating system are received. Receiving unit, a storage unit storing a table in which predetermined information included in the predetermined command received by the receiving unit and information for identifying the application are associated, and the predetermined unit received by the receiving unit Based on the command and the table stored in the storage unit, a generation unit that generates an application selection command for selectively executing an application, an application selection command generated by the generation unit is executed, and an application An information processing apparatus is provided that includes an execution unit that selectively executes.

前記実行部は、前記第1のオペレーティングシステムの実行環境上で所定のアプリケーションを実行することにより、前記第2のオペーティングシステムが生成する処理結果と同様の処理結果を出力してもよい。   The execution unit may output a processing result similar to the processing result generated by the second operating system by executing a predetermined application on the execution environment of the first operating system.

前記所定の命令は、第2のオペレーティングシステムの伝送プロトコル上で用いられる命令であり、カードを検知し、特定のカードから情報を取得する用途を持つ情報取得命令ある。その際に、所定のメモリ領域があるカードだけを選択して情報を取得するために、領域を指定するための領域情報が付加される場合がある。前記所定の情報は、前記情報取得命令に含まれる、前記カードが保有する所定のメモリ領域を識別するための領域情報であってもよい。第2のオペレーティングシステムは、その領域情報が付いた情報取得命令を受けると、指定された領域が選択された状態になる。   The predetermined command is a command used on the transmission protocol of the second operating system, and is an information acquisition command having a purpose of detecting a card and acquiring information from a specific card. At that time, in order to select only a card having a predetermined memory area and acquire information, area information for specifying the area may be added. The predetermined information may be area information for identifying a predetermined memory area held by the card, which is included in the information acquisition command. When the second operating system receives the information acquisition command with the area information, the specified area is selected.

前記受信部が受信した命令の種類を判別する判別部をさらに備え、前記判別部は、前記命令の種類の判別において、前記命令が前記情報取得命令であるか否かの判別を行った後に、前記命令が前記アプリケーション選択命令であるか否かの判別を行ってもよい。   The determination unit further includes a determination unit that determines the type of the instruction received by the reception unit, and the determination unit determines whether the instruction is the information acquisition instruction in the determination of the type of the instruction. It may be determined whether or not the command is the application selection command.

前記受信部が受信した命令のフォーマットのチェックを行うフォーマットチェック部を備え、前記フォーマットチェック部は、前記実行部によって所定のアプリケーションが実行されている場合は、前記命令のフォーマットのチェックを停止してもよい。または、所定の通信経路から命令を受け取った場合、前記命令のフォーマットのチェックを停止してもよい。   A format check unit for checking a format of an instruction received by the reception unit; and when the predetermined application is executed by the execution unit, the format check unit stops checking the format of the instruction. Also good. Alternatively, when a command is received from a predetermined communication path, the format check of the command may be stopped.

前記受信部が命令を受信した場合、前記記憶部に記憶されたテーブルに付加された応答可否フラグの状態によって、受信した命令に対応する応答判断を行ってもよい。   When the receiving unit receives a command, a response determination corresponding to the received command may be performed according to the state of a response availability flag added to the table stored in the storage unit.

また、上記課題を解決するために、本発明の別の観点によれば、第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を受信する受信ステップと、前記受信ステップで受信した所定の命令と、前記受信ステップで受信した所定の命令に含まれる所定の情報とアプリケーションを識別するための情報とが関連付けされたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成ステップと、前記生成ステップで生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行ステップとを有する情報処理方法が提供される。   In order to solve the above-described problem, according to another aspect of the present invention, an instruction input to the first operating system and a second operating system different from the first operating system are input. A receiving step for receiving a command, a predetermined command received in the receiving step, and a table in which predetermined information included in the predetermined command received in the receiving step and information for identifying an application are associated with each other Information processing comprising: a generation step for generating an application selection instruction for selectively executing an application, and an execution step for selectively executing the application by executing the application selection instruction generated in the generation step A method is provided.

また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を受信する受信部と、前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、前記生成部が生成したアプリケーション選択命令を実行して、アプリケーションを選択的に実行する実行部として機能させるためのプログラムが提供される。   In order to solve the above-described problem, according to another aspect of the present invention, a computer is provided with an instruction input to the first operating system and a second operating system different from the first operating system. A receiving unit that receives an input command; a storage unit that stores a table in which predetermined information included in the predetermined command received by the receiving unit and information for identifying an application are associated; and the reception A generation unit that generates an application selection command for selectively executing an application based on a predetermined command received by the unit and a table stored in the storage unit, and an application selection command generated by the generation unit Is a program that allows the application to function as an execution unit that selectively executes applications. It is subjected.

また、上記課題を解決するために、本発明の別の観点によれば、第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を受信する受信部と、前記受信部が受信した所定の命令に含まれる所定の情報と、アプリケーションの情報とが関連付けされたテーブルを記憶する記憶部と、前記受信部が受信した所定の命令と、前記記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行する実行部とを備える情報処理装置が提供される。   In order to solve the above-described problem, according to another aspect of the present invention, an instruction input to the first operating system and a second operating system different from the first operating system are input. A receiving unit that receives a command; a storage unit that stores a table in which predetermined information included in the predetermined command received by the receiving unit and application information is associated; and the predetermined command received by the receiving unit And an execution unit that selectively executes an application based on the table stored in the storage unit.

以上説明したように本発明によれば、外部装置からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するOSを模倣したアプリケーションに対して、外部装置からの命令を実行させることができる。   As described above, according to the present invention, an instruction from an external device is executed for an application imitating an OS that operates in an execution environment different from a normal one without changing the specification of the instruction from the external device. Can be made.

本発明の第1の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。1 is a block diagram mainly showing a schematic configuration of an information processing apparatus according to a first embodiment of the present invention. 図1における情報処理装置が受信する情報取得命令のフォーマットの一例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of a format of an information acquisition command received by the information processing apparatus in FIG. 1. 図1における情報処理装置の命令処理部に入力されるアプリケーション選択命令のフォーマットの一例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of a format of an application selection command input to a command processing unit of the information processing apparatus in FIG. 1. 図1における情報処理装置の記憶部に記憶されているテーブルTBL1Aの一例を示す説明図である。It is explanatory drawing which shows an example of table TBL1A memorize | stored in the memory | storage part of the information processing apparatus in FIG. 図1における情報処理装置の記憶部に記憶されているテーブルTBL1Bの一例に応答可否フラグを付加した説明図である。It is explanatory drawing which added the response availability flag to an example of table TBL1B memorize | stored in the memory | storage part of the information processing apparatus in FIG. 図1における情報処理装置の記憶部に記憶されているテーブルTBL2の一例を示す説明図である。It is explanatory drawing which shows an example of table TBL2 memorize | stored in the memory | storage part of the information processing apparatus in FIG. 図1における情報処理装置が実行する情報処理のフローチャートである。It is a flowchart of the information processing which the information processing apparatus in FIG. 1 performs. 本発明の第2の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。It is a block diagram which mainly shows the schematic structure of the information processing apparatus which concerns on the 2nd Embodiment of this invention. 図7における情報処理装置が実行する情報処理のフローチャートである。It is a flowchart of the information processing which the information processing apparatus in FIG. 7 performs. 本発明の各実施の形態に係る情報処理装置の変形例の概略構成を主に示すブロック図である。It is a block diagram which mainly shows the schematic structure of the modification of the information processing apparatus which concerns on each embodiment of this invention. 図9における情報処理装置が実行するフォーマットチェック処理のフローチャートである。10 is a flowchart of format check processing executed by the information processing apparatus in FIG. 9. 図9における情報処理装置が実行する他のフォーマットチェック処理のフローチャートである。10 is a flowchart of another format check process executed by the information processing apparatus in FIG. 9. 各実施の形態に係る一連の処理が動作するハードウェアの構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the hardware with which the series of processes which concern on each embodiment operate | move.

以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。   Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol.

なお、説明は以下の順序で行うものとする。
1.本発明の第1の実施の形態に係る情報処理装置
2.情報処理のフローチャート
3.本発明の第2の実施の形態に係る情報処理装置
4.情報処理のフローチャート
5.本発明の各実施の形態に係る情報処理装置の変形例
6.フォーマットチェック処理のフローチャート
7.他のフォーマットチェック処理のフローチャート
The description will be made in the following order.
1. 1. Information processing apparatus according to the first embodiment of the present invention 2. Information processing flowchart 3. Information processing apparatus according to second embodiment of the present invention 4. Information processing flowchart 5. Modification of information processing apparatus according to each embodiment of the present invention 6. Flow chart of format check processing Flow chart of other format check processing

[本発明の第1の実施の形態に係る情報処理装置]
まず、本発明の第1の実施の形態に係る情報処理装置について説明する。図1は、本発明の第1の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。図1には、外部装置200および情報処理装置100が描かれている。
[Information processing apparatus according to the first embodiment of the present invention]
First, the information processing apparatus according to the first embodiment of the present invention will be described. FIG. 1 is a block diagram mainly showing a schematic configuration of the information processing apparatus according to the first embodiment of the present invention. In FIG. 1, an external device 200 and an information processing device 100 are depicted.

図1において、外部装置200は、情報処理装置100との間で通信することのできる通信装置である。例えば、外部装置200は、情報処理装置100に記録された情報を読み書きするリーダ/ライタであってもよい。また、外部装置200は、情報処理装置100に実装された機能を利用して任意のアプリケーションをユーザに提供する情報処理装置であってもよい。   In FIG. 1, an external device 200 is a communication device that can communicate with the information processing device 100. For example, the external apparatus 200 may be a reader / writer that reads and writes information recorded in the information processing apparatus 100. Further, the external device 200 may be an information processing device that provides a user with an arbitrary application using a function implemented in the information processing device 100.

一方、情報処理装置100は、典型的には、接触型又は非接触型のICカードやICチップなどとして実現される。また、情報処理装置100は、携帯電話などの情報通信端末に設けられる通信モジュールなどであってもよい。情報処理装置100は、後述するように、自装置の記録する情報の入出力や様々な演算を実行するための命令群を提供する。そして、情報処理装置100は、外部装置200から命令が入力されると、その命令に対応する処理を実行し、外部装置200へ応答を出力する。   On the other hand, the information processing apparatus 100 is typically realized as a contact-type or non-contact-type IC card, IC chip, or the like. Further, the information processing apparatus 100 may be a communication module provided in an information communication terminal such as a mobile phone. As will be described later, the information processing apparatus 100 provides an instruction group for performing input / output of information recorded by the apparatus and various operations. Then, when a command is input from the external device 200, the information processing apparatus 100 executes a process corresponding to the command and outputs a response to the external device 200.

情報処理装置100は、通信部110と、オペレーティングシステム(以下、「OS」という。)120とを備える。   The information processing apparatus 100 includes a communication unit 110 and an operating system (hereinafter referred to as “OS”) 120.

通信部110は、本発明の受信部の一例であり、情報処理装置100による外部装置200との間の通信を仲介する通信インタフェースである。外部装置200から情報処理装置100への命令の入力及び情報処理装置100から外部装置200への応答の出力は、通信部110を経由して行われる。例えば、情報処理装置100が外部装置200との間で非接触型の通信を行う場合には、通信部110は、ISO/IEC14443、ISO/IEC18092(別名:NFC(Near Field Communication))などの標準規格に従った通信インタフェースなどとして実現され得る。または、NFCなどの通信インタフェースが別の機器やモジュールとして実現される場合は、通信部110は、その機器と通信するためのインタフェースになり、その機器を経由して外部装置200と通信することになる。例えば、通信モジュールがCLF(ContactLess Front end)として外出しになる場合は、通信部110はETSI(European Telecommunications Standards Institute)で規定されているHCI/SWPなどのインタフェースを制御するモジュールとして動作する。   The communication unit 110 is an example of a reception unit of the present invention, and is a communication interface that mediates communication between the information processing apparatus 100 and the external apparatus 200. Input of commands from the external apparatus 200 to the information processing apparatus 100 and output of responses from the information processing apparatus 100 to the external apparatus 200 are performed via the communication unit 110. For example, when the information processing apparatus 100 performs non-contact communication with the external apparatus 200, the communication unit 110 includes standards such as ISO / IEC14443 and ISO / IEC18092 (also known as NFC (Near Field Communication)). It can be realized as a communication interface according to a standard. Alternatively, when a communication interface such as NFC is realized as another device or module, the communication unit 110 serves as an interface for communicating with the device, and communicates with the external device 200 via the device. Become. For example, when the communication module goes out as CLF (Contact Less Front End), the communication unit 110 operates as a module for controlling an interface such as HCI / SWP defined by ETSI (European Telecommunications Standards Institute).

OS120は、入力された命令に応じて、情報処理装置100の有する情報の入出力や所定の演算を実行する。本明細書では、情報処理装置100により実行可能な命令の集合を命令群と称する。例えば、OS120はJava Card(登録商標)OSなどであってもよい。例えば、Java CardOSは、本発明の第1のオペレーティングシステムの一例である。   The OS 120 performs input / output of information included in the information processing apparatus 100 and predetermined calculation in accordance with the input command. In this specification, a set of instructions that can be executed by the information processing apparatus 100 is referred to as an instruction group. For example, the OS 120 may be a Java Card (registered trademark) OS. For example, Java CardOS is an example of the first operating system of the present invention.

また、OS120は、実行環境130と、アプリケーションA150と、アプリケーションB160と、アプリケーションC170とを備える。   The OS 120 includes an execution environment 130, an application A 150, an application B 160, and an application C 170.

実行環境130は、OS120が命令群を実行するための基盤となるソフトウェア群である。実行環境130は、パケット解釈部132、アプリケーション選択命令生成部134、命令処理部136および記憶部138を主に含む。また、命令処理部136は、命令実行部140およびアプリケーション選択部142を主に含む。   The execution environment 130 is a software group serving as a base for the OS 120 to execute a command group. The execution environment 130 mainly includes a packet interpretation unit 132, an application selection command generation unit 134, a command processing unit 136, and a storage unit 138. The instruction processing unit 136 mainly includes an instruction execution unit 140 and an application selection unit 142.

パケット解釈部132は、通信部110が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるOS120に対する命令の種類を識別する。命令の種類としては、例えば、FeliCaOSが搭載されたカードを検知し、OSから情報を取得する情報取得命令、OS120が実行するアプリケーションを選択するためのアプリケーション選択命令やその他の命令がある。このとき、通信パケットに含まれる命令は、一時記憶部(図示しない)に記憶されてもよい。   When the communication packet received by the communication unit 110 is input, the packet interpretation unit 132 interprets the content of the communication packet and identifies the type of instruction for the OS 120 included in the communication packet. The types of commands include, for example, an information acquisition command for detecting a card equipped with FeliCaOS and acquiring information from the OS, an application selection command for selecting an application executed by the OS 120, and other commands. At this time, the command included in the communication packet may be stored in a temporary storage unit (not shown).

図2は、図1における情報処理装置100が受信する情報取得命令のフォーマットの一例を示す説明図である。図2において、情報取得命令300は、命令情報302および領域情報304を有する。命令情報302には、例えば、命令の種類を識別するための命令コードや、命令を実行するためのパラメータなどが含まれる。一方、領域情報304には、例えば、FeliCaOS、またはFeliCaOSを模したアプリケーションが保有する所定のメモリ領域を識別するための領域の情報などが含まれる。   FIG. 2 is an explanatory diagram showing an example of a format of an information acquisition command received by the information processing apparatus 100 in FIG. In FIG. 2, the information acquisition command 300 includes command information 302 and area information 304. The instruction information 302 includes, for example, an instruction code for identifying the type of instruction, a parameter for executing the instruction, and the like. On the other hand, the area information 304 includes, for example, information on an area for identifying a predetermined memory area held by FeliCaOS or an application imitating FeliCaOS.

パケット解釈部132は、本発明の判別部の一例であり、例えば、命令情報302に含まれる命令コードを参照して、外部装置200から受信した命令が情報取得命令300であると識別した場合は、この命令をアプリケーション選択命令生成部134に入力する。一方、パケット解釈部132は、外部装置200から受信した命令がアプリケーション選択命令やその他の命令であると識別した場合は、これらの命令を命令処理部136に入力する。なお、パケット解釈部132は、外部装置200から受信した命令がアプリケーション選択命令であると識別した場合は、この命令を命令処理部136のアプリケーション選択部142に入力する。そして、その後命令処理部136から上述した命令に対応する応答が出力された場合には、パケット解釈部132は、その応答を通信部110を介して外部装置200に送信する。   The packet interpretation unit 132 is an example of a determination unit according to the present invention. For example, when the command received from the external device 200 is identified as the information acquisition command 300 with reference to the command code included in the command information 302, The command is input to the application selection command generation unit 134. On the other hand, when the packet interpretation unit 132 identifies that the command received from the external device 200 is an application selection command or other commands, these commands are input to the command processing unit 136. If the packet interpretation unit 132 identifies that the command received from the external device 200 is an application selection command, the packet interpretation unit 132 inputs this command to the application selection unit 142 of the command processing unit 136. Then, when a response corresponding to the above-described command is output from the command processing unit 136, the packet interpretation unit 132 transmits the response to the external device 200 via the communication unit 110.

アプリケーション選択命令生成部134は、パケット解釈部132により情報取得命令300が入力されると、記憶部138から図4Aに示すような領域情報とアプリケーション識別情報とが関連付けされたテーブルTBL1を読み出す。そして、アプリケーション選択命令生成部134は、読み出したテーブルTBL1を参照して、入力された情報取得命令300に含まれる領域情報304に関連付けされたアプリケーション識別情報を判別する。例えば、情報取得命令300に含まれる領域情報304が“AAAA”である場合は、“0001”がアプリケーション識別情報として判別される。なお、本実施の形態では、アプリケーションA150に対応するアプリケーション識別情報は“0001”であるものとする。アプリケーション識別情報は、Java CardOSなどのOS120が管理しているアプリケーションを識別するための情報である。アプリケーション識別情報を判別した後、アプリケーション選択命令生成部134は、図3に示すような、OS120が実行するアプリケーションを選択するためのアプリケーション選択命令350を生成する。アプリケーション選択命令生成部134は、生成したアプリケーション選択命令350を命令処理部136のアプリケーション選択部142に入力する。   When the information acquisition command 300 is input by the packet interpretation unit 132, the application selection command generation unit 134 reads the table TBL1 in which the region information and the application identification information as illustrated in FIG. 4A are associated from the storage unit 138. Then, the application selection command generation unit 134 refers to the read table TBL1 to determine application identification information associated with the region information 304 included in the input information acquisition command 300. For example, when the area information 304 included in the information acquisition command 300 is “AAAAA”, “0001” is determined as the application identification information. In the present embodiment, it is assumed that the application identification information corresponding to the application A 150 is “0001”. The application identification information is information for identifying an application managed by the OS 120 such as Java CardOS. After determining the application identification information, the application selection command generation unit 134 generates an application selection command 350 for selecting an application executed by the OS 120 as shown in FIG. The application selection command generation unit 134 inputs the generated application selection command 350 to the application selection unit 142 of the command processing unit 136.

図4Bに示すように、領域情報304に対応する応答可否フラグがTBL1Bに付与されている場合は、「応答不可」のフラグが設定されていたら、アプリケーション選択命令生成部134は領域情報304から関連付けされたアプリケーション識別情報を判別する処理が必要ないと判断し、無応答もしくは、外部装置200から受信した命令に対するエラーを外部装置に返す。「応答可」のフラグが設定されている場合は、前記に記載の通り、アプリケーション選択命令350を生成し、アプリケーション選択部142に前記の命令を渡す。   As shown in FIG. 4B, when the response availability flag corresponding to the region information 304 is given to the TBL 1 B, the application selection command generation unit 134 associates from the region information 304 if the “response impossible” flag is set. It is determined that the process for determining the received application identification information is not necessary, and no response or an error with respect to the command received from the external device 200 is returned to the external device. When the “response possible” flag is set, the application selection command 350 is generated as described above, and the command is passed to the application selection unit 142.

図3は、図1における情報処理装置100の命令処理部136に入力されるアプリケーション選択命令のフォーマットの一例を示す説明図である。図3において、アプリケーション選択命令350は、命令情報352およびアプリケーション識別情報354を有する。命令情報352には、例えば、命令の種類を識別するための命令コードや、命令を実行するためのパラメータなどが含まれる。一方、アプリケーション識別情報354には、OS120が実行するアプリケーションの識別情報などが含まれる。上記フォーマットはアプリケーション選択命令として外部機器から渡される命令を模したものであるが、アプリケーション選択部142がすでに上記情報を各要素に分解して解釈している場合は、その形態に合わせて入力してもよい。その場合、命令コードはなく、APIのようなモジュール間のインタフェースに対するパラメータ渡しがその1例となる。   FIG. 3 is an explanatory diagram showing an example of a format of an application selection command input to the command processing unit 136 of the information processing apparatus 100 in FIG. In FIG. 3, the application selection command 350 includes command information 352 and application identification information 354. The instruction information 352 includes, for example, an instruction code for identifying the type of instruction, a parameter for executing the instruction, and the like. On the other hand, the application identification information 354 includes identification information of an application executed by the OS 120. The above format imitates an instruction passed from an external device as an application selection instruction. However, if the application selection unit 142 has already interpreted the above information by breaking it down into elements, input it according to the form. May be. In that case, there is no instruction code, and parameter passing for an interface between modules such as an API is an example.

命令処理部136は、命令実行部140およびアプリケーション選択部142を主に含む。命令実行部140は、命令処理部136に入力されたアプリケーション選択命令350以外の命令を実行する。アプリケーション選択部142は、本発明の実行部の一例であり、命令処理部136に入力されたアプリケーション選択命令350を実行する。例えば、アプリケーション選択部142は、記憶部138から図5に示すようなアプリケーション識別情報とアプリケーション格納領域とが関連付けされたテーブルTBL2を読み出す。TBL2は、Java CardOSなどのOS120が管理しているアプリケーション識別情報と格納領域を対応付けて管理するテーブルであり、この管理方法は1例であり、必ずしもテーブルではなく、リスト型のように開始地点、終了地点の繰り返しで、アプリケーションの格納領域を管理している場合も想定内である。そして、アプリケーション選択部142は、読み出したテーブルTBL2を参照して、入力されたアプリケーション選択命令350に含まれるアプリケーション識別情報354に関連付けされたアプリケーション格納領域を判別する。例えば、アプリケーション選択命令350に含まれるアプリケーション識別情報354が“0001”である場合は、“0−1000番地”、すなわち、アプリケーションA150が格納されたメモリ番地を指定することで、アプリケーションの実行可能プログラムを判別する。このメモリ番地はJava
CardOSが管理しているメモリを論理的に解釈して番号を振った相対番地を想定しているが、OSが物理的な番地を用いて直接管理する場合は、物理的なメモリの識別子とアドレスなどの絶対番地を採用しても問題ない。アプリケーションの実行可能プログラムを判別した後、命令実行部140は、判別したアプリケーションの実行可能プログラムを実行する。命令処理部136は、命令実行部140やアプリケーション選択部142が実行した命令の応答をパケット解釈部132に出力する。
The instruction processing unit 136 mainly includes an instruction execution unit 140 and an application selection unit 142. The instruction execution unit 140 executes instructions other than the application selection instruction 350 input to the instruction processing unit 136. The application selection unit 142 is an example of the execution unit of the present invention, and executes the application selection command 350 input to the command processing unit 136. For example, the application selection unit 142 reads the table TBL2 in which the application identification information and the application storage area as illustrated in FIG. TBL2 is a table that manages the application identification information managed by the OS 120 such as Java CardOS and the storage area in association with each other. This management method is an example, and is not necessarily a table. It is also assumed that the application storage area is managed by repeating the end point. Then, the application selection unit 142 refers to the read table TBL2, and determines the application storage area associated with the application identification information 354 included in the input application selection instruction 350. For example, if the application identification information 354 included in the application selection instruction 350 is “0001”, an application executable program can be specified by specifying “0 to 1000”, that is, the memory address where the application A 150 is stored. Is determined. This memory address is Java
Relative addresses that are numbered by logically interpreting the memory managed by CardOS are assumed, but when the OS directly manages using physical addresses, the identifier and address of the physical memory There is no problem even if an absolute address such as is adopted. After determining the executable program of the application, the instruction execution unit 140 executes the determined executable program of the application. The command processing unit 136 outputs a response to the command executed by the command execution unit 140 or the application selection unit 142 to the packet interpretation unit 132.

図4Bに記載される、領域情報に対する応答可否フラグは、前記の実行可能プログラムから、「応答可」「応答不可」の設定が可能であり、実行可能プログラムが持つ状態によって、設定内容が変化する。   The response availability flag for the region information described in FIG. 4B can be set as “response possible” or “response impossible” from the executable program, and the setting contents vary depending on the state of the executable program. .

アプリケーションが非選択状態になった場合やカードの電源がOFFになった場合、アプリケーションからフラグの設定ができなくなるため、その場合はOSによってデフォルト値の設定、もしくは値の初期化が行われる。   When the application is in a non-selected state or when the card power is turned off, the flag cannot be set from the application. In this case, the default value is set or the value is initialized by the OS.

フラグ設定のフローは、OSが起動時にすべてのフラグが初期化され、選択された実行可能プログラムによってフラグの設定がされ、その実行可能プログラムが非選択状態になると、OSが対応するフラグの再初期化を実施する。   In the flag setting flow, all flags are initialized when the OS is started, the flag is set by the selected executable program, and when the executable program is in a non-selected state, the OS re-initializes the corresponding flag. To implement.

OSがフラグを再初期化する場合、OSは非選択された実行可能プログラムが分かるため、そこからアプリケーション識別情報を取り出し、アプリケーション識別情報から領域情報を算出し、その領域情報に対応する応答可否フラグを再初期化する流れになる。   When the OS re-initializes the flag, the OS knows the non-selected executable program. Therefore, the application identification information is extracted from the OS, the area information is calculated from the application identification information, and the response availability flag corresponding to the area information is obtained. It becomes a flow to re-initialize.

アプリケーションA150、アプリケーションB160、アプリケーションC170は、OS120上で動作する任意のアプリケーションである。本実施の形態では、アプリケーションA150は、例えば、FeliCa(登録商標)OSを模倣したアプリケーションである。このアプリケーションA150は、OS120の実行環境130上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。例えば、FeliCaOSは、本発明の第2のオペレーティングシステムの一例である。ここで、“アプリケーション”という用語には、アプレットや、より単純なロジックのみを含むソフトウェアなども含まれる。   Application A150, application B160, and application C170 are arbitrary applications that operate on the OS 120. In the present embodiment, the application A 150 is an application imitating, for example, a FeliCa (registered trademark) OS. When the application A150 is executed on the execution environment 130 of the OS 120, the processing result generated when the FeliCaOS operates is equal. For example, FeliCaOS is an example of the second operating system of the present invention. Here, the term “application” includes applets and software including only simple logic.

[情報処理]
以下、図1における情報処理装置100が実行する情報処理について説明する。図6は、図1における情報処理装置100が実行する情報処理のフローチャートである。
[Information processing]
Hereinafter, information processing executed by the information processing apparatus 100 in FIG. 1 will be described. FIG. 6 is a flowchart of information processing executed by the information processing apparatus 100 in FIG.

図6において、まず、情報処理装置100の通信部110は、外部装置200から通信パケットを受信して(ステップS602)、受信した通信パケットをパケット解釈部132に送信する。   In FIG. 6, first, the communication unit 110 of the information processing device 100 receives a communication packet from the external device 200 (step S <b> 602), and transmits the received communication packet to the packet interpretation unit 132.

次いで、情報処理装置100のパケット解釈部132は、通信部110から受信した通信パケットの解釈を行う(ステップS604)。そして、情報処理装置100のパケット解釈部132は、ステップS604での通信パケットの解釈により、通信パケットに含まれる命令が上述した情報取得命令であるか否かを判別する(ステップS606)。   Next, the packet interpretation unit 132 of the information processing apparatus 100 interprets the communication packet received from the communication unit 110 (step S604). Then, the packet interpretation unit 132 of the information processing apparatus 100 determines whether or not the command included in the communication packet is the above-described information acquisition command based on the interpretation of the communication packet in Step S604 (Step S606).

ステップS606の判別の結果、通信パケットに含まれる命令が情報取得命令であるときは(ステップS606でYES)、情報処理装置100のパケット解釈部132は、情報取得命令を情報処理装置100のアプリケーション選択命令生成部134に入力する。情報処理装置100のアプリケーション選択命令生成部134は、記憶部138から図4Aに示すテーブルTBL1Aを読み出して(ステップS608)、入力された情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を含む図3に示すアプリケーション選択命令を生成する(ステップS610)。そして、アプリケーション選択命令生成部134は、ステップS610で生成したアプリケーション選択命令を情報処理装置100の命令処理部136におけるアプリケーション選択部142に入力して、ステップS612の処理に進む。   As a result of the determination in step S606, when the command included in the communication packet is an information acquisition command (YES in step S606), the packet interpretation unit 132 of the information processing device 100 selects the information acquisition command as an application selection of the information processing device 100. This is input to the instruction generation unit 134. The application selection command generation unit 134 of the information processing apparatus 100 reads the table TBL1A shown in FIG. 4A from the storage unit 138 (step S608), and obtains application identification information associated with the region information included in the input information acquisition command. The application selection command shown in FIG. 3 is generated (step S610). Then, the application selection command generation unit 134 inputs the application selection command generated in step S610 to the application selection unit 142 in the command processing unit 136 of the information processing apparatus 100, and proceeds to the process of step S612.

一方、ステップS606の判別の結果、通信パケットに含まれる命令が情報取得命令でないときは(ステップS606でNO)、情報処理装置100のパケット解釈部132は、通信パケットに含まれる命令が上述したアプリケーション選択命令であるか否かを判別する(ステップS618)。   On the other hand, as a result of the determination in step S606, when the instruction included in the communication packet is not an information acquisition instruction (NO in step S606), the packet interpretation unit 132 of the information processing apparatus 100 determines that the instruction included in the communication packet is the application described above. It is determined whether or not it is a selection command (step S618).

ステップS618の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令であるときは(ステップS618でYES)、情報処理装置100のパケット解釈部132は、アプリケーション選択命令を情報処理装置100の命令処理部136におけるアプリケーション選択部142に入力して、ステップS612の処理に進む。   As a result of the determination in step S618, when the instruction included in the communication packet is an application selection instruction (YES in step S618), the packet interpretation unit 132 of the information processing apparatus 100 converts the application selection instruction into the instruction processing of the information processing apparatus 100. The application is input to the application selection unit 142 in the unit 136, and the process proceeds to step S612.

続くステップS612の処理では、情報処理装置100のアプリケーション選択部142は、入力されたアプリケーション選択命令を実行して、アプリケーションを選択的に実行する(ステップS612)。例えば、情報処理装置100のアプリケーション選択部142は、記憶部138から図5に示すテーブルTBL2を読み出して、入力されたアプリケーション選択命令に含まれるアプリケーション識別情報に対応するアプリケーションを実行する。本実施の形態では、アプリケーションA150は、FeliCaOSを模倣したアプリケーションであり、OS120の実行環境130上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。そして、ステップS614の処理に進む。   In the subsequent process of step S612, the application selection unit 142 of the information processing apparatus 100 executes the input application selection command and selectively executes the application (step S612). For example, the application selection unit 142 of the information processing apparatus 100 reads the table TBL2 illustrated in FIG. 5 from the storage unit 138 and executes an application corresponding to the application identification information included in the input application selection command. In the present embodiment, the application A150 is an application imitating FeliCaOS, and when executed on the execution environment 130 of the OS 120, the processing result generated when the FeliCaOS operates is equal. Then, the process proceeds to step S614.

一方、ステップS618の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令でないときは(ステップS618でNO)、情報処理装置100のパケット解釈部132は、その他の命令を情報処理装置100の命令処理部136における命令実行部140に入力する。   On the other hand, as a result of the determination in step S618, when the instruction included in the communication packet is not an application selection instruction (NO in step S618), the packet interpretation unit 132 of the information processing apparatus 100 sends another instruction to the information processing apparatus 100 instruction. The data is input to the instruction execution unit 140 in the processing unit 136.

次いで、情報処理装置100の命令実行部140は、入力されたその他の命令を実行して(ステップS620)、ステップS614の処理に進む。   Next, the instruction execution unit 140 of the information processing apparatus 100 executes the other input instruction (step S620), and proceeds to the process of step S614.

続くステップS614の処理では、情報処理装置100の命令処理部136は、命令実行部140またはアプリケーション選択部142において実行した命令の実行結果を含む応答を生成する(ステップS614)。そして、情報処理装置100の命令処理部136は、ステップS614で生成した応答を情報処理装置100のパケット解釈部132に入力する。   In the subsequent process of step S614, the instruction processing unit 136 of the information processing apparatus 100 generates a response including the execution result of the instruction executed by the instruction execution unit 140 or the application selection unit 142 (step S614). Then, the instruction processing unit 136 of the information processing apparatus 100 inputs the response generated in step S614 to the packet interpretation unit 132 of the information processing apparatus 100.

次いで、情報処理装置100のパケット解釈部132は、入力された応答を通信部110を介して外部装置200に送信して(ステップS616)、本処理を終了する。   Next, the packet interpretation unit 132 of the information processing device 100 transmits the input response to the external device 200 via the communication unit 110 (step S616), and ends this process.

図6の情報処理によれば、通信パケットに含まれる命令が情報取得命令であるときに、情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を含むアプリケーション選択命令を生成して、生成したアプリケーション選択命令を実行することにより、アプリケーションを選択的に実行する。例えば、情報処理装置100において、FeliCaOSを搭載する代わりに、OS120にFeliCaOSを模倣したアプリケーションA150を組み込む場合、通常のFeliCaOSで使用している伝送プロトコルやコマンドフォーマットは利用できない。しかし、情報取得命令は通常、FeliCaOSで使用している伝送プロトコルに対応するものである。上述した情報処理によりFeliCaOSを模倣したアプリケーションA150が選択されて、OS120の実行環境130上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。これにより、外部装置200からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するOSを模倣したアプリケーションに対して、外部装置200からの命令を実行させることができる。   According to the information processing of FIG. 6, when an instruction included in a communication packet is an information acquisition instruction, an application selection instruction including application identification information associated with area information included in the information acquisition instruction is generated and generated. The application is selectively executed by executing the selected application selection command. For example, in the information processing apparatus 100, when the application A150 imitating FeliCaOS is incorporated into the OS 120 instead of installing FeliCaOS, the transmission protocol and command format used in the normal FeliCaOS cannot be used. However, the information acquisition command usually corresponds to the transmission protocol used in FeliCaOS. When the application A150 imitating FeliCaOS is selected by the above-described information processing and executed on the execution environment 130 of the OS 120, the processing result generated when the FeliCaOS operates is equal. Accordingly, it is possible to cause the application from the external apparatus 200 to be executed for an application imitating an OS that operates in an execution environment different from the normal without changing the specification of the instruction from the external apparatus 200.

[本発明の第2の実施の形態に係る情報処理装置]
以下、本発明の第2の実施の形態に係る情報処理装置について説明する。本発明の第2の実施の形態に係る情報処理装置は、上述した本発明の第1の実施の形態に係る情報処理装置と比較して、アプリケーション選択命令生成部を有していない点とが相違する。以下では、本発明の第2の実施の形態に係る情報処理装置について、主に本発明の第1の実施の形態に係る情報処理装置との相違点について説明し、本発明の第1の実施の形態に係る情報処理装置と同一構成については詳細な説明を省略する。図7は、本発明の第2の実施の形態に係る情報処理装置の概略構成を主に示すブロック図である。図7には、外部装置500および情報処理装置400が描かれている。
[Information processing apparatus according to the second embodiment of the present invention]
The information processing apparatus according to the second embodiment of the present invention will be described below. The information processing apparatus according to the second embodiment of the present invention does not have an application selection instruction generation unit as compared with the information processing apparatus according to the first embodiment of the present invention described above. Is different. In the following, the information processing apparatus according to the second embodiment of the present invention will be described mainly with respect to differences from the information processing apparatus according to the first embodiment of the present invention, and the first embodiment of the present invention will be described. Detailed description of the same configuration as that of the information processing apparatus according to the embodiment will be omitted. FIG. 7 is a block diagram mainly showing a schematic configuration of the information processing apparatus according to the second embodiment of the present invention. In FIG. 7, the external device 500 and the information processing device 400 are depicted.

図7において、情報処理装置400は、通信部410と、OS420とを備える。また、OS420は、実行環境430と、アプリケーションA450と、アプリケーションB460と、アプリケーションC470とを備える。通信部410は、本発明の受信部の一例である。実行環境430は、パケット解釈部432、命令処理部436および記憶部438を主に含む。また、命令処理部436は、命令実行部440およびアプリケーション選択部442を主に含む。   In FIG. 7, the information processing apparatus 400 includes a communication unit 410 and an OS 420. The OS 420 includes an execution environment 430, an application A 450, an application B 460, and an application C 470. The communication unit 410 is an example of a receiving unit of the present invention. The execution environment 430 mainly includes a packet interpretation unit 432, an instruction processing unit 436, and a storage unit 438. The instruction processing unit 436 mainly includes an instruction execution unit 440 and an application selection unit 442.

パケット解釈部432は、本発明の判別部の一例であり、通信部410が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるOS420に対する命令の種類を識別する。また、パケット解釈部432は、外部装置500から受信した命令が情報取得命令またはアプリケーション選択命令であると識別した場合は、これらの命令を命令処理部436におけるアプリケーション選択部442に入力する。一方、パケット解釈部432は、外部装置500から受信した命令がその他の命令であると識別した場合は、この命令を命令処理部436における命令実行部440に入力する。そして、その後命令処理部436から上述した命令に対応する応答が出力された場合には、パケット解釈部432は、その応答を通信部410を介して外部装置500に送信する。   The packet interpretation unit 432 is an example of a determination unit of the present invention. When a communication packet received by the communication unit 410 is input, the packet interpretation unit 432 interprets the content of the communication packet and identifies the type of instruction to the OS 420 included in the communication packet. To do. Further, when the packet interpretation unit 432 identifies that the command received from the external device 500 is an information acquisition command or an application selection command, the packet interpretation unit 432 inputs these commands to the application selection unit 442 in the command processing unit 436. On the other hand, when the packet interpretation unit 432 identifies that the command received from the external device 500 is another command, the packet interpretation unit 432 inputs this command to the command execution unit 440 in the command processing unit 436. Then, when a response corresponding to the above-described command is output from the command processing unit 436, the packet interpretation unit 432 transmits the response to the external device 500 via the communication unit 410.

命令処理部436は、命令実行部440およびアプリケーション選択部442を主に含む。命令実行部440は、入力されたその他の命令を実行する。アプリケーション選択部442は、本発明の実行部の一例であり、命令処理部436に入力された情報取得命令またはアプリケーション選択命令を実行する。例えば、アプリケーション選択部442は、情報取得命令の実行において、記憶部438から図4Aに示すような領域情報とアプリケーションとが関連付けされたテーブルTBL1Aを読み出す。そして、アプリケーション選択部442は、読み出したテーブルTBL1Aを参照して、入力された情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を判別する。例えば、情報取得命令に含まれる領域情報が“AAAA”である場合は、“0001”が実行するアプリケーション識別情報として判別される。アプリケーション識別情報を判別した後、アプリケーション選択部442は、指定されたアプリケーション識別情報を用いて、判別したアプリケーションを呼び出す。アプリケーション選択部442は図5に示すようなTBL2を用いてアプリケーション識別情報からアプリケーション格納位置を判明させる。命令処理部436は、命令実行部440やアプリケーション選択部442が実行した命令の応答をパケット解釈部432に出力する。   The instruction processing unit 436 mainly includes an instruction execution unit 440 and an application selection unit 442. The instruction execution unit 440 executes other input instructions. The application selection unit 442 is an example of the execution unit of the present invention, and executes an information acquisition command or an application selection command input to the command processing unit 436. For example, in the execution of the information acquisition command, the application selection unit 442 reads the table TBL1A in which the area information and the application are associated with each other as illustrated in FIG. 4A from the storage unit 438. Then, the application selection unit 442 refers to the read table TBL1A to determine application identification information associated with the area information included in the input information acquisition command. For example, when the area information included in the information acquisition command is “AAAA”, it is determined as application identification information executed by “0001”. After determining the application identification information, the application selection unit 442 calls the determined application using the specified application identification information. The application selection unit 442 uses TBL2 as shown in FIG. 5 to determine the application storage location from the application identification information. The command processing unit 436 outputs a response to the command executed by the command execution unit 440 or the application selection unit 442 to the packet interpretation unit 432.

アプリケーションA450、アプリケーションB460、アプリケーションC470は、OS420上で動作する任意のアプリケーションである。本実施の形態では、アプリケーションA450は、例えば、FeliCa(登録商標)OSを模倣したアプリケーションである。このアプリケーションA450は、OS420の実行環境430上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。   An application A 450, an application B 460, and an application C 470 are arbitrary applications that operate on the OS 420. In the present embodiment, the application A 450 is an application imitating, for example, a FeliCa (registered trademark) OS. When the application A 450 is executed on the execution environment 430 of the OS 420, the processing result generated when the FeliCaOS operates is equal.

[情報処理]
以下、図7における情報処理装置400が実行する情報処理について説明する。図8は、図7における情報処理装置400が実行する情報処理のフローチャートである。
[Information processing]
Hereinafter, information processing executed by the information processing apparatus 400 in FIG. 7 will be described. FIG. 8 is a flowchart of information processing executed by the information processing apparatus 400 in FIG.

図8において、まず、情報処理装置400の通信部410は、外部装置500から通信パケットを受信して(ステップS902)、受信した通信パケットをパケット解釈部432に送信する。   In FIG. 8, first, the communication unit 410 of the information processing device 400 receives a communication packet from the external device 500 (step S <b> 902), and transmits the received communication packet to the packet interpretation unit 432.

次いで、情報処理装置400のパケット解釈部432は、通信部410から受信した通信パケットの解釈を行う(ステップS904)。そして、情報処理装置400のパケット解釈部432は、ステップS904での通信パケットの解釈により、通信パケットに含まれる命令が上述した情報取得命令であるか否かを判別する(ステップS906)。   Next, the packet interpretation unit 432 of the information processing apparatus 400 interprets the communication packet received from the communication unit 410 (step S904). Then, the packet interpretation unit 432 of the information processing apparatus 400 determines whether or not the instruction included in the communication packet is the above-described information acquisition instruction based on the interpretation of the communication packet in Step S904 (Step S906).

ステップS906の判別の結果、通信パケットに含まれる命令が情報取得命令であるときは(ステップS906でYES)、情報処理装置400のパケット解釈部432は、情報取得命令を情報処理装置400の命令処理部436におけるアプリケーション選択部442に入力する。情報処理装置100のアプリケーション選択部442は、記憶部438から図4A,5に示すテーブルTBL1A,2を読み出して(ステップS908)、ステップS910の処理に進む。   As a result of the determination in step S906, when the command included in the communication packet is an information acquisition command (YES in step S906), the packet interpretation unit 432 of the information processing device 400 converts the information acquisition command into the command processing of the information processing device 400. The data is input to the application selection unit 442 in the unit 436. The application selection unit 442 of the information processing apparatus 100 reads the tables TBL1A and 2 shown in FIGS. 4A and 5 from the storage unit 438 (step S908), and proceeds to the process of step S910.

一方、ステップS906の判別の結果、通信パケットに含まれる命令が情報取得命令でないときは(ステップS906でNO)、情報処理装置400のパケット解釈部432は、通信パケットに含まれる命令が上述したアプリケーション選択命令であるか否かを判別する(ステップS916)。   On the other hand, as a result of the determination in step S906, when the instruction included in the communication packet is not an information acquisition instruction (NO in step S906), the packet interpretation unit 432 of the information processing apparatus 400 indicates that the instruction included in the communication packet is the application described above. It is determined whether or not it is a selection command (step S916).

ステップS916の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令であるときは(ステップS916でYES)、情報処理装置400のパケット解釈部432は、アプリケーション選択命令を情報処理装置400の命令処理部436におけるアプリケーション選択部442に入力して、ステップS910の処理に進む。   As a result of the determination in step S916, when the instruction included in the communication packet is an application selection instruction (YES in step S916), the packet interpretation unit 432 of the information processing apparatus 400 outputs the application selection instruction to the instruction processing of the information processing apparatus 400. The information is input to the application selection unit 442 in the unit 436, and the process proceeds to step S910.

続くステップS910の処理では、情報処理装置400のアプリケーション選択部442は、入力された情報取得命令またはアプリケーション選択命令を実行して、アプリケーションを選択的に実行する(ステップS910)。例えば、情報処理装置400のアプリケーション選択部442は、情報取得命令が入力された場合、ステップS908で読み出したテーブルTBL1A,2を参照して、入力された情報取得命令に含まれる領域情報に対応するアプリケーションを実行する。本実施の形態では、アプリケーションA450は、FeliCaOSを模倣したアプリケーションであり、OS420の実行環境430上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。そして、ステップS912の処理に進む。   In the subsequent process of step S910, the application selection unit 442 of the information processing apparatus 400 executes the input information acquisition command or application selection command to selectively execute the application (step S910). For example, when an information acquisition command is input, the application selection unit 442 of the information processing apparatus 400 refers to the table TBL1A, 2 read in step S908 and corresponds to the region information included in the input information acquisition command. Run the application. In the present embodiment, the application A 450 is an application imitating FeliCaOS, and when executed on the execution environment 430 of the OS 420, the processing result generated when the FeliCaOS operates is equal. Then, the process proceeds to step S912.

一方、ステップS916の判別の結果、通信パケットに含まれる命令がアプリケーション選択命令でないときは(ステップS916でNO)、情報処理装置400のパケット解釈部432は、その他の命令を情報処理装置400の命令処理部436における命令実行部440に入力する。   On the other hand, as a result of the determination in step S916, when the instruction included in the communication packet is not an application selection instruction (NO in step S916), the packet interpretation unit 432 of the information processing apparatus 400 sends another instruction to the information processing apparatus 400 instruction. The data is input to the instruction execution unit 440 in the processing unit 436.

次いで、情報処理装置400の命令実行部440は、入力されたその他の命令を実行して(ステップS918)、ステップS912の処理に進む。   Next, the instruction execution unit 440 of the information processing apparatus 400 executes the other input instruction (step S918), and proceeds to the process of step S912.

続くステップS912の処理では、情報処理装置400の命令処理部436は、命令実行部440またはアプリケーション選択部442において実行した命令の実行結果を含む応答を生成する(ステップS912)。そして、情報処理装置400の命令処理部436は、ステップS912で生成した応答を情報処理装置400のパケット解釈部432に入力する。   In the subsequent process of step S912, the instruction processing unit 436 of the information processing device 400 generates a response including the execution result of the instruction executed by the instruction execution unit 440 or the application selection unit 442 (step S912). Then, the instruction processing unit 436 of the information processing device 400 inputs the response generated in step S912 to the packet interpretation unit 432 of the information processing device 400.

次いで、情報処理装置400のパケット解釈部432は、入力された応答を通信部410を介して外部装置500に送信して(ステップS914)、本処理を終了する。   Next, the packet interpretation unit 432 of the information processing device 400 transmits the input response to the external device 500 via the communication unit 410 (step S914), and ends this process.

図8の情報処理によれば、通信パケットに含まれる命令が情報取得命令であるときに、情報取得命令を実行するため、情報取得命令に含まれる領域情報に対応するアプリケーションを選択的に実行する。これにより、上述した図6の情報処理と同様の効果を奏することができる。また、図7における情報処理装置400は、図1における情報処理装置100と比較して、アプリケーション選択命令生成部134を備えていないので、上述した情報処理を単純化することができる。   According to the information processing of FIG. 8, when an instruction included in a communication packet is an information acquisition instruction, an application corresponding to the area information included in the information acquisition instruction is selectively executed in order to execute the information acquisition instruction. . Thereby, the same effect as the information processing of FIG. 6 described above can be obtained. In addition, the information processing apparatus 400 in FIG. 7 does not include the application selection command generation unit 134 as compared with the information processing apparatus 100 in FIG.

[本発明の各実施の形態に係る情報処理装置の変形例]
以下、本発明の各実施の形態に係る情報処理装置100,400の変形例について説明する。図9は、本発明の各実施の形態に係る情報処理装置100,400の変形例の概略構成を主に示すブロック図である。図9には、外部装置100,500および情報処理装置100,400が描かれている。
[Modification of information processing apparatus according to each embodiment of the present invention]
Hereinafter, modified examples of the information processing apparatuses 100 and 400 according to the embodiments of the present invention will be described. FIG. 9 is a block diagram mainly showing a schematic configuration of a modified example of the information processing apparatuses 100 and 400 according to the respective embodiments of the present invention. In FIG. 9, external devices 100 and 500 and information processing devices 100 and 400 are depicted.

図9において、情報処理装置100,400は、通信部110,410と、OS120,420とを備える。また、OS120,420は、実行環境130,430と、アプリケーションA150,450と、アプリケーションB160,460と、アプリケーションC170,470とを備える。実行環境130,430は、パケット解釈部132,432、フォーマットチェック部600および命令処理部136,436を主に含む。   In FIG. 9, the information processing apparatuses 100 and 400 include communication units 110 and 410 and OSs 120 and 420. The OSs 120 and 420 include execution environments 130 and 430, applications A 150 and 450, applications B 160 and 460, and applications C 170 and 470. The execution environments 130 and 430 mainly include packet interpretation units 132 and 432, a format check unit 600, and instruction processing units 136 and 436.

パケット解釈部132,432は、通信部110,410が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるOS120,420に対する命令の種類を識別する。そして、パケット解釈部132,432は、外部装置200,500から受信した命令をフォーマットチェック部600に入力する。フォーマットチェック部600は、パケット解釈部132,432から入力された命令のフォーマットのチェックを行う。そして、フォーマットチェック部600は、命令のフォーマットのチェックの結果、命令が所定のフォーマットであるときは、命令を命令処理部136,436に入力する。命令処理部136,436は、フォーマットチェック部600から入力された命令を実行する。   When the communication packets received by the communication units 110 and 410 are input, the packet interpretation units 132 and 432 interpret the contents of the communication packets and identify the types of instructions for the OSs 120 and 420 included in the communication packets. Then, the packet interpretation units 132 and 432 input the commands received from the external devices 200 and 500 to the format check unit 600. The format check unit 600 checks the format of instructions input from the packet interpretation units 132 and 432. Then, as a result of checking the format of the instruction, the format check unit 600 inputs the instruction to the instruction processing units 136 and 436 when the instruction has a predetermined format. The instruction processing units 136 and 436 execute the instruction input from the format check unit 600.

[フォーマットチェック処理]
以下、図9における情報処理装置が実行するフォーマットチェック処理について説明する。図10は、図9における情報処理装置100,400が実行するフォーマットチェック処理のフローチャートである。本処理は、情報処理装置100,400において、上述した図6または図8の情報処理を実行する際に外部装置200,600から受信する通信パケットのフォーマットのチェックを行う処理である。また、本処理は、情報処理装置100,400のフォーマットチェック部600が実行する処理である。
[Format check processing]
The format check process executed by the information processing apparatus in FIG. 9 will be described below. FIG. 10 is a flowchart of the format check process executed by the information processing apparatuses 100 and 400 in FIG. This processing is processing for checking the format of the communication packet received from the external device 200 or 600 when the information processing device 100 or 400 executes the information processing of FIG. 6 or FIG. This process is a process executed by the format check unit 600 of the information processing apparatuses 100 and 400.

図10において、まず、情報処理装置100,400のフォーマットチェック部600は、上述した図6または図8の情報処理を実行した結果、情報処理装置100,400においてアプリケーションA150,450が選択されているか否かを判別する(ステップS1102)。   10, first, the format check unit 600 of the information processing devices 100 and 400 executes the information processing of FIG. 6 or 8 described above, and as a result, whether the applications A 150 and 450 are selected in the information processing devices 100 and 400. It is determined whether or not (step S1102).

ステップS1102の判別の結果、情報処理装置100,400においてアプリケーションA150,450が選択されているときは(ステップS1102でYES)、情報処理装置100,400のフォーマットチェック部600は、命令のフォーマットのチェックを停止して、すなわち、全ての命令を命令処理部136,436に入力して(ステップS1104)、本処理を終了する。   If it is determined in step S1102 that the applications A150 and 450 are selected in the information processing apparatuses 100 and 400 (YES in step S1102), the format check unit 600 of the information processing apparatuses 100 and 400 checks the format of the instruction. Is stopped, that is, all instructions are input to the instruction processing units 136 and 436 (step S1104), and this process is terminated.

一方、ステップS1102の判別の結果、情報処理装置100,400においてアプリケーションA150,450が選択されていないときは(ステップS1102でNO)、情報処理装置100,400のフォーマットチェック部600は、命令のフォーマットのチェックを実施して、命令が所定のフォーマットであるときは、命令を命令処理部136,436に入力して(ステップS1106)、本処理を終了する。   On the other hand, as a result of the determination in step S1102, when the applications A 150 and 450 are not selected in the information processing apparatuses 100 and 400 (NO in step S1102), the format check unit 600 of the information processing apparatuses 100 and 400 displays the instruction format. When the instruction is in a predetermined format, the instruction is input to the instruction processing units 136 and 436 (step S1106), and the process is terminated.

図10のフォーマットチェック処理によれば、情報処理装置100,400においてアプリケーションA150,450が選択されているときは、フォーマットチェック部600での命令のフォーマットのチェックが停止される。上述したようにアプリケーションA150,450は、FeliCaOSを模倣したアプリケーションであり、OS120,420の実行環境130,430上で動作されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。Java CardOSに入力される命令と、FeliCaOSに入力される命令とは、そのフォーマットは異なるため、フォーマットチェック部600での命令のフォーマットのチェックを停止することにより、FeliCaOSに対して入力される命令をFeliCaOSを模倣したアプリケーションに確実に渡すことができる。   According to the format check process of FIG. 10, when the applications A 150 and 450 are selected in the information processing apparatuses 100 and 400, the check of the instruction format in the format check unit 600 is stopped. As described above, the applications A150 and 450 are applications imitating FeliCaOS, and when operated on the execution environments 130 and 430 of the OSs 120 and 420, the processing results generated when the FeliCaOS operates are equal. Since the instructions input to Java CardOS and the instructions input to FeliCaOS have different formats, the instruction input to FeliCaOS is changed by stopping the format check of the instruction in format check unit 600. It can be surely passed to an application imitating FeliCaOS.

なお、図10のフォーマットチェック処理では、アプリケーションの選択状態によって、フォーマットチェックの必要性の可否を決めているが、通信部110,410が命令を受信する形態によって、フォーマットチェックが必要か否かを判断することも可能である。   In the format check process of FIG. 10, whether or not the format check is necessary is determined according to the application selection state, but whether or not the format check is necessary is determined depending on the form in which the communication units 110 and 410 receive the command. It is also possible to judge.

通信部110,410は、NFCのような非接触の通信機能を有し外部機器と通信する場合や、通信部に別の機器、チップが繋がっており、そこから命令を受信する場合など、多様な入力形態を実現することが可能であり、その経路によって、フォーマットチェックが必要か否かを判断することができる。   The communication units 110 and 410 have various contactless communication functions such as NFC, when communicating with an external device, or when another device or chip is connected to the communication unit and receives a command therefrom. Therefore, it is possible to determine whether or not a format check is necessary according to the path.

[他のフォーマットチェック処理]
以下、図9における情報処理装置が実行する他のフォーマットチェック処理について説明する。図11は、図9における情報処理装置100,400が実行する他のフォーマットチェック処理のフローチャートである。本処理は、情報処理装置100,400において、上述した図6または図8の情報処理を実行する際に外部装置200,600から受信する通信パケットのフォーマットのチェックを行う処理である。また、本処理は、情報処理装置100,400のフォーマットチェック部600が実行する処理である。
[Other format check processing]
Hereinafter, another format check process executed by the information processing apparatus in FIG. 9 will be described. FIG. 11 is a flowchart of another format check process executed by the information processing apparatuses 100 and 400 in FIG. This processing is processing for checking the format of the communication packet received from the external device 200 or 600 when the information processing device 100 or 400 executes the information processing of FIG. 6 or FIG. This process is a process executed by the format check unit 600 of the information processing apparatuses 100 and 400.

図11において、まず、情報処理装置100,400のフォーマットチェック部600は、上述した図6または図8の情報処理を実行した結果、情報処理装置100,400における通信プロトコルが所定の通信プロトコルであるか否かを判別する(ステップS1202)。   11, first, the format check unit 600 of the information processing devices 100 and 400 executes the information processing of FIG. 6 or 8 described above, and as a result, the communication protocol in the information processing devices 100 and 400 is a predetermined communication protocol. Whether or not (step S1202).

ステップS1202の判別の結果、情報処理装置100,400における通信プロトコルが所定の通信プロトコルであるときは(ステップS1202でYES)、情報処理装置100,400のフォーマットチェック部600は、命令のフォーマットのチェックを停止して、すなわち、全ての命令を命令処理部136,436に入力して(ステップS1204)、本処理を終了する。   If the result of determination in step S1202 is that the communication protocol in the information processing apparatus 100, 400 is a predetermined communication protocol (YES in step S1202), the format check unit 600 of the information processing apparatus 100, 400 checks the format of the instruction. Is stopped, that is, all instructions are input to the instruction processing units 136 and 436 (step S1204), and this process ends.

一方、ステップS1202の判別の結果、情報処理装置100,400における通信プロトコルが所定の通信プロトコルでないときは(ステップS1202でNO)、情報処理装置100,400のフォーマットチェック部600は、命令のフォーマットのチェックを実施して、命令が所定のフォーマットであるときは、命令を命令処理部136,436に入力して(ステップS1206)、本処理を終了する。   On the other hand, if the result of determination in step S1202 is that the communication protocol in information processing apparatuses 100 and 400 is not a predetermined communication protocol (NO in step S1202), format check unit 600 of information processing apparatuses 100 and 400 determines the format of the instruction. When the check is performed and the instruction is in a predetermined format, the instruction is input to the instruction processing units 136 and 436 (step S1206), and this process is terminated.

図11のフォーマットチェック処理によれば、情報処理装置100,400における通信プロトコルが所定の通信プロトコルであるときは、フォーマットチェック部600での命令のフォーマットのチェックが停止される。上述したようにアプリケーションA150,450は、FeliCaOSを模倣したアプリケーションであり、OS120,420の実行環境130,430上で動作されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。Java CardOSに入力される命令と、FeliCaOSに入力される命令とは、そのフォーマットは異なるため、フォーマットチェック部600での命令のフォーマットのチェックを停止することにより、FeliCaOSに対して入力される命令を、FeliCaOSを模倣したアプリケーションに確実に渡すことができる。   According to the format check process of FIG. 11, when the communication protocol in the information processing apparatuses 100 and 400 is a predetermined communication protocol, the check of the format of the instruction in the format check unit 600 is stopped. As described above, the applications A150 and 450 are applications imitating FeliCaOS, and when operated on the execution environments 130 and 430 of the OSs 120 and 420, the processing results generated when the FeliCaOS operates are equal. Since the instructions input to Java CardOS and the instructions input to FeliCaOS have different formats, the instruction input to FeliCaOS is changed by stopping the format check of the instruction in format check unit 600. , It can be reliably passed to an application imitating FeliCaOS.

なお、本明細書において説明した第1及び第2の実施の形態に係る一連の処理は、典型的には情報処理装置100,400に設けられたコンピュータ上で動作するソフトウェアにより実現される。図12は、各実施の形態に係る一連の処理が動作するハードウェアの構成の一例を示すブロック図である。   The series of processing according to the first and second embodiments described in this specification is typically realized by software that operates on a computer provided in the information processing apparatuses 100 and 400. FIG. 12 is a block diagram illustrating an example of a hardware configuration in which a series of processes according to each embodiment operates.

図12において、CPU902は、情報処理装置100,400の動作全般を制御する。ROM(Read Only Memory)904には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。RAM906には、CPU902により実行されるプログラムやデータなどが一時的に記憶される。不揮発性メモリ908は、EEPROM(Electrically Erasable and Programmable ROM)などであり、後から追加したアプリケーションを格納することができる。   In FIG. 12, the CPU 902 controls the overall operation of the information processing apparatuses 100 and 400. A ROM (Read Only Memory) 904 stores a program or data describing a part or all of a series of processes. The RAM 906 temporarily stores programs executed by the CPU 902 and data. The nonvolatile memory 908 is an EEPROM (Electrically Erasable and Programmable ROM) or the like, and can store an application added later.

CPU902、ROM904、RAM906、及び不揮発性メモリ908は、バス910を介して相互に接続される。バス910にはさらに、入出力インタフェース912が接続される。   The CPU 902, ROM 904, RAM 906, and nonvolatile memory 908 are connected to each other via a bus 910. An input / output interface 912 is further connected to the bus 910.

CPU902は、ROM904、RAM906、及び不揮発性メモリ908に接続することにより、上述したパケット解釈部132,432、アプリケーション選択命令生成部134、命令処理部136,436、アプリケーション選択部142,442、命令実行部140,440として機能する。通信回路914は、通信部110,410として機能する。   The CPU 902 is connected to the ROM 904, the RAM 906, and the nonvolatile memory 908, so that the packet interpretation units 132 and 432, the application selection command generation unit 134, the command processing units 136 and 436, the application selection units 142 and 442, and the command execution described above. Functions as the units 140 and 440. The communication circuit 914 functions as the communication units 110 and 410.

入出力インタフェース912は、CPU902、ROM904、RAM906、及び不揮発性メモリ908と、通信回路914とを接続するためのインタフェースである。   The input / output interface 912 is an interface for connecting the CPU 902, ROM 904, RAM 906, and nonvolatile memory 908 to the communication circuit 914.

通信回路914は、所定の通信プロトコルに従い、外部装置200,500との間で通信パケットを送受信する。通信回路914は、例えば、ISO14443の標準仕様に従った非接触型の通信、又はISO7816の標準仕様に従った接触型の通信などをサポートしてもよい。   The communication circuit 914 transmits and receives communication packets to and from the external devices 200 and 500 according to a predetermined communication protocol. The communication circuit 914 may support, for example, non-contact communication according to the standard specification of ISO 14443, or contact communication according to the standard specification of ISO 7816.

以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。   The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field to which the present invention pertains can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that these also belong to the technical scope of the present invention.

例えば、図6、図8、図10、図11を用いて説明した処理を、必ずしもフローチャートに記載された順序に沿って実行しなくてもよい。各処理ステップは、並列的あるいは個別に独立して実行される処理を含んでもよい。   For example, the processes described with reference to FIGS. 6, 8, 10, and 11 do not necessarily have to be performed in the order described in the flowcharts. Each processing step may include processing executed in parallel or individually independently.

また、例えば、各OSの有するアプリケーションの数は、本明細書に示した数に限定されない。アプリケーションは、例えば前述したEEPROMの内容を書き換えるなどの方法により、必要に応じて追加又は削除され得る。   For example, the number of applications included in each OS is not limited to the number shown in this specification. Applications can be added or deleted as necessary, for example, by a method of rewriting the contents of the EEPROM described above.

100,400 情報処理装置
110,410 通信部
120,420 OS
130,430 実行環境
132,432 パケット解釈部
134 アプリケーション選択命令生成部
136,436 命令処理部
138,438 記憶部
140,440 命令実行部
142,442 アプリケーション選択部
150,450 アプリケーションA
160,460 アプリケーションB
170,470 アプリケーションC
200,500 外部装置
600 フォーマットチェック部

100, 400 Information processing device 110, 410 Communication unit 120, 420 OS
130, 430 Execution environment 132, 432 Packet interpretation unit 134 Application selection command generation unit 136, 436 Command processing unit 138, 438 Storage unit 140, 440 Command execution unit 142, 442 Application selection unit 150, 450 Application A
160,460 Application B
170, 470 Application C
200,500 External device 600 Format check section

Claims (13)

第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を、非接触通信を介して受信する受信部と、
前記受信部が受信した命令の種類を判別する判別部と、
前記第2のオペレーティングシステムに入力される命令である第一の命令に含まれる所定のメモリ領域を識別するための領域情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に、前記受信部が受信した命令と、前記記憶部に記憶されたテーブルを参照することによって前記第一の命令に含まれる前記領域情報に関連付けされた所定のアプリケーションを識別するための情報とに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に前記生成部が生成したアプリケーション選択命令を実行し、および、前記判別部により前記受信部が受信した命令が前記第1のオペレーティングシステムに入力される命令である第二の命令であると判別された場合に前記受信部が受信した命令を実行して、アプリケーションを選択的に実行する実行部と、
を備える、情報処理装置。
A receiver that receives instructions input to the first operating system and instructions input to a second operating system different from the first operating system via contactless communication;
A discriminating unit for discriminating the type of command received by the receiving unit;
A memory for storing a table in which area information for identifying a predetermined memory area included in a first instruction which is an instruction input to the second operating system is associated with information for identifying an application And
When it is determined by the determination unit that the instruction received by the reception unit is the first instruction, the instruction received by the reception unit and the table stored in the storage unit are referred to. A generation unit that generates an application selection instruction for selectively executing an application based on information for identifying a predetermined application associated with the area information included in one instruction ;
When the determination unit determines that the command received by the reception unit is the first command, the generation unit generates the application selection command generated, and the determination unit receives the reception unit. An execution unit that selectively executes an application by executing the instruction received by the reception unit when it is determined that the instruction is a second instruction that is an instruction input to the first operating system;
An information processing apparatus comprising:
前記実行部は、前記第1のオペレーティングシステムの実行環境上で所定のアプリケーションを実行することにより、前記第2のオペレーティングシステムが生成する処理結果と同様の処理結果を出力する、請求項1に記載の情報処理装置。   The execution unit outputs a processing result similar to the processing result generated by the second operating system by executing a predetermined application on an execution environment of the first operating system. Information processing device. 前記第一の命令は、前記第2のオペレーティングシステムに対応する所定のメモリ領域を選択するための情報取得命令であり、
前記領域情報は、前記情報取得命令に含まれる、請求項1または2に記載の情報処理装置。
The first instruction is an information acquisition instruction for selecting a predetermined memory area corresponding to the second operating system,
The region information is included in the information acquisition command, the information processing apparatus according to Motomeko 1 or 2.
前記判別部は、前記命令の種類の判別において、前記命令が前記情報取得命令であるか否かの判別を行った後に、前記命令が前記第二の命令であるか否かの判別を行う、請求項3に記載の情報処理装置。   The determination unit determines whether the instruction is the second instruction after determining whether the instruction is the information acquisition instruction in determining the type of the instruction. The information processing apparatus according to claim 3. 前記受信部が受信した命令のフォーマットのチェックを行うフォーマットチェック部を備え、
前記フォーマットチェック部は、前記実行部によって所定のアプリケーションが実行されている場合は、前記命令のフォーマットのチェックを停止する、請求項1〜4のいずれか1項に記載の情報処理装置。
A format check unit for checking a format of an instruction received by the receiving unit;
The information processing apparatus according to claim 1, wherein the format check unit stops checking the format of the instruction when a predetermined application is executed by the execution unit.
前記受信部が命令を受信した場合、前記記憶部に記憶されたテーブルに付加された応答可否フラグの状態によって、受信した命令に対応する応答判断を行う、請求項1〜5のいずれか1項に記載の情報処理装置。   The response determination corresponding to the received command is performed according to the state of the response availability flag added to the table stored in the storage unit when the receiving unit receives the command. The information processing apparatus described in 1. 前記命令を外部装置から受信する通信部をさらに備える、請求項1〜6のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising a communication unit that receives the command from an external device. 前記通信部は、前記命令を前記外部装置から非接触型の通信により受信する、請求項7に記載の情報処理装置。   The information processing apparatus according to claim 7, wherein the communication unit receives the command from the external apparatus by non-contact communication. 前記第1のオペレーティングシステムの実行環境上で実行され、前記第2のオペレーティングシステムが生成する処理結果と同様の処理結果が前記実行部により出力される、第1のアプリケーションと、第1のアプリケーションとは異なる第2のアプリケーションを備える、請求項1に記載の情報処理装置。   A first application that is executed on an execution environment of the first operating system and that outputs a processing result similar to the processing result generated by the second operating system; The information processing apparatus according to claim 1, comprising different second applications. 受信部と判別部と生成部と実行部とフォーマットチェック部とを備える情報処理装置における前記受信部により、第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を、非接触通信を介して受信することと、
前記判別部により、受信された命令の種類を判別することと、
前記生成部により、受信された命令が前記第2のオペレーティングシステムに入力される命令である第一の命令であると判別された場合に、前記第一の命令に含まれる所定のメモリ領域を識別するための領域情報とアプリケーションを識別するための情報とが関連付けされたテーブルを参照することによって前記第一の命令に含まれる前記領域情報に関連付けされた所定のアプリケーションを識別するための情報と、前記受信された命令とに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成することと、
前記実行部により、前記受信された命令が前記第一の命令であると判別された場合に前記アプリケーション選択命令を実行し、および、前記受信された命令が前記第1のオペレーティングシステムに入力される命令である第二の命令であると判別された場合に前記受信された命令を実行して、アプリケーションを選択的に実行することと、
を有する、情報処理方法。
A command input to the first operating system by the receiving unit in the information processing apparatus including a receiving unit, a determining unit, a generating unit, an executing unit, and a format checking unit, and a second different from the first operating system Receiving instructions entered into the operating system of the user via contactless communication;
Determining the type of received command by the determining unit;
When the generation unit determines that the received instruction is a first instruction that is an instruction input to the second operating system, a predetermined memory area included in the first instruction is identified. Information for identifying a predetermined application associated with the region information included in the first instruction by referring to a table in which region information for performing and information for identifying an application are associated with each other, Generating an application selection instruction for selectively executing an application based on the received instruction;
When the execution unit determines that the received instruction is the first instruction, the application selection instruction is executed, and the received instruction is input to the first operating system. Executing the received instruction when it is determined to be a second instruction that is an instruction, and selectively executing an application;
An information processing method.
前記命令を外部装置から受信することをさらに有する、請求項10に記載の情報処理方法。   The information processing method according to claim 10, further comprising receiving the command from an external device. コンピュータを、
第1のオペレーティングシステムに入力される命令、および前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムに入力される命令を、非接触通信を介して受信する受信部と、
前記受信部が受信した命令の種類を判別する判別部と、
前記第2のオペレーティングシステムに入力される命令である第一の命令に含まれる所定のメモリ領域を識別するための領域情報と、アプリケーションを識別するための情報とが関連付けされたテーブルを記憶する記憶部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に、前記受信部が受信した命令と、前記記憶部に記憶されたテーブルを参照することによって前記第一の命令に含まれる前記領域情報に関連付けされた所定のアプリケーションを識別するための情報とに基づいて、アプリケーションを選択的に実行するためのアプリケーション選択命令を生成する生成部と、
前記判別部により前記受信部が受信した命令が前記第一の命令であると判別された場合に前記生成部が生成したアプリケーション選択命令を実行し、および、前記判別部により前記受信部が受信した命令が前記第1のオペレーティングシステムに入力される命令である第二の命令であると判別された場合に前記受信部が受信した命令を実行して、アプリケーションを選択的に実行する実行部と、
を備える、情報処理装置として機能させるためのプログラム。
Computer
A receiver that receives instructions input to the first operating system and instructions input to a second operating system different from the first operating system via contactless communication;
A discriminating unit for discriminating the type of command received by the receiving unit;
A memory for storing a table in which area information for identifying a predetermined memory area included in a first instruction which is an instruction input to the second operating system is associated with information for identifying an application And
When it is determined by the determination unit that the instruction received by the reception unit is the first instruction, the instruction received by the reception unit and the table stored in the storage unit are referred to. A generation unit that generates an application selection instruction for selectively executing an application based on information for identifying a predetermined application associated with the area information included in one instruction ;
When the determination unit determines that the command received by the reception unit is the first command, the generation unit generates the application selection command generated, and the determination unit receives the reception unit. An execution unit that selectively executes an application by executing the instruction received by the reception unit when it is determined that the instruction is a second instruction that is an instruction input to the first operating system;
A program for causing an information processing apparatus to function.
前記情報処理装置は、前記命令を外部装置から受信する通信部をさらに備える、請求項12に記載のプログラム。   The program according to claim 12, wherein the information processing device further includes a communication unit that receives the command from an external device.
JP2014115561A 2014-06-04 2014-06-04 Information processing apparatus, information processing method, and program Active JP5943036B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014115561A JP5943036B2 (en) 2014-06-04 2014-06-04 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014115561A JP5943036B2 (en) 2014-06-04 2014-06-04 Information processing apparatus, information processing method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009277924A Division JP2011118837A (en) 2009-12-07 2009-12-07 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP2014186747A JP2014186747A (en) 2014-10-02
JP5943036B2 true JP5943036B2 (en) 2016-06-29

Family

ID=51834190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014115561A Active JP5943036B2 (en) 2014-06-04 2014-06-04 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5943036B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3751437A4 (en) 2018-02-07 2021-06-09 Sony Corporation Information processing device, information processing method, and program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3195122B2 (en) * 1993-04-26 2001-08-06 大日本印刷株式会社 Check method of instruction format given to IC card
JPH11120300A (en) * 1997-10-09 1999-04-30 Fujitsu Ltd Portable card medium, memory space managing method for portable card medium, issuing method for portable card medium, program data writing method for portable card medium, and medium on which memory space managing program is recorded
JP3701571B2 (en) * 2001-03-02 2005-09-28 株式会社ジェーシービー Integrated circuit and IC card
JP2003030596A (en) * 2001-07-13 2003-01-31 Hitachi Ltd Storage device provided with logic channel management function
JP3863011B2 (en) * 2001-11-29 2006-12-27 シャープ株式会社 Combination type IC card, control method therefor, and system program therefor
JP4184751B2 (en) * 2002-10-29 2008-11-19 大日本印刷株式会社 IC card and application program selection method in IC card
JP2005301657A (en) * 2004-04-12 2005-10-27 Dainippon Printing Co Ltd Ic card having multiple command tables stored in rewritable memory and executing method for command
JP2006215843A (en) * 2005-02-04 2006-08-17 E Safe:Kk Personal information management system and its method, and personal information management program and storage medium stored with it
JP2007122289A (en) * 2005-10-26 2007-05-17 Dainippon Printing Co Ltd Ic card having a plurality of operating systems, and ic card program

Also Published As

Publication number Publication date
JP2014186747A (en) 2014-10-02

Similar Documents

Publication Publication Date Title
JP2011118837A (en) Information processing device, information processing method and program
JP5668051B2 (en) Method for pre-selecting at least one application in a mobile communication device including an NFC system
US9946558B2 (en) Apparatus, method and system for activating an operating system based on a unified command
JP6962359B2 (en) Information processing equipment, information processing methods, and programs
US8931705B2 (en) IC card, mobile electronic device and data processing method in IC card
CN106663017B (en) Method, terminal, data routing method and device for realizing host card simulation
CN107251069B (en) Near field communication payment method and terminal
US10803373B2 (en) Information processing apparatus and information processing method
US9021504B2 (en) Method and device for automatically selecting an application that can be implemented by said device
US9978056B2 (en) Smart card having multiple payment instruments
JP5943036B2 (en) Information processing apparatus, information processing method, and program
JP2012208910A (en) Portable electronic device and processing system for portable electronic device
CN106411745B (en) Method and device for modifying non-contact front-end chip routing table
US20210049260A1 (en) Information processing apparatus, information processing method, and program
JP6092342B2 (en) Non-contact portable electronic device and method for issuing non-contact portable electronic device
JP5684059B2 (en) IC card and control method of IC card
CN112712356B (en) Method and system for configuring Java Card parameter
JP2012194698A (en) Portable electronic device, processing device for portable electronic device, and processing system of portable electronic device
WO2021124846A1 (en) Ic card and control program for ic card
JP2015164079A (en) Ic card, portable electronic device, and method for controlling ic card
JP6515850B2 (en) INFORMATION PROCESSING APPARATUS, IC CHIP, INFORMATION PROCESSING METHOD, PROGRAM, AND INFORMATION PROCESSING SYSTEM
JP5875772B2 (en) Portable electronic device, control method for portable electronic device, and processing system for portable electronic device
CN114493645A (en) Data acquisition method and device and electronic equipment
JP2012198676A (en) Portable electronic device, processor for portable electronic device, and processing system for portable electronic device
JP2016151914A (en) Electronic information storage medium, application replacement method, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160331

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160509

R151 Written notification of patent or utility model registration

Ref document number: 5943036

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250