(57)【要約】【課題】システムの開発コストを下げるとともに、非接触式ＩＣ記録媒体の取り去り検知機能を発揮させる際、必要になり得るメンテナンスを容易かつ安全に行うことが可能な非接触式ＩＣ記録媒体処理システム及び非接触式ＩＣ記録媒体処理方法を提供する。【解決手段】上位装置１０のアプリケーション１１は、上位装置１０のドライバ１２に対して、媒体処理端末２０から非接触式ＩＣ記録媒体３０が取り去られたか否かの検知を要求する取り去り検知要求コマンドを発するとともに、ドライバ１２は、取り去り検知要求コマンドに応じて、媒体処理端末２０に対して、非接触式ＩＣ記録媒体３０の存在を確認する存在確認コマンドを発するか、又は、アプリケーション１１による非接触式ＩＣ記録媒体３０に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体３０が媒体処理端末２０の通信位置に存在するか否かを確認する。【選択図】図１１
2008276582.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と、当該上位装置に接続された媒体処理端末とを有する非接触式ＩＣ記録媒体処理システムにおいて、
前記上位装置は、非接触式ＩＣ記録媒体に対する情報処理を実行するアプリケーションと、前記媒体処理端末との通信を制御するドライバと、を備え、
前記アプリケーションは、前記ドライバに対して、前記媒体処理端末から非接触式ＩＣ記録媒体が取り去られたか否かの検知を要求する取り去り検知要求コマンドを発するとともに、
前記ドライバは、前記取り去り検知要求コマンドに応じて、前記媒体処理端末に対して、非接触式ＩＣ記録媒体の存在を確認する存在確認コマンドを発するか、又は、前記アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体が前記媒体処理端末の通信位置に存在するか否かを確認することを特徴とする非接触式ＩＣ記録媒体処理システム。
【請求項２】
前記ドライバは、前記アプリケーションからのコマンドに応じて、非接触式ＩＣ記録媒体に対する情報処理を実行する要求処理部と、
前記媒体処理端末の通信位置における非接触式ＩＣ記録媒体の離脱状況を監視及び追跡する記録媒体追跡部と、
前記アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を記録媒体状態として記憶する記録媒体状態記憶部と、を備え、
前記記録媒体追跡部は、前記記録媒体状態を参照して、通信処理待ちであるときは前記要求処理部からの前記存在確認コマンドを実行する一方で、通信処理中であるときは非接触式ＩＣ記録媒体が前記媒体処理端末の通信位置に存在することを前記アプリケーションに通知することを特徴とする請求項１記載の非接触式ＩＣ記録媒体処理システム。
【請求項３】
上位装置と、当該上位装置に接続された媒体処理端末とを有し、当該上位装置は、非接触式ＩＣ記録媒体に対する情報処理を実行するアプリケーションと、当該媒体処理端末との通信を制御するドライバと、を備える非接触式ＩＣ記録媒体処理システムにおける非接触式ＩＣ記録媒体処理方法において、
前記アプリケーションが、前記ドライバに対して、前記媒体処理端末から非接触式ＩＣ記録媒体が取り去られたか否かの検知を要求する取り去り検知要求コマンドを発する取り去り検知要求ステップと、
前記ドライバが、前記取り去り検知要求コマンドに応じて、前記媒体処理端末に対して、非接触式ＩＣ記録媒体の存在を確認する存在確認コマンドを発するか、又は、前記アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体が前記媒体処理端末の通信位置に存在するか否かを確認する確認ステップと、を含むことを特徴とする非接触式ＩＣ記録媒体処理方法。
【請求項４】
前記ドライバは、前記非接触式ＩＣ記録媒体の非活性化が終了した後、短時間インターバルごとに、前記媒体処理端末に対して前記存在確認コマンドを発する短間隔コマンド送信ステップと、
前記非接触式ＩＣ記録媒体の非活性化が終了し、予め定められた所定の時間が経過した後は、短時間インターバルよりも長い長時間インターバルごとに、前記媒体処理端末に対して前記存在確認コマンドを発する長間隔コマンド送信ステップと、を含むことを特徴とする請求項３記載の非接触式ＩＣ記録媒体処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非接触式ＩＣ記録媒体に対して情報の読み取り又は書き込み等の処理を行う非接触式ＩＣ記録媒体処理システム及び非接触式ＩＣ記録媒体処理方法に関する。
【背景技術】
【０００２】
従来から、非接触式ＩＣカードと無線通信によって情報の授受を行う非接触式ＩＣカード処理システムがある。一般的に、非接触式ＩＣカード処理システムは、非接触式ＩＣカードに対する情報処理を実行する上位装置と、非接触式ＩＣカードに対して直接的に（ＲＦアンテナ等により）無線通信を行う非接触式ＩＣカードリーダライタと、から構成されている。
【０００３】
非接触式ＩＣカードリーダライタは、非接触式ＩＣカードと無線通信を行う場合、それが自己の通信可能領域に存在するかどうか（カード追跡）を常時把握していることが重要である。このような観点から、通信可能領域に存在していなかった非接触式ＩＣカードが、非接触式ＩＣカードリーダライタにおける通信可能領域に入ったことを検知する手法（非接触式ＩＣカードの挿入検知方法）は、詳細に規定されている。
【０００４】
一方で、通信可能領域に存在していた非接触式ＩＣカードが、非接触式ＩＣカードリーダライタにおける通信可能領域から取り去られたことを検知する方法（非接触式ＩＣカードの取り去り検知）については、詳細に規定されていない。そのため、現在では、各システムによって独自の方法で（様々な方法で）非接触式ＩＣカードの取り去り検知が行われており、例えば、特許文献１に開示されたような方法が提案されている。
【０００５】
特許文献１に開示された方法は、任意の一定間隔（非常に短い間隔）で、非接触式ＩＣカードリーダライタが非接触式ＩＣカードに対して何らかの確認コマンドを送信する。そして、そのコマンドに基づく処理が成功した場合は、非接触式ＩＣカードが通信可能領域に存在し、これが失敗した場合は、通信可能領域から非接触式ＩＣカードが取り去られたと認識するようにしている。
【０００６】
【特許文献１】特開２００２−３１２７２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された方法では、上述したように、非接触式ＩＣカード取り去り検知動作は非接触式ＩＣカードリーダライタによって行われているため、非接触式ＩＣカードリーダライタへの非接触式ＩＣカード取り去り検知機能の実装が必須となり、その結果、開発コストが嵩み、非接触式ＩＣカードリーダライタの安価な開発の妨げとなる。
【０００８】
また、非接触式ＩＣカード取り去り検知機能といった特殊な機能が非接触式ＩＣカードリーダライタに実装されていると、メンテナンス交換が容易ではない（すなわち、本機能が実装されていない非接触式ＩＣカードリーダライタでは代替することができない）。
【０００９】
さらに、非接触式ＩＣカード取り去り検知機能を発揮するために用いるパラメータ（例えばインターバル時間など）を変更しようとすると、非接触式ＩＣカードリーダライタを上位装置に接続し、そのパラメータをダウンロードする必要があった。これは、人為的な操作であり、ダウンロード中に誤ってコネクタが抜けた場合、適切にパラメータ変更することができない。その結果、メンテナンス性に問題がある。
【００１０】
本発明は、このような点に鑑みてなされたものであり、その目的は、システムの開発コストを下げるとともに、非接触式ＩＣ記録媒体の取り去り検知機能を発揮させる際、必要になり得るメンテナンスを容易かつ安全に行うことが可能な非接触式ＩＣ記録媒体処理システム及び非接触式ＩＣ記録媒体処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
以上のような課題を解決するために、本発明は、以下のものを提供する。
【００１２】
（１）  上位装置と、当該上位装置に接続された媒体処理端末とを有する非接触式ＩＣ記録媒体処理システムにおいて、前記上位装置は、非接触式ＩＣ記録媒体に対する情報処理を実行するアプリケーションと、前記媒体処理端末との通信を制御するドライバと、を備え、前記アプリケーションは、前記ドライバに対して、前記媒体処理端末から非接触式ＩＣ記録媒体が取り去られたか否かの検知を要求する取り去り検知要求コマンドを発するとともに、前記ドライバは、前記取り去り検知要求コマンドに応じて、前記媒体処理端末に対して、非接触式ＩＣ記録媒体の存在を確認する存在確認コマンドを発するか、又は、前記アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体が前記媒体処理端末の通信位置に存在するか否かを確認することを特徴とする非接触式ＩＣ記録媒体処理システム。
【００１３】
本発明によれば、上位装置と媒体処理端末とを有する非接触式ＩＣ記録媒体処理システムで、上位装置には、非接触式ＩＣ記録媒体に対する情報処理を実行するアプリケーションと、媒体処理端末との通信を制御するドライバと、が設けられる。そして、アプリケーションがドライバに対して要求する取り去り検知要求コマンドに応じて、ドライバは、媒体処理端末に対し、非接触式ＩＣ記録媒体の存在を確認する存在確認コマンドを発するか、又は、アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体が媒体処理端末の通信位置に存在するか否かを確認することとしたので、非接触式ＩＣ記録媒体の取り去り検知機能を実現するための開発コストを下げることができる。
【００１４】
すなわち、従来は、この取り去り検知機能を媒体処理端末に実装していたため、上位装置に接続される媒体処理端末ごとに実装費用が必要であった（上位装置に複数台の媒体処理端末が接続される場合には複数台分の実装費用、或いは、メンテナンス交換を考慮した場合は、交換前と交換後の２台分の実装費用）。しかし、本発明によれば、この取り去り検知機能を上位装置のドライバに実装していることから、個々の媒体処理端末に対する実装費用が不要となり、ひいては開発コストを削減することができる。
【００１５】
また、メンテナンス交換時に、取り去り検知機能が付加されていない媒体処理端末で代替することもできるので、メンテナンス容易性を向上させることができる。さらに、取り去り検知機能を発揮するために用いるパラメータを変更する場合であっても、上位装置だけで変更することが可能なので、安全にパラメータ変更を行うことができる。
【００１６】
（２）  前記ドライバは、前記アプリケーションからのコマンドに応じて、非接触式ＩＣ記録媒体に対する情報処理を実行する要求処理部と、前記媒体処理端末の通信位置における非接触式ＩＣ記録媒体の離脱状況を監視及び追跡する記録媒体追跡部と、前記アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を記録媒体状態として記憶する記録媒体状態記憶部と、を備え、前記記録媒体追跡部は、前記記録媒体状態を参照して、通信処理待ちであるときは前記要求処理部からの前記存在確認コマンドを実行する一方で、通信処理中であるときは非接触式ＩＣ記録媒体が前記媒体処理端末の通信位置に存在することを前記アプリケーションに通知することを特徴とする非接触式ＩＣ記録媒体処理システム。
【００１７】
本発明によれば、上述したドライバには、アプリケーションからのコマンドに応じて、非接触式ＩＣ記録媒体に対する情報処理を実行する要求処理部と、媒体処理端末の通信位置における非接触式ＩＣ記録媒体の離脱状況を監視及び追跡する記録媒体追跡部と、アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を記録媒体状態として記憶する記録媒体状態記憶部と、が設けられる。そして、この記録媒体追跡部によって、記録媒体状態が参照され、通信処理待ちであるときは、要求処理部からの存在確認コマンドが実行される一方で、通信処理中であるときは、非接触式ＩＣ記録媒体が媒体処理端末の通信位置に存在することがアプリケーションに通知されることとしたので、取り去り検知要求の効率性を高めることができる。
【００１８】
詳細に説明すると、通信処理中に存在確認コマンドを（頻繁に）実行すると、通信障害が発生する可能性がある。しかし、本発明では、記録媒体追跡部は、記録媒体状態を参照することによって、通信処理中であるときは存在確認コマンドを実行しない。このときは、通信結果から、非接触式ＩＣ記録媒体が媒体処理端末の通信位置に存在することを確認することができる。その一方で、通信処理待ちであるときは、存在確認コマンドを実行する。このように、通信処理中か否かによって、存在確認コマンドを実行するかしないかを決定しているので、通信障害が発生するのを防止しながら、取り去り検知要求の効率性を高めることができる。
【００１９】
（３）  上位装置と、当該上位装置に接続された媒体処理端末とを有し、当該上位装置は、非接触式ＩＣ記録媒体に対する情報処理を実行するアプリケーションと、当該媒体処理端末との通信を制御するドライバと、を備える非接触式ＩＣ記録媒体処理システムにおける非接触式ＩＣ記録媒体処理方法において、前記アプリケーションが、前記ドライバに対して、前記媒体処理端末から非接触式ＩＣ記録媒体が取り去られたか否かの検知を要求する取り去り検知要求コマンドを発する取り去り検知要求ステップと、前記ドライバが、前記取り去り検知要求コマンドに応じて、前記媒体処理端末に対して、非接触式ＩＣ記録媒体の存在を確認する存在確認コマンドを発するか、又は、前記アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体が前記媒体処理端末の通信位置に存在するか否かを確認する確認ステップと、を含むことを特徴とする非接触式ＩＣ記録媒体処理方法。
【００２０】
本発明によれば、上位装置のアプリケーションからドライバに対して取り去り検知要求コマンドが発せられ、それに応じて、ドライバが、媒体処理端末に対して、非接触式ＩＣ記録媒体の存在を確認する存在確認コマンドを発するか、又は、アプリケーションによる非接触式ＩＣ記録媒体に対する情報処理の結果を参照するか、のいずれか一方の動作に基づいて、非接触式ＩＣ記録媒体が媒体処理端末の通信位置に存在するか否かを確認することとしたので、上述した（１）の発明と同様に、開発コストの削減を図りつつ、メンテナンス容易性及びメンテナンス安全性を高めることができる。
【００２１】
（４）  前記ドライバは、前記非接触式ＩＣ記録媒体の非活性化が終了した後、短時間インターバルごとに、前記媒体処理端末に対して前記存在確認コマンドを発する短間隔コマンド送信ステップと、前記非接触式ＩＣ記録媒体の非活性化が終了し、予め定められた所定の時間が経過した後は、短時間インターバルよりも長い長時間インターバルごとに、前記媒体処理端末に対して前記存在確認コマンドを発する長間隔コマンド送信ステップと、を含むことを特徴とする非接触式ＩＣ記録媒体処理方法。
【００２２】
本発明によれば、上述したドライバは、非接触式ＩＣ記録媒体の非活性化が終了した後、短時間インターバルごとに、媒体処理端末に対して存在確認コマンドを発し、非接触式ＩＣ記録媒体の非活性化が終了し、予め定められた所定の時間が経過した後は、短時間インターバルよりも長い長時間インターバルごとに、媒体処理端末に対して存在確認コマンドを発することとしたので、システムに不必要な負荷が掛かるのを防ぐことができる。
【００２３】
すなわち、従来のように、非常に短い間隔で、非接触式ＩＣカードに対して確認コマンドを実行した場合、非接触式ＩＣカードを利用するアプリケーションと、非接触式ＩＣカードとの通信や、上位装置と非接触式ＩＣカードリーダライタへ、不必要な負荷が掛かってしまう。しかし、本発明によれば、存在確認コマンドを発するにあたって、短時間インターバルと長時間インターバルを用いて、通信状態に応じて存在確認コマンドを発するようにしているので、システムに不必要な負荷が掛かるのを防ぐことができる。
【発明の効果】
【００２４】
本発明に係る非接触式ＩＣ記録媒体処理システム及び非接触式ＩＣ記録媒体処理方法によれば、システムの開発コストを下げることができるとともに、媒体処理端末のメンテナンス性を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２６】
［システム概要］
図１は、本実施形態に係る非接触式ＩＣ記録媒体処理システムの概要を示す概念図である。
【００２７】
図１に示すように、非接触式ＩＣ記録媒体処理システムは、上位装置１０と、この上位装置１０に接続され、非接触式ＩＣカード３０と無線通信によって情報の授受を行う非接触式ＩＣカードリーダライタ２０と、から構成されている。また、上位装置１０は、非接触式ＩＣカード３０に対する情報処理を実行する非接触式ＩＣカード対応アプリケーション（以下、「アプリケーション」と略す）１１と、非接触式ＩＣカードリーダライタドライバ（以下、「ドライバ」と略す）１２と、から構成されており、後者は、前者の下層に配置されている。
【００２８】
アプリケーション１１は、非接触式ＩＣカード３０の利用に際して必要な要求全てを、このドライバ１２に対して送信する。また、非接触式ＩＣカード３０に対する情報処理を、実際に実行する。一方で、ドライバ１２は、非接触式ＩＣカードリーダライタ２０との通信を制御する機能を有しており、この機能の中には、追跡処理を行う機能を有する。具体的には、図２を用いて説明する。
【００２９】
図２は、上位装置１０のうちドライバ１２の構成を示すブロック図である。図２において、ドライバ１２は、アプリケーション１１からの要求を処理する要求処理部１３と、非接触式ＩＣカード３０の追跡処理を行う非接触式ＩＣカード追跡部１４と、から構成されている。
【００３０】
非接触式ＩＣカード追跡部１４によって行われる追跡処理について、詳細に説明する。まず、アプリケーション１１は、非接触式ＩＣカード３０の追跡を行いたい場合には、その追跡の種類（挿入検知又は取り去り検知）を指定して、ドライバ１２に対して要求を送る。そして、アプリケーション１１より非接触式ＩＣカード３０の追跡を要求されたドライバ１２は、非接触式ＩＣカード追跡部１４を起動して、指定された動作を行う。この非接触式ＩＣカード追跡部１４は、指定された追跡の種類に応じた状況を検知した場合（すなわち、挿入検知の場合には、非接触式ＩＣカード３０が非接触式ＩＣカードリーダライタ２０の通信可能領域に入ったことを検知した場合であるし、取り去り検知の場合には、非接触式ＩＣカード３０がこの通信可能領域から出たことを検知した場合である）、それをアプリケーション１１へ通知する。これらの具体例について、図３を用いて説明する。
【００３１】
図３は、非接触式ＩＣカード追跡部１４によって行われる追跡処理の手順概要を示すシーケンス図である。
【００３２】
図３に示すように、まず、アプリケーション１１は、ドライバ１２に対して挿入検知要求を送り（ステップＳ１）、これを受け取ったドライバ１２は、非接触式ＩＣカードリーダライタ２０に対し、非接触式ＩＣカード３０の検出指示を送る（ステップＳ２）。なお、この挿入検知要求（ステップＳ１）は、常時行われている。
【００３３】
次に、ステップＳ２により検出指示を受け取った非接触式ＩＣカードリーダライタ２０では、規定の非接触式ＩＣカード３０の検出動作が開始される（ステップＳ３）。そして、非接触式ＩＣカード３０が通信可能領域内へ入ったことを検出すると、非接触式ＩＣカードリーダライタ２０は、ドライバ１２に対し、非接触式ＩＣカード３０の検出が完了した旨を知らせる（ステップＳ４）。これを受け取ったドライバ１２は、挿入検知通知として、アプリケーション１１に対して非接触式ＩＣカード３０を検知した旨を知らせる（ステップＳ５）。
【００３４】
次に、アプリケーション１１は、ドライバ１２に対して取り去り検知要求を送る（ステップＳ６）。そうすると、ドライバ１２では、取り去り検知動作が開始され（ステップＳ７）、ドライバ１２から非接触式ＩＣカードリーダライタ２０へと非接触式ＩＣカード確認コマンドが送信される（ステップＳ８）。そして、これを受信した非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０がまだ通信可能領域内にあることを確認し（ステップＳ９）、ドライバ１２に対して、非接触式ＩＣカード３０の確認が完了した旨を知らせる（ステップＳ１０）。なお、この取り去り検知要求（ステップＳ６）は、非接触式ＩＣカードリーダライタ２０から非接触式ＩＣ記録媒体３０が取り去られたか否かの検知を要求する取り去り検知要求コマンドの一例である。
【００３５】
図３では、これらステップＳ８〜ステップＳ１０がもう１度繰り返された後（ステップＳ１１〜ステップＳ１３）、非接触式ＩＣカードリーダライタ２０において、非接触式ＩＣカード３０が通信可能領域外へ出たと仮定する。そうすると、非接触式ＩＣカードリーダライタ２０は、ドライバ１２からの非接触式ＩＣカード確認コマンドの送信（ステップＳ１４）に対して、非接触式ＩＣカード３０が通信可能領域内にないことを確認する（ステップＳ１５）。そして、非接触式ＩＣカード３０の取り去りをドライバ１２に知らせ（ステップＳ１６）、ドライバ１２は、取り去り検知通知をアプリケーション１１に対して行う（ステップＳ１７）。
【００３６】
最後に、取り去り検知動作が終了し（ステップＳ１８）、再び挿入検知要求（ステップＳ１９）及び接触式ＩＣカード検出指示（ステップＳ２０）が行われることになる。
【００３７】
このように、従来、非接触式ＩＣカード３０が通信可能領域内か否かを監視する役目は、非接触式ＩＣカードリーダライタ２０が担っていたが、本実施形態に係る非接触式ＩＣ記録媒体処理システムでは、ドライバ１２の非接触式ＩＣカード追跡部（カード追跡部）１４がこれを担っている。
【００３８】
次に、非接触式ＩＣカード追跡部１４によって行われる追跡処理の手順詳細を説明するが、まずは非接触式ＩＣカード３０との通信概要について説明し（図４参照）、その後、取り去り検知について詳述する（図５〜図１０参照）。
【００３９】
図４は、非接触式ＩＣカード３０との通信概要を説明するためのシーケンス図である。なお、ドライバ１２が取り去り検知を行っている状況、すなわち非接触式ＩＣカード３０が非接触式ＩＣカードリーダライタ２０の通信可能領域内にある状況では、取り去り検知の動作に並行して、アプリケーション１１から非接触式ＩＣカード３０を利用するための要求が送られてくる。この要求を、図４における太線矢印で示すものとする。
【００４０】
図４において、まず、ドライバ１２は取り去り検知動作中であって（ステップ
Ｓ２１）、この状態で、非接触式ＩＣカード確認コマンドを非接触式ＩＣカードリーダライタ２０に送る（ステップＳ２２）。これを受信した非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０が通信可能領域内にあることを確認した後（ステップＳ２３）、非接触式ＩＣカード３０の確認が完了した旨をドライバ１２に知らせる（ステップＳ２４）。
【００４１】
次に、上位装置１０のアプリケーション１１は、ドライバ１２に対して活性化要求（例えば初期化要求など）を行い（ステップＳ２５）、これを受けたドライバ１２は、非接触式ＩＣカード３０を活性化するように、非接触式ＩＣカードリーダライタ２０に対して指示を行う（ステップＳ２６）。そうすると、非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０を活性化させ（ステップＳ２７）、活性化が終了すれば、活性化が終了した旨をドライバ１２へ送る（ステップＳ２８）。そして、これを受け取ったドライバ１２は、活性化が終了した旨をアプリケーション１１へ送る（ステップＳ２９）。
【００４２】
次に、ドライバ１２は、非接触式ＩＣカード確認コマンドを非接触式ＩＣカードリーダライタ２０に送る（ステップＳ３０）。これを受信した非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０が通信可能領域内にあることを確認した後（ステップＳ３１）、非接触式ＩＣカード３０の確認が完了した旨をドライバ１２に知らせる（ステップＳ３２）。
【００４３】
次に、上位装置１０のアプリケーション１１は、通信要求（例えばデータの読み出し・書き込み要求など）を行って（ステップＳ３３）、ドライバ１２に対し、非接触式ＩＣカード通信を行わせる（ステップＳ３４）。その結果、非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０と情報（データ）の送受信を行い（ステップＳ３５）、送受信が終了すれば、通信が終了した旨をドライバ１２へ送る（ステップＳ３６）。そして、これを受け取ったドライバ１２は、通信が終了した旨をアプリケーション１１へ送る（ステップＳ３７）。
【００４４】
次に、非活性化要求であるが（ステップＳ３８〜ステップＳ４２）、これは活性化要求と同様（活性化要求→非活性化要求）であるので、詳細な説明を省略する。最後に、ドライバ１２は再び、非接触式ＩＣカードリーダライタ２０に対して非接触式ＩＣカード確認コマンドを送り（ステップＳ４３）、非接触式ＩＣカード３０が通信可能領域内にあることが確認されれば（ステップＳ４４）、非接触式ＩＣカードリーダライタ２０から非接触式ＩＣカード確認完了の知らせを受ける（ステップＳ４５）。なお、その後、非接触式ＩＣカード３０は、通信可能領域外へと出る。
【００４５】
このように、本実施形態における取り去り検知は、アプリケーション１１から送られてくる要求、すなわち非接触式ＩＣカード３０を利用するための要求に、影響を与えない。
【００４６】
図５及び図６は、アプリケーション１１による取り去り検知要求から活性化要求までの間における取り去り検知動作を説明するためのシーケンス図である。図５と図６の違いは、無通信要求の存在の有無である。すなわち、図５は、アプリケーション１１から一定時間何の要求もない場合における取り去り検知動作を示し、図６は、アプリケーション１１から無通信要求が一定時間内にあった場合における取り去り検知動作を示している。
【００４７】
図５において、まず、アプリケーション１１によって取り去り検知要求がドライバ１２に送られる（ステップＳ５１）。そして、ドライバ１２において取り去り検知動作が開始されるが（ステップＳ５２）、非接触式ＩＣカードリーダライタ２０に対して、直ちに非接触式ＩＣカード確認コマンドを送るのではなく、非活性化時取り去り確認インターバルをおいて、その後、非接触式ＩＣカード確認コマンドを送るようにしている（ステップＳ５３）。ここで、非活性化時取り去り確認インターバルは、システムに負荷を与えない程度（例えば約１秒）の値とすることができる。なお、このステップＳ５１は、アプリケーション１１が、ドライバ１２に対して、非接触式ＩＣカードリーダライタ２０から非接触式ＩＣカード３０が取り去られた否かの検知を要求する取り去り検知要求コマンドを発する「取り去り要求検知ステップ」の一例となる。
【００４８】
次に、非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０が通信可能領域内にあることを確認した後（ステップＳ５４）、非接触式ＩＣカード３０の確認が完了した旨をドライバ１２に知らせる（ステップＳ５５）。そして、再び非活性化時取り去り確認インターバルが経過するまで待って、その後、ドライバ１２及び非接触式ＩＣカードリーダライタ２０によって、再びステップＳ５３〜ステップＳ５５と同様の処理が行われる（ステップＳ５６〜ステップＳ５８）。
【００４９】
このように、非接触式ＩＣカード確認コマンドを送る際、非活性化時取り去り確認インターバルを介在させるようにすることで、システムに不必要な負荷がかかってしまうのを防ぐことができる。
【００５０】
次に、図６において、ステップＳ６１，Ｓ６２，Ｓ６６，Ｓ６７及びＳ６８は、それぞれ図５に示すステップＳ５１，Ｓ５２，Ｓ５３，Ｓ５４及びＳ５５と同様の処理であるため、詳細な説明を省略する。一方で、図６では、ドライバ１２が取り去り検知動作を開始した後（ステップＳ６２）、アプリケーション１１は、ドライバ１２に対して無通信要求を行う（ステップＳ６３）。そして、ドライバ１２において無通信要求処理が行われた後（ステップＳ６４）、ドライバ１２からアプリケーション１１へと無通信要求応答が送られることになる（ステップＳ６５）。
【００５１】
なお、無通信要求とは、非接触式ＩＣカード３０との通信が必要のない要求のことである。例えば、ドライバ１２の状態の獲得や、非接触式ＩＣカードリーダライタ２０の状態の獲得などである。この無通信要求は、取り去り検知間隔に影響を与えない。
【００５２】
図７及び図８は、活性化終了後から非接触式ＩＣカード３０との通信要求までの間における取り去り検知動作を説明するためのシーケンス図である。図７と図８の違いは、無通信要求の存在の有無である。すなわち、図７は、アプリケーション１１から一定時間何の要求もない場合における取り去り検知動作を示し、図８は、アプリケーション１１から無通信要求が一定時間内にあった場合における取り去り検知動作を示している。
【００５３】
図７において、まず、ドライバ１２は、活性化が終了した旨をアプリケーション１１に知らせた後（ステップＳ７１）、活性化時取り去り確認インターバルを待った上で、非接触式ＩＣカードリーダライタ２０に非接触式ＩＣカード確認コマンドを送る（ステップＳ７２）。そうすると、非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０が通信可能領域内にあることを確認した後（ステップＳ７３）、ドライバ１２に対して非接触式ＩＣカード３０の確認が完了した旨を知らせる（ステップＳ７４）。
【００５４】
次に、ドライバ１２は、再び活性化時取り去り確認インターバルを待った上で、非接触式ＩＣカード確認コマンドを送り（ステップＳ７５）、非接触式ＩＣカード３０が通信可能領域内にあることが確認された後（ステップＳ７６）、非接触式ＩＣカード３０の確認が完了した旨の知らせを受けることになる（ステップＳ７７）。ここで、活性化時取り去り確認インターバルは、非活性化時取り去り確認インターバルと同程度（例えば約１秒）とする。
【００５５】
次に、図８において、まず、ドライバ１２は、活性化が終了した旨をアプリケーション１１に知らせるとともに（ステップＳ８１）、取り去り確認を行うまでの時間計測を開始する。ここで、アプリケーション１１から無通信要求が行われた場合には（ステップＳ８２）、ドライバ１２は、取り去り確認を行うまでの時間計測を一旦停止し、それまでの経過時間をクリアにする。
【００５６】
そして、ドライバ１２は、非接触式ＩＣカードリーダライタ２０に対し、直ちに非接触式ＩＣカード確認コマンドを送り（ステップＳ８３）、非接触式ＩＣカードリーダライタ２０において非接触式ＩＣカード３０が通信可能領域内にあることが確認された後（ステップＳ８４）、非接触式ＩＣカードの確認が完了した旨の知らせを受ける（ステップＳ８５）。
【００５７】
このように、上位装置１０のドライバ１２は、アプリケーション１１から無通信要求がきたタイミングで、前回取り去り確認を行ってから活性化取り去り確認インターバルだけ時間が経過していなくても、取り去り確認を行う（ステップＳ８２→ステップＳ８３）。これにより、非活性化時に比べて、より正確にカード追跡を行うことができる。なお、活性化時は、アプリケーション１１が非接触式ＩＣカード３０を利用しており、非活性化時と比べて何らかの動作が行われる可能性が高いために、このような処理としている。
【００５８】
次に、ドライバ１２において無通信要求処理が行われ（ステップＳ８６）、無通信要求応答がアプリケーション１１へと送られる（ステップＳ８７）。ここで、ドライバ１２は、再び取り去り確認を行うまでの時間計測を開始する。そして、活性化時取り去り確認インターバルが経過すると、ドライバ１２と非接触式ＩＣカードリーダライタ２０との間で、非接触式ＩＣカード確認コマンドの送信（ステップＳ８８）、非接触式ＩＣカード３０が通信可能領域内にあることの確認（ステップＳ８９）、非接触式ＩＣカード確認完了の通知（ステップＳ９０）が、それぞれ行われる。
【００５９】
図９は、アプリケーション１１による非接触式ＩＣカード３０との通信要求時における取り去り検知動作を説明するためのシーケンス図である。
【００６０】
図９のシーケンス図の概要について説明すると、通信要求後は、アプリケーション１１が必要な通信を終了するまで、アプリケーション１１から短い間隔での通信要求が連続する可能性が高い。したがって、このような動作に影響を与えないようにするため、基本的には、ドライバ１２による取り去り検知は行われない。その代わり、非接触式ＩＣカード３０との通信結果からカード状況を把握するようにする。
【００６１】
図９において、まず、アプリケーション１１は、ドライバ１２に対して通信要求を行う（ステップＳ９１）。このとき、ドライバ１２は、取り去り確認を行うまでの時間を計測中であるが、通信要求を受けると直ちに、取り去り確認を行うまでの時間計測を停止し、経過時間をクリアにする。そして、非接触式ＩＣカードリーダライタ２０に対して非接触式ＩＣカード通信を行って（ステップＳ９２）、非接触式ＩＣカードリーダライタ２０において非接触式ＩＣカード３０とのデータ送受信が行われる（ステップＳ９３）。
【００６２】
次に、通信が終了すると、その旨がドライバ１２を介してアプリケーション１１に伝達される（ステップＳ９４,Ｓ９５）。そして、ドライバ１２は、アプリケーション１１に対して通信が終了した旨を送ると、直ちに取り去り確認を行うまでの時間計測を開始する。
【００６３】
そして、アプリケーション１１からドライバ１２へ、再び通信要求があった場合には（ステップＳ９６）、再び取り去り確認を行うまでの時間計測を停止し、経過時間をクリアにする。あとは、ステップＳ９２〜ステップＳ９５の処理と同様に、非接触式ＩＣカード通信、非接触式ＩＣカード３０とのデータ送受信、通信終了の知らせが伝達される（ステップＳ９７〜ステップＳ１００）。
【００６４】
次に、ドライバ１２は、取り去り確認を行うまでの時間計測を開始するとともに、通信時取り去り確認インターバル（約５秒程度）を待つ。ここで、最後の通信が終了してから、通信時取り去り確認インターバルが経過するまで、アプリケーション１１より何の要求もなかった場合には、非接触式ＩＣカード確認コマンドの送信（ステップＳ１０１）、非接触式ＩＣカード３０が通信可能領域内にあることの確認（ステップＳ１０２）、非接触式ＩＣカード確認完了の通知（ステップＳ１０３）が行われた後、活性化時取り去り確認インターバルにてドライバ１２によるカード追跡を再開する。
【００６５】
したがって、その後、活性化時取り去り確認インターバルが経過すると、ドライバ１２と非接触式ＩＣカードリーダライタ２０との間で、非接触式ＩＣカード確認コマンドの送信（ステップＳ１０４）、非接触式ＩＣカード３０が通信可能領域内にあることの確認（ステップＳ１０５）、非接触式ＩＣカード確認完了の通知（ステップＳ１０６）が行われる。
【００６６】
このように、図９によれば、ドライバ１２は、非接触式ＩＣカードリーダライタ２０に対して、非接触式ＩＣカード３０の存在を確認する存在確認コマンドを発するか（例えばステップＳ１０１やステップＳ１０４など）、又はアプリケーション１１による非接触式ＩＣカード３０に対する情報処理の結果を参照するか（例えばステップＳ９５やステップＳ１００など）、のいずれか一方の動作に基づいて、非接触式ＩＣカード３０が非接触式ＩＣカードリーダライタ２０の通信位置に存在するか否かを確認するようにしている（請求項記載の「確認ステップ」の一例となる）。
【００６７】
図１０は、非活性化終了後における取り去り検知動作を説明するためのシーケンス図である。なお、この非活性化終了後は、非接触式ＩＣカード３０が取り去られる可能性が高い時間帯になるので、非接触式ＩＣカード確認コマンドを頻繁に送るようになっている。
【００６８】
図１０において、まず、ドライバ１２は、非活性化が終了したら（ステップＳ１１１）、非活性化時取り去り確認インターバル２を待った上で、非接触式ＩＣカードリーダライタ２０に対し、非接触式ＩＣカード確認コマンドを送る（ステップＳ１１２）。ここで、"非活性化時取り去り確認インターバル２"は、今までのインターバルよりも短い時間（０．２秒程度）となっている。これは、非活性化後は、アプリケーション１１による非接触式ＩＣカード３０の利用が終了し、非接触式ＩＣカード３０が取り去られる可能性が高いからである。このようにして、非接触式ＩＣカード３０の取り去りをより正確に検知することができる。
【００６９】
次に、非接触式ＩＣカードリーダライタ２０は、非接触式ＩＣカード３０が通信可能領域内にあることを確認した後（ステップＳ１１３）、ドライバ１２に対して非接触式ＩＣカードの確認が完了した旨を知らせる（ステップＳ１１４）。
【００７０】
次に、非活性化時取り去り確認インターバル２を待った上で、ドライバ１２又は非接触式ＩＣカードリーダライタ２０によって、ステップＳ１１２〜ステップＳ１１４と同様の処理が行われる（ステップＳ１１５〜ステップＳ１１７）。また、もう１度、ステップＳ１１２〜ステップＳ１１４と同様の処理が行われる（ステップＳ１１８〜ステップＳ１２０）。
【００７１】
次に、ドライバ１２は、非活性化時取り去り確認インターバルを待った上で、非接触式ＩＣカードリーダライタ２０に対し、非接触式ＩＣカード確認コマンドを送る（ステップＳ１２１）。ここで、"非活性化時取り去り確認インターバル"は、今までのインターバルと同じ時間（約１秒）となっている。これは、非活性化時取り去り確認インターバル２でカード追跡を行うのは、非接触式ＩＣカード３０が取り去られる可能性が高い時間帯のみとし、それ以後は、非活性化時取り去り確認インターバルで取り去り検知を行う趣旨である。
【００７２】
このような趣旨により、ドライバ１２が、非接触式ＩＣカード３０の確認が完了した旨の知らせを受け取ってから（ステップＳ１２０）、非接触式ＩＣカードリーダライタ２０に対して非接触式ＩＣカード確認コマンドを送るまで（ステップＳ１２１）、及び、再び非接触式ＩＣカード３０の確認が完了した旨の知らせを受け取ってから（ステップＳ１２３）、非接触式ＩＣカードリーダライタ２０に対して非接触式ＩＣカード確認コマンドを送るまで（ステップＳ１２４）のインターバルは、非活性化時取り去り確認インターバル（約１秒）となる。
なお、その他ステップＳ１２２（ステップＳ１２５）及びＳ１２６は、それぞれステップＳ１１３及びステップＳ１１４と同様の処理である。また、非接触式ＩＣカード３０が取り去られる可能性が高い時間帯の決定方法としては、如何なる決定方法であってもよい。例えば、それまでに扱った非接触式ＩＣカード３０を挿入検知してから取り去り検知するまでの時間を記録しておき、その平均時間の２倍によって算出した時間をＩＣカード挿入時間とする。そして、現在のカードが挿入されてからＩＣカード挿入時間が経過するまでの間を、非接触式ＩＣカード３０が取り去られる可能性が高い時間帯とすることができる。
【００７３】
また、図１０に示すように、ドライバ１２は、非接触式ＩＣカード３０の非活性化が終了した後、非活性化時取り去り確認インターバル２ごとに、非接触式ＩＣカードリーダライタ２０に対して存在確認コマンド（非接触式ＩＣカード確認コマンド）を発する短間隔コマンド送信ステップ（例えばステップＳ１１５など）と、非接触式ＩＣカード３０の非活性化が終了し、予め定められた所定の時間が経過した後は、非活性化時取り去り確認インターバル２よりも長い非活性化時取り去り確認インターバルごとに、非接触式ＩＣカードリーダライタ２０に対して存在確認コマンドを発する長期間コマンド送信ステップ（例えばステップＳ１２１）と、を実行する。
【００７４】
次に、本実施形態に係る非接触式ＩＣ記録媒体処理システムの電気的構成及びシステム動作について詳述する。
【００７５】
［電気的構成］
図１１は、本実施形態に係る非接触式ＩＣ記録媒体処理システムの電気的構成を示すブロック図である。
【００７６】
図１１に示すように、本実施形態に係る非接触式ＩＣ記録媒体処理システムは、上位装置１０と、非接触式ＩＣカードリーダライタ２０から構成され、上位装置１０は、アプリケーション１１と、要求処理部１３と、カード追跡部１４（上位装置１０のライブラリとして存在してもよい）と、を有している。
【００７７】
要求処理部１３は、アプリケーション１１からのコマンドに応じて、非接触式ＩＣカード３０に対する情報処理を実行するものであって、カード追跡部１４は、非接触式ＩＣカードリーダライタ２０の通信位置における非接触式ＩＣカード３０の離脱状況を監視及び追跡するものである。
【００７８】
図１１におけるデータの流れについて説明すると、まず、アプリケーション１１は、要求処理部１３の要求解析部１３２に対して要求を行う。そして、その要求が通信関係であれば、コマンド実行部１３１にコマンド実行指示を行うとともに、アプリケーション１１に対して要求への応答を行う。そして、コマンド実行部１３１は、非接触式ＩＣカードリーダライタ２０とコマンド通信を行って、その通信結果を、コマンド応答としてアプリケーション１１に送る。このとき、この通信結果は、非接触式ＩＣカード状態記憶部１５に記憶される。
【００７９】
なお、この非接触式ＩＣカード状態記憶部１５は、アプリケーション１１による非接触式ＩＣカード３０に対する情報処理の結果を記録媒体状態として記憶するものである。
【００８０】
一方で、アプリケーション１１から要求解析部１３２に届いた要求が、カード追跡関係であれば、要求解析部１３２は、カード追跡部１４のカード追跡管理部１４２に対してカード追跡制御を行う。カード追跡管理部１４２は、確認コマンド実行部１４１に対し、確認コマンド実行指示を行って、確認コマンド実行部１４１は、非接触式ＩＣカードリーダライタ２０と確認コマンド通信を行う。そして、確認コマンド実行部１４１は、確認コマンドの実行結果をカード追跡管理部１４２に送り、カード追跡管理部１４２は、アプリケーション１１に対してカード状況を通知する。
【００８１】
ここで、カード追跡管理部１４２は、インターバル管理部１４３（ＣＰＵのタイマ機能を用いてもよい）に対し、時刻情報の更新指示を行う。そうすると、インターバル管理部１４３は、取り去り検知で使用する各時刻記憶部１６に対し、時刻情報の記憶と参照を行って、カード追跡管理部１４２がインターバルを参照できる状態にしておく。
【００８２】
また、カード追跡管理部１４２は、非接触式ＩＣカード状態記憶部１５に記憶された通信結果（通信状態）を参照して、通信処理待ちであるときは要求処理部１３からの存在確認コマンドを実行する一方で、通信処理中であるときは非接触式ＩＣ記録媒体３０が非接触式ＩＣカードリーダライタ２０の通信位置に存在することをアプリケーション１１に通知する。
【００８３】
また、カード追跡管理部１４２は、非接触式ＩＣカード状態記憶部１５の記録媒体状態を参照して、通信処理待ちであるときは要求処理部１３からの存在確認コマンドを実行する一方で、通信処理中であるときは非接触式ＩＣカード３０が非接触式ＩＣカードリーダライタ２０の通信位置に存在することをアプリケーション１１に通知する。
【００８４】
［システム動作の流れ］
図１２〜図１８は、本実施形態に係る非接触式ＩＣ記録媒体処理システムのシステム動作を示すフローチャートである。特に、図１２は、要求処理部１３の処理フローを示すフローチャートであって、図１３は、カード追跡部１４の処理フローを示すフローチャートである。また、図１４は、カード挿入検知の処理フローを示すフローチャートである。さらに、図１５は、カード取り去り検知の処理フローを示すフローチャートであって、図１６〜図１８は、図１５中のサブルーチンを示すフローチャートである。すなわち、図１６は、カード非活性化時におけるカード取り去り検知の処理フローを示し、図１７は、カード活性化時におけるカード取り去り検知の処理フローを示し、図１８は、カード通信時におけるカード取り去り検知の処理フローを示している。
【００８５】
図１２において、まず、アプリケーション１１からの要求を待って（ステップＳ１３１）、その要求が到着したら（ステップＳ１３２）、その要求を解析する（ステップＳ１３３）。そして、カード追跡開始要求か否かを判断し（ステップＳ１３４）、カード追跡開始要求である場合には（ステップＳ１３４：ＹＥＳ）、追跡の種類を指定して、カード追跡部１４を起動する（ステップＳ１３５）。その後、処理結果をアプリケーション１１へと通知した後（ステップＳ１４６）、処理はステップＳ１３１に戻される。
【００８６】
一方、ステップＳ１３４において、カード追跡開始要求でない場合には（ステップＳ１３４：ＮＯ）、その他の要求か否かが判断され（ステップＳ１３６）、その他の要求でない場合は（ステップＳ１３６：ＮＯ）、処理はステップＳ１４６へとスキップする。また、その他の要求である場合は（ステップＳ１３６：ＹＥＳ）、カード追跡部１４を一時停止して（ステップＳ１３７）、その他の要求を処理する（ステップＳ１３８）。そして、非接触式ＩＣカード３０に対する要求か否かが判断され（ステップＳ１３９）、そうでなければ（ステップＳ１３９：ＮＯ）、カード追跡部１４の一時停止を解除して（ステップＳ１４５）、処理をステップＳ１４６に移す。
【００８７】
一方で、ステップＳ１３９において、非接触式ＩＣカード３０に対する要求である場合には（ステップＳ１３９：ＹＥＳ）、通信要求であるか否か（ステップＳ１４０）、活性化要求であるか否か（ステップＳ１４２）が順次判断され、それぞれ該当する場合には、通信結果を記憶したり（ステップＳ１４１）、活性化を記憶したりする（ステップＳ１４３）。また、いずれにも該当しない場合には、非活性化を記憶する（ステップＳ１４４）。
【００８８】
その後、カード追跡部１４の一時停止が解除され（ステップＳ１４５）、その処理結果がアプリケーション１１へと通知された後（ステップＳ１４６）、処理はステップＳ１３１に戻される。
【００８９】
図１３において、カード追跡部１４は、要求処理部１３より起動されるまで待機する（ステップＳ１５１）。要求処理部１３より起動されると（ステップＳ１５２）、要求処理部１３より指定されたカード追跡の種類を特定する（ステップＳ１５３）。
【００９０】
そして、追跡の種類が挿入検知か否かが判断され（ステップＳ１５４）、挿入検知でない場合には（ステップＳ１５４：ＮＯ）、カード取り去り検知動作が行われ（ステップＳ１５６）、挿入検知である場合には（ステップＳ１５４：ＹＥＳ）、カード挿入検知動作が行われる（ステップＳ１５５）。
【００９１】
図１４において、カード挿入検知が開始されると、カード追跡部１４は、非接触式ＩＣカードリーダライタ２０に対してカード挿入検知コマンドを送信する（ステップＳ１６１）。そして、要求処理部１３から一時停止の指示があるか否かが判断され（ステップＳ１６２）、一時停止指示がなければ（ステップＳ１６２：ＮＯ）、処理はステップＳ１６７に移される。
【００９２】
一方で、要求処理部１３から一時停止指示があったら（ステップＳ１６２：ＹＥＳ）、カード追跡部１４は、カード挿入検知コマンドをキャンセルし（ステップＳ１６３）、カード取り去り検知動作を要求処理部１３の指示により一時停止する（ステップＳ１６４）。その後、要求処理部１３の動作が終了し、一時停止が解除されると（ステップＳ１６５）、カード挿入検知コマンドを送信する（ステップＳ１６６）。
【００９３】
次に、非接触式ＩＣカードリーダライタ２０から、カード挿入検知コマンドの応答を受信したか否かが判断され（ステップＳ１６７）、これを受信していなければ（ステップＳ１６７：ＮＯ）、処理はステップＳ１６２に戻される。一方で、これを受信していれば（ステップＳ１６７：ＹＥＳ）、カード追跡部１４は、カード挿入検知をアプリケーション１１へと通知する（ステップＳ１６８）。
【００９４】
図１５において、カード取り去り検知が開始されると、カード追跡部１４は、カード状態を確認し（ステップＳ１７１）、カード活性化中か否か（ステップＳ１７２）、カード活性化中であれば（ステップＳ１７２：ＹＥＳ）、非接触式ＩＣカード３０と通信中か否か（ステップＳ１７４）、通信中であれば（ステップＳ１７４：ＹＥＳ）、非接触式ＩＣカードと通信でエラーが生じたか否か（ステップＳ１７６）が順次判断される。
【００９５】
カード活性化中でない場合には（ステップＳ１７２：ＮＯ）、カード非活性化時取り去り検知動作が行われ（ステップＳ１７３）、非接触式ＩＣカード３０と通信中でない場合には（ステップＳ１７４：ＮＯ）、カード活性化時取り去り検知動作が行われ（ステップＳ１７５）、非接触式ＩＣカード３０と通信でエラーが生じていない場合には（ステップＳ１７６：ＮＯ）、カード通信時取り去り検知動作が行われる（ステップＳ１７７）。その後、カード取り去りを検知したか否かが判断され（ステップＳ１７８）、カード取り去りを検知していなければ（ステップＳ１７８：ＮＯ）、カード取り去り検知動作を要求処理部１３の指示により一時停止し（ステップＳ１７９）、要求処理部１３の動作が終了したら一時停止が解除される（ステップＳ１８０）。その後、処理はステップＳ１７１に戻される。
【００９６】
一方で、ステップＳ１７８において、カード取り去りを検知していれば（ステップＳ１７８：ＹＥＳ）、カード取り去り検知をアプリケーション１１へと通知し（ステップＳ１８１）、カード挿入検知からカード取り去り検知までの時間を特定して記憶し（ステップＳ１８２）、次回の取り去り検知で使用するＩＣカード挿入時間を算出して記憶した後（ステップＳ１８３）、カード取り去り検知が終了する。なお、これらステップＳ１８１〜ステップＳ１８３の処理は、通信でエラーが生じていた場合（ステップＳ１７６：ＹＥＳ）にも行われる。
【００９７】
図１６において、カード非活性化時において取り去り検知動作が始まると、カード追跡部１４は、カードとの通信が終了しているか否かを判断する（ステップＳ１９１）。通信が終了していれば（ステップＳ１９１：ＹＥＳ）、挿入検知されてからの時間を特定し（ステップＳ１９２）、ＩＣカード挿入時間内であるか否かを判断する（ステップＳ１９３）。ＩＣカード挿入時間内である場合には（ステップＳ１９３：ＹＥＳ）、カード確認コマンド間隔に非活性化時取り去り確認インターバル２を設定する（ステップＳ１９５）。
【００９８】
一方で、カードとの通信が終了していない（ステップＳ１９１：ＮＯ）、ＩＣカード挿入時間内でない（ステップＳ１９３：ＮＯ）場合には、カード確認コマンド間隔に非活性化時取り去り確認インターバルを設定する（ステップＳ１９４）。
【００９９】
次に、前回カード確認コマンドを実行してからの経過時間を特定し（ステップＳ１９６）、設定したインターバルだけ時間が経過したか否かが判断される（ステップＳ１９７）。この時間が経過している場合には（ステップＳ１９７：ＹＥＳ）、確認コマンドを実行し（ステップＳ１９９）、確認コマンド実行時刻を記憶する（ステップＳ２００）。その後、カード無しか否かが判断され（ステップＳ２０１）、カード無しであれば（ステップＳ２０１：ＹＥＳ）、取り去り検知による終了となり、カード無しでなければ（ステップＳ２０１：ＮＯ）、要求処理部１３から一時停止指示があるか否かが判断される（ステップＳ２０２）。
【０１００】
要求処理部１３から一時停止指示がなければ（ステップＳ２０２：ＮＯ）、処理はステップＳ１９１に戻される一方で、一時停止指示があれば（ステップＳ２０２：ＹＥＳ）、一時停止による終了となる。
【０１０１】
また、ステップＳ１９７において、設定したインターバルだけ時間が経過していない場合には（ステップＳ１９７：ＮＯ）、要求処理部１３から一時停止指示があったか否かが判断され（ステップＳ１９８）、一時停止指示がなければ（ステップＳ１９８：ＮＯ）、処理はステップＳ１９６に戻され、一時停止指示があれば（ステップＳ１９８：ＹＥＳ）、一時停止による終了となる。
【０１０２】
図１７において、カード活性化時における取り去り検知動作が開始されると、まず、カード追跡部１４は、カード確認コマンド間隔に活性化時取り去り確認インターバルを設定する（ステップＳ２１１）。そして、前回カード確認コマンドを実行してからの経過時間を特定する（ステップＳ２１２）。
【０１０３】
次に、設定したインターバルだけ時間が経過したか否かが判断され（ステップＳ２１３）、時間が経過していれば（ステップＳ２１３：ＹＥＳ）、確認コマンドが実行され（ステップＳ２１４）、確認コマンド実行時刻が記憶される（ステップＳ２１５）。そして、カード無しか否かが判断され（ステップＳ２１６）、カード無しである場合には（ステップＳ２１６：ＹＥＳ）、取り去り検知による終了となる。
【０１０４】
一方で、カード無しでない場合には（ステップＳ２１６：ＮＯ）、要求処理部１３から一時停止指示があるか否かが判断され（ステップＳ２１７）、一時停止指示がなければ（ステップＳ２１７：ＮＯ）、処理はステップＳ２１１に戻される。また、一時停止指示があれば（ステップＳ２１７：ＹＥＳ）、一時停止による終了となる。
【０１０５】
ステップＳ２１３において、設定したインターバルだけ時間が経過していなければ（ステップＳ２１３：ＮＯ）、要求処理部１３から一時停止指示があるか否かが判断される（ステップＳ２１８）。一時停止指示がなければ（ステップＳ２１８：ＮＯ）、処理はステップＳ２１２に戻されるとともに、一時停止指示があれば（ステップＳ２１８：ＹＥＳ）、確認コマンドが実行される（ステップＳ２１９）。
【０１０６】
そして、カード追跡部１４は、確認コマンド実行時刻を記憶させ（ステップＳ２２０）、カード無しか否かが判断される（ステップＳ２２１）。カード無しである場合には（ステップＳ２２１：ＹＥＳ）、取り去り検知による終了となる一方で、カード無しでない場合には（ステップＳ２２１：ＮＯ）、一時停止による終了となる。
【０１０７】
図１８において、カード通信時における取り去り検知動作が開始されると、まず、カード追跡部１４は、カード確認コマンド間隔に通信時取り去り確認インターバルを設定する（ステップＳ２３１）。次に、前回カードと通信を行ってからの経過時間を特定した後（ステップＳ２３２）、設定したインターバルだけ時間経過があったか否かが判断される（ステップＳ２３３）。時間経過したと判定した場合には（ステップＳ２３４）、確認コマンドを実行し（ステップＳ２３４）、確認コマンド実行時刻を記憶させる（ステップＳ２３５）。そして、カード無しか否かを判断する（ステップＳ２３６）。カード無しである場合には（ステップＳ２３６：ＹＥＳ）、取り去り検知による終了となる。
【０１０８】
一方で、カード無しでない場合には（ステップＳ２３６：ＮＯ）、要求処理部１３から一時停止指示があるか否かが判断され（ステップＳ２３７）、一時停止指示がない場合には（ステップＳ２３７：ＮＯ）、カード活性化時取り去り検知動作が行われる（ステップＳ２３８）。
【０１０９】
ステップＳ２３３の処理において、設定したインターバルだけ時間経過がない場合には（ステップＳ２３３：ＮＯ）、要求処理部１３から一時停止指示があるか否かが判断される（ステップＳ２３９）。
【０１１０】
ここで、ステップＳ２３７又はステップＳ２３９において、要求処理部１３から一時停止指示があった場合には（ステップＳ２３７：ＹＥＳ、ステップＳ２３９：ＹＥＳ）、処理はステップＳ２４０に移される。
【０１１１】
ステップＳ２４０では、カード通信のための一時停止が行われるか否か判断する。一時停止が行われない場合には（ステップＳ２４０：ＮＯ）、一時停止による終了となり、一時停止が行われる場合には（ステップＳ２４０：ＹＥＳ）、カードとの通信時間を記憶させた後（ステップＳ２４１）、一時停止による終了となる。
【０１１２】
［実施形態の効果］
本実施形態に係る非接触式ＩＣ記録媒体処理システム及び非接触式ＩＣ記録媒体処理方法によれば、取り去り検知動作を上位装置１０で行うことによって、非接触式ＩＣカードリーダライタ２０にその機能を実装する必要がなくなり、ひいては非接触式ＩＣカードリーダライタ２０の開発のためのコストを抑えることができる。
【０１１３】
また、実際に非接触式ＩＣカード３０を利用するアプリケーション１１が取り去り検知を行うのではなく、その下層に配置されたドライバ１２で行うことによって、アプリケーション１１は、非接触式ＩＣカード３０との通信に専念することができる。また、ドライバ１２では、アプリケーション１１の動作によって細かく取り去り検知動作を制御することができる。
【０１１４】
さらに、取り去り検知動作を全ての時間帯において一定間隔で行うのではなく、アプリケーション１１の動作及び通信内容によって取り去り検知動作を柔軟に行うことで、アプリケーション１１と非接触式ＩＣカード３０の通信への影響やシステム全体への負荷をかけることなく、一定間隔で行う場合と同程度の正確さで、取り去り検知を行うことができる。
【０１１５】
［変形例］
なお、図１０に示す取り去り検知では、各インターバルを固定値としているが、システムの稼動状況などに応じて可変としても構わない。また非接触式ＩＣカード３０が取り去られる可能性の高い時間帯の算出方法として、平均値の他に、その時間のバラツキなどを考慮して、非活性化時取り去り確認インターバル２にて確認動作を行う時間帯を短くすることが可能である。また、その時間帯すべてにおいて非活性化時取り去り確認インターバル２で確認動作を行うのではなく、取り去られるまでの時間の分布を考慮して、一番取り去られる可能性の高い時間付近で、非活性化時取締り確認インターバル２を使用して、その周辺では徐々にインターバルを非活性化時取り去り確認インターバルまで長くしていく方法も考えられる。
【産業上の利用可能性】
【０１１６】
本発明に係る非接触式ＩＣ記録媒体処理システム及び非接触式ＩＣ記録媒体処理方法は、システム開発のコスト削減を図ることが可能なものとして有用である。
【図面の簡単な説明】
【０１１７】
【図１】本実施形態に係る非接触式ＩＣ記録媒体処理システムの概要を示す概念図である。
【図２】上位装置のうちドライバの構成を示すブロック図である。
【図３】非接触式ＩＣカード追跡部によって行われる追跡処理の手順概要を示すシーケンス図である。
【図４】非接触式ＩＣカードとの通信概要を説明するためのシーケンス図である。
【図５】アプリケーションによる取り去り検知要求から活性化要求までの間における取り去り検知動作を説明するためのシーケンス図である。
【図６】アプリケーションによる取り去り検知要求から活性化要求までの間における取り去り検知動作を説明するためのシーケンス図である。
【図７】活性化終了後から非接触式ＩＣカードとの通信要求までの間における取り去り検知動作を説明するためのシーケンス図である。
【図８】活性化終了後から非接触式ＩＣカードとの通信要求までの間における取り去り検知動作を説明するためのシーケンス図である。
【図９】アプリケーションによる非接触式ＩＣカードとの通信要求時における取り去り検知動作を説明するためのシーケンス図である。
【図１０】非活性化終了後における取り去り検知動作を説明するためのシーケンス図である。
【図１１】本実施形態に係る非接触式ＩＣ記録媒体処理システムの電気的構成を示すブロック図である。
【図１２】要求処理部の処理フローを示すフローチャートである。
【図１３】カード追跡部の処理フローを示すフローチャートである。
【図１４】カード挿入検知の処理フローを示すフローチャートである。
【図１５】カード取り去り検知の処理フローを示すフローチャートである。
【図１６】カード非活性化時におけるカード取り去り検知の処理フローを示すフローチャートである。
【図１７】カード活性化時におけるカード取り去り検知の処理フローを示すフローチャートである。
【図１８】カード通信時におけるカード取り去り検知の処理フローを示すフローチャートである。
【符号の説明】
【０１１８】
１０  上位装置
１１  アプリケーション
１２  ドライバ
１３  要求処理部
１４  カード追跡管理部
１５  非接触式ＩＣカード状態記憶部
１６  時刻記憶部
２０  非接触式ＩＣカードリーダライタ
３０  非接触式ＩＣカード
【図１】
2008276582.tif 000003
【図２】
2008276582.tif 000004
【図３】
2008276582.tif 000005
【図４】
2008276582.tif 000006
【図５】
2008276582.tif 000007
【図６】
2008276582.tif 000008
【図７】
2008276582.tif 000009
【図８】
2008276582.tif 000010
【図９】
2008276582.tif 000011
【図１０】
2008276582.tif 000012
【図１１】
2008276582.tif 000013
【図１２】
2008276582.tif 000014
【図１３】
2008276582.tif 000015
【図１４】
2008276582.tif 000016
【図１５】
2008276582.tif 000017
【図１６】
2008276582.tif 000018
【図１７】
2008276582.tif 000019
【図１８】
2008276582.tif 000020