[第1の実施の形態]
図1は、本発明の第1の実施の形態に関わるシステムの全体構成を例示した図である。
本実施の形態のシステムは、物品棚101と、この物品棚101の所定位置に設置された装置管理用RFIDタグ102(102a,102b,102c,102d,102e,102f)と、物品管理用RFIDタグ103と、RFID読取装置110(110a,110b,110c,110d)と、ネットワーク130と、運用管理装置140とを含んで構成される。
物品棚101には、物品管理用RFIDタグ103が付された物品が陳列される。また、この物品棚101には、装置管理用RFIDタグ102と、RFID読取装置110とが設置される。
物品管理用RFIDタグ103は、RFID読取装置110により読取られ、運用管理装置140における物品管理に用いられる。この物品管理用RFIDタグ103が付される物品の種別や数は、特に規定しない。なお、この装置管理用RFIDタグ102は、詳しくは後述するが、読取指示の同期制御を行うRFID読取装置110のグループを決定するために用いられる。この装置管理用RFIDタグ102a〜102fは、図1に示すように、例えば、所定間隔で配置される。例えば、RFID読取装置110がRFIDタグの読取に用いる周波数が13.56MHzの場合、この装置管理用RFIDタグ102の間隔は、例えば数センチ〜数十センチ程度とする。このような間隔とすることで、干渉を起こす可能性のあるRFID読取装置110の検出精度を保ちつつ、装置管理用RFIDタグ102を必要以上に多く用いることがなくなる。
RFID読取装置110は、装置管理用RFIDタグ102および物品管理用RFIDタグ103を読み取る。このRFID読取装置110は、この読み取った情報をネットワーク130経由で運用管理装置140へ送信する。このようなRFID読取装置110は、無線インタフェース120と、通信インタフェース121とを備える。
無線インタフェース120は、装置管理用RFIDタグ102および物品管理用RFIDタグ103に記憶されている個体識別情報を無線で取得するために用いられる。具体的には、RFID読取装置110が無線インタフェース120を通じて電磁波である読取命令を出力し、それに反応したRFIDタグからデータを含んだ応答波を受信することにより取得する。
通信インタフェース121は、RFID読取装置110が、運用管理装置140とネットワーク130を介して通信を行うために用いられる。RFID読取装置110は、運用管理装置140から通信インタフェース121を通じて読取指示を受信したのを契機にRFIDタグ(装置管理用RFIDタグ102および物品管理用RFIDタグ103)に対して読取命令を出力し、このRFIDタグに記憶されたデータ(個体識別情報)を受信する。このRFID読取装置110は、装置管理用RFIDタグ102から受信したデータは装置管理用タグデータ132として、物品管理用RFIDタグ103から受信したデータは物品管理用タグデータ133として運用管理装置140へ返信する。
運用管理装置140は、各RFID読取装置110によるRFIDタグのデータ読取りタイミングを決定し、このRFID読取装置110で読取ったRFIDタグのデータを受信する。このRFID読取装置110は、プロセッサ141と、記憶部142と、無線タグ読取装置インタフェース143とを備える。なお、この運用管理装置140には、キーボードやマウス等の入力装置や、液晶モニタ等の出力装置が接続されていてもよい。
プロセッサ141は、例えば、CPU(Central Processing Unit)で構成され、記憶部142上に読み込まれたプログラム150を実行する。
記憶部142は、例えば、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶媒体で構成され、この運用管理装置140の機能を実現するための様々なデータを記憶する。この記憶部142は、プログラム150と、装置管理情報161と、取得タグデータ管理情報162と、グループ管理情報163とを備える。これらの詳細は後記する。
無線タグ読取装置インタフェース143は、RFID読取装置110とネットワーク130を介して通信を行うために利用され、例えば、イーサネット(登録商標)インタフェースで実現される。
次に、記憶部142のプログラム150を説明する。このプログラム150は、RFID読取指示送信部151と、グループ決定部152と、読取タイミング決定部153と、取得タグデータ監視部154と、入力受付部155とを有する。これらの構成要素は、それぞれ、RFID読取実行プログラム、グループ決定プログラム、読取タイミング決定プログラム、装置監視プログラム、取得タグデータ監視プログラム、入力受付プログラムとしてソフトウェアで実装し、これらプログラムを記憶部142に格納しておく。そして、プロセッサ141は、これらのプログラムを実行することで、各処理部の機能を実現する。なお、これらの構成要素は、ソフトウェアではなく、それぞれ独立したハードウェアで実現してもよい。
続いて、プログラム150の各構成要素について説明する。
RFID読取指示送信部151は、後述する読取タイミング決定部153により決定されたRFID読取装置110の読取タイミング(装置管理情報161に記載)に基づいて、各RFID読取装置110へ読取指示を繰り返す。また、読み取られたRFIDタグの情報は、取得タグデータ管理情報162に記録する。
例えば、RFID読取指示送信部151は、所定期間ごとに、RFID読取装置110から単数または複数の装置管理用タグデータ132と、同じく単数または複数の物品管理用タグデータ133を受信する読取指示送信処理を行う。
なお、読取タイミングとは、RFID読取指示送信部151がRFID読取装置110に対して読取指示を送信する時間的な契機である。本実施の形態では、この読取タイミングを基準時刻と周期を用いて表す。また、この周期とは、RFID読取装置110に対する読取指示送信の時間的な間隔である。例えば、RFID装置110aへの周期が200msの場合、このRFID装置110aに対して200ms毎に読取指示を送信することを意味する。基準時刻とは、RFID読取指示送信部151によって実行される読取指示送信処理の開始時刻を「0」としたとき、最初に各RFID読取装置110に対して読取指示を送信する時刻である。
例えば、RFID読取装置110aの周期が200ms、基準時刻が0ms、RFID読取装置110bの周期が200ms、基準時刻が100msの場合、RFID読取指示送信部151は、RFID読取装置110aに対しては0、200ms、400ms・・・のタイミングで読取指示を送信する。また、RFID読取指示送信部151は、RFID読取装置110bに対しては100ms、300ms、500ms・・・のタイミングで読取指示を送信する。
なお、本実施の形態ではこのように各RFID読取装置110に対する読取タイミングを1次関数で表す例を示すが、同一グループに所属する複数のRFID読取装置110間で干渉を起こさないように読取指示の同期制御を行うタイミングであれば、これに限定されない。
グループ決定部152は、干渉の可能性がある物理的に近い位置に配置された複数のRFID読取装置110をグルーピングする。例えば、図1に示すように、RFID読取装置110a,110bを「グループ1」にグルーピングし、RFID読取装置110c,110を「グループ2」にグルーピングする。ここでのグループとは、所属するRFID読取装置110に対して、この運用管理装置140が読取指示の同期制御を行う単位である。従って、異なるグループに所属するRFID読取装置110間では運用管理装置140は、読取指示の同期制御を行わず、任意のタイミングで読取指示を送信する。決定したグループは、グループ管理情報163に記録する。
読取タイミング決定部153は、グループ決定部152により決定されたグループに基づいて各RFID読取装置110に対する読取タイミングを決定する。
例えば、グループ決定部152が、RFID読取装置110a,110bをグループ1と決定した場合、読取タイミング決定部153は、同一グループに所属するRFID読取装置110の読取タイミングが重ならないように、タイミングを設定する。例えば、読取タイミング決定部153は、RFID読取装置110aとRFID読取装置110bが交互に読取命令を発行するようなタイミングを設定する。この読取指示を送信するタイミングは、例えば、RFID読取装置110aの周期を200ms、基準時刻を0ms、RFID読取装置110bの周期を200ms、基準時刻を100msと設定することで実現できる。同様に、グループ決定部152が、RFID読取装置110c,110dをグループ2(group2)と決定した場合、読取タイミング決定部153は、このRFID読取装置110c,110dに対し、交互に読取命令を発行させるようなタイミングを実現すべく、RFID読取装置110cの周期を200ms、基準時刻を0ms、RFID読取装置110dの周期を200ms、基準時刻を100msと設定する。このようにして設定した読取タイミングは、装置管理情報162に記録する。
取得タグデータ監視部154は、RFID読取指示送信部151による読取指示送信処理の実行中において、運用管理装置140が管理対象としているRFID読取装置110の状態変動の発生を監視する。この状態変動とは、例えば、RFID読取装置110の向きや位置がずれた状態を指す。このような状態変動が発生した場合、設定されている読取タイミングで読取指示を送信し続けると特定のRFID読取装置110間で干渉が発生する可能性がある。このため、取得タグデータ監視部154は、各RFID読取装置110に対する読取タイミングの再設定を行う処理を呼び出す。なお、このRFID読取装置110の状態変動の有無は、各RFID読取装置110で読み取ったRFIDタグの個体識別情報(取得タグデータ管理情報162に記録)の変化の有無に基づき判断される。
入力受付部155は、この運用管理装置140で用いる各種情報の入力を受け付ける。例えば、この入力受付部155は、各種情報の入力を受け付けるユーザインタフェース画面を出力装置(図示省略)へ出力する。そして、運用管理装置140が管理対象とするRFID読取装置110の情報の入力を受け付ける。ユーザは、システムの新規構築時、あるいはプログラム150の実行中にシステムの構成変更を行いたい場合、入力受付部155の画面を通じて管理対象とするRFID読取装置110の情報を入力することができる。
ここで、システムの構成変更とは、例えば、システムに、RFID読取装置110を追加、あるいは撤去することである。より具体的には、RFID読取装置110の追加とはRFID読取装置110を物品棚101へ新規に設置し、ネットワーク130へ通信可能な状態に接続し、運用管理装置140の管理対象とすることを指す。一方、RFID読取装置110の撤去とは既に物品棚101に設置されているRFID読取装置110をネットワーク130の接続から切断し、RFID読取装置110を撤去することにより運用管理装置140の管理対象から外すことである。
RFID読取装置110が追加された場合、このRFID読取装置110に設定されている読取タイミングで読取指示を送信し続けると、追加したRFID読取装置110と既存のRFID読取装置110との間で干渉が発生する可能性がある。このため、入力受付部155は各RFID読取装置110に対する読取タイミングの再設定を行う処理を呼び出す。
一方、RFID読取装置110が削除された場合、干渉が発生することはないので読取タイミングの更新処理は必要ない。しかし、同じグループに所属するRFID読取装置110の数に変動が生じると、このグループに所属する周期を縮小することができ、精度の高い読取が実現できる。このため、削除の場合であっても読取タイミングの更新を行うこととして説明を行うが、このようなRFID読取装置110の削除時の更新処理は任意であるものとする。
RFID読取装置110の情報の入力後、入力受付部155は後述する構成反映処理を呼び出す。
記憶部142にはプログラム150以外に、装置管理情報161、取得タグデータ管理情報162およびグループ管理情報163が格納されている。
装置管理情報161は、運用管理装置140が管理対象とするRFID読取装置110の情報を記録した情報である。
取得タグデータ管理情報162は、各RFID読取装置110が取得した装置管理用RFIDタグ102の個体識別情報を記録した情報である。
グループ管理情報163はグループ決定部152が決定した全てのグループと、各グループに所属するRFID読取装置110に関する情報を記録した情報である。各情報の使用方法やデータ構造等の詳細は、図6を参照して後述する。
次に、図2および図3を参照しながら、RFID読取装置110が行う処理について説明する。図2(a)は、図1の装置管理用RFIDタグ102を例示した図であり、(b)は、図1の物品管理用RFIDタグ103を例示した図である。ここでは、各RFIDタグは、Pholips社製I−CODEタグを用いる場合を例に説明する。また、図3(a)は、図1の装置管理用タグデータ132を例示した図であり、(b)は、物品管理用タグデータ133を例示した図である。この例では、各タグデータはテキストデータである場合を示している。なお、各タグデータは、システムエリア(システム領域、System Area)301と、ユーザエリア(User Area)302とを含んで構成される。
各RFID読取装置110は、運用管理装置140から読取指示を受信した契機に読取命令を出力し、この読取命令が到達可能な範囲にある装置管理用RFIDタグ102と物品管理用RFIDタグ103からデータを取得する。
図2(a)および(b)に示すように、各RFIDタグは、システム領域201とユーザ領域202とを含んで構成される。このシステム領域201の記憶容量は、例えば、16Byteであり、ユーザ領域202の記憶容量は、例えば、48Byteである。
このシステム領域201には、RFIDタグを一意に識別するための個体識別情報211が格納され、この値は読取専用である。一方、ユーザ領域202には任意値212が格納され、この値はユーザによって書き換えが可能である。任意値212には、例えば、このRFIDタグを付する商品の商品コード等が格納される。
RFID読取装置110が、読取命令を出力すると、この読取命令が到達可能な範囲に存在する装置管理用RFIDタグ102と物品管理用RFIDタグ103に記憶されている個体識別情報211と任意値212が取得される。
RFID読取装置110が、各装置管理用RFIDタグ102から取得した個体識別情報211および任意値212は、任意のデータ形式(例えば、テキスト形式やバイト形式、XML(Extensible Markup Language)形式等)に変換する。そして、RFID読取装置110は、このデータ形式を変換したデータを装置管理用タグデータ132(図3(a)参照)として、運用管理装置140へ送信する。
RFID読取装置110が、物品管理用RFIDタグ103から取得した個体識別情報211および任意値212も任意のデータ形式に変換する。そして、RFID読取装置110は、この変換したデータを物品管理用タグデータ133(図3(b)参照)として、運用管理装置140へ送信する。
なお、この装置管理用RFIDタグ102は、ユーザ領域202の一部(例えば、ユーザ領域202の先頭2Byte)に識別用フラグ220を設ける。そして、この識別用フラグ220の領域にすべての装置管理用RFIDタグ102において共通の値(例えば、「15」)を設定する。このようにすることで、運用管理装置140のRFID読取指示送信部151がタグデータを受信したとき、このタグデータが装置管理用タグデータ132であるか否かを判断できる。
RFID読取装置110は、取得したRFIDタグのシステム領域201の個体識別情報211(図2(a)および(b)参照)をタグデータ中の個体識別情報311に格納する(図3(a)および(b)参照)。また、RFID読取装置110は、ユーザ領域202の任意値212(図2(a)および(b)参照)を任意値312に格納する(図3(a)および(b)参照)。このとき、識別用フラグ220(図2(a)および(b)参照)は識別用フラグ320(図3(a)参照)に書き込まれることになるが、RFID読取装置110は、識別用フラグ220とそれ以外の任意値212を特に区別することなく書き込みを行う。
前記したように、本システムでは、装置管理用RFIDタグ102と物品管理用RFIDタグ103を区別するために装置管理用RFIDタグ102のユーザ領域202における特定の領域に装置管理用RFIDタグ102を表すための識別子を用いたが、装置管理用RFIDタグ102と物品管理用RFIDタグ103を区別する手段であれば他の方法であってもよい。
例えば、本システムにおいて、個体識別情報211の値が特定の数値(例えば、「1」)から始まるRFIDタグを装置管理用RFIDタグ102として用い、それ以外の数値から始まるRFIDタグを物品管理用RFIDタグ103として用いて、運用管理装置140は、その数値を判断することにより両者を区別するようにしてもよい。
なお、運用管理装置140が、本システムのシステムテスト等を行う場合、装置管理用RFIDタグ102と物品管理用RFIDタグ103とを区別する必要はない。このため、装置管理用RFIDタグ102の識別用フラグ220は不要であり、RFID読取指示送信部151は受信したタグデータを全て装置管理用タグデータ132であると認識する。
次に、図4〜図15を参照しながら運用管理装置140が行う処理について説明する。
図4(a)および(b)は、図1の装置管理情報を例示した図である。図4(a)および(b)に示すように、この装置管理情報161は、装置IDフィールド410と、アドレスフィールド420と、基準時刻フィールド421と、周期フィールド422とを含んで構成される。
この装置IDフィールド410にはRFID読取装置110を識別するための、システム内で一意なIDが格納される。また、アドレスフィールド420にはRFID読取指示送信部151が読取指示を送信するための通信先を示すアドレス(例えば、IPアドレス)が格納される。
図4(a)および(b)に示す装置管理情報161は、システム内に4台のRFID読取装置110が存在し、各装置IDは「rw1」、「rw2」、「rw3」および「rw4」であることを示す。また、各装置のアドレスは、「192.168.1.10」、「192.168.1.11」、「192.168.1.12」および「192.168.1.13」であることを示す。本実施の形態では、アドレスフィールド420の値としてIPアドレスを用いているが、この運用管理装置140が各RFID読取装置110を識別できる情報であれば他のものであってもよい。例えば、無線タグ読取装置インタフェース143としてSerial RSC232インタフェースを用いる場合、アドレスフィールド420としてSerial RSC232 Port番号を用いることも可能である。
この装置IDフィールド410とアドレスフィールド420には入力受付部155によって、ユーザの入力内容が格納される。
また、基準時刻フィールド421には、運用管理装置140がRFID読取装置110へ読取指示を送信する基準時刻が格納される。また、周期フィールド422には、この運用管理装置140がRFID読取装置110へ読取指示を送信する周期が格納される。
なお、詳しくは後述するが、基準時刻フィールド421の値と周期フィールド422の値は読取タイミング決定部153によって格納され、ユーザがシステムの新規構築時に入力受付部155から定義した直後は図4(b)のように空の値となる。図4(a)に示す装置管理情報161では、「rw1」を装置IDとして持つRFID読取装置110に対して読取指示を送信する基準時刻が「0」、周期が「200ms」であることを示す。また、「rw2」を装置IDとして持つRFID読取装置110に対して読取指示を送信する基準時刻が「100ms」、周期が「200ms」であることを示す。さらに、「rw3」を装置IDとして持つRFID読取装置110に対して読取指示を送信する基準時刻が「0」、周期が「200ms」であることを示す。また、「rw4」を装置IDとして持つRFID読取装置110に対して読取指示を送信する基準時刻が「100ms」、周期が「200ms」であることを表している。
図5(a)および(b)は、図1の取得タグデータ管理情報を例示した図である。図5(a)および(b)に示すように、取得タグデータ管理情報162は、装置IDフィールド510と、取得個体識別情報520とを含んで構成される。
この装置IDフィールド510には、RFID読取装置110が持つ装置IDが格納される。また、取得個体識別情報520には、各RFID読取装置110が取得した個体識別情報21が格納される。
図5(a)に示す取得タグデータ管理情報162は、「rw1」を装置IDとして持つRFID読取装置110が、「001」を個体識別情報として保持する装置管理用RFIDタグ102と、「002」を個体識別情報として保持する装置管理用RFIDタグ102を取得したことを示す。また、「rw2」を装置IDとして持つRFID読取装置110が、「002」を個体識別情報として保持する装置管理用RFIDタグ102を取得したことを示す。さらに、「rw3」を装置IDとして持つRFID読取装置110が、「003」を個体識別情報として保持する装置管理用RFIDタグ102と、「004」を個体識別情報として保持する装置管理用RFIDタグ102とを取得したことを示す。また、「rw4」を装置IDとして持つRFID読取装置110が、「003」を個体識別情報として保持する装置管理用RFIDタグ102と、「004」を個体識別情報として保持する装置管理用RFIDタグ102を取得したことを表している。図5(b)については後記する。
図6(a)および(b)は、図1のグループ管理情報を例示した図である。図6(a)および(b)に示すように、グループ管理情報163は、グループIDフィールド610と、所属リーダIDフィールド620とを備える。このグループIDフィールド610には、グループを識別するために、システム内で一意なIDが格納される。所属リーダIDフィールド620には、グループに所属するRFID読取装置110の装置IDが格納される。図6(a)の例では、システムには「group1」と「group2」とが存在することを示す。この「group1」には「rw1」を装置IDとして持つRFID読取装置110と「rw2」を装置IDとして持つRFID読取装置110が所属し、「group2」には「rw3」を装置IDとして持つRFID読取装置110と「rw4」を装置IDとして持つRFID読取装置110が所属していることを示す。図6(b)については後記する。
図7は、図1の入力受付部が出力する管理装置入力画面を例示した図である。システムの新規構築時、または構成変更時に、ユーザは管理装置入力画面700を通じて操作を行うことにより、運用管理装置140の管理対象とするRFID読取装置110を追加、または削除する指定を行う。
この管理装置入力画面700における装置ID710には運用管理装置140の管理対象とするRFID読取装置110を識別するためのIDが表示され、アドレス711にはRFID読取指示送信部151の通信先アドレスが表示される。
システムの新規構築時の場合、追加ボタン712がクリックされると、入力受付部155は、RFID読取装置110の装置ID710とアドレス711との入力を受け付ける。入力完了後、OKボタン714をクリックされると、装置ID710とアドレス711の入力内容が確定し、入力受付部155は後述する構成反映処理を呼び出す。この構成反映処理では、管理装置入力画面700の入力内容に基づいて各RFID読取装置110の読取タイミングが決定される。RFID読取指示送信部151は、この読取タイミングに基づき読取指示送信処理を実行する。この構成反映処理の具体的な流れは後述する。
例えば、システムにRFID読取装置110を追加する場合、ユーザはRFID読取装置110を物品棚101へ設置してネットワーク130へ通信可能な状態に接続した後、以下のような操作を行う。まず、管理装置入力画面700上の追加ボタン712をクリックする。クリックした結果、装置IDフィールド710とアドレスフィールド711へ新規にレコードが追加される。そして、当該フィールドへ追加RFID読取装置110の装置IDとアドレスを入力してOKボタン714をクリックする。この操作を追加装置台数の数行う。また、特定のRFID読取装置110を削除する場合、ユーザはRFID読取装置110をネットワーク130から切断して物品棚101から撤去した後、以下のような操作を行う。まず、管理装置入力画面700上のRFID読取装置110に対応する装置ID710のレコードを選択して削除ボタン713をクリックする。そして、OKボタン714をクリックする。OKボタン714のクリック後は新規構築時の場合と同様に、更新反映処理が実行される。
次に、運用管理装置140が行う処理の流れの詳細について説明する。
システムの新規構築時、即ち、プログラム150が記憶部142のRAM上へ読み込まれると、最初に、入力受付部155によって管理装置入力画面700が起動され、ユーザに管理対象とするRFID読取装置110の入力を促す。管理装置入力画面700上からこのRFID読取装置110の情報が入力され、OKボタン714がクリックされると、入力受付部155によって構成反映処理が呼び出される。
図14は、図1の運用管理装置の構成反映処理を示すフローチャートである。まず、運用管理装置140は、RFID読取指示送信部151において読取指示送信処理を実行中か否かのチェックを行う(S1401)。ここで実行中であれば(S1401のYes)、運用管理装置140は、RFID読取指示送信部151に対して停止指示を送信する(S1402)。なお、新規構築時では、読取指示送信処理はまだ実行されていないため、S1402は実行されない。S1402は後述する構成変更時において実行される。また、停止指示とはRFID読取指示送信部151により実行されている読取指示送信処理を中断するためのシグナルである。
次に、入力受付部155は管理装置入力画面700の内容を装置管理情報161へ反映する(S1403)。この装置管理情報161への反映とは、具体的には、管理装置入力画面700の装置ID710の値と、アドレス711の値を、それぞれ装置管理情報161の装置IDフィールド410、アドレスフィールド420へ更新する処理である。例えば、図7に示す内容をユーザが入力し、OKボタン714がクリックされると、装置管理情報161は図4(b)に示す内容となる。このような装置管理情報161へ反映後、運用管理装置140は、初期化処理を呼び出し(S1404)、読取指示送信処理を呼び出す(S1405)。
なお、初期化処理とは、システムに存在する全てのRFID読取装置110の読取タイミングを決定、あるいは再決定する処理であり、新規構築時、あるいは構成変更時に、ユーザが図7の管理装置入力画面700のOKボタン714がクリックされたタイミングで呼び出される。
図8は、図1の運用管理装置の初期化処理を示すフローチャートである。図8に示すように、初期化処理では新規読取指示送信処理(S801)、グループ決定処理(S802)、読取タイミング決定処理(S803)が順次呼び出される。
新規読取指示送信処理(S801)は、RFID読取指示送信部151が装置管理情報161に存在する全てのRFID読取装置110に対してそれぞれタイミングをずらして1回ずつ、例えば順番に読取指示を送信する処理である。
グループ決定処理(S802)は、グループ決定部152が干渉の可能性がある物理的に近い位置に配置された複数のRFID読取装置110同士をグルーピングする処理である。
読取タイミング決定処理(S803)は、グループ決定処理(S802)により決定された各グルーピングに基づいて、グループ決定部152が各RFID読取装置110に対する読取指示を送信するタイミングを決定する処理である。
このような初期化処理によって、互いに干渉が発生しうる距離に配置されている複数のRFID読取装置110同士に対し、干渉が発生しない読取タイミングが決定される。つまり、読取タイミング決定部153は、装置管理情報161において同じグループに属するRFID読取装置110それぞれのRFIDタグの読取タイミングを、異なるタイミングに設定する。すなわち、装置管理情報161において同じグループに属するRFID読取装置110の基準時刻フィールド421の値を異なる時刻に設定する。
図9は、図8のS801の新規読取指示送信処理を示すフローチャートである。ここでは、運用管理装置140が各RFID読取装置110をグルーピングするために、各RFID読取装置110が読取可能な範囲にある装置管理用RFIDタグ102の個体識別情報を取得する。この段階ではまだ運用管理装置140は、干渉が発生しうるRFID読取装置110が判断できない。このため、RFID読取指示送信部151はシステムに存在する全RFID読取装置110に対して、それぞれ読取タイミングをずらし、読取指示を1回送信する。運用管理装置140は、各RFID読取装置110から受信した個体識別情報を取得タグデータ管理情報162に格納する。
以下に処理の具体的な流れを示す。
運用管理装置140のRFID読取指示送信部151は、装置管理情報161の装置IDフィールド410に格納されている全てのレコードに対して、次に示すS902〜S907までの処理を行う(S901)。
RFID読取指示送信部151は、取得タグデータ管理情報162へ新規にレコードを追加し、装置管理情報161において対象としているレコードの装置IDフィールド410に記載されている値を、追加したレコードの装置IDフィールド510(図5参照)へ格納する(S902)。
RFID読取指示送信部151は、装置管理情報161のアドレスフィールド420(図4参照)に記載されているアドレス(例えば、192.168.10.1)のアドレスを持つ装置110(RFID読取装置110)に対し、読取指示を送信する(S903)。そして、運用管理装置140は、S903にて送信した装置110(RFID読取装置110)からタグデータを受信する(S904)。
運用管理装置140は、S904にて受信した全てのタグデータに対して次に示すS906〜S909までの処理を行う(S905)。
運用管理装置140は、S904にて受信したタグデータが装置管理用タグデータ132であるとき(S906のYes)、この装置管理用タグデータ132から個体識別情報311(図3(a)参照)を取得する(S907)。
そして、運用管理装置140は、S907で取得した個体識別情報311を、S902にて追加した取得個体識別情報520(図5参照)のレコードへ追加する(S908)。
なお、S906にて行った、装置管理用タグデータ132と物品管理用タグデータ133との区別は先に説明した識別用フラグ320(図3参照)を確認することにより行う。このような新規読取指示送信処理の実行後、グループ決定部152によりグループ決定処理が実行される。
図10は、図8のS802のグループ決定処理を示すフローチャートである。ここでは、運用管理装置140のグループ決定部152は、各RFID読取装置110のグルーピングを行う。より具体的には、グループ決定部152は、取得タグデータ管理情報162において、同一の個体識別情報を持つ装置管理用RFIDタグ102を取得した装置ID同士を同一のグループに所属させる処理を行う。
図5(b)に示した取得タグデータ管理情報162の例では、装置IDが「rw1」であるRFID読取装置110(以降、装置「rw1」と記述)と、装置IDが「rw2」であるRFID読取装置110(以降、装置「rw2」と記述)とは同一の個体識別情報「002」を取得している。このため、グループ決定部152は装置「rw1」および装置「rw2」を同一グループに所属すると判断する。同様に、装置「rw2」と装置IDが「rw3」であるRFID読取装置110(以降、装置「rw3」と記述)は同一の個体識別情報「003」を取得している。このため、グループ決定部152は、装置「rw2」および装置「rw3」を同一グループに所属と判断する。つまり、グループ決定部152は、複数のグループに所属するRFID読取装置110を発見したとき、当該複数のグループそれぞれに所属するRFID読取装置110を1つのグループにまとめてグループ管理情報163に登録する。
なお、装置「rw1」と装置「rw3」は、同一の個体識別情報を取得するという関係に無いが、本実施の形態の例ではこの2台の装置は「rw2」を含め、同一のグループに所属させるものとする。これは、装置「rw1」と装置「rw2」は同期制御を行う必要があり、同様に装置「rw2」と装置「rw3」も同期制御を行う必要があるため、必然的に装置「rw1」と装置「rw3」は同期制御を行うことになるためである。
以下に処理の具体的な流れを示す。グループ決定部152は、取得タグデータ管理情報162の取得個体識別情報520の全てのレコードに対して、次に示すS1002〜S1009までの処理を行う(S1001)。
取得タグデータ管理情報162に、対象としている取得個体識別情報520のレコードと同じ値を持つレコードが他に存在する場合(S1002のYes)、グループ決定部152は、次に示すS1003〜S1007の処理を行う。
一方、存在しない場合は(S1002のNo)、グループ決定部152は、S1008〜S1009の処理を行う。
S1002でYesであるとき、グループ決定部152は、S1002にて該当する複数(あるいは単数)の任意のレコードの装置IDフィールド510の値を取得する(S1003)。
ここで、S1003で取得した値と同じ値を持つレコードが、グループ管理情報163の所属リーダIDフィールド620(図6参照)に存在する場合(S1004のYes)、グループ決定部152は、該当するレコードのグループIDフィールド610へ新規に所属リーダIDフィールド620のレコードを追加する。そして、グループ決定部152はこのレコードへS1002で対象としているレコードの装置IDフィールド510(図5参照)の値を格納する(S1005)。
一方、S1003で取得した値と同じ値を持つレコードが、グループ管理情報163の所属リーダIDフィールド620に存在しない場合(S1004のNo)、グループ決定部152は、グループ管理情報163のグループIDフィールド610へ新規にレコードを追加する。そして、グループ決定部152は、グループIDフィールド610の全てのレコード中で値が一意となるような任意のID(例えば、「group1」)として格納する(S1006)。そして、S1006で追加したレコードに対応する所属リーダIDフィールド620へ新規にレコードを追加し、S1002で対象としているレコードの装置IDフィールド510の値を格納する(S1007)。
一方、S1002にて、取得タグデータ管理情報162に、対象としている取得個体識別情報520(図5参照)のレコードと同じ値を持つレコードが他に存在しない場合(S1002のNo)、前記のとおり、S1008〜S1009の処理を行う。以下にその処理を示す。
グループ決定部152は、グループ管理情報163のグループIDフィールド610へ新規にレコードを追加し、グループIDフィールド610の全てのレコード中で値が一意となるような任意のID(例えば、「group1」)を格納する(S1008)。そして、グループ決定部152は、S1008で追加したレコードに対応する所属リーダIDフィールド620へ新規にレコードを追加し、S1002で対象としているレコードの装置IDフィールド510の値を格納する(S1009)。
このようなグループ決定処理の実行後、読取タイミング決定部153により読取タイミング決定処理(図8のS803)が実行される。
図11(a)は、図8のS803の読取タイミング決定処理を示すフローチャートである。ここでは、各RFID読取装置110の読取タイミングの同期制御をグループ単位で行うために、各RFID読取装置110の読取タイミングを決定する処理を行う。
より具体的には、読取タイミング決定部153は、同一グループに所属する各RFID読取装置110の読取命令を順次ずらして発行させるようなタイミングを決定する。
以下に処理の具体的な流れを示す。読取タイミング決定部153は、グループ管理情報163のグループIDフィールド610(図6参照)に存在する全てのレコードに対して、次に示すS1102〜S1105の処理を行う(S1101)。
まず、読取タイミング決定部153は、対象とするグループIDフィールド610に対応する所属リーダIDフィールド620に存在するレコード数を取得する(以降、この数をnとして説明を行う)。つまり、対象とするグループ内の各RFID読取装置110の個数nを取得する。そして、読取タイミング決定部153は、グループに所属する全装置110(RFID読取装置110)の周期をそれぞれn×Tと設定する(S1102)。Tは正数であり(例えば、100ms)、ここでは各RFID読取装置110に対して順次読取指示を送信する間隔を表す。
例えば、運用管理装置140のRFID読取指示送信部151は、特定のRFID読取装置110aに対して読取指示を送信した後、T[ms]後に次のRFID読取装置110bに対して読取指示を送信する。Tは任意に設定可能であり、好適にはRFID読取装置110がRFIDタグに対して読取命令を発行し、それに対する応答波を受信するまでの間隔を目安に設定することが考えられる。このような設定を行うのは、Tをこの間隔より過度に小さくすると、運用管理装置140が各RFID読取装置110に対して同期制御を行っていても、干渉が発生する可能性があり、このTの値を過度に大きくすると、各RFID読取装置110の読取周期が大きくなり、精度の高い読取が実現できなくなる可能性があるからである。
図11(a)の説明に戻る。読取タイミング決定部153は、グループ管理情報163において対象とするグループIDフィールド610に対応する所属リーダIDの全てのレコードに対して、次に示すS1104〜S1105までの処理を行う(S1103)。
読取タイミング決定部153は、対象とする所属リーダIDフィールド620(図6参照)のレコードと同じ値を持つ装置管理情報161の装置IDフィールド410(図4参照)に存在するレコードに対し、対応する基準時刻フィールド421の値をi×T(iは正の整数であり、初期値は0。)、周期フィールド422の値をS1102で設定したn×Tと設定する(S1104)。そして、iの値を1加算する(S1105)。図11(b)については、後記する。
図12(a)および(b)は、図1の運用管理装置からRFID読取装置への読取指示送信のタイミングを概念的に示した図である。
例えば、運用管理装置140が、図5(a)に示す取得タグデータ管理情報162および図6(a)に示すグループ管理情報163を用いる場合、読取指示送信のタイミングは図12(a)の「■」に示すようになる。ここでは、装置「rw1」と装置「rw2」の間、および、装置「rw3」と装置「rw4」の間で読取タイミングの同期制御を行っており、交互にT[ms]毎に読取指示を送信している例が示されている。
図11(a)に示した読取タイミング決定処理では、各グループ内で同時に読取指示を発行できる装置は1台である。しかし、例えば、図5(b)に示した取得タグデータ管理情報162における装置「rw1」と装置「rw3」のように、互いに干渉しあう距離にない場合、運用管理装置140は、装置「rw1」と装置「rw3」に対して同時に読取指示を発行することにより、当該グループに所属する各RFID読取装置110の周期を縮小することができる。このように、同一グループに所属する各RFID読取装置110に対し、干渉が発生しない関係にある複数のRFID読取装置110に対しては、運用管理装置140は、同時に読取指示を送信するという同期制御を行うようにしてもよい。そのための読取タイミング決定処理のフローチャートを図11(b)に示す。
読取タイミング決定部153は、グループ管理情報163のグループIDフィールド610(図6参照)に存在する全てのレコードに対して、次に示すS1152〜S1157までの処理を行う(S1151)。読取タイミング決定部153は、対象とするグループIDフィールド610のグループIDに対応する所属リーダIDの全レコードを取得する(S1152)。
読取タイミング決定部153は、取得タグデータ管理情報162の装置IDフィールド510に存在するレコードの内、S1152で取得した値と一致する全てのレコードに対して、取得個体識別情報毎に総数を算出する(S1153)。
例えば、図5(b)に示した取得タグデータ管理情報162の例だと、読取タイミング決定部153は、「001→1件、002→2件、003→2件、004→1件」という値を算出する。読取タイミング決定部153は、S1153で導出した各取得個体識別情報の総数の内、一番大きい数をnとし、「最大周期」をn×Tとして設定する(S1154)。例えば、先の例だとn=2、最大周期=2×Tとして設定される。なお、定数Tは先に説明した各RFID読取装置110に対して順次読取指示を送信する間隔を表し、任意に設定可能である。
次に、読取タイミング決定部153は、S1152で対象としているグループに存在する全ての装置(RFID読取装置110)に対して、装置管理情報161の基準時刻フィールド421の値と周期フィールド422の値(図4参照)を、以下に示すS1156〜S1157の方法で設定する(S1155)。
すなわち、読取タイミング決定部153は、周期フィールド422の値をS1154で設定したn×Tとして格納する(S1156)。また、読取タイミング決定部153は、基準時刻フィールド421の値を、他の干渉し合う装置(RFID読取装置110)と重ならない時刻に設定する(S1157)。なお、ここでの干渉し合う装置とは、取得タグデータ管理情報162において同一内容の取得個体識別情報を取得している複数のRFID読取装置110を指す。例えば、読取タイミング決定部153は、図5(b)に示す取得タグデータ管理情報162、図6(b)に示すグループ管理情報163を参照すると、読取指示送信のタイミングは、図12(b)のようになる。同一グループに所属する装置「rw1」と装置「rw3」とは互いに干渉しないため、同時に読取指示を送信していることが示されている。
前記した初期化処理により各RFID読取装置110の読取タイミングが決定されると、RFID読取指示送信部151は、この決定した読取タイミングに従い、読取指示送信処理を各RFID読取装置110に対して繰り返す。
例えば、読取タイミングに基づいた読取指示の送信を行い、RFID読取装置110から装置管理用タグデータ132と物品管理用タグデータ133を受信する処理を行う。なお、詳しくは後述するが、装置管理用タグデータ132を受信した場合、運用管理装置140は受信した内容をもとに取得タグデータ管理情報162を更新する。また、読取指示送信処理の実行中に、システム内のRFID読取装置110の構成変更や、RFID読取装置110の状態変動が発生した場合、引き続き読取指示送信処理を実行すると特定のRFID読取装置110間で干渉が発生する可能性がある。このため、運用管理装置140は、このようなシステムの構成変更や状態変動が発生した場合、RFID読取装置110への読取指示送信処理を中断して、各RFID読取装置110の読取タイミングを再設定する必要がある。
ここで、RFID読取指示送信部151は、例えば、入力受付部155からの停止指示の受信により、システムの構成変更の発生を検知する。また、RFID読取指示送信部151は、取得タグデータ監視部154からの停止指示の受信によりシステムの状態変動の発生を検知する。
入力受付部155は、ユーザによる管理装置入力画面700のOKボタン714のクリックを契機に、構成変更が生じたと判断し、RFID読取指示送信部151へ停止指示を送信する。また、取得タグデータ監視部154は繰り返し、例えば、所定期間ごとに取得タグデータ管理情報162を監視しており、この情報の内容に変更が生じると、読取装置の状態変動が発生したとみなし、RFID読取指示送信部151へ停止指示を送信する。
RFID読取指示送信部151は入力受付部155または、取得タグデータ監視部154から停止指示を受信した場合、読取指示送信処理を終了する。
図13は、図8のS801の新規読取指示送信処理を示すフローチャートである。RFID読取指示送信部151は、内部で保持している変数「現在時刻」に「0」を代入する(S1301)。このRFID読取指示送信部151は、取得タグデータ監視部154または入力受付部155から停止指示を受信するまで、次に示すS1303〜S1310の処理を行う(S1302)。
RFID読取指示送信部151は、装置管理情報161に存在する全てのRFID読取装置110に対して、「(現在時刻―基準時刻フィールド421の値) mod 周期フィールド422の値」が「0」であるレコードを取得する(S1303)。ここで、S1303で取得したレコードが1つ以上存在する場合、RFID読取指示送信部151は、S1305を実行する。S1303でレコードを取得できなかった場合、RFID読取指示送信部151は、S1309〜S1310を実行する(S1304)。RFID読取指示送信部151は、このS1304で取得した全レコードに対応するRFID読取装置110に対して読取指示を一斉に送信する(S1305)。この後、RFID読取指示送信部151は、S1305で読取指示を送信した全装置110(RFID読取装置110)に対して、タグデータ(即ち、装置管理用タグデータ132と物品管理用タグデータ133)を全て受信する(S1306)。
ここで、S1306で受信したタグデータに装置管理用タグデータ132が含まれている場合、次に示すS1308を実行する(S1307)。つまり、運用管理装置140は、受信した全ての装置管理用RFIDタグデータ133から個体識別情報311を取り出し、取得タグデータ管理情報162を更新する(S1308)。更新後、運用管理装置140は、1msスリープする(S1309)、即ちプロセッサ141の使用権を放棄する。この後、RFID読取指示送信部151は、1ms後、再びプロセッサ141の使用権を取得し、現在時刻を「1」加算する(S1310)。これにより、システムを新規に構築した場合、各RFID読取装置110間で干渉が発生しない読取タイミングの設定を自動的に行うことが実現される。
次に、システムの構成変更時におけるプログラム150の処理の流れについて説明する。
ユーザはシステムからのRFID読取装置110を追加または削除時に、入力受付部155の管理装置入力画面700を通じて、追加するRFID読取装置110の情報を入力あるいは削除してOKボタン714をクリックする。OKボタン714のクリック後、入力受付部155によって構成反映処理が実行される。この処理では、図14に示すフローチャートの処理が行われ、RFID読取指示送信部151に対する読取指示の停止(S1402)、装置管理情報161の更新(S1403)、初期化処理(S1404)、読取指示送信処理(S1405)が順次実行される。
これにより、プログラム150の実行中にシステムの構成変更が生じた場合でも、各RFID読取装置110間で干渉が発生しない読取タイミングの設定を自動的に行うことができる。
次に、RFID読取装置110の状態変動時におけるプログラム150の処理の流れについて説明する。
取得タグデータ監視部154は、プログラム150の起動中、取得タグデータ管理情報162の内容を監視する。そして、この情報に変化が生じると、取得タグデータ監視部154は、特定のRFID読取装置110の位置や向きが変動したと見なす。そして、取得タグデータ監視部154は、各RFID読取装置110に対する読取タイミングを再設定するために初期化処理を呼び出す。初期化処理で、装置管理情報161における各RFID読取装置110の読取タイミングが更新された後、読取指示送信処理を呼び出し、RFID読取指示送信部151は新たに設定したタイミングで各RFID読取装置110へ読取指示の送信を行う。
図15は、図1の取得タグデータ監視部が実行する取得タグデータ監視処理を示すフローチャートである。取得タグデータ監視部154はプログラム150の実行中、次に示すS1502〜S1506までの処理を繰り返し、例えば、定期的に実行する(S1501)。ここで、RFID読取指示送信部151が読取指示送信処理を実行中であれば、S1503を実行する(S1502)。また、取得タグデータ管理情報162の内容に変化が生じた場合、即ち、前回監視した内容と比べて取得タグデータ管理情報162に差分が生じた場合、次に示すS1504〜S1506の処理を実行する(S1503)。
まず、取得タグデータ監視部154は、RFID読取指示送信部151へ停止信号を送信し(S1504)、読取指示送信処理の終了を指示する。次に、取得タグデータ監視部154は、初期化処理を呼び出し(S1505)、各RFID読取装置110に対する読取タイミングを再設定する。そして、RFID読取指示送信部151の読取指示送信処理を呼び出し(S1506)、再びRFID読取指示の送信を実行させる。
これにより、プログラム150の実行中にRFID読取装置110の位置や向きが変わった場合でも、各RFID読取装置110間で干渉が発生しない読取タイミングの設定が自動的に行われることが実現される。
[第2の実施の形態]
次に、本発明の第2の実施の形態を説明する。図16は、本発明の第2の実施の形態に関わる運用管理装置を示した図である。ここでは、図1に示したネットワーク130、RFID読取装置110、物品棚101、装置管理用RFIDタグ102および物品管理用RFIDタグ103の記載は省略している。第2の実施の形態の運用管理装置140Aは、システム内にRFID読取装置110が追加または削除されたりしたとき、これを自動的に検知し、装置管理情報161等を更新することを特徴とする。この運用管理装置140Aには、装置管理部1601が設けられ、図1の運用管理装置140の入力受付部155が除去されている点が異なる。前記した第1の実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
この装置管理部1601は、プログラム150の起動中、装置管理処理を実行する。この装置管理処理は、ネットワーク130へ繰り返し、例えば定期的にポーリングを行い、システムに存在する全てのRFID読取装置110の存在を検知する処理である。例えば、装置管理部1601は、定期的にネットワーク130に接続されるRFID読取装置110へブロードキャストでpingを行いポーリングを行う。装置管理部1601は、ポーリングを行うと、システムに存在する全てのRFID読取装置110は自身の存在を示すために、アドレス等を含んだレスポンスを返す。このレスポンスを受信した装置管理部1601は、システム新規構築時であれば、全てのレスポンスからRFID読取装置110のアドレスを取り出し、装置管理情報161へ各装置の情報、具体的には装置IDとアドレスを格納する。なお、装置IDは各RFID読取装置110がシステム全体で一意となるような文字列を装置管理部1601が自動的に生成してもよいし、アドレスを文字列としてそのまま入力してもよい。一方、システム構成変更時であれば、受信した全てのレスポンスに含まれるアドレスと装置管理情報161のアドレスフィールド420の各レコードを比較する。そして、レスポンスに含まれるアドレスと装置管理情報161のアドレスフィールド420の各レコードとの間に差分があった場合、装置管理部1601は、構成変更が生じたと判断し、RFID読取指示送信部151へ停止指示を送信し、装置管理情報161の内容を更新して、初期化処理、読取指示送信処理を順番に呼び出す。
図17は、図16の装置管理部が行う装置管理処理を示すフローチャートである。プログラム150の起動中、次に示すS1702〜S1712までの処理を行う(S1701)。まず、装置管理部1601は、ネットワーク130に対して、繰り返し、例えば定期的にポーリングを行う(S1702)。装置管理部1601は、ポーリングの結果として、システムに存在するRFID読取装置110からレスポンスを受信する(S1703)。ここで、装置管理情報161の中身が空の場合(S1704のYes)、即ち新規構築時の場合、装置管理部1601は、次に示すS1705〜S1707処理を行う。装置管理部1601は、S1703で受信した全てのレスポンスに対し、それぞれアドレスを取り出して装置管理情報161のアドレスフィールド420へ格納する。また、装置管理部1601は、各RFID読取装置110の装置IDはシステム中で一意な値となるように文字列を生成し、装置IDフィールド410へ格納する(S1705)。そして、装置管理部1601は、初期化処理を実行し、システムに存在する全てのRFID読取装置110の読取タイミングを設定する(S1706)。次に、装置管理部1601は、RFID読取指示送信部151の読取指示送信処理を呼び出す(S1707)。
また、S1704において装置管理情報161の中身が空でない場合(S1704のNo)、即ちシステム構成変更時の場合、装置管理部1601は、次に示すS1709〜1712までの処理を行う。まず、装置管理部1601は、S1703で受信したレスポンスと装置管理情報161の内容に差分があるかチェックを行う。具体的には、受信した全てのレスポンスからアドレスを取り出し、装置管理情報161のアドレスフィールド420の全レコードと比較する(S1708)。ここで、差分がある場合(S1708のYes)、構成変更が生じたと判断し、装置管理部1601は、RFID読取指示送信部151へ停止信号を送信し、読取指示送信処理を終了させる(S1709)。装置管理情報161を最新の状態に更新する(S1710)。そして、装置管理部1601は、前記したS1706と同様に初期化処理を実行し、システムに存在する全てのRFID読取装置110の読取タイミングを設定する(S1711)。次に、装置管理部1601は、RFID読取指示送信部151の読取指示送信処理を呼び出す(S1712)。
これにより、運用管理装置140Aは、ネットワーク130に接続されている全てのRFID読取装置110の管理を、人手を介さずに自動的に行い、かつ、各RFID読取装置110間で干渉が発生しない読取タイミングの設定が自動的に行われることが実現される。
[第3の実施の形態]
次に、本発明の第3の実施の形態を説明する。図18は、本発明の第3の実施の形態に関わるシステムの全体構成を例示した図である。この第3の実施の形態のシステムは、装置管理用RFIDタグではなく、物品管理用RFIDタグを用いて各RFID読取装置110のグルーピングと読取タイミングの決定を行うことを特徴とする。つまり、装置管理用RFIDタグ102(図1参照)を用いないことを特徴とする。
次に、第3の実施の形態の運用管理装置140Bが、物品管理用RFIDタグ103を用いて各RFID読取装置110の読取タイミングを決定する処理の流れを説明する。
RFID読取装置110は、読取命令を出力することにより、読取可能な範囲に設置されている物品管理用RFIDタグ103の個体識別情報を取得し、物品管理用タグデータ133として運用管理装置140Bへ送信する。また、運用管理装置140BのRFID読取指示送信部151は、新規読取指示送信処理において、各RFID読取装置110へ順番に読取指示を送信する。そして、RFID読取指示送信部151は、各RFID読取装置110から物品管理用タグデータ133を受信すると、この物品管理用タグデータ133に含まれる物品管理用RFIDタグ103の個体識別情報を取得タグデータ管理情報162へ格納する。
すなわち、本発明の第1の実施の形態では、各RFID読取装置110から受信した物品管理用タグデータ133と装置管理用タグデータ132のうち、装置管理用タグデータ132からの個体識別情報を取得タグデータ管理情報162へ格納していたが、ここでは取得したタグデータは全て物品管理用タグデータ133として取得タグデータ管理情報162へ格納する。
同様に、RFID読取指示送信部151は読取指示送信処理において、各RFID読取装置110から受信したタグデータは全て物品管理用タグデータ133として扱い、該データから取り出した個体識別情報を取得タグデータ管理情報162へ繰り返し、例えば定期的に更新する処理を行う。ここでも、運用管理装置140Bは、装置管理用タグデータ132と物品管理用タグデータ133を区別せず、全て物品管理用タグデータ133として受信し、取得タグデータ管理情報162へ格納する。
従って、本実施の形態の取得タグデータ監視処理は、取得タグデータ管理情報162の内容の変化に関して、(1)実際にRFID読取装置110の位置や向きが変動したことによる状態変動なのか、(2)物品管理用RFIDタグ103が移動されたことによる変化なのかを区別する判定処理を行う必要がある。このような判定処理によって、運用管理装置120Bは、物品管理用RFIDタグ103が移動されたことによる変化と判定した場合、初期化処理を実行せずそのまま読取指示送信処理を継続する。それ以外の場合は、RFID読取指示送信部151に対して停止指示を送信し、初期化処理を呼び出して各RFID読取装置110の読取タイミングを再設定後、RFID読取指示送信部151の読取指示送信処理を呼び出す。
図19は、図18の取得タグデータ監視部が実行する取得タグデータ監視処理を示すフローチャートであるS1901〜S1903までの処理は、図15のS1501〜S1503までの処理と同じなので説明を省略し、S1904から説明する。
運用管理装置140Bは、物品タグ移動判定処理を行い(S1904)、S1904の戻り値が「1」ではないとき、つまり、取得タグデータ監視部154は、取得タグデータ管理情報162の内容の変化が特定の物品管理用RFIDタグ103の移動に起因していないと判定した場合(S1905のNo)、取得タグデータ監視部154はRFID読取指示送信部151へ停止指示を送信し(S1906)、初期化処理を呼び出し(S1907)、読取指示送信処理の呼び出す(S1908)。
図20は、図19のS1904の物品タグ移動判定処理の詳細を示すフローチャートである。まず、取得タグデータ監視部154は、物品タグ移動判定に用いるフラグ(flag)の値として「1」をセットする(S2001)。
そして、取得タグデータ監視部154は、取得タグデータ管理情報162の内容の変化、即ち、各RFID読取装置110に対応する取得個体識別情報520(図5参照)の各レコードの変化について、次に示す2つの事象のいずれか、または両方を検知した場合、物品管理用RFIDタグ103の移動と判定する。
1つめは、取得タグデータ管理情報162の装置IDフィールド510(図5参照)に格納されている任意の装置(RFID読取装置110)が、新たに個体識別情報を取得した場合において、この個体識別情報を持つ他の装置(RFID読取装置110)が他のグループに所属していない、という事象である(S2002)。
例えば、運用管理装置140Bが、図5(a)に示す取得タグデータ管理情報162を参照する場合において、装置「rw1」と装置「rw2」が新たに個体識別情報「005」を取得した場合、装置「rw1」と装置「rw2」は同じグループに所属しているので物品タグ管理用RFIDタグ103の移動と判定する。一方、装置「rw1」が、個体識別情報「003」を取得した場合、この個体識別情報「003」を持つ装置「rw3」は他のグループ(group2)に所属する(図6(a)に例示するグループ管理情報163参照)。従って、取得タグデータ監視部154は、RFID読取装置110の状態変動が発生したと判定し(S2002のNo)、物品タグ移動判定に用いるフラグ(flag)の値として「0」をセットする(S2003)。
2つめは、取得タグデータ管理情報162の装置IDフィールド510(図5参照)に格納されている任意の装置(RFID読取装置110)が、今迄取得していた個体識別情報を取得しなくなった場合において、この個体識別情報を、同一グループに所属する他の装置(RFID読取装置110)が取得していない事象である(S2004)。
例えば、運用管理装置140Bが、図5(a)に示す取得タグデータ管理情報162を参照する場合において、装置「rw2」が個体識別情報「002」を取得しなくなり、同一グループ(group1)に存在する装置「rw1」も個体識別情報「002」を取得しなくなった場合、取得タグデータ監視部154は、物品タグ管理用RFIDタグ103の移動と判定する。一方、例えば、装置「rw1」は、個体識別情報「002」を取得している場合(S2004のNo)、取得タグデータ監視部154は、装置の状態変動が発生したと認識し、物品タグ移動判定に用いるフラグ(flag)の値として「0」をセットする(S2005)。そして、取得タグデータ監視部154は、S2002〜S2005の処理結果から得られたフラグの値(flag)を返す(S2006)。
なお、前記した2つの事象の両方が発生した場合でも、取得タグデータ監視部154は、物品タグ管理用RFIDタグ103の移動と判定する。
また、運用管理装置140Bは、前記した判定処理以外でも、物品タグ管理用RFIDタグ103の移動とRFID読取装置110の状態変動とが識別できる判定処理であれば他の判定処理を用いるようにしてもよい。
このようにすることで、運用管理装置140Bは、物品管理用RFIDタグ103を用いることにより、各RFID読取装置110をグルーピングし、各RFID読取装置110間で干渉が発生しない読取タイミングの設定を自動的に行うことができる。
また、この運用管理装置140Bの入力受付部155の代わりに、運用管理装置140Aの装置管理部1601(図16参照)を備え、第2の実施の形態のようにシステムの新規構築および構成変更を自動検知して装置管理情報161を自動更新するようにしてもよい。その場合、システムの新規構築時および構成変更時に装置管理部1601が行う装置管理処理において、図17における初期化処理で使用するタグは物品管理用タグデータ133であるが、それ以外の処理は同様である。
このようにすることで、例えば、物品管理用RFIDタグ103を付した物品が頻繁に移動する場合でも、この物品の移動により運用管理装置140Bにおいて頻繁に初期化処理が実行され、各物品管理用RFIDタグ103の精度の高い読取が実現できなくなるのを防止できる。つまり、運用管理装置140Bは、装置管理用RFIDタグ102を用いないシステムにおいて、RFID読取装置110の状態変動は発生していないのに、初期化処理が実行されるのを防止できる。
本発明はハードウェア的にRFID読取装置110同士の干渉を防止する技術と組み合わせることも可能である。例えば、物品棚101を複数配置しておき、各物品棚101を干渉が発生しない距離を設けて設置する、あるいは各物品棚101間に干渉防止保護フィルムを設置することにより、物品棚101間の各RFID読取装置に対してハードウェア的に干渉を防止する。そして、各物品棚101内の各RFID読取装置110に対してはで説明した方法で干渉を防止するようにしてもよい。
本実施の形態に係る運用管理装置140,140A,140Bは、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読取可能な記憶媒体(CD−ROM等)に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。