以下、通信処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における通信処理装置のブロック図である。本実施の形態の通信処理装置は、例えば、UHF帯等のRFIDタグと通信を行うリーダライタ等である。
通信処理装置1は、送信部101、送信指示受付部102、受信部103、出力部104、不在検出部105、再送指示部106、アンテナ数判断部107、切替指示部108、空きチャンネル検出部109、通信制御部110、1以上の送信アンテナ111および1以上の受信アンテナ112を具備する。図においては、便宜上、送信アンテナ111および受信アンテナ112がそれぞれ3つである場合について示しているが、それぞれの数は1以上であればよい。なお、通信処理装置1は、送信アンテナ111および受信アンテナ112を有していても良いし、送信アンテナや受信アンテナを有しておらず、外部の送信アンテナおよび受信アンテナを用いるようにしても良い。
送信部101は、RFIDタグに対するコマンドの送信を行う。送信部101が送信するコマンドは、どのようなコマンドであっても良い。また、ここで述べるコマンドには、結果として、コマンドとして利用可能な情報も含む。このコマンドは、例えば、RFIDタグの情報を読み出すreadコマンドや、RFIDタグに情報を書き込むwriteコマンド等である。送信部101が送信するコマンドは、送信指示受付部102が受け付けた送信指示に含まれているものであっても良いし、予め図示しないメモリ等に格納されているコマンドを送信指示に応じて読み出したものであっても良く、コマンドの取得経路等は問わない。送信部101は、1以上の送信アンテナ111と接続され、当該送信アンテナ111を用いて、RFIDタグに対する電波によるコマンドの送信を行う。通常、いずれか1つの送信アンテナ111を選択、もしくは、各送信アンテナ111を一つずつ順次切り替えて選択し、この選択した送信アンテナ111からコマンドを送信する。送信部101は、例えば、切替指示部108や通信制御部110等が出力する指示により指定される送信アンテナ111を用いてコマンドの送信を行う。送信部101は、通常、空きチャンネル検出部109により検出された空きチャンネルを使用して、コマンドの送信を行う。また、送信部101は、後述する再送指示部106の出力する再送指示に応じて、コマンドの再送を行う。送信部101は、例えば、図示しない1以上の送信ポート等のインターフェースを介して、1以上の送信アンテナ111と接続される。送信部101は、通常、後述する送信指示受付部102が受け付けた送信指示に応じて、コマンドを送信する。ただし、一定や不定の、所定の期間毎に、コマンドを送信してもよい。送信部101は、無線の送信手段等で実現され得る。また、放送手段で実現されても良い。
送信指示受付部102は、送信部101に対する送信指示を受け付ける。例えば、送信指示受付部102は、コンピュータ等の、通信処理装置1の外部の機器等から通信回線等を介して送信される送信指示を受け付けても良いし、記録媒体等に記録されている送信指示を読み出してもよい。送信指示受付部102が受け付ける送信指示は、送信部101が送信するコマンドを含む指示であっても良いし、含まなくても良い。また、送信部101が送信するコマンドを指定するものであっても良い。また、送信指示受付部102は、テンキーやキーボードやマウスやメニュー画面等の入力手段により入力される送信指示を受け付けても良い。送信指示受付部102は、通信デバイスのドライバ等や、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアや、メモリカードリーダや、CDドライブ等の記録媒体等から情報を読み出すデバイスのドライバ等で実現され得る。
受信部103は、RFIDタグから送信される情報の受信を行う。また、受信部103は、従来の技術において説明したLBT処理等の空きチャンネル検出処理のために、他の通信処理装置等の機器が送信している、RFIDタグとの通信に利用される周波数帯の情報、言い換えれば電波、を受信する。受信部103は、1以上の受信アンテナ112と接続され、当該受信アンテナ112を用いて、RFIDタグから出力される情報等の受信を行う。受信部103は、通常、いずれか1つの受信アンテナ112を選択、もしくは、各受信アンテナ112を一つずつ順次切り替えて選択し、この選択した受信アンテナ112を用いて情報を受信する。受信部103と接続される1以上の受信アンテナは、1以上の送信アンテナ111と対をなす1以上のアンテナである。受信部103は、例えば、切替指示部108や通信制御部110等が出力する指示により指定される受信アンテナ112を用いて情報の受信を行う。受信部103は、RFIDタグから送信される情報を受信する場合、通常、空きチャンネル検出部109により検出された空きチャンネルを使用して、情報の受信を行う。受信部103は、例えば、図示しない1以上の受信ポート等のインターフェースを介して、1以上の受信アンテナ112と接続される。受信部103は、無線の受信手段等で実現され得る。
出力部104は、受信部103が受信した情報を出力する。具体的には、受信部103が受信した情報のうちの、RFIDタグから送信される情報を出力する。出力部104は、受信部103が受信した情報全体を出力しても良いし、情報の一部を出力しても良い。例えば、受信部103が受信した情報にヘッダ情報等が付加されている場合、このヘッダ情報等を含む情報を出力しても良いし、ヘッダ情報を除去した情報を出力しても良い。ここで述べる出力とは、通常、コンピュータ等の、通信処理装置1の外部の機器等への通信回線等を介した送信である。ただし、ディスプレイへの表示や、記録媒体等への蓄積であっても良い。出力部104は、通信デバイス等の出力デバイスの、ドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
不在検出部105は、送信部101がコマンドを送信した場合の、受信部103の受信状況に応じて、通信領域内におけるRFIDタグの、不在を検出する。不在検出部105は、具体的には、送信部が一の送信アンテナ111を用いてコマンドを送信した場合の、当該一の送信アンテナ111に対応した一の受信アンテナ112を用いた受信部103の受信状況に応じて、一の送信アンテナ111および受信アンテナの通信領域内におけるRFIDタグの不在を検出する。ここで述べる受信状況とは、1以上のRFIDタグからのなんらかのレスポンス、例えば、1以上のRFIDタグからの情報の送信や、RFIDタグから送信される情報におけるコリジョン(衝突)の検出、があったか否かのことである。通常、送信部101がコマンドを送信してから、一定または不定の所定の期間内に、1以上のRFIDタグからの情報を、受信部103が受信した場合、RFIDタグが存在すると判断し、受信部103が受信しなかった場合、RFIDタグが不在であると判断する。不在検出部105は、通常、MPUやメモリ等から実現され得る。なお、不在検出部105は、RFIDタグの不在を検出する代わりに、RFIDタグが存在していることを検出するようにして、存在が検出できない場合、不在であると判断するようにしても良い。不在検出部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
再送指示部106は、不在検出部105が、RFIDタグの不在を検出した場合に、一の送信期間内に送信部101にコマンドの再送を指示する。特に、通信処理装置1が1対の送信アンテナ111および受信アンテナ112だけを用いている場合に、コマンドの再送を指示するようにしても良い。送信期間とは、送信部101が送信を開始してから、送信部101が送信を停止し受信部103が受信を停止するまでの期間である。例えば、送信期間とは、送信部101によるコマンドの送信が1回以上連続して行われる期間である。ただし、送信期間には、送信部101が送信した各コマンドに対する、受信部103による情報の受信を行う期間や受信を待つ期間を含んでも良い。一の送信期間とは、不在検出部105がRFIDタグの不在を検出した送信期間と同じ送信期間のことである。一の送信期間を、空きチャンネルを用いてコマンドの送信を開始してから、そのチャンネルを明け渡すまでの期間と考えても良い。一の送信期間は、送信部101が送信を開始してからの、送信部101および受信部103が通信に利用しているチャンネルをあけ渡すための送信停止期間、例えばUHF帯であれば50ms、を挟まない期間である。すなわち、これにより、不在検出部105が、RFIDタグの不在を検出した場合に、通信処理装置1が、送信停止期間に入ることなく、再送、送信部101から、コマンドが再送されることとなる。なお、送信期間は、例えばUHF帯のRFIDタグである場合、最大4秒に設定する必要があり、送信開始から、4秒を超える場合には、再送指示部106が、コマンドを再送させる指示を送信しないようにする。再送指示部106は、再送の指示を、RFIDタグが検出されるまで、最大、予め設定された所定回数となるまで繰り返すようにしてもよい。また、再送指示部106は、RFIDタグが検出されるまでは、再送の指示を、予め設定された所定時間が経過するまで、繰り返すようにしてもよい。すなわち、いわゆるタイムアウトとなるまで、再送処理を繰り返すようにしても良い。この所定回数および所定時間は、一定であっても不定であっても良い。この所定回数および所定時間を設定する情報は、例えば図示しないメモリ等に予め格納しておくようにすればよい。再送指示部106は、通常、MPUやメモリ等から実現され得る。不在検出部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
アンテナ数判断部107は、送信アンテナと受信アンテナとの対の数が2以上であるか否かを判断する。アンテナ数判断部107がどのようにアンテナ数を判断してもよい。例えば、送信部101や受信部103の送信アンテナ111や受信アンテナ112が接続されるポート等に接続されているアンテナ数を、これらのポート等から送信される信号等を用いて検出し、この検出したアンテナ数から、送信アンテナと受信アンテナとの対の数が2以上であるか否かを判断しても良い。また、予めユーザ等が指定するアンテナ数を示す情報を、図示しないメモリ等に格納しておくようにし、このメモリ等に格納されている情報を、アンテナ数判断部107が読みだし、送信アンテナと受信アンテナとの対の数が2以上であるか否かを判断してもよい。なお、アンテナ数を示す情報は、結果的に、アンテナ数が2以上であるか否かを判断することができる情報であればよく、送信アンテナ111および受信アンテナ112の数の情報であっても良いし、送信アンテナと受信アンテナとの対の数が2以上である、ということを示す情報であってもよい。また、通常、送信アンテナと受信アンテナとが対となっているため、送信アンテナ数または受信アンテナ数のいずれか一方が二以上であるか否かを判断しても良い。また、アンテナ数を示す情報は、本実施の形態においては、アンテナ数が2以上であるか否かによって実行される処理を、選択するために用いられる情報であることから、アンテナ数を示す情報は、アンテナ数によって選択すべき処理の選択を指示する情報であってもよい。なお、アンテナ数判断部107の行う判断は、結果的に、送信アンテナと受信アンテナとの対の数が2以上であるか否かの判断と、同じ結果を示す判断であればよく、必ずしも、実際のアンテナ数を取得して、このアンテナ数から判断を行う必要はない。例えば、予め、送信アンテナと受信アンテナとの対の数が2以上である、という情報と、送信アンテナと受信アンテナとの対の数が2以上でない、という情報とを用意しておき、送信アンテナと受信アンテナとの対の数が2以上である、という情報をアンテナ数判断部107が受け付けた場合に、アンテナ数が2以上であるという判断結果を出力し、送信アンテナと受信アンテナとの対の数が2以上でない、という情報をアンテナ数判断部107が受け付けた場合に、アンテナ数が2以上でないという判断結果を出力するようにしてもよい。また、通信処理装置1が、アンテナ数判断部107の判断結果がアンテナ数が2以上でないという場合に、第一の処理を行うものであり、アンテナ数判断部107の判断結果がアンテナ数が2以上であるという場合に、第2の処理を行うものである場合、アンテナ数判断部107が、第一の処理を行うか、第二の処理を行うかの判断を行うことは、ここでは、結果的に、アンテナ数判断部107が、アンテナ数が2以上であるか否かの判断を行うことと同じと考える。アンテナ数判断部107は、通常、MPUやメモリ等から実現され得る。アンテナ数判断部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
切替指示部108は、アンテナ数判断部107が、送信アンテナ111と受信アンテナ112との対の数が2以上であると判断した場合であって、不在検出部105がRFIDタグの不在を検出した場合に、送信部101および受信部103に、送信アンテナ111および受信アンテナ112を切り替えさせる指示を出力する。送信部101および受信部103は、この切り替え指示により指定された送信アンテナ111および受信アンテナを用いて、次の送信期間において、コマンドの送信や、RFIDタグからの情報の受信を行う。また、切替指示部108は、後述する空きチャンネル検出部109の指示により、送信部101および受信部103に、送信アンテナ111および受信アンテナ112を切り替えさせる指示を出力してもよい。切替指示部108は、通常、MPUやメモリ等から実現され得る。切替指示部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
空きチャンネル検出部109は、1以上の受信アンテナ112のうちの一の受信アンテナ112を用いて受信した情報を用いて、RFIDタグとの通信を行うチャンネルとして利用する空きチャンネルを検出する。例えば、空きチャンネル検出部109は、通信処理装置1が利用可能なチャンネル内の周波数の電力を検知して、電力がないと判断されたチャンネルを空きチャンネルとして検出する。具体的には、受信部103が受信した、通信処理装置1が利用可能なチャンネル内のノイズ等の電波の周波数成分を高速フーリエ変換等を用いて取り出し、この取り出した電波の周波数成分が所定のレベル以上含まれない場合、このチャンネルが空きチャンネルであると判断する。この処理は、いわゆるLBT処理と呼ばれる公知の処理である。例えば、日本の電波法では、LBT処理時に−74dBmのノイズレベルを最低5ミリ秒間検出しなければならない。空きチャンネル検出部109は、特に、アンテナ数判断部107が、送信アンテナ111と受信アンテナ112との対の数が2以上であると判断した場合であって、空きチャンネルを検出できなかった場合に、受信部103に受信アンテナ112の切り替えを指示して空きチャンネルの検出を行う。この切り替えの指示を、空きチャンネル検出部109が直接、受信部103に出力しても良いし、切替指示部108等を介して間接的に、出力してもよい。また、空きチャンネル検出部109は、アンテナ数判断部107が、送信アンテナ111と受信アンテナ112との対の数が2以上でない、すなわち1である、と判断した場合であって、所定の期間内に空きチャンネルを検出できなかった場合に、空きチャンネルの検出を繰り返す。空きチャンネル検出部109は、空きチャンネルの検出の繰り返しを、空きチャンネルが検出されるまで、最大、予め設定された所定回数となるまで行うようにしてもよい。また、空きチャンネル検出部109は、空きチャンネルの検出の繰り返しを、空きチャンネルが検出されるまでは、最大、予め設定された所定時間となるまで繰り返すようにしても良い。なお、例えば、UHF帯のRFIDタグにおいては、LBT処理を、5ms以上行うことが日本の通信に関する法律により定められているため、空きチャンネルの検出処理は、このような条件を満たすように設定しておく。空きチャンネル検出部109は、通常、MPUやメモリ等から実現され得る。空きチャンネル検出部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
通信制御部110は、送信部101および受信部103等を制御して、RFIDタグに対する情報の読み出し処理や、情報の書き込み処理等を行う。通信制御部110の行う制御は、通信処理装置1に、通常のRFIDタグリーダライタ等と同様の、情報の読み出しや書き込み等の処理を行わせるための制御であり、ここでは詳細な説明は省略する。通信制御部110は、通常、MPUやメモリ等から実現され得る。通信制御部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信アンテナ111は、送信部101が送信するコマンドを電波に変換して送信する。本実施の形態においては、一の送信部101に対して1以上の送信アンテナ111が接続可能であるものとする。送信アンテナ111の形状や構造、指向性等は、RFIDタグとの通信に利用可能なものであれば、問わない。
受信アンテナ112は、RFIDタグ等から送信される電波を受信して受信部103に送信する。本実施の形態においては、一の受信部103に対して1以上の受信アンテナ112が接続可能であるものとする。本実施の形態においては、特に、受信アンテナ112は、1以上の送信アンテナ111と対をなしている場合について説明する。すなわち、ここでは、受信アンテナ112の数と送信アンテナ111の数とは、同数であり、一対一で対応しているものとする。受信アンテナ112の形状や構造、指向性等は、RFIDタグとの通信に利用可能なものであれば、問わない。なお、一対の送信アンテナ111と受信アンテナ112とを、一の送受信アンテナで実現してもよいことはいうまでもない。
次に、通信処理装置1の動作について図2のフローチャートを用いて説明する。なお、ここでは、まず、所望のコマンドの送信の指示を、送信指示受付部102が、外部のコンピュータ等の上位システムから受け付けた場合を例に挙げて説明する。
(ステップS201)通信処理装置1は、前回の送信期間の終了から所定の時間が経過しているか否かを判断する。所定の時間は、例えば、通信処理装置1が、UHF帯のRFIDタグ用の通信処理装置である場合、日本においては、電波の法律に基づいて、少なくとも、50ms以上の時間、もしくは、この50msから、LBT処理に要する時間を減算した時間に設定される。所定の時間が経過している場合、ステップS202へ進み、経過していない場合、ステップS201に戻る。なお、この処理は、通信制御部110等、通信処理装置1の、どの部により行うようにしても良い。
(ステップS202)アンテナ数判断部107は、送信部101に接続されている送信アンテナ111のアンテナ数M(Mは1以上の整数)を取得する。なお、通常は、受信部103に接続されている受信アンテナ112の数も送信アンテナ111のアンテナ数Mと同様であるので、受信部103に接続されている受信アンテナ112の数を取得しても良い。アンテナ数判断部107は、送信部101のポートに接続されているアンテナ数を検出しても良いし、予め図示しないメモリ等に格納されている、ユーザや、上位システム等が指定するアンテナ数を示す情報を読み出して、アンテナ数を取得しても良い。
(ステップS203)アンテナ数判断部107は、ステップS204で取得したアンテナ数Mの値が2以上であるか否かを判断する。2以上でない場合、ステップS204に進み、2以上である場合、ステップS205に進む。
(ステップS204)通信処理装置1は、アンテナ数Mが一の場合の通信処理である第一通信処理を行う。そして、第一通信処理終了後、処理を終了する。なお、第一通信処理については、図3を用いて後述する。
(ステップS205)通信処理装置1は、アンテナ数Mが2以上の場合の通信処理である第二通信処理を行う。そして、第二通信処理終了後、処理を終了する。なお、第二通信処理については、図4を用いて後述する。
なお、予め、アンテナ数が2以上であるか否かの情報が予め分かっている場合においては、ステップS202およびステップS203の代わりに、第一通信処理と第二通信処理のいずれを行うかを指定する情報を、アンテナ数判断部107が送信指示受付部102等を介して受け付けるようにし、アンテナ数判断部107は、この受け付けた情報が示す第一通信処理と第二通信処理とのいずれか一方を実行することを判断するようにしてもよく、このような場合においても、結果的には、実質的にアンテナ数が2以上であるか否かを判断したことと同じこととなる。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図2のステップS204の、第一通信処理について、図3のフローチャートを用いて説明する。
(ステップS301)空きチャンネル検出部109は、カウンタnに1を代入する。
(ステップS302)空きチャンネル検出部109は、受信部103が受信する情報を用いて、空きチャンネルを検出する処理を実行する。空きチャンネル検出部109が実行する空きチャンネルを検出する処理は、例えば、LBT処理である。なお、LBT処理については公知技術であるので説明は省略する。
(ステップS303)空きチャンネル検出部109は、ステップS302の処理により、空きチャンネルが検出できたか否かを判断する。空きチャンネルが検出できた場合、ステップS307に進み、検出できなかった場合、ステップS304に進む。
(ステップS304)空きチャンネル検出部109は、カウンタnの値が、L(Lは2以上の整数)以上であるか否かを判断する。このLの値は、LBT処理を繰り返す際の、繰り返し数の上限値である。このLの値は、予めユーザ等により指定されているものとする。ただし、上位システム等から、送信指示受付部102等を介して受け付けても良い。L以上である場合、ステップS305に進み、L以上でない場合、ステップS306に進む。
(ステップS305)出力部104は、空きチャンネルがないことを示す情報をコンピュータ等の上位システム等に出力する。そして上位関数にリターンする。なお、空きチャンネルがないことを示す情報は、通信に失敗したことや、エラーが発生したこと等を示す情報であってもよい。また、空きチャンネルがないことを示す情報を送信しない場合、この処理は省略してもよい。また、更に所定時間待機した後、再度ステップS302からの処理を行うようにしてもよい。
(ステップS306)空きチャンネル検出部109は、カウンタnを1インクリメントする。そして、ステップS302に戻る。
(ステップS307)不在検出部105は、カウンタpに1を代入する。
(ステップS308)通信処理装置1は、RFIDタグとの通信を行う。具体的には、送信指示受付部102が受け付けた送信指示に応じたコマンドを送信部101が送信アンテナ111を用いて送信し、そのコマンドの送信に応じてRFIDタグが送信する情報を、受信部103が受信アンテナ112を用いて受信する。受信した情報を出力部104から上位システム等に出力する。また、1以上のRFIDタグからの情報が受信できた場合、全てのRFIDタグからの受信が終了するまで、もしくは予め設定した時間に達するまで、コマンドの送信およびRFIDタグからの情報の受信を繰り返す。また、コリジョン等が発生している場合、アンチコリジョン処理等を行って通信を行う。この通信の際の送受信の制御等は、通信制御部110等が適宜行う。このRFIDタグとの通信は、通常、送信部101によりコマンドを送信してから、所定の時間内に、受信部103が、コリジョンの発生を検出せず、RFIDタグからのレスポンスを受信しなかった場合に終了する。
(ステップS309)不在検出部105は、RFIDタグが不在であるか否かを検出する。ステップS308における送信部101からのコマンドの送信に対して、一度もレスポンスがなかった場合に、RFIDタグとの通信が成功しなかったと判断され、レスポンスがあった場合、不在でない、すなわちRFIDタグが存在すると判断する。なお、RFIDタグとの通信が成功したか否かを判断して、RFIDタグが不在であるか否かを検出してもよい。この場合、RFIDタグとの通信が失敗した時は、RFIDタグが不在であることを検出し、RFIDタグとの通信が成功した時は、RFIDタグが存在していることを検出するようにすればよい。RFIDタグが不在である場合、ステップS310に進み、RFIDタグが存在していた場合、ステップS308において、通信が成功したことを示すこととなるため、上位関数にリターンする。
(ステップS310)不在検出部105は、カウンタpの値が、R(Rは2以上の整数)以上であるか否かを判断する。このRの値は、送信部101にコマンドを再送させる処理の、繰り返し数の上限値である。このRの値は、予めユーザ等により指定されているものとする。ただし、上位システム等から、送信指示受付部102等を介して受け付けても良い。R以上である場合、ステップS311に進み、R以上でない場合、ステップS312に進む。
(ステップS311)出力部104は、RFIDタグが通信エリア内にないことを示す情報をコンピュータ等の上位システム等に出力する。そして上位関数にリターンする。なお、RFIDタグが通信エリア内にないことを示す情報は、通信に失敗したことや、エラーが発生したこと等を示す情報であってもよい。また、RFIDタグが通信エリア内にないことを示す情報を送信しない場合、この処理は省略してもよい。また、更に所定時間待機した後、再度ステップS301からの処理を行うようにしてもよい。この場合の所定の時間は、送信停止時間であり、UHF帯のRFIDタグ用の通信処理装置1の場合、少なくとも、50msまたは50msからLBT処理に要する時間を減算した時間以上に設定する必要がある。
(ステップS312)不在検出部105は、カウンタpを1インクリメントする。
(ステップS313)再送指示部106は、送信部101に一の送信期間内におけるコマンドの再送を指示する。そして、ステップS308に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図2のステップS205の、第二通信処理について、図4のフローチャートを用いて説明する。
(ステップS401)切替指示部108は、カウンタkに1を代入する。
(ステップS402)切替指示部108は、送信部101および受信部103に、送信および受信に利用する送信アンテナ111および受信アンテナ112を、k番目の送信アンテナ111および受信アンテナ112に切り替える指示を出す。
(ステップS403)空きチャンネル検出部109は、受信部103が、k番目の受信アンテナ112を用いて受信する情報を用いて、空きチャンネルを検出する処理を実行する。空きチャンネル検出部109が実行する空きチャンネルを検出する処理は、例えば、LBT処理である。なお、LBT処理については公知技術であるので説明は省略する。
(ステップS404)空きチャンネル検出部109は、ステップS403の処理により、空きチャンネルが検出できたか否かを判断する。空きチャンネルが検出できた場合、ステップS408に進み、検出できなかった場合、ステップS405に進む。
(ステップS405)出力部104は、k番目の送信アンテナ111および受信アンテナ112を用いた場合に、空きチャンネルがないことを示す情報をコンピュータ等の上位システム等に出力する。そして上位関数にリターンする。なお、空きチャンネルがないことを示す情報は、通信に失敗したことや、エラーが発生したこと等を示す情報であってもよい。また、空きチャンネルがないことを示す情報を送信しない場合、この処理は省略してもよい。そして、ステップS406に進む。
(ステップS406)切替指示部108は、カウンタkがアンテナ数M以上であるか否かを判断する。M以上である場合、上位関数にリターンし、M以上でない場合、ステップS407に進む。なお、M以上である場合、また、再度ステップS401からの処理を行うようにしてもよい。
(ステップS407)切替指示部108は、カウンタkを1インクリメントする。そして、ステップS402に戻る。
(ステップS408)通信処理装置1は、k番目の送信アンテナ111および受信アンテナ112を用いて、RFIDタグとの通信を行う。具体的には、送信指示受付部102が受け付けた送信指示に応じたコマンドを送信部101が送信アンテナ111を用いて送信し、そのコマンドの送信に応じてRFIDタグが送信する情報を、受信部103が受信アンテナ112を用いて受信する。受信した情報を出力部104から上位システム等に出力する。また、1以上のRFIDタグからの情報が受信できた場合、全てのRFIDタグからの受信が終了するまで、もしくは予め設定した時間に達するまで、コマンドの送信およびRFIDタグからの情報の受信を繰り返す。また、コリジョン等が発生している場合、アンチコリジョン処理等を行って通信を行う。この通信の際の送受信の制御等は、通信制御部110等が適宜行う。このRFIDタグとの通信処理は、通常、送信部101によりコマンドを送信してから、所定の時間内に、受信部103が、コリジョンの発生を検出せず、RFIDタグからのレスポンスを受信しなかった場合に終了する。
(ステップS409)不在検出部105は、k番目の送信アンテナ111および受信アンテナ112の通信エリアに、RFIDタグが不在であるか否かを検出する。ステップS408における送信部101からのコマンドの送信に対して、一度もレスポンスがなかった場合に、RFIDタグとの通信が成功しなかったと判断され、レスポンスがあった場合、不在でない、すなわちRFIDタグが存在すると判断する。なお、RFIDタグとの通信が成功したか否かを判断して、RFIDタグが不在であるか否かを検出してもよい。この場合、RFIDタグとの通信が失敗した時は、RFIDタグが不在であることを検出し、RFIDタグとの通信が成功した時は、RFIDタグが存在していることを検出するようにすればよい。RFIDタグが不在である場合、ステップS411に進み、RFIDタグが存在していた場合、ステップS408において、通信が成功したことを示すこととなるため、ステップS410に進む。
(ステップS410)通信処理装置1は、ステップS408における送受信の終了から所定の時間が経過しているか否かを判断する。所定の時間は、送信停止期間の時間であり、例えば、通信処理装置1が、UHF帯のRFIDタグ用の通信処理装置である場合、日本においては、電波の法律に基づいて、少なくとも、50ms以上の時間、もしくは、この50msから、LBT処理に要する時間を減算した時間に設定される。所定の時間が経過している場合、ステップS406へ進み、経過していない場合、ステップS410に戻る。なお、この処理は、通信制御部110等の、通信処理装置1のどの部が行うようにしてもよい。
(ステップS411)出力部104は、RFIDタグがk番目のアンテナの通信エリア内にないことを示す情報をコンピュータ等の上位システム等に出力する。そしてステップS410に進む。なお、RFIDタグがk番目のアンテナの通信エリア内にないことを示す情報は、通信に失敗したことや、エラーが発生したこと等を示す情報であってもよい。また、RFIDタグがk番目のアンテナの通信エリア内にないことを示す情報を送信しない場合、この処理は省略してもよい。なお、ステップS411の処理は、例えば、ステップS407やステップS403の前後に実行するようにしても良い。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における通信処理装置1の具体的な動作について説明する。通信処理装置1の概念図は図5である。図5は、通信処理装置1を、倉庫等の荷物の搬入口に設置した例を示す図である。ここでは、送信アンテナ111と受信アンテナ112とを兼用した4つの送受信アンテナ150a〜150dが、搬入口のゲート等に設置されているものとする。通信処理装置1は、4つの送受信用のポート151を有しており、送受信アンテナ150a〜150dがそれぞれのポート151に接続されているものとする。ここでは、倉庫等に搬入される荷物にRFIDタグ50が添付されることにより、搬入される荷物の管理が可能となっている。RFIDタグ50としてはUHF帯のRFIDタグが用いられているものとする。また通信処理装置1は、荷物等に添付されたタグから読み出した情報を用いて、荷物等を管理するための上位システムであるコンピュータ200と接続されているものとする。
ここで、まず、例として、通信処理装置1が、送受信アンテナ150aのみを利用して、RFIDタグと通信を行うように設定されている場合について説明する。この送受信アンテナ150aのみを使用することを設定する情報は、図示しないメモリ等に格納されているものとする。
まず、コンピュータ200が、通信処理装置1に対して、荷物に添付されているRFIDタグ50を読み出す指示を、通信回線を通じて出力したとする。
通信処理装置1は、コンピュータ200からRFIDタグ50を読み出す指示を受け付けると、直前に行われた送受信処理の終了時から、予め設定されている所定の時間、ここでは50ms、経過したか否かを判断する。ここでは、50ms経過していたとする。
次に、アンテナ数判断部107は、アンテナ数Mを判断する。ここでは、予め、送受信アンテナ150aのみを使用することを設定する情報がメモリ等に格納されているため、この情報をアンテナ数判断部107が読み出す。読み出した情報から、利用するアンテナ数をカウントし、ここでは、アンテナ数Mとして「1」を取得する。そして、アンテナ数判断部107は、アンテナ数Mが2以上でないと判断する。これにより、通信処理装置1においては、図3において説明した第一通信処理が行われることとなる。
空きチャンネル検出部109は、受信部103が受信するノイズ等の情報を用いて、空きチャンネルを検出するための、LBT処理を行う。このLBT処理の時間は、例えば、UHF帯のLBT処理時間として、最低必要とされる5msに予め設定されているものとする。ここで、一のLBT処理により、空きチャンネルが検出されなかったとすると、このLBT処理を、予め設定されている繰り返しの上限回数に達するか、もしくは空きチャンネルか検出されるまで繰り返す。繰り返しの上限回数は、例えば、ここでは最初のLBT処理も含めて3回に設定されているとする。ここでは、1つの送受信アンテナ150aしか利用しないため、この送受信アンテナ150aで空きチャンネルを検出する処理を繰り返しても、他の送受信アンテナによる送受信に何ら影響は与えない。
LBT処理の繰り返しが3回行われた時点で、空きチャンネルが検出されなかった場合、「空きチャンネルなし」を示す情報が、出力部104から、コンピュータ200に送信される。例えば、コンピュータ200においては、この「空きチャンネルなし」を示す情報により、読み出し処理が成功しなかったことを検知することができる。例えば、図6に、RFIDタグ50と通信処理装置1との送受信処理と、LBT処理との関係を示すタイミングチャートを示す。図に示すように、直前に行われた送受信処理から50ms経過後に、LBT処理が開始され、3回分のLBT処理が繰り返された後、LBT処理が終了する。なお、図6に示したタイミングチャートにおいて、時間軸方向の長さは、説明のため、部分毎に、適宜、時間の比率等が変更されているものとする。かかることは他のタイミングチャートにおいても同様である。
ここでは、例えば、LBT処理が2回繰り返された時点で、空きチャンネルが検出されたとする。この場合、この空きチャンネルを利用して、通信処理装置1により、RFIDタグ50との通信が開始される。
送信部101から、送受信アンテナ150aを介して、RFIDタグ50を読み出すコマンドが送信される。RFIDタグ50が、送受信アンテナ150aの通信エリア内に存在した場合、すなわちRFIDタグ50が添付された荷物が送受信アンテナ150aが取り付けられたゲート内に存在した場合、RFIDタグ50が、送信部101から送信されたコマンドに応じて、情報を送信する。そして、この情報が送受信アンテナ150aを介して、受信部103に受信される。そして、受信された情報が、コンピュータ200に出力部104から送信される。この処理が、全てのRFIDタグ50の読み出しが終了するまで繰り返される。ただし、繰り返しの上限時間は、日本の電波の法律上、4秒である。これにより、RFIDタグ50の情報が読み出される。このようなRFIDタグからの情報の読み出し処理や、アンチコリジョン処理等は、公知技術であるので、説明は省略する。
送受信アンテナ150の通信エリア内にRFIDタグ50が存在しなかった場合、送信部101から送信されたコマンドに応じて情報を送信するRFIDタグ50が不在であるため、受信部103では、予め設定した受信のための時間内に、RFIDタグからのレスポンスが得られないこととなる。
不在検出部105は、受信部103の、コマンドに応じてRFIDタグからのレスポンスが得られないという受信状況から、送受信アンテナ150aの通信エリア内にRFIDタグが不在であると判断する。
この場合、送信期間を終了してしまうと、LBT処理により検出した空きチャンネルを開放してしまうこととなり、効率的でない。このため、送信期間を終了せずに、一の送信期間内において、再送指示部106に、送信部101にコマンドの再送を指示する情報を出力する。送信部101は、再送指示部106からの再送の指示に応じて、コマンドの再送を行う。このような処理の繰り返しを、予め設定されている繰り返しの上限回数に達するか、もしくはRFIDタグ50からのレスポンスが得られるまで繰り返す。繰り返しの上限回数は、例えば、ここでは送信期間開始時の最初のコマンド送信も含めて、4回に設定されているとする。ここでは、1つの送受信アンテナ150aしか利用しないため、RFIDタグからのレスポンスが得られない場合に、送信期間を即座に終了しなくても、通信処理装置1の効率に悪影響を与えることはない。
コマンドの送信の繰り返しが4回行われた時点で、RFIDタグ50からのレスポンス得られなかった場合、「RFIDタグなし」を示す情報が、出力部104から、コンピュータ200に送信される。例えば、コンピュータ200においては、この「RFIDタグなし」を示す情報により、読み出すべきRFIDタグがなかったことを検知することができる。例えば、図7に、RFIDタグ50と通信処理装置1との送受信処理と、LBT処理との関係を示すタイミングチャートを示す。図に示すように、3回分のLBT処理が繰り返された時点で、空きチャンネルが検出され、その空きチャンネルを用いて送信部101からのコマンドの送信を合計4回行った結果、「RFIDタグなし」を示す情報が出力される。
ここで、例えば、コマンドの送信の繰り返しが4回行われるまでに、RFIDタグ50からのレスポンスが得られた場合、送信部101や受信部103により、送受信アンテナ150aを用いた通常の読み出し処理が実行される。例えば、図8に示すように、一の送信期間内における二回目のコマンドの送信に対して、RFIDタグ50から初めてレスポンスが得られた場合、それ以降は、RFIDタグ50からの読み出しが終了するまで、通常の送受信処理、ここでは、RFIDタグ50からの情報の読み出しが行われる。
次に、例として、通信処理装置1が、4つの送受信アンテナ150a〜150dをそれぞれ順番に利用して、RFIDタグと通信を行うように設定されている場合について説明する。この送受信アンテナ150a〜150dを使用することを設定する情報は、図示しないメモリ等に格納されているものとする。
通信処理装置1は、コンピュータ200からRFIDタグ50を読み出す指示を受け付けると、直前に行われた送受信処理の終了時から、予め設定されている所定の時間、ここでは50ms、経過したか否かを判断する。ここでは、50ms経過していたとする。
次に、アンテナ数判断部107は、メモリ等に格納されている送受信アンテナ150a〜150dを利用することを設定する情報を読み出し、この読み出した情報から、利用するアンテナ数をカウントし、ここでは、アンテナ数Mとして「4」を取得する。そして、アンテナ数判断部107は、アンテナ数Mが2以上であると判断する。これにより、通信処理装置1においては、図4において説明した第二通信処理が行われることとなる。
切替指示部108は、まず、1番目の送受信アンテナである送受信アンテナ150aを送受信に使用するアンテナに切り替える指示を、送信部101および受信部103に出力する。この指示に応じて、送信部101および受信部103は、送信および受信に用いるアンテナを送受信アンテナ150aに切り替える。なお、ここでは、結果的に、切替指示が指定するアンテナを、送信部101や受信部103が使用する状態となることを、切り替えることと考える。
空きチャンネル検出部109は、受信部103が送受信アンテナ150aを用いて受信するノイズ等の情報を用いて、空きチャンネルを検出するための、LBT処理を行う。このLBT処理の時間は、例えば、UHF帯のLBT処理時間として、最低必要とされる5msに予め設定されているものとする。ここで、LBT処理により、空きチャンネルが検出されなかったとすると、切替指示部108は、使用するアンテナを、送受信アンテナ150aから、二番目の送受信アンテナである送受信アンテナ150bに切り替える指示を送信部101および受信部103に出力する。そして、この切り替える指示に応じて選択した送受信アンテナ150bで再び、LBT処理を行う。このように空きチャンネルが見つからない場合に、即座にアンテナを切り替えて、LBT処理を行うことで、複数のアンテナを効率良く利用することができる。
その後、空きチャンネルが見つかるまで、同様に、送受信アンテナ150c、150dを切り替えてLBT処理を行う。送受信アンテナ150dを用いたLBT処理により、空きチャンネルが見つからない場合、LBT処理を終了し、「空きチャンネルなし」を示す情報が、出力部104から、コンピュータ200に送信される。例えば、図9に、RFIDタグ50と通信処理装置1との送受信処理と、LBT処理との関係を示すタイミングチャートを示す。図に示すように、直前に行われた送受信処理から50ms経過後から、送受信アンテナ150a〜150dを順次切り替えながら、LBT処理が開始され、送受信アンテナ150dを用いたLBT処理が繰り返された後、空きチャンネルなし」を示す情報が出力されて、処理が終了する。
ここでは、例えば、送受信アンテナ150bを用いたLBT処理において、空きチャンネルが検出されたとする。この場合、この空きチャンネルを利用して、通信処理装置1により、送受信アンテナ150bを用いたRFIDタグ50との通信が開始される。
送信部101から、送受信アンテナ150bを介して、RFIDタグ50を読み出すコマンドが送信される。
ここで、送受信アンテナ150bの通信エリア内にRFIDタグ50が存在しなかった場合、送信部101から送信されたコマンドに応じて情報を送信するRFIDタグ50が不在であるため、受信部103では、予め設定した受信のための時間内に、RFIDタグからのレスポンスが得られないこととなる。
不在検出部105は、受信部103の、コマンドに応じてRFIDタグからのレスポンスが得られないという受信状況から、送受信アンテナ150bの通信エリア内にRFIDタグが不在であると判断する。
この場合、送信期間を継続すると、RFIDタグが不在であるにもかかわらず、他の送受信アンテナを用いたRFIDタグとの送受信ができないため、効率的でない。このため、送信期間を終了する。そして、切替指示部108が、送信部101および受信部103の使用するアンテナを、残りの送受信アンテナ、ここでは、送受信アンテナ150cに切り替える指示を、送信部101および受信部103に出力する。
空きチャンネル検出部109は、送受信アンテナ150bの送受信処理の終了から、50ms経過した時点で、送受信アンテナ150cにより受信される情報を用いて、上記と同様にLBT処理を行う。そして、空きチャンネルが検出されたとすると、通信処理装置1により、送受信アンテナ150cを用いたRFIDタグ50との通信が開始される。
ここでも、送受信アンテナ150cの通信エリア内にRFIDタグ50が存在しなかったとすると、送受信アンテナ150bを用いた場合と同様に、RFIDタグの不在を検知した時点で、送信期間を終了する。そして、切替指示部108が、送信部101および受信部103の使用するアンテナを、残りの送受信アンテナ、ここでは、送受信アンテナ150dに切り替える指示を、送信部101および受信部103に出力する。
そして、送受信アンテナを送受信アンテナ150dに切り替えてLBT処理が再度行われる。ここで、送受信アンテナ150dを用いたLBT処理において、空きチャンネルが検出されたとすると、この空きチャンネルを利用して、通信処理装置1により、送受信アンテナ150dを用いたRFIDタグ50との通信が開始される。
RFIDタグ50が、送受信アンテナ150dの通信エリア内に存在した場合、RFIDタグ50が、送信部101から送信されたコマンドに応じて、情報を送信する。そして、この情報が送受信アンテナ150dを介して、受信部103に受信される。そして、受信された情報が、コンピュータ200に出力部104から送信される。この処理が、全てのRFIDタグ50の読み出しが終了するまで繰り返される。読み出しが終了した場合、送信期間を終了する。ただし、繰り返しの上限時間は、日本の電波の法律上、4秒である。これにより、RFIDタグ50の情報が読み出される。このようなRFIDタグからの情報の読み出し処理や、アンチコリジョン処理等は、公知技術であるので、説明は省略する。例えば、図10に、送受信アンテナ150b〜150dを用いた際に、空きチャンネルが検出された場合の、RFIDタグ50と通信処理装置1との送受信処理と、LBT処理との関係を示すタイミングチャートを示す。
以上、本実施の形態によれば、一の送信期間内にRFIDタグの不在を検出した場合に、送信部101がコマンドの再送を行うようにしたことにより、特に、送信アンテナ111および受信アンテナ112が一つの場合に、検出した空きチャンネルを効率的に利用でき、RFIDタグとの効率的な通信が可能となる。
また、本実施の形態によれば、送信アンテナ111と受信アンテナ112との対の数が2以上であると判断した場合であって、一の送信期間内にRFIDタグの不在を検出した場合に、送信アンテナ111および受信アンテナ112を切り替えさせる指示を出力するようにし、送信アンテナ111と受信アンテナ112との対の数が2以上でないと判断した場合であって、一の送信期間内にRFIDタグの不在を検出した場合に、送信部101がコマンドの再送を行うようにしたので、利用する送信アンテナ111と受信アンテナ112との数が1対の場合において、RFIDタグが不在である場合には、送信部101にコマンドを再送させて、空きチャンネルを効率的に利用できるようにするとともに、利用する送信アンテナ111と受信アンテナ112との数が2対以上の場合において、RFIDタグが不在である場合には、送信アンテナ111と受信アンテナ112との対を切り替えて、異なる送信アンテナ111と受信アンテナ112とにより、RFIDタグとの通信を行わせて、複数の送信アンテナ111と受信アンテナ112とを効率的に利用できる。このように、本実施の形態によれば、送信アンテナ111と受信アンテナ112との対の数に応じて、各送信アンテナ111および受信アンテナ112を用いた通信時に、RFIDタグが検出されなかった場合のコマンドの再送を行うか否かを変更して、効率的な通信が可能となる。
また、本実施の形態によれば、送信アンテナと受信アンテナとの対の数が2以上であると判断した場合であって、空きチャンネルを検出できなかった場合に、受信アンテナを切り替えて空きチャンネルの検出を行い、送信アンテナと受信アンテナとの対の数が2以上でないと判断した場合であって、空きチャンネルを検出できなかった場合に、空きチャンネルの検出を繰り返すようにしたので、利用する送信アンテナ111と受信アンテナ112との数が1対の場合において、空きチャンネルが検出できない場合には、再度空きチャンネルを検出する処理を行うようにして、効率的に空きチャンネルを検出できるとともに、利用する送信アンテナ111と受信アンテナ112との数が2対以上の場合において、空きチャンネルが検出できない場合には、送信アンテナ111と受信アンテナ112との対を切り替えて、異なる送信アンテナ111と受信アンテナ112とにより、空きチャンネルの検出を行わせることができ、複数の送信アンテナ111と受信アンテナ112とを効率的に利用できる。このように、本実施の形態によれば、送信アンテナ111と受信アンテナ112との対の数に応じて、各送信アンテナ111および受信アンテナ112を用いた空きチャンネル検出時に、空きチャンネルが検出されなかった場合の空きチャンネル処理の繰り返しを行うか否かを変更して、効率的な通信が可能となる。
なお、本実施の形態では、図3において説明した第一通信処理において、チャンネルに空きがない場合に、最大L回、空きチャンネルを検出する処理、具体的にはLBT処理、を行うようにしたが、予め設定した所定の時間が経過するまで、すなわちタイムアップとなるまで、空きチャンネルを検出する処理を行うようにしても良い。具体的には、図11に示すようフローチャートのように、図3に示したフローチャートにおいて、ステップS301、ステップS304、およびステップS306の代わりに、ステップS1101として、空きチャンネル検出部109が、最初のLBT処理を開始してからの経過時間が、所定の時間を達したか否かを判断し、所定の時間に達した場合に、ステップS305に進み、達していない場合、ステップS302に進む処理ステップを設けるようにすればよい。この時間は、例えば、通信処理装置1内に設けられた図示しない時計等を用いて計測するようにすればよい。なお、図11において、図3と同一符号は同一または相当する処理ステップを示す。
また、本実施の形態では、図3において説明した第一通信処理において、タグとの通信が成功しなかった場合、すなわち、送信部101からのコマンドの送信に対して、RFIDタグからのレスポンスが得られない場合に、最大R回、送信部101からのコマンド送信を行うようにしたが、予め設定した所定の時間が経過するまで、すなわちタイムアップとなるまで、コマンドを送信する処理を繰り返すようにしても良い。具体的には、図12に示すようフローチャートのように、図3に示したフローチャートにおいて、ステップS307、ステップS310、およびステップS312の代わりに、ステップS1201として、不在検出部105が、送信部101の最初のコマンドの送信開始からの経過時間が、所定の時間を達したか否かを判断し、所定の時間に達した場合に、ステップS311に進み、達していない場合、ステップS313に進む処理ステップを設けるようにすればよい。この時間は、例えば、通信処理装置1内に設けられた図示しない時計等を用いて計測するようにすればよい。なお、図12において、図3と同一符号は同一または相当する処理ステップを示す。
なお、上記実施の形態において、送信アンテナおよび受信アンテナの対の数により、RFIDタグが不在である場合にコマンドの再送を行うか否かを、変更するようにしたが、例えば、送信アンテナ111および受信アンテナ112の対を一つしか用いないことが多い場合等においては、送信アンテナおよび受信アンテナの対の数により、RFIDタグが不在である場合にコマンドの再送を行うか否かを、変更せずに、図3において、ステップS307〜ステップS310において示したような、RFIDタグが不在である場合にコマンドの再送を繰り返す処理を、各送信アンテナと受信アンテナとの対を用いてRFIDタグとの通信を行う際に、常に行うようにしても良い。
また、上記実施の形態において、送信アンテナおよび受信アンテナの対の数により、空きチャンネルの検出処理を繰り返すか否かを変更し、さらに、送信アンテナおよび受信アンテナの対の数により、RFIDタグが不在である場合にコマンドの再送を行うか否かを、変更するようにしたが、この2つの変更のうちの、いずれか一方のみを変更するようにしても良い。
例えば、送信アンテナおよび受信アンテナの対の数により、空きチャンネルの検出処理を繰り返すか否かのみを、変更するようにしても良い。この場合、例えば、図3のフローチャートにおいて、ステップS307、ステップS310、ステップS312、およびステップS313の処理ステップを省略するようにすればよい。
また、送信アンテナおよび受信アンテナの対の数により、RFIDタグが不在である場合にコマンドの再送を行うか否かを、変更するようにしてもよい。この場合、例えば、図3のフローチャートにおいて、ステップS301、ステップS304、およびステップS306の処理を省略するようにすればよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における通信処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、RFIDタグとの通信を行う通信処理を実行させるためのプログラムであって、RFIDタグに対するコマンドの送信を行う送信ステップと、RFIDタグから送信される情報の受信を行う受信ステップと、前記受信ステップで受信した情報を出力する出力ステップと、前記送信ステップで前記コマンドを送信した場合の、前記受信ステップの受信状況に応じて、RFIDタグの不在を検出する不在検出ステップと、前記不在検出ステップが、RFIDタグの不在を検出した場合に、一の送信期間内に前記コマンドを再送する再送ステップとを実行させるためのプログラムである。
また、このプログラムは、コンピュータに、RFIDタグとの通信を行う通信処理を実行させるためのプログラムであって、1以上の送信アンテナを用いて、RFIDタグに対するコマンドの送信を行う送信ステップと、前記1以上の送信アンテナと対をなす1以上の受信アンテナを用いて、RFIDタグから送信される情報の受信を行う受信ステップと、前記受信ステップで受信した情報を出力する出力ステップと、前記送信ステップで前記1以上の送信アンテナのうちの一の送信アンテナを用いて前記コマンドを送信した場合の、当該一の送信アンテナに対応した一の受信アンテナを用いた前記受信ステップによる受信状況に応じて、RFIDタグの不在を検出する不在検出ステップと、前記送信アンテナと受信アンテナとの対の数が2以上であるか否かを判断するアンテナ数判断ステップと、を実行させ、前記送信ステップは、前記アンテナ数判断ステップにより、前記送信アンテナと受信アンテナとの対の数が2以上であると判断した場合であって、前記不在検出ステップにより、RFIDタグの不在を検出した場合に、前記送信アンテナおよび受信アンテナを切り替えて行われ、前記アンテナ数判断ステップにより、前記送信アンテナと受信アンテナとの対の数が2以上でないと判断した場合であって、前記不在検出ステップにより、RFIDタグの不在を検出した場合に、一の送信期間内に前記コマンドを再送するプログラムである。
また、このプログラムは、コンピュータに、複数チャンネルのうちの一のチャンネルを用いて、RFIDタグとの通信を行う通信処理を実行させるためのプログラムであって、1以上の送信アンテナを用いて、RFIDタグに対するコマンドの送信を行う送信ステップと、前記1以上の送信アンテナと対をなす1以上の受信アンテナを用いて、情報の受信を行う受信ステップと、前記受信ステップで受信した情報のうちの、RFIDタグから送信される情報を出力する出力ステップと、前記1以上の受信アンテナのうちの一の受信アンテナを用いて受信した情報を用いて、RFIDタグとの通信を行うチャンネルとして利用する空きチャンネルを検出する空きチャンネル検出ステップと、前記送信アンテナと受信アンテナとの対の数が2以上であるか否かを判断するアンテナ数判断ステップと、を実行させ、前記空きチャンネル検出ステップは、前記アンテナ数判断ステップにより、前記送信アンテナと受信アンテナとの対の数が2以上であると判断した場合であって、当該空きチャンネル検出部が空きチャンネルを検出できなかった場合に、前記受信アンテナを切り替えて空きチャンネルの検出を行い、前記アンテナ数判断ステップにより、前記送信アンテナと受信アンテナとの対の数が2以上でないと判断した場合であって、当該空きチャンネル検出ステップにより空きチャンネルを検出できなかった場合に、空きチャンネルの検出を繰り返すプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(送信部と受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。