(57)【要約】 【課題】  リーダライタからのレスポンス受信待ちによる制御アプリケーションの待機時間を短縮しシステム全体の効率を向上させる非接触ＩＣのタグリーダライタ制御方式を提供する。【解決手段】  ホストコンピュータとリーダライタ間の通信制御を行う通信プログラムとしてリーダライタ２１〜２３からのレスポンス受信用スレッド４２と受信したレスポンスデータ５９を保持するデータ領域４３を持ち、リーダライタからのレスポンス受信処理を前記レスポンス受信用スレッド４２で処理し、レスポンスデータを前記データ領域４３に保持し、後から取り出すことを可能とする。【選択図】  図２
2007066006.tif 000002
【特許請求の範囲】
【請求項１】
所定の場所に付された複数の非接触ＩＣタグと、その非接触ＩＣタグの情報を読み取り、またはその非接触ＩＣタグに情報を書き込むための複数のリーダライタと、そのリーダライタに所定の処理を指令し、また、そのリーダライタから発信される上記処理結果の情報を受信するホストコンピュータとからなる非接触ＩＣタグのリーダライタ制御方式において、上記ホストコンピュータと上記リーダライタとの間の通信制御を行う通信プログラムとして上記リーダライタからの処理結果の情報を受信するレスポンス受信用スレッドを実装し、上記リーダライタからの情報の受信をそのレスポンス受信用スレッドで行うことを特徴とする非接触ＩＣタグのリーダライタ制御方式。
【請求項２】
上記通信プログラムとして、上記レスポンス受信用スレッドにて受信した上記リーダライタからの処理結果の情報を保持するためのレスポンデータ保持用のデータ領域を実装したことを特徴とする請求項１記載の非接触ＩＣタグのリーダライタ制御方式。
【請求項３】
上記通信プログラムとして、上記ホストコンピュータに組み込まれたアプリケーションプログラムからのコマンドを上記リーダライタに送信するための送信用コマンドと、上記レスポンスデータ保持用のデータ領域に保持された上記リーダライタからの処理結果の情報を取り出すための受信用コマンドを実装したことを特徴とする請求項２記載の非接触ＩＣタグのリーダライタ制御方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非接触ICタグによる管理システムに関し、特にそのリーダライタ制御方式に関する。
【背景技術】
【０００２】
現在、識別情報を保持したＩＣタグに磁界や電磁波を利用してその識別情報の読み出し、書き込みを行う非接触ＩＣタグによる管理システムが注目されている。入退室管理システム、物流管理システム、食堂などの料金清算システム、商品等無断持ち出し防止システムなど、多数のシステムで利用されている。
【０００３】
非接触ＩＣタグはデータの保持、処理を行うＩＣ部と、データの送受信を行うためのアンテナ部からなる。通常、前記非接触ＩＣタグはホストコンピュータからのコマンドによりリーダライタから発せられるコマンドに従いＩＣ部のメモリへのデータの書き込み、メモリからのデータの読み出しが行われる。
【０００４】
図５は、ホストコンピュータ１１とリーダライタ１２間の制御方式を示す概念図である。リーダライタ１２はホストコンピュータ１１から特定のコマンド１３を受け取り非接触ＩＣタグに対する定められた処理を実行する。前記コマンド１３は特定のバイト列であったり、文字列であったりする。リーダライタ１２は処理が終了した後、ホストコンピュータ１１に処理が終了した旨の情報をレスポンス１４として送信する。
【０００５】
【特許文献１】特開２００２−６００２２号公報
【特許文献２】特開平０７−３３６２６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の特許文献に示されているシステムのように、非接触ＩＣタグを利用したシステムでは、１台のホストコンピュータに複数のリーダライタが接続される場合がある。図６は、このような従来のシステムの制御方式の概念図を示し、ホストコンピュータ１１は図５と同様に各々の接続されたリーダライタ２１，２２，２３に順次コマンドを送信し、またこれらのリーダライタからのレスポンスを順次受け取り制御する。
【０００７】
図７は、前述の図６の従来のシステムでのリーダライタの処理の時間的流れを示す通信制御の概念図である。ホストコンピュータ１１は、先ずリーダライタ２１にコマンド３１を送信する。コマンド３１送信後、ホストコンピュータ１１はリーダライタ２１の接続されたポートを監視しリーダライタ２１からのレスポンス３５を待つ。コマンド３１を受信したリーダライタ２１は処理を実行し、処理結果をレスポンス３５としてホストコンピュータ１１に送信する。ホストコンピュータ１１はリーダライタ２１からのレスポンス３５が確認されるとそのレスポンスデータを取り込む処理を行う。
【０００８】
次に、ホストコンピュータ１１は、同様にリーダライタ２２にコマンド３２を送信し、リーダライタ２２の接続されたポートを監視しリーダライタ２２からのレスポンス３６を待つ。コマンド３２を受信したリーダライタ２２は処理を実行し、処理結果をレスポンス３６としてホストコンピュータ１１に送信する。ホストコンピュータ１１は、リーダライタ２２からのレスポンス３６が確認されると、そのレスポンスデータを取り込む処理を行う。リーダライタ２３に対しても同様にコマンド３３を送信しレスポンス３７を待つ。以上のフローによりホストコンピュータは各リーダライタを制御する。
【０００９】
上述のように、ホストコンピュータ１１はコマンド３１を送信した後はリーダライタ２１からのレスポンス３５が返ってくるまでの間、リーダライタ２１の接続されたポートの監視を行う。そこで、リーダライタ２１が大量データの書き込みなどにより処理時間の長いコマンドを実行すると、その間ホストコンピュータ１１は処理を進められない。他のリーダライタに対しても同様に、レスポンスの待機時間は処理を進められないためシステム全体の遅延となる。また、順次各リーダライタを制御するため効率が上がらないことも問題となる。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明では、上記ホストコンピュータと上記リーダライタとの間の通信制御を行う通信プログラムとして上記リーダライタからの処理結果の情報を受信するレスポンス受信用スレッドを実装し、上記リーダライタからの情報の受信をそのレスポンス受信用スレッドで行う。
【００１１】
また、上記通信プログラムとして、上記レスポンス受信用スレッドにて受信した上記リーダライタからの処理結果の情報を保持するためのレスポンデータ保持用のデータ領域を実装することもできる。
【００１２】
さらに上記通信プログラムとして、上記ホストコンピュータに組み込まれたアプリケーションプログラムからのコマンドを上記リーダライタに送信するための送信用コマンドと、上記レスポンスデータ保持用のデータ領域に保持された上記リーダライタからの処理結果の情報を取り出すための受信用コマンドを実装することも可能である。
【発明の効果】
【００１３】
本発明は、内部にリーダライタからのレスポンス受信用スレッドを設けてレスポンス受信処理を前記レスポンス受信用スレッドで処理することによりホストコンピュータのポート監視による待機時間を低減し、さらに受信したレスポンスデータを保持するデータ領域を持つことにより、レスポンスデータを前記データ領域に保持し、後から取り出すことを可能とすることによりシステム全体の効率を向上させることができる。
【００１４】
即ち、本発明の非接触ＩＣタグのリーダライタ制御方式は、リーダライタの処理終了を待つことなく上位アプリケーションの処理を進めることが可能となり、また複数のリーダライタを制御する際にもそれらのリーダライタの処理を並列に行うことが可能となり非接触ＩＣタグを利用したシステム全体の効率を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明における非接触ＩＣのタグリーダライタ制御方式の概念図を図１に示す。ホストコンピュータ４１は、そのホストコンピュータとそれに接続されたリーダライタ２１、２２、２３との間の通信制御を行う通信プログラムとして、上記リーダライタからのレスポンスおよび処理結果の情報、即ちレスポンスデータを受信するためのレスポンス受信用スレッド４２、上記レスポンスデータを保持するデータ領域４３、上記リーダライタにコマンドを送信するための送信コマンド４４、および前記データ領域に保持していたリーダライタからのレスポンスデータを取り出すための受信コマンド４５を実装する。
【００１６】
また、ホストコンピュータ４１に接続されたリーダライタ２１、２２、２３には、送信コマンド４４によりコマンドが送信され、上記各々のリーダライタからのレスポンスはレスポンス受信用スレッド４２で受信される。
【００１７】
図２は、前述の図１の本発明における非接触ＩＣのタグリーダライタ制御方式でのリーダライタの処理の時間的流れを示す通信制御の概念図である。ホストコンピュータ４１は送信コマンドを呼び出して実行しリーダライタ２１へコマンド５１を送信する。その後、レスポンス受信用スレッド４２にコマンド５１を送信したリーダライタ２１の接続されたポートを通知する。レスポンス受信用スレッド４２は、通知されたポートをポーリングしリーダライタ２１からのレスポンス５５が返ってきているかを監視する。
【００１８】
通知されたポートはリストとして保持し、リスト内のポートを順次ポーリングする。ポートにリーダライタ２１からのレスポンス５５が返ってきたら、レスポンスデータ５９を取り出し前記データ領域に格納し、リストからレスポンスデータ５９を受信したポートを削除する。ホストコンピュータは送信コマンド実行後自身の処理を継続する。
【００１９】
リーダライタ２１からのレスポンスデータ５９が必要になった時点で前記受信コマンドを呼び出して実行し、データ領域に保持していたレスポンスデータ５９を取得する。受信コマンドを実行した時点で、まだリーダライタ２１からのレスポンス５５がない場合は、受信コマンドはレスポンス受信待ちであることを通知するよう設定されている。
【００２０】
以上のように、本発明が提供する非接触ＩＣタグリーダライタ制御方式を用いることにより、リーダライタの処理時間中もホストコンピュータ４１は処理を進めることや別のリーダライタにコマンドを送信することが可能となり、システムの全体の効率が向上する。
【実施例】
【００２１】
図３は、本発明による非接触ＩＣタグリーダライタ制御方式の実施例である在庫管理システムの概略図である。この在庫管理システムは、在庫管理アプリケーション６２と本発明による非接触ＩＣタグのリーダライタ制御方式を可能とする通信プログラムを実装したＡＰＩ（Application  Program  Interface）６３を組み込んだホストコンピュータと商品在庫を納めるＮ個（２≦Ｎ≦１０００）の棚６５とこれらの棚の各々に取り付けられたＮ個のリーダライタ６４から構成さる。ＡＰＩとは、上位アプリケーションのプログラムを容易に作成するためにリーダライタの制御機能を実装したライブラリである。
【００２２】
各棚に取り付けられたリーダライタは、それぞれホストコンピュータに接続される。棚６５に収められる商品には、各商品固有の商品コードが書き込まれた非接触ＩＣタグを添付する。リーダライタ６４はそれぞれの棚に収められている全ての商品に添付されている非接触ＩＣタグが保持する商品コードを一括して読み取る機能を備える。
【００２３】
図４は、本発明の実施例である在庫管理システムのリーダライタ制御方式でのリーダライタの処理の時間的流れを示す通信制御の概念図である。在庫管理アプリケーション６２は、在庫を確認する際、まずリーダライタ６４の１番目のリーダライタ６４ａに商品コードを読み取るコマンド７７を送信する送信コマンドをＡＰＩ６３から呼び出し実行する。ＡＰＩ６３は、リーダライタ６４ａに商品コードを読み取るコマンド７７を送信し、リーダライタ６４ａが接続されたポートをレスポンス受信用スレッド７３に通知した後、処理を在庫管理アプリケーション６２に戻す。
【００２４】
ＡＰＩ６３から処理が戻ってきた在庫アプリケーション６２は、続いてリーダライタ６４ｂに同様な商品コードを読み取るコマンド７７を送信する送信コマンドをＡＰＩ６２から呼び出し実行する。ＡＰＩ６３は、リーダライタ６４ｂに商品コードを読み取るコマンド７７を送信し、リーダライタ６４ｂが接続されたポートをレスポンス受信用スレッド７３に通知した後、処理を在庫管理アプリケーション６２に戻す。同様な処理を繰り返して在庫管理アプリケーション６２は、Ｎ番目のリーダライタまでコマンド７７を送信する。
【００２５】
レスポンス受信用スレッド７３は、ポートが通知される毎に通知されたポートをリストに格納していき、リストに格納されたポートを順次ポーリングしてリーダライタ６４のそれぞれのリーダライタからのレスポンス７８の有無の確認を行う。それらのレスポンス７８が有ることを確認したら、その確認したリーダライタの各々のレスポンスデータを取り込み各ポートに対応したデータ領域に格納する。レスポンスを受信したポートは、リストから削除する。
【００２６】
一方、ホストコンピュータ６１からのそれぞれのコマンド７７を受信したリーダライタ６４の各々は、それぞれの棚に収められた商品に添付された非接触ＩＣタグに記録された商品コードの読み取りを開始する。それぞれの棚に収められた商品の商品コードを全て読み取ると、それぞれのリーダライタはホストコンピュータ６１に読み取った商品コードをレスポンス７８として返信する。
【００２７】
在庫管理アプリケーション６２は、接続された全てのリーダライタ６４にコマンド７７を送信した後、ＡＰＩ６３から受信コマンドを呼び出しレスポンスデータの取得を試みる。コマンド７７を送信した時と同様に、レスポンスデータの取得はリーダライタ６４ａから順次行われる。リーダライタ６４ａからのレスポンス７８を受信しレスポンスデータ７９がＡＰＩ６３に保持されていれば、レスポンスデータ７９をＡＰＩ６３から受け取る。
【００２８】
レスポンスデータ７９を受信した場合、リーダライタ６４ａにレスポンス受信終了を示すレスポンス受信フラグを立て、次のリーダライタ６４ｂのレスポンスデータ７９取得を試みる。ここで、まだＡＰＩ６３がリーダライタ６４ａのレスポンス７８を取得していなければレスポンス７８を受信していないことを通知されるので、先に次のリーダライタ６４ｂのレスポンスデータ７９取得を試みる。
【００２９】
このようにリーダライタ６４ａから順次レスポンスデータ７９の取得を試み、Ｎ番目のリーダライタまで試行を終了したらレスポンス受信フラグの確認を行う。ここで、レスポンス受信フラグが立っていないリーダライタがあれば、そのリーダライタに対し再度レスポンスデータ７９取得を試みる。これを繰り返しＮ個の全てのリーダライタにレスポンス受信フラグが立った時点でレスポンスデータ７９の取得を終了し取得した商品コードをディスプレイに表示し在庫状況を通知する。
【００３０】
上述のように、本実施例では、従来のようにリーダライタの処理が終了するのを待つことなく順次リーダライタにコマンドを送信することが可能となるため多数のリーダライタを制御する際に、それらのリーダライタの処理を並列に行うことができシステム全体としての効率が向上する。
【図面の簡単な説明】
【００３１】
【図１】本発明における非接触ＩＣのタグリーダライタ制御方式の概念図。
【図２】本発明におけるリーダライタの処理の時間的流れを示す通信制御の概念図。
【図３】本発明による非接触ＩＣタグリーダライタ制御方式の実施例である在庫管理システムの概略図。
【図４】本発明の実施例である在庫管理システムのリーダライタ制御方式でのリーダライタの処理の時間的流れを示す通信制御の概念図。
【図５】ホストコンピュータとリーダライタ間の制御方式を示す概念図。
【図６】従来の非接触ＩＣのタグリーダライタの制御方式を示す概念図。
【図７】従来のリーダライタの処理の時間的流れを示す通信制御の概念図。
【符号の説明】
【００３２】
１１，４１，６１    ホストコンピュータ
１２，２１，２２，２３，６４，６４ａ，６４ｂ，６４ｎ    リーダライタ
１３，３１，３２，３３，５１，５２，５３，７７    コマンド
１４，３５，３６，３７，５５，５６，５７，７８    レスポンス
４２，７３    レスポンス受信用スレッド
４３    データ領域
４４    送信コマンド
４５    受信コマンド
５９，７９    レスポンスデータ
６２    在庫管理アプリケーション
６３    ＡＰＩ
６５    棚
【図１】
2007066006.tif 000003
【図２】
2007066006.tif 000004
【図３】
2007066006.tif 000005
【図４】
2007066006.tif 000006
【図５】
2007066006.tif 000007
【図６】
2007066006.tif 000008
【図７】
2007066006.tif 000009