トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 通信処理装置、情報処理装置、通信システム、通信処理方法、情報処理方法、およびプログラム
【発明者】 【氏名】肥塚 八尋

【要約】 【課題】従来の通信処理装置においては、適切な区分数を設定できないという課題があった。

【構成】識別情報を有する複数の通信機器200との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部101と、通信機器200が出力する識別情報を受信する受信部102と、複数の通信機器200との間で、それぞれに割り当てられた区分別に通信を行う場合における、衝突数を取得する衝突数取得部103と、区分数指定指示が指定する区分数と、衝突数とを用いて、通信機器200数を推定する通信機器数推定部104と、この推定した通信機器数に対応した区分数を取得する区分数取得部105と、この区分数を用いて区分数指定指示が指定する区分数を更新する区分数更新部106とを具備する。
【特許請求の範囲】
【請求項1】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置。
【請求項2】
前記複数の通信機器が送信する識別情報を受信する受信部をさらに具備する請求項1記載の通信処理装置。
【請求項3】
前記区分数取得部は、
前記通信機器数推定部の推定した通信機器の数から、前記受信部が識別情報を受信した通信機器の数を減算して得られた通信機器の数に対応した区分数を取得する請求項2記載の通信処理装置。
【請求項4】
前記通信機器数推定部は、
前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、
前記確率取得手段が取得した割り当て確率の値が、最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する請求項1から請求項3いずれか記載の通信処理装置。
【請求項5】
前記区分数取得部は、
前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数推定部の推定した通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、
前記期待値取得手段が取得した期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、
前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する請求項1から請求項4いずれか記載の通信処理装置。
【請求項6】
前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、
前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する請求項1から請求項3いずれか記載の通信処理装置。
【請求項7】
前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、
前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数推定部の推定した通信機器数に対応した区分数を取得する請求項1から請求項4または請求項6記載の通信処理装置。
【請求項8】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である1以上の更新区分数情報が格納され得る更新区分数情報格納部と、
当該更新区分数情報格納部が格納している更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得部が取得した衝突数とに対応した更新区分数を取得する更新区分数取得部と、
前記区分数取得部が取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置。
【請求項9】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付部と、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付部と、
前記区分数受付部が受け付けた区分数と、前記衝突数受付部の受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記通信機器数推定部の推定した通信機器数を出力する通信機器数出力部とを具備する情報処理装置。
【請求項10】
前記通信機器数推定部は、
前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、
前記確率取得手段が取得した割り当て確率の値が最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する請求項9記載の情報処理装置。
【請求項11】
前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、
前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する請求項10記載の情報処理装置。
【請求項12】
識別情報を有する複数の通信機器の数を受け付ける通信機器数受付部と、
前記通信機器数受付部の受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数を出力する区分数出力部とを具備する情報処理装置。
【請求項13】
前記区分数取得部は、
前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数受付部の受け付けた通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、
前記期待値取得手段が取得した前記期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、
前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する請求項12記載の情報処理装置。
【請求項14】
前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、
前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数受付部の受け付けた通信機器数に対応した区分数を取得する請求項12記載の情報処理装置。
【請求項15】
複数の通信機器と、通信処理装置とを具備する通信システムであって、
前記複数の通信機器は、それぞれ、
識別情報が格納され得る識別情報格納部と、
前記通信処理装置が送信した、当該複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する指示受信部と、
前記区分数指定指示に応じた区分のいずれか1つを自機器に割り当てる区分割当部と、
割り当てられた区分別に、所定の信号を送信する信号送信部と
前記通信処理装置からの指示に応じて、前記識別情報を送信する識別情報送信部と、を具備し、
前記通信処理装置は、
前記区分数指定指示を送信する指示送信部と、
前記通信機器の信号送信部が送信する所定の信号、および前記通信機器が送信する識別情報を受信する受信部と、
前記受信部の受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記受信部の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器に対して、前記識別情報を送信する指示を送信する識別情報送信指示送信部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信システム。
【請求項16】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項17】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
格納されている、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得ステップにより取得した衝突数とに対応した更新区分数を取得する更新区分数取得ステップと、
前記区分数取得ステップが取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項18】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップで受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を出力する通信機器数出力ステップとを具備する情報処理方法。
【請求項19】
識別情報を有する複数の通信機器の数を受け付ける通信機器数受付ステップと、
前記通信機器数受付ステップにより受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数を出力する区分数出力ステップとを具備する情報処理方法。
【請求項20】
複数の通信機器と、通信処理装置とを具備する通信システムの通信処理方法であって、
前記複数の通信機器に対する、通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記指示送信ステップで送信された区分数指定指示を、前記複数の通信機器において受信する指示受信ステップと、
前記区分数指定指示に応じた区分のいずれか1つを前記通信機器に割り当てる区分割当ステップと、
前記区分数割当ステップにより割り当てられた区分別に、前記複数の通信機器から所定の信号を送信する信号送信ステップと
前記通信機器の信号送信部が送信する所定の信号を受信する受信ステップと、
前記受信ステップの受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項21】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラム。
【請求項22】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
格納されている、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得ステップにより取得した衝突数とに対応した更新区分数を取得する更新区分数取得ステップと、
前記区分数取得ステップが取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラム。
【請求項23】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップで受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を出力する通信機器数出力ステップとを実行させるためのプログラム。
【請求項24】
コンピュータに、
識別情報を有する複数の通信機器の数を受け付ける通信機器数受付ステップと、
前記通信機器数受付ステップにより受け付けた通信機器数を用いて、当該通信機器数に対応した、当該複数の通信機器との通信を分割して行うための区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数を出力する区分数出力ステップとを実行させるためのプログラム。
【請求項25】
コンピュータが識別情報を有する複数の通信機器の数を推定する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項26】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、
前記複数の区分数のデータの中から、通信を分割して行う前記複数の通信機器の数により特定される区分数のデータを取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項27】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される、前記区分数の更新に用いられる区分数のデータである複数の更新区分数データとを含み、
前記コンピュータは、前記複数の通信区分数データの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される更新区分数データを取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項28】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータと、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得し、
当該取得した通信機器数のデータにより特定される区分数のデータを、前記複数の区分数のデータの中から取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項29】
コンピュータが識別情報を有する複数の通信機器の数を推定する処理に用いられるデータ構造であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得することを特徴とするデータ構造。
【請求項30】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造であって、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、前記複数の区分数のデータの中から、通信を分割して行う前記複数の通信機器の数により特定される区分数のデータを取得することを特徴とするデータ構造。
【請求項31】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される、前記区分数の更新に用いられる区分数のデータである複数の更新区分数データとを含み、
前記コンピュータは、前記複数の通信区分数データの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される更新区分数データを取得することを特徴とするデータ構造。
【請求項32】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータと、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得し、
当該取得した通信機器数のデータにより特定される区分数のデータを、前記複数の区分数のデータの中から取得することを特徴とするデータ構造。
【請求項33】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置。
【請求項34】
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記複数の通信機器が送信する識別情報を受信する受信部と、を更に具備し、
上記残った通信機器数は、前記通信機器数推定部が推定した前記複数の通信機器の数から、前記受信部が識別情報を受信した通信機器数を減算した数である請求項33記載の通信処理装置。
【請求項35】
前記通信機器数推定部は、
前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、
前記確率取得手段が取得した割り当て確率の値が、最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する請求項34記載の通信処理装置。
【請求項36】
前記区分数取得部は、
前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記残った通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、
前記期待値取得手段が取得した期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、
前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する請求項33から請求項34いずれか記載の通信処理装置。
【請求項37】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付部と、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付部と、
前記区分数受付部が受け付けた区分数と、前記衝突数受付部が受け付けた衝突数とを用いて、残った通信機器数を取得する通信機器数推定部と、
前記通信機器数推定部の取得した通信機器数を出力する通信機器数出力部とを具備する情報処理装置。
【請求項38】
複数の通信機器と、通信処理装置とを具備する通信システムであって、
前記複数の通信機器は、それぞれ、
識別情報が格納され得る識別情報格納部と、
前記通信処理装置が送信した、当該複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する指示受信部と、
前記区分数指定指示に応じた区分のいずれか1つを自機器に割り当てる区分割当部と、
割り当てられた区分別に、所定の信号を送信する信号送信部と
前記通信処理装置からの指示に応じて、前記識別情報を送信する識別情報送信部と、を具備し、
前記通信処理装置は、
前記区分数指定指示を送信する指示送信部と、
前記通信機器の信号送信部が送信する所定の信号、および前記通信機器が送信する識別情報を受信する受信部と、
前記受信部の受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記受信部の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器に対して、前記識別情報を送信する指示を送信する識別情報送信指示送信部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信システム。
【請求項39】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項40】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップにより受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、残った通信機器数を取得する通信機器数推定ステップと、
前記通信機器数推定ステップにより取得した通信機器数を出力する通信機器数出力ステップとを具備する情報処理方法。
【請求項41】
複数の通信機器と、通信処理装置とを具備する通信システムの通信処理方法であって、
前記複数の通信機器に対する、通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記指示送信ステップで送信された区分数指定指示を、前記複数の通信機器において受信する指示受信ステップと、
前記区分数指定指示に応じた区分のいずれか1つを前記通信機器に割り当てる区分割当ステップと、
前記区分数割当ステップにより割り当てられた区分別に、前記複数の通信機器から所定の信号を送信する信号送信ステップと
前記通信機器の信号送信部が送信する所定の信号を受信する受信ステップと、
前記受信ステップの受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項42】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラム。
【請求項43】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップにより受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、残った通信機器数を取得する通信機器数推定ステップと、
前記通信機器数推定ステップにより取得した通信機器数を出力する通信機器数出力ステップとを実行させるためのプログラム。
【請求項44】
請求項42または請求項43記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、RFID(Radio Frequency Identity)タグ等の通信機器との通信を行う通信処理装置等に関するものである。
【背景技術】
【0002】
従来、RFIDタグ等の識別情報を有する通信機器との通信を行う場合において、通信機器数が多くなってくると、通信機器が発信する信号同士が衝突して、通信機器からの信号を受信する通信処理装置、例えばRFIDタグリーダ/ライタが、信号を正常に受信できなくなってしまう。このような衝突が生じる現象は通常、コリジョンと呼ばれる。このような複数の機器が出力する信号の衝突を防いで、複数の通信機器の信号を読み取り可能とする処理はアンチコリジョン処理と呼ばれる。
【0003】
このようなアンチコリジョン処理としては、例えば、タイムスロットを利用したものがある。具体的には、識別情報を有する複数の通信機器、例えばRFIDタグとの通信を分割して行うために、タイムスロットと呼ばれる、信号の読み出し処理を行うタイミングを時分割した複数の区分のいずれか1つに、複数の通信機器を任意に割り当てさせ、タイムスロットごとに、1つのタイムスロットに含まれる通信機器に乱数を出力させる。そして、その乱数を通信処理装置が正常に読み出せた場合、その乱数を出力した通信機器から識別情報を読み出す。また、タイムスロットに複数の通信機器が割り当てられており、このタイムスロットの通信機器から出力された乱数が、コリジョンの発生により読み出せなかった場合には、このタイムスロットからは、識別情報を読み出さない。同様にして、全てのタイムスロットの通信機器に対して一通り乱数を出力させる。タイムスロットに割り当てさせてから、全てのタイムスロットについて一通り乱数を出力させ、コリジョンの発生しなかった通信機器から識別情報を読み出すまでを、シーケンスと呼ぶ。1シーケンスが終わると、新たに、識別情報の読み出されていない通信機器を任意のタイムスロットに割り当てさせて、上記の処理を行う。そして、コリジョンが発生しなくなったシーケンスが終了した時点で処理を終了する。これにより、複数の通信機器の識別情報を読み出すことが可能となる。
【0004】
上記のようなタイムスロットを利用したアンチコリジョン処理(SLOTTED ALOHA方式)においては、タイムスロット数の設定が、処理性能を向上させる上で重要となる。例えば、タイムスロット数を大きくすると、コリジョンの発生確率は減少するが、タイムスロットごとに結果的に識別情報が読み出せるか否かの処理を行うこととなるため、1シーケンス内の処理時間が増加してしまう。逆にタイムスロット数を小さくすると、1シーケンス内の処理時間は減少するが、コリジョンの発生確率が増加してしまう。
【0005】
このため、例えば、直前のシーケンスにおけるRFIDタグ等の通信機器からのレスポンス数に応じて、細かくタイムスロット数を変化させていくことで、タイムスロット数を最適化させようとする技術等が提案されている(例えば、非特許文献1参照)。
【非特許文献1】"EPCTM Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at860MHz-960MHz Version 1.0.9"[online]、2005年1月、EPCglobal IncTM、[2006年4月4日検索]、インターネット〈URL:http://www.epcglobalinc.org/standards_technology/EPCglobal2UHFRFIDProtocolV109122005.pdf〉p.84等
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の通信処理装置等においては、タイムスロット数を変動させる際に、通信処理装置との通信可能なエリア内に存在する通信機器数を考慮せずに、単に直前のシーケンスによるレスポンスに応じて少しずつタイムスロット数を変化させるため、通信機器数によっては、タイムスロット数を最適化させるために時間がかかってしまい、その結果、アンチコリジョン処理の時間が十分に短縮できないという課題があった。
【0007】
また、通信処理装置と通信可能な通信機器数の概略が判明すれば、これに合わせて、タイムスロット数の初期値を適切であると考えられている値に設定することも考えられるが、従来は、通信処理装置と通信可能な通信機器数を取得することができなかった。このため、タイムスロット数を適切に設定することができなかった。
【0008】
また、仮に通信機器数の概略が判明していても、通信機器数に対して、どのようなタイムスロット数を設定することが適切であるかわからないため、適切なタイムスロット数を設定することができなかった。
【課題を解決するための手段】
【0009】
本発明の通信処理装置は、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置である。
【0010】
かかる構成により、通信が可能な通信機器数を推定し、この推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。これにより、アンチコリジョン処理の高速化や効率化を図ることができる。
【0011】
また、本発明の通信処理装置は、前記通信処理装置において、前記複数の通信機器が送信する識別情報を受信する受信部をさらに具備する通信処理装置である。
【0012】
かかる構成により、最適な区分数を設定することができる。
【0013】
また、本発明の通信処理装置は、前記通信処理装置において、前記区分数取得部は、前記通信機器数推定部の推定した通信機器の数から、前記受信部が識別情報を受信した通信機器の数を減算して得られた通信機器の数に対応した区分数を取得する通信処理装置である。
【0014】
かかる構成により、正確に通信機器数を推定することができ、より適切な区分数を設定することができる。
【0015】
また、本発明の通信処理装置は、前記通信処理装置において、前記通信機器数推定部は、前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、前記確率取得手段が取得した割り当て確率の値が、最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する通信処理装置である。
【0016】
かかる構成により、通信が可能な通信機器数を精度良く推定することができ、この推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。
【0017】
また、本発明の通信処理装置は、前記通信処理装置において、前記区分数取得部は、前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数推定部の推定した通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、前記期待値取得手段が取得した期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する通信処理装置である。
【0018】
かかる構成により、推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を、精度良く取得することができる。
【0019】
また、本発明の通信処理装置は、前記通信処理装置において、前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する通信処理装置である。
【0020】
かかる構成により、通信機器数を推定するための演算処理等が不要となり、通信機器数を取得する処理の高速化を図ることができ、区分数を最適化するための処理時間の短縮化を図ることができる。この結果、アンチコリジョン処理の所用時間を短縮させることができる。
【0021】
また、本発明の通信処理装置は、前記通信処理装置において、前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数推定部の推定した通信機器数に対応した区分数を取得する通信処理装置である。
【0022】
かかる構成により、推定された通信機器数から、この通信機器数に最適な区分数を取得するための演算処理等が不要となり、区分数を取得する処理の高速化を図ることができ、区分数を最適化するための処理時間の短縮化を図ることができる。この結果、アンチコリジョン処理の所用時間を短縮させることができる。
【0023】
また、本発明の通信処理装置は、前記通信処理装置において、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報が格納され得る更新区分数情報格納部と、当該更新区分数情報格納部が格納している更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得部が取得した衝突数とに対応した更新区分数を取得する更新区分数取得部と、前記区分数取得部が取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置である。
【0024】
かかる構成により、区分数と衝突数とから、直接、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。また、最適な区分数を設定する際に演算処理も不要となる。これにより、アンチコリジョン処理の高速化や効率化を図ることができる。
【0025】
また、本発明の情報処理装置は、識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付部と、前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付部と、前記区分数受付部が受け付けた区分数と、前記衝突数受付部の受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、前記通信機器数推定部の推定した通信機器数を出力する通信機器数出力部とを具備する情報処理装置である。
【0026】
かかる構成により、通信が可能な通信機器数を推定することができる。これにより、この通信機器数を用いて、区分数等を設定することでアンチコリジョン処理の高速化や効率化を図ることができる。
【0027】
また、本発明の情報処理装置は、前記情報処理装置において、前記通信機器数推定部は、前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、前記確率取得手段が取得した割り当て確率の値が最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する情報処理装置である。
【0028】
かかる構成により、通信機器数を精度良く推定することができる。
【0029】
また、本発明の情報処理装置は、前記情報処理装置において、前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する情報処理装置である。
【0030】
かかる構成により、通信機器数を推定するための演算処理等を不要として、処理の高速化を図ることができる。
【0031】
また、本発明の情報処理装置は、識別情報を有する複数の通信機器の数を受け付ける通信機器数受付部と、前記通信機器数受付部の受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得部と、前記区分数取得部が取得した区分数を出力する区分数出力部とを具備する情報処理装置である。
【0032】
かかる構成により、通信機器数に対して最適な区分数を取得することができる。これにより、この通信機器数に対して効率よくアンチコリジョン処理を行うことができる。
【0033】
また、本発明の情報処理装置は、前記情報処理装置において、前記区分数取得部は、前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数受付部の受け付けた通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、前記期待値取得手段が取得した前記期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する情報処理装置である。
【0034】
かかる構成により、区分数を精度良く取得することできる。
【0035】
また、本発明の情報処理装置は、前記情報処理装置において、前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数受付部の受け付けた通信機器数に対応した区分数を取得する情報処理装置である。
【0036】
かかる構成により、区分数を取得するための演算処理等を不要として、処理の高速化を図ることができる。
【0037】
また、本発明の通信システムは、複数の通信機器と、通信処理装置とを具備する通信システムであって、前記複数の通信機器は、それぞれ、識別情報が格納され得る識別情報格納部と、前記通信処理装置が送信した、当該複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する指示受信部と、前記区分数指定指示に応じた区分のいずれか1つを自機器に割り当てる区分割当部と、割り当てられた区分別に、所定の信号を送信する信号送信部と前記通信処理装置からの指示に応じて、前記識別情報を送信する識別情報送信部と、を具備し、前記通信処理装置は、前記区分数指定指示を送信する指示送信部と、前記通信機器の信号送信部が送信する所定の信号、および前記通信機器が送信する識別情報を受信する受信部と、前記受信部の受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得部と、前記受信部の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器に対して、前記識別情報を送信する指示を送信する識別情報送信指示送信部と、前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信システムである。
【0038】
かかる構成により、通信が可能な通信機器数を推定し、この推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。これにより、アンチコリジョン処理の高速化や効率化を図ることができる。
【発明の効果】
【0039】
本発明による通信処理装置等によれば、適切な区分数を設定することができる。
【発明を実施するための最良の形態】
【0040】
以下、通信処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0041】
(実施の形態1)
図1は、本実施の形態における通信システムのブロック図である。
【0042】
本実施の形態の通信システムは、通信処理装置100と、複数の通信機器200とを具備している。ここでは、便宜上、複数の通信機器200を、通信機器200a、通信機器200b、200c等として示す。
【0043】
通信処理装置100は、例えば、通信機器200との通信を行い、通信機器200に対して信号の読み書きが可能な装置であり、例えばRFIDタグリーダ/ライタ等である。ただし、通信機器200との通信を行う他の通信装置との間で、送受信に用いられる信号等の送受信を行うものであっても良い。通信処理装置100と、各通信機器200とは、無線接続や有線接続等により通信が可能となっている。
【0044】
通信処理装置100は、指示送信部101、受信部102、衝突数取得部103、通信機器数推定部104、区分数取得部105、区分数更新部106、識別情報送信指示送信部107を具備する。
【0045】
また、通信機器数推定部104は、確率取得手段1041、および推定通信機器数取得手段1042を具備する。
【0046】
また、区分数取得部105は、期待値取得手段1051、評価値算出手段1052および対応区分数取得手段1053を具備する。
【0047】
通信機器200は、通信処理装置100から出力される指示に応じて動作が可能な機器である。通信機器200は、特に、識別情報をデータとして有しており、通信処理装置100からの指示に応じて、この識別情報を、通信処理装置100に出力可能である。通信機器200は、例えば、RFIDタグ等である。
【0048】
通信機器200は、それぞれ、識別情報格納部201、指示受信部202、区分割当部203、信号送信部204、識別情報送信部205を具備する。
【0049】
指示送信部101は、識別情報を有する複数の通信機器200との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する。識別情報は、具体的には、複数の通信機器200のうちの1つを、他の通信機器200と識別することのできる情報であれば、どのような情報であってもよい。例えば、識別情報は、通信機器200の名前や、製造番号、通信機器200固有の文字列等により構成される情報である。特に、通信機器200がRFIDタグ等である場合、識別情報は、EPC(Electronic Product Code)であっても良い。区分とは、通信を分割して行うために、通信時間や、通信に用いられる周波数や、符号等を分割したものである。区分は、具体的にはスロットや、チャンネルと呼ばれる。特に、通信時間を時分割した場合、区分はタイムスロットと呼ばれる。また、周波数分割した場合、区分は、チャンネルと呼ばれる。区分数とは、通信時間や周波数等をいくつの区分に分割するかを指定する値であり、タイムスロット数や、チャンネル数と呼ばれる。本実施の形態においては、特に、区分がタイムスロットである場合を例として説明する。以下、タイムスロットを、便宜上、スロットと呼ぶこともある。なお、本願においては、タイムスロット数等の区分数を利用する代わりに、区分数に1対1に対応し、区分数を特定できる情報を適宜利用しても良く、この場合にも、結果的には、区分数を利用したものと考える。例えば、RFIDタグとの通信においては、通常は、規格(例えばEPC Class1 Generation2規格)等によりタイムスロット数は2(Qは正の整数)で表され、QはQ値と呼ばれる。EPC Class1 Generation2の規定においては、0≦Q≦15と定められている。このような、Q値を、区分数であるタイムスロット数の代わりに利用しても良く、この場合にも、結果的には、タイムスロット数を利用したものと考える。区分数指定指示は、区分数を直接指定する指示であっても良いし、区分数に1対1に対応する値であって、区分数を特定できる値を指定する値、例えばQ値を指定する値であってもよい。また、区分数指定指示が、通信機器200に区分数を設定させる指示等を含んでいても良い。区分数指定指示は、例えば、指示送信部101の内部または外部の、図示しないメモリ等の記憶媒体に格納されている。この区分数指定指示は、後述する区分数更新部106により更新され得る。指示送信部101は、通信処理装置100が、通信機器200との通信を行う装置である場合、通信可能な範囲内の通信機器200に対して、区分数指定指示を直接送信するが、通信処理装置100が、通信機器200と直接通信しない場合等には、指示送信部101が、通信機器200との通信を行う他の通信装置(図示せず)に対して、区分数指定指示を送信するようにし、これを受信した他の通信装置が、通信機器200に対して、区分数指定指示を送信するようにしてもよい。また、指示送信部101は、区分数指定指示以外の他の指示、例えば、所定の区分に割り当てられた通信機器200に信号を出力させる指示や、特定の通信機器200に識別情報を送信させるための指示等を送信しても良い。指示送信部101は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0050】
受信部102は、通信機器200が送信する識別情報を受信する。また、受信部102は、通信機器200の信号送信部204が送信する所定の信号を受信する。この所定の信号とは、具体的には、通信機器200を識別することが可能な情報であればよく、例えば、通信機器200が、任意に設定した乱数や、上述した識別情報、もしくはこれと同様の情報が利用可能である。受信部102は、無線の通信手段が好適であるが、放送を受信する手段や有線の通信手段でも実現可能である。
【0051】
衝突数取得部103は、通信処理装置100が、上述した区分数指定指示により指定された区分数の各区分に割り当てられた複数の通信機器200との間で、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数(コリジョン数)を取得する。具体的には、通信機器200が、割り当てられた区分別、例えば、タイムスロット別やチャンネル別に、通信処理装置100と通信を行った場合において発生したコリジョンを検出し、衝突が発生した区分数であるコリジョン数を取得する。例えば、指示送信部101が、複数の通信機器200のそれぞれを、区分数指定指示の指定する数のタイムスロットの1つに割り当てさせ、複数のタイムスロットのうちの1つのタイムスロットを指定して、これに割り当てられた通信機器200に上述したような所定の信号を出力させる。このとき、受信部102が受信した所定の信号が、正常に読み取れなかった場合、衝突数取得部103は、衝突が発生したことを検知する。そして、衝突の発生したタイムスロットの数をカウントすることで衝突数を取得する。衝突が発生するということは、1つの区分、例えばタイムスロットに、複数の通信機器200が対応している、すなわち割り当てられているということである。なお、通信機器200を各区分に割り当てる際には、通信機器200が1つも割り当てられない区分が1以上発生しても良い。衝突数取得部103は、通常、MPUやメモリ等から実現され得る。衝突数取得部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0052】
識別情報送信指示送信部107は、1つの区分内において、衝突が発生しなかった通信機器200に対して、識別情報を送信する指示を送信する。例えば、受信部102の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器200に対して、識別情報を送信する指示を送信する。具体的には、受信部102の受信した所定の信号が通信機器200を識別可能な情報、例えば通信機器200が設定した乱数等である場合、この識別可能な情報を引数とする識別情報の送信指示を、識別情報送信指示送信部107が送信する。識別情報送信指示送信部107は、無線または有線の通信手段等で実現され得る。なお、通信機器200が送信する所定の信号を、通信機器200の識別情報とする場合、この識別情報送信指示送信部107は省略してもよい。
【0053】
通信機器数推定部104は、区分数指定指示により指定された区分数と、衝突数取得部103が取得した衝突数とを用いて、複数の通信機器200の数を推定する。ここで述べる「複数の通信機器200の数を推定」とは、例えば、区分数と衝突数とから推定される通信機器数を、区分数と衝突数とを用いて算出するための所定の演算式やアルゴリズム等を用いて、通信機器数を算出することであってもよい。また、区分数と、衝突数と、この区分数および衝突数とから推定される通信機器数との対応関係を示す情報、例えばテーブル等から、推定される通信機器数を読み出すこと等であってもよい。この実施の形態においては、演算式等を用いて、推定される通信機器数を取得する、すなわち推定する場合について説明し、実施の形態2においては、推定される通信機器数との対応関係を示す情報、例えばテーブル等を用いて、推定される通信機器数を取得、すなわち推定する場合について説明する。通信機器数推定部104が通信機器200の数を推定する処理については、後述する。なお、本実施の形態においては、通信機器数推定部104が、確率取得手段1041、および推定通信機器数取得手段1042を具備する場合について説明する。通信機器数推定部104は、通常、MPUやメモリ等から実現され得る。通信機器数推定部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0054】
確率取得手段1041は、複数の通信機器200の数を変化させるとともに、各複数の通信機器200の数ごとに、衝突数取得部103から取得した衝突数を条件として満たすよう、複数の通信機器200を、指示送信部101から取得した区分数の各区分に割り当てることのできる確率である割り当て確率を取得する。具体的には、確率取得手段1041は、複数の通信機器200の数を所定の範囲内で変化させた場合における、衝突数取得部103の取得した衝突数を条件として満たすように、区分数指定指示が指定する区分数の各区分に複数の通信機器200を割り当てた場合の組み合わせ数を、各複数の通信機器200の数ごとに取得し、取得した組み合わせ数を、複数の通信機器200を、区分数指定指示が指定する区分数の各区分に割り当てる全ての組み合わせ数により除算することで、衝突数を条件として満たすよう当該複数の通信機器を区分数指定指示が指定する区分数の各区分に割り当てることのできる割り当て確率を取得する。そして、例えば、通信機器200の数と、割り当て確率との対応関係を示す情報を取得する。取得した割り当て確率との対応関係を示す情報は、後述する推定通信機器数取得手段1042が利用可能なように、例えばテーブル等として、図示しないメモリ等に格納される。具体的には、確率取得手段1041は、区分数と衝突数とから推定される通信機器数を、区分数と衝突数とを用いて算出するための所定の演算式やアルゴリズム等に、区分数指定指示により指定された区分数と、衝突数取得部103が取得した衝突数とを代入することで、通信機器数を算出する。このような演算式やアルゴリズム等の情報は、例えば図示しない記憶媒体等に格納されており、適宜読み出されて実行される。この確率取得手段1041の処理の具体例については後述する。確率取得手段1041は、通常、MPUやメモリ等から実現され得る。確率取得手段1041の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0055】
推定通信機器数取得手段1042は、確率取得手段1041が取得した割り当て確率の値が最も高い場合の複数の通信機器200の数を、区分数と衝突数とから推定される通信可能な複数の通信機器の数として取得する。この推定通信機器数取得手段1042の処理の具体例については後述する。推定通信機器数取得手段1042は、通常、MPUやメモリ等から実現され得る。推定通信機器数取得手段1042の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0056】
区分数取得部105は、通信機器数推定部104の推定した通信機器数を用いて、この推定した通信機器数に対応した区分数を取得する。この実施の形態においては、特に、通信機器数推定部104の推定した通信機器200の数から、受信部102が識別情報を受信した通信機器200の数を減算して得られた通信機器の数に対応した区分数を取得する。ただし、このような通信機器数推定部104の推定した通信機器200の数から、受信部102が識別情報を受信した通信機器200の数を減算する処理は、通信機器数推定部104等において行うようにしてもよい。ここで述べる「区分数を取得」とは、例えば、通信機器数に対応した区分数を、通信機器数を用いて区分数を算出するための所定の演算式やアルゴリズム等を用いて算出することであってもよい。また、通信機器数と、この通信機器数に対応した区分数との対応関係を示す情報、例えばテーブル等から、通信機器数を読み出すこと等であってもよい。この実施の形態においては、演算式等を用いて、区分数を取得する場合について説明し、実施の形態2においては、通信機器数と区分数との対応関係を示す情報、例えばテーブル等を用いて区分数を取得する場合について説明する。区分数取得部105が、区分数を取得する処理については、後述する。なお、本実施の形態においては、区分数取得部105が、期待値取得手段1051、評価値算出手段1052および対応区分数取得手段1053を具備する場合について説明する。区分数取得部105は、通常、MPUやメモリ等から実現され得る。区分数取得部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0057】
期待値取得手段1051は、区分数を変化させるとともに、各区分数ごとに、この区分数の各区分に、通信機器数推定部104の推定した通信機器数に対応した数の複数の通信機器200を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する。衝突を発生させることなく通信可能な通信機器とは、1つの区分に単独で割り当てられた通信機器である。衝突を発生させることなく通信可能な通信機器数の期待値は、例えば、推定された全ての通信機器、例えばRFIDタグ、を、各区分、例えばタイムスロットに割り当てた場合の全ての割り当てパターンに関して、そのパターンの発生確率と、そのパターンでの通信可能な通信機器数、例えばタグ数とを乗算した結果を算出し、これらの総和を算出することで取得できる。また、結果的に、このような値と同じ値が得られれば、期待値の算出の方法等は問わない。期待値取得手段1051は、例えば、この区分数と期待値との対応関係を示す情報を、後述する評価値算出手段1052が利用可能なように、例えばメモリ等の記憶媒体に一時記憶する。具体的には、期待値取得手段1051は、通信機器数に対応した区分数を通信機器数を用いて算出するための所定の演算式やアルゴリズム等に、通信機器数推定部104の推定した通信機器数に対応した通信機器数を代入することで、区分数を算出する。このような演算式やアルゴリズム等の情報は、例えば図示しない記憶媒体等に格納されており、適宜読み出されて実行される。この期待値取得手段1051の処理の具体例については後述する。期待値取得手段1051は、通常、MPUやメモリ等から実現され得る。期待値取得手段1051の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0058】
評価値算出手段1052は、期待値取得手段1051が算出した期待値と、この期待値に対応する区分数とを、所望の評価関数に代入して評価値を算出する。期待値に対応する区分数とは、具体的には、期待値取得手段1051が各期待値を算出する際に用いた区分数である。ここで述べる評価値とは、期待値から、衝突を回避するための処理、すなわちアンチコリジョン処理を行うために、最適と推定される区分数を評価するための値である。評価関数は、具体例としては、期待値が大きくなり、かつ区分数が小さくなった場合に、高い評価値が得られるように設定された関数である。すなわち、評価関数は、期待値が大きくなると、アンチコリジョン処理のシークエンス数が減少して処理時間が短縮され、区分数を大きくすると、1シークエンス内の処理時間が長くなることに着目して設定された関数である。この評価関数は、例えば、期待値についての増加関数であって区分数についての減少関数であればよく、例えば、評価関数は、区分をタイムスロットとすると、V=E/h(Vは評価値、Eは期待値、hはタイムスロット数)が利用可能である。評価値算出手段1052は、例えば、この区分数と評価値との対応関係を示す情報を、後述する対応区分数取得手段1053が利用可能なように、例えばメモリ等の記憶媒体に一時記憶する。評価関数を定義する情報は、例えば図示しない記憶媒体等に格納されており、適宜読み出されて利用される。評価値算出手段1052は、通常、MPUやメモリ等から実現され得る。評価値算出手段1052の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0059】
対応区分数取得手段1053は、評価値算出手段1052が算出した評価値のうち、評価が最も高いことを示す評価値に対応する区分数を取得する。対応区分数取得手段1053は、通常、MPUやメモリ等から実現され得る。対応区分数取得手段1053の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0060】
区分数更新部106は、区分数取得部105が取得した区分数で、区分数指定指示が指定する区分数を更新する。例えば、区分数更新部106は、指示送信部101が内部または外部に有するメモリ等に格納されている区分数指定指示や、区分数指定指示を構成する際に用いられる区分数の情報等を更新する。上述した指示送信部101は、具体的には、この更新した区分数を通信機器200に割り当てるための区分数指定指示を出力する。区分数更新部106は、通常、MPUやメモリ等から実現され得る。区分数更新部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0061】
識別情報格納部201は、上述した識別情報が格納され得る。識別情報格納部201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。不揮発性の記録媒体でも、揮発性の記録媒体でも良い。
【0062】
指示受信部202は、通信処理装置100から送信される指示を受信する。特に、指示受信部202は、通信処理装置100が送信した、通信機器200との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する。指示受信部202は、また、区分数指定指示以外の指示を受信可能である。例えば、指示受信部202は、通信処理装置100から送信される識別情報送信指示や、後述する区分割当部203が割り当てた区分の値を変更させる指示や、所定の区分に割り当てられた通信機器200に、所定の値、例えば乱数等を、出力させる指示等を受信してもよい。ここでは、通信処理装置100が送信する区分数指定指示を直接受信する場合について説明するが、指示受信部202は、通信処理装置100から、他の通信装置等を経由して送信される区分数指定指示を受信してもよい。指示受信部202は、無線の通信手段が好適であるが、放送を受信する手段や有線の通信手段でも実現可能である。
【0063】
区分割当部203は、区分数指定指示に応じた区分のいずれか1つを自機器に割り当てる。例えば、区分がタイムスロットであり、区分数指定指示が8つのタイムスロット数を指定する指示であった場合、区分割当部203は、自機器のタイムスロットとして、「0」から「7」までの8つのタイムスロットのうちの、いずれかのタイムスロットを割り当てる。割り当てた値は例えばカウンタ等に保持される。このようなカウンタは、スロットカウンタと呼ばれる。また、区分割当部203の内部や外部に設けられた図示しないメモリ等の記憶媒体に一時記憶してもよい。区分割当部203は、通常、MPUやメモリ等から実現され得る。区分割当部203の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0064】
信号送信部204は、割り当てられた区分別に、上述した所定の信号を出力する。具体的には、信号送信部204は、上述した指示受信部202が、通信処理装置100が送信した、所望のタイムスロットに割り当てられた通信機器200に所定の信号を出力させることとなる指示を受け付けた場合に、この指示が指定するタイムスロットと、通信機器200のスロットカウンタ等の値とが同じである場合や、この指示による通信機器200の動作の結果としてスロットカウンタの値等が所定の値、例えば0,となった場合に、所定の信号を出力する。所定の信号が、例えば乱数である場合、信号送信部204は乱数を発生させ、発生させた乱数を送信するともに、この乱数をメモリ等の記憶媒体に一時記憶する。信号送信部204は、無線または有線の通信手段等で実現され得る。また、信号送信部204は、所定の信号を生成したり、取得したりするための構成を備えていても良く、これらの構成は、通常、MPUやメモリ等から実現され得る。これらの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0065】
識別情報送信部205は、通信処理装置100からの指示に応じて、識別情報を送信する。具体的には、識別情報送信部205は、指示受信部202が、識別情報送信指示を受け付けた場合に、当該識別情報送信指示が、自機器に対するものであるか否かを判断し、自機器に対するものである場合、識別情報格納部201から識別情報を取得して、識別情報を送信する。例えば、識別情報送信指示が、通信機器200が送信した所定の信号、例えば乱数を引数として含むものである場合、この所定の信号と同じ所定の信号が信号送信部204が所定の信号を蓄積したメモリ等に蓄積されているか否かを判断し、格納されている場合、識別情報を送信する。識別情報送信部205は、無線または有線の通信手段等で実現され得る。また、判断等を行うためのMPUやメモリ等を備えていてもよい。
【0066】
なお、上記以外の、RFIDタグリーダ/ライタ等の通信処理装置100や、RFIDタグ等の通信機器200が、通常の動作を行うための構成等については、公知技術であるので説明は省略する。
【0067】
次に、通信処理装置100の動作について図2のフローチャートを用いて説明する。なお、ここでは、通信処理装置100がRFIDタグリーダ/ライタ、区分がタイムスロット、複数の通信機器がRFIDタグである場合を例として説明する。
【0068】
(ステップS201)指示送信部101は、区分数の初期値である初期区分数を取得する。指示送信部101は、例えばメモリ等に予め格納されている初期区分数を読み出しても良いし、キーボード等の入力手段により受け付けた初期区分数を取得してもよい。初期区分数、すなわち初期スロット数は、特にどのような値でも良いが、予め、通信が可能なエリア内にある通信機器数、すなわちタグ数の概略が分かっている場合、この通信機器数に対して、最も効率よく更新できる区分数を設定することが好ましい。
【0069】
(ステップS202)通信処理装置100は、アンチコリジョン処理の1シークエンスを実行する。この処理については、図3を用いて後述する。この処理により、衝突数取得部103は、コリジョン数を取得する。また、受信部102は、識別情報を取得するとともに、識別情報の取得数を取得する。
【0070】
(ステップS203)通信処理装置100は、ステップS202において取得されたコリジョン数が0であるか否かを判断する。この判断は、衝突数取得部103等、通信処理装置100のどの処理部が行っても良い。コリジョン数が0でない場合、ステップS204に進み、コリジョン数が0である場合、通信処理装置は、処理を終了する。
【0071】
(ステップS204)通信機器数推定部104は、ステップS202において送信された区分数指定指示が指定する区分数と、ステップS202により取得されたコリジョン数とを用いて、通信処理装置100と通信可能な通信機器数を推定する。この処理については、図4を用いて後述する。
【0072】
(ステップS205)通信処理装置100は、ステップS204において推定した通信機器数から、ステップS202において取得した識別情報を取得した通信機器数を減算する。この処理は、通信機器数推定部104や区分数取得部105等、通信処理装置100のどの処理部が行っても良い。なお、この処理は、通信機器数をより正確に推定するための処理であり、場合によってはこの処理と、ステップS206の処理は省略してもよい。
【0073】
(ステップS206)通信処理装置100は、ステップS205の減算結果により残った通信機器数が0であるか否かを判断する。0である場合、通信処理装置100は処理を終了し、0でない場合、ステップS207に進む。この処理は、区分数取得部105等、通信処理装置100のどの処理部が行っても良い。
【0074】
(ステップS207)区分数取得部105の期待値取得手段1051は、区分数を変更しながら、区分数別に、ステップS204において推定した通信機器数に対応したタグである通信機器200、ここでは、ステップS205の減算の結果、残った通信機器数の通信機器200を、各区分、例えばスロットに割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する。なお、この期待値を取得する処理については、図6を用いて後述する。
【0075】
(ステップS208)評価値算出手段1052は、ステップS207で取得した期待値から、区分数別の評価値を算出する。例えば、各期待値を、対応する区分数で除算して評価値を算出する。
【0076】
(ステップS209)対応区分数取得手段1053は、ステップS208において算出した評価値のうちの、最も評価の高い評価値に対応した区分数を取得する。
【0077】
(ステップS210)区分数更新部106は、ステップS209において取得した区分数で、区分数指定指示の区分数を更新する。そして、ステップS202に戻る。
【0078】
なお、図2のフローチャートにおいて、通信処理装置100が、処理を終了する前に、読み取りミスや通信ミス等の発生を考慮して、再度、通信機器200との通信を試みる処理等を行うようにしても良い。
【0079】
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0080】
次に、図2のフローチャートのステップS202において示したアンチコリジョン処理の1シーケンスの詳細について、図3のフローチャートを用いて説明する。
【0081】
(ステップS301)指示送信部101は、区分数指定指示を取得して、区分数指定指示を送信する。指示送信部101は、区分数が初期値から更新されるまでは、初期区分数を指定する区分数指定指示を送信し、区分数が、更新された場合、更新された区分数を指定する区分数指定指示を送信する。
【0082】
(ステップS302)通信処理装置100は、カウンタnに1を代入する。また、コリジョン数kおよび識別情報の受信数mに0を代入する。これらの処理は、受信部102や衝突数取得部103等、通信処理装置100内のどの処理部が行っても良い。
【0083】
(ステップS303)受信部102は、所定の信号を受信したか否かを判断する。例えば、所定の信号は、通信機器200であるタグから送信される、タグを識別するための乱数であるとする。ここでは、例として、1番目の区分に割り当てられた通信機器200は、1番目の区分に割り当てられたことを例えばトリガーとして、所定の信号を出力するものとする。受信した場合、ステップS304に進み、受信していない場合、ステップS308に進む。
【0084】
(ステップS304)衝突数取得部103は、ステップS303が受信した所定の信号から、コリジョンが発生したか否かを判断する。コリジョンが発生していない場合、ステップS305に進み、コリジョンが発生した場合、ステップS311に進む。
【0085】
(ステップS305)識別情報送信指示送信部107は、識別情報送信指示を送信する。例えば、ステップS303において受信した所定の信号である通信機器200を識別する乱数を引数とした識別情報送信指示を送信する。
【0086】
(ステップS306)受信部102は、ステップS305において送信した識別情報送信指示に対応した通信機器200から送信される識別情報を受信する。受信部102は、受信した識別情報を、例えば、図示しないメモリ等の記憶媒体等に蓄積する。
【0087】
(ステップS307)受信部102は、識別情報の受信数mを1インクリメントする。
【0088】
(ステップS308)通信処理装置100は、カウンタnが、区分数指定指示が指定する区分数であるか否かを判断する。区分数でない場合、ステップS309に進み、区分数である場合、上位関数にリターンする。
【0089】
(ステップS309)通信処理装置100は、カウンタnを1インクリメントする。
【0090】
(ステップS310)指示送信部101は、次の区分に割り当てられた通信機器に対して、所定の信号を出力させる指示を出力する。例えば、後述するように、通信機器200であるRFIDタグが、スロットカウンタ値が0となると所定の信号を出力するように構成されている場合、指示送信部101は、スロットカウンタ値を1デクリメントさせる指示を送信する。そして、ステップS303に戻る。
【0091】
(ステップS311)衝突数取得部103は、コリジョン数kを1インクリメントする。そして、ステップS308に進む。
【0092】
なお、通信機器200が、指示送信部101からの、所定の信号を出力させる指示を受信した場合にのみ、所定の信号を出力するものである場合等においては、ステップS310の処理の代わりに、ステップS302とステップS303との間に、指示送信部101が、例えばn番目の区分に割り当てられた通信機器に対して、所定の信号を出力させる指示を出力するステップを設けるようにしてもよい。
【0093】
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0094】
次に、図2のフローチャートのステップS204において示した通信機器200の数、すなわちタグ数を推定する処理の詳細について、図4のフローチャートを用いて説明する。なお、ここでは、区分数hは、図2のステップS202において送信された区分数指定指示が指定する区分数、コリジョン数kは、図2のステップS202において取得されたコリジョン数とする。
【0095】
(ステップS401)確率取得手段1041は、通信機器数bに1を代入する。
【0096】
(ステップS402)確率取得手段1041は、通信機器が1つも配置されていない区分数i、通信機器が1つだけ配置されている区分数jにそれぞれ0を代入する。また、通信機器数bの通信機器を、区分数hの区分に、コリジョン数kとなるように配置する場合の、全てのパターン数all_patに、それぞれ0を代入する。
【0097】
(ステップS403)確率取得手段1041は、コリジョンが発生した区分数colに、h−(i+j)の値を代入する。
【0098】
(ステップS404)確率取得手段1041は、コリジョンが発生した区分数colが、通信機器数b、区分数h、コリジョン数kにより指定される4つの条件である、以下の条件1から条件4までを全て満たすか否かを判断する。これらの条件は、起こりえないケースについての計算を省略するための判断処理である。条件1は、コリジョン発生区分数colが0であって、かつ区分数jが通信機器数bでない、という状況が起こっていない、という条件である。また、条件2は、通信機器数b−区分数jが、コリジョン発生区分数colの2倍以上であるという条件である。また、条件3は、コリジョン発生区分数colが0以上であるという条件である。また、条件4は、コリジョン発生区分数colがコリジョン数kと等しいという条件である。上記の全ての条件を満たす場合、ステップS405に進み、満たしていない場合、ステップS410に進む。
【0099】
(ステップS405)確率取得手段1041は、通信機器が1つも配置されていない区分の選び方と、通信機器が1つだけ配置されている区分の選び方との積であるCOMBIN(h,i)×COMBIN(h−i,j)を求める。この積を変数patに代入する。なお、本実施の形態においては、COMBIN(x,y)は、x個の対象物、ここでは通信機器から、y個を選ぶ時の組み合わせ総数、すなわちであるとする。また、本実施の形態においては、PERMUT(x,y)は、x個の対象物、ここでは通信機器から、y個を選ぶ時の順列、すなわちであるとする。
【0100】
(ステップS406)確率取得手段1041は、ステップS405で得られた変数patに、j個の区分のそれぞれに通信機器bのうちのj個の通信機器が1つだけ配置される場合の、通信機器の全選択パターンを乗算する。すなわち、pat×PERMUT(b,j)を算出する。そして、この積により変数patを更新する。
【0101】
(ステップS407)確率取得手段1041は、コリジョンが発生した全ての区分に、全ての通信機器数bから、通信機器が1つだけ割り当てられている区分の通信機器数jを除外した数、すなわち(b−j)の通信機器を、2個以上配置可能な全パターン数、すなわちコリジョンが発生する全パターン数funcA(k,b−j)を算出する。ただし、kはコリジョン発生区分数colである。なお、funcA(k,b−j)を算出する処理については、図5を用いて後述する。
【0102】
(ステップS408)確率取得手段1041は、ステップS406により得られた変数patと、ステップS407により算出されたfuncA(k,b−j)との積を算出し、この積で、変数patを更新する。
【0103】
(ステップS409)確率取得手段1041は、ステップS408により取得された変数patの値で、パターン数all_patをインクリメントする。
【0104】
(ステップS410)確率取得手段1041は、区分数jが全区分数h以上であるか否かを判断する。h以上であれば、ステップS412に進み、h以上でなければ、ステップS417へ進む。
【0105】
(ステップS411)確率取得手段1041は、区分数jに0を代入する。
【0106】
(ステップS412)確率取得手段1041は、区分数iが、全区分数h以上であるか否かを判断する。h以上であれば、ステップS413へ進み、h以上でなければ、ステップS418に進む。
【0107】
(ステップS413)確率取得手段1041は、通信機器数bの通信機器を、区分数hの区分に、コリジョン数kとなるように配置する場合の、全てのパターン数all_patを、通信機器数bの通信機器を、区分数hに配置するための全ての組み合わせ数であるhで除算して、通信機器数bの通信機器200を、区分数hの区分に割り当てた場合に、コリジョン数kとなる確率pを算出する。すなわち確率p=all_pat/hを算出する。そして算出した確率Pを、例えば算出に用いた通信機器数bに対応付けてメモリ等の記憶媒体に蓄積する。
【0108】
(ステップS414)確率取得手段1041は、通信機器数bが所定の値dであるか否かを判断する。ここでの所定の値とは、確率pを求めるために用いられる通信機器数の上限値である。すなわち、ここでは通信機器数bを1からd(dは1以上の整数)まで、変化させて、各通信機器数について確率pを求めることとなる。通信機器数bが値dであれば、ステップS415に進み、値dでなければ、ステップS416に進む。なお、ここでは、通信機器数bを1から変化させるようにしたが、通信機器数の変化を開始する初期値は、確率pの分布状況等に応じて、適宜変更してもよい。
【0109】
(ステップS415)推定通信機器数取得手段1042は、ステップS413において確率取得手段1041が取得した確率pのうち、確率が最大となる確率pに対応付けられた通信機器数bの値を取得する。この通信機器数bが推定される通信機器数である。そして、上位関数にリターンする。
【0110】
(ステップS416)確率取得手段1041は、通信機器数bを1インクリメントする。そして、ステップS402に戻る。
【0111】
(ステップS417)確率取得手段1041は、区分数jを1インクリメントする。そして、ステップS403に戻る。
【0112】
(ステップS418)確率取得手段1041は、区分数iを1インクリメントする。そして、ステップS403に戻る。
【0113】
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0114】
次に、図4のフローチャートのステップS407において示した、k個のコリジョンが発生する全てのパターン数funcA(k,b−j)を算出する処理について、図5のフローチャートを用いて説明する。ただし、ここでは、説明を簡単にするために、通信機器数(b−j)の代わりに、便宜上、通信機器数bを用いてfuncA(k,b)を求める処理について説明する。そのため、図4のステップS407においては、以下に説明する処理においてbの代わりに、(b−j)を代入して、funcA(k,b−j)を算出する。なお、この処理は、b個の通信機器200であるタグをkグループに、各グループに少なくとも2個以上のタグが含まれるように割り当てる場合のタグの組み合わせ数retを求める処理である。
【0115】
(ステップS501)確率取得手段1041は、組み合わせ数retに0を代入する。
【0116】
(ステップS502)確率取得手段1041は、コリジョン数kが1より大きいか否かを判断する。大きい場合、ステップS503に進み、大きくない場合、ステップS506に進む。
【0117】
(ステップS503〜ステップS505)確率取得手段1041は、変数gの値が、初期値2から、(b−2×(k−1))になるまで、変数gの値を1インクリメントさせながら、ステップS504の処理を繰り返す。ステップS504の処理は、b個の通信機器からg個の通信機器を選ぶ時の組み合わせ総数COMBIN(b,g)と、(b−g)個の通信機器から(k−1)個のコリジョンが発生する全てのパターン数funcA(k−1,b−g)との積を求め、求めた値で組み合わせ数retを順次インクリメントする処理である。この処理においては、変数gを2から(b−2×(k−1))まで変化させていくことで、全区分bのうちの1つの区分にg個の通信機器が配置される場合の通信機器の組み合わせを求め、残りの(b−g)個の通信機器の組み合わせパターンはfuncA(k−1,b−g)により求めている。そして、これらの積をすべて加算することにより、b個の通信機器をkグループに、各グループに少なくとも2個以上の通信機器が含まれるように割り当てる場合の全ての組み合わせ数が得られる。そして、取得した組み合わせ数retを上位関数にリターンする。
【0118】
(ステップS506)確率取得手段1041は、場合の数retに1を代入して、上位関数にリターンする。
【0119】
次に、図2のフローチャートのステップS207において示した、区分数別に、ステップS204において推定した通信機器数に対応した通信機器200を、各区分に割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する処理の詳細について、図6のフローチャートを用いて説明する。なお、ここでは、通信機器数Bは、図2のステップS205において取得された通信機器数とする。
【0120】
(ステップS601)期待値取得手段1051は、区分数hに1を代入する。
【0121】
(ステップS602)期待値取得手段1051は、通信機器が1つも配置されていない区分数i、通信機器が1つだけ配置されている区分数jにそれぞれ0を代入する。また、変数all_patに、それぞれ0を代入する。
【0122】
(ステップS603)期待値取得手段1051は、コリジョン発生区分数colに、h−(i+j)の値を代入する。
【0123】
(ステップS604)期待値取得手段1051は、コリジョン発生区分数colが、通信機器数Bにより指定される3つの条件である、以下の条件1から条件3までを全て満たすか否かを判断する。これらの条件は、起こりえないケースについての計算を省略するための判断処理である。条件1は、コリジョン発生区分数colが0であって、かつ区分数jが通信機器数Bでない、という状況が起こっていない、という条件である。また、条件2は、「通信機器数B−区分数j」が、コリジョン発生区分数colの2倍以上であるという条件である。また、条件3は、コリジョン発生区分数colが0以上であるという条件である。上記の全ての条件を満たす場合、ステップS605に進み、満たしていない場合、ステップS611に進む。
【0124】
(ステップS605)期待値取得手段1051は、通信機器200が1つも配置されていない区分の選び方と、通信機器200が1つだけ配置されている区分の選び方との積であるCOMBIN(h,i)×COMBIN(h−i,j)を求める。この積を変数patに設定する。
【0125】
(ステップS606)期待値取得手段1051は、ステップS605で得られた変数patに、j個の区分のそれぞれにB個の通信機器200のうちのj個の通信機器が1つだけ配置した場合の、通信機器200の全選択パターンを乗算する。すなわち、pat×PERMUT(B,j)を算出する。そして、この積により変数patを更新する。
【0126】
(ステップS607)期待値取得手段1051は、区分数colのコリジョンが発生した区分に、全ての通信機器数bから、通信機器200が1つだけ割り当てられている区分の通信機器数を除外した数の通信機器が、2個以上配置される全パターン数、すなわちコリジョンが発生する全パターン数funcA(col,B−j)を算出する。なお、funcA(col,B−j)を算出する処理については、図5に示した処理において、kの代わりに区分数colを、また、bの代わりにB−jを代入した処理と、同様であるのでここで説明を省略する。
【0127】
(ステップS608)期待値取得手段1051は、ステップS606により得られた変数patと、ステップS607により算出されたfuncA(col,B−j)との積を算出し、この積で、変数patを更新する。
【0128】
(ステップS609)期待値取得手段1051は、ステップS609で得られた変数patに通信機器が1つしか割り当てられていない区分数jを乗算し、この乗算により得られた値で変数patを更新する。
【0129】
(ステップS610)期待値取得手段1051は、ステップS609により取得された変数patの値で、パターン数all_patをインクリメントする。
【0130】
(ステップS611)期待値取得手段1051は、区分数jが全区分数h以上であるか否かを判断する。h以上であれば、ステップS612に進み、h以上でなければ、ステップS617へ進む。
【0131】
(ステップS612)期待値取得手段1051は、区分数jに0を代入する。
【0132】
(ステップS613)期待値取得手段1051は、区分数iが、全区分数h以上であるか否かを判断する。h以上であれば、ステップS614へ進み、h以上でなければ、ステップS618に進む。
【0133】
(ステップS614)期待値取得手段1051は、変数all_patを、通信機器数bの通信機器を区分数hに配置するための全ての組み合わせ数であるhで除算して、通信機器数bの通信機器を、区分数hの区分に割り当てた場合に、衝突を発生させることなく通信可能な通信機器数の期待値Eを算出する。そして、区分数hとこの期待値Eとを対応付けて、メモリ等の記憶媒体に蓄積する。
【0134】
(ステップS615)期待値取得手段1051は、区分数hが所定の値eであるか否かを判断する。ここでの所定の値eとは、期待値Eを求めるために用いられる区分数の上限値である。すなわち、ここでは区分数hを1からe(eは1以上の整数)まで、変化させて、各通信機器数について期待値Eを求めることとなる。なお、ここでは、区分数hを1から変化させるようにしたが、区分数の変化を開始する初期値は、得られる期待値Eの状況等に応じて、適宜変更してもよい。区分数hが値eであれば、上位関数にリターンし、値eでなければ、ステップS616に進む。
【0135】
(ステップS616)期待値取得手段1051は、区分数hを1インクリメントする。そして、ステップS602に戻る。
【0136】
(ステップS617)期待値取得手段1051は、区分数jを1インクリメントする。そして、ステップS603に戻る。
【0137】
(ステップS618)期待値取得手段1051は、区分数iを1インクリメントする。そして、ステップS603に戻る。
【0138】
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0139】
次に、図7のフローチャートを用いて、通信機器200の動作について説明する。この通信機器200は、例えばRFIDタグであり、区分数は、例えばスロット数である。
【0140】
(ステップS701)指示受信部202は、区分数指定指示を受信する。
【0141】
(ステップS702)区分割当部203は、ステップS701により受信した区分数指定指示が指定する区分数に応じて、自機器に区分を割り当てる。ここでは、区分数がhである場合、0から、(h−1)までの区分のいずれかひとつを割り当てる。割り当てた区分の値を、例えばスロットカウンタに代入する。
【0142】
(ステップS703)信号送信部204は、自機器に割り当てられた区分の値が、0であるか否かを判断する。具体的には、スロットカウンタの値が0であるか否かを判断する。0である場合、ステップS704に進み、0でない場合、ステップS710に進む。
【0143】
(ステップS704)信号送信部204は、所定の信号、具体的には、乱数を発生させ、メモリ等の記憶媒体に一時記憶させる。
【0144】
(ステップS705)信号送信部204は、ステップS704において発生させた所定の信号を送信する。このように、この通信機器200は、割り当てられた区分の値が0である場合に、所定の信号を出力するものであるとする。
【0145】
(ステップS706)識別情報送信部205は、指示受信部202が、識別情報送信指示を受信したか否かを判断する。識別情報送信指示は、通常、コリジョンが発生していない場合に、通信処理装置100から送信される。受信した場合、ステップS707に進み、受信していない場合、ステップS710に進む。
【0146】
(ステップS707)識別情報送信部205は、識別情報を送信するか否かを判断する。具体的には、指示受信部202が受信した識別情報送信指示が、自機器を指定する信号、ここでは、例として上述した乱数を含むものであるか否かを判断する。そして、自機器を指定する信号、例えば乱数を含む場合にだけ、識別情報を送信することを判断する。識別情報を送信する場合、ステップS708に進み、識別情報を送信しない場合、ステップS710に進む。
【0147】
(ステップS708)識別情報送信部205は、識別情報を、識別情報格納部201から読み出し、送信する。
【0148】
(ステップS709)通信機器200は、外部からの指示に対する応答を中止する。例えば、通信機器200は、外部からの指示に対して応答するか否かを指定する内部のフラグ等を反転させることで、応答を中止する。そして、処理を終了する。
【0149】
(ステップS710)指示受信部202は、新たに区分数指定指示を受信したか否かを判断する。受信した場合、ステップS702に戻り、受信していない場合、ステップS711に進む。
【0150】
(ステップS711)指示受信部202は、区分の値を変更する指示を受け付けたか否かを判断する。受け付けた場合、ステップS712に進み、受け付けていない場合、ステップS711に戻る。なお、受け付けていない時間が、所定の時間を超えた場合、いわゆるタイムアウト処理として、処理の終了等を行ってもよい。
【0151】
(ステップS712)区分割当部203は、割り当てた区分の値を1デクリメントする。具体的には、スロットカウンタの値を1デクリメントする。なお、区分の値が0であった場合、区分の値をデクリメントせずに、あらかじめ設定された値、例えば、2047等に設定する。この値は、区分数指定指示が指定する可能性のある区分数よりも十分に大きな値とすることが好ましい。そして、ステップS703に戻る。
【0152】
以下、本実施の形態における通信システムの具体的な動作について説明する。通信システムの概念図は図8である。ここでは、例として、通信処理装置100がRFIDタグリーダ/ライタ、複数の通信機器200が、RFIDタグである場合について説明する。ここでは、複数の通信機器200を、通信機器200a、200b等として示している。ただし、通信処理装置100に対して通信可能な範囲内に存在する通信機器200の数は、予めわかっていないものとする。なお、本具体例においては、例として、区分がタイムスロットであり、タイムスロット数は、2(Qは、正の整数)で表され、区分数としてQ値を利用する場合について説明する。
【0153】
図9a〜図9jは、本実施の形態における通信システムのアンチコリジョン処理の動作を、説明するための模式図であり、図において図8と同一符号は同一または相当する部分を示している。なお、ここでは、説明を簡単にするための便宜上、図9aに示すようにタグ数が6個である場合について説明するが、タグ数は問わない。
【0154】
まず、通信処理装置100が、タイムスロット数を指定するための区分数指定指示として、タイムスロット数を指定するコマンドであるQueryコマンドを送信する。ここでは、Queryコマンドは、タイムスロット数をQ値で指定するものとし、このQ値の初期値は「3」であるとする。すなわち、タイムスロット数の初期値は8であるとする。
【0155】
通信処理装置100と通信可能な範囲内にある通信機器200が、Queryコマンドを受信すると、区分割当部203は、Queryコマンドの示すタイムスロット数に応じて、8つのタイムスロット数のうちの一つのタイムスロットを自機器に割り当てる。具体的には、図9bに示すように、「0」から「7」までのうちの一つの値を、スロットカウンタに保持する。例えば、通信機器200aから10fまでのスロットカウンタ値が、「4」、「2」、「6」、「1」、「2」、「7」となったとする。
【0156】
ここで、各通信機器200は、スロットカウンタ値が0となると、所定の情報、ここでは、16進数の乱数RN16を生成し、送信するものとする。図9bに示した状況では、スロットカウンタ値=0の通信機器200が存在しないことから、どの通信機器200も、所定の値を送信しない。
【0157】
次に、通信処理装置100が、各通信機器に割り当てられたタイムスロット数を更新する指示、具体的には、割り当てられたタイムスロット数をデクリメントする指示であるQueryRepコマンドを送信すると、図9cに示すように、これを受信した各通信機器200の区分割当部203は、各通信機器200のスロットカウンタ数を、1デクリメントする。
【0158】
これにより、通信機器200dのスロットカウンタ値だけが0になったため、通信機器200dの信号送信部204は、図9dに示すように、乱数RN16を構成して、通信処理装置100に対して送信する。この乱数はメモリ等に一時記憶される。この乱数RN16は、例えば、「0xA79B」であったとする。
【0159】
通信処理装置100の受信部102は、通信機器200dからの所定の信号である乱数RN16を受信すると、この乱数RN16が、正常に読み出せることから、衝突数取得部103は、コリジョンが発生していないと判断する。このため、識別情報送信指示送信部107は、受信部RN16の値「0xA79B」を引数とする識別情報取得指示であるAckコマンドを送信する。
【0160】
識別情報取得指示を受信した各通信機器200は、「0xA79B」と同じ乱数RN16を記憶しているか否かを判断される。通信機器200dの識別情報送信部205は、自機器のメモリ等に、同じ乱数「0xA79B」が記憶されているため、識別情報格納部201内に蓄積されている識別情報、ここでは、EPCデータ「0x3000・・・」を読み出し、通信処理装置100に送信する(図9e)。また、通信機器200dは、識別情報を送信したので、内部フラグ等を反転させて、これ以降の通信処理装置100からのコマンドには反応しなくなる(図9f)。
【0161】
通信処理装置100は、受信部102において通信機器200dから送信された識別情報を受信し、この受信した識別情報を蓄積する。これにより、通信機器200dの識別情報が取得されたこととなる。
【0162】
次に、通信処理装置100が、上記の同様のQueryRepコマンドを送信すると、これを受信した各通信機器200の区分割当部203は、各通信機器200のスロットカウンタ数を、1デクリメントする。
【0163】
これにより、図9gに示すように、通信機器200bと通信機器200eのスロットカウンタ値だけが0になったため、通信機器200bおよび通信機器eは、乱数RN16を構成して、通信処理装置100に対して送信する。この乱数はメモリ等に一時記憶される。通信機器200bの乱数RN16は、例えば、「0x30E2」、通信機器200eの乱数RN16は、「0x280F」であったとする。
【0164】
通信処理装置100の受信部102は、通信機器200bおよび通信機器eからの所定の信号である乱数RN16を受信するが、この乱数RN16同士に衝突が発生し、正常に読み出せないことから、衝突数取得部103は、コリジョンが発生したと判断し、コリジョンが発生したことを示すカウンタkの値を1インクリメントする。この場合、識別情報送信指示送信部107は、Ackコマンドを送信しない。
【0165】
通信機器200bおよび通信機器eについては、識別情報を送信していないため、コマンドを受け付けなくする処理が行われない。
【0166】
さらに、通信処理装置100が、上記の同様のQueryRepコマンドを送信すると、これを受信した各通信機器200の区分割当部203は、各通信機器200のスロットカウンタ値を、1デクリメントする。
【0167】
このとき、すでにスロットカウンタ値が0であった通信機器200bおよび通信機器eは、スロットカウンタ値を所定の値である「2047」に設定する(図9h)。
【0168】
そして、これ以降は、上記と同様の処理が繰り返され、(タイムスロット数−1)回のQueryRepコマンドの送信に対応した処理が終了した時点で、アンチコリジョン処理の1シークエンスが終了する。
【0169】
この時点で、1シークエンス内においてコリジョンが発生しなかった場合、すべての処理が終了するが、図9iに示すようにコリジョンが発生した場合、タイムスロット数を更新した上で、図9jに示すように、コリジョンが発生した通信機器200b、200eに対して、上記と同様のアンチコリジョン処理のシークエンスが繰り返される。
【0170】
以下、タイムスロット数を更新する処理について説明する。
【0171】
まず、通信機器推定部104の確率取得手段1041は、アンチコリジョン処理の1シークエンスが終了後、直前のシークエンスにおいて用いたタイムスロット数hを設定するQ値と、直前のシークエンスにおいて取得したコリジョン数kとを用いて、通信処理装置100と通信可能なすべての通信機器200の数を推定する。
【0172】
すなわち、通信機器数bを変更させながら、直前のシークエンスにおいて用いられたQ値において、コリジョン数kとなる確率を求めていき、最終的に、このQ値において、コリジョンの発生数がkとなる確率が最も高くなる通信機器数bを得る。この通信機器数bを、通信可能なすべての通信機器数と推定する。
【0173】
具体的には、タイムスロット数hからコリジョンが発生したスロット数kを減算した残りのスロットを、それぞれ、通信機器200が一つも割り当てられていないスロットまたは通信機器200が一つだけ割り当てられているスロットのいずれかに割り当てた場合の、すべての組み合わせについて、タイムスロットに、通信機器200を割り当てた場合のすべての組み合わせを求め、これらを加算することで、タイムスロット数h、コリジョン数k、通信機器数bという条件を満たすよう、通信機器200を割り当てた場合のすべての割り当てパターンの数を得る。
【0174】
そして、この加算した値を、hのタイムスロットに、b個の通信機器200を各1つだけ割り当てた場合の、すべての割当てパターンで除算することで、通信機器数がb個の場合に、所定のQ値において、コリジョン数kとなる確率が得られる。
【0175】
このような処理を、通信機器数bが1から所定数となるまで、繰り返し行うことで、通信機器数bの値と、b個の通信機器を、所定のQ値によって定められるタイムスロット数hに割り当てた場合に、コリジョン数がkとなる確率との関係を求めることができる。
【0176】
そして、推定通信機器数取得手段1042は、通信機器数bの値を、直前のシークエンスにおいて用いられたQ値において、コリジョン数がkである場合に推定される通信機器数の値として取得する。
【0177】
例えば、直前のアンチコリジョン処理のシーケンスにおいて指定したQ値が「3」、すなわちタイムスロット数が8であり、その時に得られたコリジョン数が「3」であった場合、通信機器数bと、このような状況が発生する確率との関係は、図10に示すようになる。この図10に示すような関係から、確率が最も高い場合の通信機器数、すなわち「10」が、推定される通信機器数となる。
【0178】
次に、例えば推定通信機器数取得手段1042が、この推定された通信機器数から、直前のアンチコリジョン処理のシーケンスにおいて取得された識別情報の数を減算することで、次のアンチコリジョン処理において、処理対象になると推定される通信機器数B、すなわち識別情報が取得されていない通信機器数を取得できる。
【0179】
例えば、直前のアンチコリジョン処理のシーケンスにおいて指定したQ値が「7」、その時に得られたコリジョン数が「4」であり、通信機器数推定部104により通信機器数が「30」と推定された場合において、識別情報が取得された数が「1」であったとすると、次のアンチコリジョン処理においては、29個の通信機器が処理対象と推定される。
【0180】
つぎに、期待値取得手段1051が、この処理対象と推定されたB個の通信機器を、スロット数が2のタイムスロットに割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値E、すなわち衝突を発生させることなく乱数や識別情報等を通信機器200から受信できる通信機器数の期待値Eを、Q値を変更しながら、算出する。ここでは、まず、Q値に、一つの値を代入し、B個の通信機器を、各タイムスロットに割り当てた場合の全てのパターンと、そのパターンでの通信可能な通信機器数とを乗算した結果を算出し、これらの総和を算出する。そして、この総和を、B個の通信機器を2のタイムスロットに割り当てる場合のすべてのパターン数で除算することで、期待値Eを算出する。この期待値Eを、Q値に異なる値を代入した場合についても順次算出することで、通信機器数がB個の場合の、Q値と、期待値Eとの関係を求めることができる。
【0181】
次に、評価値算出手段1052は、期待値取得手段1051が取得した期待値Eを、対応するタイムスロット数、すなわち2で除算して、評価値Vを求める。そして、タイムスロット数hと評価値Vとの関係を取得する。この評価値Vは、効率よくアンチコリジョン処理が行える条件を求めるための評価に用いる値である。この評価値Vは、タイムスロット数が増加すると、コリジョンが生じることなく通信可能な通信機器数の期待値Eが高くなり、タイムスロット数が増加すると1シークエンス内における上記のQueryRepコマンドを実行させる回数が増加する、ということを考慮してアンチコリジョン処理を最適化するために設定したものである。
【0182】
例えば、通信機器数Bが29個である場合には、Q値と期待値Eと評価値Vとの対応関係は、図11に示すようになる。
【0183】
そして、対応区分数取得手段1053は、評価値算出手段1052が取得した評価値VとQ値との対応関係のうちの、最も評価の高い、ここでは最も値の大きい評価値Vに対応したQ値を、次のアンチコリジョン処理のシークエンスに用いるQ値として取得する。
【0184】
例えば、図11においては、Q値が「5」の場合、最も評価値Vの値が大きいため、このQ値として「5」を、対応区分数取得手段1053が取得する。
【0185】
そして、区分数更新部106は、対応区分数取得手段1053が取得したQ値を用いて、区分数指定指示が指定するQ値を更新する。
【0186】
その後、上述したようなアンチコリジョン処理のシーケンス等が繰り返され、1シーケンス内にコリジョンが発生しなくなった時点で、処理が終了する。
【0187】
以上、本実施の形態によれば、アンチコリジョン処理の1シークエンスにおいて検出されたコリジョン数と、このシーケンスにおいて指定された区分数とに応じて、通信可能な通信機器数を推定し、この推定した通信機器数に対応した区分数を求め、この区分数により、次のアンチコリジョン処理のシークエンスにおいて指定する区分数を更新するようにしたので、区分数を設定を、推定される通信機器数に合わせて最適化することができ、アンチコリジョン処理にかかる時間を短縮させることができる。
【0188】
(実施の形態2)
本実施の形態においては、上記実施の形態1において、通信機器数推定部104が演算により行っていた通信機器数を推定する処理を、予め用意された、区分数と、衝突数と、これらから推定される通信機器数との対応関係を示す情報を用いて取得するようにしたものである。また、区分数取得部105が演算により行っていた評価値を算出して推定される通信機器数に対応した新たな区分数を取得する処理を、予め用意された通信機器数と、区分数と、の対応関係を示す情報を用いて取得するようにしたものである。
【0189】
図12は、本実施の形態における通信システムのブロック図である。本実施の形態の通信システムは、通信処理装置300と、複数の通信機器200とを具備している。
【0190】
複数の通信機器200の構成および動作については、上記実施の形態1と同様であるので、ここでは詳細な説明は省略する。
【0191】
通信処理装置300は、上記実施の形態1において説明した通信処理装置1において、通信機器数推定部104および区分数取得部105の代わりに、通信機器数推定部304および区分数取得部305を設けるとともに、さらに、対応機器数情報格納部308と、区分数情報格納部309とを設けるようにしたものである。すなわち、通信処理装置300は、指示送信部101、受信部102、衝突数取得部103、通信機器数推定部304、区分数取得部305、区分数更新部106、識別情報送信指示送信部107、対応機器数情報格納部308、および区分数情報格納部309を具備する。
【0192】
指示送信部101、受信部102、衝突数取得部103、区分数更新部106、および識別情報送信指示送信部107の構成、および動作については、上記実施の形態1と同様であるので詳細な説明は省略する。
【0193】
対応機器数情報格納部308には、区分数と、衝突数と、複数の通信機器の数との対応関係を示す情報である1以上の対応機器数情報が格納される。対応機器数情報格納部308には、具体的には、複数の通信機器220に割り当てられる区分数と、区分別に通信を行った場合の衝突数と、この区分数と衝突数とにより一意に特定される通信の対象となる複数の通信機器の数とが、対応付けられて格納される。例えば、対応する区分数と、衝突数と、複数の通信機器の数とが一つのレコードとして格納される。対応機器数情報は、具体的には、区分数と、衝突数と、これらの区分数および衝突数から、通信処理装置300が通信可能であると推定される複数の通信機器の数との対応関係を示す情報である。より具体的には、対応機器数情報は、区分数と、衝突数と、これらの区分数および衝突数を条件として満たす確率が最も高い複数の通信機器の数と、の対応関係を示す情報である。この対応機器数情報は、例えば、上記実施の形態1において説明した通信機器数推定部104が、区分数と、衝突数とを用いて、推定される通信機器数を演算により求める処理を、区分数と衝突数の値とをそれぞれ変化させた場合の、各組み合わせについてそれぞれ実行することにより取得することができる。また、複数の通信機器、例えばRFIDタグの動作を仮想的に実現するシミュレーション用ソフトウェアを用いて、コンピュータ等に、仮想的に、RFIDタグリーダ/ライタ等の通信処理装置に通信機器数の読み取りを行わせる処理を繰り返し実行させ、その実行結果から、対応機器数情報を求めるようにしても良い。具体的には、区分数と衝突数と通信機器数との組み合わせを変えた設定を複数用意し、各設定ごとに通信機器の読み取りを行わせるシミュレーションの処理を実行させる。そして、この処理の結果から、所定のスロット数において、所定数の衝突が発生する確率を、通信機器数を予め設定された範囲内で変化させた場合についてそれぞれ求め、この確率が最も高い通信機器数を、推定される通信機器数として取得する。同様にして通信機器数を取得する処理を区分数と設定数との組み合わせを変えた場合についても実行していくことで、対応機器数情報を得ることができる。また、シミュレーション用ソフトウェアを用いずに、実際にRFIDタグ等の通信機器とRFIDタグリーダ/ライタ等の通信処理装置とを用意して、上記のシミュレーションと同様の実験を行った結果を用いて、対応機器数情報を得るようにしても良い。対応機器数情報格納部308は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0194】
区分数情報格納部309には、複数の通信機器数と、区分数と、の対応関係を示す情報である1以上の区分数情報が格納される。区分数情報格納部309には、具体的には、対応する複数の通信機器数と、区分数とが、対応付けられて格納される。例えば、対応する複数の通信機器数と、区分数とが一つのレコードとして格納される。区分数情報は、複数の通信機器の数と、この複数の通信機器の数に対して、効率よくアンチコリジョン処理を行うことが可能となる区分数と、の対応関係を示す情報である。より具体的には、区分数情報は、通信機器数推定部304が推定した複数の通信機器数と、この複数の通信機器を複数の区分に割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値および区分数を用いて決定された区分数、すなわち上述した評価値により決定された区分数と、の対応関係を示す情報である。この区分数情報は、例えば、上記実施の形態1において説明した区分数取得部305が、通信機器数を用いて区分数を演算により求める処理を、通信機器数の値を変化させた場合についてそれぞれ実行することにより取得することができる。また、複数の通信機器、例えばRFIDタグの動作を仮想的に実現するシミュレーション用ソフトウェアを用いて、コンピュータ等に、仮想的に、RFIDタグリーダ/ライタ等の通信処理装置に通信機器数の読み取りを行わせる処理を繰り返し実行させ、その実行結果から、区分数情報を求めるようにしても良い。具体的には、区分数と通信機器数との組み合わせを変えた設定を複数用意し、各設定ごとに通信機器の読み取りを行わせるシミュレーションの処理を実行させる。そして、このシミュレーションの結果から、区分数と通信機器数との組み合わせごとに、衝突を発生させることなく通信可能な通信機器数の期待値をそれぞれ求める。そして、得られた各期待値を、所望の評価関数に代入して評価値を算出する。そして、通信機器数ごとに、最も高い評価値が得られた区分数を取得することで、区分数情報を得ることができる。また、また、シミュレーション用ソフトウェアを用いずに、実際にRFIDタグ等の通信機器とRFIDタグリーダ/ライタ等の通信処理装置とを用意して、上記のシミュレーションと同様の実験を行った結果を用いて、対応機器数情報を得るようにしても良い。区分数情報格納部309は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0195】
通信機器数推定部304は、対応機器数情報格納部308が格納している対応機器数情報を用いて、区分数指定指示により指定された区分数と、衝突数取得部103が取得した衝突数とに対応した、複数の通信機器200の数を推定する。通信機器数推定部304は、具体的には、対応機器数情報のうちの、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とにより特定される通信機器数を読み出し、推定される通信機器数として取得する。例えば、対応機器数情報において、対応する区分数と、衝突数と、通信機器数とが一つのレコードに格納されている場合、通信機器数推定部304は、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とがともに一致するレコードに含まれる通信機器数を取得する。通信機器数推定部304は、通常、MPUやメモリ等から実現され得る。通信機器数推定部304の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0196】
区分数取得部305は、区分数情報格納部309が格納している区分数情報を用いて、通信機器数推定部の推定した通信機器数に対応した区分数を取得する。具体的には、区分数取得部305は、区分数情報のうちの、通信機器数推定部304の推定した通信機器数に対応した値により一意に特定される区分数を読み出し、取得する。この実施の形態においては、特に、区分数情報のうちの、通信機器数推定部304の推定した通信機器200の数から、受信部102が識別情報を受信した通信機器200の数を減算して得られた通信機器の数により一意に特定される区分数を取得する。例えば、区分数情報において、対応する通信機器数と、区分数とが一つのレコードに格納されている場合、区分数取得部305は、区分数情報のうちの、通信機器数推定部304の推定した通信機器200の数から受信部102が識別情報を受信した通信機器200の数を減算して得られた通信機器数が一致するレコードに含まれる通信機器数を取得する。区分数取得部305は、通常、MPUやメモリ等から実現され得る。区分数取得部305の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0197】
つぎに、本実施の形態の通信処理装置の動作について、図13のフローチャートを用いて説明する。なお、図13において、図2と同一符号は、同一または相当するステップを示している。
【0198】
(ステップS1301)通信機器数推定部304は、対応機器数情報格納部308に格納されている対応機器数情報を用いて、ステップS202において用いた区分数指定指示が指定する区分数と、ステップS202において取得した衝突数と、に対応した通信機器数を取得する。例えば、通信機器数推定部304は、対応機器数情報格納部308に格納されている対応機器数情報内の区分数および衝突数の中から、ステップS202において用いた区分数指定指示が指定する区分数およびステップS202において取得した衝突数に一致するものを検索し、一致する区分数および衝突数に対応付けられた通信機器数を、推定される通信機器数として取得する。
【0199】
(ステップS1302)区分数取得部305は、区分数情報格納部309に格納されている区分数情報を用いて、ステップS205の減算結果得られた通信機器数に対応した区分数を取得する。例えば、区分数取得部305は、区分数情報格納部309に格納されている区分数情報内の通信機器数の中から、ステップS205において得られた通信機器数に一致するものを検索し、一致する通信機器数に対応付けられた区分数を取得する。
【0200】
なお、図13のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0201】
次に、対応機器数情報を演算により取得する方法の例について、図14のフローチャートを用いて説明する。ここでは、この演算を、上記実施の形態1において説明した通信処理装置100の通信機器数推定部104、もしくはこれと同様の構成を有する装置等を用いて行った場合について説明する。なお、図において、図2と同一符号は同一または相当するステップを示している。
【0202】
(ステップS1401)区分数hに1を、コリジョン数kに0をそれぞれ代入する。なお、ここでの区分数h、およびコリジョン数kが、そのままステップS204の区分数h、コリジョン数kとして用いられるものとする。
【0203】
(ステップS1402)ステップS207において取得した、推定される通信機器数を、コリジョン数kおよび区分数hに対応付けてメモリ等の記憶媒体、例えば、対応機器数情報格納部308に蓄積する。最終的にこの記憶媒体に蓄積されている情報が、対応機器数情報となる。
【0204】
(ステップS1403)コリジョン数kが区分数h以上であるか否かを判断する。区分数h以上であれば、ステップS1404に進み、区分数h以上でなければ、ステップS1406に進む。
【0205】
(ステップS1404)コリジョン数kに0を代入する。
【0206】
(ステップS1405)区分数hが所定の値以上か否か判断する。所定の値は、どのような値でもよく、例えば、通信機器数の上限と予想される値等に応じて決定される。所定の値以上であれば、処理を終了し、所定の値以上でなければ、ステップS1407に進む。
【0207】
(ステップS1406)コリジョン数kを1インクリメントする。そして、ステップS204に戻る。
【0208】
(ステップS1407)区分数hを1インクリメントする。そして、ステップS204に戻る。
【0209】
なお、図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0210】
次に、区分数情報を演算により取得する方法について、図15のフローチャートを用いて説明する。ここでは、この演算を、上記実施の形態1において説明した通信処理装置100の区分数取得部105、もしくはこれと同様の構成を有する装置等を用いて行った場合について説明する。なお、図において、図2と同一符号は同一または相当するステップを示している。
【0211】
(ステップS1501)通信機器数Bに1を代入する。なお、ここでの通信機器数Bが、そのままステップS207の通信機器数Bとして用いられるものとする。
【0212】
(ステップS1502)ステップS209において取得した区分数を、通信機器数Bに対応付けてメモリ等の記憶媒体、例えば、区分数情報格納部309に蓄積する。最終的にこの記憶媒体に蓄積されている情報が、区分数情報となる。
【0213】
(ステップS1503)通信機器数Bが所定の値以上か否か判断する。所定の値は、どのような値であってもよく、例えば、通信機器数の上限と予想される値等に応じて決定される。所定の値以上であれば、処理を終了し、所定の値以上でなければ、ステップS1505に進む。
【0214】
(ステップS1505)通信機器数Bを1インクリメントする。
【0215】
なお、図15のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0216】
以下、本実施の形態における通信システムの具体的な動作について説明する。通信システムの概念図は、通信処理装置100の代わりに通信処理装置300を設けたことを除けば図8と同様である。また、この具体例においては、タイムスロット数がQ値を用いて指定されるものとし、このQ値を区分数として利用するものとする。
【0217】
まず、予め、対応機器数情報を生成し、対応機器数情報格納部308に蓄積しておく。具体的には、まず、利用される考えられるQ値と、発生し得ると考えられるコリジョン数との組み合わせを、複数用意し、それぞれの組み合わせについて、上記実施の形態1の具体例において説明したように、通信機器数bを変更させながら、各Q値ごとにコリジョン数kとなる確率を求めていき、最終的に、各Q値について、コリジョンの発生数が、kとなる確率が最も高くなる通信機器数bを得る。この通信機器数bを、通信可能なすべての通信機器数と推定する。そして、この通信機器数と、この通信機器数が得られる場合のQ値とコリジョン数とを対応付けて対応機器数情報格納部308に蓄積する。この対応付けられた情報が対応機器数情報である。
【0218】
図16は、対応機器数情報格納部308に格納されている対応機器数情報を管理するための対応機器数情報管理表である。対応機器数情報管理表においては、各行は所定のQ値に対応した通信機器数、各列は、コリジョン数に対応した通信機器数を示し、行と列の交わるセルが、所定のQ値およびコリジョン数に対応した通信機器数を示す。なお、図において「−」は値の算出を行っていない部分を示し、「200≦」、「2≦」は、それぞれ、値が200以上、2以上であることを示す。ただし、ここでは、便宜上、通信機器数の計算時に、値が201以上となった時点で、計算を終了している。
【0219】
次に、予め、区分数情報を生成し、区分数情報格納部309に格納する。具体的には、実際に利用し得ると考えられる通信機器数Bを複数用意し、各通信機器数Bについて、上記実施の形態1の具体例において説明したように、Q値を変更しながら、衝突を発生させることなく通信可能な通信機器数の期待値Eを求める。
【0220】
例えば、このようにして得られた、通信機器数と、Q値と、これらの対応機器数およびQ値を用いて算出される期待値Eと、の対応関係を示す表を、図17に示す。この表において、各行は所定のQ値に対応した期待値E、各列は、所定の通信機器数に対応した期待値Eを示し、行と列の交わるセルが、所定のQ値および通信機器数に対応した期待値Eを示す。なお、図において「−」は値を算出を行っていない部分を示す。
【0221】
次に、算出された期待値Eをそれぞれが対応するタイムスロット数、すなわち2で除算することで、評価値Vを得る。これにより、通信機器数と、Q値と、これらの通信機器数およびQ値を用いて算出される評価値との対応関係を得ることができる。
【0222】
図18は、Q値と、通信機器数と、Q値と通信機器数とを用いて算出された評価値との対応関係を示す表である。図18において、各行は所定のQ値に対応した評価値V、各列は、所定の通信機器数に対応した評価値Vを示し、行と列の交わるセルが、所定のQ値および通信機器数に対応した評価値Vを示す。なお、図において「−」は値を算出を行っていない部分を示す。
【0223】
つぎに、通信機器数別に、最も高い評価値が得られるQ値を取得する。例えば、図18において、通信機器数が「86」である場合、最も高い評価値が得られるQ値は「6」であるため、Q値「6」を取得する。
【0224】
そして、このように取得したQ値と、通信機器数とを対応付けて、区分数情報格納部309に格納する。このQ値と、通信機器数とを対応付けた情報が区分数情報である。
【0225】
図19は、区分数情報格納部309に格納されている区分数情報を管理するための区分数情報管理表である。区分数情報管理表は、「通信機器数」、「最適Q値」という属性を有する。「通信機器数」は通信機器数、「最適Q値」は、通信機器数に基づいて上記のように取得した区分数、ここではQ値である。
【0226】
次に、上記実施の形態1の具体例と同様に、通信処理装置300により、アンチコリジョン処理の1シークエンスが実行される。この処理については、上記実施の形態1の具体例と同様であるのでここでは説明を省略する。
【0227】
そして、この処理で指定されたQ値と、この処理で取得されたコリジョン数とを用いて、通信機器数推定部304は、通信機器200の数を推定する。ここでは、通信機器数推定部304は、対応機器数情報格納部308に格納されている図16に示すような対応機器数情報から、上記のQ値と、コリジョン数とにより特定される通信機器数を取得する。この通信機器数が、推定される通信機器数である。例えば、アンチコリジョン処理の直前のシークエンスで指定されたQ値が「10」、コリジョン数が、「5」であったとすると、図16に示すような対応機器数情報から特定される通信機器数は、「93」となる。
【0228】
そして、区分数取得部305が、この推定される通信機器数から、直前のアンチコリジョン処理の1シークエンスで取得した識別情報数を、減算する。この場合、取得された識別情報数が「4」であったとすると、「93−4=89」となる
【0229】
次に、この推定される通信機器数から識別情報数を減算した値を用いて、区分数取得部305が、新たに設定すべき区分数、ここではQ値を取得する。
【0230】
具体的には、区分数取得部305は、図19に示すような区分数情報格納部309が格納している区分数情報から、通信機器数推定部304により推定される通信機器数から識別情報数を減算した値が、「通信機器数」の属性値と一致するレコードを検索し、このレコードに含まれる「最適Q値」の属性値を、新たに設定すべきQ値として取得する。ここでは、区分数取得部305が、通信機器数推定部304により推定された通信機器数から識別情報数を減算して得た値が、上述した「89」であるとすると、新たなQ値として、「7」が得られる。
【0231】
そして、区分数更新部106が、区分数取得部305の取得したQ値「7」を用いて区分数指定指示が指定する区分数を更新後、次のアンチコリジョン処理のシークエンスが行なわれる。これ以降の処理については、上記実施の形態1の具体例と同様であるので説明は省略する。
【0232】
以上、本実施の形態によれば、上記実施の形態1と同様の効果を奏するとともに、予め用意された、区分数と、衝突数と、推定される通信機器数との対応関係を示す対応機器数情報を用いて、通信機器数推定部304が通信機器数を推定し、また、通信機器数推定部304が推定した通信機器数に対応した通信機器数を用いて、予め用意された通信機器数と区分数との対応関係を示す区分数情報から、区分数取得部105が、新たな区分数を取得するようにしたので、通信機器数を推定したり、区分数を取得するための演算処理が不要となり、処理時間の短縮化を図ることができる。この結果、アンチコリジョン処理全体の所用時間を短縮させることができる。また、高速なプロセッサ等を不要とすることができる。
【0233】
なお、区分数取得部305が、評価値算出手段1052および対応区分数取得手段1053と、同じ、もしくは相当する手段を備えるようにし、区分数情報格納部309に、区分数情報の代わりに、図17に示すような通信機器数とQ値等の区分数と期待値Eとの関係を示す情報である期待値関連情報を予め求めて格納しておくようにしても良い。この場合、区分数取得部305が、この期待値関連情報を用いて、通信機器数推定部304の推定した通信機器数に対応した区分数と期待値Eとの関係を示す情報を取得し、上記実施の形態1と同様に、評価値算出手段が、この期待値と区分数とを所望の評価関数に代入して、評価値Vを算出して、評価値Vと区分数との対応関係を求め、対応区分数取得手段1053が、この評価値Vと区分数との対応関係から、最も評価の高い評価値に対応する区分数を取得するようにしても良い。
【0234】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【0235】
なお、上記各実施の形態における通信処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラムである。
【0236】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。かかることは他の実施の形態においても同様である。
【0237】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。かかることは他の実施の形態においても同様である。
【0238】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。かかることは他の実施の形態においても同様である。
【0239】
(実施の形態3)
上記実施の形態2において、ステップS205に示したような通信機器数の推定値から識別情報取得数を減算しない場合、通信機器数推定部304の出力する推定される通信機器数と、区分数取得部105が区分数を取得する際に用いる通信機器数とが、一致する。このため、対応機器数情報の通信機器数を示す属性と、区分数情報の通信機器数を示す属性とを一致させることが可能となる。本実施の形態は、このようにして、通信機器数を一致させるように、対応機器数情報と区分数情報とを組み合わせた結果得られた、区分数指定指示が指定する区分数と、衝突数と、最終的に更新に用いられる区分数との関係を示す情報との対応関係を示す情報を予め用意し、この情報を用いて、区分数を更新するようにしたものである。
【0240】
図20は、本実施の形態における通信システムのブロック図である。本実施の形態の通信システムは、通信処理装置400と、複数の通信機器200とを具備している。
【0241】
複数の通信機器200の構成および動作については、上記実施の形態1と同様であるので、ここでは詳細な説明は省略する。
【0242】
通信処理装置300は、上記実施の形態2において説明した通信処理装置1において、通信機器数推定部104および区分数取得部105の代わりに、更新区分数取得部401を設けるとともに、対応機器数情報格納部308と、区分数情報格納部309との代わりに、更新区分数情報格納部402を設けるようにしたものである。すなわち、通信処理装置300は、指示送信部101、受信部102、衝突数取得部103、区分数更新部106、識別情報送信指示送信部107、更新区分数取得部401、および更新区分数情報格納部402を具備する。
【0243】
指示送信部101、受信部102、衝突数取得部103、区分数更新部106、および識別情報送信指示送信部107の構成、および動作については、上記実施の形態1と同様であるので詳細な説明は省略する。
【0244】
更新区分数情報格納部402には、区分数指定指示により指定された区分数と、通信時に衝突が発生した区分数である衝突数と、これらに対応した、区分数指定指示により指定される区分数を更新するための区分数である更新区分数との対応関係を示す情報である1以上の更新区分数情報が格納される。具体的には、更新区分数情報は、区分数指定指示により指定された区分数と、通信時に衝突が発生した区分数である衝突数と、これらにより一意に特定される更新区分数との対応関係を示す情報である。ここでは、具体例として、更新区分数情報は、上記実施の形態2において説明した対応機器数情報と区分数情報とを、それぞれの通信機器数情報同士を一致させるようにして結合し、区分数情報が示す区分数の情報を、更新区分数情報として得られる情報である。例えば、対応機器数情報に対して、通信機器数の代わりに、区分数情報のうちの、この通信機器数と一致する通信機器数に対応する区分数を更新区分数として対応付けることで、更新区分数情報を得ることができる。すなわち、更新区分数情報は、区分数指定指示により指定された区分数と、通信時に衝突が発生した区分数である衝突数と、この区分数および衝突数を用いて、上記実施の形態2と同様に、通信機器数を推定し、この推定した通信機器数から、上記実施の形態2と同様に、評価値等を用いて取得した更新に用いられる区分数と、の対応関係を示す情報である。更新区分数情報格納部402は、更新区分数情報格納部402は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0245】
更新区分数取得部401は、更新区分数情報格納部402が格納している更新区分数情報を用いて、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とに対応した、更新すべき区分数を取得する。更新区分数取得部401は、具体的には、更新区分数情報のうちの、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とにより特定される更新区分数を取得する。例えば、対応機器数情報において、対応する区分数と、衝突数と、更新区分数とが一つのレコードに格納されている場合、更新区分数取得部401は、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とがともに一致するレコードに含まれる更新区分数を取得する。なお、ここでは、この更新区分数を用いて、区分数更新部は、区分数を更新するものとする。更新区分数取得部401は、通常、MPUやメモリ等から実現され得る。更新区分数取得部401の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0246】
次に、図21のフローチャートを用いて、通信処理装置400の動作について説明する。図21において、図2と同一符号は同一または相当するステップを示しており、ここでは説明を省略する。なお、更新区分数情報を取得する処理については、上記実施の形態2において説明した、対応機器数情報を取得する処理と、区分数情報を取得する処理とを組み合わせることで得られるものであることから、ここでは説明を省略する。
【0247】
(ステップS2101)更新区分数取得部401は、更新区分数情報格納部402に格納されている更新区分数情報を用いて、ステップS202において用いた区分数指定指示が指定する区分数と、ステップS202において取得した衝突数と、に対応した更新区分数を推定する。例えば、更新区分数取得部401は、更新区分数情報格納部402に格納されている更新区分数情報内の区分数および衝突数の中から、ステップS202において用いた区分数指定指示が指定する区分数およびステップS202において取得した衝突数に一致するものを検索し、一致する区分数および衝突数に対応付けられた更新区分数を取得する。
【0248】
なお、このフローチャートにおいて、区分数更新部106は、ステップS2001において取得された更新区分数を用いて区分数を更新するものとする。
【0249】
なお、図21のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0250】
以下、本実施の形態における通信システムの具体的な動作について説明する。通信システムの概念図は、通信処理装置100の代わりに通信処理装置400を設けたことを除けば図8と同様である。また、この具体例においても、タイムスロット数がQ値を用いて指定されるものとし、このQ値を区分数として利用するものとする。
【0251】
まず、上記実施の形態2と同様に、図16に示したような対応機器数情報、および図19に示したような区分数情報を用意し、対応機器数情報が区分数とコリジョン数とに対応付けている通信機器数の代わりに、この通信機器数と一致する「通信機器数」属性値を含む区分数情報のレコードの「区分数」属性値を、「更新区分数」属性値として、対応機器数情報の区分数とコリジョン数とに対応付けていくことで、区分数と衝突数と更新区分数との対応関係を示す更新区分数情報を取得し、この区分数更新情報を、更新区分数情報格納部402に蓄積しておく。
【0252】
なお、ここでは、対応機器数情報と区分数情報とを結合して更新区分数情報を構成するようにしたが、結果的に同様の更新区分数情報が得られれば、その取得方法は問わない。例えば、図2に示したステップS202およびステップS207の処理を、Q値とコリジョン数との複数の組み合わせについて順番に実行して更新区分数情報を構成してもよい。
【0253】
図22は、更新区分数情報格納部402に蓄積された更新区分数情報を管理するための、更新区分数情報管理表である。更新区分数情報管理表において、各行は所定のQ値に対応した更新区分数、各列は、コリジョン数に対応した更新区分数を示し、行と列の交わるセルが、所定のQ値およびコリジョン数に対応した更新区分数を示す。なお、ここでは、説明の便宜上、更新区分数情報管理表の一部のみを示している。
【0254】
次に、上記実施の形態1の具体例と同様に、通信処理装置400により、アンチコリジョン処理の1シークエンスが実行される。この処理については、上記実施の形態1の具体例と同様であるのでここでは説明を省略する。
【0255】
そして、この処理で指定されたQ値と、この処理で取得されたコリジョン数とを用いて、更新区分数取得部401は、更新区分数を取得する。ここでは、更新区分数取得部401は、更新区分数情報格納部402に格納されている図22に示すような更新区分数情報から、上記のQ値と、コリジョン数とにより特定される更新区分数を検索し、取得する。例えば、アンチコリジョン処理の直前のシークエンスで指定されたQ値が「6」、コリジョン数が、「4」であったとすると、新たに更新すべき区分数である更新区分数は、「4」となる。
【0256】
そして、区分数更新部106が、更新区分数取得部401の取得した更新区分数「4」を用いて区分数指定指示が指定する区分数