特許第6962359号(P6962359)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特許6962359情報処理装置、情報処理方法、およびプログラム
<>
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000002
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000003
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000004
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000005
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000006
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000007
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000008
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000009
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000010
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000011
  • 特許6962359-情報処理装置、情報処理方法、およびプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6962359
(24)【登録日】2021年10月18日
(45)【発行日】2021年11月5日
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06F 9/445 20180101AFI20211025BHJP
   G06K 19/07 20060101ALI20211025BHJP
【FI】
   G06F9/445 130
   G06K19/07 190
   G06K19/07 230
【請求項の数】8
【全頁数】25
(21)【出願番号】特願2019-219173(P2019-219173)
(22)【出願日】2019年12月3日
(62)【分割の表示】特願2018-37415(P2018-37415)の分割
【原出願日】2012年2月29日
(65)【公開番号】特開2020-38724(P2020-38724A)
(43)【公開日】2020年3月12日
【審査請求日】2019年12月25日
(31)【優先権主張番号】61/450458
(32)【優先日】2011年3月8日
(33)【優先権主張国】US
(31)【優先権主張番号】13/363076
(32)【優先日】2012年1月31日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】竹内 康雄
【審査官】 金木 陽一
(56)【参考文献】
【文献】 特開2004−341634(JP,A)
【文献】 特開2004−151864(JP,A)
【文献】 特開2007−183780(JP,A)
【文献】 特開2010−135940(JP,A)
【文献】 特開2003−303362(JP,A)
【文献】 特開2004−164261(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/445
H04B 1/59
G06K 19/07
(57)【特許請求の範囲】
【請求項1】
非接触通信により外部装置から受信された情報に基づいて処理命令を受信する通信部と、
前記受信した処理命令に第1識別情報が含まれているか否かを判定する判定部と、
前記第1識別情報と、前記第1識別情報とアプリケーション固有の第2識別情報とが対応付けられた第1対応付け情報とに基づいてアプリケーションを選択する選択部と、
前記選択されたアプリケーションに前記処理命令に応じた処理を行わせる実行部と、
を有し、
前記第1識別情報は、
前記処理命令における当該第1識別情報の先頭の読み出し位置を動的に調整可能であり、
前記実行部は、選択されたアプリケーションが、前記処理命令に対応するアプリケーションではない場合には、前記選択部に前記処理命令に対応するアプリケーションを再度選択させる選択要求であって、前記第1識別情報を含み前記第2識別情報が隠蔽された前記選択要求を伝達し、
前記選択部は、前記選択要求が伝達された場合には、前記処理命令に含まれる前記第1識別情報と、前記第1対応付け情報とに基づいて、前記処理命令に対応するアプリケーションを再度選択する、情報処理装置。
【請求項2】
前記判定部は、
受信された処理命令に、サービスの種別を示すサービス種別情報が含まれているかを判定し、
前記サービス種別情報が含まれている場合には、前記処理命令に含まれる前記サービス種別情報と、前記サービス種別情報と前記第1識別情報とが対応付けられた第2対応付け情報とに基づいて、前記処理命令に含まれる前記サービス種別情報に対応する前記第1識別情報を含む応答を、前記通信部に行わせる、請求項1に記載の情報処理装置。
【請求項3】
前記選択部は、前記処理命令に対応するアプリケーションを選択した場合には、選択されたアプリケーションが選択されている状態を維持する、請求項1または2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、携帯型通信装置である、請求項1〜のいずれか1項に記載の情報処理装置。
【請求項5】
前記情報処理装置は、ICカードである、請求項1〜のいずれか1項に記載の情報処理装置。
【請求項6】
前記第1識別情報は、IDmである、請求項1〜のいずれか1項に記載の情報処理装置。
【請求項7】
非接触通信により外部装置から受信された情報に基づいて処理命令を受信するステップと、
前記受信した処理命令に第1識別情報が含まれているか否かを判定するステップと、
前記第1識別情報と、前記第1識別情報とアプリケーション固有の第2識別情報とが対応付けられた第1対応付け情報とに基づいてアプリケーションを選択するステップと、
前記選択されたアプリケーションに前記処理命令に応じた処理を行わせるステップと、
選択されたアプリケーションが、前記処理命令に対応するアプリケーションではない場合に、前記処理命令に対応するアプリケーションを再度選択させる選択要求であって、前記第1識別情報を含み前記第2識別情報が隠蔽された前記選択要求を伝達するステップと、
前記選択要求が伝達された場合に、前記処理命令に含まれる前記第1識別情報と、前記第1対応付け情報とに基づいて、前記処理命令に対応するアプリケーションを再度選択するステップと、
を有し、
前記第1識別情報は、
前記処理命令における当該第1識別情報の先頭の読み出し位置を動的に調整可能である、情報処理装置により実行される情報処理方法。
【請求項8】
非接触通信により外部装置から受信された情報に基づいて処理命令を受信する機能、
前記受信した処理命令に第1識別情報が含まれているか否かを判定する機能、
前記第1識別情報と、前記第1識別情報とアプリケーション固有の第2識別情報とが対応付けられた第1対応付け情報とに基づいてアプリケーションを選択する機能、
前記選択されたアプリケーションに前記処理命令に応じた処理を行わせる機能、
選択されたアプリケーションが、前記処理命令に対応するアプリケーションではない場合に、前記処理命令に対応するアプリケーションを再度選択させる選択要求であって、前記第1識別情報を含み前記第2識別情報が隠蔽された前記選択要求を伝達する機能、
前記選択要求が伝達された場合に、前記処理命令に含まれる前記第1識別情報と、前記第1対応付け情報とに基づいて、前記処理命令に対応するアプリケーションを再度選択する機能、
をコンピュータに実現させ、
前記第1識別情報は、
前記処理命令における当該第1識別情報の先頭の読み出し位置を動的に調整可能である、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、例えば、非接触式IC(Integrated Circuit)カードや非接触式ICチップを搭載した携帯電話など、リーダ/ライタ(または、リーダ/ライタ機能を有する情報処理装置。以下、同様とする。)と非接触に通信可能な情報処理装置が普及している。リーダ/ライタと、ICカード、携帯電話などの情報処理装置とは、例えば13.56[MHz]など所定の周波数の磁界(搬送波)を通信に使用している。具体的には、リーダ/ライタが搬送波信号をのせた搬送波を送信し、搬送波をアンテナで受信したICカードなどの情報処理装置が負荷変調によって受信した搬送波信号に対する応答信号を返信することにより、リーダ/ライタと情報処理装置とは通信を行う。
【0003】
ここで、上記のような、13.56[MHz]など所定の周波数の搬送波を用いて通信を行うNFC(Near Field Communication)には、例えば、“ISO/IEC 18092 Type F”や、“ISO/IEC 14443 Type A”、“ISO/IEC 14443 Type B”など、様々な通信方式がある。また、情報処理装置の中には、例えばデュアルカードのように、それぞれの通信方式に対応するオペレーティング・システム(Operating System。以下、「OS」と示す場合がある。)を有することによって、複数の通信方式や通信規格に対応することが可能なものもある。
【0004】
このような中、複数の通信方式や規格それぞれに対応する処理を、正常に行うための技術が開発されている。例えば、外部装置との接触通信におけるメッセージ構造と、外部装置との非接触通信におけるメッセージ構造とが異なる場合であっても、受信したメッセージの構造に対応する処理を可能とする技術としては、例えば、特許文献1に記載の技術が挙げられる。また、外部装置からの命令の仕様を変更することなく、通常とは異なる実行環境上で動作するOSを模倣したアプリケーションに、外部装置からの命令を実行させる技術としては、例えば、特許文献2に記載の技術が挙げられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−242445号公報
【特許文献2】特開2011−118837号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
複数の通信方式や通信規格に情報処理装置を対応させる一の方法としては、例えばデュアルカードのように、情報処理装置が、“FeliCa(登録商標) OS”や“Java Card(登録商標) OS”などの複数のOSを有することが挙げられる(例えば、後述する図1Aに対応する構成)。しかしながら、上記一の方法を用いる場合には、情報処理装置に複数のOSを実装しなければならない。
【0007】
一方、複数の通信方式や通信規格に情報処理装置を対応させる他の方法としては、例えば、情報処理装置が1つのOSを有し、当該OSに対応する通信規格以外の通信規格に対応するOSの機能を、アプリケーションとして実現する方法が考えられる(例えば、後述する図1Bに対応する構成)。ここで、上記他の方法が用いられる情報処理装置と、リーダ/ライタ(外部装置の一例。以下、同様とする。)とが非接触通信を行う通信システムを実現する場合、当該通信システムを構成するリーダ/ライタは、既存の通信システムを構成するリーダ/ライタと同一の機能、構成を有することが望ましい。NFCによる通信を可能とするリーダ/ライタは、広く社会に普及しており、普及しているこれらのリーダ/ライタを、置き換えることは容易ではないからである。
【0008】
ここで、例えば特許文献1に記載の技術では、受信されたメッセージに含まれる処理命令を判別し、判別結果に基づいて受信された処理命令を処理可能な処理部に中継することによって、受信された処理命令を実行する。しかしながら、特許文献1に記載の技術を用いる場合には、例えばリーダ/ライタなどのメッセージを送信する装置が、特殊なメッセージ(例えば、APDU(Application-layer Protocol Data Unit)コマンドなど)を送信する必要がある。よって、例えば特許文献1に記載の技術を用いる場合には、例えば、既存の通信システムを構成するリーダ/ライタ(メッセージを送信する装置)の置き換えが発生してしまう。
【0009】
また、例えば特許文献2に記載の技術では、情報処理装置が、(通信開始時に)最初に受信する処理命令が、ポーリングコマンド(処理命令の一例)であるか否かに基づいて、OS上で実行されるOSの機能を実現するアプリケーションに、受信される処理命令に対応する処理を行わせる。よって、例えば特許文献2に記載の技術を用いることによって、既存の通信システムを構成するリーダ/ライタを置き換えることなく、上記他の方法が用いられる情報処理装置と、リーダ/ライタとが非接触通信を行う通信システムを実現することができる可能性がある。
【0010】
しかしながら、情報処理装置が、(通信開始時に)最初に受信する処理命令は、ポーリングコマンドに限られない。例えば、リーダ/ライタと情報処理装置との間の通信が何らかの理由で途切れた場合、リーダ/ライタは、再度ポーリングコマンドを送信することなく、途切れたところから通信の再開を図ることもありうるからである。上記のように、リーダ/ライタによって途切れたところから通信が再開された場合には、情報処理装置が、(通信開始時に)最初に受信する処理命令は、ポーリングコマンドとはならない。よって、例えば特許文献2に記載の技術を用いたとしても、例えば特許文献2に記載の技術が用いられる情報処理装置が、OS上で実行されるOSの機能を実現するアプリケーションに、受信される処理命令に対応する処理を行わせることができるとは、限らない。
【0011】
本開示では、オペレーティング・システムが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーションに、外部装置から受信した処理命令に対応する処理を行わせることが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提案する。
【課題を解決するための手段】
【0012】
本開示によれば、情報処理装置が提供される。情報処理装置は、通信部と、判定部と、選択部と、実行部とを有する。通信部は、非接触通信により外部装置から受信された情報に基づいて処理命令を受信する。判定部は、前記受信した処理命令の中の動的に調整可能な位置に第1識別情報が含まれているか否かを判定する。選択部は、前記第1識別情報と、前記第1識別情報と第2識別情報とが対応付けられた第1対応付け情報とに基づいてアプリケーションを選択する。実行部は、前記選択されたアプリケーションに前記処理命令に応じた処理を行わせる。
【0013】
また、本開示によれば、情報処理方法が提供される。情報処理方法は、非接触通信により外部装置から受信された情報に基づいて処理命令を受信するステップと、前記受信した処理命令の中の動的に調整可能な位置に第1識別情報が含まれているか否かを判定するステップと、前記第1識別情報と、前記第1識別情報と第2識別情報とが対応付けられた第1対応付け情報とに基づいてアプリケーションを選択するステップと、前記選択されたアプリケーションに前記処理命令に応じた処理を行わせるステップとを有する。
【0014】
また、本開示によれば、プログラムが提供される。プログラムは、非接触通信により外部装置から受信された情報に基づいて処理命令を受信する機能、前記受信した処理命令の中の動的に調整可能な位置に第1識別情報が含まれているか否かを判定する機能、前記第1識別情報と、前記第1識別情報と第2識別情報とが対応付けられた第1対応付け情報とに基づいてアプリケーションを選択する機能、前記選択されたアプリケーションに前記処理命令に応じた処理を行わせる機能をコンピュータに実現させる。
【発明の効果】
【0015】
本開示によれば、オペレーティング・システムが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーションに、外部装置から受信した処理命令に対応する処理を行わせることができる。
【図面の簡単な説明】
【0016】
図1A】本実施形態に係る情報処理装置における情報処理方法に係る処理を説明するための説明図である。
図1B】本実施形態に係る情報処理装置における情報処理方法に係る処理を説明するための説明図である。
図2】本実施形態に係る情報処理装置における情報処理方法に係る処理を説明するための説明図である。
図3】本実施形態に係るサービス種別情報と第1識別情報とが対応付けられた対応付け情報の一例を示す説明図である。
図4】本実施形態に係る第1識別情報を含む処理命令の一例を示す説明図である。
図5】本実施形態に係る第1識別情報を含む処理命令の一例を示す説明図である。
図6】本実施形態に係る第1識別情報と第2識別情報とが対応付けられた対応付け情報の一例を示す説明図である。
図7】本実施形態に係る情報処理装置における切替処理の一例を説明するための説明図である。
図8】本実施形態に係る情報処理装置の構成の一例を示すブロック図である。
図9】本実施形態に係る情報処理装置の構成の一例を示す説明図である。
図10】本実施形態に係る情報処理装置における処理の一例を示す説明図である。
【発明を実施するための形態】
【0017】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0018】
また、以下では、下記に示す順序で説明を行う。
1.本実施形態に係る情報処理方法
2、本実施形態に係る情報処理装置
3.本実施形態に係るプログラム
【0019】
(本実施形態に係る情報処理方法)
本実施形態に係る情報処理装置の構成について説明する前に、本実施形態に係る情報処理方法について説明する。また、以下では、本実施形態に係る情報処理装置が、本実施形態に係る情報処理方法に係る処理を行うものとして説明する。
【0020】
図1A図1Bは、本実施形態に係る情報処理装置における情報処理方法に係る処理を説明するための説明図である。ここで、図1Aは、上述した複数の通信方式や通信規格に情報処理装置を対応させる一の方法に対応する構成の概要を示しており、図1Bは、上述した複数の通信方式や通信規格に情報処理装置を対応させる他の方法に対応する構成の概要を示している。
【0021】
例えば図1Aに示すように、情報処理装置が、“FeliCa(登録商標) OS”(図1Aに示すA)と“Java Card(登録商標) OS”(図1Aに示すB)との2つのOSを有することによって、“FeliCa(登録商標) OS”に対応する通信方式に対応する処理と、“Java Card(登録商標) OS”に対応する通信方式とに対応する処理とを、1つの情報処理装置に行わせることが可能である。しかしながら、図1Aに示す構成を実現するためには、“FeliCa(登録商標) OS”と“Java Card(登録商標) OS”との2つのOSを、情報処理装置に実装しなければばらない。
【0022】
また、複数の通信方式や通信規格に情報処理装置を対応させる他の方法としては、例えば図1Bに示すように、図1Aに示す“FeliCa(登録商標) OS”(図1Aに示すA)が有する機能を、“FeliCa(登録商標) OS”と対応する機能を有するアプリケーションによって実現することが挙げられる(図1Bに示すA’)。図1Bに示す例では、“FeliCa(登録商標) OS”(図1Aに示すA)が有する機能が、“Java Card(登録商標) OS”上で実現されることとなる。
【0023】
情報処理装置が、例えば図1Bに示すような、複数の通信方式や通信規格に情報処理装置を対応させる他の方法に係る構成をとる場合には、情報処理装置側において、既存のNFCによる通信システムとの互換性の確保を図ることが望ましい。上述したように、NFCによる通信を可能とするリーダ/ライタは、広く社会に普及しており、普及しているこれらのリーダ/ライタを置き換えることは容易ではないからである。
【0024】
ここで、例えば特許文献2に記載の技術を用いることによって、既存の通信システムを構成するリーダ/ライタを置き換えることなく、上記他の方法が用いられる情報処理装置と、リーダ/ライタなどの外部装置とが非接触通信を行う通信システムを実現することができる可能性がある。しかしながら、上述したように、例えば特許文献2に記載の技術を用いたとしても、OSが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーション(例えば図1BのA’に示すアプリケーション)に、外部装置から受信した処理命令に対応する処理を行わせることができるとは限らない。
【0025】
[本実施形態に係る情報処理方法の概要]
そこで、本実施形態に係る情報処理装置は、リーダ/ライタ(外部装置の一例)から送信された処理命令に含まれる、例えば情報処理装置が持つファイルシステムに付与され、サービスや事業者を識別する事にも利用可能な第1識別情報に基づいて、処理命令に対応するサービスに関する処理を行うアプリケーションを選択する(選択処理)。そして、本実施形態に係る情報処理装置は、選択されたアプリケーションに、処理命令に応じた処理を行わせる(実行処理)。
【0026】
ここで、本実施形態に係る第1識別情報としては、例えば、本実施形態に係る情報処理装置がROM(Read Only Memory)などに記憶するIDm(製造ID)が挙げられる。本実施形態に係る情報処理装置は、例えば、IDmを情報処理装置ごとに記憶する。なお、本実施形態に係る第1識別情報は、IDmに限られない。例えば、本実施形態に係る情報処理装置は、受信したポーリングコマンドに応じて外部装置へと送信され、外部装置から送信される処理命令に含まれうるデータを、第1識別情報とすることが可能である。以下では、本実施形態に係る第1識別情報が、IDmである場合を例に挙げて説明する。
【0027】
また、本実施形態に係る情報処理装置は、例えば、リーダ/ライタから送信されるポーリングコマンド(処理命令の一例)が受信された場合には、受信されたポーリングコマンドに含まれる、例えば情報処理装置が持つファイルシステムに付与され、サービスの種別や事業者を識別可能なサービス種別情報に対応するIDm(第1識別情報)を特定する。そして、本実施形態に係る情報処理装置は、サービス種別情報に対応するIDmを含む、ポーリングコマンドに対する応答信号を、ポーリングコマンドを送信したリーダ/ライタへと送信する。
【0028】
上記ポーリングコマンドに対する応答を受信することによって、ポーリングコマンドを送信したリーダ/ライタでは、IDm(第1識別情報)が取得される。また、NFCによる通信を行う既存の通信システムでは、リーダ/ライタは、ポーリングコマンドの送信によって取得されたIDmを含む処理命令を、送信する。
【0029】
ここで、上述したように、リーダ/ライタと情報処理装置との間の通信が何らかの理由で途切れた場合、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタは、再度ポーリングコマンドを送信することなく、途切れたところから通信の再開を図ることもありうる。NFCによる通信を行う既存の通信システムにおいて、リーダ/ライタによって途切れたところから通信が再開される場合、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタは、IDm(第1識別情報)を含む処理命令を送信する。
【0030】
よって、仮に、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタと、本実施形態に係る情報処理装置との間の通信が何らかの理由で途切れ、途切れたところから通信が再開された場合であっても、本実施形態に係る情報処理装置は、リーダ/ライタから送信される処理命令に基づいて、上記選択処理、および上記実行処理を行うことができる。
【0031】
[本実施形態に係る情報処理方法に係る処理の一例]
以下、より具体的に、本実施形態に係る情報処理方法に係る処理について説明する。なお、以下では、例えば図1Bに示すように、“FeliCa(登録商標) OS”(図1Aに示すA)が有する機能が、“Java Card(登録商標) OS”上で実現される場合を例に挙げて、本実施形態に係る情報処理装置における情報処理方法に係る処理について、説明する。
【0032】
図2は、本実施形態に係る情報処理装置における情報処理方法に係る処理を説明するための説明図である。ここで、図2に示す“F”は、ファイルシステムを示している。また、図2において各“F”の上に記載されたIDmそれぞれは、各ファイルシステムに付与されたIDmを表している。また、図2では示していないが、図2に示す各ファイルシステムには、サービス識別情報が付与されている。なお、以下では、本実施形態に係る情報処理装置と通信を行う通信対象の外部装置が、リーダ/ライタである場合を例に挙げて説明する。
【0033】
(1)判定処理
本実施形態に係る情報処理装置は、受信された処理命令を判定する。
【0034】
例えば、リーダ/ライタから送信されたポーリングコマンド(処理命令の一例)が受信されると、本実施形態に係る情報処理装置は、例えば、受信したポーリングコマンドに、サービスの種別を示すサービス種別情報が含まれているかを判定する。
【0035】
受信されたポーリングコマンドにサービス種別情報が含まれている場合には、本実施形態に係る情報処理装置は、ポーリングコマンドに含まれるサービス種別情報に対応するIDm(第1識別情報)を、リーダ/ライタへ送信する(S102)。
【0036】
ここで、本実施形態に係る情報処理装置は、例えば、サービス種別情報と第1識別情報とが対応付けられた対応付け情報(第2対応付け情報)を用いて、ポーリングコマンドに含まれるサービス種別情報に対応するIDm(第1識別情報)を特定する。図3は、本実施形態に係るサービス種別情報と第1識別情報とが対応付けられた対応付け情報の一例を示す説明図であり、サービス種別情報(図3に示すA)とIDm(第1識別情報。図3に示すB)とが対応付けられたテーブルの一例を示している。
【0037】
本実施形態に係る情報処理装置は、例えば図3に示すテーブルを用いることによって、ステップS100において受信したポーリングコマンドに含まれるサービス種別情報と対応するIDm(第1識別情報)、すなわち、サービスと対応するIDm(第1識別情報)を一意に特定することができる。なお、本実施形態に係るサービス種別情報と第1識別情報とが対応付けられた対応付け情報(第2対応付け情報)は、図3に示す例に限られず、サービス種別情報と第1識別情報とが対応付けられていれば、任意の形式であってもよい。
【0038】
(2)選択処理
再度図2を参照して、本実施形態に係る情報処理装置における、本実施形態に係る情報処理方法に係る処理の一例について説明する。リーダ/ライタから送信された、IDm(第1識別情報)を含む処理命令が受信されると、本実施形態に係る情報処理装置は、受信した処理命令を判定する(S104)。より具体的には、本実施形態に係る情報処理装置は、受信された処理命令に、IDm(第1識別情報)が含まれているかを判定する。
【0039】
図4図5は、本実施形態に係る第1識別情報を含む処理命令の一例を示す説明図である。例えば図4図5に示すように、本実施形態に係る情報処理装置が受信するIDm(第1識別情報)を含む処理命令は、同一の構造を有しているとは限らない。これは、IDmを含む処理命令の中には、サブコマンドが含まれることがありうるからである。
【0040】
本実施形態に係る情報処理装置は、例えば、受信されたIDmを含む処理命令の“コマンドコード(以下、「CC」と示す。)”部分の1[byte]目を読み出し、読み出した1[byte]目の文字列に基づいて、処理命令におけるIDmの先頭を決定する。より具体的には、本実施形態に係る情報処理装置は、例えば、読み出した“CC”部分の1[byte]目が、規定の文字列を示さない場合には、図4に示す構造であると判定する。また、本実施形態に係る情報処理装置は、例えば、読み出した“CC”部分の1[byte]目が、規定の文字列を示す場合には、図5に示す構造であると判定し、処理命令におけるIDmの先頭を、図4示す構造と判定されたときよりも、さらに1[byte]ずらす。なお、上記のような判定位置の指定は、例えば上記のように動的に調整することも可能であるが、静的に値を指定することも可能である。
【0041】
本実施形態に係る情報処理装置は、例えば上記のように処理命令におけるIDmの先頭を決定することによって、処理命令にIDm(第1識別情報)が含まれているかを判定する。なお、本実施形態に係る情報処理装置における、処理命令にIDm(第1識別情報)が含まれているかの判定方法が、上記に限られないことは、言うまでもない。
【0042】
また、上記IDmを含むコマンドを用いて判定するタイミングとしては、例えば、カードなどの情報処理装置が起動後1回目に送信されたときだけに判定することや、任意の回数目のときだけに判定すること、必ず毎回判定することなどが挙げられる。上記判定のタイミングは、例えば、本実施形態に係る情報処理装置において予め設定されていてもよいし、事後的に設定(または変更)されてもよい。
【0043】
また、上記サービス種別情報とIDmを含むそれぞれのコマンドを判定する際に、図4で示すCCの値で対象コマンドであるかを絞ることが可能であり、この場合は処理をより少なくすることができるので、効率的である。例えば、上述したポーリングコマンドのときは、本実施形態に係る情報処理装置は、サービス種別情報だけを判定対象とすることが可能である。
【0044】
再度図2を参照して、本実施形態に係る情報処理装置における、本実施形態に係る情報処理方法に係る処理の一例について説明する。ステップS104において、受信された処理命令にIDm(第1識別情報)が含まれていると判定された場合には、本実施形態に係る情報処理装置は、処理命令に含まれているIDm(第1識別情報)に基づいて、処理命令に対応するアプリケーションを選択する。
【0045】
より具体的には、本実施形態に係る情報処理装置は、第1識別情報とアプリケーションを識別する第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)を用いて、処理命令に対応するアプリケーションを選択する。図6は、本実施形態に係る第1識別情報と第2識別情報とが対応付けられた対応付け情報の一例を示す説明図であり、IDm(第1識別情報。図6に示すA)と第2識別情報(図6に示すB)とが対応付けられたテーブルの一例を示している。本実施形態に係る第2識別情報としては、例えば図6に示すように、アプリケーション固有のID(以下、「AID」と示す。)が挙げられる。以下では、本実施形態に係る第2識別情報が、AIDである場合を例に挙げて説明する。
【0046】
本実施形態に係る情報処理装置は、例えば図6に示すテーブルを用いることによって、ステップS104において受信した処理命令に含まれるIDm(第1識別情報)と対応する第2識別情報を一意に特定することができる。なお、本実施形態に係る第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)は、図6に示す例に限られず、第1識別情報と第2識別情報とが対応付けられていれば、任意の形式であってもよい。
【0047】
また、本実施形態に係る情報処理装置は、処理命令に対応するアプリケーションを選択した場合には、例えば、選択されたアプリケーションが選択されている状態を維持する。例えば上記のように、アプリケーションが選択されている状態を維持することによって、リーダ/ライタから逐次処理命令が送信される場合において、(2)の処理(選択処理)を逐次行うことなく、選択されているアプリケーションに処理を行わせることができる。ここで、上記選択されたアプリケーションが選択されている状態は、例えば、電力が通電されている間維持される。また、選択されたアプリケーションが選択されている状態において情報が保持されている場合には、電力が不通になることによって、例えば保持されていた情報が揮発することもある。
【0048】
また、本実施形態に係る情報処理装置が図1Bに示す構成を有する場合、(2)の処理(選択処理)は、例えば、図1Bに示す“Java Card Runtime Environment”のCRSにおける“Reorganization Algorithm”によって、実現することが可能である。なお、本実施形態に係る情報処理装置における(2)の処理(選択処理)の実現方法が、上記に限られないことは、言うまでもない。
【0049】
(3)実行処理
再度図2を参照して、本実施形態に係る情報処理装置における、本実施形態に係る情報処理方法に係る処理の一例について説明する。本実施形態に係る情報処理装置は、上記(2)の処理において選択されたアプリケーションに、処理命令に応じた処理を行わせる(S106)。より具体的には、本実施形態に係る情報処理装置は、上記(2)の処理において選択されたアプリケーションを示すAID(第2識別情報)と一致するAIDを有するアプリケーションを起動し、起動したアプリケーションに、処理命令に応じた処理を行わせる。例えば、IDm2を含む処理命令を受信した場合には、本実施形態に係る情報処理装置は、上記(2)の処理において選択された第2のアプリケーションに、IDm2を含む処理命令を処理させる。
【0050】
本実施形態に係る情報処理装置は、本実施形態に係る情報処理方法に係る処理として、例えば、上記(1)の処理(判定処理)〜上記(3)の処理(実行処理)を行う。本実施形態に係る情報処理装置は、上記(2)の処理(選択処理)において、リーダ/ライタから送信された処理命令に含まれるIDm(第1識別情報)に基づいて、処理命令に対応する処理を行うアプリケーションを選択する。そして、本実施形態に係る情報処理装置は、上記(3)の処理(実行処理)において、選択されたアプリケーションに、処理命令に応じた処理を行わせる。
【0051】
ここで、リーダ/ライタから送信された処理命令に含まれるIDm(第1識別情報)は、リーダ/ライタがポーリングコマンドを送信し、本実施形態に係る情報処理装置が上記(1)の処理(判定処理)を行うことによって、リーダ/ライタが本実施形態に係る情報処理装置から取得したものである。また、リーダ/ライタと本実施形態に係る情報処理装置との間における、ポーリングコマンドに関連する処理は、NFCによる通信を行う既存の通信システムにおいても行われる。さらに、当該既存の通信システムを構成するリーダ/ライタは、IDm(第1識別情報)を含む処理命令を通信対象の装置へと送信する。つまり、本実施形態に係る情報処理装置は、上記既存の通信システムを構成するリーダ/ライタから送信された処理命令を受信する場合であっても、受信した処理命令に基づいて、本実施形態に係る情報処理方法に係る処理を行うことが可能である。
【0052】
よって、本実施形態に係る情報処理装置を有する通信システムでは、既存の通信システムを構成するリーダ/ライタを置き換える必要はない。
【0053】
また、リーダ/ライタと情報処理装置との間の通信が何らかの理由で途切れた場合、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタは、再度ポーリングコマンドを送信することなく、途切れたところから通信の再開を図ることもありうる。ここで、NFCによる通信を行う既存の通信システムにおいて、リーダ/ライタによって途切れたところから通信が再開される場合、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタは、IDm(第1識別情報)を含む処理命令を送信する。つまり、本実施形態に係る情報処理装置は、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタと、本実施形態に係る情報処理装置との間の通信が途切れたか否かによらず、IDm(第1識別情報)を含む処理命令を受信し、本実施形態に係る情報処理方法に係る処理を行うことが可能である。
【0054】
よって、本実施形態に係る情報処理装置は、例えば図1Bに示すように、複数の通信方式や通信規格に情報処理装置を対応させる他の方法に係る構成をとる場合において、特許文献2に記載の技術が用いられる情報処理装置よりも、処理命令に対応する処理を正常に行うことができる可能性をより高めることができる。
【0055】
したがって、本実施形態に係る情報処理装置は、オペレーティング・システムが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーションに、外部装置から受信した処理命令に対応する処理を行わせることができる。
【0056】
なお、本実施形態に係る情報処理装置における、本実施形態に係る情報処理方法に係る処理は、上記に限られない。リーダ/ライタと情報処理装置との間の通信が何らかの理由で途切れた場合、リーダ/ライタは、再度ポーリングコマンドを送信することなく、途切れたところから通信の再開を図ることもありうる。上記の場合には、本実施形態に係る情報処理装置は、例えば、上記(2)の処理(選択処理)と上記(3)の処理(実行処理)とを、本実施形態に係る情報処理方法に係る処理として行う。
【0057】
また、例えば図2に示すように、複数のアプリケーション(例えば、Java Card(登録商標) Appletなど)が存在し、複数のファイルシステムが存在する場合、本実施形態に係る情報処理装置は、これらのファイルシステムを切り替えることも可能である。以下、セキュリティを確保しつつ、ファイルシステムの切り替えを行うことが可能な、本実施形態に係る情報処理装置における処理の一例について、説明する。なお、以下では、本実施形態に係る情報処理装置が、上記(2)の処理(選択処理)を主導的に行う選択部(後述する)と、上記(3)の処理(実行処理)を主導的に行う実行部(後述する)とを備える場合を例に挙げて説明する。
【0058】
〔1〕切替処理の第1の例
図7は、本実施形態に係る情報処理装置における切替処理の一例を説明するための説明図である。図7では、本実施形態に係る選択部(後述する)によって、第1のアプリケーションが選択されている例を示している。
【0059】
IDm3を含む処理命令が受信されると、本実施形態に係る実行部(後述する)は、選択されている第1のアプリケーションに、処理命令に対応する処理を実行させようとする(S200)。ここで、図7に示す例では、第1のアプリケーションは、処理命令に含まれるIDm3に対応するファイルシステムを有していない。
【0060】
上記のように、選択されたアプリケーションが、処理命令に対応するアプリケーションではない場合には、本実施形態に係る実行部(後述する)は、本実施形態に係る選択部(後述する)に処理命令に対応するアプリケーションを再度選択させる選択要求を伝達する(S202)。ここで、本実施形態に係る選択要求には、例えば、処理命令に含まれるIDm(第1識別情報)と、選択されているアプリケーションを示すAID(第2識別情報)とが含まれる。なお、本実施形態に係る選択要求は、上記に限られない。例えば、本実施形態に係る選択要求は、処理命令に含まれるIDm(第1識別情報)であってもよい。
【0061】
選択要求が伝達された場合、本実施形態に係る選択部(後述する)は、処理命令に含まれるIDm(第1識別情報)と、第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)とに基づいて、処理命令に対応するアプリケーションを再度選択する。そして、本実施形態に係る実行部(後述する)は、再度選択されたアプリケーションに、処理命令に応じた処理を行わせる(S204)。図7では、本実施形態に係る選択部(後述する)によって、IDm3のファイルシステムを含む第2のアプリケーションが選択され、本実施形態に係る実行部(後述する)が、第2のアプリケーションに処理命令に応じた処理を行わせる例を示している。
【0062】
ここで、例えば、選択要求が、処理命令に含まれるIDm(第1識別情報)である場合、本実施形態に係る選択部(後述する)は、第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)の中から、選択要求が示すIDm(第1識別情報)に対応するAID(第2識別情報)を特定することによって、処理命令に対応するアプリケーションを再度選択する。
【0063】
上記のように、アプリケーション側から本実施形態に係る選択部側へと伝達される選択要求が、処理命令に含まれるIDm(第1識別情報)である場合、AID(第2識別情報)は隠蔽される。ここで、本実施形態に係る選択部(後述する)は、処理命令に含まれるIDm(第1識別情報)が分かれば、第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)を用いて(2)の処理(選択処理)を行うことによって、処理命令に対応するアプリケーションを選択することが可能である。一方、例えば、他のアプリケーションなど、本実施形態に係る選択部(後述する)以外のものは、仮に、処理命令に含まれるIDm(第1識別情報)を取得することができたとしても、処理命令に対応するアプリケーションを選択することはできない。
【0064】
よって、選択要求が、処理命令に含まれるIDm(第1識別情報)である場合には、本実施形態に係る情報処理装置の内部において、不正に他のアプリケーションへの処理命令が転送されることや、不正に他のアプリケーションが実行されることが防止される。したがって、本実施形態に係る情報処理装置は、例えば、なりすましのようなセキュリティの低下が生じうる事象を防止してセキュリティを確保しつつ、ファイルシステムの切り替えを行うことができる。
【0065】
また、例えば、選択要求に、選択されているアプリケーションを示すAID(第2識別情報)が含まれている場合、本実施形態に係る選択部(後述する)は、例えば、第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)に含まれるAID(第2識別情報)のうちの、選択要求に含まれるAID(第2識別情報)との間で所定の条件を満たすAID(第2識別情報)を、選択対象のアプリケーションとする。ここで、上記所定の条件としては、例えば、AID(第2識別情報)の先頭5[byte]が一致しているかなど、AIDの部分的な一致をみる条件が挙げられる。AIDの部分的な一致をみる条件を設定することによって、例えば、関連するサービス事業者が提供するサービスに係るアプリケーションを選択することが可能となる。なお、本実施形態に係る上記所定の条件が、上記に限られないことは、言うまでもない。
【0066】
選択要求に、選択されているアプリケーションを示すAID(第2識別情報)が含まれている場合、本実施形態に係る選択部(後述する)は、例えば、一致するAID(第2識別情報)を有するアプリケーションだけでなく、所定の条件を満たすAID(第2識別情報)を有するアプリケーションを選択対象のアプリケーションとすることができる。上記のように、所定の条件を満たすAID(第2識別情報)を有するアプリケーションを選択対象のアプリケーションとすることによって、処理命令が転送されうる他のアプリケーションの範囲を制限してセキュリティを確保しつつ、ファイルシステムの切り替えを行うことができる。
【0067】
〔2〕切替処理の第2の例
なお、本実施形態に係る情報処理装置における切替処理は、上記第1の例に限られない。例えば、本実施形態に係る情報処理装置では、本実施形態に係る実行部(後述する)が、切替処理を行うことも可能である。本実施形態に係る実行部(後述する)は、選択されたアプリケーションが、処理命令に対応するアプリケーションではない場合には、例えば、選択されたアプリケーションと関連するアプリケーションが、処理命令に応じた処理を行うことが可能であるかを判定する。そして、本実施形態に係る実行部(後述する)は、処理命令に応じた処理を行うことが可能であると判定されたアプリケーションに、処理命令に対応する処理を行わせる。
【0068】
より具体的には、本実施形態に係る情報処理装置における第2の例に係る切替処理としては、例えば下記の(a)〜(c)に示す方法が挙げられる。
【0069】
(a)GP(Global Platform)上のセキュリティを用いる方法
本実施形態に係る実行部(後述する)は、例えば、特権privilegeを保有しているアプリケーション間において、アプリケーションの呼び出し(Select AP)を行い、処理命令に対応する処理を行わせる。
【0070】
(b)JCRE(Java Card Runtime Environment)上のセキュリティを用いる第1の方法
本実施形態に係る実行部(後述する)は、例えば、選択されているアプリケーション(依頼元のアプリケーション)と同じパッケージから生成されたインスタンス同士であるアプリケーションに限り、アプリケーションの呼び出しを許可する。そして、本実施形態に係る実行部(後述する)は、呼び出されたアプリケーション(選択されたアプリケーション)に、処理命令に対応する処理を行わせる。
【0071】
(c)JCRE上のセキュリティを用いる第2の方法
本実施形態に係る実行部(後述する)は、例えば、選択されているアプリケーション(依頼元のアプリケーション)とシェアラブル・オブジェクトを共有しているサーバ−クライアント関係を有しているアプリケーションに限り、アプリケーションの呼び出しを許可する。そして、本実施形態に係る実行部(後述する)は、呼び出されたアプリケーション(選択されたアプリケーション)に、処理命令に対応する処理を行わせる。
【0072】
(本実施形態に係る情報処理装置)
次に、上述した本実施形態に係る情報処理方法に係る処理を行うことが可能な、本実施形態に係る情報処理装置の構成の一例について、説明する。図8は、本実施形態に係る情報処理装置100の構成の一例を示すブロック図である。また、図8では、情報処理装置100と非接触通信を行うリーダ/ライタ200(外部装置の一例)を併せて示している。
【0073】
情報処理装置100は、例えば、通信部102と、記憶部104と、制御部106とを備える。
【0074】
また、情報処理装置100は、例えば、ROM(図示せず)や、RAM(Random Access Memory。図示せず)、ユーザが操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。情報処理装置100は、例えば、データの伝送路としてのバス(bus)により上記各構成要素間を接続する。
【0075】
ここで、ROM(図示せず)は、制御部106が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部106により実行されるプログラムなどを一時的に記憶する。
【0076】
操作部(図示せず)としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、情報処理装置100は、例えば、情報処理装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)と接続することもできる。
【0077】
表示部(図示せず)としては、例えば、液晶ディスプレイ(Liquid Crystal Display;LCD)や有機ELディスプレイ(organic ElectroLuminescence display。または、OLEDディスプレイ(Organic Light Emitting Diode display)ともよばれる。)などが挙げられる。なお、表示部(図示せず)は、例えばタッチスクリーンなどのように、表示とユーザ操作とが可能なデバイスであってもよい。また、情報処理装置100は、表示部(図示せず)の有無に関わらず、情報処理装置100の外部装置としての表示デバイス(例えば、外部ディスプレイなど)と接続することもできる。
【0078】
[情報処理装置100のハードウェア構成例]
図9は、本実施形態に係る情報処理装置100の構成の一例を示す説明図である。ここで、図9では、情報処理装置100が、ICカードである場合における構成の一例を示している。
【0079】
情報処理装置100は、搬送波を受信可能な通信アンテナ150と、受信された搬送波に基づいて搬送波信号を復調して処理し、負荷変調により応答信号を送信させるICチップ152とを備える。なお、本実施形態に係る情報処理装置100は、例えば、ICチップ152の構成を、ICチップの形態で備えていなくてもよい。
【0080】
通信アンテナ150は、通信部102として機能する。通信アンテナ150は、例えば、所定のインダクタンスをもつコイル(インダクタ)L1と、所定の静電容量をもつキャパシタC1とからなる共振回路で構成され、搬送波の受信に応じて電磁誘導により誘起電圧を生じさせる。そして、通信アンテナ150は、所定の共振周波数で誘起電圧を共振させた受信電圧を出力する。ここで、通信アンテナ150における共振周波数は、例えば、13.56[MHz]など搬送波の周波数に合わせて設定される。通信アンテナ150は、上記構成により、搬送波を受信し、また、ICチップ152が備える負荷変調回路164において行われる負荷変調によって応答信号の送信を行う。
【0081】
ICチップ152は、キャリア検出回路154と、検波回路156と、レギュレータ158と、復調回路160と、MPU162と、負荷変調回路164とを備える。なお、図9では示していないが、ICチップ152は、例えば、過電圧や過電流がMPU160に印加されることを防止するための保護回路(図示せず)をさらに備えていてもよい。ここで、保護回路(図示せず)としては、例えば、ダイオード等で構成されたクランプ回路が挙げられる。
【0082】
また、ICチップ152は、例えば、ROM166、RAM168、不揮発性メモリ170を備える。MPU162と、ROM166、RAM168、不揮発性メモリ170とは、例えば、データの伝送路としてのバス172によって接続される。
【0083】
ROM166は、MPU162が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM168は、MPU162により実行されるプログラム、演算結果、実行状態などを一時的に記憶する。
【0084】
不揮発性メモリ170は、記憶部104として機能し、例えば、第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)や、サービス種別情報と第1識別情報とが対応付けられた対応付け情報(第2対応付け情報)、アプリケーションなど様々なデータを記憶する。ここで、不揮発性メモリ170としては、例えば、EEPROM(Electrically Erasable and Programmable Read Only Memory)や、フラッシュメモリ(flash memory)などが挙げられる。
【0085】
キャリア検出回路154は、通信アンテナ150から伝達される受信電圧に基づいて、例えば、矩形の検出信号を生成し、当該検出信号をMPU162へ伝達する。また、MPU162は、伝達される上記検出信号を、例えば、データ処理のための処理クロックとして用いる。ここで、上記検出信号は、通信アンテナ150から伝達される受信電圧に基づくものであるので、リーダ/ライタ200から送信される搬送波の周波数と同期することとなる。したがって、ICチップ152は、キャリア検出回路154を備えることによって、リーダ/ライタ200との間の処理を、リーダ/ライタ200と同期して行うことができる。
【0086】
検波回路156は、通信アンテナ150から出力される受信電圧を整流する。ここで、検波回路156は、例えば、ダイオードD1と、キャパシタC2とで構成される。
【0087】
レギュレータ158は、受信電圧を平滑、定電圧化し、MPU162へ駆動電圧を出力する。ここで、レギュレータ158は、受信電圧の直流成分を駆動電圧として用いる。
【0088】
復調回路160は、受信電圧に基づいて搬送波信号を復調し、搬送波に含まれる搬送波信号に対応するデータ(例えば、ハイレベルとローレベルとの2値化されたデータ信号)を出力する。ここで、復調回路160は、受信電圧の交流成分をデータとして出力する。
【0089】
MPU162は、レギュレータ158から出力される駆動電圧を電源として駆動し、復調回路160において復調されたデータの処理を行う。また、MPU162は、情報処理装置100において、情報処理装置100全体を制御する制御部106として機能し、例えば、後述する判定部110、選択部112、および実行部114の役目を果たす。ここで、MPU162は、例えば、MPU(Micro Processing Unit)や、各種処理回路などで構成される。
【0090】
また、MPU162は、リーダ/ライタ200への応答に係る負荷変調を制御する制御信号を処理結果に応じて選択的に生成する。そして、MPU162は、制御信号を負荷変調回路164へと選択的に出力する。
【0091】
負荷変調回路164は、例えば、負荷ZとスイッチSW1とを備え、MPU162から伝達される制御信号に応じて負荷Zを選択的に接続する(有効化する)ことによって負荷変調を行う。ここで、負荷Zは、例えば、所定の抵抗値を有する抵抗で構成される。また、スイッチSW1は、例えば、pチャネル型のMOSFET(Metal Oxide Semiconductor Field effect transistor)や、nチャネル型のMOSFETで構成される。
【0092】
ICチップ152は、上記のような構成によって、通信アンテナ150が受信した搬送波信号を処理し、負荷変調によって通信アンテナ150に応答信号を送信させることができる。
【0093】
情報処理装置100は、例えば、図9に示す構成を有することによって、搬送波を用いてリーダ/ライタ200と非接触通信を行うと共に、本実施形態に係る情報処理方法に係る処理を行う。
【0094】
なお、本実施形態に係る情報処理装置100のハードウェア構成は、図9に示す構成に限られない。例えば、本実施形態に係る情報処理装置100は、ネットワークを介して(あるいは、直接的に)、サーバなどの外部装置と無線/有線で通信を行う通信デバイスをさらに備えていてもよい。上記通信デバイスとしては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11bポートおよび送受信回路(無線通信)、あるいはLAN(Local Area Network)端子および送受信回路(有線通信)などが挙げられる。
【0095】
再度図8を参照して、情報処理装置100の構成の一例について説明する。通信部102は、情報処理装置100が備える通信手段であり、例えば13.56[MHz]など所定の周波数の搬送波によって、リーダ/ライタ200などの外部装置と非接触通信を行う。また、通信部102は、例えば制御部106により通信が制御される。通信部102としては、例えば、図9に示す通信アンテナ150が挙げられる。
【0096】
記憶部104は、情報処理装置100が備える記憶手段であり、例えば、第1識別情報と第2識別情報とが対応付けられた対応付け情報(第1対応付け情報)や、サービス種別情報と第1識別情報とが対応付けられた対応付け情報(第2対応付け情報)、アプリケーションなど様々なデータを記憶する。図8では、IDm(第1識別情報)とAID(第2識別情報)とが対応付けられた第1変換テーブル120(第1対応付け情報に相当する。)と、SC(サービス種別情報)とIDm(第1識別情報)とが対応付けられた第2変換テーブル122(第2対応付け情報に相当する。)と、第1のアプリケーション124と、第2のアプリケーション126と、・・・が、記憶部104に記憶されている例を示している。
【0097】
ここで、記憶部(図示せず)としては、例えば、ハードディスク(Hard Disk)などの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられる。また、記憶部104は、例えば、13.56[MHz]など所定の周波数の搬送波を送信するリーダ/ライタ(または、リーダ/ライタ機能を有する装置。)と非接触式に通信可能なICチップ内に設けられた、耐タンパ性を有する記録媒体であってもよい。また、記憶部104は、情報処理装置100から着脱可能であってもよい。
【0098】
制御部106は、例えばMPUなどで構成され、情報処理装置100全体を制御する役目を果たす。また、制御部106は、例えば、判定部110と、選択部112と、実行部114とを備え、本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。
【0099】
判定部110は、上記(1)の処理(判定処理)を主導的に行う役目を果たし、受信された処理命令を判定する。より具体的には、判定部110は、例えば、図3に示すようなテーブル(第2対応付け情報の一例)を用いて、受信された処理命令にサービス種別情報が含まれているかを判定する。サービス種別情報が含まれている場合には、判定部110は、処理命令に含まれるサービス種別情報に対応するIDm(第1識別情報)を含む応答を、通信部102に行わせる。また、サービス種別情報が含まれていない場合には、判定部110は、処理命令を選択部112に伝達する。
【0100】
選択部112は、上記(2)の処理(選択処理)を主導的に行う役目を果たし、受信された処理命令に対応するサービスに関する処理を行うアプリケーションを選択する。より具体的には、選択部112は、例えば、図6に示すようなテーブル(第1対応付け情報の一例)を用いて、処理命令に対応するサービスに関する処理を行うアプリケーションを選択する。
【0101】
実行部114は、上記(3)の処理(実行処理)を主導的に行う役目を果たし、選択部112において選択されたアプリケーションに、受信された処理命令に応じた処理を行わせる。
【0102】
制御部106は、例えば、判定部110、選択部112、および実行部114を備えることによって、本実施形態に係る情報処理方法に係る処理を主導的に行う。
【0103】
なお、本実施形態に係る制御部106が行う、本実施形態に係る情報処理方法に係る処理は、上記に限られない。例えば、選択部112および実行部114は、連携して処理を行うことによって、上述した第1の例に係る切替処理を行うことができる。また、例えば、実行部114は、上述した第2の例に係る切替処理を行ってもよい。
【0104】
情報処理装置100は、例えば図8に示す構成によって、本実施形態に係る情報処理方法に係る処理(例えば、(1)の処理(判定処理)〜(3)の処理(実行処理)や、(2)の処理(選択処理)および(3)の処理(実行処理))を行う。したがって、情報処理装置100は、例えば図8に示す構成によって、オペレーティング・システムが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーションに、外部装置から受信した処理命令に対応する処理を行わせることができる。
【0105】
なお、本実施形態に係る情報処理装置の構成は、図8に示す構成に限られない。例えば、本実施形態に係る情報処理装置は、判定部110を備えない構成、すなわち、本実施形態に係る情報処理装置が、本実施形態に係る情報処理方法に係る処理として、上記(2)の処理(選択処理)および上記(3)の処理(実行処理)を行う構成をとることも可能である。また、上記の場合には、本実施形態に係る情報処理装置は、例えば、上記(1)の処理(判定処理)を行う別体の装置や回路と連携して処理を行ってもよい。また、本実施形態に係る情報処理装置は、通信部102を備えず、通信部102の役目を果たす別体の装置や回路と連携して処理を行ってもよい。
【0106】
[情報処理装置100における処理の一例]
ここで、情報処理装置100における処理の一例について説明する。図10は、本実施形態に係る情報処理装置100における処理の一例を示す説明図である。図10は、情報処理装置100が、図8に示すリーダ/ライタ200と非接触通信を行う場合における、処理の一例を示している。
【0107】
リーダ/ライタ200は、サービス種別情報(例えば図3に示すSC)を含むポーリングコマンド(図10に示す“Polling command”。処理命令の一例)を送信する(S300)。
【0108】
ステップS300においてリーダ/ライタ200から送信されたポーリングコマンドを受信した通信部102は、受信したポーリングコマンドを判定部110へ伝達する(S302)。
【0109】
判定部110は、ステップS302において伝達されたポーリングコマンドに対して、上記(1)の処理(判定処理)を行う(S304)。また、判定部110は、例えば、CRC(cyclic redundancy check)などの処理を行ってもよい。ここで、ポーリングコマンドには、サービス種別情報(例えば図3に示すSC)が含まれている。よって、判定部110は、ポーリングコマンドに含まれるサービス種別情報に対応するIDm(第1識別情報)を、通信部102に伝達する(S306)。
【0110】
通信部102は、ステップS306において伝達されたIDm(第1識別情報)を、ステップS300においてリーダ/ライタ200から送信されたポーリングコマンドに対応する応答として、送信する(S308)。
【0111】
ステップS308において情報処理装置100から送信されたIDm(第1識別情報)を受信したリーダ/ライタ200は、受信したIDm(第1識別情報)を含む処理命令(図10に示す“Request Service command”)を、情報処理装置100へ送信する(S310)。
【0112】
なお、図10では示していないが、リーダ/ライタ200が、ステップS308においてIDm(第1識別情報)を受信した後に、リーダ/ライタ200と情報処理装置100との間の通信が何らかの理由で途切れた場合には、リーダ/ライタ200は、例えば、再度ステップS300からの処理を行うことなく、ステップS310からの処理を行うことも可能である。
【0113】
ステップ310においてリーダ/ライタ200から送信された処理命令を受信した通信部102は、受信した処理命令を判定部110へ伝達する(S312)。
【0114】
判定部110は、ステップS312において伝達された処理命令に対して、上記(1)の処理(判定処理)を行う(S314)。ここで、処理命令には、サービス種別情報(例えば図3に示すSC)が含まれていない。よって、判定部110は、処理命令を選択部112へ伝達する(S316)。
【0115】
選択部112は、ステップS316において伝達された処理命令に対して、上記(2)の処理(選択処理)を行う(S318)。そして、選択部112は、例えば、処理命令と、選択されたアプリケーションを示すAID(第2識別情報)とを、実行部114へ伝達する(S320)。
【0116】
実行部114は、上記(3)の処理(実行処理)を行い、ステップS320において伝達された処理命令を、選択されたアプリケーションに行わせる(S322)。そして、実行部114は、例えば、処理結果を示す応答信号を、通信部102に伝達する(S324)。
【0117】
通信部102は、ステップS324において伝達された応答信号を、ステップS310においてリーダ/ライタ200から送信された処理命令に対応する応答として、送信する(S326)。
【0118】
ステップS326において情報処理装置100から送信された応答信号を受信したリーダ/ライタ200は、情報処理装置100に対してさらに処理命令を送信する場合には、ステップS310と同様に、処理命令を情報処理装置100へ送信する。そして、情報処理装置100では、ステップS312〜S326までの処理と同様の処理が、再度行われる。
【0119】
情報処理装置100は、リーダ/ライタ200から送信される処理命令を受信した場合には、例えば図10に示す処理を行う。なお、本実施形態に係る情報処理装置100における、本実施形態に係る情報処理方法に係る処理が、図10に示す処理に限られないことは、言うまでもない。
【0120】
以上のように、本実施形態に係る情報処理装置は、本実施形態に係る情報処理方法に係る処理として、例えば、上記(1)の処理(判定処理)〜上記(3)の処理(実行処理)や、上記(2)の処理(選択処理)および上記(3)の処理(実行処理)を行う。本実施形態に係る情報処理装置は、上記(2)の処理(選択処理)において、リーダ/ライタから送信された処理命令に含まれるIDm(第1識別情報)に基づいて、処理命令に対応するサービスに関する処理を行うアプリケーションを選択する。そして、本実施形態に係る情報処理装置は、上記(3)の処理(実行処理)において、選択されたアプリケーションに、処理命令に応じた処理を行わせる。
【0121】
ここで、リーダ/ライタから送信された処理命令に含まれるIDm(第1識別情報)は、本実施形態に係る情報処理装置が上記(1)の処理(判定処理)を行うことによって、リーダ/ライタが本実施形態に係る情報処理装置から取得したものである。また、リーダ/ライタと本実施形態に係る情報処理装置との間における、ポーリングコマンドに関連する処理は、NFCによる通信を行う既存の通信システムにおいても行われる。さらに、当該既存の通信システムを構成するリーダ/ライタは、IDm(第1識別情報)を含む処理命令を通信対象の装置へと送信する。つまり、本実施形態に係る情報処理装置は、上記既存の通信システムを構成するリーダ/ライタから送信された処理命令を受信する場合であっても、受信した処理命令に基づいて、本実施形態に係る情報処理方法に係る処理を行うことが可能である。
【0122】
よって、本実施形態に係る情報処理装置を有する通信システムでは、既存の通信システムを構成するリーダ/ライタを置き換える必要はない。
【0123】
また、リーダ/ライタと情報処理装置との間の通信が何らかの理由で途切れた場合、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタは、再度ポーリングコマンドを送信することなく、途切れたところから通信の再開を図ることもありうる。ここで、NFCによる通信を行う既存の通信システムにおいて、リーダ/ライタによって途切れたところから通信が再開される場合、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタは、IDm(第1識別情報)を含む処理命令を送信する。つまり、本実施形態に係る情報処理装置は、NFCによる通信を行う既存の通信システムを構成するリーダ/ライタと、本実施形態に係る情報処理装置との間の通信が途切れたか否かによらず、IDm(第1識別情報)を含む処理命令を受信し、本実施形態に係る情報処理方法に係る処理を行うことが可能である。
【0124】
よって、本実施形態に係る情報処理装置は、例えば図1Bに示すように、複数の通信方式や通信規格に情報処理装置を対応させる他の方法に係る構成をとる場合において、特許文献2に記載の技術が用いられる情報処理装置よりも、処理命令に対応する処理を正常に行うことができる可能性をより高めることができる。
【0125】
したがって、本実施形態に係る情報処理装置は、オペレーティング・システムが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーションに、外部装置から受信した処理命令に対応する処理を行わせることができる。
【0126】
上記では、本実施形態として、情報処理装置100を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、携帯電話やスマートフォンなどの通信装置(または、携帯型通信装置)や、ICカード、映像/音楽再生装置(または映像/音楽記録再生装置)、ゲーム機、PC(Personal Computer)などのコンピュータなど、様々な機器に適用することができる。
【0127】
(本実施形態に係るプログラム)
コンピュータを、本実施形態に係る情報処理装置として機能させるためのプログラム(例えば、上記(1)の処理(判定処理)〜上記(3)の処理(実行処理)や、上記(2)の処理(選択処理)および上記(3)の処理(実行処理)など、本実施形態に係る情報処理方法に係る処理を実行することが可能なプログラム)によって、オペレーティング・システムが対応する通信方式とは異なる通信方式の処理命令を処理することが可能なアプリケーションに、外部装置から受信した処理命令に対応する処理を行わせることができる。
【0128】
また、本実施形態に係るプログラムは、例えば、図1Bに示す“Java Card Runtime Environment”のような、アプリケーションを管理する実行環境を実現するプログラムに適用することも可能である。
【0129】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0130】
例えば、本実施形態に係る情報処理装置は、図8に示す判定部110、選択部112、および実行部114を個別に備える(例えば、それぞれを個別の処理回路で実現する)ことができる。
【0131】
また、例えば、上記では、コンピュータを、本実施形態に係る情報処理装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本実施形態は、さらに、上記プログラムをそれぞれ記憶させた記録媒体も併せて提供することができる。
【0132】
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
【0133】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
処理命令に含まれる、サービスに対応する第1識別情報と、前記第1識別情報とアプリケーションを識別する第2識別情報とが対応付けられた第1対応付け情報とに基づいて、前記処理命令に対応するサービスに関する処理を行うアプリケーションを選択する選択部と、
選択されたアプリケーションに、前記処理命令に応じた処理を行わせる実行部と、
を備える、情報処理装置。
(2)
外部装置と非接触に通信を行う通信部と、
受信された前記処理命令を判定する判定部と、
をさらに備え、
前記判定部は、
受信された処理命令に、サービスの種別を示すサービス種別情報が含まれているかを判定し、
前記サービス種別情報が含まれている場合には、前記処理命令に含まれる前記サービス種別情報と、前記サービス種別情報と前記第1識別情報とが対応付けられた第2対応付け情報とに基づいて、前記処理命令に含まれる前記サービス種別情報に対応する前記第1識別情報を含む応答を、前記通信部に行わせる、(1)に記載の情報処理装置。
(3)
前記選択部は、前記処理命令に対応するアプリケーションを選択した場合には、選択されたアプリケーションが選択されている状態を維持し、
前記実行部は、選択されたアプリケーションが、前記処理命令に対応するアプリケーションではない場合には、前記選択部に前記処理命令に対応するアプリケーションを再度選択させる選択要求を伝達し、
前記選択部は、前記選択要求が伝達された場合には、処理命令に含まれる前記第1識別情報と、前記第1対応付け情報とに基づいて、前記処理命令に対応するアプリケーションを再度選択する、(1)または(2)に記載の情報処理装置。
(4)
前記選択要求には、選択されているアプリケーションを示す第2識別情報が含まれ、
前記選択部は、前記第1対応付け情報に含まれる第2識別情報のうちの、前記選択要求に含まれる第2識別情報との間で所定の条件を満たす第2識別情報が示すアプリケーションを、選択対象のアプリケーションとする、(3)に記載の情報処理装置。
(5)
前記選択要求は、前記処理命令に含まれる前記第1識別情報である、(3)に記載の情報処理装置。
(6)
前記実行部は、選択されたアプリケーションが、前記処理命令に対応するアプリケーションではない場合には、
選択されたアプリケーションと関連するアプリケーションが、前記処理命令に応じた処理を行うことが可能であるかを判定し、
前記処理命令に応じた処理を行うことが可能であると判定されたアプリケーションに、前記処理命令に応じた処理を行わせる、(1)または(2)に記載の情報処理装置。
(7)
前記情報処理装置は、携帯型通信装置である、(1)〜(6)のいずれか1つに記載の情報処理装置。
(8)
前記情報処理装置は、ICカードである、(1)〜(6)のいずれか1つに記載の情報処理装置。
(9)
処理命令に含まれる、サービスに対応する第1識別情報と、前記第1識別情報とアプリケーションを識別する第2識別情報とが対応付けられた第1対応付け情報とに基づいて、前記処理命令に対応するサービスに関する処理を行うアプリケーションを選択するステップと、
選択されたアプリケーションに、前記処理命令に応じた処理を行わせるステップと、
を有する、情報処理方法。
(10)
処理命令に含まれる、サービスに対応する第1識別情報と、前記第1識別情報とアプリケーションを識別する第2識別情報とが対応付けられた第1対応付け情報とに基づいて、前記処理命令に対応するサービスに関する処理を行うアプリケーションを選択するステップ、
選択されたアプリケーションに、前記処理命令に応じた処理を行わせるステップ、
をコンピュータに実行させるためのプログラム。
【符号の説明】
【0134】
100 情報処理装置
102 通信部
104 記憶部
106 制御部
110 判定部
112 選択部
114 実行部
200 リーダ/ライタ
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10