JP5943036B2 - Information processing apparatus, information processing method, and program - Google Patents
Information processing apparatus, information processing method, and program Download PDFInfo
- 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
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.
ところで、複数の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.
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 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
図1において、外部装置200は、情報処理装置100との間で通信することのできる通信装置である。例えば、外部装置200は、情報処理装置100に記録された情報を読み書きするリーダ/ライタであってもよい。また、外部装置200は、情報処理装置100に実装された機能を利用して任意のアプリケーションをユーザに提供する情報処理装置であってもよい。
In FIG. 1, an
一方、情報処理装置100は、典型的には、接触型又は非接触型のICカードやICチップなどとして実現される。また、情報処理装置100は、携帯電話などの情報通信端末に設けられる通信モジュールなどであってもよい。情報処理装置100は、後述するように、自装置の記録する情報の入出力や様々な演算を実行するための命令群を提供する。そして、情報処理装置100は、外部装置200から命令が入力されると、その命令に対応する処理を実行し、外部装置200へ応答を出力する。
On the other hand, the
情報処理装置100は、通信部110と、オペレーティングシステム(以下、「OS」という。)120とを備える。
The
通信部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
OS120は、入力された命令に応じて、情報処理装置100の有する情報の入出力や所定の演算を実行する。本明細書では、情報処理装置100により実行可能な命令の集合を命令群と称する。例えば、OS120はJava Card(登録商標)OSなどであってもよい。例えば、Java CardOSは、本発明の第1のオペレーティングシステムの一例である。
The
また、OS120は、実行環境130と、アプリケーションA150と、アプリケーションB160と、アプリケーションC170とを備える。
The
実行環境130は、OS120が命令群を実行するための基盤となるソフトウェア群である。実行環境130は、パケット解釈部132、アプリケーション選択命令生成部134、命令処理部136および記憶部138を主に含む。また、命令処理部136は、命令実行部140およびアプリケーション選択部142を主に含む。
The
パケット解釈部132は、通信部110が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるOS120に対する命令の種類を識別する。命令の種類としては、例えば、FeliCaOSが搭載されたカードを検知し、OSから情報を取得する情報取得命令、OS120が実行するアプリケーションを選択するためのアプリケーション選択命令やその他の命令がある。このとき、通信パケットに含まれる命令は、一時記憶部(図示しない)に記憶されてもよい。
When the communication packet received by the
図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
パケット解釈部132は、本発明の判別部の一例であり、例えば、命令情報302に含まれる命令コードを参照して、外部装置200から受信した命令が情報取得命令300であると識別した場合は、この命令をアプリケーション選択命令生成部134に入力する。一方、パケット解釈部132は、外部装置200から受信した命令がアプリケーション選択命令やその他の命令であると識別した場合は、これらの命令を命令処理部136に入力する。なお、パケット解釈部132は、外部装置200から受信した命令がアプリケーション選択命令であると識別した場合は、この命令を命令処理部136のアプリケーション選択部142に入力する。そして、その後命令処理部136から上述した命令に対応する応答が出力された場合には、パケット解釈部132は、その応答を通信部110を介して外部装置200に送信する。
The
アプリケーション選択命令生成部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
図4Bに示すように、領域情報304に対応する応答可否フラグがTBL1Bに付与されている場合は、「応答不可」のフラグが設定されていたら、アプリケーション選択命令生成部134は領域情報304から関連付けされたアプリケーション識別情報を判別する処理が必要ないと判断し、無応答もしくは、外部装置200から受信した命令に対するエラーを外部装置に返す。「応答可」のフラグが設定されている場合は、前記に記載の通り、アプリケーション選択命令350を生成し、アプリケーション選択部142に前記の命令を渡す。
As shown in FIG. 4B, when the response availability flag corresponding to the
図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
命令処理部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
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
図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
[情報処理]
以下、図1における情報処理装置100が実行する情報処理について説明する。図6は、図1における情報処理装置100が実行する情報処理のフローチャートである。
[Information processing]
Hereinafter, information processing executed by the
図6において、まず、情報処理装置100の通信部110は、外部装置200から通信パケットを受信して(ステップS602)、受信した通信パケットをパケット解釈部132に送信する。
In FIG. 6, first, the
次いで、情報処理装置100のパケット解釈部132は、通信部110から受信した通信パケットの解釈を行う(ステップS604)。そして、情報処理装置100のパケット解釈部132は、ステップS604での通信パケットの解釈により、通信パケットに含まれる命令が上述した情報取得命令であるか否かを判別する(ステップS606)。
Next, the
ステップ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
一方、ステップ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
ステップ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
続くステップS612の処理では、情報処理装置100のアプリケーション選択部142は、入力されたアプリケーション選択命令を実行して、アプリケーションを選択的に実行する(ステップS612)。例えば、情報処理装置100のアプリケーション選択部142は、記憶部138から図5に示すテーブルTBL2を読み出して、入力されたアプリケーション選択命令に含まれるアプリケーション識別情報に対応するアプリケーションを実行する。本実施の形態では、アプリケーションA150は、FeliCaOSを模倣したアプリケーションであり、OS120の実行環境130上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。そして、ステップS614の処理に進む。
In the subsequent process of step S612, the
一方、ステップ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
次いで、情報処理装置100の命令実行部140は、入力されたその他の命令を実行して(ステップS620)、ステップS614の処理に進む。
Next, the
続くステップS614の処理では、情報処理装置100の命令処理部136は、命令実行部140またはアプリケーション選択部142において実行した命令の実行結果を含む応答を生成する(ステップS614)。そして、情報処理装置100の命令処理部136は、ステップS614で生成した応答を情報処理装置100のパケット解釈部132に入力する。
In the subsequent process of step S614, the
次いで、情報処理装置100のパケット解釈部132は、入力された応答を通信部110を介して外部装置200に送信して(ステップS616)、本処理を終了する。
Next, the
図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
[本発明の第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
図7において、情報処理装置400は、通信部410と、OS420とを備える。また、OS420は、実行環境430と、アプリケーションA450と、アプリケーションB460と、アプリケーションC470とを備える。通信部410は、本発明の受信部の一例である。実行環境430は、パケット解釈部432、命令処理部436および記憶部438を主に含む。また、命令処理部436は、命令実行部440およびアプリケーション選択部442を主に含む。
In FIG. 7, the
パケット解釈部432は、本発明の判別部の一例であり、通信部410が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるOS420に対する命令の種類を識別する。また、パケット解釈部432は、外部装置500から受信した命令が情報取得命令またはアプリケーション選択命令であると識別した場合は、これらの命令を命令処理部436におけるアプリケーション選択部442に入力する。一方、パケット解釈部432は、外部装置500から受信した命令がその他の命令であると識別した場合は、この命令を命令処理部436における命令実行部440に入力する。そして、その後命令処理部436から上述した命令に対応する応答が出力された場合には、パケット解釈部432は、その応答を通信部410を介して外部装置500に送信する。
The
命令処理部436は、命令実行部440およびアプリケーション選択部442を主に含む。命令実行部440は、入力されたその他の命令を実行する。アプリケーション選択部442は、本発明の実行部の一例であり、命令処理部436に入力された情報取得命令またはアプリケーション選択命令を実行する。例えば、アプリケーション選択部442は、情報取得命令の実行において、記憶部438から図4Aに示すような領域情報とアプリケーションとが関連付けされたテーブルTBL1Aを読み出す。そして、アプリケーション選択部442は、読み出したテーブルTBL1Aを参照して、入力された情報取得命令に含まれる領域情報に関連付けされたアプリケーション識別情報を判別する。例えば、情報取得命令に含まれる領域情報が“AAAA”である場合は、“0001”が実行するアプリケーション識別情報として判別される。アプリケーション識別情報を判別した後、アプリケーション選択部442は、指定されたアプリケーション識別情報を用いて、判別したアプリケーションを呼び出す。アプリケーション選択部442は図5に示すようなTBL2を用いてアプリケーション識別情報からアプリケーション格納位置を判明させる。命令処理部436は、命令実行部440やアプリケーション選択部442が実行した命令の応答をパケット解釈部432に出力する。
The
アプリケーションA450、アプリケーションB460、アプリケーションC470は、OS420上で動作する任意のアプリケーションである。本実施の形態では、アプリケーションA450は、例えば、FeliCa(登録商標)OSを模倣したアプリケーションである。このアプリケーションA450は、OS420の実行環境430上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。
An
[情報処理]
以下、図7における情報処理装置400が実行する情報処理について説明する。図8は、図7における情報処理装置400が実行する情報処理のフローチャートである。
[Information processing]
Hereinafter, information processing executed by the
図8において、まず、情報処理装置400の通信部410は、外部装置500から通信パケットを受信して(ステップS902)、受信した通信パケットをパケット解釈部432に送信する。
In FIG. 8, first, the
次いで、情報処理装置400のパケット解釈部432は、通信部410から受信した通信パケットの解釈を行う(ステップS904)。そして、情報処理装置400のパケット解釈部432は、ステップS904での通信パケットの解釈により、通信パケットに含まれる命令が上述した情報取得命令であるか否かを判別する(ステップS906)。
Next, the
ステップ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
一方、ステップ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
ステップ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
続くステップS910の処理では、情報処理装置400のアプリケーション選択部442は、入力された情報取得命令またはアプリケーション選択命令を実行して、アプリケーションを選択的に実行する(ステップS910)。例えば、情報処理装置400のアプリケーション選択部442は、情報取得命令が入力された場合、ステップS908で読み出したテーブルTBL1A,2を参照して、入力された情報取得命令に含まれる領域情報に対応するアプリケーションを実行する。本実施の形態では、アプリケーションA450は、FeliCaOSを模倣したアプリケーションであり、OS420の実行環境430上で実行されると、FeliCaOSが動作した際に生成される処理結果と等しくなる。そして、ステップS912の処理に進む。
In the subsequent process of step S910, the
一方、ステップ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
次いで、情報処理装置400の命令実行部440は、入力されたその他の命令を実行して(ステップS918)、ステップS912の処理に進む。
Next, the
続くステップS912の処理では、情報処理装置400の命令処理部436は、命令実行部440またはアプリケーション選択部442において実行した命令の実行結果を含む応答を生成する(ステップS912)。そして、情報処理装置400の命令処理部436は、ステップS912で生成した応答を情報処理装置400のパケット解釈部432に入力する。
In the subsequent process of step S912, the
次いで、情報処理装置400のパケット解釈部432は、入力された応答を通信部410を介して外部装置500に送信して(ステップS914)、本処理を終了する。
Next, the
図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
[本発明の各実施の形態に係る情報処理装置の変形例]
以下、本発明の各実施の形態に係る情報処理装置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
図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
パケット解釈部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
[フォーマットチェック処理]
以下、図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
図10において、まず、情報処理装置100,400のフォーマットチェック部600は、上述した図6または図8の情報処理を実行した結果、情報処理装置100,400においてアプリケーションA150,450が選択されているか否かを判別する(ステップS1102)。
10, first, the format check unit 600 of the
ステップ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
一方、ステップ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
図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
なお、図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
通信部110,410は、NFCのような非接触の通信機能を有し外部機器と通信する場合や、通信部に別の機器、チップが繋がっており、そこから命令を受信する場合など、多様な入力形態を実現することが可能であり、その経路によって、フォーマットチェックが必要か否かを判断することができる。
The
[他のフォーマットチェック処理]
以下、図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
図11において、まず、情報処理装置100,400のフォーマットチェック部600は、上述した図6または図8の情報処理を実行した結果、情報処理装置100,400における通信プロトコルが所定の通信プロトコルであるか否かを判別する(ステップS1202)。
11, first, the format check unit 600 of the
ステップ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
一方、ステップ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
図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
なお、本明細書において説明した第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
図12において、CPU902は、情報処理装置100,400の動作全般を制御する。ROM(Read Only Memory)904には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。RAM906には、CPU902により実行されるプログラムやデータなどが一時的に記憶される。不揮発性メモリ908は、EEPROM(Electrically Erasable and Programmable ROM)などであり、後から追加したアプリケーションを格納することができる。
In FIG. 12, the
CPU902、ROM904、RAM906、及び不揮発性メモリ908は、バス910を介して相互に接続される。バス910にはさらに、入出力インタフェース912が接続される。
The
CPU902は、ROM904、RAM906、及び不揮発性メモリ908に接続することにより、上述したパケット解釈部132,432、アプリケーション選択命令生成部134、命令処理部136,436、アプリケーション選択部142,442、命令実行部140,440として機能する。通信回路914は、通信部110,410として機能する。
The
入出力インタフェース912は、CPU902、ROM904、RAM906、及び不揮発性メモリ908と、通信回路914とを接続するためのインタフェースである。
The input /
通信回路914は、所定の通信プロトコルに従い、外部装置200,500との間で通信パケットを送受信する。通信回路914は、例えば、ISO14443の標準仕様に従った非接触型の通信、又はISO7816の標準仕様に従った接触型の通信などをサポートしてもよい。
The
以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。 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
130, 430
160,460 Application B
170, 470 Application C
200,500 External device 600 Format check section
Claims (13)
前記受信部が受信した命令の種類を判別する判別部と、
前記第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に記載の情報処理装置。 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.
前記フォーマットチェック部は、前記実行部によって所定のアプリケーションが実行されている場合は、前記命令のフォーマットのチェックを停止する、請求項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.
前記判別部により、受信された命令の種類を判別することと、
前記生成部により、受信された命令が前記第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.
第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.
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)
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)
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 |
-
2014
- 2014-06-04 JP JP2014115561A patent/JP5943036B2/en active Active
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 |