JP2010039913A - 通信装置、通信方法、及びプログラム - Google Patents

通信装置、通信方法、及びプログラム Download PDF

Info

Publication number
JP2010039913A
JP2010039913A JP2008204231A JP2008204231A JP2010039913A JP 2010039913 A JP2010039913 A JP 2010039913A JP 2008204231 A JP2008204231 A JP 2008204231A JP 2008204231 A JP2008204231 A JP 2008204231A JP 2010039913 A JP2010039913 A JP 2010039913A
Authority
JP
Japan
Prior art keywords
instruction
operating system
command
belonging
group
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.)
Pending
Application number
JP2008204231A
Other languages
English (en)
Other versions
JP2010039913A5 (ja
Inventor
Yasuo Takeuchi
康雄 竹内
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 JP2008204231A priority Critical patent/JP2010039913A/ja
Priority to PCT/JP2009/061036 priority patent/WO2010016332A1/ja
Priority to US13/056,348 priority patent/US20110197203A1/en
Priority to BRPI0915570A priority patent/BRPI0915570A2/pt
Priority to CN2009801303831A priority patent/CN102112992A/zh
Priority to EP09804819A priority patent/EP2312488A1/en
Priority to RU2011103428/08A priority patent/RU2512111C2/ru
Publication of JP2010039913A publication Critical patent/JP2010039913A/ja
Publication of JP2010039913A5 publication Critical patent/JP2010039913A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/356Aspects of software for card payments
    • G06Q20/3563Software being resident on card

Abstract

【課題】OSのセキュリティレベルを低下させることなくOS間の命令の呼出しを可能とすること。
【解決手段】第1命令群に属する命令を実行する第1OSと、前記第1命令群とは異なる第2命令群に属する命令を実行する第2OSと、前記第1命令群に属する第1命令を外部装置から受信した場合には当該第1命令を前記第1OSに入力し、前記第1命令に対応する応答として第1応答が前記第1OSにより出力された場合には当該第1応答を前記外部装置へ送信し、前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1OSにより出力された場合には、当該第2命令を前記第2OSに入力した後、前記第2OSにより出力される当該第2命令に対応する第2応答を前記第1OSに入力する判定部と、を備える通信装置を提供する。
【選択図】図2

Description

本発明は、通信装置、通信方法、及びプログラムに関する。
従来、情報の記録や演算を行うことのできる集積回路を組み込んだIC(Integrated Circuit)カードが実用化されている。中でも、集積回路内にプロセッサを備え、高度な情報処理を実現するスマートカードとも呼ばれるICカードは、日常生活における決済手段や個人識別手段として近年様々な用途に広く用いられている。
ICカード上での情報処理は通常、ICカードとの間で通信可能な外部装置から与えられる命令を受けて行われる。ICカードに与えられる命令には、情報の入出力や演算、又はセキュリティ処理などをICカードに実行させる様々なものが存在する。そこで、近年開発された多くのICカードは、そうした命令群を実行する基盤となるオペレーティングシステム(以下、OS(Operating System)という)を回路内に搭載している。そして、異なる規格に従った複数の外部装置との間でICカードを連携可能にしてICカードの汎用性を高めるために、ICカードに複数の種類のOSが搭載される場合もある。
複数のOSを搭載したICカードに関連する技術としては、例えば、下記特許文献1又は2に記載の技術が公知である。例えば、下記特許文献1では、接触型ICカード用のOSと非接触型ICカード用のOSとを1つの回路に搭載し、各OSにより管理されるデータへのリンク情報を保持することにより、OS間でのデータ共有を可能とする技術が開示されている。また、下記特許文献2では、個々の命令の処理履歴を管理することにより、あるOSによる命令実行中に他のOSによって他の命令が実行されることを回避する技術が開示されている。
特開2002−259922号公報 特開2007−122289号公報
しかしながら、例えばICカードの第1のOSとの間でのみ連携することのできるプロトコルを用いて、ICカードの第2のOSの有する機能を利用したいという状況も発生する。そうした場合に、第2のOSを改変して第1のOSからの命令を受け付けるインタフェースを用意すると、第2のOSのセキュリティレベルが低下する。また、上記特許文献1又は2に記載の手法を応用した場合、双方のOSに機能を追加する必要が生じるため、OS自体の汎用性や拡張性が損なわれる恐れがある。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、OSのセキュリティレベルを低下させることなくOS間の命令の呼出しを可能とする、新規かつ改良された通信装置、通信方法、及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、第1命令群に属する命令を実行する第1オペレーティングシステムと、前記第1命令群とは異なる第2命令群に属する命令を実行する第2オペレーティングシステムと、前記第1命令群に属する第1命令を外部装置から受信した場合には当該第1命令を前記第1オペレーティングシステムに入力し、前記第1命令に対応する応答として第1応答が前記第1オペレーティングシステムにより出力された場合には当該第1応答を前記外部装置へ送信し、前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令を前記第2オペレーティングシステムに入力した後、前記第2オペレーティングシステムにより出力される当該第2命令に対応する第2応答を前記第1オペレーティングシステムに入力する、判定部と、を備える通信装置が提供される。
また、前記判定部は、さらに、前記第2命令群に属する前記第2命令を外部装置から受信した場合には当該第2命令を前記第2オペレーティングシステムに入力し、前記外部装置から受信された前記第2命令に対応する応答として第2応答が前記第2オペレーティングシステムにより出力された場合には当該第2応答を前記外部装置へ送信してもよい。
また、前記第1オペレーティングシステムは、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する命令に変換する命令変換部を有してもよい。
また、前記第1命令群に属する命令は、ヘッダ部とデータ部とを含み、前記命令変換部は、前記第1命令群に属する命令のデータ部から前記第2命令群に属する命令を抽出することにより命令を変換してもよい。
また、前記第1オペレーティングシステムは、前記第1命令群に属する命令を前記第2命令群に属する命令に変換するための変換テーブルをさらに有し、前記命令変換部は、前記変換テーブルを参照し、前記第1命令群に属する命令と関連付けられた前記第2命令群に属する命令を取得することにより命令を変換してもよい。
また、前記第1オペレーティングシステムは、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する命令に変換する第1の命令変換部と、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する他の命令に変換する第2の命令変換部と、を有してもよい。
また、前記通信装置は、前記第1命令群及び前記第2命令群とは異なる第3命令群に属する命令を実行する第3オペレーティングシステム、をさらに備え、前記第1オペレーティングシステムは、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する命令に変換する第1の命令変換部と、前記第1命令群に属する少なくとも1つの命令を前記第3命令群に属する命令に変換する第2の命令変換部と、を有してもよい。
また、前記判定部は、前記第1命令に対応する応答として前記第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令を前記第2オペレーティングシステムに入力する前に、前記第2オペレーティングシステムのアプリケーションを識別する情報であって当該第2命令に含まれる情報を所定の対応表に応じて書き換えてもよい。
また、前記第2命令群に属する命令は、ヘッダ部とデータ部とを含み、前記判定部は、前記第1命令に対応する応答として前記第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令の前記ヘッダ部が事前に与えられた所定の条件を満たす場合にのみ、当該第2命令を前記第2オペレーティングシステムに入力してもよい。
また、前記判定部は、前記第2命令を前記第2オペレーティングシステムに入力した後、一定の時間が経過しても前記第2オペレーティングシステムにより当該第2命令に対応する第2応答が出力されない場合には、当該第2命令を再度前記第2オペレーティングシステムに入力してもよい。
また、前記判定部は、前記第2命令を前記第2オペレーティングシステムに入力した後、一定の時間が経過しても前記第2オペレーティングシステムにより当該第2命令に対応する第2応答が出力されない場合には、異常が発生したことを示す応答を前記第1オペレーティングシステムに入力してもよい。
上記課題を解決するために、本発明の別の観点によれば、第1命令群に属する命令を実行する第1オペレーティングシステムと、前記第1命令群とは異なる第2命令群に属する命令を実行する第2オペレーティングシステムと、を備える通信装置において、前記第1命令群に属する第1命令を外部装置から受信した場合に、当該第1命令を前記第1オペレーティングシステムに入力するステップと、前記第1命令に対応する応答として第1応答が前記第1オペレーティングシステムにより出力された場合に、当該第1応答を前記外部装置へ送信するステップと、前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1オペレーティングシステムにより出力された場合に、当該第2命令を前記第2オペレーティングシステムに入力するステップと、前記第1オペレーティングシステムにより出力された前記第2命令に対応する第2応答であって前記第2オペレーティングシステムにより出力された第2応答を、前記第1オペレーティングシステムに入力するステップと、を含む通信方法が提供される。
上記課題を解決するために、本発明の別の観点によれば、通信装置を制御するコンピュータを、第1命令群に属する命令を実行する第1オペレーティングシステムと、前記第1命令群とは異なる第2命令群に属する命令を実行する第2オペレーティングシステムと、前記第1命令群に属する第1命令を外部装置から受信した場合には当該第1命令を前記第1オペレーティングシステムに入力し、前記第1命令に対応する応答として第1応答が前記第1オペレーティングシステムにより出力された場合には当該第1応答を前記外部装置へ送信し、前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令を前記第2オペレーティングシステムに入力した後、前記第2オペレーティングシステムにより出力される当該第2命令に対応する第2応答を前記第1オペレーティングシステムに入力する、判定部と、として機能させるためのプログラムが提供される。
以上説明したように、本発明に係る通信装置、通信方法、及びプログラムによれば、OSのセキュリティレベルを低下させることなくOS間で命令を呼出すことができる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下の順序にしたがって当該「発明を実施するための最良の形態」を説明する。
〔1〕第1の実施形態
〔1−1〕通信装置の基本的な構成
〔1−2〕通信処理の流れの例
〔1−3〕第1の変形例
〔1−4〕第2の変形例
〔2〕第2の実施形態
〔1〕第1の実施形態
〔1−1〕通信装置の基本的な構成
まず、図1〜図6を参照しながら、本発明の第1の実施形態に係る通信装置100の基本的な構成について説明する。
図1は、本発明の第1の実施形態に係る通信装置100について概略的に示した模式図である。図1には、外部装置10及び通信装置100が描かれている。
外部装置10は、通信装置100との間で通信することのできる通信装置である。例えば、外部装置10は、通信装置100に記録された情報を読み書きするリーダ/ライタであってもよい。また、外部装置10は、通信装置100に実装された機能を利用して任意のアプリケーションをユーザに提供する情報処理装置であってもよい。
一方、通信装置100は、典型的には、接触型又は非接触型のICカードやICチップなどとして実現される。また、通信装置100は、携帯電話などの情報通信端末に設けられる通信モジュールなどであってもよい。通信装置100は、後述するように、自装置の記録する情報の入出力や様々な演算を実行するための命令群を提供する。そして、通信装置100は、外部装置10から命令が入力されると、その命令に対応する処理を実行し、外部装置10へ応答を出力する。
図1を参照すると、通信装置100は、通信部110、中間層120、ファイアウォール(FW:FireWall)130、第1オペレーティングシステム(以下、第1OS)140、及び第2オペレーティングシステム(以下、第2OS)160を備える。
通信部110は、通信装置100による外部装置10との間の通信を仲介する通信インタフェースである。外部装置10から通信装置100への命令の入力及び通信装置100から外部装置10への応答の出力は、通信部110を経由して行われる。例えば、通信装置100が外部装置10との間で非接触型の通信を行う場合には、通信部110は、NFC(Near Field Communication)などの標準規格に従った通信インタフェースなどとして実現され得る。
中間層120は、通信部110、第1OS140、及び第2OS160の間に設けられた論理的な階層である。中間層120は、後に詳しく説明するように、外部装置10から入力される命令の転送先を第1OS140又は第2OS160のいずれかから判定し、命令を転送する。また、中間層120は、転送した命令に対して返却される応答を外部装置10へ出力し、又は第1OS140若しくは第2OS160のいずれかへさらに転送する。また、中間層120には、さらに第1OS140及び第2OS160のメモリへのアクセスを制御する手段なども設けられる。
ファイアウォール130は、第1OS140と第2OS160との間で直接的にデータアクセスや命令の入出力が行われることを防ぐために設けられる。本実施形態では、ファイアウォール130は、実質的には後述する中間層120に含まれるメモリ制御手段により論理的に実現される。しかしながら、例えば、メモリ領域をOS間で物理的に切り分けることによってファイアウォール130を実現してもよい。
第1OS140及び第2OS160は、入力された命令に応じて、それぞれ通信装置100の有する情報の入出力や所定の演算を実行する。本明細書では、通信装置100により実行可能な命令のうち、第1OS140により実行される命令の集合を第1命令群、第2OS160により実行される命令の集合を第2命令群と称する。例えば、第1OS140はJava Card(登録商標)OS、第2OS160はFelica(登録商標)OSなどであってもよい。本実施形態に係る第1OS140及び第2OS160のより具体的な構成については、後に詳しく説明する。
ここまで、図1を用いて、本発明の第1の実施形態に係る通信装置100の概要について説明した。次に、通信装置100の中間層120、第1OS140、及び第2OS160の詳細な構成についてそれぞれ説明する。
図2は、本実施形態に係る中間層120の詳細な構成を示すブロック図である。図2を参照すると、中間層120は、パケット解釈部122、判定部124、一時記憶部126、及びメモリ制御部128を備える。
パケット解釈部122は、通信部110により通信パケットが受信されると、通信パケットの内容を解釈し、第1OS140又は第2OS160に対する命令の転送先の判定を判定部124に指示する。このとき、通信パケットから取得された命令は、一時記憶部126に記憶される。
判定部124は、例えば、外部装置から受信した前述の命令が、第1OS140に転送すべき第1命令群に属する命令(以下、第1命令という)と第2OS160に転送すべき第2命令群に属する命令(以下、第2命令という)のいずれであるかを判定する。
図3(A)は、通信装置100が受信する命令のフォーマットの一例を示す説明図である。図3(A)を参照すると、命令50は、命令ヘッダ部52及び命令データ部54を有する。命令ヘッダ部52には、例えば、命令の種類を識別するための命令コードや、命令を実行するためのパラメータなどが含まれる。一方、命令データ部54には、その命令により処理されるべきデータなどが含まれる。また、命令ヘッダ部52にアプリケーションの選択を命令するコードを設定し、命令データ部54に命令を実行させるアプリケーションを識別するためのアプリケーションコードを含めることにより、アプリケーションを選択する処理を実現してもよい。
判定部124は、例えば、このような命令ヘッダ部52に含まれる命令コードを参照し、外部装置10から受信した前述の命令が第1命令であると判定した場合には、当該第1命令を第1OS140へ入力する。そして、その後第1OS140から第1命令に対応する応答(以下、第1応答という)が出力された場合には、判定部124は、当該第1応答をパケット解釈部122へ出力し、通信部110を介して外部装置10へ送信する。
図3(B)は、通信装置100から送信される応答のフォーマットの一例を示す説明図である。図3(B)を参照すると、応答60は、応答データ部62及びステータス部64を有する。応答データ部62には、例えば、命令を実行した結果として取得又は生成されたデータなどが含まれる。一方、ステータス部64には、命令の実行が正常終了したか異常終了したかなどを表すステータス情報などが含まれる。
ここで、本実施形態において、判定部124が第1命令を第1OS140へ入力した後、第1OS140から第1応答の代わりに第2OS160に転送すべき第2命令が出力される場合がある。その場合には、判定部124は、例えば図3(A)に示した命令ヘッダ部52に含まれる命令コードを参照して第2命令が出力されたことを判定し、当該第2命令を第2OS160へ入力する。その後、第2OS160から第2命令に対応する応答(以下、第2応答という)が出力された場合には、判定部124は、当該第2応答を外部装置10へ送信するのではなく、第2命令を出力した第1OS140へ入力する。そして、最終的に第1OS140から第1応答が出力されると、判定部124は、当該第1応答をパケット解釈部122へ出力し、通信部110を介して外部装置10へ送信する。
また、判定部124は、外部装置10から受信した命令が第2命令であると判定された場合には、当該第2命令を第2OS160へ入力する。その後、第2OS160から第2命令に対応する第2応答が出力された場合には、判定部124は、当該第2応答をパケット解釈部122へ出力し、通信部110を介して外部装置10へ送信する。第2命令に対応する第2応答を第1OS140へ入力するか外部装置10へ送信するかは、例えば一時記憶部126に転送先を判断するフラグ値などを一時的に記憶させておくことにより判定することができる。
なお、判定部124は、例えば第2命令を第2OS160に入力した後、事前に定義した一定の時間が経過しても第2OS160から当該第2命令に対応する応答が出力されない場合には、第2命令を再度第2OS160に入力してもよい。その代わりに、判定部124は、一定の時間が経過しても第2命令に対応する応答が出力されない場合には、例えば、タイムアウトを表すステータス情報を含む応答を第1OS140へ入力するなどにより、異常が発生したことを第1OS140に通知してもよい。
引き続き、図2を参照しながら、本実施形態に係る中間層120の説明を継続する。
一時記憶部126は、パケット解釈部122と判定部124の間、及び判定部124と第1OS140又は第2OS160の間で相互にやりとりされる命令や応答又は制御データなどを一時的に記憶する。一時記憶部126は、例えば、RAM(Random Access Memory)を用いて実現され得る。
メモリ制御部128は、第1OS140と第2OS160の間で同時にメモリへのアクセスが発生して通信装置100に障害が起きないように、第1OS140と第2OS160の動作をそれぞれ制御する。メモリ制御部128は、例えば、公知のMMU(Memory Management Unit)を用いて実現され得る。その代わりに、例えば、第1OS140と第2OS160とを物理的に異なるICチップで実装し、メモリ制御部128により各ICチップへの電源供給を制御させてもよい。
ここまで、図2及び図3を用いて、本実施形態に係る中間層120の詳細な構成について説明を行った。なお、中間層120を通信装置100のカーネルとして実現することも可能である。即ち、ここで説明した中間層120の第1OS140及び第2OS160に対する共通的な管理機能群を、通信装置100のカーネルとして実現してもよい。
図4は、本実施形態に係る第1OS140の詳細な構成を示すブロック図である。図4を参照すると、第1OS140は、第1実行環境142と、アプリケーション150A及び150Bとを備える。
第1実行環境142は、第1OS140が第1命令群を実行するための基盤となるソフトウェア群である。第1実行環境142は、第1命令解釈部144、第1命令実行部146、及び第1記憶部148を主に含む。
中間層120の判定部124により第1OS140へ入力された第1命令は、まず第1命令解釈部144によって、通信装置100の有するCPU(Central Processing Unit)などにより実行可能な形式に変換され、第1記憶部148に出力される。そして、第1命令は、第1命令実行部146により実行される。
アプリケーション150(150A及び150B)は、第1命令が実行されることにより第1OS140上で動作する任意のアプリケーションである。ここで、“アプリケーション”という用語には、アプレットや、より単純なロジックのみを含むソフトウェアなども含まれる。アプリケーション150A及び150Bのうちどちらが実行されるかは、例えば第1命令の命令ヘッダ部52にアプリケーションの選択を命令するコードを設定しておくことで、第1命令の命令データ部54に含まれるアプリケーションコードなどから決定される。
本実施形態において、第1命令に対してアプリケーション150Aが実行されると、例えばアプリケーション150Aに対応する情報の入出力や所定の演算などが行われ、第1応答が中間層120の一時記憶部126に出力される。
一方、第1命令に対してアプリケーション150Bが実行されると、アプリケーション150Bに含まれる命令変換部152により、第1命令が第2命令に変換され、中間層120の一時記憶部126に第2命令が出力される。
命令変換部152による命令の変換は、例えば図5(A)又は図5(B)に示す手法により実現することができる。図5(A)及び(B)は、命令変換部152による命令の変換処理の一例を説明するための説明図である。
図5(A)において、第1命令50aの命令ヘッダ部52aには、当該命令が第1命令であることを示す命令コードが含まれている。また、命令データ部54aには、変換後の第2命令の命令ヘッダ部を構成する一連の情報が含まれている。そして、命令変換部152は、入力された第1命令50aの命令データ部54aを抽出して出力することにより、第1命令50aを第2命令に変換する。
一方、図5(B)において、第1命令50bの命令ヘッダ部52bには、図5(A)と同様、当該命令が第1命令であることを示す命令コードが含まれている。また、命令変換部152により利用可能な記憶領域に、命令変換テーブルTBL1が事前に保持されている。そして、命令変換部152は、入力された第1命令50bの命令ヘッダ部52bに含まれる命令コードに関連付けれた第2命令の命令コードを命令変換テーブルTBL1から取得して出力することにより、第1命令50bを第2命令に変換する。例えば、図5(B)の例では、第1命令X1は第2命令Y1に、第1命令X2は第2命令Y2に変換され得る。
図4及び図5の説明から理解されるように、第1OS140により第1命令が実行されると、第1OS140から中間層120へ、第1応答又は第2命令が出力される。そして、前述したように、中間層120により、第1応答は外部装置10へ送信され、第2命令は第2OS160へ入力される。
図6は、本実施形態に係る第2OS160の詳細な構成を示すブロック図である。図6を参照すると、第2OS160は、第2実行環境162と、アプリケーション172及び174とを備える。
第2実行環境162は、第2OS160が第2命令群を実行するための基盤となるソフトウェア群である。第2実行環境162は、第2命令解釈部164、第2命令実行部166、及び第2記憶部168を主に含む。
中間層120の判定部124により第2OS160へ入力された第2命令は、まず第2命令解釈部164によって、通信装置100の有するCPUなどにより実行可能な形式に変換され、第2記憶部168に出力される。そして、第2命令は、第2命令実行部166により実行される。
アプリケーション172及び174は、第2命令が実行されることにより第2OS160上で動作する任意のアプリケーションである。本実施形態において、第2命令に対してアプリケーション172又は174が実行されると、各アプリケーションに対応する情報の入出力や所定の演算などが行われ、第2応答が中間層120の一時記憶部126に出力される。アプリケーション172及び174のうちどちらが実行されるかは、例えば第2命令の命令ヘッダ部52に含まれるアプリケーションコードなどにより決定される。
第2OS160による第2命令の実行の結果として出力された第2応答は、前述したように、第2命令が外部装置10から受信されていた場合には、中間層120から通信部110を介して外部装置10へ送信される。一方、第2命令が第1OS140から出力されていた場合には、中間層120により、第2応答は第1OS140へ入力される。
第2OS160から出力され第1OS140へ入力された第2応答は、例えば第2命令を出力したアプリケーション150Bにより処理され、第2命令の実行結果を含む第1応答として中間層120へ出力される。そして、第1応答は、中間層120から通信部110を介して外部装置10へ送信される。
なお、第1記憶部148及び第2記憶部168は、前述したメモリ制御部128の機能により仮想的に分割されたものであってよい。即ち、第1記憶部148及び第2記憶部168は、物理的には1つの記録装置で構成されていてもよい。
〔1−2〕通信処理の流れの例
ここまで、図1〜図6を用いて本実施形態に係る通信装置100の基本的な構成について説明した。これらの説明をまとめると、通信装置100による処理の経路は、主に図7に示す3種類の経路となる。
図7を参照すると、第1の処理経路は、外部装置10から受信された第1命令が第1OS140により実行され、その結果第1OS140から出力された第1応答が外部装置10へ送信されるという経路である(P1a、b)。
第2の処理経路は、外部装置10から受信された第1命令が第1OS140により第2命令に変換され、当該第2命令を第2OS160が実行した結果を含む第1応答が第1OS140により出力され、外部装置10へ送信されるという経路である(P2a〜d)。
また、第3の処理経路は、外部装置10から受信された第2命令が第2OS160により実行され、その結果第2OS160から出力された第2応答が外部装置10へ送信されるという経路である(P3a、b)。
ここで、例えば、外部装置10と通信装置100の間の通信プロトコルが第1命令のみをサポートしていた場合を仮定する。そのような外部装置10を、図8に外部装置10aとして示している。
図8の外部装置10aは、第1命令を発行し、通信装置100の第1の処理経路P1により、第1OS140上で動作する任意のアプリケーションを利用できる。それに加えて、外部装置10aは、第1命令を発行し、通信装置100の第2の処理経路P2により、第2OS160上で動作する任意のアプリケーションを利用できる。このとき、外部装置10aからは、あたかも第1命令のみが通信装置100により実行されているように見える。これは、第1OS140及び第2OS160の任意のアプリケーションサービスをユーザに提供するために、外部装置10aに改変を加える必要が無いことを意味している。
また、図8には、通信装置100との間の通信プロトコルが第2命令をサポートしている外部装置10bも示されている。外部装置10bは、第2命令を発行し、通信装置100の第3の処理経路P3により、第2OS160上で動作する任意のアプリケーションを利用できる。このとき、通信装置100の第2OS160に第1OS140からのアクセスを受けるための特別なインタフェースを設けていれば、そのインタフェースが外部装置10bを介して接続するユーザから悪用される恐れがある。しかしながら、本実施形態では、第2OS160は第2命令のみを通常通り受け付けるため、第2OS160のセキュリティレベルが低下することはない。
図9〜図11は、本実施形態に係る通信装置100による通信処理の流れの一例を示すフローチャートである。このうち、図9は、中間層120の判定部120による転送先判定処理の流れを主に示している。
図9を参照すると、転送先判定処理は、外部装置10からの通信パケットが通信部110を介して受信されたことをきっかけとして開始される(S1202)。受信された通信パケットは、一時記憶部126に書込まれる。
次に、パケット解釈部122は、通信パケットの内容を解釈し、通信パケットに第1命令又は第2命令が含まれる場合には、判定部124に命令の転送先の判定を指示する(S1204)。
そして、判定部124は、例えば受信した命令の命令ヘッダ部52を参照し、当該命令が第1命令又は第2命令のいずれであるかを識別することにより、命令の転送先を判定する(S1206)。その結果、受信した命令が第1命令であった場合には、判定部124は、第1OS140へ第1命令を入力する。また、受信した命令が第2命令であった場合には、判定部124は、第2OS160へ第2命令を入力する。
第1OS140は、第1命令を入力されると、第1命令を実行する(S1208)。ここで、図10を用いて、第1OS140による第1命令の実行処理をより詳細に説明する。
図10は、第1OS140による第1命令の実行処理の流れを部分的に例示するフローチャートである。図10を参照すると、図9のS1206の後、まず中間層120のメモリ制御部128により、第1OS140のメモリへのアクセスが許可される(S1402)。
そして、第1OS140において第1命令の入力を受けた第1命令解釈部144は、第1命令を解釈して実行可能な形式に変換する(S1404)。さらに、第1命令実行部146は、実行可能な形式に変換された第1命令を実行する(S1406)。
このとき、第1命令が実行されたことにより動作するアプリケーション150が命令の変換を行うか否かによって処理は分岐する(S1408)。例えば、図4に示したアプリケーション150Aは命令の変換を行わず、第1命令に対応する第1応答を生成する(S1410)。その場合、生成された第1応答は、中間層120の一時記憶部126に書込まれる。その後、処理は図9のS1210へ移動する。
一方、例えば、図4に示したアプリケーション150Bは、命令変換部152を有する。そのため、アプリケーション150Bが動作した場合、命令変換部152により第1命令が第2命令に変換される(S1412)。ここで生成された第2命令は、中間層120の一時記憶部126に書込まれる。その後、処理は図9のS1210へ移動する。
説明は図9に戻る。第1OS140から第1命令に対する応答が出力さると、判定部124は、当該応答を外部装置10へ送信すべきか、又は第2OS160へ転送すべきかを判定する(S1210)。
このとき、第1OS140から第1応答が出力された場合には、判定部124は、第1応答を通信部110を介して外部装置10へ送信し(S1212)、通信装置100による一連の処理は終了する。一方、第1OS140から第2命令が出力された場合には、判定部124は、第2命令を第2OS160へ入力する。
そして、第2OS160は、第2命令を入力されると、第2命令を実行する(S1214)。ここで、図11を用いて、第2OS160による第2命令の実行処理をより詳細に説明する。
図11は、第2OS160による第2命令の実行処理の流れを例示するフローチャートである。図11において、図9のS1206又はS1210における判定の結果、第2命令が第2OS160へ入力されると、まず中間層120のメモリ制御部128により、第2OS160のメモリへのアクセスが許可される(S1602)。
そして、第2OS160において第2命令の入力を受けた第2命令解釈部164は、第2命令を解釈して実行可能な形式に変換する(S1604)。さらに、第2命令実行部166は、実行可能な形式に変換された第2命令を実行する(S1606)。
そして、例えば、図6に示したアプリケーション172又は174により、第2命令に対応する第2応答が生成される(S1608)。ここで生成された第2応答は、中間層120の一時記憶部126に書込まれる。その後、処理は図9のS1216へ移動する。
説明は図9に戻る。第2OS160から第2命令に対する第2応答が出力さると、判定部124は、当該応答を外部装置10へ送信すべきか、又は第1OS140へ転送すべきかを判定する(S1216)。
このとき、外部装置10から第2命令を受信していた場合には、判定部124は、第2応答を通信部110を介して外部装置10へ送信し(S1220)、通信装置100による一連の処理は終了する。
一方、第1OS140から第2命令が出力されていた場合には、判定部124は、第2応答を第1OS140へ入力する。このとき、第2応答は、例えば第2命令を出力したアプリケーション150Bにより処理される。それにより、第1応答が生成される(S1218)。
そして、第2応答に基づいて生成された第1応答は、通信部110を介して外部装置10へ送信され(S1212)、通信装置100による一連の処理は終了する。
ここまで、図9〜図11を用いて、通信装置100による通信処理の流れの一例について説明した。なお、ここでは第1OS140により第1命令から変換された第2命令は特に制限なく第2OS160により実行される例を示したが、次に説明する本実施形態の変形例のように、中間層120を経由したOS間の命令の転送に制限を加えることも可能である。
〔1−3〕第1の変形例
図12は、本実施形態の第1の変形例に係る中間層120の構成を示すブロック図である。図12を参照すると、本変形例に係る中間層120は、パケット解釈部120、判定部124、一時記憶部126、メモリ制御部128、及び条件保持部132を備える。
条件保持部132には、第2命令が第2OS160へ転送されるための事前に定義された条件が保持される。
例えば、第2命令の命令ヘッダ部52に含まれ得る命令コードのうち、第1OS140からの転送を許可する種類の命令を示す命令コードを条件保持部132に保持しておいてもよい。その場合、判定部124は、条件保持部132に保持されている命令コードを含む第2命令が第1OS140から出力された場合にのみ、当該第2命令を第2OS160へ転送し得る。
また、例えば、第1OS140からの呼出しを許可する第2OS160のアプリケーションを指定するアプリケーションコードを条件保持部132に保持しておいてもよい。その場合、判定部124は、条件保持部132に保持されているアプリケーションコードを含む第2命令が第1OS140から出力された場合にのみ、当該第2命令を第2OS160へ転送し得る。また、次に条件保持部132において他のアプリケーションを指定するアプリケーションコードが選択されるまでは、判定部124は、第2命令を第2OS160の同じアプリケーションに転送し続けることが可能である。
即ち、本変形例によれば、第1OS140から第2OS160への命令の転送を命令の種類などに応じて制限することが可能となる。それにより、通信装置100のセキュリティがより高められる。
なお、第1OS140から出力された第2命令を判定部124が転送しない場合には、判定部124は、例えば所定のエラーコードを含む応答を第1OS140へ返すことにより、第2命令が転送されないことを第1OS140へ通知してもよい。
〔1−4〕第2の変形例
図13は、本実施形態の第2の変形例に係る中間層120の構成を示すブロック図である。図13を参照すると、本変形例に係る中間層120は、パケット解釈部120、判定部124、一時記憶部126、メモリ制御部128、管理テーブル134、及びテーブル操作部136を備える。
管理テーブル134には、例えば、第2OS160のアプリケーションを識別する固有のアプリケーションコードが、任意の外部指定用コードと1対1に関連付けられた形式で事前に保持される。
そして、判定部124は、第1OS140から出力された第2命令を第2OS160に転送する際、管理テーブル134を参照し、第2命令に含まれる外部指定用コードを前述したアプリケーションコードに書き換えてから当該第2命令を第2OSへ入力する。即ち、本変形例において、管理テーブル134は、第2OS160の固有のアプリケーションコードを第1OS140に対して隠蔽するための対応表の役割を果たす。この場合、外部指定用コードも第2OS160のアプリケーションを識別するコードとなるが、外部指定用コードは、例えばアルファベットと数字などを用いた任意の文字列であってよい。
テーブル操作部136は、管理テーブル134に外部指定用コードとアプリケーションコードの組合せを登録、変更、又は削除するためのインタフェースである。例えば、テーブル操作部136は、第1命令群及び第2命令群に属さない管理テーブル操作用の命令を外部装置10から通信部100を介して受け付け、前述したコードの組合せを管理テーブル134に登録、変更、又は削除する。
本変形例によれば、第2OS160の個々のアプリケーションを識別する固有のアプリケーションコードを第1OS140に対して隠蔽し、その代わりに管理テーブル134に予め登録しておいた外部指定用コードを指定させることができる。それにより、通信装置100のセキュリティがより高められると共に、第2OS160のアプリケーションの変更による第1OS140への影響を狭めることができる。
ここまで、図1〜図13を用いて、本発明の第1の実施形態について説明した。本実施形態によれば、図8に関連して説明したように、通信装置100の有する第1OS140及び第2OS160によるアプリケーションサービスを、第1命令のみをサポートする装置を介して利用することが可能となる。それにより、通信装置100と外部装置10との間との間で複数の通信プロトコルをサポートする必要が無くなり、通信装置100の汎用性が向上する。また、その際、各OSに他のOSからのアクセスを受けるための特別なインタフェースを設けなくてもよいため、OSのセキュリティレベルが低下することはない。
さらに、中間層120に命令の転送をフィルタリングする手段を設けることにより、OS間での命令のやり取りを命令の種類などに応じて制限してもよい。また、第2OS160による命令の実行に必要となるアプリケーションコードなどの情報を、中間層120において隠蔽してもよい。それにより、通信装置100のセキュリティをより強固なものとすることができる。
〔2〕第2の実施形態
第1の実施形態では、通信装置100において、第1命令を第2命令に変換する手段を第1OS140に1つだけ設ける例を説明した。しかしながら、第1命令を第2命令に変換する手段は、複数存在していてもよい。
図14は、本発明の第2の実施形態に係る通信装置200について概略的に示した模式図である。図14を参照すると、通信装置200は、通信部110、中間層220、ファイアウォール130、第1OS240、第2OS160、及び第3OS180を備える。また、通信装置200は、通信部110を介して外部装置10と接続される。
本実施形態において、中間層220は、通信部110、第1OS240、第2OS160、及び第3OS180の間に設けられた論理的な階層である。中間層220は、外部装置10から入力される命令の転送先を第1OS240、第2OS160、又は第3OS180のいずれかから判定し、命令を転送する。また、中間層220は、転送した命令に対して返却される応答を外部装置10へ出力し、又は他のOSへさらに転送する。また、中間層220には、さらに第1OS240、第2OS160、及び第3OS180のメモリへのアクセスを制御する手段なども設けられる。
第1OS240、第2OS160、及び第3OS180は、入力された命令に応じて、それぞれ通信装置100の有する情報の入出力や所定の演算を実行する。より具体的には、第1OS240は第1命令群に属する第1命令、第2OS160は第2命令群に属する第2命令、第3OS180は第3命令群に属する第3命令を実行する。また、第1OS240は、後に説明するように、第1命令を第2命令及び第3命令にそれぞれ変換する2つの命令変換手段を有する。
一方、第3OS180は、例えば図6に示した第2OSの構成と同様に実行環境とアプリケーションとを有し、第3命令を実行して第3応答を出力する。
図15は、本実施形態に係る第1OS240の詳細な構成を示すブロック図である。図15を参照すると、第1OS240は、第1実行環境142と、アプリケーション250A及び250Bとを備える。そして、第1実行環境142は、第1命令解釈部144、第1命令実行部146、及び第1記憶部148を主に含む。また、アプリケーション250Aは命令変換部252Aを含む。アプリケーション250Bは命令変換部252Bを含む。
アプリケーション250(250A及び250B)は、第1命令が実行されることにより第1OS240上で動作する任意のアプリケーションである。アプリケーション250A及び250Bのうちどちらが実行されるかは、例えば第1命令の命令データ部54に含まれるアプリケーションコードなどを利用して選択する方法により決定される。
本実施形態において、命令変換部252Aは、中間層220から入力された第1命令を、第2OS160により実行されるべき第2命令に変換する。また、命令変換部Bは、中間層220から入力された第1命令を、第3OS180により実行されるべき第3命令に変換する。かかる命令の変換は、例えば図5を用いて説明したように、命令データ部54aからの命令の抽出、又は変換テーブルにおいて関連付けられている第2命令又は第3命令の取得などにより行われる。
図16は、本実施形態に係る中間層220の詳細な構成を示すブロック図である。図16を参照すると、中間層220は、パケット解釈部222、判定部224、一時記憶部226、及びメモリ制御部228を備える。
パケット解釈部222は、通信部110により通信パケットが受信されると、通信パケットの内容を解釈し、第1OS240、第2OS160、又は第3OS180に対する命令の転送先の判定を判定部224に指示する。このとき、通信パケットから取得された命令は、一時記憶部226に記憶される。
判定部224は、例えば、外部装置から受信した命令の命令ヘッダ部52を参照し、命令ヘッダ部52に含まれる命令コードなどに応じて、命令の転送先を判定する。例えば、判定部224は、外部装置10から受信した命令が第1命令であると判定した場合には、当該第1命令を第1OS240へ入力する。そして、その後第1OS240から第1命令に対応する応答として第1応答が出力された場合には、判定部224は、当該第1応答をパケット解釈部222へ出力し、通信部110を介して外部装置10へ送信する。
また、判定部224は、例えば、第1命令に対応する応答として第2命令が出力された場合には、当該第2命令を第2OS160へ入力する。そして、第2OS160から第2命令に対応する第2応答が出力された場合には、判定部224は、当該第2応答を外部装置10へ送信するのではなく、第2命令を出力した第1OS240へ入力する。
また、判定部224は、例えば、第1命令に対応する応答として第3命令が出力された場合には、当該第3命令を第3OS180へ入力する。そして、第3OS180から第3命令に対応する第3応答が出力された場合には、判定部224は、当該第3応答を外部装置10へ送信するのではなく、第3命令を出力した第1OS240へ入力する。
一時記憶部226は、パケット解釈部222と判定部224の間、及び判定部224と第1OS240、第2OS160又は第3OS180の間で相互にやりとりされる命令や応答又は制御データなどを一時的に記憶する。
メモリ制御部228は、第1OS140、第2OS160、及び第3OS180の間で同時にメモリへのアクセスが発生して通信装置100に障害が起きないように、第1OS240、第2OS160、及び第3OS180のメモリへのアクセスを制御する。
なお、図16には示していないが、本実施形態においても、第1の実施形態と同様、中間層220に命令の転送をフィルタリングする手段を設けることにより、OS間での命令のやり取りを命令の種類などに応じて制限してもよい。また、第2OS160又は第3OS180による命令の実行に必要となるアプリケーションコードなどの情報を第1OS240に対して隠蔽してもよい。
ここまで、図14〜図16を用いて、本発明の第2の実施形態について説明した。本実施形態のように、通信装置200に3つのOSが搭載される場合には、例えば第1のOS240に第1命令を第2命令及び第3命令にそれぞれ変換する複数の変換手段を設けることにより、3つのOSによるアプリケーションサービスを、第1命令のみをサポートする装置を介して利用することが可能となる。それにより、通信装置200と外部装置10との間との間で複数の通信プロトコルをサポートする必要が無くなり、通信装置200の汎用性が向上する。また、その際、各OSに他のOSからのアクセスを受けるための特別なインタフェースを設けなくてもよいため、OSのセキュリティレベルが低下することはない。
また、本実施形態のようにOSの単位で命令変換手段を設ける代わりに、1つのOSにより実行される命令群を2つ集合に分類し、それぞれの集合に対応する複数の命令変換手段を設けてもよい。例えば、第2OS160が無線通信用の命令群と有線通信用の命令群を共にサポートしている場合には、第1OS240は、第1命令を無線通信用の命令に変換する第1の命令変換部と、第1命令を有線通信用の命令に変換する第2の命令変換部とを有してもよい。かかる構成によれば、例えば、図12に示した中間層120による命令のフィルタリング処理を組み合わせることで、OSの単位よりもきめ細やかなセキュリティレベルの設定が可能となり、通信装置200の安全性がさらに向上する。
なお、本明細書において説明した第1及び第2の実施形態に係る一連の処理は、典型的には通信装置に設けられたコンピュータ上で動作するソフトウェアにより実現される。図17は、各実施形態に係る一連の処理が動作するハードウェアの構成の一例を示すブロック図である。
図17において、CPU902は、通信装置の動作全般を制御する。ROM(Read Only Memory)904には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。RAM906には、CPU902により実行されるプログラムやデータなどが一時的に記憶される。MMU908は、CPU902からのメモリへのアクセスを制御する。また、図17には示していないが、EEPROM(Electrically Erasable and Programmable ROM)などの不揮発性メモリを搭載することで、さらに後から追加したアプリケーションを格納することも可能である。
CPU902、ROM904、RAM906、及びMMU908は、バス910を介して相互に接続される。バス910にはさらに、入出力インタフェース912が接続される。
入出力インタフェース912は、CPU902、ROM904、RAM906、及びMMU908と、通信回路914とを接続するためのインタフェースである。
通信回路914は、所定の通信プロトコルに従い、外部装置10との間で通信パケットを送受信する。通信回路914は、例えば、ISO14443の標準仕様に従った非接触型の通信、又はISO7816の標準仕様に従った接触型の通信などをサポートしてもよい。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、図9〜図11を用いて説明した処理を、必ずしもフローチャートに記載された順序に沿って実行しなくてもよい。各処理ステップは、並列的あるいは個別に独立して実行される処理を含んでもよい。
また、例えば、各OSの有するアプリケーションの数は、本明細書に示した数に限定されない。アプリケーションは、例えば前述したEEPROMの内容を書き換えるなどの方法により、必要に応じて追加又は削除され得る。
第1の実施形態に係る通信装置の概要を示す模式図である。 第1の実施形態に係る中間層の論理的な構成を示すブロック図である。 命令及び応答のフォーマットの一例を示す説明図である。 第1の実施形態に係る第1オペレーティングシステムの論理的な構成を示すブロック図である。 第1の実施形態に係る命令変換部による命令の変換処理を説明するための説明図である。 第1の実施形態に係る第2オペレーティングシステムの論理的な構成を示すブロック図である。 通信装置内での3通りの処理経路を説明するための説明図である。 外部装置の種類と図7の処理経路の関係を説明するための説明図である。 第1の実施形態に係る転送先判定処理の流れを示すフローチャートである。 第1の実施形態に係る第1命令実行処理の流れを示すフローチャートである。 第1の実施形態に係る第2命令実行処理の流れを示すフローチャートである。 第1の実施形態に係る中間層の第1の変形例を示すブロック図である。 第1の実施形態に係る中間層の第2の変形例を示すブロック図である。 第2の実施形態に係る通信装置の概要を示す模式図である。 第2の実施形態に係る第1オペレーティングシステムの論理的な構成を示すブロック図である。 第2の実施形態に係る中間層の論理的な構成を示すブロック図である。 通信装置のハードウェア構成の一例を示すブロック図である。
符号の説明
50 命令
52 命令ヘッダ部
54 命令データ部
60 応答
62 応答データ部
64 応答ステータス部
100、200 通信装置
110 通信部
120、220 中間層
122、222 パケット解釈部
124、224 判定部
126、226 一時記憶部
128、228 メモリ制御部
130 ファイアウォール
132 条件保持部
134 管理テーブル
136 テーブル操作部
140、240 第1オペレーティングシステム
142 第1実行環境
144 第1命令解釈部
146 第1命令実行部
148 第1記憶部
150、250(A、B) アプリケーション
152、252(A、B) 命令変換部
160 第2オペレーティングシステム
162 第2実行環境
164 第2命令解釈部
166 第2命令実行部
168 第2記憶部
172、174 アプリケーション
180 第3オペレーティングシステム

Claims (13)

  1. 第1命令群に属する命令を実行する第1オペレーティングシステムと;
    前記第1命令群とは異なる第2命令群に属する命令を実行する第2オペレーティングシステムと;
    前記第1命令群に属する第1命令を外部装置から受信した場合には当該第1命令を前記第1オペレーティングシステムに入力し、
    前記第1命令に対応する応答として第1応答が前記第1オペレーティングシステムにより出力された場合には当該第1応答を前記外部装置へ送信し、
    前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令を前記第2オペレーティングシステムに入力した後、前記第2オペレーティングシステムにより出力される当該第2命令に対応する第2応答を前記第1オペレーティングシステムに入力する、判定部と;
    を備える通信装置。
  2. 前記判定部は、さらに、前記第2命令群に属する前記第2命令を外部装置から受信した場合には当該第2命令を前記第2オペレーティングシステムに入力し、
    前記外部装置から受信された前記第2命令に対応する応答として第2応答が前記第2オペレーティングシステムにより出力された場合には当該第2応答を前記外部装置へ送信する、請求項1に記載の通信装置。
  3. 前記第1オペレーティングシステムは、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する命令に変換する命令変換部を有する、請求項1に記載の通信装置。
  4. 前記第1命令群に属する命令は、ヘッダ部とデータ部とを含み、
    前記命令変換部は、前記第1命令群に属する命令のデータ部から前記第2命令群に属する命令を抽出することにより命令を変換する、請求項3に記載の通信装置。
  5. 前記第1オペレーティングシステムは、前記第1命令群に属する命令を前記第2命令群に属する命令に変換するための変換テーブルをさらに有し、
    前記命令変換部は、前記変換テーブルを参照し、前記第1命令群に属する命令と関連付けられた前記第2命令群に属する命令を取得することにより命令を変換する、請求項3に記載の通信装置。
  6. 前記第1オペレーティングシステムは、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する命令に変換する第1の命令変換部と、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する他の命令に変換する第2の命令変換部と、を有する、請求項1に記載の通信装置。
  7. 前記通信装置は、前記第1命令群及び前記第2命令群とは異なる第3命令群に属する命令を実行する第3オペレーティングシステム、をさらに備え;
    前記第1オペレーティングシステムは、前記第1命令群に属する少なくとも1つの命令を前記第2命令群に属する命令に変換する第1の命令変換部と、前記第1命令群に属する少なくとも1つの命令を前記第3命令群に属する命令に変換する第2の命令変換部と、を有する、請求項1に記載の通信装置。
  8. 前記判定部は、前記第1命令に対応する応答として前記第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令を前記第2オペレーティングシステムに入力する前に、前記第2オペレーティングシステムのアプリケーションを識別する情報であって当該第2命令に含まれる情報を所定の対応表に応じて書き換える、請求項1に記載の通信装置。
  9. 前記第2命令群に属する命令は、ヘッダ部とデータ部とを含み、
    前記判定部は、前記第1命令に対応する応答として前記第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令の前記ヘッダ部が事前に与えられた所定の条件を満たす場合にのみ、当該第2命令を前記第2オペレーティングシステムに入力する、請求項1に記載の通信装置。
  10. 前記判定部は、前記第2命令を前記第2オペレーティングシステムに入力した後、一定の時間が経過しても前記第2オペレーティングシステムにより当該第2命令に対応する第2応答が出力されない場合には、当該第2命令を再度前記第2オペレーティングシステムに入力する、請求項1に記載の通信装置。
  11. 前記判定部は、前記第2命令を前記第2オペレーティングシステムに入力した後、一定の時間が経過しても前記第2オペレーティングシステムにより当該第2命令に対応する第2応答が出力されない場合には、異常が発生したことを示す応答を前記第1オペレーティングシステムに入力する、請求項1に記載の通信装置。
  12. 第1命令群に属する命令を実行する第1オペレーティングシステムと、前記第1命令群とは異なる第2命令群に属する命令を実行する第2オペレーティングシステムと、を備える通信装置において、
    前記第1命令群に属する第1命令を外部装置から受信した場合に、当該第1命令を前記第1オペレーティングシステムに入力するステップと;
    前記第1命令に対応する応答として第1応答が前記第1オペレーティングシステムにより出力された場合に、当該第1応答を前記外部装置へ送信するステップと;
    前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1オペレーティングシステムにより出力された場合に、当該第2命令を前記第2オペレーティングシステムに入力するステップと;
    前記第1オペレーティングシステムにより出力された前記第2命令に対応する第2応答であって前記第2オペレーティングシステムにより出力された第2応答を、前記第1オペレーティングシステムに入力するステップと;
    を含む通信方法。
  13. 通信装置を制御するコンピュータを:
    第1命令群に属する命令を実行する第1オペレーティングシステムと;
    前記第1命令群とは異なる第2命令群に属する命令を実行する第2オペレーティングシステムと;
    前記第1命令群に属する第1命令を外部装置から受信した場合には当該第1命令を前記第1オペレーティングシステムに入力し、
    前記第1命令に対応する応答として第1応答が前記第1オペレーティングシステムにより出力された場合には当該第1応答を前記外部装置へ送信し、
    前記第1命令に対応する応答として前記第2命令群に属する第2命令が前記第1オペレーティングシステムにより出力された場合には、当該第2命令を前記第2オペレーティングシステムに入力した後、前記第2オペレーティングシステムにより出力される当該第2命令に対応する第2応答を前記第1オペレーティングシステムに入力する、判定部と;
    として機能させるための、プログラム。
JP2008204231A 2008-08-07 2008-08-07 通信装置、通信方法、及びプログラム Pending JP2010039913A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2008204231A JP2010039913A (ja) 2008-08-07 2008-08-07 通信装置、通信方法、及びプログラム
PCT/JP2009/061036 WO2010016332A1 (ja) 2008-08-07 2009-06-17 通信装置、通信方法、及びプログラム
US13/056,348 US20110197203A1 (en) 2008-08-07 2009-06-17 Communication device, communication method and program
BRPI0915570A BRPI0915570A2 (pt) 2008-08-07 2009-06-17 dispositivo de comunicação, método para comunicação em um dispositivo de comunicação, e, programa
CN2009801303831A CN102112992A (zh) 2008-08-07 2009-06-17 通信装置、通信方法及程序
EP09804819A EP2312488A1 (en) 2008-08-07 2009-06-17 Communication device, communication method, and program
RU2011103428/08A RU2512111C2 (ru) 2008-08-07 2009-06-17 Устройство и способ связи

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008204231A JP2010039913A (ja) 2008-08-07 2008-08-07 通信装置、通信方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010039913A true JP2010039913A (ja) 2010-02-18
JP2010039913A5 JP2010039913A5 (ja) 2011-09-22

Family

ID=41663557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008204231A Pending JP2010039913A (ja) 2008-08-07 2008-08-07 通信装置、通信方法、及びプログラム

Country Status (7)

Country Link
US (1) US20110197203A1 (ja)
EP (1) EP2312488A1 (ja)
JP (1) JP2010039913A (ja)
CN (1) CN102112992A (ja)
BR (1) BRPI0915570A2 (ja)
RU (1) RU2512111C2 (ja)
WO (1) WO2010016332A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190454A (ja) * 2011-03-08 2012-10-04 Sony Corp 情報処理装置、情報処理方法、およびプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015037187A1 (ja) * 2013-09-11 2015-03-19 パナソニックIpマネジメント株式会社 通信デバイス及び通信システム
JP6078515B2 (ja) * 2014-11-13 2017-02-08 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム
RU2565013C1 (ru) * 2014-12-12 2015-10-10 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Устройство связи с внешними устройствами и системами
JP6876235B2 (ja) * 2016-09-27 2021-05-26 富士フイルムビジネスイノベーション株式会社 電子装置及び画像処理装置
KR20190046552A (ko) * 2017-10-26 2019-05-07 삼성전자주식회사 디스플레이장치 및 그 제어방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208487A (ja) * 1992-10-23 1994-07-26 Internatl Business Mach Corp <Ibm> ディスプレイ方法及びディスプレイシステム
JP2001514411A (ja) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション 信頼できない実行可能コードに関するセキュリティ向上
JP2002373317A (ja) * 2001-06-18 2002-12-26 Dainippon Printing Co Ltd 光センサによりオペレーティングシステムを切り替え可能なicカードとそれに使用するicカード用リーダライタ
JP2005242445A (ja) * 2004-02-24 2005-09-08 Sony Corp 半導体集積回路,携帯モジュールおよびメッセージ通信方法。
JP2005275944A (ja) * 2004-03-25 2005-10-06 Toppan Printing Co Ltd 情報記憶媒体、命令形式変換方法及び命令形式変換プログラム
JP2007034600A (ja) * 2005-07-26 2007-02-08 Sony Corp 通信システム、情報処理装置および情報処理方法、情報端末装置および情報処理方法、並びにプログラム
JP2007219757A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd 仮想計算機システムを機能させるためのプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3727907B2 (ja) * 2002-06-28 2005-12-21 株式会社東芝 携帯可能電子媒体の発行システム及び発行方法と携帯可能電子媒体
JP3958243B2 (ja) * 2003-04-14 2007-08-15 松下電器産業株式会社 Icカードおよびそのos起動方法
US7243237B2 (en) * 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
TWI258671B (en) * 2004-04-16 2006-07-21 Intervideo Digital Technology System for automatic downloading for data update in computer system with two operation systems and method thereof
US8274518B2 (en) * 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US20070294707A1 (en) * 2006-06-15 2007-12-20 Microsoft Corporation Enhancing or replacing host operating system functionality by leveraging guest operating system functionality
JP2008176435A (ja) * 2007-01-17 2008-07-31 Hitachi Ltd 決済端末およびicカード

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208487A (ja) * 1992-10-23 1994-07-26 Internatl Business Mach Corp <Ibm> ディスプレイ方法及びディスプレイシステム
JP2001514411A (ja) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション 信頼できない実行可能コードに関するセキュリティ向上
JP2002373317A (ja) * 2001-06-18 2002-12-26 Dainippon Printing Co Ltd 光センサによりオペレーティングシステムを切り替え可能なicカードとそれに使用するicカード用リーダライタ
JP2005242445A (ja) * 2004-02-24 2005-09-08 Sony Corp 半導体集積回路,携帯モジュールおよびメッセージ通信方法。
JP2005275944A (ja) * 2004-03-25 2005-10-06 Toppan Printing Co Ltd 情報記憶媒体、命令形式変換方法及び命令形式変換プログラム
JP2007034600A (ja) * 2005-07-26 2007-02-08 Sony Corp 通信システム、情報処理装置および情報処理方法、情報端末装置および情報処理方法、並びにプログラム
JP2007219757A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd 仮想計算機システムを機能させるためのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190454A (ja) * 2011-03-08 2012-10-04 Sony Corp 情報処理装置、情報処理方法、およびプログラム
US9575777B2 (en) 2011-03-08 2017-02-21 Sony Corporation Information processing device for performing contactless communication with an external device using multiple communication standards
US10949630B2 (en) 2011-03-08 2021-03-16 Sony Corporation Conditional relocation of identification information within a processing instruction for use in execution of a process by a selected application

Also Published As

Publication number Publication date
BRPI0915570A2 (pt) 2016-01-26
CN102112992A (zh) 2011-06-29
EP2312488A1 (en) 2011-04-20
RU2512111C2 (ru) 2014-04-10
US20110197203A1 (en) 2011-08-11
RU2011103428A (ru) 2012-08-10
WO2010016332A1 (ja) 2010-02-11

Similar Documents

Publication Publication Date Title
US10990422B2 (en) Information processing device, information processing method and program
CN105472546B (zh) 近场通信方法及移动终端
CN106470049B (zh) 具有多个安全元件的nfc设备和近场通信方法
WO2010016332A1 (ja) 通信装置、通信方法、及びプログラム
JP4780110B2 (ja) アプリケーション・サービスをマイクロコントローラ・カードから端末に通信する方法、システム、及びマイクロコントローラ・カード
EP2453391A1 (en) IC card, mobile electronic device and data processing method in IC card
US9021504B2 (en) Method and device for automatically selecting an application that can be implemented by said device
CN103414497A (zh) 为电子设备之间通信借助转发的控制方法和相应的设备
CN103544114A (zh) 基于单cpu卡的多m1卡控制系统及其控制方法
KR102372598B1 (ko) Nfc 결제 방법 및 이를 위한 시스템
US9824246B2 (en) Radio frequency identification tag having input device
KR20200002807A (ko) 통신 장치 및 방법
CN109313761B (zh) 选择卡上的应用
US8954720B2 (en) IC chip, information processing apparatus, software module control method, information processing system, information processing method, and program
JP4283611B2 (ja) Icカード遠隔制御システム
CN112613872A (zh) 作为协议接口的类型4nfc标记
CN109408127B (zh) 芯片系统加载方法及芯片卡
JP3024345B2 (ja) データリンク方法
JP5211754B2 (ja) Rfidシステムにおける通信制御方法およびrfid用の交信制御装置
CN103024087B (zh) 同时支持大容量存储和以太网通信的系统及方法
KR20030035171A (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
JP5943036B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP7468754B1 (ja) 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム
JP4620418B2 (ja) リアルタイムコマンドの処理方法、icカード、およびその組み込み端末
JP2022132923A (ja) Icカード

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140304