(57)【特許請求の範囲】
【請求項１】
複数のステーションによるネットワーク媒体へのアクセスを制御する方法であって、
ａ）タイムスロットの数を決定するステップと、
ｂ）前記タイムスロットにスロットサイクルを割り当てるステップであって、前記タイムスロットの少なくとも１つに複数のスロットサイクルを割り当てるステップと、
ｃ）前記ステーションのそれぞれが必要とする帯域幅に応じて、前記タイムスロットに割り当てられたスロットサイクル毎に、前記複数のステーションのいずれか１つを割り当てるステップであって、少なくとも１つの前記タイムスロットにおけるスロットサイクルに複数の異なる前記ステーションを割り当てる、ステップと、
ｄ）前記各ステーションが前記ステップ（ｃ）において割り当てられたスロットサイクルの間にデータ伝送を行うように前記各ステーションを作動させるステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
前記ステップ（ｄ）において、前記複数のステーションのいずれか１つによるデータ伝送が、前記タイムスロットの順に繰り返され、前記各タイムスロットにおいて、当該タイムスロットに割り当てられたスロットサイクルの順に、当該スロットサイクルに割り当てられたステーションがデータ伝送を行うように、前記各ステーションを作動させる、
ことを特徴とする方法。
【請求項３】
請求項１又は２に記載の方法を実行するために採用されるネットワークアダプタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ伝送ネットワークに関する。特に、本発明はネットワークステーションによる共通通信媒体への複数のアクセスをサポートする方法に関する。本発明は、ユニバーサルマルチプルアクセスプロトコルを改良したものである。
【０００２】
【従来の技術】
代表的な半二重通信ネットワークには、通信用の共通媒体に接続された複数のステーションが含まれる。媒体上の通信は、複数のアクセスと帯域幅割振りを定めた特定のプロトコル(複数の場合もある)に従って行われる。これらのプロトコルは、各ステーションが実行すべき事象のシーケンスを決定し、ステーション間の干渉、すなわち「衝突（collision）」の発生を回避または低減する。プロトコルの実行には通常、物理的媒体にアクセスし、ステーション間のバイナリデータ伝送を制御するのに必要なプロトコルを実行するメディアアクセスコントローラ（ＭＡＣ）が含まれる。
【０００３】
イーサネットプロトコルはより一般的なプロトコルのひとつであり、すべてのステーションが均等にネットワークにアクセスできる。ネットワーク上の各ステーションまたはノードには、衝突検出機能を有するキャリアセンスマルチプルアクセスを使用するネットワークインタフェースカードがある。これは通常、ＣＳＭＡ／ＣＤと呼ばれる。このプロトコルによれば、伝送前に、ステーションは媒体上のトラフィックを探す。媒体上でトラフィックが感知されないと、ステーションは伝送を開始する。伝送が開始された後には、伝送ステーションが媒体をモニタし、別のステーションがその媒体にアクセスしたことによる衝突がないかを判断する。衝突が検出されると、プロトコルは両方のステーションに伝送を停止させ、任意の時間待機させ、伝送を再試行する。
【０００４】
ネットワーク媒体にアクセスするための別の方法は、「タイムスロットマルチプルアクセス」と呼ばれるものである。ユニバーサルマルチプルアクセス、つまりＵＭＡはタイムスロットマルチプルアクセスプロトコルの具体的な実施例である。このプロトコルは、各ステーションが、割り当てられたタイムスロット中にラウンドロビン（round robin）配置の媒体にアクセスするというアクセステクニックを用いる。中央ネットワークマネージャ（マスタステーション）は、初期化ビーコン（「ビーコン」とは、全ステーション向けメッセージ）を使って、新しいステーションのそれぞれに対してひとつまたは複数のタイムスロットを割り当てることにより、ネットワークを初期化する。すべてのステーションは各々のアクセス時間を、それぞれに割り当てられたタイムスロットの開始時にタイムアウト（time out）するように初期化する。すべてのステーションは、ひとつのステーションがネットワークにアクセスする時は必ずアクセスタイマを止め、そのタイマを各伝送の終了時に再開する。各ＵＭＡステーションは、それに割り当てられたタイムスロット内にのみ伝送を行うことができる。この方法は、ステーション間の仮想時間トークンを通すことと等しい。ＵＭＡの実施例は１９９８年６月３０日にカルカント他に発行された米国特許第５，７７４，６５８号に開示されている。
【０００５】
【発明が解決しようとする課題】
ＵＭＡプロトコル等のタイムスロットマルチプルアクセス法には、ネットワークにアクセスするための所定数のタイムスロット、境界のあるアクセス待ち時間、およびスロット割合に基いて各ステーションに割り振られる帯域幅量の下限をネットワークに提供するという利点がある。(待ち時間は単純に「遅延」であり、「アクセス待ち時間」はネットワークへのアクセスを開始してからデータを実際に送信することができる時までの待ち時間である。)たとえば、大きな帯域幅を必要とするデバイスには、複数のタイムスロットが割り当てられる。ＵＭＡには、各ステーションが所定の伝送時間を割り当てられることから、衝突を回避するという利点もある。ステーションがそれに割り当てられたタイムスロット中に伝送を開始すると、タイムスロットの時間測定は中断され、伝送が終了すると時間測定は再開される。したがって、伝送時間はタイムスロットより長くなる場合がある。
【０００６】
しかし、これらの方法では、ネットワーク上の各ステーションに割り振られた帯域幅を管理する上で所望の柔軟性を得ることができない。そのひとつの原因が、各ステーションの最大待ち時間と最小スループットがタイムスロットの総数に依存しているという事実である。タイムスロットの数が変わると、ひとつのステーションに割り当てられた待ち時間とスループット（throughput）は、そのステーションに割り当てられたタイムスロット数が全スロットの変化を補償するだけ変更されれば変わらない。タイムスロット数はネットワークの一部となりうる最大ステーション数と個々のステーションに割り振ることのできる帯域幅の最低量の両方を決定する。これは、スロットによって割り当てられた伝送時間に関するスロットの幅に関係なくあてはまる。そこで、改良されたマルチプルアクセスネットワークが必要となる。
【０００７】
【課題を解決するための手段】
このニーズは、本発明により、複数のステーションによるネットワーク媒体へのアクセスを制御する方法を提供することによって満たされ、この方法は、
ａ）タイムスロットの数を決定するステップと、
ｂ）前記タイムスロットにスロットサイクルを割り当てるステップであって、前記タイムスロットの少なくとも１つに複数のスロットサイクルを割り当てるステップと、
ｃ）前記ステーションのそれぞれが必要とする帯域幅に応じて、前記タイムスロットに割り当てられたスロットサイクル毎に、前記複数のステーションのいずれか１つを割り当てるステップであって、少なくとも１つの前記タイムスロットにおけるスロットサイクルに複数の異なる前記ステーションを割り当てる、ステップと、
ｄ）前記各ステーションが前記ステップ（ｃ）において割り当てられたスロットサイクルの間にデータ伝送を行うように前記各ステーションを作動させるステップと、を含む。また、前記ステップ（ｄ）において、前記複数のステーションのいずれか１つによるデータ伝送が、前記タイムスロットの順に繰り返され、前記各タイムスロットにおいて、当該タイムスロットに割り当てられたスロットサイクルの順に、当該スロットサイクルに割り当てられたステーションがデータ伝送を行うように、前記各ステーションを作動させることが望ましい。
【０００８】
本発明は、ユニバーサルマルチプルアクセスプロトコル等の既知のタイムスロットマルチプルアクセス方法を拡張し、各タイムスロットのアクセスウィンドウを「スロットサイクル」と定義する。ネットワーク内の各ステーションには、ひとつまたは複数のスロットサイクルが割り当てられ、割り当てられたスロットサイクルについてのアクセスサイクルが終了すると、スロットサイクルカウンタが進む。これにより、そのスロットに割り当てられたサイクル総数のモジューロ（modulo）である各スロットの増大サイクル数ができる。（「モジューロ」（基数（ｋ））はモジューロｋで割った残りの整数である。）ステーションはそれに割り当てられたサイクルとタイムスロット（以下、「スロットサイクル」という）中のみネットワークにアクセスできる。各ステーションには、初期化ビーコンまたは同期ビーコンを通じて、ひとつまたは複数のスロットサイクルが割り当てられる。この同期ビーコンには、タイムスロットｋについてのスロット数（ｋ）、サイクル数（ｊ）、最大サイクル数（Ｍ（ｋ））が含まれる。各ステーションは、そのタイムスロットの開始を決定するのに使われるアクセスタイマに沿ってそのスロットサイクルカウンタを保持する。このように、本発明によってネットワーク上のステーションに帯域幅を割り振る自由度が広がる。たとえば大きな帯域幅を必要とするステーションには、全スロットサイクルを含め、タイムスロット全体だけでなく、他のタイムスロット中のスロットサイクルを割り当てることができる。同様に、ほとんど帯域幅を必要としないステーションには、特定のタイムスロット内の限られた数のスロットサイクル、あるいはひとつのみ割り当ててもよい。これにより、タイムスロット全体が割り当てられる場合より小さな帯域幅を与えられる。
【０００９】
割り当てられたタイムスロット中にのみネットワーク媒体へのネットワークステーションのアクセスを制御するための改良されたタイムスロットマルチプルアクセス法であり、その中で、タイムスロットのシーケンスが繰り返し循環する。改良点は、ひとつのタイムスロットにラウンドロビン選択によって複数のステーションを割り当てることにより、タイムスロットが複数のステーションで共有されることである。
【００１０】
ユニバーサルマルチプルアクセス（ＵＭＡ）は、時間を割り当てられたスロットに分割するという点で、時分割多元接続（ＴＤＭＡ）と似ているが、ＴＤＭＡと異なり、ＵＭＡはステーションがデータフレームを別のステーションに転送するたびに各スロットのスケジューリングが変わる。その結果、すべてのオンラインステーションによってモニタされるネットワーク伝送に基いてタイムスロットスケジューリングのローテーションが得られる。タイムスロットシーケンスの周期的なリセットは、アクティブノードが同期ビーコンを伝送する時に行われる。同期ビーコンに指定された送り主も、タイムスロット割当と同様のローテーションとなる。
【００１１】
標準的ＵＭＡプロトコルによれば、標準的ＵＭＡ同期ビーコンがマスタステーションによって放送されるたびに、各スロットの持ち主は次の持ち主にローテートされる。タイムスロットの最後の持ち主にアクセスが与えられると、所有権はローテーションで最初の持ち主に戻る。本発明に関し、スロットのシーケンスは、各ステーションがそのモジューロＭ（ｋ）のサイクルカウンタを進めた後、繰り返される。サイクルカウントがＭの最大値に達すると、マスタステーションは標準的同期ビーコンの代わりに特別なマスタ同期ビーコンを放送する。このメッセージは、すべてのスロットを各々の最初のステーション（サイクル０）に再度割り当て、タイムスロットシーケンスをリセットする。マスタ同期ビーコンは、この最低値より多いサイクル分だけ遅延される。標準的ＵＭＡのひとつの限界は、タイムスロットの数をステーションの数と同じ以上にしなければならないことである。標準的ＵＭＡの２つめの限界は、スロットが割り当てられるステーションはいずれもひとつのスロットしか持たないことである。アクセス時間だけがローテーションされる。すべてのタイムスロットが割り当てられると、新しいステーションは前に割り当てられたタイムスロットが使える状態になるまで、あるいは新しいスロットが追加されるまでアクセスを拒否される。割り当てられたステーションの中に、非常に少ない帯域幅しか使用していないものがある場合でもアクセスを与えることは不可能である。本発明は、複数のステーションでタイムスロットを共有することを可能にする。これは、ひとつまたは複数の、３つの数からなるアクセスベクトルを各ステーションに割り当てることで実現できる。３つの数からなるアクセスベクトルは、１）タイムスロット数、２）そのタイムスロット内のスロットサイクル数、３）そのタイムスロットに割り当てられるスロットサイクル総数に対応する。本発明では、各タイムスロットの持ち主はメンバステーション内でローテーションすることができる。本発明の方法によれば、各タイムスロットに異なる数のメンバステーションを割り当て、各ステーションを複数のスロット内のスロットサイクルに割り当てることが可能である。
【００１２】
このように、本発明の方法を用いれば、ネットワークへのアクセスは、そのタイムスロットのひとつまたは複数の中のサイクル数を、アクセスが必要なステーション数の増加に合わせて増やすことができるかぎり、低サービス品質（ＱｏＳ）要件のステーションについて拒否されることはない。スループットを維持しなければならないステーションは、これら新しい低ＱｏＳステーションを追加しても影響を受けない。各スロットに異なる数のスロットサイクルを割り当てる方法は、ネットワーク上の実行階層（ティア：tier）つまりサービス品質（ＱｏＳ）を作るのに使用できる。割り振られていない帯域幅は、割り当てられていないスロットサイクルを作ることによってネットワーク内の他のステーションに戻すことができる。割り当てられていないスロットサイクルは、同じスロットに割り当てられた他のステーションが利用できる帯域幅を減らし、その帯域幅を他のスロットに戻す効果を持つ。この帯域幅を使用する優先権は、割り当てられていないスロットサイクルを持つスロットの時間的にすぐ後のスロットに与えられる。
【００１３】
【発明の実施の形態】
図１（ａ）と（ｂ）は、ひとつの考えられるネットワークシステムについて、本発明による時間共有スロットを簡単に示す。図１（ａ）はスロットサイクル（１０）のタイムスロット（１２）への割振りを示し、図１（ｂ）はスロットサイクルのステーションへの割当を示す。この例において、各行は割り振られたタイムスロット（列で示す）のひとつのサイクルを示す。割り振られたタイムスロットは、「スロット０」、「スロット１」、「スロット２」、「スロット３」、「スロット４」の５つである。図中の連続する各行は、タイムスロットシーケンス中の新サイクルを示す。このように、「スロット１サイクル・・・」列の行３において、”３（Ｅ）”はステーション”Ｅ”がサイクル番号３のスロット１に割り当てられることを意味する。番号３は、スロット１に割り当てられた各ステーションによって計算された値である。最初の列へのエントリが”０（Ａ）”であるため、このタイムスロットに割り当てられているステーションは１つだけである。標準的ＵＭＡによるスロット所有権（つまり優先権）のローテーションは本発明においては必要条件ではないため、明確化を期すよう、図１ではローテーションを示していない。タイムスロット”０”についての１スロット−１ステーション割当は、標準的ＵＭＡと同じである。
【００１４】
タイムスロットはそれぞれ、異なる数のスロットサイクルを提供するよう定義されている。タイムスロット０にはひとつだけスロットサイクルが割り振られている。タイムスロット１には５つのサイクルが割り当てられ、タイムスロット２には２つのサイクル、スロット３には４つのサイクル、スロット４には１４のサイクルがそれぞれ割り当てられている。図１に示されるサイクルを見ると、ａ）ステーション”Ａ”にはスロットゼロについてのスロットサイクルが全部割り振られ、ｂ）ステーション”Ｂ”，”Ｃ”，”Ｄ”，”Ｅ”，”Ｆ”にはタイムスロットの５つめごとのサイクルが割り振られ、ｃ）ステーション”Ｇ”にはスロット２の２つめごとのサイクルとスロット３の４つめごとのサイクルが与えられ、ｄ）ステーション”Ｉ”にはスロット３の４サイクルのうち２つが与えられ、ｅ）ステーション”Ｒ”にはスロット４の１４個ずつのサイクルのうち１つが与えられていることがわかる。
【００１５】
このネットワーク例には２４のステーションがあり、スロットは５つのみで、それぞれステーション”Ａ”によって所有されている。低いサービス品質のみ必要とするステーションはスロット４に割り当てられる。図１のスロット４に割り当てられるステーション数は多いが、スロット０を含む他のスロットに関わる待ち時間には影響を与えていない。ステーション”Ｇ”にスロット３における余分なスロットサイクルを割り当てる場合、ステーション”Ｈ”のスループットは、ステーション”Ｇ”のそれが増えても影響を受けなかった。
【００１６】
本発明では、各タイムスロットの所有権をＭ（ｋ）のメンバステーション内でローテーションすることができる。”ｋ”はタイムスロット数である。本発明によれば、各スロットには異なる数のメンバステーションを割り当てることができる。スロットｋのＭ（ｋ）＝１の場合、標準的ＵＭＡプロトコルと同様に、そのスロットには１つのステーションが割り当てられる。Ｍ（ｋ）＝２の場合、２つのステーションがアクセスを共有し、以下同様に続く。Ｍ（ｋ）はスロットｋについての「総サイクル」ということもできる。特定のサイクルにおける特定のタイムスロットは「スロットサイクル」である。スロット”ｋ”におけるひとつまたは複数のスロットサイクルが割り当てられた各ステーションには、それに割り当てられたサイクル数をカウントするためのモジューロとして使用されるＭ（ｋ）の数値が与えられる。
【００１７】
図１（ｂ）の最後の列（１４）は、そのステーションにデータ伝送がないと、各スロットサイクルの最後のタイムスロットの後に標準的な同期ビーコンが伝送されることを示している。マスタ同期ビーコンは、そのタイムスロットが最も多いスロットサイクルを有するスロットのスロットサイクル数に対応する回数だけ循環した後に伝送される。
【００１８】
次に図２においては、標準的ネットワークの略図が示されている。本発明の目的において、「ネットワーク」という言葉はコンピュータネットワーク、通信ネットワークあるいはその他データの送受信その他の転送を行うためのシステムを意味する。データには画像、ビデオ、グラフィクス、テキスト等が含まれる。データはネットワーク上で、２つまたはそれ以上のデバイス間で伝送できる。図２（ａ）と２（ｂ）は、標準的ネットワーク構成のブロック図である。ネットワークは、データその他の情報をネットワーク上の他のステーションに伝送する複数のステーション２０を含む。限定された数のステーションしか図２には示されていないが、ネットワークは多数のステーションを含めることができることは理解されるであろう。ネットワークは、バス、リング、スターまたは混合など、さまざまなタイプのトポロジを持つことが可能である。本発明の方法は、フォールトトレラントトポロジでも利用できる。フォールトトレラントトポロジを用いれば、媒体のチャンネルのうちひとつまたは複数が故障してもステーション間の接続は保たれる。図２（ａ）において、３０として示される通信媒体と接続されたネットワークが示されている。図２（ａ）において３０で示される通信媒体は、同軸ケーブル、光ファイバケーブル、電話線、ツイストペアラインその他のデジタルライン等、既知の通信媒体のいずれでもよい。さらに、本発明の方法は、図２（ｂ）に示す物理的接続のない、通信媒体が電磁スペクトルの一部に対応する無線ネットワークにも使用できる。ネットワークの一部となるには、ステーションはマスタステーション”Ｉ”の範囲内になければならない。
【００１９】
図３は、一般に４０で示されるネットワークアダプタのブロック図であり、これによってネットワークステーション２０と通信媒体３０との間の通信が可能になる。ネットワークアダプタは通常、ネットワークステーション２０とアダプタの残りのインタフェースを制御するインタフェースコントローラ４１、受信ユニット４２、送信ユニット４３、アダプタから通信媒体３０までのコネクタ４４を備える。図中４５で概略が示されているように、各種コンポーネントが適当な回路で接続される。本発明の方法が利用されるのは、ネットワークアダプタ内部である。
【００２０】
＜実施の形態の図面で使用される略称の定義＞
ＣＡＮ＝現行アクセス数。ローテーション優先権アルゴリズムにおいて、有効データフレームまたは同期ビーコンを受信した、あるいはこれらいずれかのメッセージを送信した後にアクセスウィンドウを持つことになる最初のスロット｛０，１，．．．，Ｎslots−１｝。これは当初、このステーションに割り当てられたタイムスロット、ｋにリセットされる。
【００２１】
ＣＡＴ＝現行アクセスタイマ。あるステーションがネットワークにアクセスする、あるいは同期ビーコンを送信するための適正な時間を決定するのに使用される継続時間タイマ。これは、フロー図に示されているアルゴルズムに従ってリセット、スタート、ストップされる。
【００２２】
Ｔａｗ＝「アクセスウィンドウ」の継続時間である。
【００２３】
ＣＡＴＷ＝現行アクセスタイマウィンドウ。現行アクセスタイマが作動している「アクセスウィンドウ」のユニットで測定される継続時間。この数値は、０からＮslots−１までの間で変化する。各「アクセスウィンドウ」は継続時間Ｔａｗである。図１１は、ＣＡＴに関するＣＡＴＷのグラフである。これは、図中において「底（フロア：floor）」記号（端数切り捨て）が示すように、「階段関数」とも言われる。
【００２４】
ＣＡＷ＝現行アクセスウィンドウまたはタイムスロットの絶対数。この数値は、０からＮslots−１の範囲で変化する。
【００２５】
ＰＡＴＷ＝前のＣＡＴＷ。
【００２６】
ＦＡＷ＝最初のアクセスウィンドウ。ラウンドロビンアクセスアルゴリズムにおいて、有効なデータフレームまたは同期ビーコンの受信あるいはこれらのフレームのいずれかの送信の後にアクセスウィンドウを所有する最初のスロット、｛０，１，．．．，Ｎslots−１｝。これは当初、タイムスロット０にセットされる。
【００２７】
Ｎslots＝このネットワークに関するタイムスロット総数。
【００２８】
Ｍ（ｊ）＝各種ステーションに割り当てることのできるタイムスロットｊに関するスロットサイクル総数。
【００２９】
ｋ＝このステーションに割り当てられるタイムスロット。
【００３０】
ＣＣ（ｋ，ｓ）＝ネットワークにアクセスするためにこのステーションｓに割り当てられたスロットｋのサイクルカウント。
【００３１】
Ｑ＝パラメータ。Ｑは常に、それに割り当てられる最大の総サイクル数を持つスロットが、確実に少なくともそれと同数のアクセスウィンドウを「見る」ようにするために必要な最小カウントと少なくとも同じ大きさである。これにより、そのスロットに割り当てられたすべてのステーションは、マスタリセットが発行される前に１回は伝送する機会を持ち、すべてのサイクルカウンタがゼロにリセットされる。Ｑが小さすぎると、一部のステーションは、そのサイクル（アクセスウィンドウ）が発生しないため、ネットワークにアクセスできない。したがって、Ｑはｊ＝｛０，１，２，．．．，Ｎslots−１｝についてのＭａｘＭ（ｊ）（以下、Ｍ（ｍ））と同等またはそれ以上とされる。スロット優先権がローテーションされ、最大Ｍ（ｊ）の指数ｍがこのステーションに割り当てられたスロットｋではない場合、スロットｍの少なくともＭ（ｍ）のアクセスウィンドウがネットワークのトラフィックに関係なく発生することを保証するために、”（Ｎslots−１）”の乗数が必要となる。スロットアクセスが全く間断なく連続する場合、Ｑ＞＝２＊Ｍ（ｍ）となる。これは、同期ビーコンの前に必要なアイドルアクセスウィンドウの数が（＞＝Ｎslots）でないかぎりあてはまり、同期メッセージ前の最後のアクセスウィンドウは常に最後のスロット、Ｎslots−１番に属する。こうした条件下で、Ｑは＞＝Ｍ（ｍ）＋１である。”＋１”はスロットｋがスロットｍの前、つまりｋ＜ｍである可能性を説明する。
【００３２】
ＳＷＯ＝同期ウィンドウオフセットで、このステーションに割り当てられたアクセスウィンドウの整数である。このオフセットにより、このステーションは最後のスロットのアクセスウィンドウからこのステーションが同期ビーコンを発行しなければならない時までの時間を決定することができる。ただし、これはラウンドロビンアクセスの例だけについてである。この数値は、スロットとスロットサイクルに加え、各ステーションに割り当てられる。数値０が割り当てられたステーションは常に、それができなくなるまで同期ビーコンを発行する。
【００３３】
ＴＭ＝ステーションが伝送モードを変えた後すぐに伝送される次のビーコンのタイプ。
【００３４】
ＳＣＣ＝スロットサイクルカウンタ。これは、マスタ同期ビーコンがスケジュールされる、または受信されるまで、ｋ番目のスロットサイクルアクセス時間が発生するたびに、１ずつ増える。この時、ＳＣＣはゼロにリセットされる。
【００３５】
ＣＡＣＣ＝現行アクセスサイクルカウンタ。その数値は、このステーションに属するタイムスロットｋに属する時間、ＣＡＣＣ＝ＣＣ（ｋ，ｓ）を決定するのに使用される（ＳＣＣ）ＭｏｄＭ（ｋ）である。
【００３６】
ＴＲＴ＝受信から送信に切り換える時間。
【００３７】
ＴＴＲ＝送信から受信に切り換える時間。
【００３８】
図４（図６、７）は、ＵＭＡアーキテクチャにおける本発明の２つの類似する実施形態のフローチャートである。第一の実施の形態（実施の形態１、実線で示す）には、サモイレンコ特許（１９９６年１１月１９日発行米国特許第５，５７６，７０２号）に従って、一定量だけ現行アクセス数、ＣＡＮをローテーションさせることが含まれ、第二の実施の形態（実施の形態２、破線で示す）には、ニア他特許（１９８９年１月１７日発行米国特許第４，７９９，０５２号）に従って、一番最近送信されたものの後にスロットが割り当てられたステーションに優先権を与えるよう、現行アクセス数を変えることが含まれる。このフローチャートは、前述のコントローラにおける受信ユニットの動作を説明する。動作中、受信ユニットはブロック３００でテストを行い、メッセージが受信されたかを判断する。メッセージを受信中である場合、これは一般的なネットワークにおいては、フレームシーケンスのプリアンブルとスタートが受信され、さらにブロック３１０のように有効なヘッダが受信されたことを意味するが、現行アクセスタイマ、ＣＡＴはブロック３２０でストップ、リセットされる。しかしながら、ブロック３１０においてメッセージ（ヘッダ）が有効でないと、ブロック４２０においてＰＡＴＷをＣＡＴＷと同等にセットし、次にＣＡＴＷを底（フロア：floor）（ＣＡＴ／Ｔａｗ）の結果と同等にセットする。メッセージの受信が３３０の判断に従って完了すると、ブロック３４０においてメッセージはテストされ、そのメッセージのタイプが同期ビーコンかどうかを判断する。メッセージが同期ビーコンでないと、ＣＡＮは、実施の形態１においてはブロック３５０で（ＣＡＮ−１）ＭｏｄＮslotsに、また実施の形態２においてはブロック３５１で（ＣＡＮ−ＣＡＴＷ−１）にセットされる。次に、３６０においてメッセージはこのステーション用のものであるかを判断するようテストされる。このステーション用のものであると、ブロック３７０においてプロセスデータパケットフラッグがセットされ、ステーションに対して受信したデータパケットを処理するよう示す。メッセージがこのステーション用のものでない場合、適当な遅延とブロック３８０におけるＣＡＴ再開の後にロジックはパスに戻り、通信チャンネルがアイドル状態かをテストする（ブロック３００）。
【００３９】
ブロック３４０に戻り、メッセージが同期ビーコンであると、ＣＡＮはブロック３９０でリセットされる。メッセージは４００においてテストされ、それがマスタ同期ビーコンか否かが判断される。それがマスタ同期ビーコンであれば、ブロック４１０において、現行アクセスサイクルカウンタ（ＣＡＣＣ）とスロットサイクルカウンタ（ＳＣＣ）は０にセットされる。適当な遅延とブロック３８０におけるＣＡＴ再開の後にロジックはパスに戻り、通信チャンネルがアイドル状態かをテストする。標準的同期ビーコンの場合、ＣＡＣＣとＳＣＣはリセットされない。
【００４０】
ブロック３００に戻り、通信媒体がアイドル状態であると、現行アクセスタイマはブロック４２０においてまだ作動していなければ、スタートする。このブロックはまた、ＣＡＴＷの初期値をＰＡＴＷとして保存した後、アクセスウィンドウインターバルの数のユニットで、ＣＡＴの現在の数値、ＣＡＴＷを計算する。ＣＡＴＷの数値はまずブロック４２９でテストされ、それが変わっているか、つまり新しいアクセスウィンドウが始まっているかが判断される。変わっていない場合、前のアクセスウィンドウがまだあり、ウィンドウに関するテストはそれ以上必要ない。変わっていれば、ブロック４３０でＣＡＴＷの新しい数値がテストされ、時間がこのステーション用のタイムスロットに入っているかが判断される。そうであれば、ブロック４４０において、”temp”は現行アクセスサイクルカウンタ（ＣＡＣＣ）にセットされ、スロットサイクルカウンタ（ＳＣＣ）は１だけ進められ、ＣＡＣＣは、スロットｋに割り当てられたサイクル総数である１ＭｏｄＭ（ｋ）だけ進められる。次に、ブロック４５０では、”temp”がテストされ、これがこのステーションに割り当てられたスロットサイクルであるか判断される。そうであれば、ブロック４５５では伝送フレーム準備状態がテストされ、ステーションが伝送すべきデータを持っているかが判断される。そのデータがある場合、ＣＡＮは、実施の形態１においてはブロック４６０で（ＣＡＮ−１）ＭｏｄＮslotsに、実施の形態２においてはブロック４６１で（ＣＡＮ−ＣＡＴＷ−１）ＭｏｄＮslotsにセットされる。さらに、伝送メッセージ（ＴＭ）フラッグがデータフレームにセットされ、図５（図８、９）について説明したように、ロジックは伝送シーケンスに進む。ブロック４５０のテストでスロットサイクルがこのステーションに割り当てられていない場合、あるいはブロック４５５で伝送準備のできたデータがない場合、ロジックはバスに戻り、ブロック３００で通信チャンネルがアイドル状態かどうかをテストする。
【００４１】
次に、ブロック４３０に戻り、時間がこのステーションに割り振られたタイムアクセスウィンドウにない場合、ブロック４７０で現行アクセスタイマ（ＣＡＴ）はテストされ、アイドルタイムがこのステーションに割り振られた（Ｎslots＋ｋ）の時間数値に達したかが判断される。これに達していなければ、ロジックはパスに戻り、ブロック３００において通信チャンネルがアイドル状態かが判断される。限界時間に到達している場合、このステーションは次の同期ビーコンを送信しなければならない。このために、ブロック４７５において現行アクセス数はこのステーションに割り振られたスロットにセットされ、現行アクセスタイマはリセットされる。次に、スロットサイクルカウンタ（ＳＣＣ）は実施の形態１においてはブロック４８０で、また実施の形態２においてはブロック４８１でＱと比較される。Ｑは、２つの連続するマスタ同期ビーコンの間で、そのスロットが所有する各サイクル、ｍについて少なくともひとつのアクセスウィンドウが存在するよう保証するための数値であり、割り当てられたサイクルの最大数、Ｍ（ｍ）を持つスロットとして定義される。図１に示す例において、ｍはスロット４、Ｍ（ｍ）は１４である。
【００４２】
実施の形態１について、Ｑの数値はブロック４８０で示される。この数がなぜ選ばれるかの例は、以下のケースによって説明することができる。図４（図６、７）または５（図８、９）に示されるアルゴリズムの実施形態のひとつを実行するステーションにはスロットｋが割り当てられている。このステーションはそれに割り当てられている各アクセスウィンドウ中にデータを伝送できる。ただし、現在のサイクルも割り当てられたサイクルである場合とする。Ｍ（ｍ）＝Ｍ（ｋ＋２）は、それに割り当てられる最大サイクル数とする。ステーションｋとｋ＋１の両方にすべてのサイクルが割り当てられているとする。さらに、このネットワークにおけるステーションｋとステーションｋ＋１を除くその他のステーションはすべて、しばらくネットワークにアクセスしないものとする。このような条件下で、ステーションｋは、スロットｋ＋１に割り当てられるステーションによってカウントされる各アクセスウィンドウについて、スロットｋのＮslots−１のアクセスウィンドウをカウントする。これは、スロットｋ＋１はステーションｋによって「ブロック」され、これが各サイクルのアクセスを行い、優先権連鎖においてはｋ＋１の前にとどまるためである。したがって、Ｑは、Ｍ（ｍ）アクセスウィンドウがスロットｍに割り当てられたステーションによってカウントされるようにするために、この上限（Ｎslots−１）＊Ｍ（ｍ）と等しくセットしなければならない。
【００４３】
実施の形態２において、ブロック４８１には、Ｑを２＊Ｍ（ｍ）と選択した理由を証明する特別なケースが示される。この場合、ひとつのステーションｋだけがネットワークにアクセスしており、周期的にアクセスする。ｋのアクセス間にはひとつの同期ビーコンがある。説明のために、スロット数は５、ｋ＝１、ｍ＝３である。アクセスウィンドウの反復シーケンスは０１２３４０１２Ｓで、”Ｓ”は同期ビーコンである。この最悪の場合において、我々がウィンドウ１をカウントしているアクセスウィンドウについては、予想しなければならないカウントを持つウィンドウ３の２倍のアクセスウィンドウがカウントされる。このネットワークトラフィックパターンはあまりないかもしれないが、Ｑはすべてのスロットサイクルによるアクセスを保証するよう選択しなければならない。したがって、Ｑについては数値、２＊Ｍ（ｍ）が使用される。
【００４４】
ブロック４８０と４８１に戻り、ＳＣＣがＱと等しいと、マスタリセットはＣＡＣＣとＳＣＣを０にセットしてすべてのサイクルカウンタをリセットし、ブロック４８５においてＴＭがマスタ同期にセットされ、ロジックは伝送シーケンスに進む。ブロック４８０または４８１において、ＳＣＣがＱと等しくなければ、４９０でＴＭは標準同期にセットされ、ロジックは伝送シーケンスに進む。
【００４５】
時分割（シェアドタイム：shared  tiｍe）トークンの発明を先行技術に取り入れることができ、いずれの実施形態もスロットおよびそれに対応するサイクルについてアクセスウィンドウが同じ数にならないことが証明された。本発明の２つの好ましい実施の形態のフローチャートを図５（図８、９）に示す。図４（図６、７）から変わったブロックには新しい番号が付与されている。これら２つの実施形態は、アクセス番号（スロット番号）がこのプロトコルによって変わらないという点で、前の２例と異なる。図４（図６、７）に示すステーションのアクセス番号は常にそれに割り当てられた数値ｋに等しい。
【００４６】
ブロック３５７から始まり、これら２つの実施形態は変化する現行アクセス数、ＣＮＡを使用しなくなり、その代わりに変化する第一のアクセスウィンドウ、ＦＡＷを使用する。前の実施形態において、第一のアクセスウィンドウは常にゼロであり、スロットのアクセス番号が変化した。ここで、スロットはアクセス番号ｋに固定されており、ＦＡＷは第一のアクセスウィンドウ位置にセットする。第一のアクセスウィンドウは常に、そのメッセージが受信または送信されたばかりのスロットのすぐ後のスロットの数である。ＦＡＷはモジューロＮslotsであり、これにより、最後のスロットへのアクセスが行われた後にサイクルへのアクセスが最初のスロットに戻る。スロットは前と同じく０，１，．．．Ｎslots−１と番号がつけられる。ブロック３５７は、メッセージがブロック３００，３１０，３２０，３３０，３４０で受信された時に、ブロック４２７において計算されたＣＡＴＷの数値を使って、ＦＡＷを計算する。同様に、図５（図８、９）のブロック３９７は図４（図６、７）のブロック３９０にあたり、同期ビーコンを受信した場合に、ＣＡＮではなくＦＡＷをリセットしなければならないという要件を満足する。
【００４７】
ブロック４６７は、このステーションがそれ自身のスロットサイクルにおけるデータを伝送しようとしている時に、ＦＡＷの数値をセットする。そのスロットの数値は常にｋであるため、次のスロットは定数、ｋ＋１となる。
【００４８】
ブロック３００のアイドル状態にある分枝（ブロック４２７）を見ると、ＣＡＷは、最初のアクセスウィンドウとしてＦＡＷの現在の数値を使って計算される。現行アクセスウィンドウが自分のスロットｋに属するか否かのチェックはブロック４３７に示されている。現行アクセスウィンドウがスロットｋに属する場合、サイクルカウンタ（ブロック４４０）の管理と自分のサイクル（ブロック４５０）のチェックは前の実施形態と同じである。
【００４９】
ブロック４７７は４８７とともに第三の実施の形態を示し、ブロック４７８はブロック４８８とともに本発明の第四の実施の形態を示す。数量ＳＷＯは同期ウィンドウオフセットであり、数値はそのスロットとサイクルとともにこのステーションに割り当てられる。ＳＷＯ＝０のステーションは、ＳＷＯ＝０の数値が再度割り当てられるまで、あるいはステーションがオフラインになるまで、常に同期ビーコンを送信する。スロットとサイクル数の影響を受けないことは、マスタステーションのローテーションが望ましくない無線ネットワークにおいて特に有益である。マスタステーションが常にすべてのネットワークステーションの範囲にあることが必要な場合、またはステーションがタイムスロットとサイクルの割当も管理しなければならない場合はとりわけそうである。以下の説明のために、常にＳＷＯ＝０のステーションがあると仮定する。
【００５０】
実施の形態３（図５（図８、９）の実線）は、アイドル状態のアクセスウィンドウ（スロット）のチェックにおいて、実施の形態２（図４（図６、７））と類似している。ブロック４７７はＮslotsのアイドル状態のスロットがないかをチェックしてから、ブロック４８７でマスタ同期が必要かをテストする。２＊Ｍ（ｍ）は、スロットｍについてＭ（ｍ）のアクセスウィンドウが発生したことを保証するのに使用される。
【００５１】
実施の形態４（図５（図８、９）の破線を含む）は、ブロック４７７のテストに代えてブロック４７８に示すテストを使う。これは、ＦＡＷを指数として使い、Ｎslotsを記入した照合テーブルを使って実行できる。このテストは、同期ビーコンの伝送をトリガするのに必要なアイドル状態のスロット数を、下限Ｎslotsから上限２＊Ｎslots−１の範囲で変え、これによって同期ビーコンは常に、最後のスロットのアクセスウィンドウの後で送信される。利点のひとつは、すべてのスロットは、同期ビーコン間のアクセスウィンドウ数が必ずちょうど同じ（既知数）になることである。このために、実施の形態４は「同等ステーションアクセス」と呼ばれ、スロットｍのＭ（ｍ）は任意のスロットｋについてのアクセスウィンドウをカウントすることによってカウントできる。
【００５２】
図１０は伝送プロセスのフローチャートである。データがあり、ステーションが伝送する時間になったと判断されると、ブロック５００においてロジックはインタフェースカード、トランシーバ等を伝送モードに切り換える。次に、ロジックは、ユニットがこの伝送を終了するのに必要な時間だけ待機し（ブロック５１０）、ブロック５２０でフレームデータを伝送する。ブロック５３０でインタフェースカードは受信モードに切り換えられ、この伝送が終了するのに適した時間だけ待機し（ブロック５４０）、その後ブロック５５０においてロジックがＣＡＴをスタートさせ、受信モードに戻る。
【図面の簡単な説明】
【図１】  本発明によるタイムスロットとスロットサイクルを使った帯域幅の割振りを示す、ごく簡素化した略図である。
【図２】  代表的ネットワークの簡略図である。
【図３】  代表的なネットワークインタフェースカードの簡略図である。
【図４】  インタフェースカードまたはその他のインプリメンテーションにおける受信ＭＡＣロジックの動作を示すフローチャートの配置を示す図である。
【図５】  インタフェースカードまたはその他のインプリメンテーションにおける別の受信ＭＡＣロジックの動作を示すフローチャートの配置を示す図である。
【図６】  インタフェースカードまたはその他のインプリメンテーションにおける受信ＭＡＣロジックの動作を示すフローチャートである。
【図７】  インタフェースカードまたはその他のインプリメンテーションにおける受信ＭＡＣロジックの動作を示すフローチャートである。
【図８】  インタフェースカードまたはその他のインプリメンテーションにおける別の受信ＭＡＣロジックの動作を示すフローチャートである。
【図９】  インタフェースカードまたはその他のインプリメンテーションにおける別の受信ＭＡＣロジックの動作を示すフローチャートである。
【図１０】  インタフェースカードまたはその他のインプリメンテーションにおける送信ＭＡＣロジックの動作を示すフローチャートである。
【図１１】  ＣＡＴに関するＣＡＴＷのグラフである。
【符号の説明】
１０  スロットサイクル、１２  タイムスロット、２０  ネットワークステーション、３０  通信媒体、４０  ネットワークアダプタ、４１  インタフェースコントローラ、４２  受信ユニット、４３  送信ユニット、４４  コネクタ。
【図１】
0004050031.tif 000002
【図２】
0004050031.tif 000003
【図３】
0004050031.tif 000004
【図４】
0004050031.tif 000005
【図５】
0004050031.tif 000006
【図６】
0004050031.tif 000007
【図７】
0004050031.tif 000008
【図８】
0004050031.tif 000009
【図９】
0004050031.tif 000010
【図１０】
0004050031.tif 000011
【図１１】
0004050031.tif 000012