(57)【要約】【課題】従来の通信処理装置においては、適切な区分数を設定できないという課題があった。【解決手段】識別情報を有する複数の通信機器２００との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部１０１と、通信機器２００が出力する識別情報を受信する受信部１０２と、複数の通信機器２００との間で、それぞれに割り当てられた区分別に通信を行う場合における、衝突数を取得する衝突数取得部１０３と、区分数指定指示が指定する区分数と、衝突数とを用いて、通信機器２００数を推定する通信機器数推定部１０４と、この推定した通信機器数に対応した区分数を取得する区分数取得部１０５と、この区分数を用いて区分数指定指示が指定する区分数を更新する区分数更新部１０６とを具備する。【選択図】図１
2008017437.tif 000002
【特許請求の範囲】
【請求項１】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置。
【請求項２】
前記複数の通信機器が送信する識別情報を受信する受信部をさらに具備する請求項１記載の通信処理装置。
【請求項３】
前記区分数取得部は、
前記通信機器数推定部の推定した通信機器の数から、前記受信部が識別情報を受信した通信機器の数を減算して得られた通信機器の数に対応した区分数を取得する請求項２記載の通信処理装置。
【請求項４】
前記通信機器数推定部は、
前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、
前記確率取得手段が取得した割り当て確率の値が、最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する請求項１から請求項３いずれか記載の通信処理装置。
【請求項５】
前記区分数取得部は、
前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数推定部の推定した通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、
前記期待値取得手段が取得した期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、
前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する請求項１から請求項４いずれか記載の通信処理装置。
【請求項６】
前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、
前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する請求項１から請求項３いずれか記載の通信処理装置。
【請求項７】
前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、
前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数推定部の推定した通信機器数に対応した区分数を取得する請求項１から請求項４または請求項６記載の通信処理装置。
【請求項８】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である１以上の更新区分数情報が格納され得る更新区分数情報格納部と、
当該更新区分数情報格納部が格納している更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得部が取得した衝突数とに対応した更新区分数を取得する更新区分数取得部と、
前記区分数取得部が取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置。
【請求項９】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付部と、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付部と、
前記区分数受付部が受け付けた区分数と、前記衝突数受付部の受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記通信機器数推定部の推定した通信機器数を出力する通信機器数出力部とを具備する情報処理装置。
【請求項１０】
前記通信機器数推定部は、
前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、
前記確率取得手段が取得した割り当て確率の値が最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する請求項９記載の情報処理装置。
【請求項１１】
前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、
前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する請求項１０記載の情報処理装置。
【請求項１２】
識別情報を有する複数の通信機器の数を受け付ける通信機器数受付部と、
前記通信機器数受付部の受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数を出力する区分数出力部とを具備する情報処理装置。
【請求項１３】
前記区分数取得部は、
前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数受付部の受け付けた通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、
前記期待値取得手段が取得した前記期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、
前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する請求項１２記載の情報処理装置。
【請求項１４】
前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、
前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数受付部の受け付けた通信機器数に対応した区分数を取得する請求項１２記載の情報処理装置。
【請求項１５】
複数の通信機器と、通信処理装置とを具備する通信システムであって、
前記複数の通信機器は、それぞれ、
識別情報が格納され得る識別情報格納部と、
前記通信処理装置が送信した、当該複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する指示受信部と、
前記区分数指定指示に応じた区分のいずれか１つを自機器に割り当てる区分割当部と、
割り当てられた区分別に、所定の信号を送信する信号送信部と
前記通信処理装置からの指示に応じて、前記識別情報を送信する識別情報送信部と、を具備し、
前記通信処理装置は、
前記区分数指定指示を送信する指示送信部と、
前記通信機器の信号送信部が送信する所定の信号、および前記通信機器が送信する識別情報を受信する受信部と、
前記受信部の受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記受信部の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器に対して、前記識別情報を送信する指示を送信する識別情報送信指示送信部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信システム。
【請求項１６】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項１７】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
格納されている、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得ステップにより取得した衝突数とに対応した更新区分数を取得する更新区分数取得ステップと、
前記区分数取得ステップが取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項１８】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップで受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を出力する通信機器数出力ステップとを具備する情報処理方法。
【請求項１９】
識別情報を有する複数の通信機器の数を受け付ける通信機器数受付ステップと、
前記通信機器数受付ステップにより受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数を出力する区分数出力ステップとを具備する情報処理方法。
【請求項２０】
複数の通信機器と、通信処理装置とを具備する通信システムの通信処理方法であって、
前記複数の通信機器に対する、通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記指示送信ステップで送信された区分数指定指示を、前記複数の通信機器において受信する指示受信ステップと、
前記区分数指定指示に応じた区分のいずれか１つを前記通信機器に割り当てる区分割当ステップと、
前記区分数割当ステップにより割り当てられた区分別に、前記複数の通信機器から所定の信号を送信する信号送信ステップと
前記通信機器の信号送信部が送信する所定の信号を受信する受信ステップと、
前記受信ステップの受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項２１】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラム。
【請求項２２】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
格納されている、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得ステップにより取得した衝突数とに対応した更新区分数を取得する更新区分数取得ステップと、
前記区分数取得ステップが取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラム。
【請求項２３】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップで受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、
前記通信機器数推定ステップにより推定した通信機器数を出力する通信機器数出力ステップとを実行させるためのプログラム。
【請求項２４】
コンピュータに、
識別情報を有する複数の通信機器の数を受け付ける通信機器数受付ステップと、
前記通信機器数受付ステップにより受け付けた通信機器数を用いて、当該通信機器数に対応した、当該複数の通信機器との通信を分割して行うための区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数を出力する区分数出力ステップとを実行させるためのプログラム。
【請求項２５】
コンピュータが識別情報を有する複数の通信機器の数を推定する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項２６】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、
前記複数の区分数のデータの中から、通信を分割して行う前記複数の通信機器の数により特定される区分数のデータを取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項２７】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される、前記区分数の更新に用いられる区分数のデータである複数の更新区分数データとを含み、
前記コンピュータは、前記複数の通信区分数データの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される更新区分数データを取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項２８】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造を記録したコンピュータ読み取り可能な記憶媒体であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータと、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得し、
当該取得した通信機器数のデータにより特定される区分数のデータを、前記複数の区分数のデータの中から取得することを特徴とするデータ構造を記録したコンピュータ読み取り可能な記憶媒体。
【請求項２９】
コンピュータが識別情報を有する複数の通信機器の数を推定する処理に用いられるデータ構造であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得することを特徴とするデータ構造。
【請求項３０】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造であって、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、前記複数の区分数のデータの中から、通信を分割して行う前記複数の通信機器の数により特定される区分数のデータを取得することを特徴とするデータ構造。
【請求項３１】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される、前記区分数の更新に用いられる区分数のデータである複数の更新区分数データとを含み、
前記コンピュータは、前記複数の通信区分数データの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される更新区分数データを取得することを特徴とするデータ構造。
【請求項３２】
コンピュータが識別情報を有する複数の通信機器との通信を分割して行うための区分数を取得する処理に用いられるデータ構造であって、
前記複数の通信機器との通信を分割して行うための区分数のデータと、前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数のデータと、前記区分数のデータと衝突数のデータとにより特定される複数の通信機器数のデータと、
前記複数の通信機器の数のデータと、当該複数の通信機器の数のデータにより特定される複数の前記区分数のデータとを含み、
前記コンピュータは、前記複数の通信機器数のデータの中から、前記複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示により指定された区分数と、当該区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数と、により特定される通信機器数のデータを取得し、
当該取得した通信機器数のデータにより特定される区分数のデータを、前記複数の区分数のデータの中から取得することを特徴とするデータ構造。
【請求項３３】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置。
【請求項３４】
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、
前記複数の通信機器が送信する識別情報を受信する受信部と、を更に具備し、
上記残った通信機器数は、前記通信機器数推定部が推定した前記複数の通信機器の数から、前記受信部が識別情報を受信した通信機器数を減算した数である請求項３３記載の通信処理装置。
【請求項３５】
前記通信機器数推定部は、
前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、
前記確率取得手段が取得した割り当て確率の値が、最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する請求項３４記載の通信処理装置。
【請求項３６】
前記区分数取得部は、
前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記残った通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、
前記期待値取得手段が取得した期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、
前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する請求項３３から請求項３４いずれか記載の通信処理装置。
【請求項３７】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付部と、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付部と、
前記区分数受付部が受け付けた区分数と、前記衝突数受付部が受け付けた衝突数とを用いて、残った通信機器数を取得する通信機器数推定部と、
前記通信機器数推定部の取得した通信機器数を出力する通信機器数出力部とを具備する情報処理装置。
【請求項３８】
複数の通信機器と、通信処理装置とを具備する通信システムであって、
前記複数の通信機器は、それぞれ、
識別情報が格納され得る識別情報格納部と、
前記通信処理装置が送信した、当該複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する指示受信部と、
前記区分数指定指示に応じた区分のいずれか１つを自機器に割り当てる区分割当部と、
割り当てられた区分別に、所定の信号を送信する信号送信部と
前記通信処理装置からの指示に応じて、前記識別情報を送信する識別情報送信部と、を具備し、
前記通信処理装置は、
前記区分数指定指示を送信する指示送信部と、
前記通信機器の信号送信部が送信する所定の信号、および前記通信機器が送信する識別情報を受信する受信部と、
前記受信部の受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得部と、
前記受信部の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器に対して、前記識別情報を送信する指示を送信する識別情報送信指示送信部と、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得部と、
前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信システム。
【請求項３９】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項４０】
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップにより受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、残った通信機器数を取得する通信機器数推定ステップと、
前記通信機器数推定ステップにより取得した通信機器数を出力する通信機器数出力ステップとを具備する情報処理方法。
【請求項４１】
複数の通信機器と、通信処理装置とを具備する通信システムの通信処理方法であって、
前記複数の通信機器に対する、通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記指示送信ステップで送信された区分数指定指示を、前記複数の通信機器において受信する指示受信ステップと、
前記区分数指定指示に応じた区分のいずれか１つを前記通信機器に割り当てる区分割当ステップと、
前記区分数割当ステップにより割り当てられた区分別に、前記複数の通信機器から所定の信号を送信する信号送信ステップと
前記通信機器の信号送信部が送信する所定の信号を受信する受信ステップと、
前記受信ステップの受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを具備する通信処理方法。
【請求項４２】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、
前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、
前記区分数指定指示により指定された区分数と、前記衝突数とを用いて取得される残った通信機器数を用いて、当該残った通信機器数に対応した区分数を取得する区分数取得ステップと、
前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラム。
【請求項４３】
コンピュータに、
識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、
前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、
前記区分数受付ステップにより受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、残った通信機器数を取得する通信機器数推定ステップと、
前記通信機器数推定ステップにより取得した通信機器数を出力する通信機器数出力ステップとを実行させるためのプログラム。
【請求項４４】
請求項４２または請求項４３記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｔｙ）タグ等の通信機器との通信を行う通信処理装置等に関するものである。
【背景技術】
【０００２】
従来、ＲＦＩＤタグ等の識別情報を有する通信機器との通信を行う場合において、通信機器数が多くなってくると、通信機器が発信する信号同士が衝突して、通信機器からの信号を受信する通信処理装置、例えばＲＦＩＤタグリーダ／ライタが、信号を正常に受信できなくなってしまう。このような衝突が生じる現象は通常、コリジョンと呼ばれる。このような複数の機器が出力する信号の衝突を防いで、複数の通信機器の信号を読み取り可能とする処理はアンチコリジョン処理と呼ばれる。
【０００３】
このようなアンチコリジョン処理としては、例えば、タイムスロットを利用したものがある。具体的には、識別情報を有する複数の通信機器、例えばＲＦＩＤタグとの通信を分割して行うために、タイムスロットと呼ばれる、信号の読み出し処理を行うタイミングを時分割した複数の区分のいずれか１つに、複数の通信機器を任意に割り当てさせ、タイムスロットごとに、１つのタイムスロットに含まれる通信機器に乱数を出力させる。そして、その乱数を通信処理装置が正常に読み出せた場合、その乱数を出力した通信機器から識別情報を読み出す。また、タイムスロットに複数の通信機器が割り当てられており、このタイムスロットの通信機器から出力された乱数が、コリジョンの発生により読み出せなかった場合には、このタイムスロットからは、識別情報を読み出さない。同様にして、全てのタイムスロットの通信機器に対して一通り乱数を出力させる。タイムスロットに割り当てさせてから、全てのタイムスロットについて一通り乱数を出力させ、コリジョンの発生しなかった通信機器から識別情報を読み出すまでを、シーケンスと呼ぶ。１シーケンスが終わると、新たに、識別情報の読み出されていない通信機器を任意のタイムスロットに割り当てさせて、上記の処理を行う。そして、コリジョンが発生しなくなったシーケンスが終了した時点で処理を終了する。これにより、複数の通信機器の識別情報を読み出すことが可能となる。
【０００４】
上記のようなタイムスロットを利用したアンチコリジョン処理（ＳＬＯＴＴＥＤ  ＡＬＯＨＡ方式）においては、タイムスロット数の設定が、処理性能を向上させる上で重要となる。例えば、タイムスロット数を大きくすると、コリジョンの発生確率は減少するが、タイムスロットごとに結果的に識別情報が読み出せるか否かの処理を行うこととなるため、１シーケンス内の処理時間が増加してしまう。逆にタイムスロット数を小さくすると、１シーケンス内の処理時間は減少するが、コリジョンの発生確率が増加してしまう。
【０００５】
このため、例えば、直前のシーケンスにおけるＲＦＩＤタグ等の通信機器からのレスポンス数に応じて、細かくタイムスロット数を変化させていくことで、タイムスロット数を最適化させようとする技術等が提案されている（例えば、非特許文献１参照）。
【非特許文献１】"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〉ｐ.84等
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の通信処理装置等においては、タイムスロット数を変動させる際に、通信処理装置との通信可能なエリア内に存在する通信機器数を考慮せずに、単に直前のシーケンスによるレスポンスに応じて少しずつタイムスロット数を変化させるため、通信機器数によっては、タイムスロット数を最適化させるために時間がかかってしまい、その結果、アンチコリジョン処理の時間が十分に短縮できないという課題があった。
【０００７】
また、通信処理装置と通信可能な通信機器数の概略が判明すれば、これに合わせて、タイムスロット数の初期値を適切であると考えられている値に設定することも考えられるが、従来は、通信処理装置と通信可能な通信機器数を取得することができなかった。このため、タイムスロット数を適切に設定することができなかった。
【０００８】
また、仮に通信機器数の概略が判明していても、通信機器数に対して、どのようなタイムスロット数を設定することが適切であるかわからないため、適切なタイムスロット数を設定することができなかった。
【課題を解決するための手段】
【０００９】
本発明の通信処理装置は、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置である。
【００１０】
かかる構成により、通信が可能な通信機器数を推定し、この推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。これにより、アンチコリジョン処理の高速化や効率化を図ることができる。
【００１１】
また、本発明の通信処理装置は、前記通信処理装置において、前記複数の通信機器が送信する識別情報を受信する受信部をさらに具備する通信処理装置である。
【００１２】
かかる構成により、最適な区分数を設定することができる。
【００１３】
また、本発明の通信処理装置は、前記通信処理装置において、前記区分数取得部は、前記通信機器数推定部の推定した通信機器の数から、前記受信部が識別情報を受信した通信機器の数を減算して得られた通信機器の数に対応した区分数を取得する通信処理装置である。
【００１４】
かかる構成により、正確に通信機器数を推定することができ、より適切な区分数を設定することができる。
【００１５】
また、本発明の通信処理装置は、前記通信処理装置において、前記通信機器数推定部は、前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、前記確率取得手段が取得した割り当て確率の値が、最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する通信処理装置である。
【００１６】
かかる構成により、通信が可能な通信機器数を精度良く推定することができ、この推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。
【００１７】
また、本発明の通信処理装置は、前記通信処理装置において、前記区分数取得部は、前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数推定部の推定した通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、前記期待値取得手段が取得した期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する通信処理装置である。
【００１８】
かかる構成により、推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を、精度良く取得することができる。
【００１９】
また、本発明の通信処理装置は、前記通信処理装置において、前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する通信処理装置である。
【００２０】
かかる構成により、通信機器数を推定するための演算処理等が不要となり、通信機器数を取得する処理の高速化を図ることができ、区分数を最適化するための処理時間の短縮化を図ることができる。この結果、アンチコリジョン処理の所用時間を短縮させることができる。
【００２１】
また、本発明の通信処理装置は、前記通信処理装置において、前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数推定部の推定した通信機器数に対応した区分数を取得する通信処理装置である。
【００２２】
かかる構成により、推定された通信機器数から、この通信機器数に最適な区分数を取得するための演算処理等が不要となり、区分数を取得する処理の高速化を図ることができ、区分数を最適化するための処理時間の短縮化を図ることができる。この結果、アンチコリジョン処理の所用時間を短縮させることができる。
【００２３】
また、本発明の通信処理装置は、前記通信処理装置において、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信部と、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得部と、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報が格納され得る更新区分数情報格納部と、当該更新区分数情報格納部が格納している更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得部が取得した衝突数とに対応した更新区分数を取得する更新区分数取得部と、前記区分数取得部が取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信処理装置である。
【００２４】
かかる構成により、区分数と衝突数とから、直接、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。また、最適な区分数を設定する際に演算処理も不要となる。これにより、アンチコリジョン処理の高速化や効率化を図ることができる。
【００２５】
また、本発明の情報処理装置は、識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付部と、前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付部と、前記区分数受付部が受け付けた区分数と、前記衝突数受付部の受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、前記通信機器数推定部の推定した通信機器数を出力する通信機器数出力部とを具備する情報処理装置である。
【００２６】
かかる構成により、通信が可能な通信機器数を推定することができる。これにより、この通信機器数を用いて、区分数等を設定することでアンチコリジョン処理の高速化や効率化を図ることができる。
【００２７】
また、本発明の情報処理装置は、前記情報処理装置において、前記通信機器数推定部は、前記複数の通信機器の数を変化させるとともに、各複数の通信機器の数ごとに、前記衝突数取得部から取得した衝突数を条件として満たすように、当該複数の通信機器が、前記指示送信部から取得した区分数の各区分に割り当てられる確率である割り当て確率を取得する確率取得手段と、前記確率取得手段が取得した割り当て確率の値が最も高い場合の前記複数の通信機器の数を、推定される複数の通信機器の数として取得する推定通信機器数取得手段とを具備する情報処理装置である。
【００２８】
かかる構成により、通信機器数を精度良く推定することができる。
【００２９】
また、本発明の情報処理装置は、前記情報処理装置において、前記区分数と、前記衝突数と、前記複数の通信機器の数との対応関係を示す情報である対応機器数情報が格納され得る対応機器数情報格納部を、さらに具備し、前記通信機器数推定部は、前記対応機器数情報格納部が格納している対応機器数情報を用いて前記複数の通信機器の数を取得する情報処理装置である。
【００３０】
かかる構成により、通信機器数を推定するための演算処理等を不要として、処理の高速化を図ることができる。
【００３１】
また、本発明の情報処理装置は、識別情報を有する複数の通信機器の数を受け付ける通信機器数受付部と、前記通信機器数受付部の受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得部と、前記区分数取得部が取得した区分数を出力する区分数出力部とを具備する情報処理装置である。
【００３２】
かかる構成により、通信機器数に対して最適な区分数を取得することができる。これにより、この通信機器数に対して効率よくアンチコリジョン処理を行うことができる。
【００３３】
また、本発明の情報処理装置は、前記情報処理装置において、前記区分数取得部は、前記区分数を変化させるとともに、各区分数ごとに、当該区分数の各区分に、前記通信機器数受付部の受け付けた通信機器数に対応した数の複数の通信機器を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する期待値取得手段と、前記期待値取得手段が取得した前記期待値と、当該期待値に対応する前記区分数とを、前記期待値についての増加関数であって前記区分数についての減少関数である所望の評価関数に代入して評価値を算出する評価値算出手段と、前記評価値算出手段が算出した評価値のうち、評価が最も高いことを示す評価値に対応する前記区分数を取得する対応区分数取得手段とを具備する情報処理装置である。
【００３４】
かかる構成により、区分数を精度良く取得することできる。
【００３５】
また、本発明の情報処理装置は、前記情報処理装置において、前記複数の通信機器の数と、前記区分数と、の対応関係を示す情報である区分数情報が格納され得る区分数情報格納部をさらに具備し、前記区分数取得部は、前記区分数情報格納部が格納している区分数情報を用いて、前記通信機器数受付部の受け付けた通信機器数に対応した区分数を取得する情報処理装置である。
【００３６】
かかる構成により、区分数を取得するための演算処理等を不要として、処理の高速化を図ることができる。
【００３７】
また、本発明の通信システムは、複数の通信機器と、通信処理装置とを具備する通信システムであって、前記複数の通信機器は、それぞれ、識別情報が格納され得る識別情報格納部と、前記通信処理装置が送信した、当該複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する指示受信部と、前記区分数指定指示に応じた区分のいずれか１つを自機器に割り当てる区分割当部と、割り当てられた区分別に、所定の信号を送信する信号送信部と前記通信処理装置からの指示に応じて、前記識別情報を送信する識別情報送信部と、を具備し、前記通信処理装置は、前記区分数指定指示を送信する指示送信部と、前記通信機器の信号送信部が送信する所定の信号、および前記通信機器が送信する識別情報を受信する受信部と、前記受信部の受信した所定の信号に発生した衝突を検知し、衝突が発生した区分数である衝突数を取得する衝突数取得部と、前記受信部の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器に対して、前記識別情報を送信する指示を送信する識別情報送信指示送信部と、前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定部と、前記通信機器数推定部の推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得部と、前記区分数取得部が取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新部とを具備する通信システムである。
【００３８】
かかる構成により、通信が可能な通信機器数を推定し、この推定した通信機器数に対して、効率よくアンチコリジョン処理を行う上で最適な区分数を設定することができる。これにより、アンチコリジョン処理の高速化や効率化を図ることができる。
【発明の効果】
【００３９】
本発明による通信処理装置等によれば、適切な区分数を設定することができる。
【発明を実施するための最良の形態】
【００４０】
以下、通信処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００４１】
（実施の形態１）
図１は、本実施の形態における通信システムのブロック図である。
【００４２】
本実施の形態の通信システムは、通信処理装置１００と、複数の通信機器２００とを具備している。ここでは、便宜上、複数の通信機器２００を、通信機器２００ａ、通信機器２００ｂ、２００ｃ等として示す。
【００４３】
通信処理装置１００は、例えば、通信機器２００との通信を行い、通信機器２００に対して信号の読み書きが可能な装置であり、例えばＲＦＩＤタグリーダ／ライタ等である。ただし、通信機器２００との通信を行う他の通信装置との間で、送受信に用いられる信号等の送受信を行うものであっても良い。通信処理装置１００と、各通信機器２００とは、無線接続や有線接続等により通信が可能となっている。
【００４４】
通信処理装置１００は、指示送信部１０１、受信部１０２、衝突数取得部１０３、通信機器数推定部１０４、区分数取得部１０５、区分数更新部１０６、識別情報送信指示送信部１０７を具備する。
【００４５】
また、通信機器数推定部１０４は、確率取得手段１０４１、および推定通信機器数取得手段１０４２を具備する。
【００４６】
また、区分数取得部１０５は、期待値取得手段１０５１、評価値算出手段１０５２および対応区分数取得手段１０５３を具備する。
【００４７】
通信機器２００は、通信処理装置１００から出力される指示に応じて動作が可能な機器である。通信機器２００は、特に、識別情報をデータとして有しており、通信処理装置１００からの指示に応じて、この識別情報を、通信処理装置１００に出力可能である。通信機器２００は、例えば、ＲＦＩＤタグ等である。
【００４８】
通信機器２００は、それぞれ、識別情報格納部２０１、指示受信部２０２、区分割当部２０３、信号送信部２０４、識別情報送信部２０５を具備する。
【００４９】
指示送信部１０１は、識別情報を有する複数の通信機器２００との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する。識別情報は、具体的には、複数の通信機器２００のうちの１つを、他の通信機器２００と識別することのできる情報であれば、どのような情報であってもよい。例えば、識別情報は、通信機器２００の名前や、製造番号、通信機器２００固有の文字列等により構成される情報である。特に、通信機器２００がＲＦＩＤタグ等である場合、識別情報は、ＥＰＣ（Electronic Product Code)であっても良い。区分とは、通信を分割して行うために、通信時間や、通信に用いられる周波数や、符号等を分割したものである。区分は、具体的にはスロットや、チャンネルと呼ばれる。特に、通信時間を時分割した場合、区分はタイムスロットと呼ばれる。また、周波数分割した場合、区分は、チャンネルと呼ばれる。区分数とは、通信時間や周波数等をいくつの区分に分割するかを指定する値であり、タイムスロット数や、チャンネル数と呼ばれる。本実施の形態においては、特に、区分がタイムスロットである場合を例として説明する。以下、タイムスロットを、便宜上、スロットと呼ぶこともある。なお、本願においては、タイムスロット数等の区分数を利用する代わりに、区分数に１対１に対応し、区分数を特定できる情報を適宜利用しても良く、この場合にも、結果的には、区分数を利用したものと考える。例えば、ＲＦＩＤタグとの通信においては、通常は、規格（例えばEPC Class1 Generation2規格）等によりタイムスロット数は２Ｑ（Ｑは正の整数）で表され、ＱはＱ値と呼ばれる。EPC Class1 Generation2の規定においては、０≦Q≦１５と定められている。このような、Ｑ値を、区分数であるタイムスロット数の代わりに利用しても良く、この場合にも、結果的には、タイムスロット数を利用したものと考える。区分数指定指示は、区分数を直接指定する指示であっても良いし、区分数に１対１に対応する値であって、区分数を特定できる値を指定する値、例えばＱ値を指定する値であってもよい。また、区分数指定指示が、通信機器２００に区分数を設定させる指示等を含んでいても良い。区分数指定指示は、例えば、指示送信部１０１の内部または外部の、図示しないメモリ等の記憶媒体に格納されている。この区分数指定指示は、後述する区分数更新部１０６により更新され得る。指示送信部１０１は、通信処理装置１００が、通信機器２００との通信を行う装置である場合、通信可能な範囲内の通信機器２００に対して、区分数指定指示を直接送信するが、通信処理装置１００が、通信機器２００と直接通信しない場合等には、指示送信部１０１が、通信機器２００との通信を行う他の通信装置（図示せず）に対して、区分数指定指示を送信するようにし、これを受信した他の通信装置が、通信機器２００に対して、区分数指定指示を送信するようにしてもよい。また、指示送信部１０１は、区分数指定指示以外の他の指示、例えば、所定の区分に割り当てられた通信機器２００に信号を出力させる指示や、特定の通信機器２００に識別情報を送信させるための指示等を送信しても良い。指示送信部１０１は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００５０】
受信部１０２は、通信機器２００が送信する識別情報を受信する。また、受信部１０２は、通信機器２００の信号送信部２０４が送信する所定の信号を受信する。この所定の信号とは、具体的には、通信機器２００を識別することが可能な情報であればよく、例えば、通信機器２００が、任意に設定した乱数や、上述した識別情報、もしくはこれと同様の情報が利用可能である。受信部１０２は、無線の通信手段が好適であるが、放送を受信する手段や有線の通信手段でも実現可能である。
【００５１】
衝突数取得部１０３は、通信処理装置１００が、上述した区分数指定指示により指定された区分数の各区分に割り当てられた複数の通信機器２００との間で、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数（コリジョン数）を取得する。具体的には、通信機器２００が、割り当てられた区分別、例えば、タイムスロット別やチャンネル別に、通信処理装置１００と通信を行った場合において発生したコリジョンを検出し、衝突が発生した区分数であるコリジョン数を取得する。例えば、指示送信部１０１が、複数の通信機器２００のそれぞれを、区分数指定指示の指定する数のタイムスロットの１つに割り当てさせ、複数のタイムスロットのうちの１つのタイムスロットを指定して、これに割り当てられた通信機器２００に上述したような所定の信号を出力させる。このとき、受信部１０２が受信した所定の信号が、正常に読み取れなかった場合、衝突数取得部１０３は、衝突が発生したことを検知する。そして、衝突の発生したタイムスロットの数をカウントすることで衝突数を取得する。衝突が発生するということは、１つの区分、例えばタイムスロットに、複数の通信機器２００が対応している、すなわち割り当てられているということである。なお、通信機器２００を各区分に割り当てる際には、通信機器２００が１つも割り当てられない区分が１以上発生しても良い。衝突数取得部１０３は、通常、ＭＰＵやメモリ等から実現され得る。衝突数取得部１０３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５２】
識別情報送信指示送信部１０７は、１つの区分内において、衝突が発生しなかった通信機器２００に対して、識別情報を送信する指示を送信する。例えば、受信部１０２の受信した所定の信号のうちの衝突が発生しなかった信号に対応する通信機器２００に対して、識別情報を送信する指示を送信する。具体的には、受信部１０２の受信した所定の信号が通信機器２００を識別可能な情報、例えば通信機器２００が設定した乱数等である場合、この識別可能な情報を引数とする識別情報の送信指示を、識別情報送信指示送信部１０７が送信する。識別情報送信指示送信部１０７は、無線または有線の通信手段等で実現され得る。なお、通信機器２００が送信する所定の信号を、通信機器２００の識別情報とする場合、この識別情報送信指示送信部１０７は省略してもよい。
【００５３】
通信機器数推定部１０４は、区分数指定指示により指定された区分数と、衝突数取得部１０３が取得した衝突数とを用いて、複数の通信機器２００の数を推定する。ここで述べる「複数の通信機器２００の数を推定」とは、例えば、区分数と衝突数とから推定される通信機器数を、区分数と衝突数とを用いて算出するための所定の演算式やアルゴリズム等を用いて、通信機器数を算出することであってもよい。また、区分数と、衝突数と、この区分数および衝突数とから推定される通信機器数との対応関係を示す情報、例えばテーブル等から、推定される通信機器数を読み出すこと等であってもよい。この実施の形態においては、演算式等を用いて、推定される通信機器数を取得する、すなわち推定する場合について説明し、実施の形態２においては、推定される通信機器数との対応関係を示す情報、例えばテーブル等を用いて、推定される通信機器数を取得、すなわち推定する場合について説明する。通信機器数推定部１０４が通信機器２００の数を推定する処理については、後述する。なお、本実施の形態においては、通信機器数推定部１０４が、確率取得手段１０４１、および推定通信機器数取得手段１０４２を具備する場合について説明する。通信機器数推定部１０４は、通常、ＭＰＵやメモリ等から実現され得る。通信機器数推定部１０４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５４】
確率取得手段１０４１は、複数の通信機器２００の数を変化させるとともに、各複数の通信機器２００の数ごとに、衝突数取得部１０３から取得した衝突数を条件として満たすよう、複数の通信機器２００を、指示送信部１０１から取得した区分数の各区分に割り当てることのできる確率である割り当て確率を取得する。具体的には、確率取得手段１０４１は、複数の通信機器２００の数を所定の範囲内で変化させた場合における、衝突数取得部１０３の取得した衝突数を条件として満たすように、区分数指定指示が指定する区分数の各区分に複数の通信機器２００を割り当てた場合の組み合わせ数を、各複数の通信機器２００の数ごとに取得し、取得した組み合わせ数を、複数の通信機器２００を、区分数指定指示が指定する区分数の各区分に割り当てる全ての組み合わせ数により除算することで、衝突数を条件として満たすよう当該複数の通信機器を区分数指定指示が指定する区分数の各区分に割り当てることのできる割り当て確率を取得する。そして、例えば、通信機器２００の数と、割り当て確率との対応関係を示す情報を取得する。取得した割り当て確率との対応関係を示す情報は、後述する推定通信機器数取得手段１０４２が利用可能なように、例えばテーブル等として、図示しないメモリ等に格納される。具体的には、確率取得手段１０４１は、区分数と衝突数とから推定される通信機器数を、区分数と衝突数とを用いて算出するための所定の演算式やアルゴリズム等に、区分数指定指示により指定された区分数と、衝突数取得部１０３が取得した衝突数とを代入することで、通信機器数を算出する。このような演算式やアルゴリズム等の情報は、例えば図示しない記憶媒体等に格納されており、適宜読み出されて実行される。この確率取得手段１０４１の処理の具体例については後述する。確率取得手段１０４１は、通常、ＭＰＵやメモリ等から実現され得る。確率取得手段１０４１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５５】
推定通信機器数取得手段１０４２は、確率取得手段１０４１が取得した割り当て確率の値が最も高い場合の複数の通信機器２００の数を、区分数と衝突数とから推定される通信可能な複数の通信機器の数として取得する。この推定通信機器数取得手段１０４２の処理の具体例については後述する。推定通信機器数取得手段１０４２は、通常、ＭＰＵやメモリ等から実現され得る。推定通信機器数取得手段１０４２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５６】
区分数取得部１０５は、通信機器数推定部１０４の推定した通信機器数を用いて、この推定した通信機器数に対応した区分数を取得する。この実施の形態においては、特に、通信機器数推定部１０４の推定した通信機器２００の数から、受信部１０２が識別情報を受信した通信機器２００の数を減算して得られた通信機器の数に対応した区分数を取得する。ただし、このような通信機器数推定部１０４の推定した通信機器２００の数から、受信部１０２が識別情報を受信した通信機器２００の数を減算する処理は、通信機器数推定部１０４等において行うようにしてもよい。ここで述べる「区分数を取得」とは、例えば、通信機器数に対応した区分数を、通信機器数を用いて区分数を算出するための所定の演算式やアルゴリズム等を用いて算出することであってもよい。また、通信機器数と、この通信機器数に対応した区分数との対応関係を示す情報、例えばテーブル等から、通信機器数を読み出すこと等であってもよい。この実施の形態においては、演算式等を用いて、区分数を取得する場合について説明し、実施の形態２においては、通信機器数と区分数との対応関係を示す情報、例えばテーブル等を用いて区分数を取得する場合について説明する。区分数取得部１０５が、区分数を取得する処理については、後述する。なお、本実施の形態においては、区分数取得部１０５が、期待値取得手段１０５１、評価値算出手段１０５２および対応区分数取得手段１０５３を具備する場合について説明する。区分数取得部１０５は、通常、ＭＰＵやメモリ等から実現され得る。区分数取得部１０５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５７】
期待値取得手段１０５１は、区分数を変化させるとともに、各区分数ごとに、この区分数の各区分に、通信機器数推定部１０４の推定した通信機器数に対応した数の複数の通信機器２００を割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する。衝突を発生させることなく通信可能な通信機器とは、１つの区分に単独で割り当てられた通信機器である。衝突を発生させることなく通信可能な通信機器数の期待値は、例えば、推定された全ての通信機器、例えばＲＦＩＤタグ、を、各区分、例えばタイムスロットに割り当てた場合の全ての割り当てパターンに関して、そのパターンの発生確率と、そのパターンでの通信可能な通信機器数、例えばタグ数とを乗算した結果を算出し、これらの総和を算出することで取得できる。また、結果的に、このような値と同じ値が得られれば、期待値の算出の方法等は問わない。期待値取得手段１０５１は、例えば、この区分数と期待値との対応関係を示す情報を、後述する評価値算出手段１０５２が利用可能なように、例えばメモリ等の記憶媒体に一時記憶する。具体的には、期待値取得手段１０５１は、通信機器数に対応した区分数を通信機器数を用いて算出するための所定の演算式やアルゴリズム等に、通信機器数推定部１０４の推定した通信機器数に対応した通信機器数を代入することで、区分数を算出する。このような演算式やアルゴリズム等の情報は、例えば図示しない記憶媒体等に格納されており、適宜読み出されて実行される。この期待値取得手段１０５１の処理の具体例については後述する。期待値取得手段１０５１は、通常、ＭＰＵやメモリ等から実現され得る。期待値取得手段１０５１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５８】
評価値算出手段１０５２は、期待値取得手段１０５１が算出した期待値と、この期待値に対応する区分数とを、所望の評価関数に代入して評価値を算出する。期待値に対応する区分数とは、具体的には、期待値取得手段１０５１が各期待値を算出する際に用いた区分数である。ここで述べる評価値とは、期待値から、衝突を回避するための処理、すなわちアンチコリジョン処理を行うために、最適と推定される区分数を評価するための値である。評価関数は、具体例としては、期待値が大きくなり、かつ区分数が小さくなった場合に、高い評価値が得られるように設定された関数である。すなわち、評価関数は、期待値が大きくなると、アンチコリジョン処理のシークエンス数が減少して処理時間が短縮され、区分数を大きくすると、１シークエンス内の処理時間が長くなることに着目して設定された関数である。この評価関数は、例えば、期待値についての増加関数であって区分数についての減少関数であればよく、例えば、評価関数は、区分をタイムスロットとすると、Ｖ＝Ｅ／ｈ（Ｖは評価値、Ｅは期待値、ｈはタイムスロット数）が利用可能である。評価値算出手段１０５２は、例えば、この区分数と評価値との対応関係を示す情報を、後述する対応区分数取得手段１０５３が利用可能なように、例えばメモリ等の記憶媒体に一時記憶する。評価関数を定義する情報は、例えば図示しない記憶媒体等に格納されており、適宜読み出されて利用される。評価値算出手段１０５２は、通常、ＭＰＵやメモリ等から実現され得る。評価値算出手段１０５２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５９】
対応区分数取得手段１０５３は、評価値算出手段１０５２が算出した評価値のうち、評価が最も高いことを示す評価値に対応する区分数を取得する。対応区分数取得手段１０５３は、通常、ＭＰＵやメモリ等から実現され得る。対応区分数取得手段１０５３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６０】
区分数更新部１０６は、区分数取得部１０５が取得した区分数で、区分数指定指示が指定する区分数を更新する。例えば、区分数更新部１０６は、指示送信部１０１が内部または外部に有するメモリ等に格納されている区分数指定指示や、区分数指定指示を構成する際に用いられる区分数の情報等を更新する。上述した指示送信部１０１は、具体的には、この更新した区分数を通信機器２００に割り当てるための区分数指定指示を出力する。区分数更新部１０６は、通常、ＭＰＵやメモリ等から実現され得る。区分数更新部１０６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６１】
識別情報格納部２０１は、上述した識別情報が格納され得る。識別情報格納部２０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。不揮発性の記録媒体でも、揮発性の記録媒体でも良い。
【００６２】
指示受信部２０２は、通信処理装置１００から送信される指示を受信する。特に、指示受信部２０２は、通信処理装置１００が送信した、通信機器２００との通信を分割して行うための区分数を指定する指示である区分数指定指示を受信する。指示受信部２０２は、また、区分数指定指示以外の指示を受信可能である。例えば、指示受信部２０２は、通信処理装置１００から送信される識別情報送信指示や、後述する区分割当部２０３が割り当てた区分の値を変更させる指示や、所定の区分に割り当てられた通信機器２００に、所定の値、例えば乱数等を、出力させる指示等を受信してもよい。ここでは、通信処理装置１００が送信する区分数指定指示を直接受信する場合について説明するが、指示受信部２０２は、通信処理装置１００から、他の通信装置等を経由して送信される区分数指定指示を受信してもよい。指示受信部２０２は、無線の通信手段が好適であるが、放送を受信する手段や有線の通信手段でも実現可能である。
【００６３】
区分割当部２０３は、区分数指定指示に応じた区分のいずれか１つを自機器に割り当てる。例えば、区分がタイムスロットであり、区分数指定指示が８つのタイムスロット数を指定する指示であった場合、区分割当部２０３は、自機器のタイムスロットとして、「０」から「７」までの８つのタイムスロットのうちの、いずれかのタイムスロットを割り当てる。割り当てた値は例えばカウンタ等に保持される。このようなカウンタは、スロットカウンタと呼ばれる。また、区分割当部２０３の内部や外部に設けられた図示しないメモリ等の記憶媒体に一時記憶してもよい。区分割当部２０３は、通常、ＭＰＵやメモリ等から実現され得る。区分割当部２０３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６４】
信号送信部２０４は、割り当てられた区分別に、上述した所定の信号を出力する。具体的には、信号送信部２０４は、上述した指示受信部２０２が、通信処理装置１００が送信した、所望のタイムスロットに割り当てられた通信機器２００に所定の信号を出力させることとなる指示を受け付けた場合に、この指示が指定するタイムスロットと、通信機器２００のスロットカウンタ等の値とが同じである場合や、この指示による通信機器２００の動作の結果としてスロットカウンタの値等が所定の値、例えば０，となった場合に、所定の信号を出力する。所定の信号が、例えば乱数である場合、信号送信部２０４は乱数を発生させ、発生させた乱数を送信するともに、この乱数をメモリ等の記憶媒体に一時記憶する。信号送信部２０４は、無線または有線の通信手段等で実現され得る。また、信号送信部２０４は、所定の信号を生成したり、取得したりするための構成を備えていても良く、これらの構成は、通常、ＭＰＵやメモリ等から実現され得る。これらの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６５】
識別情報送信部２０５は、通信処理装置１００からの指示に応じて、識別情報を送信する。具体的には、識別情報送信部２０５は、指示受信部２０２が、識別情報送信指示を受け付けた場合に、当該識別情報送信指示が、自機器に対するものであるか否かを判断し、自機器に対するものである場合、識別情報格納部２０１から識別情報を取得して、識別情報を送信する。例えば、識別情報送信指示が、通信機器２００が送信した所定の信号、例えば乱数を引数として含むものである場合、この所定の信号と同じ所定の信号が信号送信部２０４が所定の信号を蓄積したメモリ等に蓄積されているか否かを判断し、格納されている場合、識別情報を送信する。識別情報送信部２０５は、無線または有線の通信手段等で実現され得る。また、判断等を行うためのＭＰＵやメモリ等を備えていてもよい。
【００６６】
なお、上記以外の、ＲＦＩＤタグリーダ／ライタ等の通信処理装置１００や、ＲＦＩＤタグ等の通信機器２００が、通常の動作を行うための構成等については、公知技術であるので説明は省略する。
【００６７】
次に、通信処理装置１００の動作について図２のフローチャートを用いて説明する。なお、ここでは、通信処理装置１００がＲＦＩＤタグリーダ／ライタ、区分がタイムスロット、複数の通信機器がＲＦＩＤタグである場合を例として説明する。
【００６８】
（ステップＳ２０１）指示送信部１０１は、区分数の初期値である初期区分数を取得する。指示送信部１０１は、例えばメモリ等に予め格納されている初期区分数を読み出しても良いし、キーボード等の入力手段により受け付けた初期区分数を取得してもよい。初期区分数、すなわち初期スロット数は、特にどのような値でも良いが、予め、通信が可能なエリア内にある通信機器数、すなわちタグ数の概略が分かっている場合、この通信機器数に対して、最も効率よく更新できる区分数を設定することが好ましい。
【００６９】
（ステップＳ２０２）通信処理装置１００は、アンチコリジョン処理の１シークエンスを実行する。この処理については、図３を用いて後述する。この処理により、衝突数取得部１０３は、コリジョン数を取得する。また、受信部１０２は、識別情報を取得するとともに、識別情報の取得数を取得する。
【００７０】
（ステップＳ２０３）通信処理装置１００は、ステップＳ２０２において取得されたコリジョン数が０であるか否かを判断する。この判断は、衝突数取得部１０３等、通信処理装置１００のどの処理部が行っても良い。コリジョン数が０でない場合、ステップＳ２０４に進み、コリジョン数が０である場合、通信処理装置は、処理を終了する。
【００７１】
（ステップＳ２０４）通信機器数推定部１０４は、ステップＳ２０２において送信された区分数指定指示が指定する区分数と、ステップＳ２０２により取得されたコリジョン数とを用いて、通信処理装置１００と通信可能な通信機器数を推定する。この処理については、図４を用いて後述する。
【００７２】
（ステップＳ２０５）通信処理装置１００は、ステップＳ２０４において推定した通信機器数から、ステップＳ２０２において取得した識別情報を取得した通信機器数を減算する。この処理は、通信機器数推定部１０４や区分数取得部１０５等、通信処理装置１００のどの処理部が行っても良い。なお、この処理は、通信機器数をより正確に推定するための処理であり、場合によってはこの処理と、ステップＳ２０６の処理は省略してもよい。
【００７３】
（ステップＳ２０６）通信処理装置１００は、ステップＳ２０５の減算結果により残った通信機器数が０であるか否かを判断する。０である場合、通信処理装置１００は処理を終了し、０でない場合、ステップＳ２０７に進む。この処理は、区分数取得部１０５等、通信処理装置１００のどの処理部が行っても良い。
【００７４】
（ステップＳ２０７）区分数取得部１０５の期待値取得手段１０５１は、区分数を変更しながら、区分数別に、ステップＳ２０４において推定した通信機器数に対応したタグである通信機器２００、ここでは、ステップＳ２０５の減算の結果、残った通信機器数の通信機器２００を、各区分、例えばスロットに割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する。なお、この期待値を取得する処理については、図６を用いて後述する。
【００７５】
（ステップＳ２０８）評価値算出手段１０５２は、ステップＳ２０７で取得した期待値から、区分数別の評価値を算出する。例えば、各期待値を、対応する区分数で除算して評価値を算出する。
【００７６】
（ステップＳ２０９）対応区分数取得手段１０５３は、ステップＳ２０８において算出した評価値のうちの、最も評価の高い評価値に対応した区分数を取得する。
【００７７】
（ステップＳ２１０）区分数更新部１０６は、ステップＳ２０９において取得した区分数で、区分数指定指示の区分数を更新する。そして、ステップＳ２０２に戻る。
【００７８】
なお、図２のフローチャートにおいて、通信処理装置１００が、処理を終了する前に、読み取りミスや通信ミス等の発生を考慮して、再度、通信機器２００との通信を試みる処理等を行うようにしても良い。
【００７９】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００８０】
次に、図２のフローチャートのステップＳ２０２において示したアンチコリジョン処理の１シーケンスの詳細について、図３のフローチャートを用いて説明する。
【００８１】
（ステップＳ３０１）指示送信部１０１は、区分数指定指示を取得して、区分数指定指示を送信する。指示送信部１０１は、区分数が初期値から更新されるまでは、初期区分数を指定する区分数指定指示を送信し、区分数が、更新された場合、更新された区分数を指定する区分数指定指示を送信する。
【００８２】
（ステップＳ３０２）通信処理装置１００は、カウンタｎに１を代入する。また、コリジョン数ｋおよび識別情報の受信数ｍに０を代入する。これらの処理は、受信部１０２や衝突数取得部１０３等、通信処理装置１００内のどの処理部が行っても良い。
【００８３】
（ステップＳ３０３）受信部１０２は、所定の信号を受信したか否かを判断する。例えば、所定の信号は、通信機器２００であるタグから送信される、タグを識別するための乱数であるとする。ここでは、例として、１番目の区分に割り当てられた通信機器２００は、１番目の区分に割り当てられたことを例えばトリガーとして、所定の信号を出力するものとする。受信した場合、ステップＳ３０４に進み、受信していない場合、ステップＳ３０８に進む。
【００８４】
（ステップＳ３０４）衝突数取得部１０３は、ステップＳ３０３が受信した所定の信号から、コリジョンが発生したか否かを判断する。コリジョンが発生していない場合、ステップＳ３０５に進み、コリジョンが発生した場合、ステップＳ３１１に進む。
【００８５】
（ステップＳ３０５）識別情報送信指示送信部１０７は、識別情報送信指示を送信する。例えば、ステップＳ３０３において受信した所定の信号である通信機器２００を識別する乱数を引数とした識別情報送信指示を送信する。
【００８６】
（ステップＳ３０６）受信部１０２は、ステップＳ３０５において送信した識別情報送信指示に対応した通信機器２００から送信される識別情報を受信する。受信部１０２は、受信した識別情報を、例えば、図示しないメモリ等の記憶媒体等に蓄積する。
【００８７】
（ステップＳ３０７）受信部１０２は、識別情報の受信数ｍを１インクリメントする。
【００８８】
（ステップＳ３０８）通信処理装置１００は、カウンタｎが、区分数指定指示が指定する区分数であるか否かを判断する。区分数でない場合、ステップＳ３０９に進み、区分数である場合、上位関数にリターンする。
【００８９】
（ステップＳ３０９）通信処理装置１００は、カウンタｎを１インクリメントする。
【００９０】
（ステップＳ３１０）指示送信部１０１は、次の区分に割り当てられた通信機器に対して、所定の信号を出力させる指示を出力する。例えば、後述するように、通信機器２００であるＲＦＩＤタグが、スロットカウンタ値が０となると所定の信号を出力するように構成されている場合、指示送信部１０１は、スロットカウンタ値を１デクリメントさせる指示を送信する。そして、ステップＳ３０３に戻る。
【００９１】
（ステップＳ３１１）衝突数取得部１０３は、コリジョン数ｋを１インクリメントする。そして、ステップＳ３０８に進む。
【００９２】
なお、通信機器２００が、指示送信部１０１からの、所定の信号を出力させる指示を受信した場合にのみ、所定の信号を出力するものである場合等においては、ステップＳ３１０の処理の代わりに、ステップＳ３０２とステップＳ３０３との間に、指示送信部１０１が、例えばｎ番目の区分に割り当てられた通信機器に対して、所定の信号を出力させる指示を出力するステップを設けるようにしてもよい。
【００９３】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００９４】
次に、図２のフローチャートのステップＳ２０４において示した通信機器２００の数、すなわちタグ数を推定する処理の詳細について、図４のフローチャートを用いて説明する。なお、ここでは、区分数ｈは、図２のステップＳ２０２において送信された区分数指定指示が指定する区分数、コリジョン数ｋは、図２のステップＳ２０２において取得されたコリジョン数とする。
【００９５】
（ステップＳ４０１）確率取得手段１０４１は、通信機器数ｂに１を代入する。
【００９６】
（ステップＳ４０２）確率取得手段１０４１は、通信機器が１つも配置されていない区分数ｉ、通信機器が１つだけ配置されている区分数ｊにそれぞれ０を代入する。また、通信機器数ｂの通信機器を、区分数ｈの区分に、コリジョン数ｋとなるように配置する場合の、全てのパターン数ａｌｌ＿ｐａｔに、それぞれ０を代入する。
【００９７】
（ステップＳ４０３）確率取得手段１０４１は、コリジョンが発生した区分数ｃｏｌに、ｈ−（ｉ＋ｊ）の値を代入する。
【００９８】
（ステップＳ４０４）確率取得手段１０４１は、コリジョンが発生した区分数ｃｏｌが、通信機器数ｂ、区分数ｈ、コリジョン数ｋにより指定される４つの条件である、以下の条件１から条件４までを全て満たすか否かを判断する。これらの条件は、起こりえないケースについての計算を省略するための判断処理である。条件１は、コリジョン発生区分数ｃｏｌが０であって、かつ区分数ｊが通信機器数ｂでない、という状況が起こっていない、という条件である。また、条件２は、通信機器数ｂ−区分数ｊが、コリジョン発生区分数ｃｏｌの２倍以上であるという条件である。また、条件３は、コリジョン発生区分数ｃｏｌが０以上であるという条件である。また、条件４は、コリジョン発生区分数ｃｏｌがコリジョン数ｋと等しいという条件である。上記の全ての条件を満たす場合、ステップＳ４０５に進み、満たしていない場合、ステップＳ４１０に進む。
【００９９】
（ステップＳ４０５）確率取得手段１０４１は、通信機器が１つも配置されていない区分の選び方と、通信機器が１つだけ配置されている区分の選び方との積であるＣＯＭＢＩＮ（ｈ，ｉ）×ＣＯＭＢＩＮ（ｈ−ｉ，ｊ）を求める。この積を変数ｐａｔに代入する。なお、本実施の形態においては、ＣＯＭＢＩＮ（ｘ，ｙ）は、ｘ個の対象物、ここでは通信機器から、ｙ個を選ぶ時の組み合わせ総数、すなわちｘＣｙであるとする。また、本実施の形態においては、ＰＥＲＭＵＴ（ｘ，ｙ）は、ｘ個の対象物、ここでは通信機器から、ｙ個を選ぶ時の順列、すなわちｘＰｙであるとする。
【０１００】
（ステップＳ４０６）確率取得手段１０４１は、ステップＳ４０５で得られた変数ｐａｔに、ｊ個の区分のそれぞれに通信機器ｂのうちのｊ個の通信機器が１つだけ配置される場合の、通信機器の全選択パターンを乗算する。すなわち、ｐａｔ×ＰＥＲＭＵＴ（ｂ，ｊ)を算出する。そして、この積により変数ｐａｔを更新する。
【０１０１】
（ステップＳ４０７）確率取得手段１０４１は、コリジョンが発生した全ての区分に、全ての通信機器数ｂから、通信機器が１つだけ割り当てられている区分の通信機器数ｊを除外した数、すなわち（ｂ−ｊ）の通信機器を、２個以上配置可能な全パターン数、すなわちコリジョンが発生する全パターン数ｆｕｎｃＡ（ｋ，ｂ−ｊ）を算出する。ただし、ｋはコリジョン発生区分数ｃｏｌである。なお、ｆｕｎｃＡ（ｋ，ｂ−ｊ）を算出する処理については、図５を用いて後述する。
【０１０２】
（ステップＳ４０８）確率取得手段１０４１は、ステップＳ４０６により得られた変数ｐａｔと、ステップＳ４０７により算出されたｆｕｎｃＡ（ｋ，ｂ−ｊ）との積を算出し、この積で、変数ｐａｔを更新する。
【０１０３】
（ステップＳ４０９）確率取得手段１０４１は、ステップＳ４０８により取得された変数ｐａｔの値で、パターン数ａｌｌ＿ｐａｔをインクリメントする。
【０１０４】
（ステップＳ４１０）確率取得手段１０４１は、区分数ｊが全区分数ｈ以上であるか否かを判断する。ｈ以上であれば、ステップＳ４１２に進み、ｈ以上でなければ、ステップＳ４１７へ進む。
【０１０５】
（ステップＳ４１１）確率取得手段１０４１は、区分数ｊに０を代入する。
【０１０６】
（ステップＳ４１２）確率取得手段１０４１は、区分数ｉが、全区分数ｈ以上であるか否かを判断する。ｈ以上であれば、ステップＳ４１３へ進み、ｈ以上でなければ、ステップＳ４１８に進む。
【０１０７】
（ステップＳ４１３）確率取得手段１０４１は、通信機器数ｂの通信機器を、区分数ｈの区分に、コリジョン数ｋとなるように配置する場合の、全てのパターン数ａｌｌ＿ｐａｔを、通信機器数ｂの通信機器を、区分数ｈに配置するための全ての組み合わせ数であるｈｂで除算して、通信機器数ｂの通信機器２００を、区分数ｈの区分に割り当てた場合に、コリジョン数ｋとなる確率ｐを算出する。すなわち確率ｐ＝ａｌｌ＿ｐａｔ／ｈｂを算出する。そして算出した確率Ｐを、例えば算出に用いた通信機器数ｂに対応付けてメモリ等の記憶媒体に蓄積する。
【０１０８】
（ステップＳ４１４）確率取得手段１０４１は、通信機器数ｂが所定の値ｄであるか否かを判断する。ここでの所定の値とは、確率ｐを求めるために用いられる通信機器数の上限値である。すなわち、ここでは通信機器数ｂを１からｄ（ｄは１以上の整数）まで、変化させて、各通信機器数について確率ｐを求めることとなる。通信機器数ｂが値ｄであれば、ステップＳ４１５に進み、値ｄでなければ、ステップＳ４１６に進む。なお、ここでは、通信機器数ｂを１から変化させるようにしたが、通信機器数の変化を開始する初期値は、確率ｐの分布状況等に応じて、適宜変更してもよい。
【０１０９】
（ステップＳ４１５）推定通信機器数取得手段１０４２は、ステップＳ４１３において確率取得手段１０４１が取得した確率ｐのうち、確率が最大となる確率ｐに対応付けられた通信機器数ｂの値を取得する。この通信機器数ｂが推定される通信機器数である。そして、上位関数にリターンする。
【０１１０】
（ステップＳ４１６）確率取得手段１０４１は、通信機器数ｂを１インクリメントする。そして、ステップＳ４０２に戻る。
【０１１１】
（ステップＳ４１７）確率取得手段１０４１は、区分数ｊを１インクリメントする。そして、ステップＳ４０３に戻る。
【０１１２】
（ステップＳ４１８）確率取得手段１０４１は、区分数ｉを１インクリメントする。そして、ステップＳ４０３に戻る。
【０１１３】
なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１１４】
次に、図４のフローチャートのステップＳ４０７において示した、ｋ個のコリジョンが発生する全てのパターン数ｆｕｎｃＡ（ｋ，ｂ−ｊ）を算出する処理について、図５のフローチャートを用いて説明する。ただし、ここでは、説明を簡単にするために、通信機器数（ｂ−ｊ）の代わりに、便宜上、通信機器数ｂを用いてｆｕｎｃＡ（ｋ，ｂ）を求める処理について説明する。そのため、図４のステップＳ４０７においては、以下に説明する処理においてｂの代わりに、（ｂ−ｊ）を代入して、ｆｕｎｃＡ（ｋ，ｂ−ｊ）を算出する。なお、この処理は、ｂ個の通信機器２００であるタグをｋグループに、各グループに少なくとも２個以上のタグが含まれるように割り当てる場合のタグの組み合わせ数ｒｅｔを求める処理である。
【０１１５】
（ステップＳ５０１）確率取得手段１０４１は、組み合わせ数ｒｅｔに０を代入する。
【０１１６】
（ステップＳ５０２）確率取得手段１０４１は、コリジョン数ｋが１より大きいか否かを判断する。大きい場合、ステップＳ５０３に進み、大きくない場合、ステップＳ５０６に進む。
【０１１７】
（ステップＳ５０３〜ステップＳ５０５）確率取得手段１０４１は、変数ｇの値が、初期値２から、（ｂ−２×（ｋ−１））になるまで、変数ｇの値を１インクリメントさせながら、ステップＳ５０４の処理を繰り返す。ステップＳ５０４の処理は、ｂ個の通信機器からｇ個の通信機器を選ぶ時の組み合わせ総数ＣＯＭＢＩＮ（ｂ，ｇ）と、（ｂ−ｇ）個の通信機器から（ｋ−１）個のコリジョンが発生する全てのパターン数ｆｕｎｃＡ（ｋ−１，ｂ−ｇ）との積を求め、求めた値で組み合わせ数ｒｅｔを順次インクリメントする処理である。この処理においては、変数ｇを２から（ｂ−２×（ｋ−１））まで変化させていくことで、全区分ｂのうちの１つの区分にｇ個の通信機器が配置される場合の通信機器の組み合わせを求め、残りの（ｂ−ｇ）個の通信機器の組み合わせパターンはｆｕｎｃＡ（ｋ−１，ｂ−ｇ）により求めている。そして、これらの積をすべて加算することにより、ｂ個の通信機器をｋグループに、各グループに少なくとも２個以上の通信機器が含まれるように割り当てる場合の全ての組み合わせ数が得られる。そして、取得した組み合わせ数ｒｅｔを上位関数にリターンする。
【０１１８】
（ステップＳ５０６）確率取得手段１０４１は、場合の数ｒｅｔに１を代入して、上位関数にリターンする。
【０１１９】
次に、図２のフローチャートのステップＳ２０７において示した、区分数別に、ステップＳ２０４において推定した通信機器数に対応した通信機器２００を、各区分に割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値を取得する処理の詳細について、図６のフローチャートを用いて説明する。なお、ここでは、通信機器数Ｂは、図２のステップＳ２０５において取得された通信機器数とする。
【０１２０】
（ステップＳ６０１）期待値取得手段１０５１は、区分数ｈに１を代入する。
【０１２１】
（ステップＳ６０２）期待値取得手段１０５１は、通信機器が１つも配置されていない区分数ｉ、通信機器が１つだけ配置されている区分数ｊにそれぞれ０を代入する。また、変数ａｌｌ＿ｐａｔに、それぞれ０を代入する。
【０１２２】
（ステップＳ６０３）期待値取得手段１０５１は、コリジョン発生区分数ｃｏｌに、ｈ−（ｉ＋ｊ）の値を代入する。
【０１２３】
（ステップＳ６０４）期待値取得手段１０５１は、コリジョン発生区分数ｃｏｌが、通信機器数Ｂにより指定される３つの条件である、以下の条件１から条件３までを全て満たすか否かを判断する。これらの条件は、起こりえないケースについての計算を省略するための判断処理である。条件１は、コリジョン発生区分数ｃｏｌが０であって、かつ区分数ｊが通信機器数Ｂでない、という状況が起こっていない、という条件である。また、条件２は、「通信機器数Ｂ−区分数ｊ」が、コリジョン発生区分数ｃｏｌの２倍以上であるという条件である。また、条件３は、コリジョン発生区分数ｃｏｌが０以上であるという条件である。上記の全ての条件を満たす場合、ステップＳ６０５に進み、満たしていない場合、ステップＳ６１１に進む。
【０１２４】
（ステップＳ６０５）期待値取得手段１０５１は、通信機器２００が１つも配置されていない区分の選び方と、通信機器２００が１つだけ配置されている区分の選び方との積であるＣＯＭＢＩＮ（ｈ，ｉ）×ＣＯＭＢＩＮ（ｈ−ｉ，ｊ）を求める。この積を変数ｐａｔに設定する。
【０１２５】
（ステップＳ６０６）期待値取得手段１０５１は、ステップＳ６０５で得られた変数ｐａｔに、ｊ個の区分のそれぞれにＢ個の通信機器２００のうちのｊ個の通信機器が１つだけ配置した場合の、通信機器２００の全選択パターンを乗算する。すなわち、ｐａｔ×ＰＥＲＭＵＴ（Ｂ，ｊ)を算出する。そして、この積により変数ｐａｔを更新する。
【０１２６】
（ステップＳ６０７）期待値取得手段１０５１は、区分数ｃｏｌのコリジョンが発生した区分に、全ての通信機器数ｂから、通信機器２００が１つだけ割り当てられている区分の通信機器数を除外した数の通信機器が、２個以上配置される全パターン数、すなわちコリジョンが発生する全パターン数ｆｕｎｃＡ（ｃｏｌ，Ｂ−ｊ）を算出する。なお、ｆｕｎｃＡ（ｃｏｌ，Ｂ−ｊ）を算出する処理については、図５に示した処理において、ｋの代わりに区分数ｃｏｌを、また、ｂの代わりにＢ−ｊを代入した処理と、同様であるのでここで説明を省略する。
【０１２７】
（ステップＳ６０８）期待値取得手段１０５１は、ステップＳ６０６により得られた変数ｐａｔと、ステップＳ６０７により算出されたｆｕｎｃＡ（ｃｏｌ，Ｂ−ｊ）との積を算出し、この積で、変数ｐａｔを更新する。
【０１２８】
（ステップＳ６０９）期待値取得手段１０５１は、ステップＳ６０９で得られた変数ｐａｔに通信機器が１つしか割り当てられていない区分数ｊを乗算し、この乗算により得られた値で変数ｐａｔを更新する。
【０１２９】
（ステップＳ６１０）期待値取得手段１０５１は、ステップＳ６０９により取得された変数ｐａｔの値で、パターン数ａｌｌ＿ｐａｔをインクリメントする。
【０１３０】
（ステップＳ６１１）期待値取得手段１０５１は、区分数ｊが全区分数ｈ以上であるか否かを判断する。ｈ以上であれば、ステップＳ６１２に進み、ｈ以上でなければ、ステップＳ６１７へ進む。
【０１３１】
（ステップＳ６１２）期待値取得手段１０５１は、区分数ｊに０を代入する。
【０１３２】
（ステップＳ６１３）期待値取得手段１０５１は、区分数ｉが、全区分数ｈ以上であるか否かを判断する。ｈ以上であれば、ステップＳ６１４へ進み、ｈ以上でなければ、ステップＳ６１８に進む。
【０１３３】
（ステップＳ６１４）期待値取得手段１０５１は、変数ａｌｌ＿ｐａｔを、通信機器数ｂの通信機器を区分数ｈに配置するための全ての組み合わせ数であるｈｂで除算して、通信機器数ｂの通信機器を、区分数ｈの区分に割り当てた場合に、衝突を発生させることなく通信可能な通信機器数の期待値Ｅを算出する。そして、区分数ｈとこの期待値Ｅとを対応付けて、メモリ等の記憶媒体に蓄積する。
【０１３４】
（ステップＳ６１５）期待値取得手段１０５１は、区分数ｈが所定の値ｅであるか否かを判断する。ここでの所定の値ｅとは、期待値Ｅを求めるために用いられる区分数の上限値である。すなわち、ここでは区分数ｈを１からｅ（ｅは１以上の整数）まで、変化させて、各通信機器数について期待値Ｅを求めることとなる。なお、ここでは、区分数ｈを１から変化させるようにしたが、区分数の変化を開始する初期値は、得られる期待値Ｅの状況等に応じて、適宜変更してもよい。区分数ｈが値ｅであれば、上位関数にリターンし、値ｅでなければ、ステップＳ６１６に進む。
【０１３５】
（ステップＳ６１６）期待値取得手段１０５１は、区分数ｈを１インクリメントする。そして、ステップＳ６０２に戻る。
【０１３６】
（ステップＳ６１７）期待値取得手段１０５１は、区分数ｊを１インクリメントする。そして、ステップＳ６０３に戻る。
【０１３７】
（ステップＳ６１８）期待値取得手段１０５１は、区分数ｉを１インクリメントする。そして、ステップＳ６０３に戻る。
【０１３８】
なお、図６のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１３９】
次に、図７のフローチャートを用いて、通信機器２００の動作について説明する。この通信機器２００は、例えばＲＦＩＤタグであり、区分数は、例えばスロット数である。
【０１４０】
（ステップＳ７０１）指示受信部２０２は、区分数指定指示を受信する。
【０１４１】
（ステップＳ７０２）区分割当部２０３は、ステップＳ７０１により受信した区分数指定指示が指定する区分数に応じて、自機器に区分を割り当てる。ここでは、区分数がｈである場合、０から、（ｈ−１）までの区分のいずれかひとつを割り当てる。割り当てた区分の値を、例えばスロットカウンタに代入する。
【０１４２】
（ステップＳ７０３）信号送信部２０４は、自機器に割り当てられた区分の値が、０であるか否かを判断する。具体的には、スロットカウンタの値が０であるか否かを判断する。０である場合、ステップＳ７０４に進み、０でない場合、ステップＳ７１０に進む。
【０１４３】
（ステップＳ７０４）信号送信部２０４は、所定の信号、具体的には、乱数を発生させ、メモリ等の記憶媒体に一時記憶させる。
【０１４４】
（ステップＳ７０５）信号送信部２０４は、ステップＳ７０４において発生させた所定の信号を送信する。このように、この通信機器２００は、割り当てられた区分の値が０である場合に、所定の信号を出力するものであるとする。
【０１４５】
（ステップＳ７０６）識別情報送信部２０５は、指示受信部２０２が、識別情報送信指示を受信したか否かを判断する。識別情報送信指示は、通常、コリジョンが発生していない場合に、通信処理装置１００から送信される。受信した場合、ステップＳ７０７に進み、受信していない場合、ステップＳ７１０に進む。
【０１４６】
（ステップＳ７０７）識別情報送信部２０５は、識別情報を送信するか否かを判断する。具体的には、指示受信部２０２が受信した識別情報送信指示が、自機器を指定する信号、ここでは、例として上述した乱数を含むものであるか否かを判断する。そして、自機器を指定する信号、例えば乱数を含む場合にだけ、識別情報を送信することを判断する。識別情報を送信する場合、ステップＳ７０８に進み、識別情報を送信しない場合、ステップＳ７１０に進む。
【０１４７】
（ステップＳ７０８）識別情報送信部２０５は、識別情報を、識別情報格納部２０１から読み出し、送信する。
【０１４８】
（ステップＳ７０９）通信機器２００は、外部からの指示に対する応答を中止する。例えば、通信機器２００は、外部からの指示に対して応答するか否かを指定する内部のフラグ等を反転させることで、応答を中止する。そして、処理を終了する。
【０１４９】
（ステップＳ７１０）指示受信部２０２は、新たに区分数指定指示を受信したか否かを判断する。受信した場合、ステップＳ７０２に戻り、受信していない場合、ステップＳ７１１に進む。
【０１５０】
（ステップＳ７１１）指示受信部２０２は、区分の値を変更する指示を受け付けたか否かを判断する。受け付けた場合、ステップＳ７１２に進み、受け付けていない場合、ステップＳ７１１に戻る。なお、受け付けていない時間が、所定の時間を超えた場合、いわゆるタイムアウト処理として、処理の終了等を行ってもよい。
【０１５１】
（ステップＳ７１２）区分割当部２０３は、割り当てた区分の値を１デクリメントする。具体的には、スロットカウンタの値を１デクリメントする。なお、区分の値が０であった場合、区分の値をデクリメントせずに、あらかじめ設定された値、例えば、２０４７等に設定する。この値は、区分数指定指示が指定する可能性のある区分数よりも十分に大きな値とすることが好ましい。そして、ステップＳ７０３に戻る。
【０１５２】
以下、本実施の形態における通信システムの具体的な動作について説明する。通信システムの概念図は図８である。ここでは、例として、通信処理装置１００がＲＦＩＤタグリーダ／ライタ、複数の通信機器２００が、ＲＦＩＤタグである場合について説明する。ここでは、複数の通信機器２００を、通信機器２００ａ、２００ｂ等として示している。ただし、通信処理装置１００に対して通信可能な範囲内に存在する通信機器２００の数は、予めわかっていないものとする。なお、本具体例においては、例として、区分がタイムスロットであり、タイムスロット数は、２Ｑ（Ｑは、正の整数）で表され、区分数としてＱ値を利用する場合について説明する。
【０１５３】
図９ａ〜図９ｊは、本実施の形態における通信システムのアンチコリジョン処理の動作を、説明するための模式図であり、図において図８と同一符号は同一または相当する部分を示している。なお、ここでは、説明を簡単にするための便宜上、図９ａに示すようにタグ数が６個である場合について説明するが、タグ数は問わない。
【０１５４】
まず、通信処理装置１００が、タイムスロット数を指定するための区分数指定指示として、タイムスロット数を指定するコマンドであるＱｕｅｒｙコマンドを送信する。ここでは、Ｑｕｅｒｙコマンドは、タイムスロット数をＱ値で指定するものとし、このＱ値の初期値は「３」であるとする。すなわち、タイムスロット数の初期値は８であるとする。
【０１５５】
通信処理装置１００と通信可能な範囲内にある通信機器２００が、Ｑｕｅｒｙコマンドを受信すると、区分割当部２０３は、Ｑｕｅｒｙコマンドの示すタイムスロット数に応じて、８つのタイムスロット数のうちの一つのタイムスロットを自機器に割り当てる。具体的には、図９ｂに示すように、「０」から「７」までのうちの一つの値を、スロットカウンタに保持する。例えば、通信機器２００ａから１０ｆまでのスロットカウンタ値が、「４」、「２」、「６」、「１」、「２」、「７」となったとする。
【０１５６】
ここで、各通信機器２００は、スロットカウンタ値が０となると、所定の情報、ここでは、１６進数の乱数ＲＮ１６を生成し、送信するものとする。図９ｂに示した状況では、スロットカウンタ値＝０の通信機器２００が存在しないことから、どの通信機器２００も、所定の値を送信しない。
【０１５７】
次に、通信処理装置１００が、各通信機器に割り当てられたタイムスロット数を更新する指示、具体的には、割り当てられたタイムスロット数をデクリメントする指示であるＱｕｅｒｙＲｅｐコマンドを送信すると、図９ｃに示すように、これを受信した各通信機器２００の区分割当部２０３は、各通信機器２００のスロットカウンタ数を、１デクリメントする。
【０１５８】
これにより、通信機器２００ｄのスロットカウンタ値だけが０になったため、通信機器２００ｄの信号送信部２０４は、図９ｄに示すように、乱数ＲＮ１６を構成して、通信処理装置１００に対して送信する。この乱数はメモリ等に一時記憶される。この乱数ＲＮ１６は、例えば、「０ｘＡ７９Ｂ」であったとする。
【０１５９】
通信処理装置１００の受信部１０２は、通信機器２００ｄからの所定の信号である乱数ＲＮ１６を受信すると、この乱数ＲＮ１６が、正常に読み出せることから、衝突数取得部１０３は、コリジョンが発生していないと判断する。このため、識別情報送信指示送信部１０７は、受信部ＲＮ１６の値「０ｘＡ７９Ｂ」を引数とする識別情報取得指示であるＡｃｋコマンドを送信する。
【０１６０】
識別情報取得指示を受信した各通信機器２００は、「０ｘＡ７９Ｂ」と同じ乱数ＲＮ１６を記憶しているか否かを判断される。通信機器２００ｄの識別情報送信部２０５は、自機器のメモリ等に、同じ乱数「０ｘＡ７９Ｂ」が記憶されているため、識別情報格納部２０１内に蓄積されている識別情報、ここでは、ＥＰＣデータ「０ｘ３０００・・・」を読み出し、通信処理装置１００に送信する（図９ｅ）。また、通信機器２００ｄは、識別情報を送信したので、内部フラグ等を反転させて、これ以降の通信処理装置１００からのコマンドには反応しなくなる（図９ｆ）。
【０１６１】
通信処理装置１００は、受信部１０２において通信機器２００ｄから送信された識別情報を受信し、この受信した識別情報を蓄積する。これにより、通信機器２００ｄの識別情報が取得されたこととなる。
【０１６２】
次に、通信処理装置１００が、上記の同様のＱｕｅｒｙＲｅｐコマンドを送信すると、これを受信した各通信機器２００の区分割当部２０３は、各通信機器２００のスロットカウンタ数を、１デクリメントする。
【０１６３】
これにより、図９ｇに示すように、通信機器２００ｂと通信機器２００ｅのスロットカウンタ値だけが０になったため、通信機器２００ｂおよび通信機器ｅは、乱数ＲＮ１６を構成して、通信処理装置１００に対して送信する。この乱数はメモリ等に一時記憶される。通信機器２００ｂの乱数ＲＮ１６は、例えば、「０ｘ３０Ｅ２」、通信機器２００ｅの乱数ＲＮ１６は、「０ｘ２８０Ｆ」であったとする。
【０１６４】
通信処理装置１００の受信部１０２は、通信機器２００ｂおよび通信機器ｅからの所定の信号である乱数ＲＮ１６を受信するが、この乱数ＲＮ１６同士に衝突が発生し、正常に読み出せないことから、衝突数取得部１０３は、コリジョンが発生したと判断し、コリジョンが発生したことを示すカウンタｋの値を１インクリメントする。この場合、識別情報送信指示送信部１０７は、Ａｃｋコマンドを送信しない。
【０１６５】
通信機器２００ｂおよび通信機器ｅについては、識別情報を送信していないため、コマンドを受け付けなくする処理が行われない。
【０１６６】
さらに、通信処理装置１００が、上記の同様のＱｕｅｒｙＲｅｐコマンドを送信すると、これを受信した各通信機器２００の区分割当部２０３は、各通信機器２００のスロットカウンタ値を、１デクリメントする。
【０１６７】
このとき、すでにスロットカウンタ値が０であった通信機器２００ｂおよび通信機器ｅは、スロットカウンタ値を所定の値である「２０４７」に設定する（図９ｈ）。
【０１６８】
そして、これ以降は、上記と同様の処理が繰り返され、（タイムスロット数−１）回のＱｕｅｒｙＲｅｐコマンドの送信に対応した処理が終了した時点で、アンチコリジョン処理の１シークエンスが終了する。
【０１６９】
この時点で、１シークエンス内においてコリジョンが発生しなかった場合、すべての処理が終了するが、図９ｉに示すようにコリジョンが発生した場合、タイムスロット数を更新した上で、図９ｊに示すように、コリジョンが発生した通信機器２００ｂ、２００ｅに対して、上記と同様のアンチコリジョン処理のシークエンスが繰り返される。
【０１７０】
以下、タイムスロット数を更新する処理について説明する。
【０１７１】
まず、通信機器推定部１０４の確率取得手段１０４１は、アンチコリジョン処理の１シークエンスが終了後、直前のシークエンスにおいて用いたタイムスロット数ｈを設定するＱ値と、直前のシークエンスにおいて取得したコリジョン数ｋとを用いて、通信処理装置１００と通信可能なすべての通信機器２００の数を推定する。
【０１７２】
すなわち、通信機器数ｂを変更させながら、直前のシークエンスにおいて用いられたＱ値において、コリジョン数ｋとなる確率を求めていき、最終的に、このＱ値において、コリジョンの発生数がｋとなる確率が最も高くなる通信機器数ｂを得る。この通信機器数ｂを、通信可能なすべての通信機器数と推定する。
【０１７３】
具体的には、タイムスロット数ｈからコリジョンが発生したスロット数ｋを減算した残りのスロットを、それぞれ、通信機器２００が一つも割り当てられていないスロットまたは通信機器２００が一つだけ割り当てられているスロットのいずれかに割り当てた場合の、すべての組み合わせについて、タイムスロットに、通信機器２００を割り当てた場合のすべての組み合わせを求め、これらを加算することで、タイムスロット数ｈ、コリジョン数ｋ、通信機器数ｂという条件を満たすよう、通信機器２００を割り当てた場合のすべての割り当てパターンの数を得る。
【０１７４】
そして、この加算した値を、ｈのタイムスロットに、ｂ個の通信機器２００を各１つだけ割り当てた場合の、すべての割当てパターンで除算することで、通信機器数がｂ個の場合に、所定のＱ値において、コリジョン数ｋとなる確率が得られる。
【０１７５】
このような処理を、通信機器数ｂが１から所定数となるまで、繰り返し行うことで、通信機器数ｂの値と、ｂ個の通信機器を、所定のＱ値によって定められるタイムスロット数ｈに割り当てた場合に、コリジョン数がｋとなる確率との関係を求めることができる。
【０１７６】
そして、推定通信機器数取得手段１０４２は、通信機器数ｂの値を、直前のシークエンスにおいて用いられたＱ値において、コリジョン数がｋである場合に推定される通信機器数の値として取得する。
【０１７７】
例えば、直前のアンチコリジョン処理のシーケンスにおいて指定したＱ値が「３」、すなわちタイムスロット数が８であり、その時に得られたコリジョン数が「３」であった場合、通信機器数ｂと、このような状況が発生する確率との関係は、図１０に示すようになる。この図１０に示すような関係から、確率が最も高い場合の通信機器数、すなわち「１０」が、推定される通信機器数となる。
【０１７８】
次に、例えば推定通信機器数取得手段１０４２が、この推定された通信機器数から、直前のアンチコリジョン処理のシーケンスにおいて取得された識別情報の数を減算することで、次のアンチコリジョン処理において、処理対象になると推定される通信機器数Ｂ、すなわち識別情報が取得されていない通信機器数を取得できる。
【０１７９】
例えば、直前のアンチコリジョン処理のシーケンスにおいて指定したＱ値が「７」、その時に得られたコリジョン数が「４」であり、通信機器数推定部１０４により通信機器数が「３０」と推定された場合において、識別情報が取得された数が「１」であったとすると、次のアンチコリジョン処理においては、２９個の通信機器が処理対象と推定される。
【０１８０】
つぎに、期待値取得手段１０５１が、この処理対象と推定されたＢ個の通信機器を、スロット数が２Ｑのタイムスロットに割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値Ｅ、すなわち衝突を発生させることなく乱数や識別情報等を通信機器２００から受信できる通信機器数の期待値Ｅを、Ｑ値を変更しながら、算出する。ここでは、まず、Ｑ値に、一つの値を代入し、Ｂ個の通信機器を、各タイムスロットに割り当てた場合の全てのパターンと、そのパターンでの通信可能な通信機器数とを乗算した結果を算出し、これらの総和を算出する。そして、この総和を、Ｂ個の通信機器を２Ｑのタイムスロットに割り当てる場合のすべてのパターン数で除算することで、期待値Ｅを算出する。この期待値Ｅを、Ｑ値に異なる値を代入した場合についても順次算出することで、通信機器数がＢ個の場合の、Ｑ値と、期待値Ｅとの関係を求めることができる。
【０１８１】
次に、評価値算出手段１０５２は、期待値取得手段１０５１が取得した期待値Ｅを、対応するタイムスロット数、すなわち２Ｑで除算して、評価値Ｖを求める。そして、タイムスロット数ｈと評価値Ｖとの関係を取得する。この評価値Ｖは、効率よくアンチコリジョン処理が行える条件を求めるための評価に用いる値である。この評価値Ｖは、タイムスロット数が増加すると、コリジョンが生じることなく通信可能な通信機器数の期待値Ｅが高くなり、タイムスロット数が増加すると１シークエンス内における上記のＱｕｅｒｙＲｅｐコマンドを実行させる回数が増加する、ということを考慮してアンチコリジョン処理を最適化するために設定したものである。
【０１８２】
例えば、通信機器数Ｂが２９個である場合には、Ｑ値と期待値Ｅと評価値Ｖとの対応関係は、図１１に示すようになる。
【０１８３】
そして、対応区分数取得手段１０５３は、評価値算出手段１０５２が取得した評価値ＶとＱ値との対応関係のうちの、最も評価の高い、ここでは最も値の大きい評価値Ｖに対応したＱ値を、次のアンチコリジョン処理のシークエンスに用いるＱ値として取得する。
【０１８４】
例えば、図１１においては、Ｑ値が「５」の場合、最も評価値Ｖの値が大きいため、このＱ値として「５」を、対応区分数取得手段１０５３が取得する。
【０１８５】
そして、区分数更新部１０６は、対応区分数取得手段１０５３が取得したＱ値を用いて、区分数指定指示が指定するＱ値を更新する。
【０１８６】
その後、上述したようなアンチコリジョン処理のシーケンス等が繰り返され、１シーケンス内にコリジョンが発生しなくなった時点で、処理が終了する。
【０１８７】
以上、本実施の形態によれば、アンチコリジョン処理の１シークエンスにおいて検出されたコリジョン数と、このシーケンスにおいて指定された区分数とに応じて、通信可能な通信機器数を推定し、この推定した通信機器数に対応した区分数を求め、この区分数により、次のアンチコリジョン処理のシークエンスにおいて指定する区分数を更新するようにしたので、区分数を設定を、推定される通信機器数に合わせて最適化することができ、アンチコリジョン処理にかかる時間を短縮させることができる。
【０１８８】
（実施の形態２）
本実施の形態においては、上記実施の形態１において、通信機器数推定部１０４が演算により行っていた通信機器数を推定する処理を、予め用意された、区分数と、衝突数と、これらから推定される通信機器数との対応関係を示す情報を用いて取得するようにしたものである。また、区分数取得部１０５が演算により行っていた評価値を算出して推定される通信機器数に対応した新たな区分数を取得する処理を、予め用意された通信機器数と、区分数と、の対応関係を示す情報を用いて取得するようにしたものである。
【０１８９】
図１２は、本実施の形態における通信システムのブロック図である。本実施の形態の通信システムは、通信処理装置３００と、複数の通信機器２００とを具備している。
【０１９０】
複数の通信機器２００の構成および動作については、上記実施の形態１と同様であるので、ここでは詳細な説明は省略する。
【０１９１】
通信処理装置３００は、上記実施の形態１において説明した通信処理装置１において、通信機器数推定部１０４および区分数取得部１０５の代わりに、通信機器数推定部３０４および区分数取得部３０５を設けるとともに、さらに、対応機器数情報格納部３０８と、区分数情報格納部３０９とを設けるようにしたものである。すなわち、通信処理装置３００は、指示送信部１０１、受信部１０２、衝突数取得部１０３、通信機器数推定部３０４、区分数取得部３０５、区分数更新部１０６、識別情報送信指示送信部１０７、対応機器数情報格納部３０８、および区分数情報格納部３０９を具備する。
【０１９２】
指示送信部１０１、受信部１０２、衝突数取得部１０３、区分数更新部１０６、および識別情報送信指示送信部１０７の構成、および動作については、上記実施の形態１と同様であるので詳細な説明は省略する。
【０１９３】
対応機器数情報格納部３０８には、区分数と、衝突数と、複数の通信機器の数との対応関係を示す情報である１以上の対応機器数情報が格納される。対応機器数情報格納部３０８には、具体的には、複数の通信機器２２０に割り当てられる区分数と、区分別に通信を行った場合の衝突数と、この区分数と衝突数とにより一意に特定される通信の対象となる複数の通信機器の数とが、対応付けられて格納される。例えば、対応する区分数と、衝突数と、複数の通信機器の数とが一つのレコードとして格納される。対応機器数情報は、具体的には、区分数と、衝突数と、これらの区分数および衝突数から、通信処理装置３００が通信可能であると推定される複数の通信機器の数との対応関係を示す情報である。より具体的には、対応機器数情報は、区分数と、衝突数と、これらの区分数および衝突数を条件として満たす確率が最も高い複数の通信機器の数と、の対応関係を示す情報である。この対応機器数情報は、例えば、上記実施の形態１において説明した通信機器数推定部１０４が、区分数と、衝突数とを用いて、推定される通信機器数を演算により求める処理を、区分数と衝突数の値とをそれぞれ変化させた場合の、各組み合わせについてそれぞれ実行することにより取得することができる。また、複数の通信機器、例えばＲＦＩＤタグの動作を仮想的に実現するシミュレーション用ソフトウェアを用いて、コンピュータ等に、仮想的に、ＲＦＩＤタグリーダ／ライタ等の通信処理装置に通信機器数の読み取りを行わせる処理を繰り返し実行させ、その実行結果から、対応機器数情報を求めるようにしても良い。具体的には、区分数と衝突数と通信機器数との組み合わせを変えた設定を複数用意し、各設定ごとに通信機器の読み取りを行わせるシミュレーションの処理を実行させる。そして、この処理の結果から、所定のスロット数において、所定数の衝突が発生する確率を、通信機器数を予め設定された範囲内で変化させた場合についてそれぞれ求め、この確率が最も高い通信機器数を、推定される通信機器数として取得する。同様にして通信機器数を取得する処理を区分数と設定数との組み合わせを変えた場合についても実行していくことで、対応機器数情報を得ることができる。また、シミュレーション用ソフトウェアを用いずに、実際にＲＦＩＤタグ等の通信機器とＲＦＩＤタグリーダ／ライタ等の通信処理装置とを用意して、上記のシミュレーションと同様の実験を行った結果を用いて、対応機器数情報を得るようにしても良い。対応機器数情報格納部３０８は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０１９４】
区分数情報格納部３０９には、複数の通信機器数と、区分数と、の対応関係を示す情報である１以上の区分数情報が格納される。区分数情報格納部３０９には、具体的には、対応する複数の通信機器数と、区分数とが、対応付けられて格納される。例えば、対応する複数の通信機器数と、区分数とが一つのレコードとして格納される。区分数情報は、複数の通信機器の数と、この複数の通信機器の数に対して、効率よくアンチコリジョン処理を行うことが可能となる区分数と、の対応関係を示す情報である。より具体的には、区分数情報は、通信機器数推定部３０４が推定した複数の通信機器数と、この複数の通信機器を複数の区分に割り当てた場合における、衝突を発生させることなく通信可能な通信機器数の期待値および区分数を用いて決定された区分数、すなわち上述した評価値により決定された区分数と、の対応関係を示す情報である。この区分数情報は、例えば、上記実施の形態１において説明した区分数取得部３０５が、通信機器数を用いて区分数を演算により求める処理を、通信機器数の値を変化させた場合についてそれぞれ実行することにより取得することができる。また、複数の通信機器、例えばＲＦＩＤタグの動作を仮想的に実現するシミュレーション用ソフトウェアを用いて、コンピュータ等に、仮想的に、ＲＦＩＤタグリーダ／ライタ等の通信処理装置に通信機器数の読み取りを行わせる処理を繰り返し実行させ、その実行結果から、区分数情報を求めるようにしても良い。具体的には、区分数と通信機器数との組み合わせを変えた設定を複数用意し、各設定ごとに通信機器の読み取りを行わせるシミュレーションの処理を実行させる。そして、このシミュレーションの結果から、区分数と通信機器数との組み合わせごとに、衝突を発生させることなく通信可能な通信機器数の期待値をそれぞれ求める。そして、得られた各期待値を、所望の評価関数に代入して評価値を算出する。そして、通信機器数ごとに、最も高い評価値が得られた区分数を取得することで、区分数情報を得ることができる。また、また、シミュレーション用ソフトウェアを用いずに、実際にＲＦＩＤタグ等の通信機器とＲＦＩＤタグリーダ／ライタ等の通信処理装置とを用意して、上記のシミュレーションと同様の実験を行った結果を用いて、対応機器数情報を得るようにしても良い。区分数情報格納部３０９は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０１９５】
通信機器数推定部３０４は、対応機器数情報格納部３０８が格納している対応機器数情報を用いて、区分数指定指示により指定された区分数と、衝突数取得部１０３が取得した衝突数とに対応した、複数の通信機器２００の数を推定する。通信機器数推定部３０４は、具体的には、対応機器数情報のうちの、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とにより特定される通信機器数を読み出し、推定される通信機器数として取得する。例えば、対応機器数情報において、対応する区分数と、衝突数と、通信機器数とが一つのレコードに格納されている場合、通信機器数推定部３０４は、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とがともに一致するレコードに含まれる通信機器数を取得する。通信機器数推定部３０４は、通常、ＭＰＵやメモリ等から実現され得る。通信機器数推定部３０４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１９６】
区分数取得部３０５は、区分数情報格納部３０９が格納している区分数情報を用いて、通信機器数推定部の推定した通信機器数に対応した区分数を取得する。具体的には、区分数取得部３０５は、区分数情報のうちの、通信機器数推定部３０４の推定した通信機器数に対応した値により一意に特定される区分数を読み出し、取得する。この実施の形態においては、特に、区分数情報のうちの、通信機器数推定部３０４の推定した通信機器２００の数から、受信部１０２が識別情報を受信した通信機器２００の数を減算して得られた通信機器の数により一意に特定される区分数を取得する。例えば、区分数情報において、対応する通信機器数と、区分数とが一つのレコードに格納されている場合、区分数取得部３０５は、区分数情報のうちの、通信機器数推定部３０４の推定した通信機器２００の数から受信部１０２が識別情報を受信した通信機器２００の数を減算して得られた通信機器数が一致するレコードに含まれる通信機器数を取得する。区分数取得部３０５は、通常、ＭＰＵやメモリ等から実現され得る。区分数取得部３０５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１９７】
つぎに、本実施の形態の通信処理装置の動作について、図１３のフローチャートを用いて説明する。なお、図１３において、図２と同一符号は、同一または相当するステップを示している。
【０１９８】
（ステップＳ１３０１）通信機器数推定部３０４は、対応機器数情報格納部３０８に格納されている対応機器数情報を用いて、ステップＳ２０２において用いた区分数指定指示が指定する区分数と、ステップＳ２０２において取得した衝突数と、に対応した通信機器数を取得する。例えば、通信機器数推定部３０４は、対応機器数情報格納部３０８に格納されている対応機器数情報内の区分数および衝突数の中から、ステップＳ２０２において用いた区分数指定指示が指定する区分数およびステップＳ２０２において取得した衝突数に一致するものを検索し、一致する区分数および衝突数に対応付けられた通信機器数を、推定される通信機器数として取得する。
【０１９９】
（ステップＳ１３０２）区分数取得部３０５は、区分数情報格納部３０９に格納されている区分数情報を用いて、ステップＳ２０５の減算結果得られた通信機器数に対応した区分数を取得する。例えば、区分数取得部３０５は、区分数情報格納部３０９に格納されている区分数情報内の通信機器数の中から、ステップＳ２０５において得られた通信機器数に一致するものを検索し、一致する通信機器数に対応付けられた区分数を取得する。
【０２００】
なお、図１３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２０１】
次に、対応機器数情報を演算により取得する方法の例について、図１４のフローチャートを用いて説明する。ここでは、この演算を、上記実施の形態１において説明した通信処理装置１００の通信機器数推定部１０４、もしくはこれと同様の構成を有する装置等を用いて行った場合について説明する。なお、図において、図２と同一符号は同一または相当するステップを示している。
【０２０２】
（ステップＳ１４０１）区分数ｈに１を、コリジョン数ｋに０をそれぞれ代入する。なお、ここでの区分数ｈ、およびコリジョン数ｋが、そのままステップＳ２０４の区分数ｈ、コリジョン数ｋとして用いられるものとする。
【０２０３】
（ステップＳ１４０２）ステップＳ２０７において取得した、推定される通信機器数を、コリジョン数ｋおよび区分数ｈに対応付けてメモリ等の記憶媒体、例えば、対応機器数情報格納部３０８に蓄積する。最終的にこの記憶媒体に蓄積されている情報が、対応機器数情報となる。
【０２０４】
（ステップＳ１４０３）コリジョン数ｋが区分数ｈ以上であるか否かを判断する。区分数ｈ以上であれば、ステップＳ１４０４に進み、区分数ｈ以上でなければ、ステップＳ１４０６に進む。
【０２０５】
（ステップＳ１４０４）コリジョン数ｋに０を代入する。
【０２０６】
（ステップＳ１４０５）区分数ｈが所定の値以上か否か判断する。所定の値は、どのような値でもよく、例えば、通信機器数の上限と予想される値等に応じて決定される。所定の値以上であれば、処理を終了し、所定の値以上でなければ、ステップＳ１４０７に進む。
【０２０７】
（ステップＳ１４０６）コリジョン数ｋを１インクリメントする。そして、ステップＳ２０４に戻る。
【０２０８】
（ステップＳ１４０７）区分数ｈを１インクリメントする。そして、ステップＳ２０４に戻る。
【０２０９】
なお、図１４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２１０】
次に、区分数情報を演算により取得する方法について、図１５のフローチャートを用いて説明する。ここでは、この演算を、上記実施の形態１において説明した通信処理装置１００の区分数取得部１０５、もしくはこれと同様の構成を有する装置等を用いて行った場合について説明する。なお、図において、図２と同一符号は同一または相当するステップを示している。
【０２１１】
（ステップＳ１５０１）通信機器数Ｂに１を代入する。なお、ここでの通信機器数Ｂが、そのままステップＳ２０７の通信機器数Ｂとして用いられるものとする。
【０２１２】
（ステップＳ１５０２）ステップＳ２０９において取得した区分数を、通信機器数Ｂに対応付けてメモリ等の記憶媒体、例えば、区分数情報格納部３０９に蓄積する。最終的にこの記憶媒体に蓄積されている情報が、区分数情報となる。
【０２１３】
（ステップＳ１５０３）通信機器数Ｂが所定の値以上か否か判断する。所定の値は、どのような値であってもよく、例えば、通信機器数の上限と予想される値等に応じて決定される。所定の値以上であれば、処理を終了し、所定の値以上でなければ、ステップＳ１５０５に進む。
【０２１４】
（ステップＳ１５０５）通信機器数Ｂを１インクリメントする。
【０２１５】
なお、図１５のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２１６】
以下、本実施の形態における通信システムの具体的な動作について説明する。通信システムの概念図は、通信処理装置１００の代わりに通信処理装置３００を設けたことを除けば図８と同様である。また、この具体例においては、タイムスロット数がＱ値を用いて指定されるものとし、このＱ値を区分数として利用するものとする。
【０２１７】
まず、予め、対応機器数情報を生成し、対応機器数情報格納部３０８に蓄積しておく。具体的には、まず、利用される考えられるＱ値と、発生し得ると考えられるコリジョン数との組み合わせを、複数用意し、それぞれの組み合わせについて、上記実施の形態１の具体例において説明したように、通信機器数ｂを変更させながら、各Ｑ値ごとにコリジョン数ｋとなる確率を求めていき、最終的に、各Ｑ値について、コリジョンの発生数が、ｋとなる確率が最も高くなる通信機器数ｂを得る。この通信機器数ｂを、通信可能なすべての通信機器数と推定する。そして、この通信機器数と、この通信機器数が得られる場合のＱ値とコリジョン数とを対応付けて対応機器数情報格納部３０８に蓄積する。この対応付けられた情報が対応機器数情報である。
【０２１８】
図１６は、対応機器数情報格納部３０８に格納されている対応機器数情報を管理するための対応機器数情報管理表である。対応機器数情報管理表においては、各行は所定のＱ値に対応した通信機器数、各列は、コリジョン数に対応した通信機器数を示し、行と列の交わるセルが、所定のＱ値およびコリジョン数に対応した通信機器数を示す。なお、図において「−」は値の算出を行っていない部分を示し、「２００≦」、「２≦」は、それぞれ、値が２００以上、２以上であることを示す。ただし、ここでは、便宜上、通信機器数の計算時に、値が２０１以上となった時点で、計算を終了している。
【０２１９】
次に、予め、区分数情報を生成し、区分数情報格納部３０９に格納する。具体的には、実際に利用し得ると考えられる通信機器数Ｂを複数用意し、各通信機器数Ｂについて、上記実施の形態１の具体例において説明したように、Ｑ値を変更しながら、衝突を発生させることなく通信可能な通信機器数の期待値Ｅを求める。
【０２２０】
例えば、このようにして得られた、通信機器数と、Ｑ値と、これらの対応機器数およびＱ値を用いて算出される期待値Ｅと、の対応関係を示す表を、図１７に示す。この表において、各行は所定のＱ値に対応した期待値Ｅ、各列は、所定の通信機器数に対応した期待値Ｅを示し、行と列の交わるセルが、所定のＱ値および通信機器数に対応した期待値Ｅを示す。なお、図において「−」は値を算出を行っていない部分を示す。
【０２２１】
次に、算出された期待値Ｅをそれぞれが対応するタイムスロット数、すなわち２Ｑで除算することで、評価値Ｖを得る。これにより、通信機器数と、Ｑ値と、これらの通信機器数およびＱ値を用いて算出される評価値との対応関係を得ることができる。
【０２２２】
図１８は、Ｑ値と、通信機器数と、Ｑ値と通信機器数とを用いて算出された評価値との対応関係を示す表である。図１８において、各行は所定のＱ値に対応した評価値Ｖ、各列は、所定の通信機器数に対応した評価値Ｖを示し、行と列の交わるセルが、所定のＱ値および通信機器数に対応した評価値Ｖを示す。なお、図において「−」は値を算出を行っていない部分を示す。
【０２２３】
つぎに、通信機器数別に、最も高い評価値が得られるＱ値を取得する。例えば、図１８において、通信機器数が「８６」である場合、最も高い評価値が得られるＱ値は「６」であるため、Ｑ値「６」を取得する。
【０２２４】
そして、このように取得したＱ値と、通信機器数とを対応付けて、区分数情報格納部３０９に格納する。このＱ値と、通信機器数とを対応付けた情報が区分数情報である。
【０２２５】
図１９は、区分数情報格納部３０９に格納されている区分数情報を管理するための区分数情報管理表である。区分数情報管理表は、「通信機器数」、「最適Ｑ値」という属性を有する。「通信機器数」は通信機器数、「最適Ｑ値」は、通信機器数に基づいて上記のように取得した区分数、ここではＱ値である。
【０２２６】
次に、上記実施の形態１の具体例と同様に、通信処理装置３００により、アンチコリジョン処理の１シークエンスが実行される。この処理については、上記実施の形態１の具体例と同様であるのでここでは説明を省略する。
【０２２７】
そして、この処理で指定されたＱ値と、この処理で取得されたコリジョン数とを用いて、通信機器数推定部３０４は、通信機器２００の数を推定する。ここでは、通信機器数推定部３０４は、対応機器数情報格納部３０８に格納されている図１６に示すような対応機器数情報から、上記のＱ値と、コリジョン数とにより特定される通信機器数を取得する。この通信機器数が、推定される通信機器数である。例えば、アンチコリジョン処理の直前のシークエンスで指定されたＱ値が「１０」、コリジョン数が、「５」であったとすると、図１６に示すような対応機器数情報から特定される通信機器数は、「９３」となる。
【０２２８】
そして、区分数取得部３０５が、この推定される通信機器数から、直前のアンチコリジョン処理の１シークエンスで取得した識別情報数を、減算する。この場合、取得された識別情報数が「４」であったとすると、「９３−４＝８９」となる
【０２２９】
次に、この推定される通信機器数から識別情報数を減算した値を用いて、区分数取得部３０５が、新たに設定すべき区分数、ここではＱ値を取得する。
【０２３０】
具体的には、区分数取得部３０５は、図１９に示すような区分数情報格納部３０９が格納している区分数情報から、通信機器数推定部３０４により推定される通信機器数から識別情報数を減算した値が、「通信機器数」の属性値と一致するレコードを検索し、このレコードに含まれる「最適Ｑ値」の属性値を、新たに設定すべきＱ値として取得する。ここでは、区分数取得部３０５が、通信機器数推定部３０４により推定された通信機器数から識別情報数を減算して得た値が、上述した「８９」であるとすると、新たなＱ値として、「７」が得られる。
【０２３１】
そして、区分数更新部１０６が、区分数取得部３０５の取得したＱ値「７」を用いて区分数指定指示が指定する区分数を更新後、次のアンチコリジョン処理のシークエンスが行なわれる。これ以降の処理については、上記実施の形態１の具体例と同様であるので説明は省略する。
【０２３２】
以上、本実施の形態によれば、上記実施の形態１と同様の効果を奏するとともに、予め用意された、区分数と、衝突数と、推定される通信機器数との対応関係を示す対応機器数情報を用いて、通信機器数推定部３０４が通信機器数を推定し、また、通信機器数推定部３０４が推定した通信機器数に対応した通信機器数を用いて、予め用意された通信機器数と区分数との対応関係を示す区分数情報から、区分数取得部１０５が、新たな区分数を取得するようにしたので、通信機器数を推定したり、区分数を取得するための演算処理が不要となり、処理時間の短縮化を図ることができる。この結果、アンチコリジョン処理全体の所用時間を短縮させることができる。また、高速なプロセッサ等を不要とすることができる。
【０２３３】
なお、区分数取得部３０５が、評価値算出手段１０５２および対応区分数取得手段１０５３と、同じ、もしくは相当する手段を備えるようにし、区分数情報格納部３０９に、区分数情報の代わりに、図１７に示すような通信機器数とＱ値等の区分数と期待値Ｅとの関係を示す情報である期待値関連情報を予め求めて格納しておくようにしても良い。この場合、区分数取得部３０５が、この期待値関連情報を用いて、通信機器数推定部３０４の推定した通信機器数に対応した区分数と期待値Ｅとの関係を示す情報を取得し、上記実施の形態１と同様に、評価値算出手段が、この期待値と区分数とを所望の評価関数に代入して、評価値Ｖを算出して、評価値Ｖと区分数との対応関係を求め、対応区分数取得手段１０５３が、この評価値Ｖと区分数との対応関係から、最も評価の高い評価値に対応する区分数を取得するようにしても良い。
【０２３４】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【０２３５】
なお、上記各実施の形態における通信処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、前記区分数指定指示により指定された区分数と、前記衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、前記通信機器数推定ステップにより推定した通信機器数を用いて、当該推定した通信機器数に対応した区分数を取得する区分数取得ステップと、前記区分数取得ステップにより取得した区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラムである。
【０２３６】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。かかることは他の実施の形態においても同様である。
【０２３７】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。かかることは他の実施の形態においても同様である。
【０２３８】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。かかることは他の実施の形態においても同様である。
【０２３９】
（実施の形態３）
上記実施の形態２において、ステップＳ２０５に示したような通信機器数の推定値から識別情報取得数を減算しない場合、通信機器数推定部３０４の出力する推定される通信機器数と、区分数取得部１０５が区分数を取得する際に用いる通信機器数とが、一致する。このため、対応機器数情報の通信機器数を示す属性と、区分数情報の通信機器数を示す属性とを一致させることが可能となる。本実施の形態は、このようにして、通信機器数を一致させるように、対応機器数情報と区分数情報とを組み合わせた結果得られた、区分数指定指示が指定する区分数と、衝突数と、最終的に更新に用いられる区分数との関係を示す情報との対応関係を示す情報を予め用意し、この情報を用いて、区分数を更新するようにしたものである。
【０２４０】
図２０は、本実施の形態における通信システムのブロック図である。本実施の形態の通信システムは、通信処理装置４００と、複数の通信機器２００とを具備している。
【０２４１】
複数の通信機器２００の構成および動作については、上記実施の形態１と同様であるので、ここでは詳細な説明は省略する。
【０２４２】
通信処理装置３００は、上記実施の形態２において説明した通信処理装置１において、通信機器数推定部１０４および区分数取得部１０５の代わりに、更新区分数取得部４０１を設けるとともに、対応機器数情報格納部３０８と、区分数情報格納部３０９との代わりに、更新区分数情報格納部４０２を設けるようにしたものである。すなわち、通信処理装置３００は、指示送信部１０１、受信部１０２、衝突数取得部１０３、区分数更新部１０６、識別情報送信指示送信部１０７、更新区分数取得部４０１、および更新区分数情報格納部４０２を具備する。
【０２４３】
指示送信部１０１、受信部１０２、衝突数取得部１０３、区分数更新部１０６、および識別情報送信指示送信部１０７の構成、および動作については、上記実施の形態１と同様であるので詳細な説明は省略する。
【０２４４】
更新区分数情報格納部４０２には、区分数指定指示により指定された区分数と、通信時に衝突が発生した区分数である衝突数と、これらに対応した、区分数指定指示により指定される区分数を更新するための区分数である更新区分数との対応関係を示す情報である１以上の更新区分数情報が格納される。具体的には、更新区分数情報は、区分数指定指示により指定された区分数と、通信時に衝突が発生した区分数である衝突数と、これらにより一意に特定される更新区分数との対応関係を示す情報である。ここでは、具体例として、更新区分数情報は、上記実施の形態２において説明した対応機器数情報と区分数情報とを、それぞれの通信機器数情報同士を一致させるようにして結合し、区分数情報が示す区分数の情報を、更新区分数情報として得られる情報である。例えば、対応機器数情報に対して、通信機器数の代わりに、区分数情報のうちの、この通信機器数と一致する通信機器数に対応する区分数を更新区分数として対応付けることで、更新区分数情報を得ることができる。すなわち、更新区分数情報は、区分数指定指示により指定された区分数と、通信時に衝突が発生した区分数である衝突数と、この区分数および衝突数を用いて、上記実施の形態２と同様に、通信機器数を推定し、この推定した通信機器数から、上記実施の形態２と同様に、評価値等を用いて取得した更新に用いられる区分数と、の対応関係を示す情報である。更新区分数情報格納部４０２は、更新区分数情報格納部４０２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０２４５】
更新区分数取得部４０１は、更新区分数情報格納部４０２が格納している更新区分数情報を用いて、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とに対応した、更新すべき区分数を取得する。更新区分数取得部４０１は、具体的には、更新区分数情報のうちの、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とにより特定される更新区分数を取得する。例えば、対応機器数情報において、対応する区分数と、衝突数と、更新区分数とが一つのレコードに格納されている場合、更新区分数取得部４０１は、区分数指定指示により指定された区分数と、アンチコリジョン処理により得られた衝突数とがともに一致するレコードに含まれる更新区分数を取得する。なお、ここでは、この更新区分数を用いて、区分数更新部は、区分数を更新するものとする。更新区分数取得部４０１は、通常、ＭＰＵやメモリ等から実現され得る。更新区分数取得部４０１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０２４６】
次に、図２１のフローチャートを用いて、通信処理装置４００の動作について説明する。図２１において、図２と同一符号は同一または相当するステップを示しており、ここでは説明を省略する。なお、更新区分数情報を取得する処理については、上記実施の形態２において説明した、対応機器数情報を取得する処理と、区分数情報を取得する処理とを組み合わせることで得られるものであることから、ここでは説明を省略する。
【０２４７】
（ステップＳ２１０１）更新区分数取得部４０１は、更新区分数情報格納部４０２に格納されている更新区分数情報を用いて、ステップＳ２０２において用いた区分数指定指示が指定する区分数と、ステップＳ２０２において取得した衝突数と、に対応した更新区分数を推定する。例えば、更新区分数取得部４０１は、更新区分数情報格納部４０２に格納されている更新区分数情報内の区分数および衝突数の中から、ステップＳ２０２において用いた区分数指定指示が指定する区分数およびステップＳ２０２において取得した衝突数に一致するものを検索し、一致する区分数および衝突数に対応付けられた更新区分数を取得する。
【０２４８】
なお、このフローチャートにおいて、区分数更新部１０６は、ステップＳ２００１において取得された更新区分数を用いて区分数を更新するものとする。
【０２４９】
なお、図２１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２５０】
以下、本実施の形態における通信システムの具体的な動作について説明する。通信システムの概念図は、通信処理装置１００の代わりに通信処理装置４００を設けたことを除けば図８と同様である。また、この具体例においても、タイムスロット数がＱ値を用いて指定されるものとし、このＱ値を区分数として利用するものとする。
【０２５１】
まず、上記実施の形態２と同様に、図１６に示したような対応機器数情報、および図１９に示したような区分数情報を用意し、対応機器数情報が区分数とコリジョン数とに対応付けている通信機器数の代わりに、この通信機器数と一致する「通信機器数」属性値を含む区分数情報のレコードの「区分数」属性値を、「更新区分数」属性値として、対応機器数情報の区分数とコリジョン数とに対応付けていくことで、区分数と衝突数と更新区分数との対応関係を示す更新区分数情報を取得し、この区分数更新情報を、更新区分数情報格納部４０２に蓄積しておく。
【０２５２】
なお、ここでは、対応機器数情報と区分数情報とを結合して更新区分数情報を構成するようにしたが、結果的に同様の更新区分数情報が得られれば、その取得方法は問わない。例えば、図２に示したステップＳ２０２およびステップＳ２０７の処理を、Ｑ値とコリジョン数との複数の組み合わせについて順番に実行して更新区分数情報を構成してもよい。
【０２５３】
図２２は、更新区分数情報格納部４０２に蓄積された更新区分数情報を管理するための、更新区分数情報管理表である。更新区分数情報管理表において、各行は所定のＱ値に対応した更新区分数、各列は、コリジョン数に対応した更新区分数を示し、行と列の交わるセルが、所定のＱ値およびコリジョン数に対応した更新区分数を示す。なお、ここでは、説明の便宜上、更新区分数情報管理表の一部のみを示している。
【０２５４】
次に、上記実施の形態１の具体例と同様に、通信処理装置４００により、アンチコリジョン処理の１シークエンスが実行される。この処理については、上記実施の形態１の具体例と同様であるのでここでは説明を省略する。
【０２５５】
そして、この処理で指定されたＱ値と、この処理で取得されたコリジョン数とを用いて、更新区分数取得部４０１は、更新区分数を取得する。ここでは、更新区分数取得部４０１は、更新区分数情報格納部４０２に格納されている図２２に示すような更新区分数情報から、上記のＱ値と、コリジョン数とにより特定される更新区分数を検索し、取得する。例えば、アンチコリジョン処理の直前のシークエンスで指定されたＱ値が「６」、コリジョン数が、「４」であったとすると、新たに更新すべき区分数である更新区分数は、「４」となる。
【０２５６】
そして、区分数更新部１０６が、更新区分数取得部４０１の取得した更新区分数「４」を用いて区分数指定指示が指定する区分数を更新後、次のアンチコリジョン処理のシークエンスが行なわれる。これ以降の処理については、上記実施の形態１の具体例と同様であるので説明は省略する。
【０２５７】
このように本実施の形態においては、上記実施の形態１と同様の効果を奏するとともに、予め用意された、区分数と、衝突数と、更新すべき区分数との対応関係を示す更新区分数情報を用いて、更新区分数取得部４０１が、更新すべき区分数を取得するようにしたので、通信機器数を推定したり、区分数を取得するための演算処理が不要となり、処理時間の短縮化を図ることができる。また、更新区分数情報だけを容易すればよいため、上記実施の形態２のように、２つの情報を用意する必要が無く、情報を保持するメモリ等の記憶媒体等のサイズを小さくすることができる。
【０２５８】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【０２５９】
なお、上記実施の形態における通信処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、識別情報を有する複数の通信機器との通信を分割して行うための区分数を指定する指示である区分数指定指示を送信する指示送信ステップと、前記区分数指定指示により指定された区分数の各区分に割り当てられた前記複数の通信機器が、割り当てられた区分別に通信を行う場合における、衝突が発生した区分数である衝突数を取得する衝突数取得ステップと、格納されている、前記区分数と、前記衝突数と、当該区分数と衝突数とに対応した、前記区分数指定指示が指定する区分数を更新するための区分数である更新区分数との対応関係を示す情報である更新区分数情報を用いて、前記区分指定指示の指定する区分数と、前記衝突数取得ステップにより取得した衝突数とに対応した更新区分数を取得する更新区分数取得ステップと、前記区分数取得ステップが取得した更新区分数で、前記区分数指定指示が指定する区分数を更新する区分数更新ステップとを実行させるためのプログラムである。
【０２６０】
（実施の形態４）
本実施の形態にかかる情報処理装置は、上記実施の形態１において説明した通信機器数推定部１０４を利用して構成した、通信機器数を推定するための情報処理装置である。
【０２６１】
図２３は、本実施の形態にかかる情報処理装置の構成を示すブロック図である。本実施の形態にかかる情報処理装置６００は、区分数受付部６０１と、衝突数受付部６０２と、通信機器数推定部１０４と、通信機器数出力部６０３とを具備している。区分数受付部６０１は、確率取得手段１０４１と、推定通信機器数取得手段１０４２とを具備している。
【０２６２】
区分数受付部６０１は、識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける。区分数等については、上記各実施の形態において説明した区分数等と同様であるので、説明は省略する。区分数受付部６０１は、他の機器等から通信回線等を介して送信される区分数を受信して受け付けても良いし、記録媒体等に記録されている区分数を読み出してもよい。また、区分数受付部６０１は、テンキーやキーボードやマウスやメニュー画面等の入力手段により入力される区分数を受け付けても良い。区分数受付部６０１は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアや、通信デバイスのドライバ等や、メモリカードリーダや、ＣＤドライブ等の記録媒体等から情報を読み出すデバイスのドライバ等で実現され得る。
【０２６３】
衝突数受付部６０２は、前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を取得する。衝突数等については、上記各実施の形態において説明した衝突数等と同様であるので、説明は省略する。衝突数受付部６０２は、他の機器等から通信回線等を介して送信される衝突数を受信して受け付けても良いし、記録媒体等に記録されている衝突数を読み出してもよい。また、衝突数受付部６０２は、テンキーやキーボードやマウスやメニュー画面等の入力手段により入力される衝突数を受け付けても良い。衝突数受付部６０２は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアや、通信デバイスのドライバ等や、メモリカードリーダや、ＣＤドライブ等の記録媒体等から情報を読み出すデバイスのドライバ等で実現され得る。
【０２６４】
通信機器数推定部１０４の構成については、上記実施の形態１と同様であるので、説明を省略する。但しここでは、通信機器数推定部１０４には、区分数受付部６０１の受け付けた区分数が入力され、衝突数受付部６０２が受け付けた衝突数が入力されるものとする。
【０２６５】
通信機器数出力部６０３は、通信機器数推定部１０４が出力する、区分数と、衝突数とから推定される通信機器数を出力する。出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信等を含む概念である。通信機器数出力部６０３は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。通信機器数出力部６０３は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０２６６】
本実施の形態の情報処理装置６００の動作は、区分数受付部６０１および衝突数受付部６０２が受け付けた区分数と衝突数とに基づいて通信機器数推定部１０４が通信機器数を推定する点と、通信機器数推定部１０４の推定した通信機器数を、通信機器数出力部６０３が出力する点を除けば、上記実施の形態１において図４等を用いて説明した通信機器数推定を推定する処理と同様であるので、ここでは、説明は省略する。
【０２６７】
以上、本実施の形態によれば、例えば、アンチコリジョン処理の１シークエンスにおいて検出されたコリジョン数と、このシーケンスにおいて指定された区分数とに応じて、通信可能な通信機器数を推定することが可能となる。これにより、例えば、推定した通信機器数に応じて、区分数を適宜設定したりすることが可能となる。
【０２６８】
なお、本実施の形態においては、上記実施の形態１の通信機器数推定部１０４を利用した場合について説明したが、本発明においては、上記実施の形態２において説明した通信機器数推定部３０４を対応機器数情報格納部３０８ともに用いるようにしても良い。
【０２６９】
また、本実施の形態においては、通信機器数推定部１０４の代わりに、上記実施の形態３において説明した更新区分数取得部４０１を、更新区分数情報格納部４０２とともに用いるようにして、通信機器数出力部６０３が、通信機器数の代わりに、更新区分数取得部４０１の取得した更新区分数を出力するようにしても良い。
【０２７０】
なお、上記実施の形態の情報処理装置を実現するソフトウェアは、以下のようなプログラムである。すなわち、コンピュータに、識別情報を有する複数の通信機器との通信を分割して行うための区分数を受け付ける区分数受付ステップと、前記区分数の各区分に割り当てられた前記複数の通信機器との間で、割り当てられた区分別に通信を行う場合の、衝突が発生した区分数である衝突数を受け付ける衝突数受付ステップと、前記区分数受付ステップで受け付けた区分数と、前記衝突数受付ステップにより受け付けた衝突数とを用いて、前記複数の通信機器の数を推定する通信機器数推定ステップと、前記通信機器数推定ステップにより推定した通信機器数を出力する通信機器数出力ステップとを実行させるためのプログラムである。
【０２７１】
（実施の形態５）
本実施の形態にかかる情報処理装置は、上記実施の形態１において説明した区分数取得部１０５を利用して構成した、区分数を推定するための情報処理装置である。
【０２７２】
図２４は、本実施の形態に係る情報処理装置の構成を示すブロック図である。情報処理装置７００は、通信機器数受付部７０１と、区分数取得部１０５と、区分数出力部７０２とを具備している。区分数取得部１０５は、期待値取得手段１０５１、評価値算出手段１０５２、対応区分数取得手段１０５３とを具備している。
【０２７３】
通信機器数受付部７０１は、識別情報を有する複数の通信機器の数を受け付ける。識別情報等については、上記各実施の形態において説明した識別情報等と同様であるので、説明は省略する。通信機器数受付部７０１は、他の機器等から通信回線等を介して送信される通信機器数を受信して受け付けても良いし、記録媒体等に記録されている通信機器数を読み出してもよい。また、通信機器数受付部７０１は、テンキーやキーボードやマウスやメニュー画面等の入力手段により入力される通信機器数を受け付けても良い。通信機器数受付部７０１は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアや、通信デバイスのドライバ等や、メモリカードリーダや、ＣＤドライブ等の記録媒体等から情報を読み出すデバイスのドライバ等で実現され得る。
【０２７４】
区分数取得部１０５については、通信機器数受付部７０１から入力される通信機器数を用いて区分数を取得する点を除けば、上記実施の形態１と同様であるので説明は省略する。
【０２７５】
区分数出力部７０２は、区分数取得部１０５が出力する、区分数を出力する。出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信等を含む概念である。区分数出力部７０２は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。区分数出力部７０２は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０２７６】
本実施の形態の情報処理装置７００の動作は、通信機器数受付部７０１が受け付けた通信機器数に基づいて区分数取得部１０５が区分数を推定する点と、区分数取得部１０５が推定した区分数を、区分数出力部７０２が出力する点を除けば、上記実施の形態１において説明した、図２のステップＳ２０７からＳ２０９までの処理等と同様であるので、ここでは、説明は省略する。
【０２７７】
以上、本実施の形態によれば、例えば、通信可能な通信機器の数に応じた、通信の処理の分割数、例えば時分割数、を設定する区分数、例えばタイムスロット数、を設定することが可能となる。これにより、例えば、通信機器数に適した区分数を設定することが可能となり、通信処理の効率化を図ることができる。
【０２７８】
なお、本実施の形態においては、上記実施の形態１の区分数取得部１０５を利用した場合について説明したが、本発明においては、上記実施の形態２において説明した区分数取得部３０５を区分数情報格納部３０９ともに用いるようにしても良い。
【０２７９】
なお、上記各実施の形態においては、特に具体例において、区分数がタイムスロット数である場合を例に挙げて説明したが、上述したように、本発明においては、区分数がタイムスロット数に限るものではない。例えば、周波数分割して通信を行う際のチャネル数等であっても良い。
【０２８０】
また、通信機器もＲＦＩＤタグ等に限るものではなく、通常のＬＡＮ等のネットワークに接続可能なコンピュータや、ネットワーク機器、例えばルータ、等の、通信機器であっても良い。
【０２８１】
なお、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０２８２】
なお、上記実施の形態の情報処理装置を実現するソフトウェアは、以下のようなプログラムである。すなわち、コンピュータに、識別情報を有する複数の通信機器の数を受け付ける通信機器数受付ステップと、前記通信機器数受付ステップにより受け付けた通信機器数を用いて、当該通信機器数に対応した区分数を取得する区分数取得ステップと、前記区分数取得ステップにより取得した区分数を出力する区分数出力ステップとを実行させるためのプログラムである。
【０２８３】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段（情報送信部など）は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０２８４】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２８５】
以上のように、本発明にかかる通信処理装置等は、識別情報を有する複数の通信機器との通信を分割して行う通信処理装置等として適しており、特に、ＲＦＩＤタグ等の通信機器との通信をスロット等の区分に分割して行う通信処理装置等として有用である。
【図面の簡単な説明】
【０２８６】
【図１】実施の形態１における通信システムのブロック図
【図２】同通信処理装置の動作について説明するフローチャート
【図３】同通信処理装置の動作について説明するフローチャート
【図４】同通信処理装置の動作について説明するフローチャート
【図５】同通信処理装置の動作について説明するフローチャート
【図６】同通信処理装置の動作について説明するフローチャート
【図７】同通信機器の動作について説明するフローチャート
【図８】同通信システムの概念図を示す図
【図９ａ】同アンチコリジョン処理を説明するための模式図
【図９ｂ】同アンチコリジョン処理を説明するための模式図
【図９ｃ】同アンチコリジョン処理を説明するための模式図
【図９ｄ】同アンチコリジョン処理を説明するための模式図
【図９ｅ】同アンチコリジョン処理を説明するための模式図
【図９ｆ】同アンチコリジョン処理を説明するための模式図
【図９ｇ】同アンチコリジョン処理を説明するための模式図
【図９ｈ】同アンチコリジョン処理を説明するための模式図
【図９ｉ】同アンチコリジョン処理を説明するための模式図
【図９ｊ】同アンチコリジョン処理を説明するための模式図
【図１０】同通信機器数と確率との関係を示す図
【図１１】同Ｑ値と期待値Ｅと評価値Ｖとの対応関係を示す図
【図１２】実施の形態２における通信システムのブロック図
【図１３】同通信処理装置の動作について説明するフローチャート
【図１４】同対応機器数情報を取得する方法を説明するフローチャート
【図１５】同区分数情報を取得する方法を説明するフローチャート
【図１６】同対応機器数情報管理表を示す図
【図１７】同通信機器数とＱ値と期待値Ｅとの対応関係を示す図
【図１８】同Ｑ値と通信機器数と評価値との対応関係を示す図
【図１９】同区分数情報管理表を示す図
【図２０】実施の形態３における通信システムのブロック図
【図２１】同通信処理装置の動作について説明するフローチャート
【図２２】同更新区分数情報管理表を示す図
【図２３】実施の形態４における情報処理装置のブロック図
【図２４】実施の形態５における情報処理装置のブロック図
【符号の説明】
【０２８７】
１００、３００、４００  通信処理装置
１０１  指示送信部
１０２  受信部
１０３  衝突数取得部
１０４、３０４  通信機器数推定部
１０５、３０５  区分数取得部
１０６  区分数更新部
１０７  識別情報送信指示送信部
２００  通信機器
２０１  識別情報格納部
２０２  指示受信部
２０３  区分割当部
２０４  信号送信部
２０５  識別情報送信部
３０８  対応機器数情報格納部
３０９  区分数情報格納部
４０１  更新区分数取得部
４０２  更新区分数情報格納部
６００、７００  情報処理装置
６０１  区分数受付部
６０２  衝突数受付部
６０３  通信機器数出力部
７０１  通信機器数受付部
７０２  区分数出力部
１０４１  確率取得手段
１０４２  推定通信機器数取得手段
１０５１  期待値取得手段
１０５２  期待値取得手段
１０５２  評価値算出手段
１０５３  対応区分数取得手段
【図１】
2008017437.tif 000003
【図２】
2008017437.tif 000004
【図３】
2008017437.tif 000005
【図４】
2008017437.tif 000006
【図５】
2008017437.tif 000007
【図６】
2008017437.tif 000008
【図７】
2008017437.tif 000009
【図８】
2008017437.tif 000010
【図９ａ】
2008017437.tif 000011
【図９ｂ】
2008017437.tif 000012
【図９ｃ】
2008017437.tif 000013
【図９ｄ】
2008017437.tif 000014
【図９ｅ】
2008017437.tif 000015
【図９ｆ】
2008017437.tif 000016
【図９ｇ】
2008017437.tif 000017
【図９ｈ】
2008017437.tif 000018
【図９ｉ】
2008017437.tif 000019
【図９ｊ】
2008017437.tif 000020
【図１０】
2008017437.tif 000021
【図１１】
2008017437.tif 000022
【図１２】
2008017437.tif 000023
【図１３】
2008017437.tif 000024
【図１４】
2008017437.tif 000025
【図１５】
2008017437.tif 000026
【図１６】
2008017437.tif 000027
【図１７】
2008017437.tif 000028
【図１８】
2008017437.tif 000029
【図１９】
2008017437.tif 000030
【図２０】
2008017437.tif 000031
【図２１】
2008017437.tif 000032
【図２２】
2008017437.tif 000033
【図２３】
2008017437.tif 000034
【図２４】
2008017437.tif 000035