(57)【要約】  位置及び事象追跡システムは、競技フィールド、例えばバスケットボールコート上の無線対応アンカ及びタグを含む。タグは、選手及びボール又は他の試合競技対象に付加される。本システムは、タグのそれぞれの空間内での位置を判定する。試合競技対象に接続されるタグでは、本システムは、選手に対する近さを評価して試合競技対象の保持を判断する。試合競技対象のタグが、選手が対象を保持するのに十分に選手に近くない場合、試合競技対象の位置が評価されて、試合競技対象がゴールゾーン領域内にあるかどうかを判定する。試合競技対象がゴールゾーン領域内にあり、及び試合競技対象がアテンプトゾーン、即ちゴールゾーン領域内の下位ゾーン内にあった場合、システムは、試合競技対象がゴール前の、ゴールにおける、及びゴール後の幾つかの下位領域を順番に通過したかどうかを評価することにより、ゴールが決まったかどうかを判定する。【選択図】図３
2019501745.tif 000002
【特許請求の範囲】
【請求項１】
スポーツ活動において選手がゴールを決めたかどうかを判定するための方法であって、１）前記スポーツ活動に関与する複数の選手のそれぞれは、前記複数の選手のそれぞれに関連する遠隔的に識別可能な選手タグを有し、２）競技フィールド内で扱われ、かつ、ゴールを通過させることによって得点するために使用される試合競技対象は、前記試合競技対象に関連する遠隔的に識別可能な対象タグを有し、前記方法は、
前記選手のそれぞれ及び前記試合競技対象の三次元空間内での位置を、それらの関連するタグによって識別することと、
前記選手及び前記試合競技対象の前記識別された位置を使用して前記選手に対する前記試合競技対象の近さを評価して、前記選手の何れかが前記試合競技対象を保持しているかどうかを判断することと、
何れの選手も、前記試合競技対象を保持するのに十分に前記試合競技対象に近くない場合、前記試合競技対象がゴールゾーン領域内にあるかどうかを判定することであって、前記ゴールゾーン領域は、前記ゴールを取り囲む既定の限定された空間領域を含む、判定することと、
前記試合競技対象が前記ゴールゾーン領域内にあると判定される場合、前記試合競技対象がアテンプトゾーン内にあったかどうかを判定することであって、前記アテンプトゾーンは、前記ゴールゾーン領域内の及び前記ゴールを取り囲むより小さい既定の限定された空間領域を含む、判定することと、
前記試合競技対象が前記ゴールゾーン内にあり、かつ、前記アテンプトゾーン内にあったと判定される場合、前記試合競技対象が前記ゴール前の、前記ゴールにおける、及び前記ゴール後の複数の既定の個別の下位領域を順番に通過したかどうかを評価することにより、ゴールが決まったかどうかを判定することであって、前記複数の下位領域は、前記アテンプトゾーン内にある、判定することと、
前記試合競技対象が前記ゴール前の、前記ゴールにおける、及び前記ゴール後の前記複数の既定の個別の下位領域を順番に通過した場合、得点が決まったことを示すことと、を含む、方法。
【請求項２】
得点した選手として、ボールを保持していた最後の選手を識別することを更に含む、請求項１に記載の方法。
【請求項３】
前記選手に対する前記試合競技対象の近さを前記評価することは、前記試合競技対象を保持している推定上の選手を取り囲む１つの空間領域を使用して、前記保持している推定上の選手に対する前記試合競技対象の近さを評価し、かつ、前記試合競技対象を保持している前記推定上の選手が前記試合競技対象を保持したかどうかを判定し、
前記選手に対する前記試合競技対象の近さを前記評価することは、前記試合競技対象を保持していると判定されている選手を取り囲む別のより大きい空間領域を使用して、前記試合競技対象を保持していると判定されている前記選手に対する前記試合競技対象の近さを評価し、かつ、前記試合競技対象を保持していると判定されている前記選手が前記試合競技対象を依然として保持しているかどうかを判定する、請求項１に記載の方法。
【請求項４】
前記別のより大きい空間領域は、前記１つの空間領域が有するよりも大きい、前記試合競技対象の保持が認められる許容水平距離を有する、請求項３に記載の方法。
【請求項５】
前記別のより大きい空間領域は、前記１つの空間領域が有するよりも大きい、前記試合競技対象の保持が認められる許容垂直範囲を有する、請求項３に記載の方法。
【請求項６】
前記選手の何れかが前記試合競技対象を保持しているかどうかを判断することは、前記試合競技対象を推定上保持していると識別されている選手の周りの既定の空間領域内に前記試合競技対象がどの程度長くあるかを判断することを含む、請求項１に記載の方法。
【請求項７】
前記試合競技対象に最も近い選手を前記複数の選手の中から識別することを更に含む、請求項１に記載の方法。
【請求項８】
前記試合競技対象に最も近い前記選手は、前記試合競技対象が前記試合競技対象に最も近い前記選手から既定の水平距離内にある場合にのみ、前記試合競技対象を保持していると判定される、請求項７に記載の方法。
【請求項９】
前記試合競技対象に最も近い前記選手は、前記試合競技対象が前記試合競技対象に最も近い前記選手から既定の垂直距離内にある場合にのみ、前記試合競技対象を保持していると判定される、請求項７に記載の方法。
【請求項１０】
第２のゴールは、前記競技フィールド内に存在し、前記第２のゴールは、第２のゴールゾーン領域によって取り囲まれており、及び
前記試合競技対象がゴールゾーン領域内にあるかどうかを評価することは、前記試合競技対象が前記第２のゴール領域内にあるかどうかを判定することを含む、請求項１に記載の方法。
【請求項１１】
前記選手タグ及び前記対象タグは、無線対応トランシーバを含み、複数の無線対応アンカトランシーバは、前記競技フィールドの周りで知られている位置において分散され、
前記選手のそれぞれの三次元空間内での前記位置は、前記選手タグと前記アンカトランシーバとの間の無線通信によって識別され、及び前記試合競技対象の三次元空間内での前記位置は、前記対象タグと前記アンカトランシーバとの間の無線通信によって識別される、請求項１に記載の方法。
【請求項１２】
少なくとも１つのゴールを含む競技フィールド上の選手及び試合競技対象を追跡し、かつ、得点が決まったかどうかを判定するためのシステムであって、
複数の選手タグ及び対象タグと、
前記選手タグ及び前記対象タグを遠隔的に検出することができる複数のセンサと、
計算装置であって、プロセッサと、前記計算装置のコンピュータメモリ内に含まれる非一時的プログラム命令とを有する計算装置と、を含み、前記非一時的プログラム命令は、
前記複数のセンサからデータを受信することと、
前記受信されたデータから、前記選手のそれぞれ及び前記試合競技対象の三次元空間内での位置を、それらの関連するタグによって識別することと、
前記選手及び前記試合競技対象の前記識別された位置を使用して前記選手に対する前記試合競技対象の近さを評価して、前記選手の何れかが前記試合競技対象を保持しているかどうかを判断することと、
何れの選手も、前記試合競技対象を保持するのに十分に前記試合競技対象に近くない場合、前記試合競技対象がゴールゾーン領域内にあるかどうかを評価することであって、前記ゴールゾーン領域は、前記ゴールを取り囲む既定の限定された空間領域である、評価することと、
前記試合競技対象が前記ゴールゾーン領域内にあると判定される場合、前記試合競技対象がアテンプトゾーン内にあったかどうかを評価することであって、前記アテンプトゾーンは、前記ゴールゾーン領域内の及び前記ゴールを取り囲むより小さい既定の限定された空間領域である、評価することと、
前記試合競技対象が前記ゴールゾーン内にあり、かつ、前記アテンプトゾーン内にあったと判定される場合、前記試合競技対象が前記ゴール前の、前記ゴールにおける、及び前記ゴール後の複数の既定の個別の下位領域を順番に通過したかどうかを評価することにより、ゴールが決まったかどうかを判定することであって、前記複数の下位領域は、前記アテンプトゾーン内にある、判定することと、
前記試合競技対象が前記ゴール前の、前記ゴールにおける、及び前記ゴール後の前記複数の既定の個別の下位領域を順番に通過した場合、得点が決まったことを示すことと、を含むステップを前記プロセッサに実行させるように構成される、システム。
【請求項１３】
前記プログラム命令は、前記得点した選手として、ボールを保持していた最後の選手を識別するように更に構成される、請求項１２に記載のシステム。
【請求項１４】
メモリ内に記憶され、かつ、第１の保持ゾーン及び第２の保持ゾーンを規定するデータ構造を更に含み、
前記プログラム命令は、前記試合競技対象を保持している潜在的な選手を取り囲む空間領域である前記第１の保持ゾーンが、前記選手に対する前記試合競技対象の近さを評価して、前記選手の何れかが前記試合競技対象を推定上保持したかどうかを判断するために使用されように構成され、
前記プログラム命令は、前記第１の保持ゾーンよりも大きい空間領域であり、かつ、前記試合競技対象を保持していると判定されている選手を取り囲む第２の保持ゾーンが、前記試合競技対象を保持していると判定されている前記選手に対する前記試合競技対象の近さを評価して、前記試合競技対象を保持していると判定されている前記選手が前記試合競技対象を依然として保持しているかどうかを判断するために使用されるように構成される、請求項１２に記載のシステム。
【請求項１５】
前記第２の保持ゾーンは、前記第１の保持ゾーンが有するよりも大きい、前記試合競技対象の保持が認められる許容水平距離を有する、請求項１４に記載のシステム。
【請求項１６】
前記第２の保持ゾーンは、前記第１の保持ゾーンが有するよりも大きい、前記試合競技対象の保持が認められるより大きい許容垂直範囲を有する、請求項１４に記載のシステム。
【請求項１７】
前記プログラム命令は、前記選手の何れかが前記試合競技対象を保持しているかどうかを判断する前記プロセッサによって実行されるステップが、前記試合競技対象を推定上保持していると識別されている選手の周りの既定の空間領域内に前記試合競技対象がどの程度長くあるかを判断することを含むように構成される、請求項１２に記載のシステム。
【請求項１８】
前記プログラム命令は、前記選手の何れかが前記試合競技対象を保持しているかどうかを判断する前記プロセッサによって実行されるステップが、前記試合競技対象に最も近い選手を前記複数の選手の中から識別することを含むように構成される、請求項１２に記載のシステム。
【請求項１９】
前記プログラム命令は、前記試合競技対象に最も近い前記選手が、前記試合競技対象が前記試合競技対象に最も近い前記選手から既定の水平距離内にある場合にのみ、前記試合競技対象を保持していると判定されるように構成される、請求項１８に記載のシステム。
【請求項２０】
前記プログラム命令は、前記試合競技対象に最も近い前記選手が、前記試合競技対象が前記試合競技対象に最も近い前記選手から既定の垂直距離内にある場合にのみ、前記試合競技対象を保持していると判定されるように構成される、請求項１８に記載のシステム。
【請求項２１】
前記競技フィールド内の第２のゴールを更に含み、前記第２のゴールは、第２のゴールゾーン領域によって取り囲まれており、及び
前記プログラム命令は、前記試合競技対象が前記第２のゴールゾーン領域内にあるかどうかを判定するように更に構成される、請求項１２に記載のシステム。
【請求項２２】
前記プログラム命令は、
前記試合競技対象が以前に第２のアテンプトゾーン内にあったかどうかを判定することであって、前記第２のアテンプトゾーンは、前記第２のゴールゾーン領域内の及び前記第２のゴールを取り囲むより小さい既定の限定された空間領域を含む、判定することと、
（ａ）前記試合競技対象が前記第２のゴールゾーン領域及び前記第２のアテンプトゾーンの両方内にあったと判定され、かつ、（ｂ）前記試合競技対象が、前記第２のゴール前の、前記第２のゴールにおける、及び前記第２のゴール後の第２の複数の既定の個別の下位領域であって、前記第２のアテンプトゾーン内に位置する第２の複数の既定の個別の下位領域を順番に通過した場合、得点が生じたことを前記計算装置上で示すことと、を行うように更に構成される、請求項２１に記載のシステム。
【請求項２３】
前記選手タグ及び前記対象タグは、無線対応トランシーバを含み、及び前記複数のセンサは、前記選手タグ及び前記対象タグと電子的に通信することができる無線対応トランシーバを含み、
前記選手のそれぞれの三次元空間内での前記位置は、前記選手タグのトランシーバと前記センサのトランシーバとの間の無線通信によって識別され、及び前記試合競技対象の三次元空間内での前記位置は、前記対象タグのトランシーバと前記センサのトランシーバとの間の無線通信によって識別される、請求項１２に記載のシステム。
【請求項２４】
前記複数のセンサは、前記競技フィールドの周りに分散される、請求項１２に記載のシステム。
【請求項２５】
前記対象タグは、バスケットボール内に埋め込まれるか又はそれに付加される、請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スポーツの試合に関し、より具体的には、遠隔センサを使用して空間内の様々な対象（例えば、選手、ボール、ゴール等）を追跡し、かつ、試合に関係する１つ又は複数の事象をその発生時に「実時間」で識別するシステムに関する。
【背景技術】
【０００２】
全てではないが殆どのスポーツ活動について、個々の選手及び／又は選手のチームがどのようにパフォーマンスを発揮しているかを詳細に検討及び分析することは、パフォーマンスを改善するために極めて重要である。従って、競技フィールド（例えば、バスケットボールコートやホッケーリンク等）で起こる様々な事象を識別及び分析する能力を高めるツールが望ましい。加えて、試合で多くの選手とボール（「試合競技対象」）とが全て同時に動いている可能性があることを所与として、起きている全てのことを全て同時に明確に見ることは、バスケットボール等のペースの速いスポーツの一部のファンにとって困難であり得る。従って、スポーツの事象の動作をモニタ及び分析でき、ファン（更にはコーチ）が見るためにその分析結果が表示される限り、競技フィールド上での選手及び対象の位置及び動き並びに試合に関係する特定の事象の発生を自動でモニタし、追跡し、及び／又は、記録するシステム及び装置によってファンの試合の楽しみを著しく高めることができる。
【発明の概要】
【０００３】
本発明による実装の実施形態は、競技フィールド、例えばバスケットボールコート上の無線対応アンカ及びタグを含む位置及び事象追跡システムを特徴とする。タグは、選手及びボール又は他の試合競技対象に付加される。本システムは、タグのそれぞれの空間内での位置を判定及び評価する。本システムは、選手と試合競技対象に関連するタグとの近さを評価して、所与の選手が試合競技対象を保持しているかどうかを判断する。試合競技対象のタグが、選手が対象を保持するのに十分に選手に近くない場合、試合競技対象の位置が評価されて、試合競技対象が実際のゴール（例えば、バスケットボールの場合にはバスケットボールリング）を取り囲む既定の限定された空間領域であるゴールゾーン領域内にあるかどうかを判定する。試合競技対象がゴールゾーン領域内にあり、かつ、アテンプトゾーン（即ちゴールゾーン領域内の下位ゾーン）内にあった場合、システムは、試合競技対象が、実際のゴール前の、実際のゴールにおける、及び実際のゴール後の幾つかの下位領域を順番に通過したかどうかを評価することにより、ゴールが決まったかどうかを判定する。このようにして、ゴールが決まったかどうかに関する判定の精度を改善する。
【０００４】
本発明に関連して、実際のゴール前の下位領域は、実際のゴールの直前、即ちバスケットボールではリングの上、又は、サッカー若しくはホッケーではゴールの前にある空間領域である。換言すれば、かかる空間領域は、試合競技対象がゴールに入るために通過しなければならない空間領域であり、ゴール面に至るまで広がり得る。実際のゴールにおける下位領域は、実際のゴールによって占有される空間と同一の広がりを有し得る空間領域であり、又は、（ゴール面に直交する方向に捉えて）実際のゴールよりも僅かに幅広であり得る。実際のゴール後の下位領域は、ゴール面に直交する方向に捉えてゴールにおける下位領域後に続く空間領域であり、（時系列的に）試合競技対象がゴールにおける下位領域を通過した後にゴール後の下位領域を通過するという意味でゴールにおける下位領域後に続く。従って、ゴール後の下位領域は、バスケットボールではリングの下である一方、ホッケー又はサッカーでは矩形のゴールポストの後ろである。
【０００５】
従って、一態様では、本発明は、スポーツ活動において選手がゴールを決めたと判定するための方法を特徴とする。スポーツ活動に関与する選手のそれぞれは、選手のそれぞれに関連する遠隔的に識別可能な選手タグを有し、例えば着用し、バスケットボール等の試合競技対象は、かかる対象に関連する遠隔的に識別可能な対象タグを有する。本方法は、選手のそれぞれ及び試合競技対象の三次元空間内での位置を、それらの関連するタグによって識別することと、選手及び試合競技対象の識別された位置を使用して選手に対する試合競技対象の近さを評価して、選手の何れかが試合競技対象を保持しているかどうかを判断することと、を含む。何れの選手も、試合競技対象を保持するのに十分に試合競技対象に近くない場合、システムは、試合競技対象がゴールゾーン領域内にあるかどうかを判定する。ゴールゾーン領域は、ゴールを取り囲む既定の限定された空間領域である。試合競技対象がゴールゾーン領域内にあると判定される場合、システムは、試合競技対象が以前にアテンプトゾーン内にあったかどうかを評価する。アテンプトゾーンは、ゴールゾーン領域内の、またゴールを取り囲むより小さい既定の限定された空間領域である。試合競技対象がゴールゾーン領域内にあり、かつ、以前にアテンプトゾーン内にあったと判定される場合、システムは、試合競技対象が、実際のゴール前の、実際のゴールにおける、及び実際のゴール後の幾つかの既定の個別の下位領域を順番に通過したかどうかを判定し、それらの下位領域については上記で説明した。試合競技対象がそれらの下位領域を順番に通過した場合、選手がゴールを決めたという事実を示すことができる。
【０００６】
本発明の方法の実施形態では、試合競技対象を保持していた最後の選手は、ゴールを決めた選手であるものとして示される。更に、試合競技対象を保持している潜在的な選手を取り囲む１つの空間領域は、選手に対する試合競技対象の近さを評価して、選手の何れかが試合競技対象を推定上保持したかどうかを判断するために使用され得、試合競技対象を保持していると判定されている選手を取り囲む別のより大きい空間領域は、試合競技対象を保持していると判定されている選手に対する試合競技対象の近さを評価して、試合競技対象を保持していると判定されている選手が試合競技対象を依然として保持しているかどうかを判断するために使用される。より大きい空間領域は、保持が存在すると判定される水平距離に関して、保持が存在すると判定される垂直距離に関して、又は、その両方に関してより大きいものとすることができる。
【０００７】
また更に、本発明の方法の実施形態では、選手の何れかが試合競技対象を保持しているかどうかを判断することは、試合競技対象を推定上保持していると識別されている選手の周りの既定の空間領域内に試合競技対象がどの程度長くあるかを判断することを含み得、それは、試合競技対象を（推定上）保持している選手として、試合競技対象に最も近い選手を識別することに基づき得、それは、試合競技対象が既定の垂直距離及び／又は水平距離よりも短く選手から離れて位置することを確実にすることを含み得、可能ではないであろう。
【０００８】
競技フィールド内に複数のゴールがある場合、本方法の実施形態は、試合競技対象がゴールのそれぞれを取り囲むゴールゾーン領域内にあるかどうかを評価して、ゴールが決まったかどうかについて評価されるべき特定のゴールゾーンを識別することを含み得る。
【０００９】
別の態様では、本発明は、競技フィールド上の選手及び試合競技対象を追跡し、かつ、ゴールが決まったかどうかを判定するためのシステムを特徴とする。本システムは、複数の選手タグ及び対象タグと、選手タグ及び対象タグを遠隔的に検出することができる複数のセンサと、を含む。本システムは、計算装置であって、プロセッサと、計算装置のコンピュータメモリ内に含まれる非一時的プログラム命令とを有する計算装置を更に含む。プログラム命令は、上記の方法ステップを実行するように構成され、本システムの特定の実施形態は、本発明の方法の特定の実施形態に関して上記で説明した様々な方法ステップを実装する。
【００１０】
本発明の方法及びシステムは、選手がゴールを決めたかどうかに関して非常に厳密に判定することと共に、競技フィールド上の選手及びボール又は他の試合競技対象の位置を非常に正確に無線で追跡することを可能にする。これは、選手及び／又はコーチが選手のパフォーマンスをモニタ及び評価する能力、並びに、選手が競技するのを観ている可能性があるファンの楽しみを高める。
【００１１】
図面の簡単な説明
本発明のこれらの及び他の特徴は、以下の詳細な説明及び図面からより明確になる。
【図面の簡単な説明】
【００１２】
【図１Ａ】本発明を実践するための（バスケットボールコートにおける）位置及び事象追跡実装を示す概略的な平面図である。
【図１Ｂ】本発明を実践するための（バスケットボールコートにおける）位置及び事象追跡実装を示す概略的な側面図である。
【図２】本発明による、バスケットボールコートを表すオブジェクト指向データ構造のパラメータを示す図である。
【図３】本発明による、バスケットボールリングの周りの様々なゾーンを示す側面図である。
【図４】本発明による、バスケットボールの選手を表すオブジェクト指向データ構造のパラメータを示す図である。
【図５】本発明による、バスケットボールを表すオブジェクト指向データ構造のパラメータを示す図である。
【図６】本発明による、タグ位置データの処理を示す高レベルフローチャートである。
【図７】本発明による、選手に関連するタグ位置データの処理を示すフローチャートである。
【図８Ａ】本発明による、ボールに関連するタグ位置データの処理を示すフローチャートである。
【図８Ｂ】本発明による、ボールに関連するタグ位置データの処理を示すフローチャートである。
【図９Ａ】選手の周りのボール保持ゾーン及びボール保有ゾーンを示す側面図である。
【図９Ｂ】選手の周りのボール保持ゾーン及びボール保有ゾーンを示す平面図である。
【図１０】本発明による、ボールを保持している選手を識別するためにボールに関連するタグ位置データを処理することを示すフローチャートである。
【図１１】本発明による、シュートの試み及び成功したシュートを識別するためにボールに関連するタグ位置データを処理することを示すフローチャートである。
【図１２】本発明による、シュートの試み及び成功したシュートを識別するためにボールに関連するタグ位置データを処理することを示すフローチャートである。
【図１３】本発明の一実装形態で使用することができる無線通信用の時分割ブロックの構造を表す図である。
【図１４】図１Ａ及び図１Ｂに示したネットワーク内のノード間の双方向測距トランザクション内のパケット伝送に関する伝達の順序及び方向を示す高レベル図である。
【図１５Ａ】本発明の一実装形態によって実行される、タグノードに関する様々な状態及び機能を示す高レベル状態図である。
【図１５Ｂ】本発明の一実装形態によって実行される、マスタアンカノードに関する様々な状態及び機能を示す高レベル状態図である。
【図１６】本発明の一実装形態における各種のデータ伝送パケット内で伝送され得る情報の幾つかを示す概略図を示す。
【図１７Ａ】本発明の一例示的実装形態において、タグノードによって実行されるデータ伝送制御プロセスに関する例示的アルゴリズムを示す高レベルフローチャートである。
【図１７Ｂ】本発明の一例示的実装形態において、マスタアンカノードによって実行されるデータ伝送制御プロセスに関する例示的アルゴリズムを示す高レベルフローチャートである。
【発明を実施するための形態】
【００１３】
本発明を実践するための実装１００を図１Ａ及び図１Ｂに示す。実装１００は、この場合、競技領域（例えば、バスケットボールコート１０２）及びコート１０２の周りの様々な場所に位置する１つ又は複数のゴール（例えば、バスケットボールリング／バスケット）Ｇ１、Ｇ２、．．．Ｇｎを有するバスケットボールの施設において実装されるが、本発明は、ゴールがホッケーのネット、野球のベース、フットボールのエンドゾーンライン等であり得るホッケー、野球、フットボール等の他のスポーツに関連して実装することもできる。１人又は複数の選手Ｐ１、Ｐ２、．．．Ｐｎがスポーツの事象に関与し、そのスポーツの事象は、図１Ａに示すように複数の選手が同時に練習すること、図１Ｂに示すように１人の選手のみが自分で練習すること、又は、実際の試合（不図示）を伴い得る。
【００１４】
図１Ａ及び図１Ｂに更に示すように、幾つかの超広帯域（ＵＷＢ）無線対応「アンカ」が競技領域の周りに位置する。それらのアンカは、「マスタ」アンカＡＭ、及び、競技領域の周りの複数の知られている位置に配置される幾つかの「スレーブ」アンカＡＳ１、ＡＳ２、．．．ＡＳｎを含む。様々なアンカは、例えばコート１０２上に支持されるパイロン又はスタンド上に搭載されることによって選手とほぼ同じレベルに位置することができ、又は、競技フィールド上に、例えば図１Ｂに示すようにスポーツ施設の垂木１０４内に位置し得る。
【００１５】
加えて、選手Ｐ１、Ｐ２、．．．Ｐｎのそれぞれは、ＵＷＢ無線対応タグＴ１、Ｔ２、．．．Ｔｎをそれぞれ着用し、所与の時点においてコート上で使用されているバスケットボール（総称的に「試合競技対象」と呼ぶ）のそれぞれは、その内部又は表面に位置する同様のＵＷＢ無線対応タグＢ１、Ｂ２、．．．Ｂｎを有する。様々なアンカは、様々なタグと、かつ、互いに双方向通信し、接続されたコンピュータ、モバイル装置（スマートフォン、タブレット、ラップトップコンピュータ等）、又は、遠隔サーバ（即ち「接続された計算装置」）１０６上で実行される関連する位置及び事象追跡アプリケーションを使用し、システムは、三次元空間内でのタグのそれぞれの位置を識別することができる。従って、タグのそれぞれがシステム内で選手又はボールに割り当てられるため、システムは、選手及びボールのそれぞれの三次元空間内での位置を判定することができる。
【００１６】
計算装置１０６に関して、計算装置１０６は、イーサネット（登録商標）接続、ＵＳＢ接続、Ｗｉ−Ｆｉ、インターネット、又は、計算装置１０６とアンカのシステムとの間の信号伝送を可能にする他の任意の適切なメカニズムによってアンカのシステムに接続され得る。加えて、代替的実施形態では、位置及び事象追跡アプリケーションは、様々なアンカの１つ、例えばマスタアンカＡＭ上に記憶されそこで実行され得る。
【００１７】
そのようなアンカ及びタグのシステムは、例えば、ＤＷＵＳＢシステム（http://www.ciholas.com/dwusb）とすることができ、ＤＷＵＳＢシステムは、バスケットボールコート１０２上の様々なバスケットボールの選手Ｐ１、Ｐ２、．．．Ｐｎ及びボールＢ１、Ｂ２、．．．Ｂｎの位置及び動きをモニタ及び追跡するために双方向の無線測距を使用するように構成することができ、Newburgh, IndianaのCiholas Inc.から市販されている。加えて、システム内の様々なタグとアンカとの間のデータ通信をよりよく調整するために、本発明者らは、ＤＷＵＳＢシステムを更に発展させた。本発明者らがそれをどのように行ったかについての各論は、この詳細な説明の末尾にある「タグとアンカとの間のデータ通信の調整」と題する節で説明する。
【００１８】
アンカのシステムは、様々なタグが様々なアンカに対してどこに位置するかを判定する。しかしながら、上記のようにアンカは、競技フィールドに対して厳密に知られている（即ち、測量されている）位置に配置される。従って、簡単な変換を使用し、システム（具体的には、追跡アプリケーションであり、これは、接続された計算装置１０６上で実行されている）は、様々なタグ、即ち選手Ｐ１、Ｐ２、．．．Ｐ３及びボールＢ１、Ｂ２、．．．Ｂ３が競技フィールドに対してどこに位置するかを判定することができる。
【００１９】
競技フィールド、選手、及びボール（即ち試合競技対象）に関する関連情報は、図２、図４、及び図５に示す様々なオブジェクト指向データ構造２００、４００、及び５００内に記憶される。適切には、データ構造２００、４００、及び５００は、位置及び事象追跡アプリケーションがあり、かつ、実行される計算装置１０６内のメモリ内に位置する。但し、コンピュータネットワーキング分野でよく知られているネットワーク及び技術を使用して遠隔サーバへの遠隔接続を確立することにより、必要に応じてアプリケーションがデータ構造からデータを取得しデータ構造にデータを記憶しながら、データ構造２００、４００、及び５００が他の場所、例えば遠隔サーバ上に位置することもできる。
【００２０】
図２に示すように、オブジェクト指向データ構造２００は、競技フィールド、例えばバスケットボールコートを表す。所与のコートについて、データ構造２００は、コートの識別番号２０２、並びにコートの四隅のそれぞれのＸ座標及びＹ座標２０４ａ、２０４ｂ、２０６ａ、２０６ｂ、２０８ａ、２０８ｂ、２１０ａ、及び２１０ｂを含む。計算を簡単にするために、コートの角の１つが０，０のＸ座標及びＹ座標を有し、残りの角がＸｍａｘ，０、Ｘｍａｘ、Ｙｍａｘ、及び０，ＹｍａｘのＸ座標及びＹ座標を有することが望ましい場合があり、かかる形態は、コート上の全ての位置を第１の完全に正象限のデカルト座標系内に「配置」する。或いは、原点０，０をコートの中央に位置決めした状態でコートをデータ構造２００内に構成することができる。
【００２１】
コートの角の位置に加えて、コートのデータ構造２００は、リングデータのアレイ２１２を含む。コートに関連するリングごとに、アレイ２１２は、リングの識別番号２１４に加えて、リング中央のＸ座標、Ｙ座標、及びＺ座標を位置データフィールド２１６、２１８、及び２２０のそれぞれの中に含む。
【００２２】
更に、コートのデータ構造２００は、リングのそれぞれを取り囲む様々な空間領域を規定する幾つかのパラメータのデータを含み、それらのパラメータは、以下でより詳細に説明するように位置及び事象追跡アプリケーションが得点（ゴール）の試み、成功した得点の試み、及び、敗した得点の試みを識別することを可能にする。具体的には、図３に示すように、幾つかの空間領域が、リング３０２の周りに、リング３０２の上に、及びリング３０２の下に規定されている。（図３は、リング３０２及びネット３０３を横から示す）。これらの空間領域は、リング３０２のＸ−Ｙ中央を通過する中央の縦軸（不図示）を有する円筒領域である全体的なゴールゾーン３０４を含む。ゴールゾーン３０４の半径Ｒは、ZONE_R_GOALデータフィールド２２４内で設定され、ゴールゾーン３０４の垂直範囲（幅）Ｗは、ZONE_W_GOALデータフィールド２２６内で設定される。（ゴールの周りの領域の大きさ及び形状はスポーツごとに異なる場合があり（例えば、ホッケーのゴールは概して矩形である）、システムの利用者によって構成可能であり得る）。加えて、ゴールゾーン３０４は、典型的には、リング３０２に対して垂直方向に中心を決定されないため、ゴールゾーン３０４の上端の垂直（即ちＺ軸）位置であるゴールゾーン３０４の上方境界３０６がZONE_GOAL_ZTOPデータフィールド２２８内で設定される。ゴールゾーン３０４にボールが入ったと判定されると、以下でより詳細に説明するように、位置及び事象追跡アプリケーションは、空間を通るボールの位置及び軌道を高精度で追跡するルーチンを実行して得点が決まったかどうかを判定する。
【００２３】
図３に示すように、ゴールゾーン３０４に加えて、アテンプトゾーン３０８、「得点」入口ゾーン３１０、「得点」ゾーン３１２、及び「得点」出口ゾーン３１４も、リング３０２を取り囲むようにリング３０２の真上に、リング３０２の箇所に、及びリング３０２の真下にそれぞれ規定されている。ゴールゾーン３０４のように、アテンプトゾーン３０８は、リング３０２のＸ−Ｙ中央を通過する中央の縦軸（不図示）を有する円筒領域である。アテンプトゾーン３０８の半径Ｒは、ZONE_R_ATTEMPTデータフィールド２３０内で設定され、アテンプトゾーン３０８の垂直範囲（幅）Ｗは、ZONE_W_ATTEMPTデータフィールド２３２内で設定される。加えて、アテンプトゾーン３０８は、典型的には、リング３０２に対して垂直方向に中心を決定されないため、アテンプトゾーン３０８の上端３０９の垂直（即ちＺ軸）位置であるアテンプトゾーン３０８の上方境界がZONE_ATTEMPT_ZTOPデータフィールド２３４内で設定される。
【００２４】
得点入口ゾーン３１０、得点ゾーン３１２、及び得点出口ゾーン３１４に関して、これらのゾーンも、リング３０２のＸ−Ｙ中央を通過する中央の縦軸（不図示）をそれぞれ有する円筒領域である。得点入口ゾーン３１０は、その下方境界がリングのＺ位置データフィールド２２０内で規定されるリング３０２の垂直位置と一致した状態でリング３０２の真上に「位置」する。得点入口ゾーン３１０は、ZONE_R_MAKEENTRYデータフィールド２３６内で設定される、リング３０２の半径よりも僅かに大きい半径Ｒと、ZONE_W_MAKEENTRYデータフィールド２３８内で設定される垂直範囲（幅）Ｗとを有する。得点ゾーン３１２は、その上方境界がリングのＺ位置データフィールド２２０内で規定されるリング３０２の垂直位置と一致した状態でリング３０２の真下に「位置」する。得点ゾーン３１２は、ZONE_R_MAKEデータフィールド２４０内で設定される、リング３０２とほぼ同じ半径ＲとZONE_W_MAKEデータフィールド２４２内で設定される垂直範囲（幅）Ｗとを有する。得点出口ゾーン３１４は、その上方境界が得点ゾーン３１２の下方境界と一致した状態で得点ゾーン３１２の真下に「位置」する。得点出口ゾーン３１４は、ZONE_R_MAKEEXITデータフィールド２４４内で設定される、リング３０２の半径よりも同じく僅かに大きい半径Ｒと、ZONE_W_MAKEEXITデータフィールド２４６内で設定される垂直範囲（幅）Ｗとを有する。（ボールが多くの場合に垂直に対して斜めにリング３０２に入り、そこから出ていくことを考慮するために、得点入口ゾーン３１０の半径及び得点出口ゾーン３１４の半径は、リング３０２／得点ゾーン３１２の半径よりも大きい。
【００２５】
図４に示すように、オブジェクト指向データ構造４００は、競技フィールド内の選手ごとに選手識別ＩＤデータフィールド４０２を含む。上記のように各選手は無線タグを着用する。従って、ＩＤデータフィールド４０２内のデータは、実質的に各選手が着用しているタグのタグ識別番号である。加えて、データ構造４００は、競技フィールド内の選手ごとに、選手のLOCATION_X_ARRアレイ（又は環状バッファ）４０４内のＸ位置、LOCATION_Y_ARRアレイ（又は環状バッファ）４０６内のＹ位置、及びLOCATION_Z_ARRアレイ（又は環状バッファ）４０８内のＺ位置に関する履歴情報を含む。以下でより詳細に説明するように、Ｘ位置、Ｙ位置、及びＺ位置の値は、例えば１０点移動平均による平滑化後にそのそれぞれのアレイ（又はバッファ）内に入れられる。各選手の位置に対応する日時データは、LOC_DATETIME_ARRアレイ４１０内に記憶される。
【００２６】
更に、データ構造４００は、所与の選手がバスケットボールを保持しているかどうかに関するフィールドを含む。（ボール保持状態の判定について以下で説明する）。具体的には、BALLデータフィールド４１２は、以下で説明するように選手が保持していると判定されるボールのタグＩＤ情報を含み、POSSESS_TIMEデータフィールド４１４は、選手がボールを保持している又は推定上ボールを保持している（以下でより詳細に説明する）時間の長さを示すデータを含む。また更に、以下で説明するように選手の位置データが処理されるとき、アレイインデックス位置を追跡するためにCUR_LOC_INDEXデータフィールド４１６が使用される。
【００２７】
図５に示すように、オブジェクト指向データ構造５００は、競技フィールド内にあり得るボールごとにボール識別ＩＤデータフィールド５０２を含む。上記のように、各ボールは、各ボール上の又は各ボール内に埋め込まれた無線タグを有する。従って、ＩＤデータフィールド５０２内のデータは、実質的に各ボールに関連付けられているタグのタグ識別番号である。加えて、データ構造５００は、競技フィールド内のボールごとに、ボールのLOCATION_X_ARRアレイ（又は環状バッファ）５０４内のＸ位置、LOCATION_Y_ARRアレイ（又は環状バッファ）５０６内のＹ位置、及びLOCATION_Z_ARRアレイ（又は環状バッファ）５０８内のＺ位置に関する履歴情報を含む。以下でより詳細に説明するように、Ｘ位置、Ｙ位置、及びＺ位置の値は、例えば１０点移動平均による平滑化後にそのそれぞれのアレイ（又はバッファ）内に入れられる。ボールの位置のそれぞれに対応する日時データは、LOC_DATETIME_ARRアレイ５１０内に記憶される。
【００２８】
データ構造５００は、ボールを保持している特定の選手を識別するPLAYERデータフィールド５１２、並びにボールを最後に保持していた選手を追跡するための前の選手データフィールドPREV_PLAYER５１４を更に含む。ボールが空中を移動している間、例えばシュートが試みられている間又はパス中には何れの選手もボールを保持しないため、PREV_PLAYERデータフィールド５１４が使用され、その期間中に保持している選手のPLAYERデータフィールド５１２がクリアされる。従って、以前に保持していた選手の情報をPREV_PLAYERデータフィールド５１４内に保つことは、誰がシュートを行ったか、誰が次の選手にボールをパスしたか、又は誰がボールを奪われたかをシステムが追跡することを可能にする。加えて、データ構造５００は、次の選手データフィールドNEXT_PLAYEＲ５１６を含み、次の選手データフィールドNEXT_PLAYER５１６は、以下でより詳細に説明するように、最小限の所要保持時間にわたってボールの近くに十分いると判定された時点でボールを有するものとして指定され得るのに十分にボールの近くにいる選手を識別する。
【００２９】
データ構造５００内の更なるフィールドは、バスケットボールのシュートが行われたかどうかを判定することに関し、シュートが行われている場合、そのシュートが成功したかどうかを判定することに関する。これらのフィールドは、ボールがゴールゾーン３０６に入ったかどうかを示すフラグを含むIN_GOAL_ZONEデータフィールド５１８、及びボールがゴールゾーンにいつ入ったかを履歴的な追跡目的で識別するDATETIME_GOALデータフィールドを含む。加えて、HOOP_IDデータフィールド５１９は、存在する場合、ボールが入ったゴールゾーンに関連する特定のリングを（リングＩＤ２１４によって）識別する。データフィールドIN_ATTEMPT_ZONE５２２は、ボールがアテンプトゾーン３０８に入ったかどうかを示すフラグを含み、データフィールドIS_ATTEMPT５２４は、偶然の出来事ではなく実際に行われたシュート（即ち試みられた得点）によってボールがアテンプトゾーン３０８に入ったかどうかを示すフラグを含む。データフィールドDATETIME_ATTEMPT５２６は、ボールがアテンプトゾーン３０８に入った日時を識別する情報を履歴的な追跡目的で含む。
【００３０】
データフィールドIN_MAKEENTRY_ZONE５２８、IN_MAKE_ZONE５３０、及びIN_MAKEEXIT_ZONE５３２は、ボールが得点入口ゾーン３１０、得点ゾーン３１２、及び得点出口ゾーン３１４内に成功裏にあるかどうかをそれぞれ示すフラグを含む。ボールが（以下で説明するように）３つのゾーンの全てを通過したと判定され、かつ、シュートが成功したと結論付けられる場合、そのように示すフラグがIS_MAKEデータフィールド５３４内に記憶され、行われたシュートの日時が履歴的な追跡目的でDATETIME_MAKEデータフィールド５３６内に記憶される。また更に、以下で説明するようにボールの位置データが処理されるとき、アレイインデックス位置を追跡するためにCUR_LOC_INDEXデータフィールド５３８が使用される。
【００３１】
概して、位置及び事象追跡アプリケーションは、好ましくは少なくとも１００Ｈｚのサンプリングレートを使用してコート上の選手及びボールの位置を追跡し、実時間表示し長期分析するために各選手のシュートの試み、行われたシュート、ボールの保持、及び他の運動情報も追跡する。ファン対応のアプリケーションを含むはるかに広範囲の装置が入手可能なクラウドに全てのデータを保存することにより、このデータは、長期分析並びに他のほぼ実時間のデータ処理及び表示のために提供することができる。
【００３２】
位置及び事象追跡アプリケーションの動作を図６〜図１２に示す。図６に示す位置及び事象追跡アプリケーションの高レベルフローチャート６００に示すように、アプリケーションによって実装されるプロセスは、競技フィールド内の選手に関連するタグ及びボールに関連するタグ全てのＸ座標、Ｙ座標、及びＺ座標を関連するタグＩＤと共に受信することによって始まる（Ｓ６０２）。次いで、アプリケーションは、受信されるタグＩＤを過去に知られているか又は構成されたタグＩＤと比較することにより、タグごとに受信されるデータがボールを表すか選手を表すかを（ステップＳ６０４において）判定する。タグが選手に関連する場合（結果経路６０８）、次の２つの段落内で説明し、図７に示すフローチャートによって示すように、プログラムは、位置データを更に処理するためにPROCESS PLAYERモジュール６１０に渡す。タグがボールに関連する場合（結果経路６１２）、更に後に説明するように、プログラムは、位置データを更に処理するためにPROCESS BALLモジュール６１４に渡す。
【００３３】
図７は、PROCESS PLAYERモジュール６１０の動作を示すフローチャート７００を含む。図７に示すように、選手の処理は、LOCATION_X_ARRアレイ４０４、LOCATION_Y_ARRアレイ４０６、及びLOCATION_Z_ARRアレイ４０８のそれぞれに記憶されている各時点における選手のＸ位置、Ｙ位置、及びＺ位置と共に、分析されている特定の選手を表すオブジェクトをＩＤデータフィールド４０２に基づいて内部アレイから取得することによってステップＳ７０２で始まる。各時点について、プログラムは、所与の時点及びその前の９つの時点に関する選手のＸ位置、Ｙ位置、及びＺ位置の値を使用して１０データ点移動平均を記憶する。従って、現時点のインデックスから開始して「後方に進む」ことでエンドポイント７０４及び７０６を有する平滑化ループを１０回実行して、現時点及び前の９つの時点の選手の位置データ値を合計する。その合計値を１０で割ることによってＸ位置、Ｙ位置、及びＺ位置のそれぞれの平均値を求め（Ｓ７０８）、次いで選手のＸ位置、Ｙ位置、及びＺ位置のそれぞれの平均値をメモリ内に記憶する（Ｓ７１０）。
【００３４】
他方で、ステップＳ６０２で受信される位置情報がボールに関連する場合（結果経路６１２）、プログラムは、上記のように位置データをPROCESS BALLモジュール６１４に渡す。PROCESS BALLモジュール６１４に関するフローチャート８００に示すように（図８Ａ及び図８Ｂ）、ボールの処理は、LOCATION_X_ARRアレイ５０４、LOCATION_Y_ARRアレイ５０６、及びLOCATION_Z_ARRアレイ５０８のそれぞれに記憶されている各時点におけるボールのＸ位置、Ｙ位置、及びＺ位置と共に、分析されている特定のボールを表すオブジェクトをＩＤデータフィールド５０２に基づいて内部アレイから取得すること（Ｓ８０２）によって始まる。各時点について、プログラムは所与の時点及びその前の９つの時点に関するボールのＸ位置、Ｙ位置、及びＺ位置の値を使用して１０データ点移動平均を記憶する。従って、現時点のインデックスから開始して「後方に進む」ことでエンドポイント８０３及び８０４を有する平滑化ループを１０回実行して、現時点及び前の９つの時点のボールの位置データ値を合計する。その合計値を１０で割ることによってＸ位置、Ｙ位置、及びＺ位置のそれぞれの平均値を求め（Ｓ８０６）、次いでボールのＸ位置、Ｙ位置、及びＺ位置のそれぞれの平均値を記憶する（Ｓ８０８）。
【００３５】
次に、ボールオブジェクトに関連するPLAYERプロパティ５１２が値を有するかどうかを確認することにより、ボールオブジェクトを評価して（Ｓ８１０）、ボールが既に選手に割り当てられているかどうかを調べる。PLAYERプロパティ５１２が値を有する場合（結果経路８１２）、それは、選手がボールを保持していること、又は直前に（即ち全体的なプログラムループの前の反復において）ボールを保持していたが（例えば、ボールをパスすることにより、得点を試みることにより、又はボールを奪われることにより）そのボールを手放したことを示す。従って、選手がボールオブジェクトに割り当てられている場合、システムは、関連する選手の近くにボールが依然としてあるかどうかを確認し（Ｓ８１４）、それにより、ボールを依然として保持している選手とボールの保持をちょうど終えた選手とを区別する。
【００３６】
この点に関して、図９Ａ及び図９Ｂに示すように、選手は、ボールを受け取るときに概して自分の体の近くにボールを引き寄せ、パス、シュート、又は相手選手からボールを遠ざけようと試みるときに自分の体から更に離すようにボールを移動させ得ることを所与として、選手がボールを保持していると見なすことができる所与の選手の周りのゾーン（図中の添え字「Ｐ」）は、選手がボールを保有していると見なされるその選手の周りのゾーン（図中の添え字「Ｒ」）よりも僅かに小さい。従って、選手の周りの受取−保持ゾーンの水平半径ＲＰは、選手の周りの保有ゾーンの水平半径ＲＲよりも小さい。同様に、受取−保持ゾーンの高さＺＰは、保有ゾーンの高さＺＲよりも低い。（ボールが選手の近くにあるための水平半径及び高さの許容範囲は、スポーツ及びシステムを使用する選手の年齢層ごとに異なる構成可能なパラメータであり得る。バスケットボールの一部の実施形態では、許容範囲の例は、半径４フィート及び高さ８フィートである）。
【００３７】
従って、ボールが、関連する選手の近くに依然としてあるかどうかを判定する（Ｓ８１４）ために、システムは、ボールのＸ座標と選手のＸ座標との差の二乗及びボールのＹ座標と選手のＹ座標との差の二乗の和の平方根（ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｐｌａｙｅｒ）＾２＋（Ｙｂａｌｌ−Ｙｐｌａｙｅｒ）＾２））を計算することにより、関連する選手からボールが水平方向にどの程度離れているかを求める。ボールと関連する選手との間の水平距離が、より大きい保有半径ＲＲ以下であり、かつ、ボールのＺ座標が、保有ゾーンの高さＺＲのより大きいＺ値以下である場合、以前に関連していた選手が依然としてボールを保持していると見なし（結果経路８１６）、長期間記憶し、接続されたアプリケーションに配信するために、システムがボールの位置をローカルに又はクラウド内のサーバに記憶する（Ｓ８１８）。
【００３８】
ボールが以前に関連していた選手の近くにないと判定される（Ｓ８１４）場合（結果経路８２０）、選手がボールをパスしたか、ボールをシュートしたか、又はボールを奪われたという仮定の下にボールと選手との間の関連付けをＳ８２２でクリアし（ボールオブジェクトのPLAYER属性５１２及び選手オブジェクトのBALL属性４１２を何れらも無効にし）、プロセスは戻る（戻り経路８２３）。加えて、関連付けを無効にする前に、直前までボールを保持していてボールを失った選手の識別情報にPREV_PLAYERデータフィールド５１４を設定する。更に、ボールを保持する次の選手を識別するようにデータレジスタを準備するために、次の選手データフィールドNEXT_PLAYER５１６もクリアする。
【００３９】
他方で、ボールが選手に関連するかどうかを調べるための評価Ｓ８１０の結果が否定である場合（結果経路８２４）、システムは、次の選手データフィールドNEXT_PLAYER５１６に値が割り当てられているかどうかを調べ（Ｓ８２６）、保持の処理（直下で説明する）が、ボールを保持する次の選手になる可能性が少なくともあるのに十分にボールの近くにいる選手を識別する場合、かかる値の割り当てが認められる。（以下で詳述するように、そのように識別される次の選手は、所定時間が経過するまで実際に保持しているものとしてボールに関連付けられない）。次の選手の値が次の選手データフィールドNEXT_PLAYER５１６内のボールに実際に割り当てられている場合（結果経路８２８）、システムは、ボールが次の選手に十分近いかどうかを確認（Ｓ８３０）して、潜在的に、ボールを実際に保持する次の選手として次の選手を「保留」する。
【００４０】
この評価（Ｓ８３０）のために、システムは、図９Ａ及び図９Ｂに示す選手の周りのより小さい保持ゾーンの半径及び高さの寸法を使用する。従って、システムは、ボールと識別された次の選手との間の水平距離（ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｎｅｘｔ−ｐｌａｙｅｒ）＾２＋（Ｙｂａｌｌ−Ｙｎｅｘｔ−ｐｌａｙｅｒ）＾２））が、より小さい保持半径ＲＰ以下であるかどうか、及びボールのＺ座標が、保持ゾーンの高さＺＰのより小さいＺ値以下であるかどうかを確認する。これらの条件を満たすのに十分にボールが実際に次の選手に近い場合（結果経路８３２）、システムは、ボールがどの程度長く次の選手の近くにあるかを、即ち処理ループの連続反復間の時間だけ、例えばシステムが１００Ｈｚのレートで実行する場合、０．０１秒だけ次の選手の保持時間データフィールドPOSSESS_TIME４１４を増分する（Ｓ８３４）ことによってカウントする。次の選手が受取−保持ゾーン内でボールの保持を続ける限り、累積保持時間が所定の最低保持時間（例えば、０．５秒〜１秒程度（システムの使用が予期される選手の能力水準に応じて設定され得る））を超えると判定されるまで（Ｓ８３６）、全体的なプロセスが実施されるたびに次の選手の累積保持時間データフィールドPOSSESS_TIME４１４に別の時間増分が加えられる（Ｓ８３４）。かかる時間超過が起きると、推定上の次の選手として「保留」されている選手が実際にボールを保持している選手として指定される。具体的には、次の選手である選手の選手ＩＤ値４０２が、ボールオブジェクトに関連する選手データフィールドPLAYER５１２に与えられ（Ｓ８３８）、選手が今ではボールを保持していることを示すために、ボールのボールＩＤ値５０２が、次の選手として保留されていた選手（今は実際にボールを保持している選手）のオブジェクトに関連するボールデータフィールドBALL４１２に与えられる。加えて、「その目的を果たした」次の選手データフィールドNEXT_PLAYER５１６をクリアする。
【００４１】
他方で、ボールが次の選手の周りの保持ゾーン内に（依然として）ない場合（判定Ｓ８３０からの結果経路８４０）、ボールオブジェクトに関連する次の選手データフィールドNEXT_PLAYER５１６、並びに次の選手として「保留」されている選手の保持時間データフィールドPOSSESS_TIME４１４内で、例えばボールが保持ゾーンを「単に通過」していた間にステップＳ８３４の前の反復において累積している可能性がある任意の保持時間をクリアする（Ｓ８４３）。以下でより詳細に説明するように、ボールに最も近いことに基づいて動作する保持判定サブルーチン８４２により、ボールを保持する推定上の次の選手として選手が識別される。従って、過去に識別した選手がプログラムの次の反復時にボールに依然として最も近いと仮定し、保持を行う推定上の次の選手として同じ選手が再び識別され、ボールが次の選手の周りの保持ゾーンに入る（この時点で次の選手が保持時間を累加し始める）まで、又は選手が実際にボールを保持することなしにボールが単に選手の保持ゾーンを通過していた場合、ボールが保持ゾーンから完全に出るまでかかる識別が起こり続ける。
【００４２】
フローチャート８００に更に示すように、ボールに何れの選手も関連せず、かつ、１）次の選手がボールに関連付けられていない（評価ステップＳ８２６からの結果経路８４４）、即ちボールを保持する潜在的な次の選手として別の選手が識別されるのに十分にボールが別の選手の近くに来ていない場合、又は２）ボールが次の選手の近くに短時間のみあり、既にない場合（評価ステップＳ８３０からの結果経路８４０／８４１）、ボールは自由空間内のどこかにある。加えて、例えばダンク又はレイアップの場合、得点を決める時点の直前まで選手がボールを保持していても、その場合も何れの選手もボールに関連付けられず、得点が決まった直後の瞬間において次の選手がボールに指定されていない。従って、この場合（何れの選手もボールに指定されておらず、次の選手がボールに指定されておらず、ボールが次の選手の近くにない）、システムは、ボールを処理して、ボールを保持する若しくは保持している次の選手を識別し、又はボールがバスケットに向けてシュートされたかどうか若しくはバスケットまで運ばれたかどうかを判定し、該当する場合、得点が成功したかどうかを判定する必要がある。
【００４３】
このプロセスを開始するために、システムは、ボールがコート上のリングの何れかを取り囲むゴールゾーン３０４内にあるかどうかを判定する（Ｓ８４６）。（システムがボールの現在位置を検出し、プロセスのこの部分をトリガするために、選手が得点を決める時点の直前までボールを保持していてもなお、システムは、得点後の瞬間においてボールがゴールゾーン３０４内で依然として位置決めされるのに十分に速く動作する）。それを行うために、システムはループ（具体的には図示せず）を実装し、そのループ内において、システムは、コート上のバスケットのそれぞれのアレイ２１２を取得し、ボールと特定のリングに関連するゴールゾーン３０４の中央との間の水平距離（即ちＳＱＲＴ（（Ｘｂａｌｌ−Ｘｈｏｏｐ）＾２＋（Ｙｂａｌｌ−Ｙｈｏｏｐ）＾２））がゴールゾーン３０４の半径Ｒ（ZONE_R_GOAL、２２４）未満であるかどうか、及びボールの垂直位置Ｚがゴールゾーン３０４の垂直範囲内、即ちＺ＝ZONE_GOAL_ZTOP（２２８）とＺ＝（ZONE_GOAL_ZTOP−ZONE_W_GOAL（２２６））との間にあるかどうかを評価する。更に後により詳細に説明するように、ボールがバスケットの１つを取り囲むゴールゾーン３０４内に実際に位置する場合（結果経路８４８）、そのように識別されたリングであって、その周囲のゴールゾーン３０４にボールが入ったリングを反映するようにHOOP_IDデータフィールド５１９を設定し（Ｓ８５０）、次いで、プログラムは、得点が試みられたかどうか（試みられている場合、得点に成功したかどうか）を評価するためのサブルーチン８５２を呼び出す。そうではなくリングの１つを取り囲むゴールゾーン３０４内にボールが位置していない場合（結果経路８５４）、HOOP_IDデータフィールド５１９の任意の残存値をクリアし（Ｓ８５６）、直下で説明するように、プログラムは、上記で触れた保持判定サブルーチン８４２を呼び出す。
【００４４】
保持判定サブルーチン８４２の動作を、図１０に示すフローチャート１０００によって示す。概して、このサブルーチンは、ボールに最も近い選手を識別し、選手が実際にボールを得るのに十分にボールの近くにいる場合、仮定上ボールを保持する次の選手であるものとして最も近い選手をボールに指定する。上記で説明したように、ボールが所定の最低時間にわたって推定上の次の選手の近くにない限り（Ｓ８３６）、ボールの実際の保持は確立されない。それが起こるまで、保持判定サブルーチン８４２が呼び出される前に、ボールの関連するNEXT_PLAYERパラメータ（５１６）が除去される（Ｓ８４３）。従って、このサブルーチンは、ボールと最も近くの選手との間の距離を求め、ボールと様々な選手のタグの全てとの間の距離を追跡できるようにするために変数を初期化する（Ｓ１００２）ことによって始まる。具体的には、仮定上ボールを保持する次の選手である選手は、最初、不明に設定され（NEXT_PLAYER（５１６）＝NULL）、半径方向距離の許容範囲（MIN_R＝TOL_R）及び垂直距離の許容範囲（MIN_Z＝TOL_Z）だけボールから離れていると想定され、それらの許容範囲は、選手がボールを保持し得ると考えられる最大値である。適切には、許容値は、上記のように選手がボールを保持したかどうか又はボールを保有したかどうかを判定するために選手に対するボールの近さを評価するのに使用される水平距離値及び垂直距離値と同じであり得る。
【００４５】
次に、システムは、何れの選手がボールに最も近く、かつ、最大許容範囲内にいるかを（存在する場合）判定するために各選手を順番に評価する（Ｓ１００８）、エンドポイント１００４、１００６を有するループに入る。ループの反復ごとに、システムは、所与の選手とボールとの間の水平距離Ｒ（Ｒ＝ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｐｌａｙｅｒ）＾２＋（Ｙｂａｌｌ−Ｙｐｌａｙｅｒ）＾２）、及び所与の選手とボールとの間の垂直距離（ＤＺ＝Ｚｂａｌｌ−Ｚｐｌａｙｅｒ）を計算する。水平距離値及び垂直距離値が何れも以前に検討した選手の対応する値（又はループの最初の通過時は初期化された値）を下回る場合（結果経路１０１０）、ループの所与の反復中に検討中の選手がボールに最も近い、従って仮定上次にボールを保持する選手であると見なされる。その場合、ボールと検討中の選手との間の距離に等しく新たな最低距離を設定する（MIN_R＝Ｒ、MIN_Z＝ＤＺ）ように、及びボールを保持する次の選手として検討中の選手をボールに仮定上指定する（NEXT_PLAYER（５１６）＝PLAYER_ARRAY[INDEX]）ようにパラメータを更新する（Ｓ１０１２）。さもなければ（結果経路１０１４）、このプロセスは、単純にループの始め（１００４）に戻って選手のアレイ内の次の選手を評価する。更に、ボールからの水平距離及び垂直距離の許容値未満に選手が見つからない場合、次の選手の値（NEXT_PLAYER（５１６））はボールに指定されない。
【００４６】
上記で説明したように、ボールが自由空間内にあるとき、例えば、ある選手から別の選手にパスされるとき又はバスケットに向かう途中にあるとき、（評価ステップＳ８２６からの）結果経路８４４及び（評価ステップＳ８３０からの）結果経路８４０／８４１が後に続く。加えて、上記のように、得点を決める時点の直前までボールを保持していた選手がもはや保持しなくなると直ちに結果経路８４４が後に続く。従って、上記のように、コート上のバスケットの１つを取り囲むゴールゾーン３０４内にボールがあるかどうかが評価ステップＳ８４６において評価される。ボールがゴールゾーン内にない場合、ボールを保持する次の選手を上記のように保持判定サブルーチン８４２によって明らかにする。さもなければ、ボールが実際にゴールゾーン３０４の１つ内にある場合（評価ステップＳ８４６からの結果経路８４８）、プログラムは、その近くにボールが位置するリングを識別するために、ボールオブジェクトに関連するHOOP_IDデータフィールド５１９を設定し、次いで上記で触れたようにアテンプト識別サブルーチン８５２を呼び出す。
【００４７】
アテンプト識別及びシュートサブルーチン８５２の動作について、図１１及び図１２のそれぞれに示すフローチャート１１００及び１２００でより詳細に示す。具体的には、このプロセスは、ボールのＸ座標、Ｙ座標、及びＺ座標がステップＳ８４６内で識別したリングを取り囲むゴールゾーン３０４の領域内にボールを置くことを確認すること（Ｓ１１０２）によって始まる。ボールが実際にこのゾーン内にない場合、プログラムは、バスケットに対するボールの位置に関するボールオブジェクト内の全てのボールプロパティをクリアし（Ｓ１１０４）、呼び出しプロセスに戻る（Ｓ１１０６）。さもなければ、ボールが実際に識別されたバスケットの周りのゴールゾーン領域内にある場合、システムは、ボールプロパティIN_GOAL_ZONE５１８を真に設定する（Ｓ１１０８）。
【００４８】
分析の焦点を「絞り込み」、ボールがアテンプトゾーン３０８内にあるかどうかを判定するためにボールのＸ座標、Ｙ座標、及びＺ座標を次に評価する（Ｓ１１１０）。（ゴールゾーン３０４に関する場合と同様に、ベースドが行われる時点の直前まで選手がボールを保持していた事例では、システムは、得点後の瞬間においてボールがアテンプトゾーン３０８内で依然として位置決めされるのに十分に速く動作する）。これは、ボールのＸ−Ｙ位置からリングのＸ−Ｙ中央までの水平距離（ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｈｏｏｐ）＾２＋（Ｙｂａｌｌ−Ｙｈｏｏｐ）＾２））がアテンプトゾーンの半径（ZONE_R_ATTEMPT、２３０）以下であるかどうか、及びボールのＺ位置がアテンプトゾーンの上端３０９（ZONE_ATTEMPT_ZTOP、２３４）からアテンプトゾーンの高さ／幅（ZONE_W_ATTEMPT、２３２）に等しい分だけ下方に下がる範囲内のどこかにあるかどうかを判断することによって行われる。ボールが実際にアテンプトゾーン３０８内にある場合（結果経路１１１１）、IN_ATTEMPT_ZONEフラグ５２２及びIS_ATTEMPＴフラグ５２４の両方を真に設定し（Ｓ１１１２）、プロセスは戻る（Ｓ１１０６）。
【００４９】
ボールがアテンプトゾーン３０８内にない場合（結果経路１１１３）、それは、１）シュートが失敗であった（例えば、リング３０２にはじかれてアテンプトゾーン３０８の外に出たか、又はアテンプトゾーン３０８を完全に外れた）、又は２）シュートが成功し、３つの得点関連ゾーン（得点入口ゾーン３１０、得点ゾーン３１２、及び得点出口ゾーン３１４）を介してアテンプトゾーン３０８から出た結果であり得る。従って、ステップＳ１１１０で確認されているとき、ボールがアテンプトゾーン３０８内にない場合、プロセスは、IN_ATTEMPT_ZONEフラグ５２２が立っている（即ち真である）かどうかを確認し（Ｓ１１１４）、かかるフラグが立っていることは、プロセス前の反復時にボールがアテンプトゾーン３０８内にあったことを示す。IN_ATTEMPT_ZONEフラグ５２２が立っていない場合（結果１１１６）、プロセスは戻る（Ｓ１１０６）。しかし、IN_ATTEMPT_ZONEフラグ５２２が実際に立っている場合、PROCESS BALL LOCATIONＳサブルーチン１１２０を呼び出す。このサブルーチンは、ボールの前の位置を過去数秒（例えば、４秒）間にわたって新しい順に循環し、ボールがリングを通過する空間を経る経路を進んだかどうか、実際には得点に成功したかどうかを判定する。
【００５０】
図１２に示すフローチャート１２００によって示すように、PROCESS BALL LOCATIONSサブルーチンは、ループ反復子（loop iterator）をボールの前の位置、即ちボールがアテンプトゾーン３０８内からなくなる直前の位置のインデックスに設定することによって始まる（Ｓ１２０２）。次に、エンドポイント１２０４、１２０６を有するボール位置決めループが前の各ボール位置を逆順に、実質的にボールがリング３０３の周りの及びリング３０３に隣接する様々なゾーンを（潜在的に）通過するときのボールの経路を逆方向に辿って評価し始める。
【００５１】
ループ内の最初の評価（Ｓ１２０８）は、ステップＳ１１１０と同じ計算を使用してボールの位置がアテンプトゾーン３０８内にあるかどうかを（位置追跡サブルーチン１１２０が呼び出される直前の位置から開始して）試験する。（サブルーチン１１２０の最初の通過では、これは真になる）。前の所与の時点のボールの位置がアテンプトゾーン３０８内にない、即ち前のその所与の時点がアテンプトゾーン３０８にボールが入る直前の時点である場合（結果経路１２１０）、ループ１２０４／１２０６が終了する。
【００５２】
そうではなく前の所与の時点のボールの位置が（依然として）アテンプトゾーン３０８内にある場合、このプロセスは、ボールの位置が得点出口ゾーン３１４内にあるかどうかを確認する（Ｓ１２１２）。より具体的には、システムは、ボールと得点出口ゾーン３１４の中央との間の水平距離（ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｈｏｏｐ）＾２＋（Ｙｂａｌｌ−Ｙｈｏｏｐ）＾２））が得点出口ゾーン３１４の半径Ｒ（ZONE_R_MAKEEXIT、２４４）未満であるかどうか、及びボールが得点出口ゾーン３１４の上端／得点ゾーン３１２の下端（Ｚ＝Ｚｈｏｏｐ（２２０）−ZONE_W_MAKE（２４２））と得点出口ゾーン３１４の下端（Ｚ＝Ｚｈｏｏｐ（２２０）−（ZONE_W_MAKE（２４２）＋ZONE_W_MAKEEXIT（２４６））との間の垂直範囲内にあったかどうかを確認する。前の所与の時点のボールの位置が得点出口ゾーン３１４内にあった場合（結果経路１２１４）、IN_MAKEEXIT_ZONEフラグ５３２を真に設定し（Ｓ１２１６）、次の前のボール位置を検討するためにループが続行する（経路１２１８）。
【００５３】
他方で、前の所与の時点におけるボールの位置が得点出口ゾーン３１４内になかったとステップＳ１２１２で判定される場合（結果経路１２２０）、同じ位置を試験してその位置が得点ゾーン３１２内にあったかどうかを判定する（Ｓ１２２２）。具体的には、システムは、ボールと得点ゾーン３１２の中央との間の水平距離（ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｈｏｏｐ）＾２＋（Ｙｂａｌｌ−Ｙｈｏｏｐ）＾２））が得点ゾーン３１２の半径Ｒ（ＺＯＮＥ＿Ｒ＿ＭＡＫＥ、２４０）未満であるかどうか、及びボールが得点ゾーン３１２の上端（Ｚ＝Ｚｈｏｏｐ（２２０））と得点ゾーン３１２の下端（Ｚ＝Ｚｈｏｏｐ（２２０）−ZONE_W_MAKE（２４２））との間の垂直範囲内にあったかどうかを確認する。位置が得点ゾーン３１２内にあった場合（結果経路１２２４）、このプロセスは、IN_MAKEEXIT_ZONEフラグ５３２が（ループの前の反復時に）真に設定されているかどうかを更に確認する（Ｓ１２２６）。IN_MAKEEXIT_ZONEフラグ５３２が真に設定されている場合（結果経路１２２８）、それは、ボールの経路がボールを得点ゾーン３１２から得点出口ゾーン３１４内に直接運んだことを示し、その場合、IN_MAKE_ZONEフラグ（５３０）が真に設定され（Ｓ１２３０）、次の前のボール位置を検討するためにループが続行する（経路１２３２）。そうではなくIN_MAKEEXIT_ZONEフラグ５３２が真に設定されていない場合（結果経路１２３４）、ループは、IN_MAKE_ZONEフラグ（５３０）が真に設定されることなしに次の前のボール位置の検討を続ける。
【００５４】
また更に、前の所与の時点におけるボールの位置が得点出口ゾーン３１４内になかったとステップＳ１２１２で判定され（結果経路１２２０）、かつ、前の所与の時点におけるボールの位置が得点ゾーン３１２内になかったとステップＳ１２２２で更に判定される場合（結果経路１２３６）、このプロセスは、引き続き、前の所与の時点におけるボールの位置が得点入口ゾーン３１０内にあったかどうかを判定する（Ｓ１２３８）。具体的には、システムは、ボールと得点入口ゾーン３１０の中央との間の水平距離（ＳＱＲＴ（（Ｘｂａｌｌ−Ｘｈｏｏｐ）＾２＋（Ｙｂａｌｌ−Ｙｈｏｏｐ）＾２））が得点ゾーン入口３１０の半径Ｒ（ZONE_R_MAKEENTRY、２３６）未満であるかどうか、及びボールが得点入口ゾーン３１０の上端（Ｚ＝Ｚｈｏｏｐ（２２０）＋ZONE_W_MAKEENTRY（２３８））と得点入口ゾーン３１０の下端、即ちループ位置（Ｚ＝Ｚｈｏｏｐ（２２０））との間の垂直範囲内にあったかどうかを確認する。前の所与の位置が得点入口ゾーン３１０内にあった場合（結果経路１２４０）、このプロセスは、IN_MAKE_ZONEフラグ５３０が（ループの前の反復時に）真に設定されているかどうかを更に確認する（Ｓ１２４２）。IN_MAKE_ZONEフラグ５３０が真に設定されている場合（結果経路１２４４）、それは、ボールの経路がボールを得点入口ゾーン３１０から得点ゾーン３１２内に直接運んだことを示し、その場合、IN_MAKEENTRY_ZONEフラグ（５２８）が真に設定され（Ｓ１２４６）、次の前のボール位置を検討するためにループが続行する（経路１２４８）。そうではなくIN_MAKE_ZONEフラグ５３０が真に設定されていない場合（結果経路１２５０）、ループは、IN_MAKEENTRY_ZONEフラグ（５２８）が真に設定されることなしに次の前のボール位置の検討を続ける。
【００５５】
反復子ＩＴＥＲを次の前のボール位置に設定し、その位置を様々な得点ゾーンに対して新しい順に試験するこのプロセスは、前のボール位置がもはや包括的なアテンプトゾーン３０８内に全くなくなるまで続き、それにより、ボールの軌道がリングの「得点」ゾーンの３つ全てを順番に通過するかどうかを効果的に試験する。換言すれば、このプロセスは、シュートが成功したかどうかを判定し、選手が得点を決めるためにボールをバスケットまで運ぶ（ダンク又はレイアップする）状況を識別するのに十分にロバストである。従って、ループの完了後、このプロセスは、３つの「得点」フラグ（IN_MAKEENTRY_ZONE（５２８）、IN_MAKE_ZONE（５３０）、及びIN_MAKEEXIT_ZONE（５３２））が全て設定されているかどうかを確認する（Ｓ１２５２）。３つのフラグの全てが真に設定されている場合、ボールの経路は、リングを通過しており、即ちシュートは成功しており、IS_MAKEフラグ（５３４）が真に設定される。次いで、ボール処理サブルーチン６１４（フローチャート８００）は、IS_ATTEMPTフラグ（５２４）及びIS_MAKEフラグ（５２４）を全体的なプログラムに返し、シュートが行われる前にボールを保持していた最後の選手の統計をそれに応じて更新することができる（不図示）。
【００５６】
タグとアンカとの間のデータ通信の調整
この説明の冒頭で述べたように、所与のチャネル内の同時にブロードキャストされる信号間の「衝突」を回避するために、アンカ／タグベースの位置追跡システム内で概して見られるデータ伝送タイミングプロトコルを改善した。その目的のために、改善されたデート伝送方法は、アンカ又はタグごとの伝送時間間隔を正確にスケジューリングし継続的に管理することにより、データ通信ネットワーク内のアンカ及びタグ（総称的にノードと呼ぶ）間のデータ伝送を調整するための装置及び方法を提供する。マスタアンカは、確保済タイムスロットと呼ばれる慎重な伝送時間間隔をノードごとに規定する。確保済タイムスロットは、窓と呼ばれるより大きい時間間隔の下位区分であり、窓自体も時分割ブロックと呼ばれるより大きい時間ブロックの下位区分である。タグがネットワークに追加されると、その中でマスタアンカとトランザクションパケットをやり取りするための確保済タイムスロットが各タグに割り当てられる。マスタアンカは、タグの確保済タイムスロット中のタグによるトランザクションパケットのブロードキャストを検出して処理し、更には各タグのデータ伝送活動が各タグの確保済タイムスロット内で起こり続けることを確実にするために、必要に応じて追加のタイミング命令を各タグに送り返すように構成される。
【００５７】
マスタアンカによって定められる時分割ブロックは、構成窓及び少なくとも１つのトランザクション窓を含む。時分割ブロックの構成窓中、マスタアンカは、ネットワークに加わりマスタアンカとデータのやり取りを開始することを望む新たなタグによる構成要求パケットのブロードキャストを検出し処理する。構成窓中に新たなタグから構成要求を受信することに応答し、マスタアンカは新たなタグのためにトランザクション窓内に確保済タイムスロットを確立し、次いでタグに構成応答パケットをブロードキャストし、構成応答パケットは、トランザクションパケットの組をブロードキャストする最初の試みを行う前にタグが待つための最初の時間遅延を含む、タグが従うための特定の動作パラメータと共に確保済タイムスロットをタグに与える。構成窓中、マスタアンカは、複数のタグを検出しネットワークに承認することができ、それにより承認されたタグの全てについて確保済タイムスロット及び最初の時間遅延を確立する。トランザクション窓中、特定のタグのための確保済タイムスロットが到来すると、マスタアンカは、その特定のタグによるトランザクションパケットの組のブロードキャストを検出し処理する。
【００５８】
様々なデータ伝送を調整するためのこの手法を図１３〜図１７Ｂに示す。
【００５９】
上記のようなシステムの実装形態において、マスタアンカＡＭは、時間の経過を測定し、一連の隣接した時分割ブロックへ分割する。図１３は、本システムの実装形態においてマスタアンカＡＭによって定められ得る時分割ブロック１３００の一例を示す。各時分割ブロック１３００は、５０ミリ秒長等の決まった時間の長さに及ぶ。但し、無線データ通信ネットワーク内で使用されるタグの数、種類、及び伝送速度に応じて、より短い間隔又はより長い間隔の時分割ブロックが使用され得ることが当業者によって理解される。時分割ブロックの長さが５０ミリ秒長に定められる場合、ネットワークの繰返し周期は２０Ｈｚである（即ち毎秒が２０個の連続した時分割ブロックを含む）。時分割ブロック１３００が大き過ぎる場合、マスタアンカＡＭは、タグの現在位置を実時間で追跡するのに十分に速く、迅速に移動するタグから連続した信号を受信し処理することができない。時分割ブロック１３００が小さ過ぎる場合、その時分割ブロック１３００は、多数のタグのためのタイムスロットを確保するのに十分な空間を有さない。
【００６０】
図１３に示すように、時分割ブロック１３００は、構成窓１３０５、トランザクション窓１３１０、及びスレーブ窓１３１５を含む３つの別個の時間の下位区分を含む。新たなタグの検出及び承認等の構成機能のために確保されている構成窓１３０５は、２０ｍｓ続き、その間、構成データパケットがやり取りされる個別のタイムスロット１３２０〜１３２５に更に分割されている。
【００６１】
トランザクション窓１３１０は、２０ｍｓ続き、その間、マスタアンカＡＭが無線データ通信ネットワーク内で動作しているタグによってブロードキャストされるトランザクションパケットを受信し処理する、１５個の確保済タイムスロット１３３０〜１３３５に更に細分されている。マスタアンカＡＭとタグとの間のトランザクションの全ては、これらの確保済スロット１３３０〜１３３５で行われる。トランザクション窓１３１０のこの区分は、１５個までのタグとのデータパケットのやり取りに対応することができる。任意選択的に、このシステムは、１０ｍｓ続くスレーブ窓１３１５と呼ばれる第３の時間区分も割り当てることができる。スレーブ窓１３１５において、２個までのスレーブアンカＡＳ（ｎ）からの信号を確保済タイムスロット１３４０及び１３４５中にやり取りすることができる。
【００６２】
上記のように、本発明と共に使用可能な無線センサ実装１００は、双方向の通信及び測距を利用し、図１Ａ及び図１Ｂに示されている。より具体的には、本システムは、「スヌーピング」と呼ばれる特定の双方向測距法を使用し、スヌーピングでは、選手タグＰ（ｎ）及びバスケットボールタグＢ（ｎ）がマスタアンカＡＭとデータパケットを直接やり取りし、選手タグＰ（ｎ）及びボールタグＢ（ｎ）から発せられるデータ伝送をスレーブアンカＡＳ（ｎ）が同時にリスンする。スレーブアンカＡＳ（ｎ）は、図１３に示す時分割ブロック１３００のスレーブ窓１３１５中に自らのデータパケットをマスタアンカＡＭに伝送する。次いで、上記のように選手及びボールの位置を計算するために、スレーブアンカＡＳ（ｎ）からのこの追加のスヌーピングデータが、無線センサ実装１００内のマスタアンカＡＭに接続されるコンピュータ１０６によって使用される。
【００６３】
マスタアンカＡＭは、それによりコンピュータ１０６が無線センサ実装１００にアクセスすることができるゲートウェイノードとして機能する独自のトランスポンダとすることができ、又はコンピュータ１０６に直接組み込まれ得る。一実装形態では、様々な選手タグ及びボールタグの位置を実時間で判定するために、双方向測距等のよく理解されている測距技法を適用するようにマスタアンカＡＭに接続されるコンピュータ１０６を構成することができる。この位置特定は、先に図１３に示した時分割ブロック１３００の各時間区分中、無線センサ実装１００に加わる各アクティブノードとのデータパケットのやり取りにおいて運ばれる情報をコンピュータ１０６が継続的に処理することによって実現される。先に図１３に示したように、タグは、トランザクション窓１３１０の確保済タイムスロット１３３０〜１３３５内の自らの確保済タイムスロット中、自らの測距機能を実行し、スレーブアンカＡＳ（ｎ）は、スレーブ窓１３１５の確保済タイムスロット１３４０及び１３４５内の自らの確保済タイムスロット中、自らのデータを伝送する。
【００６４】
図１４は、地点Ａ及び地点Ｂにある２つのノード間の典型的な測距トランザクションを示す。地点Ａ及び地点Ｂにあるノード内のクロックが互いに完全に同期している場合、位置特定計算のために単一のパケットがあれば十分である。しかし、現代の電子機器がクロックレートに関して非常に（１００万分の１秒の範囲まで）微差でも、完全に正確な同期を決して実現することはできず、クロック間の最初は僅かなずれが時間と共に増大し、個別のノード内のクロックを互いからより離れるようにドリフトさせる。この事実により、実装１００内の各ノードは、独自の時間領域を有すると仮定される。それぞれの一意の伝送事象及び受信事象によって各ノードの時間領域に対するタイムスタンプ（即ち６個のタイムスタンプ）が生成されながら、地点Ａ及び地点Ｂにあるノード間で３つのパケットがやり取りされている。地点Ａにあるノードが開始し、地点Ｂにあるノードは計算を行う。図１Ａ及び図１Ｂに示した双方向測距システムの実装では、最後に送信されたパケット上のデータペイロードとしてデータが運ばれる。この測距データは、信号の到達時間を損なうことなしにパケットに重畳する。
【００６５】
無線センサ実装１００は、２つのアンカ、即ちマスタアンカＡＭ及び単一のスレーブアンカＡＳのみで十分機能するが、更なるスレーブアンカＡＳ（ｎ）をネットワークに追加して位置データの精度及び忠実性を高め、例えばタグと１つのアンカとの間の直接の見通し線がコート上の人又は物によって妨げられる場合に起こり得る問題を回避することができる。
【００６６】
図１５Ａは、本発明で使用するアクティブタグ、例えばボールタグＢ（ｎ）又は選手タグＰ（ｎ）の状態図を示す。電源投入又はリセット状態１５００後、タグは、まず初期化状態１５０５に入り、ここで、タグの電子チップ内のファームウェアによって定められるパラメータが初期化される。次に、タグは、構成要求状態１５１０に入り、ここで、タグは、構成要求をブロードキャストして自らの存在をネットワークにアナウンスし、マスタアンカＡＭに動作命令を要求する。次に、タグは、リスン状態１５１５に入り、ここで、タグは、自らの構成要求に対するマスタアンカＡＭからの応答をリスンする。タグがリスン状態１５１５にある間に応答が受信されない場合、タグは、自らの電力消費量を減らし、復活して初期化状態１５０５に戻るまで１秒〜３秒の無作為に指定される期間にわたってスリープ状態１５２０に入る。タグのビーコンが構成窓に含まれるまで、チャネル内で信号衝突が発生する場合、タグは、潜在的に混乱を起こし得るが、構成要求信号は極端に短く、それにより信号妨害又はデータ損失のいかなる可能性も最小限に抑える。
【００６７】
タグがリスン状態１５１５にある間にマスタアンカＡＭから動作命令を含む構成応答を受信する場合、タグは、動作状態１５２５に入り、ここで、タグは、マスタアンカＡＭによって与えられる構成パラメータを処理する。そのような１つの構成パラメータは、マスタアンカＡＭにトランザクションパケットをブロードキャストし始める前にタグが待つべき初期遅延期間を含む。次に、タグは、初期遅延期間に等しい期間にわたって待機状態１５３０に入り、この間、タグは、自らの電力消費量を減らしてスリープする。初期遅延期間が終了すると、タグは、トランザクション状態１５３５に入る。一実装形態では、タグは、トランザクション状態１５３５中にマスタアンカＡＭと測距パケット等のトランザクションパケットをやり取りする。但し、実装１００は、トランザクション窓中に測距データだけでなく他の任意の種類のデータをやり取りするよう構成され得る。トランザクションパケットの最初のやり取り後、タグは、待機状態１５３０に戻り、次の時分割ブロックの次のトランザクション窓内の次の確保済タイムスロットを待ってから再びトランザクション状態１５３５に戻る。
【００６８】
タグが状態１５０５、１５１０、１５１５、及び１５２０を進むとき、マスタアンカＡＭとやり取りされるパケットは、構成要求、構成応答、及び構成肯定応答を含む。一実装形態では、構成窓の長さが約５００マイクロ秒である。構成パケットのやり取りは、依然として構成されていないタグによってのみ開始され、マスタアンカＡＭは、構成窓の終わりの６００マイクロ秒以内に構成要求を聞く場合にのみ構成要求に応答し、それにより構成パケットのやり取りがタグ又はスレーブアンカＡＳ（ｎ）のパケットのやり取りを妨げるか又は遅らせるのを防ぐ。構成開始タグが構成要求を送信してから１．５ｍｓ以内に構成応答を聞く場合、そのタグは、構成肯定応答パケットで応答し、トランザクション窓の確保済タイムスロット中に行われるように測距トランザクションの予定を立てる。開始タグが１．５ｍｓ以内に応答を聞かない場合、そのタグは、無作為の時間（典型的には１秒〜３秒）にわたってスリープ状態１５２０に入ってから別の構成要求の送信を試みる。
【００６９】
マスタアンカＡＭによって伝送される構成応答は、マスタアンカＡＭへの双方向測距トランザクションのブロードキャストを試みる前にタグが待つべき初期遅延期間を含む。構成応答は、タグの伝送期間、ネットワークＩＤ（複数のネットワークが利用可能な場合に使用される）、及びネットワークタイムアウトも含む。ネットワークタイムアウトは、マスタアンカＡＭから応答を受信することなしに装置が連続何回マスタアンカＡＭとの通信を試みるべきかをタグに伝える。本システムの一実装形態において各構成パケット内に含まれるデータについて、図１６に関して以下でより詳細に解説している。
【００７０】
タグの位置を判定するために双方向測距を使用するネットワークの例示的実装形態では、所与のタグがトランザクション状態１５３５にある間にマスタアンカＡＭとやり取りされるデータパケットは、双方向測距要求、双方向測距応答、及び双方向測距肯定応答を含み得る。タグがスリープ状態から起動するのに約５ｍｓかかる。この例示的実装形態では、タグのトランザクションの長さは約１ミリ秒である。次に、予定されたタグのトランザクション前にタグが１０ｍｓよりも長い時間（タグが起動するのにかかる時間の２倍）を有する場合、タグは、次の伝送の約５ｍｓ前までスリープし、先に図１３に示した自らの確保済タイムスロット１３３０〜１３３５で伝送する準備を整えて時間内に起動する。従って、時分割ブロックが５０ｍｓでありかつ、トランザクションパケットのやり取りが１ｍｓ続く場合、タグは、各時分割ブロックの約４４ｍｓにわたってスリープする。予定されたトランザクションの時点において、タグは、マスタアンカＡＭに双方向測距要求等のトランザクションパケットを送信する。好ましい実施形態では、タグは、次のタグトランザクションの予定を立てるためにマスタアンカＡＭとの最後の通信内でマスタアンカＡＭから受信した期間を使用し、それによりマスタアンカのクロックのレートと僅かに異なるレートでタグのクロックが動く場合にさもなければ生じ得るドリフトが減る。
【００７１】
マスタアンカＡＭが双方向測距要求を受信すると、マスタアンカＡＭは、双方向測距応答を生成する。この応答は、タグが次の双方向測距要求を送信する前に待つべき遅延、期間値、及び他のネットワークデータを含む。タグがマスタアンカＡＭから双方向測距応答を受信する場合、そのタグは、双方向測距肯定応答パケットで応答し、双方向測距応答内で受信される調節済みの遅延を使って自らの予定されたタグトランザクションの時間を更新する。タグが１．５ｍｓ以内に双方向測距応答を受信しない場合、タグは、マスタアンカＡＭによって最後に指定された期間を使用して次のトランザクション時間を決定する。双方向測距トランザクションの終わりに又は受信タイムアウトの終了後、タグは、低電力のスリープ状態に戻る。ネットワークの一実装形態によって使用される各種のトランザクションパケット内に含まれるデータについて、図１６に関して以下でより詳細に解説している。
【００７２】
図１５Ｂは、実装１００の例示的実装形態によって使用されるマスタアンカＡＭの状態図を示す。図１５Ｂに示すように、マスタアンカＡＭは、依然としてマスタアンカのデータ通信ネットワークのメンバではなく、そのネットワークに追加されることを望む任意の新たなタグによる構成要求パケットのブロードキャストをマスタアンカＡＭが検出する構成段階１５４０から開始し、時分割ブロック内の３つの窓に対応する３つの別個の動作段階を循環する。この後にトランザクション段階１５６０が続き、この間、マスタアンカＡＭ及びタグがトランザクションパケットをやり取りする。最後に、マスタアンカＡＭは、スレーブ段階１５８０に入り、この間、マスタアンカＡＭは、スレーブアンカＡＳ（ｎ）と双方向測距データパケットをやり取りする。
【００７３】
図１３の構成窓１３０５に対応する構成段階１５４０内で、マスタアンカＡＭは幾つかの別個の状態を進む。マスタアンカＡＭは、ネットワークに加わろうと試みる新たなタグによってブロードキャストされる任意の構成要求をまずリスンする（構成リスン状態１５４５）。ネットワークに依然として加わっていない新たなタグからの構成要求を検出すると、マスタアンカＡＭは、構成応答状態１５５０に進み、ここで、新たなタグに固有の構成パラメータがアセンブルされ、タグに送り返される。この後に最終的な構成肯定応答状態１５５５が続き、ここで、マスタアンカＡＭは、マスタアンカＡＭが伝送した構成パラメータを新たなタグが成功裏に受信し処理したことを確認する確認メッセージを新たなタグから受信し処理しようと試みる。次いで、マスタアンカＡＭはリスン状態１５４５に戻る。
【００７４】
このようにして、マスタアンカＡＭは、構成要求を受信し処理し、構成パラメータをタグに送り返し、タグのリピートレート、各タグがネットワークに入ったときに対してタグがいつ伝送を開始するか、タグの確保済タイムスロットがトランザクション窓のどこに含まれるか、各タグの時間領域に対してトランザクションパケットをいつ伝送するか等の極めて重要な動作パラメータをタグに中継する。マスタアンカＡＭは、マスタアンカＡＭから応答を受信するためにタイムアウトまでどの程度長く待つべきか（ネットワークタイムアウトパラメータ）、並びにタグがネットワークを利用できないと見なしシャットダウンするまで構成要求を何回繰り返すかをタグに伝えるようにも構成され得る。
【００７５】
先に図１３に示したトランザクション窓１３１０に対応するトランザクション段階１５６０内で、マスタアンカＡＭは、タグリスン状態１５６５内でタグからの伝送をまずリスンし、次いで受信状態１５７０内でタグからのトランザクションパケットを受信し分析し、最後にトランザクション処理状態１５７５内でトランザクションパケットを処理し、ネットワークに現在加わっているタグのそれぞれとトランザクションパケットを逐次的方法でやり取りする。マスタアンカＡＭは、受信時に伝送タイムスタンプを分析し、その情報を確保済タイムスロットのリストと比較し、確保済タイムスロットの境界に向かう任意のドリフトに対処するために必要に応じて調節状態１５９７に入ることにより、各タグがどの程度正確に自らの確保済タイムスロット内で伝送するかを決定する能力を有する。調節状態１５９７中のマスタアンカＡＭの動作の詳細について、図１７Ｂに関して以下でより詳細に解説している。
【００７６】
先に図１３に示したスレーブ窓１３１５に対応するスレーブトランザクション段階１５８０内で、マスタアンカＡＭがスレーブアンカＡＳ（ｎ）とデータパケットをやり取りする。まず、マスタアンカＡＭは、スレーブリスン状態１５８５内でスレーブアンカＡＳ（ｎ）からの伝送をリスンする。次いで、マスタアンカＡＭは、受信状態１５９０中にスレーブアンカＡＳ（ｎ）からの伝送信号を受信する。最後に、マスタアンカＡＭは、スレーブデータ処理１５９０中に上記のスヌーピングデータを処理する。一例示的実装形態では、スレーブデータパケットのやり取りが、スレーブアンカＡＳ（ｎ）とマスタアンカＡＭとの間の双方向測距要求、双方向測距応答、及び双方向測距肯定応答を含む。スレーブトランザクションの長さは約３ミリ秒であり得る。スレーブトランザクションは、スレーブアンカＡＳ（ｎ）がスリープしないことと、スレーブトランザクションの最後のパケットが、スヌープデータが追加のペイロードとして重畳する双方向測距肯定応答パケットであることとを除いてタグトランザクションと同様である。
【００７７】
スケジューリングのために、一部の実装形態では、マスタアンカＡＭがネットワーク内のタグ及びアンカＡＳ（ｎ）のリストを装置の種類及びリピートレートによってまず分類するように構成され得る。タグは、最初にリスト内に配置され、より低いリピートレートがトランザクション窓内で最初にスケジューリングされるように、そのリピートレートによって分類される。次いで、全ての装置にトランザクションの数及び段階が割り当てられる。トランザクション窓内のタイムスロットを確保し、タグのリピートレート設定に基づいてタグに割り当てる。ネットワークの一実装形態では、タグのリピートレート設定が、全ての（図１３に示す）時分割ブロック１３００中に双方向測距を行わないものである場合、タグは、全ての時分割ブロック１３００中に双方向測距パケットのやり取りを必要としない１つ又は複数の他のタグと確保済タイムスロットを共用するようにマスタアンカＡＭによって指示され得る。例えば２つのタグが確保済タイムスロットを共用している場合、各タグは、確保済タイムスロットが発生するたびにトランザクションパケットを交互に伝送する。リピートレート設定が、５０ミリ秒／周期（時分割ブロック１３００の大きさ）に等しい２０Ｈｚのリピートレートに対応する場合、そのタグは、確保済タイムスロットが生じるたびにトランザクションパケットを伝送することが予期され、そのタイムスロットを他のいかなる装置とも共用しない。このようにして、１５個のタグトランザクションスロットが埋まる。マスタアンカＡＭから受信される順序でスレーブアンカＡＳ（ｎ）にタイムスロットが割り当てられる。スレーブアンカＡＳ（ｎ）は、自らのリピートレートが時分割ブロックの長さ（５０ミリ秒）と同等であるように常に構成される。
【００７８】
図１６は、実装１００の例示的実装形態のノード間でやり取りされる各種のデータ伝送パケットの各パケット内のフィールドの順序を示す。図１６に示すように、システムの動作中の構成事象及びトランザクション事象内で使用される６種類のデータ伝送パケットがある。
【００７９】
構成要求パケット１６０１は、パケットの種類の識別情報１６００、パケットのバージョンに関する情報１６０２、複数の無線データ通信ネットワークが互いのごく近くで動作している場合に必要になるネットワークＩＤ１６０４で始まる、バイナリ形式のデータを含む。構成要求パケット１６０１は、ブロードキャストアドレス１６０６、及び構成要求パケット１６０１を送信するタグの特定のシリアル番号１６０８も運ぶ。このシリアル番号は、特定のモデルで製造される各タグに固有であり、データのやり取りを成功させるために何れのデータプロトコルが必要になるかをシステムが認識できるように含められる。構成要求パケット１６０１の最後の要素はシーケンス番号１６１０であり、シーケンス番号１６１０は、伝送ごとに増分し、システムの動作中の全ての事象に特定の番号を与える任意数である。
【００８０】
構成応答パケット１６０３は、パケットの種類を識別するフィールド１６１２と、その後に続くパケットバージョンフィールド１６１４、及びネットワークＩＤフィールド１６１６も含む。シリアル番号フィールド１６１８は、構成要求パケット１６０１のフィールド１６０８内で使用される同じシリアル番号であり、構成要求パケット１６０１を伝送した特定のタグ用である構成応答パケット１６０３をマスタが伝送していることを確認する役割を果たす。構成応答パケット１６０３内には、マスタアドレスフィールド１６２０、シーケンス番号フィールド１６２２、及び宛先アドレスフィールド１６２４も含まれる。フィールド１６２４は、その特定のタグ又はスレーブアンカＡＳ（ｎ）のための装置構成データを含む。フィールド１６２８は、自らの最初のデータトランザクションを開始するまでタグがどの程度長く待つべきかをタグに伝えるミリ秒単位の遅延時間を含み、フィールド１６３０は、タグ独自の時間領域に対して自らの伝送をリピートするためにどの程度長く待つかをタグに伝えるミリ秒単位の期間を含む。構成応答パケット１６０３内の最後のフィールド１６３２は、タイムアウトパラメータを含み、タイムアウトパラメータは、トランザクション窓中にマスタアンカＡＭから応答が受信されない場合にどの程度長く待つべきかをタグに伝える。フィールド１６１２〜１６２２は構成パケット１６０３の「ヘッダ」データと見なされる一方、フィールド１６２４〜１６３２は「ペイロード」を運ぶと見なされる。
【００８１】
構成肯定応答パケット１６０５は、パケットタイプフィールド１６３４、パケットバージョンフィールド１６３６、ネットワークＩＤフィールド１６３８、構成応答パケット１６０３のマスタアドレスフィールド１６２０内で使用される同じデータであるマスタアドレスフィールド１６４０を含む。タグアドレスフィールド１６４２は、構成応答パケット１６０３の宛先アドレスフィールド１６２４と同じデータを有し、タグ及びマスタアンカＡＭが各パケットトランザクション中に互いに伝送を行うことを確実にする。シーケンス番号フィールド１６４４が構成肯定応答パケット１６０５を完成させる。
【００８２】
トランザクション窓中、双方向測距要求パケット１６０７、双方向測距応答パケット１６０９、及び双方向測距肯定応答パケット１６１１がマスタアンカＡＭ及びタグによってやり取りされる。双方向測距要求パケット１６０７は、パケットタイプフィールド１６４６、パケットバージョンフィールド１６４８、ネットワークＩＤフィールド１６５０、マスタアドレスフィールド１６５２、及びその後に続くタグアドレスフィールド１６５４を含む。次は、その特定の双方向測距トランザクションに固有の識別情報である双方向測距ＩＤフィールド１６５６である。その後にシーケンス番号フィールド１６５８が続き、伝送時間フィールド１６６０が双方向測距要求パケット１６０７を完成させる。
【００８３】
双方向測距応答パケット１６０９は、パケットタイプフィールド１６６２、パケットバージョンフィールド１６６４、ネットワークＩＤフィールド１６６６、及び双方向測距要求パケット１６０７のタグアドレスフィールド１６５４と同じ情報を運ぶタグアドレスフィールド１６６８を含む。マスタアドレスフィールド１６７０は、双方向測距要求パケット１６０７のマスタアドレスフィールド１６５２と同じ情報を含む。次は、双方向測距要求パケット１６０７の双方向測距ＩＤフィールド１６５６と同じ識別情報を含む双方向測距ＩＤフィールド１６７２である。シーケンス番号がフィールド１６７４内に含まれ、遅延パラメータフィールド１６７６、及び伝送期間がフィールド１６７８内に与えられる。双方向測距応答パケット１６０９内で、遅延フィールド１６７６及び期間フィールド１６７８はペイロードであり、各双方向測距トランザクション中のタグの伝送開始を調節して各タグが自らの確保済スロット中に伝送し続けることを確実にする手段の役割を果たす。
【００８４】
双方向測距肯定応答パケット１６１１は、パケットタイプフィールド１６８０、パケットバージョンフィールド１６８２、ネットワークＩＤフィールド１６８４、及び双方向測距応答パケット１６０９のマスタアドレスフィールド１６７０と同じ情報を運ぶマスタアドレスフィールド１６８６を含む。タグアドレスフィールド１６８８内に含まれるデータは、双方向測距応答パケット１６０９のタグアドレスフィールド１６６８内のデータと同じ情報である。その後に双方向測距ＩＤフィールド１６９０が続き、双方向測距ＩＤフィールド１６９０は、双方向測距応答パケット１６０９の双方向測距ＩＤフィールド１６７２と同じ識別情報を含む。シーケンス番号がフィールド１６９２内に含まれる。双方向測距肯定応答パケット１６１１の最後の２つのフィールドは、タグの位置を計算するために使用される受信時間フィールド１６９４及び伝送時間フィールド１６９６である。
【００８５】
バイオメトリク情報、タグステータス情報、タグ電池の健康状態、最適なネットワーク性能を維持し又は補助的な事象の分析として使用するためにアレイ若しくはデータベースにデータ投入するためにシステムにとって有用な他の任意の情報等、追加のペイロードとして他のデータをトランザクションパケットに重畳することができる。
【００８６】
図１７Ａは、実装１００の一例示的実装形態においてタグによって実行される動作を詳述するフローチャートを示す。タグは、まず電源投入又はリセットステップ１７００においてアクティブになる。タグは、ステップ１７０５で構成状態に入り、ここで、タグは、自らの存在をネットワークにアナウンスする。ネットワークによって検出されると、タグは、構成要求１７１０を伝送し、構成応答１７１５を受信し、構成肯定応答１７２０を伝送する。ステップ１７１０で構成要求を伝送した後、ステップ１７１５で構成応答が検出されない場合、タグは、構成ステップ１７０５に戻り、自らを再びネットワークにアナウンスしようと試みる。タグがステップ１７１５で構成応答を受信する場合、伝送、受信、及び伝送の双方向測距動作１７３０を指示するために、構成応答及び肯定応答パケットの情報がスケジューラ１７２５によって使用される。ステップ１７３０の双方向測距動作中にタグがマスタアンカＡＭから信号を受信しないところまで到達すると、そのタグは、構成ステップ１７０５にタグを戻すタイムアウトステップ１７３５に入る。
【００８７】
ネットワークの一実装形態では、構成応答データパケットがネットワークタイムアウトパラメータをタグに与える（図１６のフィールド１６３２を参照されたい）。このタイムアウトは、タイムアウト前にマスタアンカＡＭからの応答をどの程度長く待つべきかをタグに伝える。交互に、タグがトランザクション要求を送信するたびに、要求を試みたタグがタイムアウトする回数を示す変数が増分される。トランザクション応答を受信すると、装置は試行カウンタをゼロにリセットする。試行カウンタが既定の閾値を上回る場合、タグはネットワークから外れ、新たな構成を要求し始める。
【００８８】
図１７Ｂは、実装１００の一例示的実装形態においてマスタアンカＡＭによって実行される動作を詳述するフローチャートを示す。構成窓中、マスタアンカＡＭは、ステップ１７４０で構成要求を受信し、構成要求が新たなタグから来たとステップ１７４５で判定する。ステップ１７５０において、マスタアンカＡＭは、タグのトランザクション用の新たな確保済タイムスロットを割り当てる。スロットの割当てに関係する情報は、タグ状態アレイ１７５５内に記録される。トランザクション窓中、マスタアンカＡＭは１つのタグから双方向測距要求を受信し（ステップ１７６５）、ステップ１７７０で双方向測距応答を伝送し、ステップ１７７５で双方向測距肯定応答を受信する。ステップ１７６５で受信される双方向測距要求に関係する伝送時間情報は、タグ状態アレイ１７５５内に記録される。タグ状態アレイは、アジャスタ１７６０によってアクセスされ、アジャスタ１７６０は、タグの伝送時間性能を継続的にモニタして各タグがどの程度正確に自らの確保済タイムスロット内でパケットを伝送するかを判定する。アジャスタは、必要な場合に双方向測距応答１７７０の伝送内に時間調節パラメータを組み込む。マスタアンカＡＭは、トランザクションパケットの適時の伝送を確実にするためにタグの遅延期間も更新し得る。マスタアンカＡＭがトランザクション窓中に双方向測距要求を受信しない場合、マスタアンカＡＭは、タイムアウトステップ１７８０に進み、マスタアンカＡＭは、タイムアウトステップ１７８０中にタグ状態アレイをクリアすることができる。
【００８９】
装置の最初の双方向測距時間（ｔｔｗｒ）について図１７Ａに示す遅延期間は、構成要求パケットがマスタアンカＡＭによって受信されるときに計算される。再び図１３を参照すると、要求がタグから生じる場合、最初の遅延は、５００００マイクロ秒と、特定のトランザクションよりも前に終わる時分割ブロック１３００の数とを掛けたものをトランザクションのタイミングに加えた時間とは対照的に、構成窓１３０５内に残っている時間と、トランザクション窓１３１０の始めからその装置の確保済トランザクションスロット（窓内のトランザクションの順序を指す）までの時間とを加えたものに等しい。スレーブアンカＡＳ（ｎ）のための計算は、実質的に構成窓１３０５内に残っている時間と、トランザクション窓１３１０の長さと、スレーブ窓１３１５の始まりからそのデータパケットトランザクションまでの時間とを加えたものである。
【００９０】
トランザクション応答パケットがアセンブルされると、（最初の試みでパケットがドロップされる場合に）自らのペイロードデータの再伝送をいつ試みるかをタグが知るように、タグに関するタグ期間設定を含めるようにシステムを構成することができる。マスタアンカＡＭがタグからトランザクションパケットを受信すると、マスタアンカＡＭは、以下の公式を使用してタグの調節済みタグ期間を計算する。
ｔａｄｊｕｓｔ＝ｍｏｄ（ｔｔｒａｎｓａｃｔｉｏｎ，ｔｂｌｏｃｋ）−ｍｏｄ（ｔｒｘ，ｔｂｌｏｃｋ）
ここで、ｔａｄｊｕｓｔは、調節済みタグ期間であり、
ｔｔｒａｎｓａｃｔｉｏｎは、トランザクションパケットを受信する期待時間であり、
ｔｂｌｏｃｋは、時分割ブロックの持続時間であり、
ｔｒｘは、パケットが実際に受信された時間である。
【００９１】
タグ期間設定値は、データパケットトランザクション間の時分割ブロックの数に対応する。従って、０のタグ期間設定は２０Ｈｚであり、１のタグ期間設定は１０Ｈｚである。タグが次に双方向測距トランザクションを開始する時間（ｔｔｗｒ）は、時分割ブロックを５００００マイクロ秒（時分割ブロックのサイズ）と掛けることによって求められる。次の双方向測距トランザクション（ｔｔｗｒ）の始めに調節済みタグ期間（ｔａｄｊｕｓｔ）を追加してからそれをタグに送信する。次の双方向測距トランザクションまでのブロック数は、マスタアンカＡＭの段階及びタグ期間設定によって決定される。要求側のタグに対する現段階は、タグのタグ期間設定を法として、マスタ装置上の現在時間を５００００で割ったものである。
【００９２】
本実装形態のスケジューリングアルゴリズムは、無線データ通信ネットワークに加わる複数のタグの伝送を調整する。ノードは、互いに対して及びネットワークに対してドリフトする独自の時間領域をそれぞれ有するため、本解決策は、ノードが分散システム内で動作するための正確な時間スキームを課す。本システムは、スロット伝送性能を＋／−１０マイクロ秒の許容範囲で決定することができ、かかる許容範囲は、可用チャネル容量のほぼ１００％の使用を伴ってシステムが複数のデータパケットトランザクションを処理できるようにするのに十分な精度である。無線周波数伝送は、使用電力に関して高コストであり得るため、この集中型のスケジューリング手法は、指定の期間を辿らせ、ノードが伝送していないときに節電することによってノードにおける電池寿命を節約する。全アーキテクチャがタグにおける電池残量を節約するようにバイアスされ、ネットワーク内の１つの場所で調節を計算するのみでよい。従って、タグは、必要以上の動作を行うことを要求されない。
【００９３】
上記の本開示は、本発明の方法及び成果の例示であることを意図するに過ぎない。開示した実施形態からの逸脱及び開示した実施形態に対する修正形態が当業者に想到される。本発明の範囲は、添付の特許請求の範囲で定められる。
【図１Ａ】
2019501745.tif 000003
【図１Ｂ】
2019501745.tif 000004
【図２】
2019501745.tif 000005
【図３】
2019501745.tif 000006
【図４】
2019501745.tif 000007
【図５】
2019501745.tif 000008
【図６】
2019501745.tif 000009
【図７】
2019501745.tif 000010
【図８Ａ】
2019501745.tif 000011
【図８Ｂ】
2019501745.tif 000012
【図９Ａ】
2019501745.tif 000013
【図９Ｂ】
2019501745.tif 000014
【図１０】
2019501745.tif 000015
【図１１】
2019501745.tif 000016
【図１２】
2019501745.tif 000017
【図１３】
2019501745.tif 000018
【図１４】
2019501745.tif 000019
【図１５Ａ】
2019501745.tif 000020
【図１５Ｂ】
2019501745.tif 000021
【図１６】
2019501745.tif 000022
【図１７Ａ】
2019501745.tif 000023
【図１７Ｂ】
2019501745.tif 000024
【国際調査報告】
2019501745.tif 000025
2019501745.tif 000026