(57)【要約】      （修正有）【課題】高性能かつ遅延時間の少ない無線伝送路におけるアクセス制御を行う。【解決手段】トークンの巡回順序を予め設定せず、複数の候補の中から次ノードを任意に選択し、選択されたノード候補を伝送先に設定してトークンを送信する。送信に失敗した伝送先のノードはノード候補から削除し,トークン巡回済みに更新されていないノード候補のうち任意の１つを伝送先に設定してトークンを送信する。この際に、既に巡回したことをトークン監視部２３が監視し、そのノードにはトークンを送信しない。【選択図】図３
2004312665.tif 000002
【特許請求の範囲】
【請求項１】
ノードリスト生成段階では、
トークンリングへの参加を呼びかけるリング広告ＲＡＤを受信した場合に、リング参加を要求する第１の登録要求ＲＲｑを送信し、
他のノードにより送信された第２の登録要求ＲＲｑを受信し、
リング参加を許可する登録応答ＲＲｐを受信した場合に、前記第２の登録要求ＲＲｑの送信元をノード候補として含むノードリストを生成して記憶装置に格納し、
トークン送信段階では、
トークンを受信した場合に前記記憶装置のノードリストを読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択し、
該選択されたノード候補を伝送先に設定して前記トークンを送信し、
ノードリストの第１の更新段階では、
前記トークンの送信に失敗したことを検出した場合には、該失敗した伝送先のノードを前記ノードリストのノード候補から削除し、かつトークン巡回済みに更新されていない前記ノードリストのノード候補のうちの任意の１つを伝送先に設定して前記トークンを送信し、
ノードリストの第２の更新段階では、
第１のノードから第２のノードに向けて前記トークンが送信されたことを検出した場合には、前記ノードリストに前記第１のノードが含まれていれば前記ノードリストにおける第１のノードをトークン巡回済みに更新し、前記ノードリストに前記第１のノードが含まれていなければ前記第１のノードを前記ノードリストに含めてトークン巡回済みに更新する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項２】
さらに、ノードリストの第３の更新段階では、
第３のノードから第４のノードへのトークンの送信を検出し、かつ前記第４のノードから第５のノードへのトークンの送信が前記第３のノードから第４のノードへのトークンの送信から第１のタイミングまでに検出されない場合には、前記第４のノードを前記ノードリストから削除する
ことを特徴とする請求項１に記載の無線伝送路におけるアクセス制御方法。
【請求項３】
前記ノードリスト生成段階では、前記リンク広告ＲＡＤを受信し、かつ上位レイヤからのデータ送信要求があった場合に前記第１の登録要求ＲＲｑを送信し、
トークン離脱段階では、前記トークン送信段階で選択された前記ノード候補を伝送先に設定し、前記トークンに離脱フラグを付加して送信する
ことを特徴とする請求項１に記載の無線伝送路におけるアクセス制御方法。
【請求項４】
前記トークン送信段階におけるデータ送信を含むデータ送信要求があった第１の時刻又は該トークン送信の第１の巡回回数を記憶し、
前記第１の時刻から第２の時間経過しても前記上位レイヤからデータ送信要求が無い場合、及び前記トークン送信段階で受信した前記トークンの巡回回数が第１の巡回回数を超えている場合のいずれか一方の場合に、前記トークン離脱段階における送信処理を実行する
ことを特徴とする請求項３に記載の無線伝送路におけるアクセス制御方法。
【請求項５】
ノードリスト生成段階では、
トークンリングへの参加を呼びかけるリング広告ＲＡＤを送信し
リング参加を要求する登録要求ＲＲｑを受信した場合に、リング参加を許可する登録応答ＲＲｐを送信し、該リング参加を要求したノードをノード候補として含むノードリストを生成して記憶装置に格納し、
トークン送信段階では、
前記記憶装置のノードリストを読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択し、
該選択されたノード候補を伝送先に設定して前記トークンを送信し、
ノードリストの第１の更新段階では、
前記トークンの送信に失敗したことを検出した場合には、該失敗した伝送先のノードを前記ノードリストのノード候補から削除し、かつトークン巡回済みに更新されていない前記ノードリストのノード候補のうちの任意の１つを伝送先に設定して前記トークンを送信し、
ノードリストの第２の更新段階では、
第１のノードから第２のノードに向けて前記トークンが送信されたことを検出した場合には、前記ノードリストにおける第１のノードをトークン巡回済みに更新する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項６】
マスターノードは、トークンリングへの参加を呼びかけるリング広告ＲＡＤと、リング参加を許可する許可番号ＳＮを複数の一般ノードに送信し、
前記一般ノードは、リング参加への待ち番号ＲＮを有するか否かを判定し、
前記待ち番号ＲＮを有している場合で、前記許可番号ＳＮと前記待ち番号ＲＮが一致する場合には、遅延カウント数を所定の値以下に設定し、前記リング広告ＲＡＤに対して該遅延カウント数にタイムスロットｔを乗算した時間だけ遅延させてリング参加を要求する登録要求ＲＲｑを前記マスターノードに送信し、
前記待ち番号ＲＮを有していない場合には、遅延カウント数をＣＷを最大値とし、かつ前記所定の値よりも大きいランダムな数値ｒｄｍに設定し、前記リング広告ＲＡＤに対して該数値ｒｄｍにタイムスロットｔを乗算した時間ｒｄｍ×ｔだけ遅延させて登録要求ＲＲｑを前記マスターノードに送信し、
前記マスターノードは、前記登録要求ＲＲｑを受信した場合に、リングサイズＲＳが最大リングサイズＭＡＸ−ＲＳに一致するか否かを判定し、一致する場合には、待ち番号ＲＮを送信し、一致しない場合には、リング参加を許可する登録応答ＲＲｐを送信するとともに、前記リングサイズＲＳを増分する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項７】
トークンリングへの参加を呼びかけるリング広告ＲＡＤを送信し、
前記マスターノードは、リング参加を要求する登録要求ＲＲｑを受信した場合に、リングサイズＲＳが最大リングサイズＭＡＸ−ＲＳに一致するか否かを判定し、一致する場合には、リング参加への待ち番号ＲＮを送信し、一致しない場合には、リング参加を許可する登録応答ＲＲｐを送信するとともに、前記リングサイズＲＳを増分する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項８】
トークンリングへの参加を呼びかけるリング広告ＲＡＤとリング参加を許可する許可番号ＳＮを受信した場合に、リング参加への待ち番号ＲＮを有するか否かを判定し、
前記待ち番号ＲＮを有している場合で、前記許可番号ＳＮと前記待ち番号ＲＮが一致する場合には、遅延カウント数を所定の値以下に設定し、前記リング広告ＲＡＤに対して該遅延カウント数にタイムスロットｔを乗算した時間だけ遅延させてリング参加を要求する登録要求ＲＲｑを送信し、
前記待ち番号ＲＮを有していない場合には、遅延カウント数をＣＷを最大値とし、かつ前記所定の値よりも大きいランダムな数値ｒｄｍに設定し、前記リング広告ＲＡＤに対して該数値ｒｄｍにタイムスロットｔを乗算した時間ｒｄｍ×ｔだけ遅延させて登録要求ＲＲｑを送信する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項９】
トークンを送信し、
少なくとも１つのノードを巡回した前記トークンを受信し、トークン送信候補をリストしたノードリストのすべての送信候補がトークン巡回済みである場合に、
前記トークンが送信されてから受信されるまでのラウンドタイムＲＴを算出し、このラウンドタイムＲＴと予め定められた最大ラウンドタイムｍａｘＴｈを比較し、
ラウンドタイムＲＴが最大ラウンドタイムｍａｘＴｈを超える場合には、最大リングサイズＭＡＸ−ＲＳを増分し、
ラウンドタイムＲＴが最小ラウンドタイムｍｉｎＴｈを超えない場合には、最大リングサイズＭＡＸ−ＲＳを減分する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項１０】
トークンを送信し、
少なくとも１つのノードを巡回した前記トークンを受信した場合に、
前記トークンが送信されてから受信されるまでのラウンドタイムＲＴを算出し、このラウンドタイムＲＴと予め定められた最大ラウンドタイムｍａｘＴｈを比較し、
ラウンドタイムＲＴが最大ラウンドタイムｍａｘＴｈを超える場合には、トークンリングへの参加を呼びかけるリング広告ＲＡＤを送信せず、
ラウンドタイムＲＴが最大ラウンドタイムｍａｘＴｈを超えない場合には、最大ラウンドタイムｍａｘＴｈからラウンドタイムＲＴ及びリング広告送信時間ＴＲＡＤを差し引いた値をタイムスロットｔで除算した数を遅延最大カウント数ＣＷに設定し、トークンリングへの参加を呼びかけるリング広告ＲＡＤと前記遅延最大カウント数ＣＷを複数のノードに送信する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項１１】
マスターノードは、
複数の登録要求ＲＲｑを複数の一般ノードから受信した場合に、
前記複数の登録要求ＲＲｑの衝突の有無を検出し、
前記衝突がある場合には、遅延最大カウント数ＣＷを増分し、
前記衝突が無い場合には、遅延最大カウント数ＣＷを減分し、
トークンリングへの参加を呼びかけるリング広告ＲＡＤと前記遅延最大カウント数ＣＷを前記複数の一般ノードに送信し、
前記一般ノードは、
前記リング広告ＲＡＤに対し、前記遅延最大カウント数ＣＷを最大値とするランダムな数値ｒｄｍにタイムスロットｔを乗算した時間だけ遅延させて前記登録要求ＲＲｑを送信する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項１２】
トークンリングへの参加を呼びかけるリング広告ＲＡＤと遅延最大カウント数ＣＷを送信し、
複数の登録要求ＲＲｑを受信した場合に、
前記複数の登録要求ＲＲｑの衝突の有無を検出し、
前記衝突がある場合には、前記遅延最大カウント数ＣＷを増分し、
前記衝突が無い場合には、前記遅延最大カウント数ＣＷを減分する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項１３】
第１のノードは、
リングマスターからのトークンを受信し、該トークンに含まれる第１の巡回回数を記憶し、
第２のノードから受信したトークンに含まれる第２の巡回回数を受信した場合に、前記記憶された第１の巡回回数と第２の巡回回数が一致しない場合には前記受信したトークンを送信せず、第１の巡回回数と第２の巡回回数が一致する場合には前記受信したトークンを第３のノードに送信し、
第２のノードは、
前記第１のノードから他のノードへのトークンの送信を、前記第１のノードへの送信から第１の時間内に検出しない場合には、前記第３のノードに送信した前記トークンを第４のノードに再送信する
ことを特徴とする無線伝送路におけるアクセス制御方法。
【請求項１４】
トークンリングへの参加を呼びかけるリング広告ＲＡＤを受信した場合に、リング参加を要求する第１の登録要求ＲＲｑを送信し、他のノードにより送信された第２の登録要求ＲＲｑを受信し、リング参加を許可する登録応答ＲＲｐを受信した場合に、前記第２の登録要求ＲＲｑの送信元をノード候補として含むノードリストを生成して記憶装置に格納し、第１のノードから第２のノードに向けて前記トークンが送信されたことを検出した場合には、前記ノードリストに前記第１のノードが含まれていれば前記ノードリストにおける第１のノードをトークン巡回済みに更新し、前記ノードリストに前記第１のノードが含まれていなければ前記第１のノードを前記ノードリストに含めてトークン巡回済みに更新するリング参加部と、
トークンを受信した場合に前記記憶装置のノードリストを読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択し、該選択されたノード候補を伝送先に設定して前記トークンを送信するトークン受渡制御部と、
前記トークンの送信に失敗したことを検出した場合には、該失敗した伝送先のノードを前記ノードリストのノード候補から削除するトークン監視部と
を備えたことを特徴とする無線伝送装置。
【請求項１５】
ノードリスト生成段階では、
トークンリングへの参加を呼びかけるリング広告ＲＡＤを送信し、リング参加を要求する登録要求ＲＲｑを受信した場合に、リング参加を許可する登録応答ＲＲｐを送信し、該リング参加を要求したノードをノード候補として含むノードリストを生成して記憶装置に格納し、第１のノードから第２のノードに向けて前記トークンが送信されたことを検出した場合には、前記ノードリストにおける第１のノードをトークン巡回済みに更新するリング参加部と、
前記記憶装置のノードリストを読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択し、該選択されたノード候補を伝送先に設定して前記トークンを送信するトークン受渡制御部と、
前記トークンの送信に失敗したことを検出した場合には、該失敗した伝送先のノードを前記ノードリストのノード候補から削除するトークン監視部と、
を備えたことを特徴とする無線伝送装置。
【請求項１６】
トークンリングへの参加を呼びかけるリング広告ＲＡＤと、リング参加を許可する許可番号ＳＮを送信するマスターノードと、
リング参加への待ち番号ＲＮを有するか否かを判定し、
前記待ち番号ＲＮを有している場合で、前記許可番号ＳＮと前記待ち番号ＲＮが一致する場合には、遅延カウント数を所定の値以下に設定し、前記リング広告ＲＡＤに対して該遅延カウント数にタイムスロットｔを乗算した時間だけ遅延させてリング参加を要求する登録要求ＲＲｑを前記マスターノードに送信し、
前記待ち番号ＲＮを有していない場合には、遅延カウント数をＣＷを最大値とし、かつ前記所定の値よりも大きいランダムな数値ｒｄｍに設定し、前記リング広告ＲＡＤに対して該数値ｒｄｍにタイムスロットｔを乗算した時間ｒｄｍ×ｔだけ遅延させて登録要求ＲＲｑを前記マスターノードに送信する一般ノードを備え、
前記マスターノードは、前記登録要求ＲＲｑを受信した場合に、リングサイズＲＳが最大リングサイズＭＡＸ−ＲＳに一致するか否かを判定し、一致する場合には、待ち番号ＲＮを送信し、一致しない場合には、リング参加を許可する登録応答ＲＲｐを送信するとともに、前記リングサイズＲＳを増分する
ことを特徴とする無線伝送システム。
【請求項１７】
トークンを送信した後、少なくとも１つのノードを巡回した前記トークンを受信し、トークン送信候補をリストしたノードリストのすべての送信候補がトークン巡回済みである場合に、前記トークンが送信されてから受信されるまでのラウンドタイムＲＴを算出し、このラウンドタイムＲＴと予め定められた最大ラウンドタイムｍａｘＴｈを比較し、ラウンドタイムＲＴが最大ラウンドタイムｍａｘＴｈを超える場合には、最大リングサイズＭＡＸ−ＲＳを増分し、ラウンドタイムＲＴが最小ラウンドタイムｍｉｎＴｈを超えない場合には、最大リングサイズＭＡＸ−ＲＳを減分するリング制御部と、
前記最大リングサイズＭＡＸ−ＲＳを記憶する記憶装置と
を備えたことを特徴とする無線伝送装置。
【請求項１８】
複数の登録要求ＲＲｑを複数のノードから受信した場合に、前記複数の登録要求ＲＲｑの衝突の有無を検出し、前記衝突がある場合には、遅延最大カウント数ＣＷを増分し、前記衝突が無い場合には、遅延最大カウント数ＣＷを減分するリング制御部と、
トークンリングへの参加を呼びかけるリング広告ＲＡＤと前記遅延最大カウント数ＣＷを送信する送受信制御部と
を備えたマスターノードと、
前記リング広告ＲＡＤと前記遅延最大カウント数ＣＷを受信し、前記リング広告ＲＡＤに対し、前記遅延最大カウント数ＣＷを最大値とするランダムな数値ｒｄｍにタイムスロットｔを乗算した時間だけ遅延させて前記登録要求ＲＲｑを前記マスターノードに送信する一般ノードと
を備えたことを特徴とする無線伝送システム。
【請求項１９】
コンピュータに、
ノードリスト生成段階では、
トークンリングへの参加を呼びかけるリング広告ＲＡＤを受信した場合に、リング参加を要求する第１の登録要求ＲＲｑを送信する処理と、
他のノードにより送信された第２の登録要求ＲＲｑを受信する処理と、
リング参加を許可する登録応答ＲＲｐを受信した場合に、前記第２の登録要求ＲＲｑの送信元をノード候補として含むノードリストを生成して記憶装置に格納する処理とを、
トークン送信段階では、
トークンを受信した場合に前記記憶装置のノードリストを読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択する処理と、
該選択されたノード候補を伝送先に設定して前記トークンを送信する処理とを、
ノードリストの第１の更新段階では、
前記トークンの送信に失敗したことを検出した場合には、該失敗した伝送先のノードを前記ノードリストのノード候補から削除し、かつトークン巡回済みに更新されていない前記ノードリストのノード候補のうちの任意の１つを伝送先に設定して前記トークンを送信する処理を、
ノードリストの第２の更新段階では、
第１のノードから第２のノードに向けて前記トークンが送信されたことを検出した場合には、前記ノードリストに前記第１のノードが含まれていれば前記ノードリストにおける第１のノードをトークン巡回済みに更新し、前記ノードリストに前記第１のノードが含まれていなければ前記第１のノードを前記ノードリストに含めてトークン巡回済みに更新する処理
を実行させることを特徴とする無線伝送路におけるアクセス制御プログラム。
【請求項２０】
コンピュータに、
トークンリングへの参加を呼びかけるリング広告ＲＡＤとリング参加を許可する許可番号ＳＮを受信した場合に、リング参加への待ち番号ＲＮを有するか否かを判定する処理と、
前記待ち番号ＲＮを有している場合で、前記許可番号ＳＮと前記待ち番号ＲＮが一致する場合には、遅延カウント数を所定の値以下に設定し、前記リング広告ＲＡＤに対して該遅延カウント数にタイムスロットｔを乗算した時間だけ遅延させてリング参加を要求する登録要求ＲＲｑを送信する処理と、
前記待ち番号ＲＮを有していない場合には、遅延カウント数をＣＷを最大値とし、かつ前記所定の値よりも大きいランダムな数値ｒｄｍに設定し、前記リング広告ＲＡＤに対して該数値ｒｄｍにタイムスロットｔを乗算した時間ｒｄｍ×ｔだけ遅延させて登録要求ＲＲｑを送信する処理と
を実行させることを特徴とする無線伝送路におけるアクセス制御プログラム。
【請求項２１】
コンピュータに、
トークンを送信する処理と、
少なくとも１つのノードを巡回した前記トークンを受信し、トークン送信候補をリストしたノードリストのすべての送信候補がトークン巡回済みである場合に、前記トークンが送信されてから受信されるまでのラウンドタイムＲＴを算出し、このラウンドタイムＲＴと予め定められた最大ラウンドタイムｍａｘＴｈを比較する処理と、
ラウンドタイムＲＴが最大ラウンドタイムｍａｘＴｈを超える場合には、最大リングサイズＭＡＸ−ＲＳを増分し、ラウンドタイムＲＴが最小ラウンドタイムｍｉｎＴｈを超えない場合には、最大リングサイズＭＡＸ−ＲＳを減分する処理と
を実行させることを特徴とする無線伝送路におけるアクセス制御プログラム。
【請求項２２】
コンピュータに、
トークンリングへの参加を呼びかけるリング広告ＲＡＤと遅延最大カウント数ＣＷを送信する処理と、
複数の登録要求ＲＲｑを受信した場合に、
前記複数の登録要求ＲＲｑの衝突の有無を検出する処理と、
前記衝突がある場合には、前記遅延最大カウント数ＣＷを増分し、前記衝突が無い場合には、前記遅延最大カウント数ＣＷを減分する処理と
を実行させることを特徴とする無線伝送路におけるアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
無線伝送路のような信頼性の低い伝送路において、トークンパッシング方式を効率的に利用できるようにする無線伝送路におけるアクセス制御方法、アクセス制御プログラム及びデータ伝送装置に関する。
【背景技術】
【０００２】
現状、無線伝送路におけるアクセス制御方式としては、ＣＳＭＡ・ＣＡ方式のようなランダムアクセス制御が主流である。しかしながら、高密度環境においては、衝突が頻発するため、性能が劣化する。このようなアクセス制御系において、トークンパッシングなどのスケジュール型アクセス制御方式を採用することが、系のスループットを確保する手段として効果的である。
【０００３】
トークンパッシング方式の無線伝送路への適用の先行事例としては、事前登録が必要なものと、事前登録が不要で動的にトークンリングに参加できるものに大別される。事前登録が不要な技術としては、カリフォルニア大学バークレイ校のＷＴＲＰ（Wireless Token Ring Protocol）がある（非特許文献１参照）。その他に、無線伝送路におけるトークンパッシング方式の適用に言及したものとして、例えば特許文献１に記載のものがある。
【特許文献１】特開平１０−１２６３６５号公報
【非特許文献１】UC Berkeley WOW group著、「Wireless Token Ring Protocol」、〔ｏｎｌｉｎｅ〕、２００３年３月掲載、〔２００３年３月１１日検索〕、インターネット＜http://wow.eecs.berkeley.edu/WTRP/＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術に示したＷＴＲＰには、下記のような課題・問題点が存在する。
【０００５】
（１）トークン紛失時、リング離脱時の論理リングの再構成時に、リングが細分化され、一部しか残らず、他はリングから離脱されてしまう。隠れ端末が存在すると、ノードがリングから離脱してしまう。
【０００６】
（２）リング参加ノードは確率的に公平に決定される方式が採用される。従って、未参加のノードがリングに参加できるまでの待ち時間が不明であり、上位層のアプリケーションを制限する。
【０００７】
（３）リングサイズにより、系の性能が変化する。しかし、リング離脱とリング参加の頻度が高い無線伝送路の場合、事前設定では利便性が低い。
【０００８】
（４）リング参加パケットの衝突は、コンテンションウィンドウ（Contention Window、以下、ＣＷと称する）を用いて、確率的に回避しているが、適正なＣＷの値でないと、無駄な待ち時間が生じて、系全体の性能が劣化する。
【０００９】
上記（１）の問題点を図１３〜図１５を用いて説明する。図１３に示すように、各一般ノードＡ〜Ｅの近隣ノードリストには、順番が付されており、予め巡回順序が定められている。この場合に図１４のように、リングマスターＡＰから一般ノードＡにトークンが送信され（ｓ１４１）、一般ノードＤがリング離脱すると、一般ノードＡはトークン送信に失敗し（ｓ１４２）、次の順番のノードを選択する。しかし、例えば図１４のように、一般ノードＢ，Ｃ，Ｅが一般ノードＡの電波到達領域１４１から外れていると、さらに次の一般ノードＦにトークンを送信せざるを得なくなる（ｓ１４３）。一般ノードＢ，Ｃ，Ｅにはトークンが巡回せずに終了する。また、図１５のように、リングマスターＡＰ→一般ノードＣ→一般ノードＤにトークンが巡回し（ｓ１５１〜ｓ１５３）、障害物１５２による隠れ端末状態によりトークン送信に失敗すると（ｓ１５４）、次の順序が選択されるため一般ノードＢ→リングマスターＡＰにトークンが巡回する（ｓ１５５、ｓ１５６）が、一般ノードＡには巡回されない。
【００１０】
上記（２）の問題点は、図１６及び図１７に示した通りである。すなわち、図１６に示すように、リング参加のための登録要求ＲＲｑを受信（ｓ１６１）したリングマスターＡＰは、登録応答ＲＲｐを送信するのみである（ｓ１６２）。また図１７に示すように、リング参加を呼びかけるリング広告をリングマスターＡＰから受信（ｓ１７１）した一般ノードは、ＣＷを最大として０よりも大きい１以上のランダムな値を設定し、衝突の回避を試み（ｓ１７２）登録要求ＲＲｑを送信するのみで（ｓ１７３）、参加が許可されなかった場合にどの程度待たなければならないのか予測できない。
【００１１】
上記（３）の問題点は、図１８に示した通りである。すなわち、トークンを受信（ｓ１８１）したリングマスターＡＰは、事前設定されたリングサイズに基づきトークンを送信する（ｓ１８２）のみで、リングサイズは変更されない。
【００１２】
上記（４）の問題点は、図１９に示した通りである。図１９に示すように、登録要求ＲＲｑを受信（ｓ１９１）したリングマスターＡＰは、登録応答ＲＲｐを送信し（ｓ１９２）、その後トークンを巡回させる（ｓ１９３）のみで、ＣＷが適当でない場合には無駄な待ち時間が生じる。
【００１３】
本発明は上記課題を解決するためになされたもので、その目的とするところは、高性能かつ遅延時間の少ない無線伝送路におけるアクセス制御を可能とする無線伝送路におけるアクセス制御方法を提供することにある。
【００１４】
また、本発明の別の目的は、上記アクセス制御方法で用いられるアクセス制御プログラム、該アクセス制御方法を実現するための無線伝送装置、無線伝送システムを提供することにある。
【課題を解決するための手段】
【００１５】
この発明の一の観点によれば、ノードリスト生成段階では、トークンリングへの参加を呼びかけるリング広告ＲＡＤを受信した場合に、リング参加を要求する第１の登録要求ＲＲｑを送信し、他のノードにより送信された第２の登録要求ＲＲｑを受信し、リング参加を許可する登録応答ＲＲｐを受信した場合に、前記第２の登録要求ＲＲｑの送信元をノード候補として含むノードリストを生成して記憶装置に格納し、トークン送信段階では、トークンを受信した場合に前記記憶装置のノードリストを読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択し、該選択されたノード候補を伝送先に設定して前記トークンを送信し、ノードリストの第１の更新段階では、前記トークンの送信に失敗したことを検出した場合には、該失敗した伝送先のノードを前記ノードリストのノード候補から削除し、かつトークン巡回済みに更新されていない前記ノードリストのノード候補のうちの任意の１つを伝送先に設定して前記トークンを送信し、ノードリストの第２の更新段階では、第１のノードから第２のノードに向けて前記トークンが送信されたことを検出した場合には、前記ノードリストに前記第１のノードが含まれていれば前記ノードリストにおける第１のノードをトークン巡回済みに更新し、前記ノードリストに前記第１のノードが含まれていなければ前記第１のノードを前記ノードリストに含めてトークン巡回済みに更新することを特徴とする無線伝送路におけるアクセス制御方法が提供される。
【００１６】
また、方法に係る本発明は、その方法を実現する無線伝送装置、無線伝送システムとしても成立する。
【００１７】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する処理を実行させるためのプログラム、このプログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【発明の効果】
【００１８】
以上説明したように本発明によれば、高性能かつ遅延時間の少ない無線伝送路におけるアクセス制御が可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の実施形態を説明する。
【００２０】
（第１実施形態）
図１（ａ）は本発明の第１実施形態に係る無線伝送路のアクセス制御方法が適用されるデータ伝送システムの全体構成を示す図である。トークンリングを管理するノードであるリングマスターＡＰ（第１無線局）と複数の一般ノードＡ，Ｂ及びＣ（第２無線局）が配置されている。これらリングマスターＡＰと一般ノードＡ，Ｂ及びＣの間でトークンフレームを送受信することにより、複数の間でトークンが巡回するトークンパッシング方式が適用される。リングマスターＡＰ、一般ノードＡ，Ｂ及びＣの各々は独立した無線伝送装置である。
【００２１】
図２はリングマスターＡＰの詳細な構成の一例を示す図である。リングマスターＡＰは、トークン受渡制御部１１、近隣ノード管理部１２、トークン監視部１３、送受信制御部１４及びリング制御部１５を有する。
【００２２】
トークン受渡制御部１１は、リングマスターＡＰから後続する一般ノードに対してトークンフレームを受け渡すトークンパス制御を行う。このトークンパス制御において、トークン受渡制御部１１は、近隣ノード管理部１２で管理された近隣ノードリスト１２１に含まれるノード候補から任意の１つのノード候補を選択して送信先のノードを決定する。送受信制御部１４は、他のノードとの間のデータ送受信を制御する。トークン受渡制御部１１で処理されたトークンフレームは、この送受信制御部１４を介して無線伝送路に送出され、後続するノードに取り込まれることにより、トークンパスが実行される。
【００２３】
トークン監視部１３は、送受信制御部１４を介して無線伝送路を伝送するデータを監視し、リングマスターＡＰから後続のノードに送出されたトークンフレームの受け渡しが成功したか否かを監視する。また、トークン監視部１３は、他のノードがさらに別のノードに送信するトークンを監視する。
【００２４】
リング制御部１５は、リング広告ＲＡＤや登録応答ＲＲｐを生成し、送受信制御部１４を介して他のノードに伝送する。リング広告ＲＡＤは、リングマスターＡＰから他の一般ノードＡ，Ｂ，Ｃ…へのトークンリングへの参加を呼びかけるための広告として用いられる伝送データである。登録応答ＲＲｐは、リング広告ＲＡＤに対して一般ノードＡ，Ｂ，Ｃ…から受信した登録要求ＲＲｑに対してトークンリングへの参加の登録を許可したことを伝えるための伝送データである。登録要求ＲＲｑは、一般ノードＡ，Ｂ，Ｃ…によるトークンリングへの参加を要求するための伝送データである。
【００２５】
また、リング制御部１５は、登録要求ＲＲｑに基づきリングへの参加を許可する一般ノードＡ，Ｂ，Ｃ…を選択する。近隣ノード管理部１２は、選択された一般ノードＡ，Ｂ，Ｃ…をノード候補とした近隣ノードリスト１２１を生成し、記憶装置１２ａに格納する。
【００２６】
また、リング制御部１５には、記憶装置１５ａが設けられており、この記憶装置１５ａには、リング制御部１５で処理するために用いられる最大リングサイズＭＡＸ−ＲＳ、最大ラウンドタイムｍａｘＴｈ、最小ラウンドタイムｍｉｎＴｈ、コンテンションタイムＣＷなどが格納されている。
【００２７】
リング制御部１５は、後述する参加承認処理（ｓ１３）やトークン巡回時の最大リングサイズＭＡＸ−ＲＳの調整処理（図１１）などを実行する。
【００２８】
近隣ノードリスト１２１は、他のノード間における送受を目的としたトークンの送信を検出した場合にその送信元のノード候補が“既”に更新される。具体的には、例えばトークン監視部１３によりトークンの伝送が常時監視される。例えば一般ノードＢがトークンを取得した場合に、トークン監視部１３は、そのトークン取得を一般ノードＢが他の一般ノードＣにトークンを送信する伝送データに基づき検出する。近隣ノード管理部１２は記憶装置１２ａに格納された近隣ノードリスト１２１を読み出す。近隣ノード管理部１２は、近隣ノード１２１の「一般ノードＢ」にトークン巡回済みである“既”であることを示すフラグを立てる。これにより、ノードリスト１２１が更新される。
【００２９】
また、近隣ノードリスト１２１は、リングマスターＡＰが後続する一般ノードＡ，Ｂ，Ｃ…にトークンの伝送に失敗した場合に、その失敗した相手の一般ノードＡ，Ｂ，Ｃ…について削除されるリスト更新処理が行われる。具体的には、トークン監視部１３がトークンの伝送を常時監視し、リングマスターＡＰが他の一般ノードＡにトークンを伝送し、その伝送が失敗したことを検知すると、これに基づき近隣ノード管理部１２が記憶装置１２ａに格納された近隣ノードリスト１２１に挙げられている「一般ノードＡ」を削除する。
【００３０】
図３は一般ノードＡの詳細な構成の一例を示す図である。なお、他の一般ノードＢ，Ｃなども一般ノードＡの構成と共通する。一般ノードＡは、トークン受渡制御部２１、近隣ノード管理部２２、トークン監視部２３、送受信制御部２４及びリング参加部２５を有する。
【００３１】
トークン受渡制御部２１、近隣ノード管理部２２、トークン監視部２３及び送受信制御部２４の基本的な動作は、リングマスター１のトークン受渡制御部１１、近隣ノード管理部１２、トークン監視部１３及び送受信制御部１４と共通する。
【００３２】
例えば、トークン受渡制御部２１は、トークン受渡制御部１１と同様に、トークン送信段階で、トークンを受信した場合に、記憶装置２２ａに格納された近隣ノードリスト２２１を読み出し、トークン巡回済みに更新されていないノード候補のうちの任意の１つのノード候補を選択して伝送先に設定したトークンを送信する。また、トークン監視部２３は、トークンの送信に失敗したことを検出した場合には、失敗した伝送先のノードを近隣ノード管理部２２の近隣ノードリスト２２１のノード候補から削除する。これにより、トークン受渡制御部２１は、トークン巡回済みに更新されていない近隣ノードリスト２２１のノード候補のうちの任意の１つを伝送先に設定してトークンを送信する。また、トークン監視部２３は、他のノード間のトークンの送信を検出した場合には、未登録であれば送信元ノードを近隣ノードリスト２２１に追加登録した上で、近隣ノードリスト２２１におけるその送信元のノード候補をトークン巡回済みを示す“既”に更新する。
【００３３】
リング参加部２５は、前述した登録要求ＲＲｑを生成し、送受信制御部２４を介して伝送する。
【００３４】
また、リング参加部２５は、送受信制御部１４を介して各一般ノードＡ，Ｂ，Ｃ…が伝送する登録要求ＲＲｑを取得する。近隣ノード管理部２２は、得られた登録要求ＲＲｑに基づき、その登録要求ＲＲｑが得られたすべての一般ノードＡ，Ｂ，Ｃ…を含む近隣ノードリスト２２１を生成し、記憶装置２２ａに格納する。
【００３５】
近隣ノードリスト２２１は、他のノード間における送受を目的としたトークンの送信が検出された場合に、その送信元のノード候補が“既”に更新される。これは、例えばトークン監視部２３によりトークンの伝送が常時監視され、例えば一般ノードＢがトークンを取得した場合に、その取得したことを一般ノードＢが他の一般ノードＣにトークンを送信する伝送データに基づき検出する。近隣ノード管理部２２が記憶装置２２ａに格納された近隣ノードリスト２２１を読み出す。近隣ノード管理部２２は、近隣ノードリスト２２１にその送信元のノードが登録されているか否かを判定し、登録されていなければ、近隣ノードリスト２２１に送信元ノードを追加登録する。登録されていた場合も登録されていなかった場合も、近隣ノード管理部２２は、近隣ノードリスト２２１の「一般ノードＢ」に“既”であることを示すフラグを立てる。
【００３６】
また、近隣ノードリスト２２１は、自身の一般ノードＡ，Ｂ，Ｃ…（ここでは例えば一般ノードＡ）が後続する一般ノードＡ，Ｂ，Ｃ…（ここでは例えば一般ノードＢ）にトークンの伝送に失敗した場合に、その失敗した相手の一般ノードＢについて削除される。具体的には、トークン監視部２３がトークンの伝送を常時監視する。そして、一般ノードＡが一般ノードＢにトークンを伝送し、その伝送が失敗したことを検知すると、これに基づき近隣ノード管理部２２が、記憶装置２２ａに格納された近隣ノードリスト２２１に挙げられている「一般ノードＢ」を削除する。
【００３７】
図２及び図３におけるリングマスターＡＰ及び一般ノードＡの構成において、リングマスターＡＰあるいは一般ノードＡに備えられた記憶装置から所定のプログラムがＣＰＵにより実行されることにより、リングマスターＡＰ及び一般ノードＡがトークン受渡制御部１１及び２１、近隣ノード管理部１２及び２２、トークン監視部１３及び２３、リング制御部１５及びリング参加部２５として機能する。もちろん、リングマスターＡＰ及び一般ノードＡに備えられた記録媒体読取装置が記録媒体から所定のプログラムを読み出すことにより上記各部として機能させるようにしてもよい。
【００３８】
図２及び図３に示されるリングマスターＡＰ及び一般ノードＡ，Ｂ，Ｃによるリスト生成動作を図１（ａ）に基づき説明する。
【００３９】
図１（ａ）に示すように、リングマスターＡＰは、リングマスターＡＰの電波到達領域にある一般ノードＡ，Ｂ，Ｃに向けて、リング広告ＲＡＤを送信する（ｓ１ａ、ｓ１ｂ、ｓ１ｃ）。リング広告ＲＡＤを受信した例えば一般ノードＢは、リングへの参加を要求すべく、リング要求ＲＲｑをリングマスターＡＰに送信する（ｓ２）。このリング要求ＲＲｑの送信のため、一般ノードＢでは、リング参加処理のための判定が行われる。リング参加の具体的な処理は後述する。
【００４０】
リングマスターＡＰは、受信したリング要求ＲＲｑに基づき参加の許可の可否を判定し、許可する場合にはリング応答ＲＲｐを一般ノードＢに送信する（ｓ３）。このリング応答ＲＲｐの送信とともに、リングマスターＡＰの近隣ノードリスト１２１には、一般ノードＢが登録される。
【００４１】
また、リング要求ＲＲｑを受信したリングマスターＡＰ側では、後述する参加承認処理及びＣＷ調整処理を経る。参加が承認されない場合には、（ｓ３）に示すリング応答ＲＲｐの代わりに、待ち番号ＲＮが一般ノードＢに送信される。
【００４２】
一方、リング応答ＲＲｐを受信した一般ノードＢの近隣ノードリスト２２１には、リングマスターＡＰが登録される。この際、一般ノードＢのリング参加部２５は、自身に向けられた登録応答ＲＲｐのみならず、他の一般ノードＡ，Ｃが発した登録要求ＲＲｑ及びリングマスターＡＰが他の一般ノードＡ，Ｃ向けに伝送した登録応答ＲＲｐも取得する。そして、取得した登録要求ＲＲｑ及び登録応答ＲＲｐに基づき、その登録要求ＲＲｑ及び登録応答ＲＲｐのいずれもが取得された一般ノードＡ，Ｃもノードリスト１２１に登録される。例えば一般ノードＡのみについて登録要求ＲＲｑ及び登録応答ＲＲｐを受信でき、一般ノードＣについては登録応答ＲＲｐのみを受信した場合、一般ノードＡが近隣ノードリスト２２１に登録され、一般ノードＣは近隣ノードリスト２２１に登録されない。
【００４３】
以上に示したシーケンスをまとめると図１（ｂ）に示すような流れになる。図１（ｂ）では、説明の便宜のためにリングマスターＡＰと一般ノードＡとの間のシーケンスを示している。
【００４４】
図１（ｂ）に示すように、まずリングマスターＡＰが一般ノードＡにリング広告ＲＡＤを送信する（ｓ１ａ）。また、このリング広告ＲＡＤが既にリング広告ＲＡＤを行い参加待ちの一般ノードも存在する場合の再度の参加広告である場合、リング広告ＲＡＤに許可番号ＳＮを含める。許可番号ＳＮは、参加待ちのノードのうち、新たに参加を許可するノードの待ち番号である。一回のリング広告ＲＡＤに複数の許可番号ＳＮを含めてもよい。
【００４５】
リング広告ＲＡＤを受信した一般ノードＡは、リング参加処理を行い（ｓ１１）、登録要求ＲＲｑをリングマスターＡＰに送信する（ｓ２）。リングマスターＡＰは、登録要求ＲＲｑを受信するとその衝突の検出状況に基づきＣＷ調整処理を行い（ｓ１２）、さらには参加承認処理を行い（ｓ１３）、参加承認処理結果に応じて一般ノードＡに登録応答ＲＲｐあるいは待ち番号ＲＮを送信する（ｓ３）。なお、ＣＷ調整処理（ｓ１２）は、次回のリング広告ＲＡＤの送信までに行われていればよいので、登録要求ＲＲｑ（ｓ２）の受信の後であればいつでもよい。
【００４６】
図４はこれらリングマスターＡＰ及び一般ノードＢ，Ｃ，Ｄを用いたトークン巡回動作の一例を示す図である。まず、リングマスターＡＰがトークンフレームを一般ノードＤに受け渡す（ｓ４１）。一般ノードＤは、その近隣ノード管理部２２で管理されるノードＤの近隣ノードリスト１２１に基づき、次ノードを例えば一般ノードＢと決定し、決定された一般ノードＢにトークンフレームを受け渡す（ｓ４２）。同様に、トークンフレームを受信した一般ノードＢは、次ノードを一般ノードＣと決定し、決定された一般ノードＣにトークンフレームを受け渡し（ｓ４３）、同様に一般ノードＣは次ノードをリングマスターＡＰと決定し、決定されたリングマスターＡＰにトークンフレームを受け渡す（ｓ４４）。以上（ｓ４１）〜（ｓ４４）のステップにより、リングマスターＡＰ、一般ノードＤ，Ｂ及びＣからなるトークンリングをトークンフレームが巡回する。
【００４７】
これらトークン巡回の際に、一般ノードＢ，Ｃ，Ｄは、他のノード間でトークン送受がなされる毎にそのトークン送受を傍受し、送信元ノードがリスト登録済みか否かを判定し、登録済みでなければ送信元ノードをリスト登録した上でそのノード候補にトークン巡回済みデータを関連づける。
【００４８】
リングマスターＡＰは、（ｓ４４）でトークンを受信した際に、ノードリスト１２１を参照し、すべてのノード候補をトークンが巡回したか否かを判定する。巡回していなければそのノード候補にトークンを送信し、再度トークンの巡回が試行される。すべてのノード候補を巡回している場合にはトークン巡回が終了し、次順のトークン巡回が開始する。
【００４９】
図５は本実施形態に係る次ノード決定の動作を説明するための図である。図５に示すように、一般ノードＡ〜Ｅからなる無線伝送システムにおいて、一般ノードＡからトークンフレームを受信した一般ノードＢの近隣ノード管理部２２は、その近隣ノードリスト２２１を読み出す。そして、近隣ノードリスト２２１のうち、トークン伝送が失敗したノード、“既”のフラグが立てられ既にトークンが巡回したノード以外のノードのいずれかを任意に選択する。図５の例では、一般ノードＢの近隣ノードリスト２２１に一般ノードＡ，Ｃ，Ｄ，Ｅが登録されており、“既”のフラグが一般ノードＡについて立てられているため、一般ノードＡ以外の一般ノードＣ，Ｄ，Ｅのいずれかを次ノードとして決定する。
【００５０】
従来技術の図１３に示した例では、予めトークンが巡回される順序が決定されており、その順序に基づき次ノードが一意に定まっていた。これに対して図５のように、予め電波到達可能なノードの候補を登録しておき、それら候補の中から任意のノードを選択することにより、巡回の順序が固定化されず、未巡回のノードを自由に選択することができる。従って、柔軟性のあるリング構成が実現される。
【００５１】
また、この柔軟性のあるリング構成によるリング離脱時の作用効果を図６を用いて説明する。
【００５２】
図６の例では、一般ノードＡ，Ｂ，Ｃ，Ｄ，Ｅ，ＦとリングマスターＡＰがリングに参加している。まず、リングマスターＡＰがトークンを一般ノードＡに伝送する（ｓ６１）。一般ノードＡは自身の近隣ノードリスト２２１を読み出し、次ノードとして一般ノードＤを選択し、一般ノードＤにトークンを伝送する（ｓ６２ａ）。この場合、一般ノードＤがリングから離脱し、一般ノードＡの電波到達領域６１ａから外れていると、一般ノードＤへのトークン伝送が失敗する。トークン伝送の失敗を一般ノードＡのトークン監視部２３が検出すると、一般ノードＡの近隣ノード管理部２２は近隣ノードリスト２２１から一般ノードＤを削除する（ｓ６２ｂ）。また、トークン監視部２３は、トークン伝送の失敗をトークン受渡制御部２１に伝える。トークン受渡制御部２１は、近隣ノードリスト２２１に基づき次ノードとして一般ノードＦを選択し、一般ノードＦに送受信制御部２４を介してトークンの再送を行う（ｓ６３）。一般ノードＦは、一般ノードＡの電波到達領域６１ａにあるため、トークンの受信に成功する。一般ノードＦのトークン監視部２３は、一般ノードＡからトークンを受信したことを近隣ノード管理部２２に伝える。近隣ノード管理部２２は、近隣ノードリスト２２１の一般ノードＡに“既”のフラグを立てる。
【００５３】
次に、一般ノードＦのトークン受渡制御部２１は、近隣ノードリスト２２１から“既”のフラグが立てられていないノードとして一般ノードＣを選択し、一般ノードＣにトークンを伝送する（ｓ６４）。一般ノードＣのトークン監視部２３は、一般ノードＦからトークンを受信したことを近隣ノード管理部２２に伝える。一般ノードＦの近隣ノード管理部２２は、近隣ノードリスト２２１の一般ノードＣに“既”のフラグを立てる。そして、一般ノードＦのトークン受渡制御部２１は、近隣ノードリスト２２１から“既”のフラグが立てられていないノードとして一般ノードＢを選択し、一般ノードＢにトークンを伝送する（ｓ６５）。これら（ｓ６４）や（ｓ６５）のステップと同様の要領により、一般ノードＢは一般ノードＥにトークンを伝送し（ｓ６６）、一般ノードＥはリングマスターＡＰにトークンを伝送する（ｓ６７）。以上によりトークンが一巡し、トークン巡回動作が終了する。
【００５４】
前述の従来技術に示した図１４の例の場合、トークン伝送に失敗すると、予め定められた順序に従ったノード選択手法しかとれないため、トークンリングに柔軟性が無く、いずれかのノードがトークンを受け取らずにトークン巡回が終了する場合が多かった。これに対して上述した図６の場合のように、自由に次ノードを選択することにより、仮に１つのノードへのトークン伝送に失敗しても、実質的に新たなリングを再構成することができる。これにより、ノードのリング離脱時のリング再構成が効率化され、伝送系全体のスループットが向上し、また遅延時間を短縮することができる。
【００５５】
この柔軟性のあるリング構成による隠れ端末状態発生時の作用効果を図７を用いて説明する。
【００５６】
図７の例では、一般ノードＡ，Ｂ，Ｃ，Ｄ，ＥとリングマスターＡＰがリングに参加している。リングマスターＡＰからトークンが一般ノードＥ，Ｃ，Ｄに巡回し（ｓ７１〜ｓ７３）、一般ノードＤが同様に一般ノードＡを近隣ノードリスト２２１から選択してトークンを伝送（ｓ７４ａ）する際に、障害物７２によりトークン伝送に失敗した場合、このトークン伝送の失敗を一般ノードＤのトークン監視部２３が検出する。一般ノードＤの近隣ノード管理部２２は、近隣ノードリスト２２１から一般ノードＡを削除する（ｓ７４ｂ）。また、トークン監視部２３は、トークン伝送の失敗をトークン受渡制御部２１に伝える。トークン受渡制御部２１は、近隣ノードリスト２２１に基づき次ノードとして一般ノードＢを選択し、一般ノードＢに送受信制御部２４を介してトークンの再送を行う（ｓ７５）。一般ノードＢは、一般ノードＤの電波到達領域７１にあるため、トークンの受信に成功する。
【００５７】
次に、一般ノードＢのトークン受渡制御部２１は、（ｓ７４ａ）で伝送が失敗した一般ノードＡを伝送先に選択し、一般ノードＡにトークンを伝送する（ｓ７６）。一般ノードＡの近隣ノードリスト２２１は、一般ノードＢ及びＤについては“既”のフラグが立てられている。これは、（ｓ７５）において一般ノードＤから一般ノードＢにトークンが伝送された事実を一般ノードＡがトークン監視部２３により傍受することにより一般ノードＤに“既”のフラグが立てられ、また一般ノードＢからトークンを受信したことにより一般ノードＢに“既”のフラグが立てられたことによる。従って、一般ノードＡは近隣ノードリスト２２１に残ったリングマスターＡＰを次ノードとして選択し、リングマスターＡＰにトークンを伝送する（ｓ７７）。リングマスターＡＰによりトークンが受信されると、トークン巡回が終了する。
【００５８】
前述の従来技術に示した図１５の例の場合、予め巡回順序が定められているため、リング構成に柔軟性が無く、障害物１５２が存在し他のノードにトークンが伝送されると、隠れ端末状態にあった一般ノードＡはトークンを受け取らずにトークン巡回が終了してしまう。これに対して上述した図７の場合のように、自由に次ノードを選択することにより、仮に１つのノードへのトークン伝送に失敗しても、実質的に新たなリングを再構成することができる。これにより、トークン紛失時のリング再構成が効率化され、伝送系全体のスループットが向上し、また伝送の遅延時間を短縮することができる。
【００５９】
なお、図６及び図７の例では特に言及しなかったが、各一般ノードは、他のノード間のトークン送受を傍受した際に、その送信元のノードがノードリスト２２１に登録されているか否かを判定し、登録されていなければノード候補としてリスト登録した上で送信元ノードをトークン巡回済みを示す“既”に更新する。
【００６０】
次に、待ち行列機能による動作を図８を用いて説明する。
【００６１】
図８の例では、リング参加ノードがリングマスターＡＰ、一般ノードＡ，Ｃ，Ｆからなり、これらのノードによりリング８１が形成され、参加待ちノードが一般ノードＢ，Ｄ，Ｅからなる場合を想定している。
【００６２】
リングマスターＡＰは、図１（ｂ）に示した参加承認処理（ｓ１３）により、一般ノードＡ，Ｃ，Ｄの参加を承認して（ｓ３）これら各ノードに登録応答ＲＲｐを送信する。一方、参加承認処理（ｓ１３）で参加が承認されない一般ノードＤ，Ｅ，Ｆには、待ち番号ＲＮが送信される（ｓ３）。送信される待ち番号ＲＮには連続する番号が付されている。具体的には、一般ノードＤ，Ｅ，Ｆの順に１，２，３という番号が付される。この番号は、参加待ちの順番を示している。参加待ちで順番が早い方から第１待ちノード８３、第２待ちノード８２、第３待ちノード８４…というように定義すると、第１待ちノード８３は一般ノードＤに、第２待ちノード８２は一般ノードＥ、第３待ちノード８４は一般ノードＢとなる。これら待ちノードの順序を示す待ち番号ＲＮは、待ち行列リストとして例えば近隣ノード管理部１２の記憶装置１２ａに格納される。一方、待ち番号ＲＮを受信した一般ノードＤ，Ｅ，Ｆ側では、受信した待ち番号ＲＮをリング参加部２５に設けられた記憶装置２５ａに格納する。
【００６３】
このリングマスターＡＰにおける参加承認処理（ｓ１３）の具体的な処理フローを図９を用いて説明する。
【００６４】
図９に示すように、まず登録要求ＲＲｑを受信すると（ｓ２）、リングマスターＡＰのリング制御部１５は、記憶装置１５ａから最大リングサイズＭＡＸ−ＲＳを読み出し、リングサイズＲＳが最大リングサイズＭＡＸ−ＲＳか否かを判定する（ｓ９１）。ここまでが参加承認処理（ｓ１３）に対応する。
【００６５】
リングサイズＲＳが最大リングサイズＭＡＸ−ＲＳである場合には、これ以上の参加は承認できないため、登録応答ＲＲｐは送信しない代わりに待ち番号ＲＮを送信する（ｓ３ｂ）。リングサイズＲＳが最大リングサイズＭＡＸ−ＲＳでは無い場合には、参加を承認することを示す登録応答ＲＲｐを送信する（ｓ３ａ）。登録応答ＲＲｐを送信した後に例えばリングサイズＲＳを１つ増分しておく（ｓ９２）。これにより、現在のリングサイズＲＳを動的に確認できる。
【００６６】
参加を要求する一般ノード側におけるリング参加処理（ｓ１１）の具体的な処理フローを図１０を用いて説明する。
【００６７】
図１０に示すように、リング広告ＲＡＤを受信（ｓ１）した一般ノードのリング参加部２５は、リング広告ＲＡＤに許可番号ＳＮが含まれているか否かを判定する（ｓ１０１）。許可番号ＳＮが含まれていない場合には、はじめてリング参加の広告がされた場合であり、予め設定された数値ＣＷの範囲内、すなわちＣＷを最大値とするランダムな０よりも大きな数値ｒｄｍ１に遅延カウント数を設定して（ｓ１０２）登録要求ＲＲｑを送信する（ｓ２）。予め定められたタイムスロットをｔとすると、リング広告ＲＡＤの受信時刻を基準とした登録要求ＲＲｑを送信するための時間遅延は、ｒｄｍ１×ｔである。タイムスロットｔは、登録要求ＲＲｑを１フレーム送信するのに要する時間である。このように、許可番号ＳＮが無い場合には、ランダムなバックオフ待ち時間をとり登録要求ＲＲｑが送信される。
【００６８】
許可番号ＳＮが含まれている場合には、記憶装置２５ａを参照し、待ち番号ＲＮを有しているか否かを判定する（ｓ１０３）。待ち番号ＲＮを有していない場合には、既に参加待ちのリングに関する広告ではないため、予め設定された数値ＣＷの範囲内、すなわちＣＷを最大値とするランダムな１よりも大きな数値ｒｄｍ２に遅延カウント数を設定して（ｓ１０４）登録要求ＲＲｑを送信する（ｓ２）。リング広告ＲＡＤの受信時刻を基準とした登録要求ＲＲｑを送信するための時間遅延は、ｒｄｍ２×ｔである。
【００６９】
待ち番号ＲＮを有している場合には、既にリング広告ＲＡＤを受信し、参加待ちの状態であるため、待ち番号ＲＮがリング広告ＲＡＤに含まれる許可番号ＳＮと一致するか否かを判定する（ｓ１０５）。一致する場合には、参加する順番が来たと判断され、遅延カウント数を最小の１に設定して（ｓ１０６）登録要求ＲＲｑを送信する（ｓ２）。リング広告ＲＡＤの受信時刻を基準とした登録要求ＲＲｑを送信する際の時間遅延は、１×ｔである。従って、他のどの一般ノードよりも早いタイミングで登録要求ＲＲｑを送信することができ、確実にリング参加できる。
【００７０】
待ち番号ＲＮと許可番号ＳＮが一致しない場合には、参加する順番はまだ来ていないと判断され、登録要求ＲＲｑを送信しない。この場合、リング参加部２５は、例えば待ち番号ＲＮから許可番号ＳＮを減算することで、待ちの順番を算出することができる（ｓ１０７）。この待ちの順番に基づき他のアプリケーションが他の処理を効率的に実行することができる。これにより、未参加で参加待ちのノードがリングに参加できるまでの待ち時間を把握することができ、上位アプリケーションの機能の制限を抑制することができる。
【００７１】
なお、この図１０に示したフローは、一回のリング広告ＲＡＤに１つの許可番号ＳＮを有する場合を示したが、一回のリング広告ＲＡＤに複数の連続する許可番号ＳＮを含める場合には、（ｓ１０４）における処理は若干異なる。記憶されている待ち番号ＲＮが複数の許可番号ＳＮのいずれかに一致すると（ｓ１０３）で判定された場合、一般ノードのリング参加部２５は、待ち番号ＲＮが複数の許可番号ＳＮのうちの何番目であるかを判定する。例えば待ち番号ＲＮが１１で、許可番号ＳＮが８〜１２の５つが配布されている場合、（ＲＮ−最小のＳＮ）＋１＝（１１−８）＋１＝４となり、４番目の待ちノードであることが分かる。そこで、遅延カウント数を４に設定する。これにより、リング広告ＲＡＤの受信時刻を基準として４×ｔの時間遅延が与えられて登録要求ＲＲｑが送信される（ｓ２）。これにより、複数の待ちノードに同時にリングへの参加を許可することができる。なお、この場合、（ｓ１０４）における遅延カウント数ｒｄｍ２は、許可番号ＳＮの配布数よりも大きな値（上述の例では５よりも大きな値）に設定するのが望ましい。
【００７２】
なお、許可番号ＳＮの配布数に限定されることなく、待ち番号ＲＮの有無に対して許可番号ＳＮよりも大きな値Ｌを境界値として遅延カウント数を設定してもよいことはもちろんである。
【００７３】
次に、トークン巡回時の最大リングサイズの調整処理について図１１のフローチャートに沿って説明する。図１１に示す処理は、リングマスターＡＰにおける処理である。
【００７４】
図１１に示すように、まずリングマスターＡＰがトークンを巡回させ、一巡してそのトークンを受信し、かつノードリスト１２１のすべてのノード候補にトークンが巡回したか否かを判定し、すべてのノード候補を巡回したと判定すると（ｓ１１１）、リング制御部１５は、トークン受信時からトークン送信時を差し引くことにより、トークンが一巡する時間を示すラウンドタイムＲＴを算出する（ｓ１１２）。次に、リング制御部１５は、記憶装置１５ａに格納された最大ラウンドタイムｍａｘＴｈを読み出し、ＲＴ＞ｍａｘＴｈか否かを判定する（ｓ１１３）。
【００７５】
ＲＴ＞ｍａｘＴｈの場合、ラウンドタイムＲＴはｍａｘＴｈを超えており、長すぎると判断されるため、ＭＡＸ−ＲＳを例えば１つ減分して記憶装置１５ａを更新し（ｓ１１４）、再びトークンを送信する（ｓ１１５）。このトークン送信（ｓ１１５）では、ＭＡＸ−ＲＳが減分されている。従って、再度リング参加ノードを決定する図９に示す処理をリング制御部１５が実行する場合には、減分されたリングサイズに基づく参加承認の判定がなされる。従って、減分された数だけ参加可能なノードが減少する。
【００７６】
一方、ＲＴ≦ｍａｘＴｈの場合、ＲＴ＞ｍｉｎＴｈか否かを判定する（ｓ１１６）。ＲＴ＞ｍｉｎＴｈの場合、ラウンドタイムＲＴはｍａｘＴｈとｍｉｎＴｈの間の値をとり適正であるため、ＭＡＸ−ＲＳを増分も減分もすることなく再度トークンを送信する（ｓ１１５）。ＲＴ≦ｍｉｎＴｈの場合、ラウンドタイムＲＴはｍｉｎＴｈを下回っており、短すぎると判断されるため、ＭＡＸ−ＲＳを例えば１つ増分して記憶装置１５ａを更新し（ｓ１１７）、再びトークンを送信する（ｓ１１５）。このトークン送信（ｓ１１５）では、ＭＡＸ−ＲＳが増分されているため、再度リング参加ノードを決定する図９に示す処理をリング制御部１５が実行する場合には、増分されたリングサイズに基づく参加承認の判定がなされる。従って、増分された数だけ参加可能なノードが増加する。
【００７７】
このように、トラフィックの実態をラウンドタイムＲＴにより把握し、このラウンドタイムＲＴに基づきリングサイズを適宜最適化することができるため、伝送系の性能の変化に応じた最適な無線伝送が実現される。
【００７８】
リングマスターＡＰにおけるＣＷ調整処理（ｓ１２）の具体的な処理フローを図１２を用いて説明する。
【００７９】
図１２に示すように、リングマスターＡＰが登録要求ＲＲｑを受信すると（ｓ２）、リング制御部１５は、登録要求ＲＲｑの衝突を検出したか否かを判定する（ｓ１２１）。この衝突の検出には、例えば特開２０００−１９６６０２号公報の「無線通信における多重アクセス方法」に開示されたパケット衝突検出技術が用いられる。衝突を検出した場合には、記憶装置１５ａに格納されているＣＷを例えば１つ増分し（ｓ１２２）、衝突を検出しない場合には、ＣＷを例えば１つ減分し（ｓ１２３）、記憶装置１５ａを更新する。そして、登録応答ＲＲｐあるいは待ち番号ＲＮをすべての一般ノードに送信する（ｓ１２４）。そして、トークンを巡回させるべくトークンを後続する一般ノードに送信する（ｓ１２５）。
【００８０】
このように、衝突を検出した場合にはＣＷを増分し、検出しない場合にはＣＷを減分する。そして、次回にリング広告ＲＡＤを送信する際に、このＣＷを含めて送信し、登録要求ＲＲｑの送信の時間遅延をこのＣＷに基づいて行わせることにより、伝送系の遅延時間とスループットを最適化することができる。
【００８１】
以上説明したように本実施形態によれば、（１）トークン巡回の順序を予め定めず、次ノードの選択をノードリストから未巡回のノードについて自由に選択する方式を採用するため、トークン紛失やノードのリング離脱、隠れ端末状態などの際のリング再構成時に、リングが細分化されたり、リングの一部のみが残ったりする事態を少なくすることができる。従って、トークン紛失やリング離脱時のリング再構成が効率化され、系全体のスループットが向上し、また遅延時間の短縮が図れる。また、隠れ端末状態になった場合には、回避経路が試行されるため、リング離脱を少なくすることができる。（２）リングへの参加に待ち行列機能を付加することにより、リングサイズの制限により参加ノード数が制限される場合に、上位アプリケーションの幅の広がる。（３）最大リングサイズＭＡＸ−ＲＳを動的に変更することにより、リソースの利用効率を最大化し、リングマスターの指定した性能に収束させることができる。（４）ＣＷを動的に変更することにより、参加希望ノードをくまなく参加させ、かつ参加シーケンスによる系の遅延時間を最小に抑えることができる。
【００８２】
本発明は上記実施形態に限定されるものではない。
【００８３】
上述したＭＡＸ−ＲＳ、ＣＷなどの増分値及び減分値は、１つずつであっても２つ以上ずつであってもよい。
【００８４】
また、無線伝送に適用する場合を示したが、各ノードの情報の送受信は有線通信にも適用可能である。
【００８５】
上記実施形態では、ノードリスト１２１及び２２１のノード候補に順位付けをせず、トークン巡回済みでない任意のノード候補をトークン伝送先に設定する例を示したが、これに限定されない。例えば信号の電波状態に基づき電波状態が良好な順から上位に順位付けを行い、その順位に基づき上位候補から伝送先を選択していくようにしてもよい。電波状態は、例えば送受信制御部１４、２４やリング制御部１５、リング参加部２５により検出された受信信号の信号強度に基づき判定することができる。順位付けは、例えば他の一般ノードから送信された登録要求ＲＲｑや、他のノード間で伝送され傍受されたトークンを含む受信信号に基づき決定できる。
【００８６】
（第２実施形態）
本実施形態は第１実施形態の変形例に係わる。本実施形態は、トークン監視部が近隣の他ノードのトークン送信試行監視を行い、その監視結果に基づき近隣ノードリストから当該ノードを削除する形態に係わる。
【００８７】
図２０は一般ノードのトークン監視部２３におけるノード削除処理（リスト更新処理）のフローチャートを示す図である。
【００８８】
図２０に示すように、一般ノードのトークン監視部２３は自ノード以外が送信先に設定されたトークンＡＢ（ここでは送信元ノードＡから送信先ノードＢへのトークン）を受信すると（ｓ２０１）、ノード削除判定処理を行う（ｓ２０２）。具体的には、ノードＢを送信元とし、他のノードＣへ送信されたトークンＢＣの受信の有無を判定する。より具体的には、トークンＡＢの受信から時間ｔ１経過したか否かを判定し、時間ｔ１以内にトークンＢＣを検出しない場合には、近隣ノードリスト２２１からノードＢをノード候補から削除するリスト更新処理を行う（ｓ２０３）。
【００８９】
時間ｔ１以内にトークンＢＣを検出した場合には、リスト更新処理は行わず、トークン監視を続行する。
【００９０】
本実施形態では、各一般ノードが近隣ノードのトークンの送受信の正否を監視し、近隣ノード同士がトークンの送受信に失敗したことを近隣ノード同士でやりとりされるトークンに基づき判定することにより、各ノードの移動などに起因して起こり得る近隣ノードリストからのノード候補の削除することができ、各一般ノード同士の再送回数が抑制される。すなわち、従来のように、各一般ノードが、一旦電波範囲外などと判定された特定の一般ノードに繰り返しトークンを再送する事態が少なくなる。したがって、トークン紛失時・リング離脱時のリングの再構成が効率化され、系全体のスループットが向上し、遅延時間をさらに短縮できる。
【００９１】
このように、無線のような信頼性の低い伝送路上で多く生じるトークン紛失や伝送路の一時的な障害があった場合にトークン再送回数を抑制することができる。
【００９２】
なお、ノード削除判定処理（ｓ２０２）では、時間ｔ１以内にトークンＢＣを検出するか否かにより判定するタイマ管理が必要となる例を示したが、これに限定されない。
【００９３】
例えば、（ｓ２０１）で自ノード以外が送信先に設定されたトークンＡＢを受信した後、同一巡回中に、すなわちトークンがリングマスターＡＰに戻るまでに、自ノードが送信先に設定されたトークンを受信するタイミングを基準にしてもよい。この場合、自ノード宛のトークンを受信する前にトークンＢＣを検出しない場合に
近隣ノードリスト２２１のノード候補からノードＢを削除すればよい。
【００９４】
また、後述の第３実施形態や第５実施形態に示されるように、トークンの巡回が新しくなりリングマスターが新たにトークンを送信するとともにそのトークンの巡回回数を示すシーケンスナンバーを送信する場合には、その新たなシーケンスナンバーを一般ノードが受信するタイミングを基準にしてもよい。この場合、新たなシーケンスナンバーをリングマスターから受信する前にトークンＢＣを検出しない場合に近隣ノードリスト２２１のノード候補からノードＢを削除すればよい。
【００９５】
（第３実施形態）
本実施形態は第１実施形態の変形例に係わる。本実施形態は、データ送信状態に応じたリング参加・離脱方式に関する。以下の各実施形態で示される以外の構成は特に示さない限り第１実施形態と共通するので、詳細な説明は省略する。
【００９６】
まず、自主的リング離脱方式について説明する。  
図２１は、本実施形態に係る自主的リング離脱動作を説明するための図である。図２１に示すように、リングマスターＡＰと一般ノードＢ，Ｃ，Ｄの間でトークン巡回動作を行っている場合で、同図の矢印に示すように、リングマスターＡＰから一般ノードＤにトークンが送信され（ｓ２１１）、一般ノードＤから一般ノードＢにトークンが送信される（ｓ２１２）。一般ノードＢは、例えば離脱すべきと判定した場合、離脱せずに通常にトークンを巡回させる場合と同様、例えば第１実施形態の図５で示した次ノード決定動作に従い次ノードを決定する。そして、トークンに離脱フラグを付加した離脱トークンを決定された次ノードである一般ノードＣに送信する（ｓ２１３）。離脱フラグは、離脱することを示すデータと、離脱するノードを識別するデータ（この場合はノードＢ）を含む。
【００９７】
離脱トークンを受信した一般ノードＣの近隣ノード管理部２２は、離脱トークンに含まれる離脱フラグに基づき、近隣ノードリスト２２１から離脱トークン送信元の一般ノードＢを削除した上で、リングマスターＡＰにトークンを送信する（ｓ２１４）。
【００９８】
その後は、例えばリングマスターＡＰから一般ノードＤへの送信（ｓ２１５）、一般ノードＤから一般ノードＣへの送信（ｓ２１６）、一般ノードＣからリングマスターＡＰへの送信（ｓ２１７）というように、離脱した一般ノードＢを含まないトークン巡回順序が形成される。この場合、離脱した一般ノードＢへのトークンの再送信を行わないようにするため、トークン受信ノード（リングマスターＡＰを含む）の近隣ノード管理部２２は、近隣ノードリスト２２１から離脱フラグに示される離脱ノードを削除する。
【００９９】
あるいは、離脱トークンの送信先である一般ノードＣ以外の一般ノード（例えば一般ノードＤ）が離脱トークンを傍受し、その受信データに基づき一般ノードＤの近隣ノード管理部２２が近隣ノードリスト２２１から離脱トークン送信元の一般ノードＢを削除してもよい。
【０１００】
図３には図示していないが、一般ノードは送信すべきデータ生成や、データ送信要求を行う上位レイヤデータ管理部を備える。上位レイヤデータ管理部は、トークン受渡制御部２１、近隣ノード管理部２２、トークン監視部２３、送受信制御部２４、リング参加部及び参加・離脱管理部２７などのレイヤよりも上位レイヤに相当する。
【０１０１】
この上位レイヤデータ管理部は、他ノードに送信すべきデータを生成し、またトークン受渡制御部２１にデータ送信要求を行う。
【０１０２】
トークン受渡制御部２１は、この上位レイヤデータ管理部からのデータ送信要求の有無などに基づきリングへの参加あるいは離脱を管理する。このために、トークン受渡制御部２１は、データ送信要求のあった時刻、あるいはデータ送信時刻（以下では単にこれらをデータ送信時刻ｔｄと呼ぶ）と、トークンの巡回回数を示すシーケンスナンバーｓとを記憶装置に記憶する。データ送信要求のあった、あるいはデータが送信された巡回におけるシーケンスナンバーｓを特に以下ではｓｄと呼ぶ。そして、現在時刻ｔｎから記憶装置に記憶された最新のデータ送信時刻ｔｄを差し引いた値としきい値ｔｔｈとを比較し、現在の巡回のシーケンスナンバーｓｎから記憶装置に記憶された最新のシーケンスナンバーｓｄを差し引いた値としきい値ｓｔｈを比較し、離脱の可否を判定する。しきい値ｔｔｈとｓｔｈとは、一般ノードの記憶装置に予め記憶されている。
【０１０３】
離脱と判定した場合には、離脱フラグをトークンに付加したトークン（以下では離脱トークンと呼ぶ）を生成して次ノードに送信する。
【０１０４】
離脱せずと判定した場合には、上位レイヤデータ管理部からのデータを含むデータパケットを送信し、次ノード決定後、その決定された次ノードにトークンを送信する。上位レイヤデータ管理部からのデータ送信要求がない場合には、データパケットの送信を行わず、に次ノード決定後にその次ノードにトークンを送信する。
【０１０５】
図２２は一般ノードにおける自主的リング離脱処理のフローチャートの一例を示す図である。まず、トークンを受信（ｓ２２１）した一般ノードは、上位レイヤデータ管理部からのデータパケットを送信し、第１実施形態で説明したのと同様に次ノードの決定などを行い、その決定された次ノードにトークンを送信する（ｓ２２２）。一般ノードのトークン受渡制御部２１は、データ送信時刻ｔｄとデータ送信のあった巡回回数を示すシーケンスナンバーｓｄを記憶装置に記憶しておく（ｓ２２３）。
【０１０６】
次にトークンを受信（ｓ２２４）した場合、トークン受渡制御部２１は、離脱可否の判定を行う（ｓ２２５）。離脱可否の判定は時間に基づく判定と、シーケンスナンバーに基づく判定の２通りある。
【０１０７】
時間に基づく判定の場合、現在時刻ｔｎから最新のデータ送信時刻ｔｄを差し引いた値ｔｎ−ｔｄを算出する。このｔｎ−ｔｄとしきい値ｔｔｈを比較し、ｔｎ−ｔｄ≦ｔｔｈの場合、前回のデータ送信（あるいはデータ送信要求）からそれほど時間が経過していないので離脱せずと判定する。ｔｎ−ｔｄ＞ｔｔｈの場合、前回のデータ送信（あるいはデータ送信要求）からかなり時間が経過しているので離脱と判定する。
【０１０８】
シーケンスナンバーに基づく判定の場合、現在の巡回におけるシーケンスナンバーｓｎからデータ送信のあった最新のシーケンスナンバーｓｄを差し引いた値ｓｎ−ｓｄを算出する。このｓｎ−ｓｄとしきい値ｓｔｈを比較し、ｓｎ−ｓｄ≦ｓｔｈの場合、前回のデータ送信からそれほど巡回が繰り返されていないので離脱せずと判定する。ｓｎ−ｓｄ＞ｓｔｈの場合、前回のデータ送信からかなり巡回回数が繰り返されているので離脱と判定する。
【０１０９】
時間に基づく判定とシーケンスナンバーに基づく判定で、双方で離脱せずと判定された場合以外、すなわちいずれかで離脱と判定された場合、（ｓ２２６）に進みトークンに離脱フラグを付加して離脱トークンを生成する。（ｓ２２６）に進まない場合には、離脱フラグを付加しない。（ｓ２２６）に進んだ場合も進まない場合も、トークンを第１実施形態で示された次ノード決定動作で決定された次ノードに送信する（ｓ２２７）。離脱フラグが付加されないトークンを送信する場合、データ送信要求があればその要求のあったデータを含めたデータパケットを送信し、次ノード決定動作で決定された次ノードにトークンを送信し、データ送信要求がなければデータパケットを送信することなく次ノードにトークンを送信する。
【０１１０】
いったん離脱フラグを付加した離脱トークンを次ノードに送信した場合には、離脱トークン送信元の一般ノードは他の一般ノードの近隣ノードリスト２２１から削除される。したがって、離脱トークン送信元の一般ノードに以後再度トークンが巡回してくることはない。
【０１１１】
なお、図２２の例では、データを含むトークン送信時刻ｔｄ及びシーケンスナンバーｓｄの記録（ｓ２２３）から１巡目での処理を（ｓ２２５）に示したが、図２２に示す処理は繰り返し実行される。
【０１１２】
また、本実施形態では時間による判定とシーケンスナンバーによる判定の双方のいずれかが離脱と判定された場合に離脱判定処理を行う例を示したが、これに限定されず、時間による判定とシーケンスナンバーによる判定の双方で離脱と判定された場合のみ離脱判定処理を行うようにしてもよい。また、時間、シーケンスナンバー以外の要素に基づき離脱判定を行ってもよい。さらに、時間による判定のみを離脱判定処理に用いてシーケンスナンバーによる判定を省略してもよいし、逆にシーケンスナンバーによる判定のみを離脱判定処理に用いて時間による判定を省略してもよい。
【０１１３】
以上に示される自主的リング離脱方式の作用効果を一般的なＷＴＲＰのリング離脱の基本的動作を説明するための図２７と対比しながら説明する。図２７に示すように、（ｓ２７１）、（ｓ２７２）によりリングマスターＡＰ、一般ノードＤを経由してトークンを受信した一般ノードＢは、離脱をする場合には、離脱フラグを含む離脱トークンをトークン送信元の一般ノードＤに送り返す（ｓ２７３）。一般ノードＤは、受信した離脱トークンに基づき一般ノードＢを含めない巡回順序で一般ノードＣにトークンを送信し（ｓ２７４）、一般ノードＣはリングマスターＡＰに送信する（ｓ２７５）。これにより、その後のトークン巡回順序は（ｓ２７６）、（ｓ２７７）、（ｓ２７８）のように、一般ノードＢを含めない順序で形成される。しかしながら、この離脱方式を適用する場合、各一般ノードは、離脱トークンを受け取った場合のアルゴリズムが必要となる。すなわち、トークン送信先からトークンを再度受信するという通常のトークン巡回とは異なるシーケンスを採用することとなり、その処理のためのアルゴリズムが必要となる。
【０１１４】
これに対して本実施形態の自主的リング離脱方式の場合、リング離脱の場合も通常のトークン巡回と同様に決定された次ノードにトークンが巡回されるため、トークン送信先からトークンを再度受信するという通常のトークン巡回とは異なるシーケンスに対応するための新たなアルゴリズムを必要としない。また、通常のトークン巡回と同様の順序で次ノードに離脱トークンが送信されるため、送信元の一般ノードにトークンを再度送りもどす時間が不要となり、トークン巡回時間を短縮することができる。
【０１１５】
このように、本実施形態の自主的リング離脱方式では、圏外への移動による離脱などの場合と異なり、通常のトークン巡回手順の中で余計な待ち時間を消費せずにリングからの離脱が可能であるため、ラウンドタイムＲＴのばらつきの原因であるトークンの再送回数を抑制することができる。
【０１１６】
次に、自主的リング参加方式について説明する。  
図２３は、一般ノードにおける自主的リング参加動作のフローチャートを示す図である。
【０１１７】
この自主的リング参加動作は、例えば第１実施形態の図１（ｂ）に示されるシーケンスに適用される。図２３に示すように、一般ノードがリング広告ＲＡＤを受信すると（ｓ２３１）、その一般ノードのリング参加部２５は、送信データが存在するか否かを例えば上位レイヤに問い合わせを行う等により判定する（ｓ２３２）。例えば上位レイヤからデータ送信要求を受けているか否かにより判定してもよい。この場合、データ送信要求の有無は、リング参加部２５がトークン受渡制御部２１に問い合わせてもよい。
【０１１８】
送信データが存在する場合には、登録要求ＲＲｑを送信し（ｓ２３３）。送信データが存在しない場合には、登録要求ＲＲｑを送信しない。
【０１１９】
このように、上位レイヤからのデータが存在しない場合にリング参加を表明しない、すなわち登録要求ＲＲｑを送信しないことで、データ送信のないノードが送信権を受け取れる権利であるリングへの参加状態に入らないようにすることができる。その結果、例えば図１７に示すように、データ送信の有無に基づく登録要求ＲＲｑ送信の可否を判定しない場合に比較して、サービスの恩恵を受けられるノード数が増す。
【０１２０】
なお、本実施形態は第１実施形態の図１（ｂ）や図１０に示されるリング参加処理（ｓ１１）とともに適用可能である。例えば、図１０に示されるリング参加処理（ｓ１１）の中で、いずれかのステップの前あるいは後に、（ｓ２３２）に示す判定処理と、その判定結果に基づく登録要求ＲＲｑの送信／非送信の分岐処理を追加すればよい。これにより、データ送信要求の有無を加味したリング参加処理が可能となる。
【０１２１】
このように本実施形態によれば、貴重なリソースである送信権の獲得機会をデータの送受信がないノードに占有される可能性が低減される。
【０１２２】
（第４実施形態）
本実施形態は第１実施形態の変形例に係わる。本実施形態は、帯域の使用状況に応じたサービス許容量の最適化処理に関する。
【０１２３】
第１実施形態のラウンドタイムＲＴに応じてマックスリングサイズＭＡＸ−ＲＳを変更し（図１１）、コンテンションタイムＣＷはラウンドタイムＲＴに無関係に参加要求ＲＲｑの衝突の有無に応じて変更した（図１２）が、本実施形態では、リングサイズＲＳを規定せず、ラウンドタイムＲＴに応じてコンテンションタイムＣＷを変更する。
【０１２４】
図２４は本実施形態のリングマスターにおけるサービス許容量最適化処理の処理の一例を示す図である。図２４に示すように、リングマスターＡＰのリング制御部１５は、トークンを受信（ｓ２４１）すると、トークン受信時からトークン送信時を差し引くことにより、トークンが一巡するラウンドタイムＲＴを算出する（ｓ２４２）。
【０１２５】
次に、リング制御部１５は、記憶装置１５ａに格納された最大ラウンドタイムｍａｘＴｈを読み出し、ＲＴ＞ｍａｘＴｈか否かを判定する（ｓ２４３）。
【０１２６】
ＲＴ＞ｍａｘＴｈの場合、ラウンドタイムＲＴはｍａｘＴｈを超えており、長すぎると判断されるため、コンテンションタイムＣＷ＝０に設定する（ｓ２４４）。これにより、参加募集がなされない。
【０１２７】
一方、ＲＴ≦ｍａｘＴｈの場合、最大ラウンドタイムｍａｘＴｈとラウンドタイムＲＴの差分値ｍａｘＴｈ−ＲＴ−ＴＲＡＤをＣＷ×ＴＲＲｑに設定する（ｓ２４５）。ここで、ＲＴは、リングマスターから一般ノードにトークンが巡回し、リングマスターにトークンが戻るまでのラウンドタイムであり、ＲＡＤ送信時間ＴＲＡＤは、リングマスターがリング広告ＲＡＤを送信するのに要する時間であり、ＲＲｑ応答可能時間ＴＲＲｑは、一般ノードがリング広告ＲＡＤに応じて登録要求ＲＲｑを送信して応答することができる時間である。ＲＲｑ応答時間ＴＲＲｑは、ＣＷに登録要求ＲＲｑを１フレーム送信するのに要する時間（タイムスロットｔ）を乗算した値で決定される。
【０１２８】
以上、（ｓ２４４）及び（ｓ２４５）におけるＣＷの設定終了後、トークンを一般ノードに送信する（ｓ２４６）。
【０１２９】
第１実施形態の構成の場合、図１１及び図１２に示すように、確実にリング参加が行われることに主眼を置き、ＣＷをラウンドタイムＲＴに無関係に変更している。しかしながら、この図１１及び図１２の例の場合、参加要求ＲＲｑの衝突が頻発した場合には、ラウンドタイムＲＴが大幅に上昇する場合が考えられ、この場合には別途ＣＷを制御する必要がある。
【０１３０】
これに対して本実施形態の場合、ＭＡＸ−ＲＳとＣＷを同時に制御する必要がなくなり、より簡単に系の設定を変更することができる。
【０１３１】
また、第１実施形態の図１１及び図１２の構成の場合、ラウンドタイムＲＴの保証をＭＡＸ−ＲＳに基づき行っているが、リングサイズでは各一般ノードの送信するデータサイズに依存して使用時間が増減するため、ラウンドタイムＲＴのばらつき制御の精度が粗かった。
【０１３２】
これに対して本実施形態の場合、固定的な使用時間を持つＣＷをラウンドタイムＲＴに応じて増減させるので、遅延時間のばらつきをさらに低減することができる。その結果、ＱｏＳ（Quality of Service）を保証しながら、トラフィックの状況に合わせつつ、なるべく多くのノードにデータリンクレイヤサービスを提供することができる。
【０１３３】
（第５実施形態）
本実施形態は第１実施形態の変形例に係わる。本実施形態は、各ノードの移動に起因して起こり得るリングマスターの電波範囲からの離脱を判定することにより、リングマスターの電波範囲外のノードにトークンが巡回しないようにしてトークンの紛失機会を低減する。
【０１３４】
図２５は本実施形態の一般ノードにおける離脱判定処理を説明するための図である。
【０１３５】
図２５に示すように、まず（ｓ２５１）、（ｓ２５２）、（ｓ２５３）及び（ｓ２５４）に示すように、リングマスターＡＰから一般ノードＢ，Ａ，Ｃを経由してリングマスターＡＰまでトークンが一巡したとする。また、各トークン巡回ごとに、そのトークン巡回のはじめにリングマスターＡＰから各一般ノードＡ，Ｂ，Ｃにシーケンスナンバーｓｍが配布されている。これは、例えばリングマスターＡＰから一般ノードＢへ送信するマスタートークンに含めてもよい。
【０１３６】
次に２巡目に入り、リングマスターＡＰから一般ノードＢにトークンが送信され（ｓ２５５）、さらに一般ノードＢから一般ノードＡにトークンが送信される（ｓ２５６）。以下、リングマスターＡＰから送信されるトークンをマスタートークンと呼ぶ。
【０１３７】
ここで、（ｓ２５３）に示した一般ノードＡから一般ノードＣへのトークン送信の後から、（ｓ２５６）に示される一般ノードＡへの一般ノードＢからのトークンの送信の前までに、一般ノードＡがリングマスターＡＰの電波範囲内から電波範囲外に移動した場合でかつ一般ノードＡが一般ノードＢの電波範囲内にある場合を想定する。この場合、一般ノードＡは、リングマスターＡＰからのシーケンスナンバーｓｍとトークンに含まれるシーケンスナンバーｓｇを比較し、ｓｍ＝１、ｓｇ＝２となり一致しない。この場合、一般ノードＡは自身がリングマスターＡＰの電波範囲外に位置していると判定し、離脱する。離脱と判定した場合、一般ノードＡは他の一般ノードに対してトークンを送信しない。ここで、シーケンスナンバーｓｇは、一般ノード同士を送受されるトークン（以下、一般トークンと呼ぶ）に含まれる巡回回数であるが、実際にはリングマスターＡＰからのシーケンスナンバーｓｍと同一のものである。すなわち、自ノード宛のトークンに含まれるシーケンスナンバーはｓｇとして、リングマスターからのトークンに含まれるシーケンスナンバーはｓｍとして定義される。なお、一般トークンにこのシーケンスナンバーｓｇを含めず、各一般ノードが巡回回数をカウントしてシーケンスナンバーｓｇを記憶装置に記憶してもよい。巡回回数のカウントは、例えば自ノードを送信先とするトークンを受信する毎に、あるいは自ノードを送信元とするトークンを送信する毎にカウントすることにより得られる。
【０１３８】
一方、一般ノードＢは、一般ノードＡから他の一般ノードへのトークンの送信を、一般ノードＡへのトークン送信から一定時間、例えばＴｔｈ１の時間経過しても検出できない場合、一般ノードＡは離脱したと判定し、再度同じトークンを一般ノードＣに送信する（ｓ２５７）。
【０１３９】
図２６は一般ノードにおける離脱判定処理のフローチャートの一例を示す図である。
【０１４０】
図２６に示すように、リングマスターＡＰからマスターシーケンスナンバーｓｍを含むマスタートークンを受信すると（ｓ２６１）、このマスターシーケンスナンバーｓｍを記憶装置に格納する（ｓ２６２）。
【０１４１】
一方、他の一般ノードからトークンを受信（ｓ２６３）すると、離脱判定を行う（ｓ２６４）。具体的には、一般ノードから受信したトークンに含まれるシーケンスナンバーｓｇと、記憶装置に格納されたマスターシーケンスナンバーｓｍを比較し、一致する場合には離脱しないと判定し、他の一般ノードにトークンを送信する（ｓ２６５）。一致しない場合には離脱すると判定し、トークンを送信せずに破棄し、リング離脱状態に遷移する。
【０１４２】
（ｓ２６５）で他の一般ノードにトークンを送信した場合、送信元である一般ノードは送信時刻ｔｔｒを記憶装置に格納する。そして、送信先一般ノードの離脱判定を行う（ｓ２６６）。具体的には、現在時刻ｔｎと比較し、ｔｎ−ｔｔｒ＞Ｔｔｈ１になっても送信先の一般ノードから他の一般ノードへのトークン送信を検出できない場合、すなわちそのように送信されたトークンを傍受できない場合には、送信先の一般ノードは離脱したと判定し、近隣ノードリスト２２１から離脱したと判定した一般ノードを削除（ｓ２６７）した上で、近隣ノードリスト２２１から他の一般ノードを選択して再度同じトークンを送信する（ｓ２６８）。
【０１４３】
一方、（ｓ２６６）の判定で、ｔｎ−ｔｔｒ≦Ｔｔｈ１のうちに送信先の一般ノードから他の一般ノードへのトークン送信を検出した場合、送信先の一般ノードは離脱していないと判定し、再度のトークン送信は行うことなく終了する。
【０１４４】
なお、図２６に示した処理は、リングマスターＡＰの電波範囲内にある一般ノードについての処理であり、電波範囲外にある一般ノードの場合、例えば（ｓ２６１）に示されるマスタートークンの受信を行うことができなくなる。したがって、（ｓ２６６）の離脱判定では、ｓｇ≠ｓｍとなり、離脱判定とされる。
【０１４５】
無線のような通信可能範囲が明確でない環境では、ノードが意識せずにリングマスターＡＰの電波範囲から外れてしまう可能性があるが、本実施形態のように電波範囲からの離脱を判定することにより、電波範囲外のノードを経由してトークンが巡回しないようにでき、トークンの紛失機会を低減することができる。
【産業上の利用可能性】
【０１４６】
以上説明したようにこの発明は、無線伝送路のような信頼性の低い伝送路において、トークンパッシング方式を効率的に利用できるようにする無線伝送路におけるアクセス制御方法の技術分野、アクセス制御プログラム及びデータ伝送装置の技術分野に有効である。
【図面の簡単な説明】
【０１４７】
【図１】本発明の第１実施形態に係る無線伝送路のアクセス制御方法が適用されるデータ伝送システムの全体構成を示す図。
【図２】同実施形態に係るリングマスターの詳細な構成の一例を示す図。
【図３】同実施形態に係る一般ノードの詳細な構成の一例を示す図。
【図４】同実施形態に係るトークン巡回動作の一例を示す図。
【図５】同実施形態に係る次ノード決定の動作を説明するための図
【図６】同実施形態に係るリング離脱時の作用効果を説明するための図。
【図７】同実施形態に係る隠れ端末状態発生時の作用効果を説明するための図。
【図８】同実施形態に係る待ち行列機能による動作を説明するための図。
【図９】同実施形態に係る参加承認処理の具体的な処理フローを示す図。
【図１０】同実施形態に係るリング参加処理の具体的な処理フローを示す図。
【図１１】同実施形態に係る最大リングサイズの調整処理のフローを示す図。
【図１２】同実施形態に係るＣＷ調整処理の具体的な処理フローを示す図。
【図１３】従来のＷＴＲＰの問題点を説明する図。
【図１４】従来のＷＴＲＰの問題点を説明する図。
【図１５】従来のＷＴＲＰの問題点を説明する図。
【図１６】従来のＷＴＲＰの問題点を説明する図。
【図１７】従来のＷＴＲＰの問題点を説明する図。
【図１８】従来のＷＴＲＰの問題点を説明する図。
【図１９】従来のＷＴＲＰの問題点を説明する図。
【図２０】本発明の第２実施形態に係る一般ノードのノード削除処理のフローチャートを示す図。
【図２１】本発明の第３実施形態に係る自主的リング離脱動作を説明するための図。
【図２２】同実施形態に係る一般ノードの自主的リング離脱処理のフローチャートを示す図。
【図２３】同実施形態に係る一般ノードのリング参加処理のフローチャートを示す図。
【図２４】本発明の第４実施形態に係るリングマスターにおけるサービス許容量最適化処理のフローチャートを示す図。
【図２５】本発明の第５実施形態に係る離脱判定処理を説明するための図。
【図２６】同実施形態に係る一般ノードにおける離脱判定処理のフローチャートの一例を示す図。
【図２７】ＷＴＲＰの一般的なリング離脱の基本動作を説明するための図。
【符号の説明】
【０１４８】
１１，２１…トークン受渡制御部、１２，２２…近隣ノード管理部、１３，２３…トークン監視部、１４，２４…送受信制御部、１５…リング制御部、２５…リング参加部
【図１】
2004312665.tif 000003
【図２】
2004312665.tif 000004
【図３】
2004312665.tif 000005
【図４】
2004312665.tif 000006
【図５】
2004312665.tif 000007
【図６】
2004312665.tif 000008
【図７】
2004312665.tif 000009
【図８】
2004312665.tif 000010
【図９】
2004312665.tif 000011
【図１０】
2004312665.tif 000012
【図１１】
2004312665.tif 000013
【図１２】
2004312665.tif 000014
【図１３】
2004312665.tif 000015
【図１４】
2004312665.tif 000016
【図１５】
2004312665.tif 000017
【図１６】
2004312665.tif 000018
【図１７】
2004312665.tif 000019
【図１８】
2004312665.tif 000020
【図１９】
2004312665.tif 000021
【図２０】
2004312665.tif 000022
【図２１】
2004312665.tif 000023
【図２２】
2004312665.tif 000024
【図２３】
2004312665.tif 000025
【図２４】
2004312665.tif 000026
【図２５】
2004312665.tif 000027
【図２６】
2004312665.tif 000028
【図２７】
2004312665.tif 000029